@stacksjs/utils 0.74.1 → 0.74.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/observer.js +1 -1
  2. package/package.json +14 -14
package/dist/observer.js CHANGED
@@ -1 +1 @@
1
- export function isResizeObserverSupported(){return typeof window<"u"&&"ResizeObserver"in window}export function getResizeObserver(){if(isResizeObserverSupported())return window.ResizeObserver;return class ResizeObserverPolyfill{callback;observedElements=new Set;rafId=null;constructor(callback){this.callback=callback}observe(target){if(!this.observedElements.has(target)){this.observedElements.add(target);this.scheduleCheck()}}unobserve(target){this.observedElements.delete(target);if(this.observedElements.size===0&&this.rafId!==null){(typeof cancelAnimationFrame<"u"?cancelAnimationFrame:clearTimeout)(this.rafId);this.rafId=null}}disconnect(){this.observedElements.clear();if(this.rafId!==null){(typeof cancelAnimationFrame<"u"?cancelAnimationFrame:clearTimeout)(this.rafId);this.rafId=null}}scheduleCheck(){if(this.rafId!==null)return;const raf=typeof requestAnimationFrame<"u"?requestAnimationFrame:setTimeout;this.rafId=raf(()=>{this.check();this.rafId=null;if(this.observedElements.size>0)this.scheduleCheck()})}check(){const entries=[];for(const element of this.observedElements){const rect=element.getBoundingClientRect(),entry={target:element,contentRect:rect,borderBoxSize:[{inlineSize:rect.width,blockSize:rect.height}],contentBoxSize:[{inlineSize:rect.width,blockSize:rect.height}],devicePixelContentBoxSize:[{inlineSize:rect.width,blockSize:rect.height}]};entries.push(entry)}if(entries.length>0)this.callback(entries,this)}}}export function createResizeObserver(callback,target){const observer=new(getResizeObserver())(callback),targets=Array.isArray(target)?target:[target];for(const element of targets)observer.observe(element);return()=>{observer.disconnect()}}export function observeElementSize(element,callback){return createResizeObserver((entries)=>{const entry=entries.find((e)=>e.target===element);if(entry)callback(entry)},element)}export const ResizeObserver=getResizeObserver();export default ResizeObserver;
1
+ export function isResizeObserverSupported(){return typeof window<"u"&&"ResizeObserver"in window}export function getResizeObserver(){if(isResizeObserverSupported())return window.ResizeObserver;return class ResizeObserverPolyfill{callback;observedElements=new Set;rafId=null;scheduling=!1;constructor(callback){this.callback=callback}observe(target){if(!this.observedElements.has(target)){this.observedElements.add(target);this.scheduleCheck()}}unobserve(target){this.observedElements.delete(target);if(this.observedElements.size===0&&this.rafId!==null){(typeof cancelAnimationFrame<"u"?cancelAnimationFrame:clearTimeout)(this.rafId);this.rafId=null}}disconnect(){this.observedElements.clear();if(this.rafId!==null){(typeof cancelAnimationFrame<"u"?cancelAnimationFrame:clearTimeout)(this.rafId);this.rafId=null}}scheduleCheck(){if(this.rafId!==null||this.scheduling)return;const raf=typeof requestAnimationFrame<"u"?requestAnimationFrame:setTimeout;this.scheduling=!0;try{this.rafId=raf(()=>{this.check();this.rafId=null;if(this.observedElements.size>0)this.scheduleCheck()})}finally{this.scheduling=!1}}check(){const entries=[];for(const element of this.observedElements){const rect=element.getBoundingClientRect(),entry={target:element,contentRect:rect,borderBoxSize:[{inlineSize:rect.width,blockSize:rect.height}],contentBoxSize:[{inlineSize:rect.width,blockSize:rect.height}],devicePixelContentBoxSize:[{inlineSize:rect.width,blockSize:rect.height}]};entries.push(entry)}if(entries.length>0)this.callback(entries,this)}}}export function createResizeObserver(callback,target){const observer=new(getResizeObserver())(callback),targets=Array.isArray(target)?target:[target];for(const element of targets)observer.observe(element);return()=>{observer.disconnect()}}export function observeElementSize(element,callback){return createResizeObserver((entries)=>{const entry=entries.find((e)=>e.target===element);if(entry)callback(entry)},element)}export const ResizeObserver=getResizeObserver();export default ResizeObserver;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/utils",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.74.1",
5
+ "version": "0.74.3",
6
6
  "description": "The Stacks helper functions.",
7
7
  "author": "Chris Breuer",
8
8
  "contributors": [
@@ -62,21 +62,21 @@
62
62
  "size": "bun scripts/export-size.ts"
63
63
  },
64
64
  "dependencies": {
65
- "@stacksjs/actions": "0.74.1",
66
- "@stacksjs/browser": "0.74.1",
67
- "@stacksjs/cli": "0.74.1",
68
- "@stacksjs/config": "0.74.1",
69
- "@stacksjs/enums": "0.74.1",
70
- "@stacksjs/error-handling": "0.74.1",
71
- "@stacksjs/logging": "0.74.1",
72
- "@stacksjs/path": "0.74.1",
73
- "@stacksjs/storage": "0.74.1",
74
- "@stacksjs/strings": "0.74.1",
75
- "@stacksjs/types": "0.74.1"
65
+ "@stacksjs/actions": "0.74.3",
66
+ "@stacksjs/browser": "0.74.3",
67
+ "@stacksjs/cli": "0.74.3",
68
+ "@stacksjs/config": "0.74.3",
69
+ "@stacksjs/enums": "0.74.3",
70
+ "@stacksjs/error-handling": "0.74.3",
71
+ "@stacksjs/logging": "0.74.3",
72
+ "@stacksjs/path": "0.74.3",
73
+ "@stacksjs/storage": "0.74.3",
74
+ "@stacksjs/strings": "0.74.3",
75
+ "@stacksjs/types": "0.74.3"
76
76
  },
77
77
  "devDependencies": {
78
- "@stacksjs/arrays": "0.74.1",
79
- "@stacksjs/lint": "0.74.1",
78
+ "@stacksjs/arrays": "0.74.3",
79
+ "@stacksjs/lint": "0.74.3",
80
80
  "better-dx": "^0.2.24",
81
81
  "filesize": "^11.0.22",
82
82
  "markdown-table": "^3.0.4"