@pluginjs/breakpoints
Advanced tools
Comparing version 0.7.2 to 0.7.3
/*! | ||
* @pluginjs/breakpoints v0.7.2 (https://pluginjs.com) | ||
* @pluginjs/breakpoints v0.7.3 (https://pluginjs.com) | ||
* Copyright 2018 Creation Studio Limited | ||
@@ -65,5 +65,5 @@ * Released under the GPL-3.0 License. | ||
on(data, listener, | ||
/* INTERNAL*/ | ||
one = false) { | ||
on(data, listener) { | ||
let one = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; | ||
if (typeof listener === 'undefined' && is.isFunction(data)) { | ||
@@ -122,3 +122,5 @@ listener = data; | ||
on(types, data, fn, one = false) { | ||
on(types, data, fn) { | ||
let one = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
if (typeof types === 'object') { | ||
@@ -191,15 +193,20 @@ for (const type in types) { | ||
var MediaBuilder = { | ||
min(min, unit = 'px') { | ||
min(min) { | ||
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px'; | ||
return `(min-width: ${min}${unit})`; | ||
}, | ||
max(max, unit = 'px') { | ||
max(max) { | ||
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px'; | ||
return `(max-width: ${max}${unit})`; | ||
}, | ||
between(min, max, unit = 'px') { | ||
between(min, max) { | ||
let unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'px'; | ||
return `(min-width: ${min}${unit}) and (max-width: ${max}${unit})`; | ||
}, | ||
get(min, max, unit = 'px') { | ||
get(min, max) { | ||
let unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'px'; | ||
if (min === 0) { | ||
@@ -219,3 +226,6 @@ return this.max(max, unit); | ||
class Viewport extends MediaQuery { | ||
constructor(name, min = 0, max = Infinity, unit = 'px') { | ||
constructor(name) { | ||
let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Infinity; | ||
let unit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'px'; | ||
const media = MediaBuilder.get(min, max, unit); | ||
@@ -235,3 +245,6 @@ super(media); | ||
class Size extends Viewport { | ||
constructor(name, min = 0, max = Infinity, unit = 'px') { | ||
constructor(name) { | ||
let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Infinity; | ||
let unit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'px'; | ||
super(name, min, max, unit); | ||
@@ -310,17 +323,19 @@ | ||
let Breakpoints = (...args) => { | ||
Breakpoints.define(...args); | ||
let _Breakpoints = function Breakpoints() { | ||
_Breakpoints.define(...arguments); | ||
}; | ||
Breakpoints.defaults = DEFAULTS; | ||
Breakpoints = utils.merge(Breakpoints, { | ||
_Breakpoints.defaults = DEFAULTS; | ||
_Breakpoints = utils.merge(_Breakpoints, { | ||
defined: false, | ||
init(...args) { | ||
init() { | ||
if (!this.defined) { | ||
this.define(...args); | ||
this.define(...arguments); | ||
} | ||
}, | ||
define(values, options = {}) { | ||
define(values) { | ||
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
// if(typeof values === 'undefined' && this.defined) { | ||
@@ -334,3 +349,3 @@ // return | ||
if (!values) { | ||
values = Breakpoints.defaults; | ||
values = _Breakpoints.defaults; | ||
} | ||
@@ -491,5 +506,5 @@ | ||
on(size, types, data, fn, | ||
/* INTERNAL*/ | ||
one = false) { | ||
on(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
if (size === 'change') { | ||
@@ -528,3 +543,4 @@ fn = data; | ||
at(size, types, data, fn, one = false) { | ||
at(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
const name = getName({ | ||
@@ -536,3 +552,4 @@ at: size | ||
from(size, types, data, fn, one = false) { | ||
from(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
return this.on({ | ||
@@ -543,3 +560,4 @@ from: size | ||
to(size, types, data, fn, one = false) { | ||
to(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
return this.on({ | ||
@@ -550,3 +568,4 @@ to: size | ||
between(from, to, types, data, fn, one = false) { | ||
between(from, to, types, data, fn) { | ||
let one = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; | ||
return this.on({ | ||
@@ -559,4 +578,4 @@ from, | ||
}); | ||
var Breakpoints$1 = Breakpoints; | ||
var _Breakpoints$1 = _Breakpoints; | ||
module.exports = Breakpoints$1; | ||
module.exports = _Breakpoints$1; |
/*! | ||
* @pluginjs/breakpoints v0.7.2 (https://pluginjs.com) | ||
* @pluginjs/breakpoints v0.7.3 (https://pluginjs.com) | ||
* Copyright 2018 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
*/ | ||
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var is=require("@pluginjs/is"),Emitter=_interopDefault(require("@pluginjs/simple-emitter")),utils=require("@pluginjs/utils"),DEFAULTS={xs:{min:0,max:575},sm:{min:576,max:767},md:{min:768,max:991},lg:{min:992,max:1199},xl:{min:1200,max:1/0}},ChangeEvent={current:null,listeners:[],trigger(t){const e=this.current;this.current=t,this.listeners.forEach((i,s)=>{i.listener.call({current:t,previous:e},i.data),i.one&&delete this.listeners[s]})},one(t,e){return this.on(t,e,!0)},on(t,e,i=!1){void 0===e&&is.isFunction(t)&&(e=t,t=void 0),is.isFunction(e)&&this.listeners.push({data:t,listener:e,one:i})},off(t){this.listeners=void 0===t?[]:this.listeners.filter(e=>e.listener!==t)}};class MediaQuery{constructor(t){this.media=t,this.initialize()}initialize(){this.emitter=new Emitter,this.mql=window.matchMedia&&window.matchMedia(this.media)||{matches:!1,media:this.media,addListener(){},removeListener(){}};const t=this;this.mqlListener=(e=>{const i=e.matches?"enter":"leave";this.emitter.emit(i,t)}),this.mql.addListener(this.mqlListener)}on(t,e,i,s=!1){if("object"==typeof t){for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.on(i,e,t[i],s);return this}return void 0===i&&is.isFunction(e)&&(i=e,e=void 0),is.isFunction(i)?(s?this.emitter.once(t,i,e):this.emitter.on(t,i,e),this):this}one(t,e,i){return this.on(t,e,i,!0)}off(t,e){let i;if("object"==typeof t){for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.off(i,t[i]);return this}return void 0===t?(this.emitter.off("enter"),this.emitter.off("leave")):this.emitter.off(t,e),this}isMatched(){return this.mql.matches}destroy(){this.emitter.off("enter"),this.emitter.off("leave")}}var MediaBuilder={min:(t,e="px")=>`(min-width: ${t}${e})`,max:(t,e="px")=>`(max-width: ${t}${e})`,between:(t,e,i="px")=>`(min-width: ${t}${i}) and (max-width: ${e}${i})`,get(t,e,i="px"){return 0===t?this.max(e,i):e===1/0?this.min(t,i):this.between(t,e,i)}};class Viewport extends MediaQuery{constructor(t,e=0,i=1/0,s="px"){super(MediaBuilder.get(e,i,s)),this.name=t,this.min=e,this.max=i,this.unit=s}destroy(){this.off()}}class Size extends Viewport{constructor(t,e=0,i=1/0,s="px"){super(t,e,i,s),this.changeListener=(()=>{this.isMatched()&&ChangeEvent.trigger(this)}),this.isMatched()&&(ChangeEvent.current=this),this.mql.addListener(this.changeListener)}destroy(){this.mql.removeListener(this.changeHander),super.destroy()}}const resolveName=t=>(t=t.trim(),/^([\w\d]+)$/.test(t)?{at:t}:/^([\w\d]+)\+$/.test(t)?{from:t.replace(/\+$/,"")}:/^([\w\d]+)-$/.test(t)?{to:t.replace(/-$/,"")}:/^([\w\d]+)-([\w\d]+)$/.test(t)?{from:t.replace(/-([\w\d]+)$/,""),to:t.replace(/^([\w\d]+)-/,"")}:{}),getName=t=>{const e=t.at,i=t.from,s=t.to;return e||(i&&s?`${i}-${s}`:i?`${i}+`:s?`${s}-`:null)};let sizes={},viewports={},Breakpoints=(...t)=>{Breakpoints.define(...t)};Breakpoints.defaults=DEFAULTS;var Breakpoints$1=Breakpoints=utils.merge(Breakpoints,{defined:!1,init(...t){this.defined||this.define(...t)},define(t,e={}){this.defined&&this.destroy(),t||(t=Breakpoints.defaults),this.options=utils.merge(e,{unit:"px"});for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(sizes[e]=new Size(e,t[e].min,t[e].max,this.options.unit));this.defined=!0},destroy(){utils.each(sizes,(t,e)=>{e.destroy()}),sizes={},viewports={},ChangeEvent.current=null},is(t){const e=this.get(t);return e?e.isMatched():null},all(){const t=[];return utils.each(sizes,e=>{t.push(e)}),t},getSize:t=>Object.prototype.hasOwnProperty.call(sizes,t)?sizes[t]:null,getViewport:t=>Object.prototype.hasOwnProperty.call(viewports,t)?viewports[t]:null,get(t){is.isString(t)?t=t.trim():is.isObject(t)&&(t=getName(t));const e=this.getSize(t)||this.getViewport(t);if(e)return e;const i=resolveName(t),s=i.at,n=i.from,r=i.to,o=this.options.unit;let h,a=null,l=null;if(s)(h=this.getSize(s))&&(l=h.min,a=h.max);else if(n&&r){const t=this.getSize(n),e=this.getSize(r);t&&e&&(l=t.min,a=e.max)}else n?(h=this.getSize(n))&&(l=h.min,a=1/0):r&&(h=this.getSize(r))&&(l=0,a=h.max);return!is.isNull(l)&&(is.isNull(a),1)?(viewports[t]=new Viewport(t,l,a,o),viewports[t]):null},getMin(t){const e=this.get(t);return e?e.min:null},getMax(t){const e=this.get(t);return e?e.max:null},current:()=>ChangeEvent.current,getMedia(t){const e=this.get(t);return e?e.media:null},on(t,e,i,s,n=!1){if("change"===t)return s=i,i=e,ChangeEvent.on(i,s,n);const r=this.get(t);return r&&r.on(e,i,s,n),this},one(t,e,i,s){return this.on(t,e,i,s,!0)},off(t,e,i){if("change"===t)return ChangeEvent.off(e);const s=this.get(t);return s&&s.off(e,i),this},at(t,e,i,s,n=!1){const r=getName({at:t});return this.on(r,e,i,s,n)},from(t,e,i,s,n=!1){return this.on({from:t},e,i,s,n)},to(t,e,i,s,n=!1){return this.on({to:t},e,i,s,n)},between(t,e,i,s,n,r=!1){return this.on({from:t,to:e},i,s,n,r)}});module.exports=Breakpoints$1; | ||
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var is=require("@pluginjs/is"),Emitter=_interopDefault(require("@pluginjs/simple-emitter")),utils=require("@pluginjs/utils"),DEFAULTS={xs:{min:0,max:575},sm:{min:576,max:767},md:{min:768,max:991},lg:{min:992,max:1199},xl:{min:1200,max:1/0}},ChangeEvent={current:null,listeners:[],trigger(t){const e=this.current;this.current=t,this.listeners.forEach((i,s)=>{i.listener.call({current:t,previous:e},i.data),i.one&&delete this.listeners[s]})},one(t,e){return this.on(t,e,!0)},on(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];void 0===e&&is.isFunction(t)&&(e=t,t=void 0),is.isFunction(e)&&this.listeners.push({data:t,listener:e,one:i})},off(t){this.listeners=void 0===t?[]:this.listeners.filter(e=>e.listener!==t)}};class MediaQuery{constructor(t){this.media=t,this.initialize()}initialize(){this.emitter=new Emitter,this.mql=window.matchMedia&&window.matchMedia(this.media)||{matches:!1,media:this.media,addListener(){},removeListener(){}};const t=this;this.mqlListener=(e=>{const i=e.matches?"enter":"leave";this.emitter.emit(i,t)}),this.mql.addListener(this.mqlListener)}on(t,e,i){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("object"==typeof t){for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.on(i,e,t[i],s);return this}return void 0===i&&is.isFunction(e)&&(i=e,e=void 0),is.isFunction(i)?(s?this.emitter.once(t,i,e):this.emitter.on(t,i,e),this):this}one(t,e,i){return this.on(t,e,i,!0)}off(t,e){let i;if("object"==typeof t){for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.off(i,t[i]);return this}return void 0===t?(this.emitter.off("enter"),this.emitter.off("leave")):this.emitter.off(t,e),this}isMatched(){return this.mql.matches}destroy(){this.emitter.off("enter"),this.emitter.off("leave")}}var MediaBuilder={min(t){return`(min-width: ${t}${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px"})`},max(t){return`(max-width: ${t}${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px"})`},between(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"px";return`(min-width: ${t}${i}) and (max-width: ${e}${i})`},get(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"px";return 0===t?this.max(e,i):e===1/0?this.min(t,i):this.between(t,e,i)}};class Viewport extends MediaQuery{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"px";super(MediaBuilder.get(e,i,s)),this.name=t,this.min=e,this.max=i,this.unit=s}destroy(){this.off()}}class Size extends Viewport{constructor(t){super(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:"px"),this.changeListener=(()=>{this.isMatched()&&ChangeEvent.trigger(this)}),this.isMatched()&&(ChangeEvent.current=this),this.mql.addListener(this.changeListener)}destroy(){this.mql.removeListener(this.changeHander),super.destroy()}}const resolveName=t=>(t=t.trim(),/^([\w\d]+)$/.test(t)?{at:t}:/^([\w\d]+)\+$/.test(t)?{from:t.replace(/\+$/,"")}:/^([\w\d]+)-$/.test(t)?{to:t.replace(/-$/,"")}:/^([\w\d]+)-([\w\d]+)$/.test(t)?{from:t.replace(/-([\w\d]+)$/,""),to:t.replace(/^([\w\d]+)-/,"")}:{}),getName=t=>{const e=t.at,i=t.from,s=t.to;return e||(i&&s?`${i}-${s}`:i?`${i}+`:s?`${s}-`:null)};let sizes={},viewports={},_Breakpoints=function(){_Breakpoints.define(...arguments)};_Breakpoints.defaults=DEFAULTS;var _Breakpoints$1=_Breakpoints=utils.merge(_Breakpoints,{defined:!1,init(){this.defined||this.define(...arguments)},define(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.defined&&this.destroy(),t||(t=_Breakpoints.defaults),this.options=utils.merge(e,{unit:"px"});for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(sizes[e]=new Size(e,t[e].min,t[e].max,this.options.unit));this.defined=!0},destroy(){utils.each(sizes,(t,e)=>{e.destroy()}),sizes={},viewports={},ChangeEvent.current=null},is(t){const e=this.get(t);return e?e.isMatched():null},all(){const t=[];return utils.each(sizes,e=>{t.push(e)}),t},getSize:t=>Object.prototype.hasOwnProperty.call(sizes,t)?sizes[t]:null,getViewport:t=>Object.prototype.hasOwnProperty.call(viewports,t)?viewports[t]:null,get(t){is.isString(t)?t=t.trim():is.isObject(t)&&(t=getName(t));const e=this.getSize(t)||this.getViewport(t);if(e)return e;const i=resolveName(t),s=i.at,n=i.from,r=i.to,o=this.options.unit;let h,l=null,a=null;if(s)(h=this.getSize(s))&&(a=h.min,l=h.max);else if(n&&r){const t=this.getSize(n),e=this.getSize(r);t&&e&&(a=t.min,l=e.max)}else n?(h=this.getSize(n))&&(a=h.min,l=1/0):r&&(h=this.getSize(r))&&(a=0,l=h.max);return!is.isNull(a)&&(is.isNull(l),1)?(viewports[t]=new Viewport(t,a,l,o),viewports[t]):null},getMin(t){const e=this.get(t);return e?e.min:null},getMax(t){const e=this.get(t);return e?e.max:null},current:()=>ChangeEvent.current,getMedia(t){const e=this.get(t);return e?e.media:null},on(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if("change"===t)return s=i,i=e,ChangeEvent.on(i,s,n);const r=this.get(t);return r&&r.on(e,i,s,n),this},one(t,e,i,s){return this.on(t,e,i,s,!0)},off(t,e,i){if("change"===t)return ChangeEvent.off(e);const s=this.get(t);return s&&s.off(e,i),this},at(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const r=getName({at:t});return this.on(r,e,i,s,n)},from(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return this.on({from:t},e,i,s,n)},to(t,e,i,s){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return this.on({to:t},e,i,s,n)},between(t,e,i,s,n){let r=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return this.on({from:t,to:e},i,s,n,r)}});module.exports=_Breakpoints$1; |
/*! | ||
* @pluginjs/breakpoints v0.7.2 (https://pluginjs.com) | ||
* @pluginjs/breakpoints v0.7.3 (https://pluginjs.com) | ||
* Copyright 2018 Creation Studio Limited | ||
@@ -61,5 +61,5 @@ * Released under the GPL-3.0 License. | ||
on(data, listener, | ||
/* INTERNAL*/ | ||
one = false) { | ||
on(data, listener) { | ||
let one = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; | ||
if (typeof listener === 'undefined' && isFunction(data)) { | ||
@@ -118,3 +118,5 @@ listener = data; | ||
on(types, data, fn, one = false) { | ||
on(types, data, fn) { | ||
let one = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
if (typeof types === 'object') { | ||
@@ -187,15 +189,20 @@ for (const type in types) { | ||
var MediaBuilder = { | ||
min(min, unit = 'px') { | ||
min(min) { | ||
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px'; | ||
return `(min-width: ${min}${unit})`; | ||
}, | ||
max(max, unit = 'px') { | ||
max(max) { | ||
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px'; | ||
return `(max-width: ${max}${unit})`; | ||
}, | ||
between(min, max, unit = 'px') { | ||
between(min, max) { | ||
let unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'px'; | ||
return `(min-width: ${min}${unit}) and (max-width: ${max}${unit})`; | ||
}, | ||
get(min, max, unit = 'px') { | ||
get(min, max) { | ||
let unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'px'; | ||
if (min === 0) { | ||
@@ -215,3 +222,6 @@ return this.max(max, unit); | ||
class Viewport extends MediaQuery { | ||
constructor(name, min = 0, max = Infinity, unit = 'px') { | ||
constructor(name) { | ||
let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Infinity; | ||
let unit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'px'; | ||
const media = MediaBuilder.get(min, max, unit); | ||
@@ -231,3 +241,6 @@ super(media); | ||
class Size extends Viewport { | ||
constructor(name, min = 0, max = Infinity, unit = 'px') { | ||
constructor(name) { | ||
let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Infinity; | ||
let unit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'px'; | ||
super(name, min, max, unit); | ||
@@ -306,17 +319,19 @@ | ||
let Breakpoints = (...args) => { | ||
Breakpoints.define(...args); | ||
let _Breakpoints = function Breakpoints() { | ||
_Breakpoints.define(...arguments); | ||
}; | ||
Breakpoints.defaults = DEFAULTS; | ||
Breakpoints = merge(Breakpoints, { | ||
_Breakpoints.defaults = DEFAULTS; | ||
_Breakpoints = merge(_Breakpoints, { | ||
defined: false, | ||
init(...args) { | ||
init() { | ||
if (!this.defined) { | ||
this.define(...args); | ||
this.define(...arguments); | ||
} | ||
}, | ||
define(values, options = {}) { | ||
define(values) { | ||
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
// if(typeof values === 'undefined' && this.defined) { | ||
@@ -330,3 +345,3 @@ // return | ||
if (!values) { | ||
values = Breakpoints.defaults; | ||
values = _Breakpoints.defaults; | ||
} | ||
@@ -487,5 +502,5 @@ | ||
on(size, types, data, fn, | ||
/* INTERNAL*/ | ||
one = false) { | ||
on(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
if (size === 'change') { | ||
@@ -524,3 +539,4 @@ fn = data; | ||
at(size, types, data, fn, one = false) { | ||
at(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
const name = getName({ | ||
@@ -532,3 +548,4 @@ at: size | ||
from(size, types, data, fn, one = false) { | ||
from(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
return this.on({ | ||
@@ -539,3 +556,4 @@ from: size | ||
to(size, types, data, fn, one = false) { | ||
to(size, types, data, fn) { | ||
let one = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; | ||
return this.on({ | ||
@@ -546,3 +564,4 @@ to: size | ||
between(from, to, types, data, fn, one = false) { | ||
between(from, to, types, data, fn) { | ||
let one = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; | ||
return this.on({ | ||
@@ -555,4 +574,4 @@ from, | ||
}); | ||
var Breakpoints$1 = Breakpoints; | ||
var _Breakpoints$1 = _Breakpoints; | ||
export default Breakpoints$1; | ||
export default _Breakpoints$1; |
/*! | ||
* @pluginjs/breakpoints v0.7.2 (https://pluginjs.com) | ||
* @pluginjs/breakpoints v0.7.3 (https://pluginjs.com) | ||
* Copyright 2018 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
*/ | ||
import{isFunction,isObject,isString,isNull}from"@pluginjs/is";import Emitter from"@pluginjs/simple-emitter";import{merge,each}from"@pluginjs/utils";var DEFAULTS={xs:{min:0,max:575},sm:{min:576,max:767},md:{min:768,max:991},lg:{min:992,max:1199},xl:{min:1200,max:1/0}},ChangeEvent={current:null,listeners:[],trigger(t){const e=this.current;this.current=t,this.listeners.forEach((i,s)=>{i.listener.call({current:t,previous:e},i.data),i.one&&delete this.listeners[s]})},one(t,e){return this.on(t,e,!0)},on(t,e,i=!1){void 0===e&&isFunction(t)&&(e=t,t=void 0),isFunction(e)&&this.listeners.push({data:t,listener:e,one:i})},off(t){this.listeners=void 0===t?[]:this.listeners.filter(e=>e.listener!==t)}};class MediaQuery{constructor(t){this.media=t,this.initialize()}initialize(){this.emitter=new Emitter,this.mql=window.matchMedia&&window.matchMedia(this.media)||{matches:!1,media:this.media,addListener(){},removeListener(){}};const t=this;this.mqlListener=(e=>{const i=e.matches?"enter":"leave";this.emitter.emit(i,t)}),this.mql.addListener(this.mqlListener)}on(t,e,i,s=!1){if("object"==typeof t){for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.on(i,e,t[i],s);return this}return void 0===i&&isFunction(e)&&(i=e,e=void 0),isFunction(i)?(s?this.emitter.once(t,i,e):this.emitter.on(t,i,e),this):this}one(t,e,i){return this.on(t,e,i,!0)}off(t,e){let i;if("object"==typeof t){for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.off(i,t[i]);return this}return void 0===t?(this.emitter.off("enter"),this.emitter.off("leave")):this.emitter.off(t,e),this}isMatched(){return this.mql.matches}destroy(){this.emitter.off("enter"),this.emitter.off("leave")}}var MediaBuilder={min:(t,e="px")=>`(min-width: ${t}${e})`,max:(t,e="px")=>`(max-width: ${t}${e})`,between:(t,e,i="px")=>`(min-width: ${t}${i}) and (max-width: ${e}${i})`,get(t,e,i="px"){return 0===t?this.max(e,i):e===1/0?this.min(t,i):this.between(t,e,i)}};class Viewport extends MediaQuery{constructor(t,e=0,i=1/0,s="px"){super(MediaBuilder.get(e,i,s)),this.name=t,this.min=e,this.max=i,this.unit=s}destroy(){this.off()}}class Size extends Viewport{constructor(t,e=0,i=1/0,s="px"){super(t,e,i,s),this.changeListener=(()=>{this.isMatched()&&ChangeEvent.trigger(this)}),this.isMatched()&&(ChangeEvent.current=this),this.mql.addListener(this.changeListener)}destroy(){this.mql.removeListener(this.changeHander),super.destroy()}}const resolveName=t=>(t=t.trim(),/^([\w\d]+)$/.test(t)?{at:t}:/^([\w\d]+)\+$/.test(t)?{from:t.replace(/\+$/,"")}:/^([\w\d]+)-$/.test(t)?{to:t.replace(/-$/,"")}:/^([\w\d]+)-([\w\d]+)$/.test(t)?{from:t.replace(/-([\w\d]+)$/,""),to:t.replace(/^([\w\d]+)-/,"")}:{}),getName=t=>{const e=t.at,i=t.from,s=t.to;return e||(i&&s?`${i}-${s}`:i?`${i}+`:s?`${s}-`:null)};let sizes={},viewports={},Breakpoints=(...t)=>{Breakpoints.define(...t)};Breakpoints.defaults=DEFAULTS;var Breakpoints$1=Breakpoints=merge(Breakpoints,{defined:!1,init(...t){this.defined||this.define(...t)},define(t,e={}){this.defined&&this.destroy(),t||(t=Breakpoints.defaults),this.options=merge(e,{unit:"px"});for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(sizes[e]=new Size(e,t[e].min,t[e].max,this.options.unit));this.defined=!0},destroy(){each(sizes,(t,e)=>{e.destroy()}),sizes={},viewports={},ChangeEvent.current=null},is(t){const e=this.get(t);return e?e.isMatched():null},all(){const t=[];return each(sizes,e=>{t.push(e)}),t},getSize:t=>Object.prototype.hasOwnProperty.call(sizes,t)?sizes[t]:null,getViewport:t=>Object.prototype.hasOwnProperty.call(viewports,t)?viewports[t]:null,get(t){isString(t)?t=t.trim():isObject(t)&&(t=getName(t));const e=this.getSize(t)||this.getViewport(t);if(e)return e;const i=resolveName(t),s=i.at,n=i.from,r=i.to,o=this.options.unit;let h,a=null,l=null;if(s)(h=this.getSize(s))&&(l=h.min,a=h.max);else if(n&&r){const t=this.getSize(n),e=this.getSize(r);t&&e&&(l=t.min,a=e.max)}else n?(h=this.getSize(n))&&(l=h.min,a=1/0):r&&(h=this.getSize(r))&&(l=0,a=h.max);return!isNull(l)&&(isNull(a),1)?(viewports[t]=new Viewport(t,l,a,o),viewports[t]):null},getMin(t){const e=this.get(t);return e?e.min:null},getMax(t){const e=this.get(t);return e?e.max:null},current:()=>ChangeEvent.current,getMedia(t){const e=this.get(t);return e?e.media:null},on(t,e,i,s,n=!1){if("change"===t)return s=i,i=e,ChangeEvent.on(i,s,n);const r=this.get(t);return r&&r.on(e,i,s,n),this},one(t,e,i,s){return this.on(t,e,i,s,!0)},off(t,e,i){if("change"===t)return ChangeEvent.off(e);const s=this.get(t);return s&&s.off(e,i),this},at(t,e,i,s,n=!1){const r=getName({at:t});return this.on(r,e,i,s,n)},from(t,e,i,s,n=!1){return this.on({from:t},e,i,s,n)},to(t,e,i,s,n=!1){return this.on({to:t},e,i,s,n)},between(t,e,i,s,n,r=!1){return this.on({from:t,to:e},i,s,n,r)}});export default Breakpoints$1; | ||
import{isFunction,isObject,isString,isNull}from"@pluginjs/is";import Emitter from"@pluginjs/simple-emitter";import{merge,each}from"@pluginjs/utils";var DEFAULTS={xs:{min:0,max:575},sm:{min:576,max:767},md:{min:768,max:991},lg:{min:992,max:1199},xl:{min:1200,max:1/0}},ChangeEvent={current:null,listeners:[],trigger(t){const e=this.current;this.current=t,this.listeners.forEach((i,n)=>{i.listener.call({current:t,previous:e},i.data),i.one&&delete this.listeners[n]})},one(t,e){return this.on(t,e,!0)},on(t,e){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];void 0===e&&isFunction(t)&&(e=t,t=void 0),isFunction(e)&&this.listeners.push({data:t,listener:e,one:i})},off(t){this.listeners=void 0===t?[]:this.listeners.filter(e=>e.listener!==t)}};class MediaQuery{constructor(t){this.media=t,this.initialize()}initialize(){this.emitter=new Emitter,this.mql=window.matchMedia&&window.matchMedia(this.media)||{matches:!1,media:this.media,addListener(){},removeListener(){}};const t=this;this.mqlListener=(e=>{const i=e.matches?"enter":"leave";this.emitter.emit(i,t)}),this.mql.addListener(this.mqlListener)}on(t,e,i){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("object"==typeof t){for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.on(i,e,t[i],n);return this}return void 0===i&&isFunction(e)&&(i=e,e=void 0),isFunction(i)?(n?this.emitter.once(t,i,e):this.emitter.on(t,i,e),this):this}one(t,e,i){return this.on(t,e,i,!0)}off(t,e){let i;if("object"==typeof t){for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.off(i,t[i]);return this}return void 0===t?(this.emitter.off("enter"),this.emitter.off("leave")):this.emitter.off(t,e),this}isMatched(){return this.mql.matches}destroy(){this.emitter.off("enter"),this.emitter.off("leave")}}var MediaBuilder={min(t){return`(min-width: ${t}${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px"})`},max(t){return`(max-width: ${t}${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"px"})`},between(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"px";return`(min-width: ${t}${i}) and (max-width: ${e}${i})`},get(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"px";return 0===t?this.max(e,i):e===1/0?this.min(t,i):this.between(t,e,i)}};class Viewport extends MediaQuery{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"px";super(MediaBuilder.get(e,i,n)),this.name=t,this.min=e,this.max=i,this.unit=n}destroy(){this.off()}}class Size extends Viewport{constructor(t){super(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1/0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:"px"),this.changeListener=(()=>{this.isMatched()&&ChangeEvent.trigger(this)}),this.isMatched()&&(ChangeEvent.current=this),this.mql.addListener(this.changeListener)}destroy(){this.mql.removeListener(this.changeHander),super.destroy()}}const resolveName=t=>(t=t.trim(),/^([\w\d]+)$/.test(t)?{at:t}:/^([\w\d]+)\+$/.test(t)?{from:t.replace(/\+$/,"")}:/^([\w\d]+)-$/.test(t)?{to:t.replace(/-$/,"")}:/^([\w\d]+)-([\w\d]+)$/.test(t)?{from:t.replace(/-([\w\d]+)$/,""),to:t.replace(/^([\w\d]+)-/,"")}:{}),getName=t=>{const e=t.at,i=t.from,n=t.to;return e||(i&&n?`${i}-${n}`:i?`${i}+`:n?`${n}-`:null)};let sizes={},viewports={},_Breakpoints=function(){_Breakpoints.define(...arguments)};_Breakpoints.defaults=DEFAULTS;var _Breakpoints$1=_Breakpoints=merge(_Breakpoints,{defined:!1,init(){this.defined||this.define(...arguments)},define(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.defined&&this.destroy(),t||(t=_Breakpoints.defaults),this.options=merge(e,{unit:"px"});for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(sizes[e]=new Size(e,t[e].min,t[e].max,this.options.unit));this.defined=!0},destroy(){each(sizes,(t,e)=>{e.destroy()}),sizes={},viewports={},ChangeEvent.current=null},is(t){const e=this.get(t);return e?e.isMatched():null},all(){const t=[];return each(sizes,e=>{t.push(e)}),t},getSize:t=>Object.prototype.hasOwnProperty.call(sizes,t)?sizes[t]:null,getViewport:t=>Object.prototype.hasOwnProperty.call(viewports,t)?viewports[t]:null,get(t){isString(t)?t=t.trim():isObject(t)&&(t=getName(t));const e=this.getSize(t)||this.getViewport(t);if(e)return e;const i=resolveName(t),n=i.at,s=i.from,r=i.to,o=this.options.unit;let h,l=null,a=null;if(n)(h=this.getSize(n))&&(a=h.min,l=h.max);else if(s&&r){const t=this.getSize(s),e=this.getSize(r);t&&e&&(a=t.min,l=e.max)}else s?(h=this.getSize(s))&&(a=h.min,l=1/0):r&&(h=this.getSize(r))&&(a=0,l=h.max);return!isNull(a)&&(isNull(l),1)?(viewports[t]=new Viewport(t,a,l,o),viewports[t]):null},getMin(t){const e=this.get(t);return e?e.min:null},getMax(t){const e=this.get(t);return e?e.max:null},current:()=>ChangeEvent.current,getMedia(t){const e=this.get(t);return e?e.media:null},on(t,e,i,n){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if("change"===t)return n=i,i=e,ChangeEvent.on(i,n,s);const r=this.get(t);return r&&r.on(e,i,n,s),this},one(t,e,i,n){return this.on(t,e,i,n,!0)},off(t,e,i){if("change"===t)return ChangeEvent.off(e);const n=this.get(t);return n&&n.off(e,i),this},at(t,e,i,n){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const r=getName({at:t});return this.on(r,e,i,n,s)},from(t,e,i,n){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return this.on({from:t},e,i,n,s)},to(t,e,i,n){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return this.on({to:t},e,i,n,s)},between(t,e,i,n,s){let r=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return this.on({from:t,to:e},i,n,s,r)}});export default _Breakpoints$1; |
/*! | ||
* @pluginjs/breakpoints v0.7.2 (https://pluginjs.com) | ||
* @pluginjs/breakpoints v0.7.3 (https://pluginjs.com) | ||
* Copyright 2018 Creation Studio Limited | ||
@@ -4,0 +4,0 @@ * Released under the GPL-3.0 License. |
/*! | ||
* @pluginjs/breakpoints v0.7.2 (https://pluginjs.com) | ||
* @pluginjs/breakpoints v0.7.3 (https://pluginjs.com) | ||
* Copyright 2018 Creation Studio Limited | ||
@@ -4,0 +4,0 @@ * Released under the GPL-3.0 License. |
@@ -14,3 +14,3 @@ { | ||
}, | ||
"version": "0.7.2", | ||
"version": "0.7.3", | ||
"category": "utils", | ||
@@ -37,7 +37,7 @@ "main": "dist/breakpoints.common.js", | ||
"dependencies": { | ||
"@pluginjs/emitter": "^0.7.2", | ||
"@pluginjs/factory": "^0.7.2", | ||
"@pluginjs/is": "^0.7.2", | ||
"@pluginjs/simple-emitter": "^0.7.2", | ||
"@pluginjs/utils": "^0.7.2" | ||
"@pluginjs/emitter": "^0.7.3", | ||
"@pluginjs/factory": "^0.7.3", | ||
"@pluginjs/is": "^0.7.3", | ||
"@pluginjs/simple-emitter": "^0.7.3", | ||
"@pluginjs/utils": "^0.7.3" | ||
}, | ||
@@ -47,3 +47,3 @@ "devDependencies": { | ||
"@pluginjs/browserslist-config": "^1.2.2", | ||
"@pluginjs/cli": "^0.7.2", | ||
"@pluginjs/cli": "^0.7.3", | ||
"babel-jest": "*", | ||
@@ -74,3 +74,3 @@ "jest": "*", | ||
], | ||
"gitHead": "f18c85114d702b75d2d67e57e43b51100f161f31" | ||
"gitHead": "304f657f71c8be62068380bd34fdc7f003082a24" | ||
} |
98497
16
2623
Updated@pluginjs/emitter@^0.7.3
Updated@pluginjs/factory@^0.7.3
Updated@pluginjs/is@^0.7.3
Updated@pluginjs/utils@^0.7.3