@tamagui/use-window-dimensions 2.3.3 → 2.4.0
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.
|
@@ -33,15 +33,21 @@ function getWindowSize() {
|
|
|
33
33
|
return import_react_native.Dimensions.get("window");
|
|
34
34
|
}
|
|
35
35
|
var cbs = /* @__PURE__ */new Set();
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
var isListening = false;
|
|
37
|
+
var ensureListening = function () {
|
|
38
|
+
if (isListening) return;
|
|
39
|
+
isListening = true;
|
|
40
|
+
import_react_native.Dimensions.addEventListener("change", function (param) {
|
|
41
|
+
var {
|
|
42
|
+
window
|
|
43
|
+
} = param;
|
|
44
|
+
cbs.forEach(function (cb) {
|
|
45
|
+
return cb(window);
|
|
46
|
+
});
|
|
42
47
|
});
|
|
43
|
-
}
|
|
48
|
+
};
|
|
44
49
|
function subscribe(cb) {
|
|
50
|
+
ensureListening();
|
|
45
51
|
cbs.add(cb);
|
|
46
52
|
return function () {
|
|
47
53
|
return cbs.delete(cb);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["helpers_native_exports","__export","getWindowSize","subscribe","module","exports","__toCommonJS","import_react_native","require","Dimensions","get","cbs","Set","addEventListener","param","window","forEach","cb","add","delete"],"sources":["../../src/helpers.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAN,sBAAA;AAAA,IAAAO,mBAAA,GAA2BC,OAAA;AACpB,SAASN,cAAA,EAAgB;EAC5B,OAAOK,mBAAA,CAAAE,UAAA,CAAWC,GAAA,CAAI,QAAQ;AAClC;AACA,IAAIC,GAAA,GAAM,mBAAIC,GAAA,CAAI;
|
|
1
|
+
{"version":3,"names":["helpers_native_exports","__export","getWindowSize","subscribe","module","exports","__toCommonJS","import_react_native","require","Dimensions","get","cbs","Set","isListening","ensureListening","addEventListener","param","window","forEach","cb","add","delete"],"sources":["../../src/helpers.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAN,sBAAA;AAAA,IAAAO,mBAAA,GAA2BC,OAAA;AACpB,SAASN,cAAA,EAAgB;EAC5B,OAAOK,mBAAA,CAAAE,UAAA,CAAWC,GAAA,CAAI,QAAQ;AAClC;AACA,IAAIC,GAAA,GAAM,mBAAIC,GAAA,CAAI;AAClB,IAAIC,WAAA,GAAc;AAClB,IAAIC,eAAA,GAAkB,SAAAA,CAAA,EAAW;EAC7B,IAAID,WAAA,EAAa;EACjBA,WAAA,GAAc;EAIdN,mBAAA,CAAAE,UAAA,CAAWM,gBAAA,CAAiB,UAAU,UAASC,KAAA,EAAO;IAClD,IAAI;MAAEC;IAAO,IAAID,KAAA;IACjBL,GAAA,CAAIO,OAAA,CAAQ,UAASC,EAAA,EAAI;MACrB,OAAOA,EAAA,CAAGF,MAAM;IACpB,CAAC;EACL,CAAC;AACL;AACO,SAASd,UAAUgB,EAAA,EAAI;EAC1BL,eAAA,CAAgB;EAChBH,GAAA,CAAIS,GAAA,CAAID,EAAE;EACV,OAAO,YAAW;IACd,OAAOR,GAAA,CAAIU,MAAA,CAAOF,EAAE;EACxB;AACJ","ignoreList":[]}
|
|
@@ -3,15 +3,21 @@ function getWindowSize() {
|
|
|
3
3
|
return Dimensions.get("window");
|
|
4
4
|
}
|
|
5
5
|
var cbs = /* @__PURE__ */new Set();
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
var isListening = false;
|
|
7
|
+
var ensureListening = function () {
|
|
8
|
+
if (isListening) return;
|
|
9
|
+
isListening = true;
|
|
10
|
+
Dimensions.addEventListener("change", function (param) {
|
|
11
|
+
var {
|
|
12
|
+
window
|
|
13
|
+
} = param;
|
|
14
|
+
cbs.forEach(function (cb) {
|
|
15
|
+
return cb(window);
|
|
16
|
+
});
|
|
12
17
|
});
|
|
13
|
-
}
|
|
18
|
+
};
|
|
14
19
|
function subscribe(cb) {
|
|
20
|
+
ensureListening();
|
|
15
21
|
cbs.add(cb);
|
|
16
22
|
return function () {
|
|
17
23
|
return cbs.delete(cb);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Dimensions","getWindowSize","get","cbs","Set","addEventListener","param","window","forEach","cb","subscribe","add","delete"],"sources":["../../src/helpers.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AACpB,SAASC,cAAA,EAAgB;EAC5B,OAAOD,UAAA,CAAWE,GAAA,CAAI,QAAQ;AAClC;AACA,IAAIC,GAAA,GAAM,mBAAIC,GAAA,CAAI;
|
|
1
|
+
{"version":3,"names":["Dimensions","getWindowSize","get","cbs","Set","isListening","ensureListening","addEventListener","param","window","forEach","cb","subscribe","add","delete"],"sources":["../../src/helpers.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AACpB,SAASC,cAAA,EAAgB;EAC5B,OAAOD,UAAA,CAAWE,GAAA,CAAI,QAAQ;AAClC;AACA,IAAIC,GAAA,GAAM,mBAAIC,GAAA,CAAI;AAClB,IAAIC,WAAA,GAAc;AAClB,IAAIC,eAAA,GAAkB,SAAAA,CAAA,EAAW;EAC7B,IAAID,WAAA,EAAa;EACjBA,WAAA,GAAc;EAIdL,UAAA,CAAWO,gBAAA,CAAiB,UAAU,UAASC,KAAA,EAAO;IAClD,IAAI;MAAEC;IAAO,IAAID,KAAA;IACjBL,GAAA,CAAIO,OAAA,CAAQ,UAASC,EAAA,EAAI;MACrB,OAAOA,EAAA,CAAGF,MAAM;IACpB,CAAC;EACL,CAAC;AACL;AACO,SAASG,UAAUD,EAAA,EAAI;EAC1BL,eAAA,CAAgB;EAChBH,GAAA,CAAIU,GAAA,CAAIF,EAAE;EACV,OAAO,YAAW;IACd,OAAOR,GAAA,CAAIW,MAAA,CAAOH,EAAE;EACxB;AACJ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/use-window-dimensions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
"clean:build": "tamagui-build clean:build"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tamagui/constants": "2.
|
|
37
|
+
"@tamagui/constants": "2.4.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@tamagui/build": "2.
|
|
40
|
+
"@tamagui/build": "2.4.0",
|
|
41
41
|
"react": ">=19",
|
|
42
42
|
"react-native": "0.83.2"
|
|
43
43
|
},
|
package/src/helpers.native.ts
CHANGED
|
@@ -7,11 +7,20 @@ export function getWindowSize(): WindowSize {
|
|
|
7
7
|
|
|
8
8
|
const cbs = new Set<WindowSizeListener>()
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
let isListening = false
|
|
11
|
+
const ensureListening = () => {
|
|
12
|
+
if (isListening) return
|
|
13
|
+
isListening = true
|
|
14
|
+
// lazy-register: on Hermes, evaluating Dimensions.addEventListener at module
|
|
15
|
+
// top-level can fire before RN's Dimensions module finishes wiring up its
|
|
16
|
+
// event interface, throwing ReferenceError. Defer until first subscriber.
|
|
17
|
+
Dimensions.addEventListener('change', ({ window }) => {
|
|
18
|
+
cbs.forEach((cb) => cb(window))
|
|
19
|
+
})
|
|
20
|
+
}
|
|
13
21
|
|
|
14
22
|
export function subscribe(cb: WindowSizeListener): () => void {
|
|
23
|
+
ensureListening()
|
|
15
24
|
cbs.add(cb)
|
|
16
25
|
return () => cbs.delete(cb)
|
|
17
26
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mappings": "AACA,cAAc,YAAY,0BAA0B;AAEpD,OAAO,iBAAS,iBAAiB;
|
|
2
|
+
"mappings": "AACA,cAAc,YAAY,0BAA0B;AAEpD,OAAO,iBAAS,iBAAiB;AAkBjC,OAAO,iBAAS,UAAU,IAAI",
|
|
3
3
|
"names": [],
|
|
4
4
|
"sources": [
|
|
5
5
|
"src/helpers.native.ts"
|
|
6
6
|
],
|
|
7
7
|
"version": 3,
|
|
8
8
|
"sourcesContent": [
|
|
9
|
-
"import { Dimensions } from 'react-native'\nimport type { WindowSize, WindowSizeListener } from './types'\n\nexport function getWindowSize(): WindowSize {\n return Dimensions.get('window')\n}\n\nconst cbs = new Set<WindowSizeListener>()\n\
|
|
9
|
+
"import { Dimensions } from 'react-native'\nimport type { WindowSize, WindowSizeListener } from './types'\n\nexport function getWindowSize(): WindowSize {\n return Dimensions.get('window')\n}\n\nconst cbs = new Set<WindowSizeListener>()\n\nlet isListening = false\nconst ensureListening = () => {\n if (isListening) return\n isListening = true\n // lazy-register: on Hermes, evaluating Dimensions.addEventListener at module\n // top-level can fire before RN's Dimensions module finishes wiring up its\n // event interface, throwing ReferenceError. Defer until first subscriber.\n Dimensions.addEventListener('change', ({ window }) => {\n cbs.forEach((cb) => cb(window))\n })\n}\n\nexport function subscribe(cb: WindowSizeListener): () => void {\n ensureListening()\n cbs.add(cb)\n return () => cbs.delete(cb)\n}\n"
|
|
10
10
|
]
|
|
11
11
|
}
|