@lrnwebcomponents/absolute-position-behavior
Advanced tools
Comparing version 8.0.0 to 8.0.1
@@ -20,3 +20,3 @@ /** | ||
return [ | ||
...styles, | ||
styles, | ||
css` | ||
@@ -200,3 +200,3 @@ :host { | ||
window.AbsolutePositionStateManager.requestAvailability().loadElement( | ||
this | ||
this, | ||
); | ||
@@ -212,3 +212,3 @@ } | ||
window.AbsolutePositionStateManager.requestAvailability().unloadElement( | ||
this | ||
this, | ||
); | ||
@@ -224,3 +224,3 @@ } | ||
window.AbsolutePositionStateManager.requestAvailability().loadElement( | ||
this | ||
this, | ||
); | ||
@@ -230,3 +230,3 @@ } | ||
window.AbsolutePositionStateManager.requestAvailability().positionElement( | ||
this | ||
this, | ||
); | ||
@@ -253,5 +253,5 @@ } | ||
class AbsolutePositionBehavior extends AbsolutePositionBehaviorClass( | ||
LitElement | ||
LitElement, | ||
) {} | ||
customElements.define(AbsolutePositionBehavior.tag, AbsolutePositionBehavior); | ||
export { AbsolutePositionBehaviorClass, AbsolutePositionBehavior }; |
@@ -48,7 +48,7 @@ { | ||
"start": { | ||
"line": 85, | ||
"line": 88, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 109, | ||
"line": 116, | ||
"column": 3 | ||
@@ -73,7 +73,7 @@ } | ||
"start": { | ||
"line": 115, | ||
"line": 122, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 118, | ||
"line": 125, | ||
"column": 3 | ||
@@ -98,7 +98,7 @@ } | ||
"start": { | ||
"line": 123, | ||
"line": 130, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 129, | ||
"line": 136, | ||
"column": 3 | ||
@@ -119,7 +119,7 @@ } | ||
"start": { | ||
"line": 134, | ||
"line": 141, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 140, | ||
"line": 147, | ||
"column": 3 | ||
@@ -140,7 +140,7 @@ } | ||
"start": { | ||
"line": 151, | ||
"line": 158, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 171, | ||
"line": 178, | ||
"column": 3 | ||
@@ -165,7 +165,7 @@ } | ||
"start": { | ||
"line": 185, | ||
"line": 192, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 203, | ||
"line": 210, | ||
"column": 3 | ||
@@ -191,7 +191,7 @@ } | ||
"start": { | ||
"line": 209, | ||
"line": 216, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 215, | ||
"line": 222, | ||
"column": 3 | ||
@@ -212,7 +212,7 @@ } | ||
"start": { | ||
"line": 221, | ||
"line": 228, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 224, | ||
"line": 231, | ||
"column": 3 | ||
@@ -233,7 +233,7 @@ } | ||
"start": { | ||
"line": 229, | ||
"line": 236, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 233, | ||
"line": 240, | ||
"column": 3 | ||
@@ -254,7 +254,7 @@ } | ||
"start": { | ||
"line": 239, | ||
"line": 246, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 260, | ||
"line": 267, | ||
"column": 3 | ||
@@ -275,7 +275,7 @@ } | ||
"start": { | ||
"line": 262, | ||
"line": 269, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 272, | ||
"line": 279, | ||
"column": 3 | ||
@@ -297,7 +297,7 @@ } | ||
"start": { | ||
"line": 279, | ||
"line": 286, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 427, | ||
"line": 434, | ||
"column": 3 | ||
@@ -322,7 +322,7 @@ } | ||
"start": { | ||
"line": 432, | ||
"line": 439, | ||
"column": 2 | ||
}, | ||
"end": { | ||
"line": 435, | ||
"line": 442, | ||
"column": 3 | ||
@@ -343,7 +343,7 @@ } | ||
"start": { | ||
"line": 27, | ||
"line": 30, | ||
"column": 0 | ||
}, | ||
"end": { | ||
"line": 436, | ||
"line": 443, | ||
"column": 1 | ||
@@ -350,0 +350,0 @@ } |
@@ -8,15 +8,18 @@ /** | ||
// register globally so we can make sure there is only one | ||
window.AbsolutePositionStateManager = window.AbsolutePositionStateManager || {}; | ||
globalThis.AbsolutePositionStateManager = | ||
globalThis.AbsolutePositionStateManager || {}; | ||
// request if this exists. This helps invoke element existing in dom | ||
// as well as that there is only one of them. That way we can ensure everything | ||
// is rendered through same modal | ||
window.AbsolutePositionStateManager.requestAvailability = () => { | ||
if (!window.AbsolutePositionStateManager.instance) { | ||
window.AbsolutePositionStateManager.instance = document.createElement( | ||
"absolute-position-state-manager" | ||
); | ||
let instance = window.AbsolutePositionStateManager.instance; | ||
document.body.appendChild(instance); | ||
globalThis.AbsolutePositionStateManager.requestAvailability = () => { | ||
if ( | ||
!globalThis.AbsolutePositionStateManager.instance && | ||
globalThis.document | ||
) { | ||
globalThis.AbsolutePositionStateManager.instance = | ||
globalThis.document.createElement("absolute-position-state-manager"); | ||
let instance = globalThis.AbsolutePositionStateManager.instance; | ||
globalThis.document.body.appendChild(instance); | ||
} | ||
return window.AbsolutePositionStateManager.instance; | ||
return globalThis.AbsolutePositionStateManager.instance; | ||
}; | ||
@@ -79,3 +82,3 @@ /** | ||
this.__observer = new MutationObserver((mutations) => | ||
this.checkMutations(mutations) | ||
this.checkMutations(mutations), | ||
); | ||
@@ -99,8 +102,12 @@ } | ||
this.windowControllers = new AbortController(); | ||
document.addEventListener("load", this.updateElements.bind(this), { | ||
globalThis.document.addEventListener( | ||
"load", | ||
this.updateElements.bind(this), | ||
{ | ||
signal: this.windowControllers.signal, | ||
}, | ||
); | ||
globalThis.addEventListener("resize", this._handleResize.bind(this), { | ||
signal: this.windowControllers.signal, | ||
}); | ||
window.addEventListener("resize", this._handleResize.bind(this), { | ||
signal: this.windowControllers.signal, | ||
}); | ||
} | ||
@@ -130,4 +137,4 @@ if (this.elements.filter((element) => element === el).length < 1) { | ||
this.__timeout2 = setTimeout( | ||
window.AbsolutePositionStateManager.instance.updateStickyElements(), | ||
1000 | ||
globalThis.AbsolutePositionStateManager.instance.updateStickyElements(), | ||
1000, | ||
); | ||
@@ -142,4 +149,4 @@ } | ||
this.__timeout = setTimeout( | ||
window.AbsolutePositionStateManager.instance.updateElements(), | ||
250 | ||
globalThis.AbsolutePositionStateManager.instance.updateElements(), | ||
250, | ||
); | ||
@@ -173,4 +180,4 @@ } | ||
this.__timeout = setTimeout( | ||
window.AbsolutePositionStateManager.instance.updateElements(), | ||
250 | ||
globalThis.AbsolutePositionStateManager.instance.updateElements(), | ||
250, | ||
); | ||
@@ -307,3 +314,3 @@ } | ||
//get body, parent, and element dimensions | ||
let w = document.body.getBoundingClientRect(), | ||
let w = globalThis.document.body.getBoundingClientRect(), | ||
p = parent.getBoundingClientRect(), | ||
@@ -355,3 +362,3 @@ e = el.getBoundingClientRect(), | ||
!el.allowOverlap && | ||
window.getComputedStyle(el, null).overflowY == "visible" | ||
globalThis.getComputedStyle(el, null).overflowY == "visible" | ||
? Math.max(e.height, el.scrollHeight) | ||
@@ -361,3 +368,3 @@ : e.height, | ||
!el.allowOverlap && | ||
window.getComputedStyle(el, null).overflowX == "visible" | ||
globalThis.getComputedStyle(el, null).overflowX == "visible" | ||
? Math.max(e.width, el.scrollWidth) | ||
@@ -371,4 +378,4 @@ : e.width; | ||
: pos === "left" | ||
? t.left + adjust - ew - offset | ||
: t[pos] + adjust + offset; | ||
? t.left + adjust - ew - offset | ||
: t[pos] + adjust + offset; | ||
return coord; | ||
@@ -411,9 +418,9 @@ }, | ||
let scrollTop = | ||
window.pageYOffset || | ||
globalThis.pageYOffset || | ||
( | ||
document.documentElement || | ||
document.body.parentNode || | ||
document.body | ||
globalThis.document.documentElement || | ||
globalThis.document.body.parentNode || | ||
globalThis.document.body | ||
).scrollTop, | ||
maxH = window.innerHeight, | ||
maxH = globalThis.innerHeight, | ||
eheight = | ||
@@ -451,4 +458,4 @@ e.height === 0 && el.children && el.children[0] | ||
AbsolutePositionStateManager.tag, | ||
AbsolutePositionStateManager | ||
AbsolutePositionStateManager, | ||
); | ||
export { AbsolutePositionStateManager }; |
@@ -20,3 +20,3 @@ { | ||
}, | ||
"version": "8.0.0", | ||
"version": "8.0.1", | ||
"description": "Abstracting the positioning behavior from paper-tooltip to be resusable in other elements", | ||
@@ -37,20 +37,21 @@ "repository": { | ||
"lighthouse": "gulp lighthouse --gulpfile=gulpfile.cjs", | ||
"test:watch": "web-test-runner \"test/**/*.test.js\" --node-resolve --config=../../web-test-runner.config.mjs --playwright --browsers chromium firefox --watch", | ||
"test": "web-test-runner \"test/**/*.test.js\" --node-resolve --config=../../web-test-runner.config.mjs --playwright --browsers chromium firefox" | ||
"test:watch": "web-test-runner \"test/**/*.test.js\" --node-resolve --config=../../web-test-runner.config.mjs --playwright --browsers chromium --watch", | ||
"test": "web-test-runner \"test/**/*.test.js\" --node-resolve --config=../../web-test-runner.config.mjs --playwright --browsers chromium" | ||
}, | ||
"author": { | ||
"name": "nikkimk" | ||
"name": "haxtheweb", | ||
"url": "https://hax.psu.edu/" | ||
}, | ||
"license": "Apache-2.0", | ||
"dependencies": { | ||
"lit": "^3.1.0" | ||
"lit": "^3.1.2" | ||
}, | ||
"devDependencies": { | ||
"@lrnwebcomponents/deduping-fix": "^8.0.0", | ||
"@open-wc/testing": "3.2.0", | ||
"@lrnwebcomponents/deduping-fix": "^8.0.1", | ||
"@open-wc/testing": "4.0.0", | ||
"@polymer/iron-component-page": "github:PolymerElements/iron-component-page", | ||
"@polymer/iron-demo-helpers": "3.1.0", | ||
"@web/dev-server": "0.3.1", | ||
"@web/dev-server": "0.4.2", | ||
"@webcomponents/webcomponentsjs": "^2.8.0", | ||
"concurrently": "8.2.0", | ||
"concurrently": "8.2.2", | ||
"wct-browser-legacy": "1.0.2" | ||
@@ -66,3 +67,3 @@ }, | ||
], | ||
"gitHead": "2791492ff7ab40c7d4c827c4b305e33c0a971230" | ||
"gitHead": "246242dfc335bb0f3baa59f801241be9d3b69180" | ||
} |
@@ -20,3 +20,3 @@ /** | ||
return [ | ||
...styles, | ||
styles, | ||
css` | ||
@@ -200,3 +200,3 @@ :host { | ||
window.AbsolutePositionStateManager.requestAvailability().loadElement( | ||
this | ||
this, | ||
); | ||
@@ -212,3 +212,3 @@ } | ||
window.AbsolutePositionStateManager.requestAvailability().unloadElement( | ||
this | ||
this, | ||
); | ||
@@ -224,3 +224,3 @@ } | ||
window.AbsolutePositionStateManager.requestAvailability().loadElement( | ||
this | ||
this, | ||
); | ||
@@ -230,3 +230,3 @@ } | ||
window.AbsolutePositionStateManager.requestAvailability().positionElement( | ||
this | ||
this, | ||
); | ||
@@ -253,5 +253,5 @@ } | ||
class AbsolutePositionBehavior extends AbsolutePositionBehaviorClass( | ||
LitElement | ||
LitElement, | ||
) {} | ||
customElements.define(AbsolutePositionBehavior.tag, AbsolutePositionBehavior); | ||
export { AbsolutePositionBehaviorClass, AbsolutePositionBehavior }; |
@@ -8,9 +8,7 @@ import { fixture, expect, html } from "@open-wc/testing"; | ||
beforeEach(async () => { | ||
element = await fixture( | ||
html` | ||
<absolute-position-behavior | ||
title="test-title" | ||
></absolute-position-behavior> | ||
` | ||
); | ||
element = await fixture(html` | ||
<absolute-position-behavior | ||
title="test-title" | ||
></absolute-position-behavior> | ||
`); | ||
}); | ||
@@ -17,0 +15,0 @@ |
82186
1871
Updatedlit@^3.1.2