@area17/a17-behaviors
Advanced tools
Comparing version 0.4.1 to 0.4.2
@@ -13,2 +13,3 @@ 'use strict'; | ||
var resizeTimer; | ||
var resizedDelay = 250; | ||
var mediaQuery = getCurrentMediaQuery(); | ||
@@ -44,5 +45,29 @@ | ||
clearTimeout(resizeTimer); | ||
resizeTimer = setTimeout(informApp, 250); | ||
resizeTimer = setTimeout(informApp, resizedDelay); | ||
}); | ||
// Firefox doesn't fire a `resize` event on text scaling | ||
// yet when doing so, its likely you'll cycle through your breakpoints | ||
// effectively you're resizing, even if the window doesn't change in dimensions | ||
// so, set up a `ResizeObserver` on the `document.documentElement` (the HTML tag) | ||
// and listen for it changing in someway and trigger a resize event | ||
// | ||
// the assumption being that your page will likely change in height | ||
// as the content resizes with a responsive layout | ||
// this isn't infallible... | ||
// its possible you have some sort of fixed height site | ||
if (typeof ResizeObserver === 'function') { | ||
let resizedTimer = null; | ||
const resizeObserver = new ResizeObserver((entries) => { | ||
clearTimeout(resizedTimer); | ||
resizedTimer = setTimeout(() => { | ||
if (window.A17.currentMediaQuery !== getCurrentMediaQuery()) { | ||
window.dispatchEvent(new Event('resize')); | ||
} | ||
}, resizedDelay + 1); | ||
}); | ||
resizeObserver.observe(document.documentElement); | ||
} | ||
if (mediaQuery === '') { | ||
@@ -416,3 +441,3 @@ window.requestAnimationFrame(informApp); | ||
addSubBehavior(SubBehavior, node = this.$node, config = {}) { | ||
const mb = manageBehaviors; | ||
const mb = exportObj; | ||
if (typeof SubBehavior === 'string') { | ||
@@ -1193,4 +1218,2 @@ mb.initBehavior(SubBehavior, node, config); | ||
var manageBehaviors = exportObj; | ||
/** | ||
@@ -1215,2 +1238,2 @@ * Extend an existing a behavior instance | ||
exports.extendBehavior = extendBehavior; | ||
exports.manageBehaviors = manageBehaviors; | ||
exports.manageBehaviors = exportObj; |
@@ -11,2 +11,3 @@ var getCurrentMediaQuery = function() { | ||
var resizeTimer; | ||
var resizedDelay = 250; | ||
var mediaQuery = getCurrentMediaQuery(); | ||
@@ -42,5 +43,29 @@ | ||
clearTimeout(resizeTimer); | ||
resizeTimer = setTimeout(informApp, 250); | ||
resizeTimer = setTimeout(informApp, resizedDelay); | ||
}); | ||
// Firefox doesn't fire a `resize` event on text scaling | ||
// yet when doing so, its likely you'll cycle through your breakpoints | ||
// effectively you're resizing, even if the window doesn't change in dimensions | ||
// so, set up a `ResizeObserver` on the `document.documentElement` (the HTML tag) | ||
// and listen for it changing in someway and trigger a resize event | ||
// | ||
// the assumption being that your page will likely change in height | ||
// as the content resizes with a responsive layout | ||
// this isn't infallible... | ||
// its possible you have some sort of fixed height site | ||
if (typeof ResizeObserver === 'function') { | ||
let resizedTimer = null; | ||
const resizeObserver = new ResizeObserver((entries) => { | ||
clearTimeout(resizedTimer); | ||
resizedTimer = setTimeout(() => { | ||
if (window.A17.currentMediaQuery !== getCurrentMediaQuery()) { | ||
window.dispatchEvent(new Event('resize')); | ||
} | ||
}, resizedDelay + 1); | ||
}); | ||
resizeObserver.observe(document.documentElement); | ||
} | ||
if (mediaQuery === '') { | ||
@@ -414,3 +439,3 @@ window.requestAnimationFrame(informApp); | ||
addSubBehavior(SubBehavior, node = this.$node, config = {}) { | ||
const mb = manageBehaviors; | ||
const mb = exportObj; | ||
if (typeof SubBehavior === 'string') { | ||
@@ -1191,4 +1216,2 @@ mb.initBehavior(SubBehavior, node, config); | ||
var manageBehaviors = exportObj; | ||
/** | ||
@@ -1211,2 +1234,2 @@ * Extend an existing a behavior instance | ||
export { createBehavior, extendBehavior, manageBehaviors }; | ||
export { createBehavior, extendBehavior, exportObj as manageBehaviors }; |
{ | ||
"name": "@area17/a17-behaviors", | ||
"version": "0.4.1", | ||
"version": "0.4.2", | ||
"description": "JavaScript framework to attach JavaScript events and interactions to DOM Nodes", | ||
@@ -32,4 +32,4 @@ "type": "module", | ||
"@rollup/plugin-node-resolve": "^15.0.1", | ||
"@rollup/plugin-commonjs": "^23.0.2" | ||
"@rollup/plugin-commonjs": "^24.1.0" | ||
} | ||
} |
79196
2263