Socket
Socket
Sign inDemoInstall

@tamagui/core

Package Overview
Dependencies
Maintainers
1
Versions
1162
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tamagui/core - npm Package Compare versions

Comparing version 1.92.1 to 1.93.0

57

dist/cjs/hooks/useElementLayout.js

@@ -17,2 +17,3 @@ var __defProp = Object.defineProperty;

__export(useElementLayout_exports, {
measureElement: () => measureElement,
measureLayout: () => measureLayout,

@@ -23,5 +24,5 @@ useElementLayout: () => useElementLayout

var import_constants = require("@tamagui/constants"), import_getBoundingClientRect = require("../helpers/getBoundingClientRect");
const LayoutHandlers = /* @__PURE__ */ new WeakMap();
const LayoutHandlers = /* @__PURE__ */ new WeakMap(), resizeListeners = /* @__PURE__ */ new Set();
let resizeObserver = null;
typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
if (typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
for (const { target } of entries) {

@@ -31,14 +32,25 @@ const onLayout = LayoutHandlers.get(target);

return;
measureLayout(target, null, (x, y, width, height, left, top) => {
onLayout({
nativeEvent: {
layout: { x, y, width, height, left, top },
target
},
timeStamp: Date.now()
});
measureElement(target).then((event) => {
onLayout(event);
});
}
}));
const cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
}), typeof window.addEventListener == "function")) {
let tm;
window.addEventListener("resize", () => {
clearTimeout(tm), tm = setTimeout(() => {
resizeListeners.forEach((cb) => cb());
}, 4);
});
}
const measureElement = async (target) => new Promise((res) => {
measureLayout(target, null, (x, y, width, height, left, top) => {
res({
nativeEvent: {
layout: { x, y, width, height, left, top },
target
},
timeStamp: Date.now()
});
});
}), cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
const relativeNode = relativeTo || node?.parentNode;

@@ -79,11 +91,20 @@ if (relativeNode instanceof HTMLElement) {

(0, import_constants.useIsomorphicLayoutEffect)(() => {
if (!resizeObserver || !onLayout)
if (!onLayout)
return;
const node = ref.current;
if (node)
return LayoutHandlers.set(node, onLayout), resizeObserver.observe(node), () => {
resizeObserver?.unobserve(node);
};
}, [ref, onLayout]);
node && LayoutHandlers.set(node, onLayout);
}, [ref, onLayout]), (0, import_constants.useIsomorphicLayoutEffect)(() => {
if (!resizeObserver)
return;
const node = ref.current;
if (!node || !LayoutHandlers.has(node))
return;
const onResize = () => {
measureElement(node).then(onLayout);
};
return resizeListeners.add(onResize), resizeObserver.observe(node), () => {
resizeListeners.delete(onResize), resizeObserver?.unobserve(node);
};
}, [ref]);
}
//# sourceMappingURL=useElementLayout.js.map

@@ -18,2 +18,3 @@ "use strict";

__export(useElementLayout_exports, {
measureElement: () => measureElement,
measureLayout: () => measureLayout,

@@ -34,2 +35,26 @@ useElementLayout: () => useElementLayout

}
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg), value = info.value;
} catch (error) {
reject(error);
return;
}
info.done ? resolve(value) : Promise.resolve(value).then(_next, _throw);
}
function _async_to_generator(fn) {
return function() {
var self = this, args = arguments;
return new Promise(function(resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(void 0);
});
};
}
function _instanceof(left, right) {

@@ -79,5 +104,95 @@ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;

}
var LayoutHandlers = /* @__PURE__ */ new WeakMap();
var resizeObserver = null;
typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver(function(entries) {
function _ts_generator(thisArg, body) {
var f, y, t, g, _ = {
label: 0,
sent: function() {
if (t[0] & 1)
throw t[1];
return t[1];
},
trys: [],
ops: []
};
return g = {
next: verb(0),
throw: verb(1),
return: verb(2)
}, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
return this;
}), g;
function verb(n) {
return function(v) {
return step([
n,
v
]);
};
}
function step(op) {
if (f)
throw new TypeError("Generator is already executing.");
for (; _; )
try {
if (f = 1, y && (t = op[0] & 2 ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
return t;
switch (y = 0, t && (op = [
op[0] & 2,
t.value
]), op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
return _.label++, {
value: op[1],
done: !1
};
case 5:
_.label++, y = op[1], op = [
0
];
continue;
case 7:
op = _.ops.pop(), _.trys.pop();
continue;
default:
if (t = _.trys, !(t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1], t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2], _.ops.push(op);
break;
}
t[2] && _.ops.pop(), _.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [
6,
e
], y = 0;
} finally {
f = t = 0;
}
if (op[0] & 5)
throw op[1];
return {
value: op[0] ? op[1] : void 0,
done: !0
};
}
}
var LayoutHandlers = /* @__PURE__ */ new WeakMap(), resizeListeners = /* @__PURE__ */ new Set(), resizeObserver = null;
if (typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver(function(entries) {
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;

@@ -91,17 +206,4 @@ try {

};
measureLayout(target, null, function(x, y, width, height, left, top) {
onLayout({
nativeEvent: {
layout: {
x,
y,
width,
height,
left,
top
},
target
},
timeStamp: Date.now()
});
measureElement(target).then(function(event) {
onLayout(event);
});

@@ -123,4 +225,42 @@ }, _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {

}
}));
var cache = /* @__PURE__ */ new WeakMap(), measureLayout = function(node, relativeTo, callback) {
}), typeof window.addEventListener == "function")) {
var tm;
window.addEventListener("resize", function() {
clearTimeout(tm), tm = setTimeout(function() {
resizeListeners.forEach(function(cb) {
return cb();
});
}, 4);
});
}
var measureElement = function() {
var _ref = _async_to_generator(function(target) {
return _ts_generator(this, function(_state) {
return [
2,
new Promise(function(res) {
measureLayout(target, null, function(x, y, width, height, left, top) {
res({
nativeEvent: {
layout: {
x,
y,
width,
height,
left,
top
},
target
},
timeStamp: Date.now()
});
});
})
];
});
});
return function(target) {
return _ref.apply(this, arguments);
};
}(), cache = /* @__PURE__ */ new WeakMap(), measureLayout = function(node, relativeTo, callback) {
var relativeNode = relativeTo || (node == null ? void 0 : node.parentNode);

@@ -165,8 +305,5 @@ if (_instanceof(relativeNode, HTMLElement)) {

(0, import_constants.useIsomorphicLayoutEffect)(function() {
if (!(!resizeObserver || !onLayout)) {
if (onLayout) {
var node = ref.current;
if (node)
return LayoutHandlers.set(node, onLayout), resizeObserver.observe(node), function() {
resizeObserver == null || resizeObserver.unobserve(node);
};
node && LayoutHandlers.set(node, onLayout);
}

@@ -176,2 +313,16 @@ }, [

onLayout
]), (0, import_constants.useIsomorphicLayoutEffect)(function() {
if (resizeObserver) {
var node = ref.current;
if (node && LayoutHandlers.has(node)) {
var onResize = function() {
measureElement(node).then(onLayout);
};
return resizeListeners.add(onResize), resizeObserver.observe(node), function() {
resizeListeners.delete(onResize), resizeObserver == null || resizeObserver.unobserve(node);
};
}
}
}, [
ref
]);

@@ -181,2 +332,3 @@ }

0 && (module.exports = {
measureElement,
measureLayout,

@@ -183,0 +335,0 @@ useElementLayout

import { useIsomorphicLayoutEffect } from "@tamagui/constants";
import { getBoundingClientRect } from "../helpers/getBoundingClientRect";
const LayoutHandlers = /* @__PURE__ */ new WeakMap();
const LayoutHandlers = /* @__PURE__ */ new WeakMap(), resizeListeners = /* @__PURE__ */ new Set();
let resizeObserver = null;
typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
if (typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver((entries) => {
for (const { target } of entries) {

@@ -10,14 +10,25 @@ const onLayout = LayoutHandlers.get(target);

return;
measureLayout(target, null, (x, y, width, height, left, top) => {
onLayout({
nativeEvent: {
layout: { x, y, width, height, left, top },
target
},
timeStamp: Date.now()
});
measureElement(target).then((event) => {
onLayout(event);
});
}
}));
const cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
}), typeof window.addEventListener == "function")) {
let tm;
window.addEventListener("resize", () => {
clearTimeout(tm), tm = setTimeout(() => {
resizeListeners.forEach((cb) => cb());
}, 4);
});
}
const measureElement = async (target) => new Promise((res) => {
measureLayout(target, null, (x, y, width, height, left, top) => {
res({
nativeEvent: {
layout: { x, y, width, height, left, top },
target
},
timeStamp: Date.now()
});
});
}), cache = /* @__PURE__ */ new WeakMap(), measureLayout = (node, relativeTo, callback) => {
const relativeNode = relativeTo || node?.parentNode;

@@ -58,12 +69,22 @@ if (relativeNode instanceof HTMLElement) {

useIsomorphicLayoutEffect(() => {
if (!resizeObserver || !onLayout)
if (!onLayout)
return;
const node = ref.current;
if (node)
return LayoutHandlers.set(node, onLayout), resizeObserver.observe(node), () => {
resizeObserver?.unobserve(node);
};
}, [ref, onLayout]);
node && LayoutHandlers.set(node, onLayout);
}, [ref, onLayout]), useIsomorphicLayoutEffect(() => {
if (!resizeObserver)
return;
const node = ref.current;
if (!node || !LayoutHandlers.has(node))
return;
const onResize = () => {
measureElement(node).then(onLayout);
};
return resizeListeners.add(onResize), resizeObserver.observe(node), () => {
resizeListeners.delete(onResize), resizeObserver?.unobserve(node);
};
}, [ref]);
}
export {
measureElement,
measureLayout,

@@ -70,0 +91,0 @@ useElementLayout

@@ -13,2 +13,26 @@ import { useIsomorphicLayoutEffect } from "@tamagui/constants";

}
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg), value = info.value;
} catch (error) {
reject(error);
return;
}
info.done ? resolve(value) : Promise.resolve(value).then(_next, _throw);
}
function _async_to_generator(fn) {
return function() {
var self = this, args = arguments;
return new Promise(function(resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(void 0);
});
};
}
function _instanceof(left, right) {

@@ -58,5 +82,95 @@ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;

}
var LayoutHandlers = /* @__PURE__ */ new WeakMap();
var resizeObserver = null;
typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver(function(entries) {
function _ts_generator(thisArg, body) {
var f, y, t, g, _ = {
label: 0,
sent: function() {
if (t[0] & 1)
throw t[1];
return t[1];
},
trys: [],
ops: []
};
return g = {
next: verb(0),
throw: verb(1),
return: verb(2)
}, typeof Symbol == "function" && (g[Symbol.iterator] = function() {
return this;
}), g;
function verb(n) {
return function(v) {
return step([
n,
v
]);
};
}
function step(op) {
if (f)
throw new TypeError("Generator is already executing.");
for (; _; )
try {
if (f = 1, y && (t = op[0] & 2 ? y.return : op[0] ? y.throw || ((t = y.return) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
return t;
switch (y = 0, t && (op = [
op[0] & 2,
t.value
]), op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
return _.label++, {
value: op[1],
done: !1
};
case 5:
_.label++, y = op[1], op = [
0
];
continue;
case 7:
op = _.ops.pop(), _.trys.pop();
continue;
default:
if (t = _.trys, !(t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1], t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2], _.ops.push(op);
break;
}
t[2] && _.ops.pop(), _.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [
6,
e
], y = 0;
} finally {
f = t = 0;
}
if (op[0] & 5)
throw op[1];
return {
value: op[0] ? op[1] : void 0,
done: !0
};
}
}
var LayoutHandlers = /* @__PURE__ */ new WeakMap(), resizeListeners = /* @__PURE__ */ new Set(), resizeObserver = null;
if (typeof window < "u" && "ResizeObserver" in window && (resizeObserver = new ResizeObserver(function(entries) {
var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;

@@ -70,17 +184,4 @@ try {

};
measureLayout(target, null, function(x, y, width, height, left, top) {
onLayout({
nativeEvent: {
layout: {
x,
y,
width,
height,
left,
top
},
target
},
timeStamp: Date.now()
});
measureElement(target).then(function(event) {
onLayout(event);
});

@@ -102,4 +203,42 @@ }, _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {

}
}));
var cache = /* @__PURE__ */ new WeakMap(), measureLayout = function(node, relativeTo, callback) {
}), typeof window.addEventListener == "function")) {
var tm;
window.addEventListener("resize", function() {
clearTimeout(tm), tm = setTimeout(function() {
resizeListeners.forEach(function(cb) {
return cb();
});
}, 4);
});
}
var measureElement = function() {
var _ref = _async_to_generator(function(target) {
return _ts_generator(this, function(_state) {
return [
2,
new Promise(function(res) {
measureLayout(target, null, function(x, y, width, height, left, top) {
res({
nativeEvent: {
layout: {
x,
y,
width,
height,
left,
top
},
target
},
timeStamp: Date.now()
});
});
})
];
});
});
return function(target) {
return _ref.apply(this, arguments);
};
}(), cache = /* @__PURE__ */ new WeakMap(), measureLayout = function(node, relativeTo, callback) {
var relativeNode = relativeTo || (node == null ? void 0 : node.parentNode);

@@ -144,8 +283,5 @@ if (_instanceof(relativeNode, HTMLElement)) {

useIsomorphicLayoutEffect(function() {
if (!(!resizeObserver || !onLayout)) {
if (onLayout) {
var node = ref.current;
if (node)
return LayoutHandlers.set(node, onLayout), resizeObserver.observe(node), function() {
resizeObserver == null || resizeObserver.unobserve(node);
};
node && LayoutHandlers.set(node, onLayout);
}

@@ -155,5 +291,20 @@ }, [

onLayout
]), useIsomorphicLayoutEffect(function() {
if (resizeObserver) {
var node = ref.current;
if (node && LayoutHandlers.has(node)) {
var onResize = function() {
measureElement(node).then(onLayout);
};
return resizeListeners.add(onResize), resizeObserver.observe(node), function() {
resizeListeners.delete(onResize), resizeObserver == null || resizeObserver.unobserve(node);
};
}
}
}, [
ref
]);
}
export {
measureElement,
measureLayout,

@@ -160,0 +311,0 @@ useElementLayout

{
"name": "@tamagui/core",
"version": "1.92.1",
"version": "1.93.0",
"source": "src/index.tsx",

@@ -38,6 +38,6 @@ "main": "dist/cjs",

"dependencies": {
"@tamagui/react-native-use-pressable": "1.92.1",
"@tamagui/react-native-use-responder-events": "1.92.1",
"@tamagui/use-event": "1.92.1",
"@tamagui/web": "1.92.1"
"@tamagui/react-native-use-pressable": "1.93.0",
"@tamagui/react-native-use-responder-events": "1.93.0",
"@tamagui/use-event": "1.93.0",
"@tamagui/web": "1.93.0"
},

@@ -48,3 +48,3 @@ "peerDependencies": {

"devDependencies": {
"@tamagui/build": "1.92.1",
"@tamagui/build": "1.93.0",
"@testing-library/react": "^14.0.0",

@@ -51,0 +51,0 @@ "csstype": "^3.0.10",

@@ -1,2 +0,2 @@

import type { RefObject } from 'react';
import { type RefObject } from 'react';
export type LayoutValue = {

@@ -17,4 +17,5 @@ x: number;

};
export declare const measureElement: (target: HTMLElement) => Promise<LayoutEvent>;
export declare const measureLayout: (node: HTMLElement, relativeTo: HTMLElement | null, callback: (x: number, y: number, width: number, height: number, left: number, top: number) => void) => void;
export declare function useElementLayout(ref: RefObject<Element>, onLayout?: ((e: LayoutEvent) => void) | null): void;
//# sourceMappingURL=useElementLayout.d.ts.map

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc