@hanzogui/constants 3.0.6 → 4.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.
- package/dist/cjs/constants.cjs +33 -22
- package/dist/cjs/constants.native.js +35 -28
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/constants.mjs +21 -13
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +21 -17
- package/dist/esm/constants.native.js.map +1 -1
- package/package.json +2 -2
- package/src/constants.native.ts +26 -2
- package/src/constants.ts +31 -3
- package/types/constants.d.ts +7 -0
- package/types/constants.d.ts.map +2 -2
- package/types/constants.native.d.ts +7 -0
- package/types/constants.native.d.ts.map +2 -2
package/dist/cjs/constants.cjs
CHANGED
|
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var constants_exports = {};
|
|
22
24
|
__export(constants_exports, {
|
|
@@ -27,6 +29,7 @@ __export(constants_exports, {
|
|
|
27
29
|
isClient: () => isClient,
|
|
28
30
|
isIos: () => isIos,
|
|
29
31
|
isServer: () => isServer,
|
|
32
|
+
isTV: () => isTV,
|
|
30
33
|
isTouchable: () => isTouchable,
|
|
31
34
|
isWeb: () => isWeb,
|
|
32
35
|
isWebTouchable: () => isWebTouchable,
|
|
@@ -35,15 +38,23 @@ __export(constants_exports, {
|
|
|
35
38
|
});
|
|
36
39
|
module.exports = __toCommonJS(constants_exports);
|
|
37
40
|
var import_react = require("react");
|
|
38
|
-
const isWeb =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
const isWeb = true;
|
|
42
|
+
const isBrowser = typeof document !== "undefined";
|
|
43
|
+
const isServer = isWeb && !isBrowser;
|
|
44
|
+
const isClient = isWeb && isBrowser;
|
|
45
|
+
const isWindowDefined = isBrowser;
|
|
46
|
+
const useIsomorphicLayoutEffect = isServer ? import_react.useEffect : import_react.useLayoutEffect;
|
|
47
|
+
const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
|
|
48
|
+
const isWebTouchable = isClient && ("ontouchstart" in window || navigator.maxTouchPoints > 0);
|
|
49
|
+
const isTouchable = !isWeb || isWebTouchable;
|
|
50
|
+
const isAndroid = process.env.TEST_NATIVE_PLATFORM === "android" ||
|
|
51
|
+
// Android TV has Platform.OS === 'android' per react-native-tvos
|
|
52
|
+
process.env.TEST_NATIVE_PLATFORM === "androidtv";
|
|
53
|
+
const isIos = process.env.TEST_NATIVE_PLATFORM === "ios" ||
|
|
54
|
+
// tvOS has Platform.OS === 'ios' per react-native-tvos
|
|
55
|
+
process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
56
|
+
const isTV = process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
57
|
+
const currentPlatform = "web";
|
|
58
|
+
if (!process.env.TAMAGUI_TARGET) {
|
|
59
|
+
process.env.TAMAGUI_TARGET = "web";
|
|
60
|
+
}
|
|
@@ -5,20 +5,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
16
|
get: () => from[key],
|
|
16
17
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
20
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
-
value:
|
|
23
|
+
value: true
|
|
22
24
|
}), mod);
|
|
23
25
|
var constants_native_exports = {};
|
|
24
26
|
__export(constants_native_exports, {
|
|
@@ -29,6 +31,7 @@ __export(constants_native_exports, {
|
|
|
29
31
|
isClient: () => isClient,
|
|
30
32
|
isIos: () => isIos,
|
|
31
33
|
isServer: () => isServer,
|
|
34
|
+
isTV: () => isTV,
|
|
32
35
|
isTouchable: () => isTouchable,
|
|
33
36
|
isWeb: () => isWeb,
|
|
34
37
|
isWebTouchable: () => isWebTouchable,
|
|
@@ -36,22 +39,26 @@ __export(constants_native_exports, {
|
|
|
36
39
|
useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect
|
|
37
40
|
});
|
|
38
41
|
module.exports = __toCommonJS(constants_native_exports);
|
|
39
|
-
var import_react = require("react")
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
42
|
+
var import_react = require("react");
|
|
43
|
+
var import_react_native = require("react-native");
|
|
44
|
+
var isWeb = false;
|
|
45
|
+
var isBrowser = false;
|
|
46
|
+
var isServer = false;
|
|
47
|
+
var isClient = true;
|
|
48
|
+
var isWindowDefined = false;
|
|
49
|
+
var useIsomorphicLayoutEffect = import_react.useLayoutEffect;
|
|
50
|
+
var isChrome = false;
|
|
51
|
+
var isWebTouchable = false;
|
|
52
|
+
var isTouchable = true;
|
|
53
|
+
var isAndroid = (import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) === "android" || process.env.TEST_NATIVE_PLATFORM === "android" || process.env.TEST_NATIVE_PLATFORM === "androidtv";
|
|
54
|
+
var isIos = (import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) === "ios" || process.env.TEST_NATIVE_PLATFORM === "ios" || process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
55
|
+
var isTV = (import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.isTV) || process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
56
|
+
var platforms = {
|
|
57
|
+
ios: "ios",
|
|
58
|
+
android: "android"
|
|
59
|
+
};
|
|
60
|
+
var currentPlatform = ((import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) ? platforms[import_react_native.Platform.OS] : void 0) || "native";
|
|
61
|
+
if (!process.env.TAMAGUI_TARGET) {
|
|
62
|
+
process.env.TAMAGUI_TARGET = "native";
|
|
63
|
+
}
|
|
57
64
|
//# sourceMappingURL=constants.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["constants_native_exports","__export","currentPlatform","isAndroid","isBrowser","isChrome","isClient","isIos","isServer","isTouchable","isWeb","isWebTouchable","isWindowDefined","useIsomorphicLayoutEffect","module","exports","__toCommonJS","import_react","require","import_react_native","useLayoutEffect","Platform","OS","process","env","TEST_NATIVE_PLATFORM","platforms","ios","android"],"sources":["../../src/constants.native.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["constants_native_exports","__export","currentPlatform","isAndroid","isBrowser","isChrome","isClient","isIos","isServer","isTV","isTouchable","isWeb","isWebTouchable","isWindowDefined","useIsomorphicLayoutEffect","module","exports","__toCommonJS","import_react","require","import_react_native","useLayoutEffect","Platform","OS","process","env","TEST_NATIVE_PLATFORM","platforms","ios","android","TAMAGUI_TARGET"],"sources":["../../src/constants.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAA,KAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,IAAA,EAAAA,CAAA,KAAAA,IAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAA,KAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,yBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAjB,wBAAA;AAAA,IAAAkB,YAAA,GAAgCC,OAAA;AAChC,IAAAC,mBAAA,GAAyBD,OAAA;AAClB,IAAIR,KAAA,GAAQ;AACZ,IAAIP,SAAA,GAAY;AAChB,IAAII,QAAA,GAAW;AACf,IAAIF,QAAA,GAAW;AAC0B,IAAIO,eAAA,GAAkB;AAC/D,IAAIC,yBAAA,GAA4BI,YAAA,CAAAG,eAAA;AAChC,IAAIhB,QAAA,GAAW;AACf,IAAIO,cAAA,GAAiB;AACrB,IAAIF,WAAA,GAAc;AAGlB,IAAIP,SAAA,IAAaiB,mBAAA,CAAAE,QAAA,KAAa,QAAQF,mBAAA,CAAAE,QAAA,KAAa,SAAS,SAASF,mBAAA,CAAAE,QAAA,CAASC,EAAA,MAAQ,aAAaC,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB,aAAaF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAE1L,IAAInB,KAAA,IAASa,mBAAA,CAAAE,QAAA,KAAa,QAAQF,mBAAA,CAAAE,QAAA,KAAa,SAAS,SAASF,mBAAA,CAAAE,QAAA,CAASC,EAAA,MAAQ,SAASC,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB,SAASF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAC9K,IAAIjB,IAAA,IAAQW,mBAAA,CAAAE,QAAA,KAAa,QAAQF,mBAAA,CAAAE,QAAA,KAAa,SAAS,SAASF,mBAAA,CAAAE,QAAA,CAASb,IAAA,KAASe,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB,eAAeF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAClL,IAAIC,SAAA,GAAY;EACZC,GAAA,EAAK;EACLC,OAAA,EAAS;AACb;AAMW,IAAI3B,eAAA,KAAoBkB,mBAAA,CAAAE,QAAA,KAAa,QAAQF,mBAAA,CAAAE,QAAA,KAAa,SAAS,SAASF,mBAAA,CAAAE,QAAA,CAASC,EAAA,IAAMI,SAAA,CAAUP,mBAAA,CAAAE,QAAA,CAASC,EAAE,IAAI,WAAc;AAK7I,IAAI,CAACC,OAAA,CAAQC,GAAA,CAAIK,cAAA,EAAgB;EAC7BN,OAAA,CAAQC,GAAA,CAAIK,cAAA,GAAiB;AACjC","ignoreList":[]}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -3,15 +3,17 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
7
8
|
get: () => from[key],
|
|
8
9
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
9
10
|
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
13
15
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
14
|
-
value:
|
|
16
|
+
value: true
|
|
15
17
|
}), mod);
|
|
16
18
|
var index_exports = {};
|
|
17
19
|
module.exports = __toCommonJS(index_exports);
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -5,15 +5,17 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __copyProps = (to, from, except, desc) => {
|
|
8
|
-
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
9
10
|
get: () => from[key],
|
|
10
11
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
11
12
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
17
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
16
|
-
value:
|
|
18
|
+
value: true
|
|
17
19
|
}), mod);
|
|
18
20
|
var index_exports = {};
|
|
19
21
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAc,CAAAK,aAAA","ignoreList":[]}
|
package/dist/esm/constants.mjs
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import { useEffect, useLayoutEffect } from "react";
|
|
2
|
-
const isWeb =
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
const isWeb = true;
|
|
3
|
+
const isBrowser = typeof document !== "undefined";
|
|
4
|
+
const isServer = isWeb && !isBrowser;
|
|
5
|
+
const isClient = isWeb && isBrowser;
|
|
6
|
+
const isWindowDefined = isBrowser;
|
|
7
|
+
const useIsomorphicLayoutEffect = isServer ? useEffect : useLayoutEffect;
|
|
8
|
+
const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
|
|
9
|
+
const isWebTouchable = isClient && ("ontouchstart" in window || navigator.maxTouchPoints > 0);
|
|
10
|
+
const isTouchable = !isWeb || isWebTouchable;
|
|
11
|
+
const isAndroid = process.env.TEST_NATIVE_PLATFORM === "android" ||
|
|
12
|
+
// Android TV has Platform.OS === 'android' per react-native-tvos
|
|
13
|
+
process.env.TEST_NATIVE_PLATFORM === "androidtv";
|
|
14
|
+
const isIos = process.env.TEST_NATIVE_PLATFORM === "ios" ||
|
|
15
|
+
// tvOS has Platform.OS === 'ios' per react-native-tvos
|
|
16
|
+
process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
17
|
+
const isTV = process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
18
|
+
const currentPlatform = "web";
|
|
19
|
+
if (!process.env.TAMAGUI_TARGET) {
|
|
20
|
+
process.env.TAMAGUI_TARGET = "web";
|
|
21
|
+
}
|
|
22
|
+
export { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isServer, isTV, isTouchable, isWeb, isWebTouchable, isWindowDefined, useIsomorphicLayoutEffect };
|
|
15
23
|
//# sourceMappingURL=constants.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useLayoutEffect","isWeb","isBrowser","
|
|
1
|
+
{"version":3,"names":["useEffect","useLayoutEffect","isWeb","isBrowser","document","isServer","isClient","isWindowDefined","useIsomorphicLayoutEffect","isChrome","navigator","test","userAgent","isWebTouchable","window","maxTouchPoints","isTouchable","isAndroid","process","env","TEST_NATIVE_PLATFORM","isIos","isTV","currentPlatform","TAMAGUI_TARGET"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,eAAA,QAAuB;AAEpC,MAAMC,KAAA,GAAiB;AAGvB,MAAMC,SAAA,GAAqB,OAAOC,QAAA,KAAa;AAC/C,MAAMC,QAAA,GAAoBH,KAAA,IAAS,CAACC,SAAA;AACpC,MAAMG,QAAA,GAAoBJ,KAAA,IAASC,SAAA;AAEnC,MAAMI,eAAA,GAA2BJ,SAAA;AAEjC,MAAMK,yBAAA,GAA8CH,QAAA,GACvDL,SAAA,GACAC,eAAA;AAEG,MAAMQ,QAAA,GACX,OAAOC,SAAA,KAAc,eAAe,SAASC,IAAA,CAAKD,SAAA,CAAUE,SAAA,IAAa,EAAE;AAEtE,MAAMC,cAAA,GACXP,QAAA,KAAa,kBAAkBQ,MAAA,IAAUJ,SAAA,CAAUK,cAAA,GAAiB;AAE/D,MAAMC,WAAA,GAAuB,CAACd,KAAA,IAASW,cAAA;AAKvC,MAAMI,SAAA,GACXC,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAAA;AAErCF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAChC,MAAMC,KAAA,GACXH,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAAA;AAErCF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAChC,MAAME,IAAA,GACXJ,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB,eACrCF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAOhC,MAAMG,eAAA,GAAwD;AAMrE,IAAI,CAACL,OAAA,CAAQC,GAAA,CAAIK,cAAA,EAAgB;EAC/BN,OAAA,CAAQC,GAAA,CAAIK,cAAA,GAAiB;AAC/B","ignoreList":[]}
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { useLayoutEffect } from "react";
|
|
2
2
|
import { Platform } from "react-native";
|
|
3
|
-
var isWeb =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
3
|
+
var isWeb = false;
|
|
4
|
+
var isBrowser = false;
|
|
5
|
+
var isServer = false;
|
|
6
|
+
var isClient = true;
|
|
7
|
+
var isWindowDefined = false;
|
|
8
|
+
var useIsomorphicLayoutEffect = useLayoutEffect;
|
|
9
|
+
var isChrome = false;
|
|
10
|
+
var isWebTouchable = false;
|
|
11
|
+
var isTouchable = true;
|
|
12
|
+
var isAndroid = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "android" || process.env.TEST_NATIVE_PLATFORM === "android" || process.env.TEST_NATIVE_PLATFORM === "androidtv";
|
|
13
|
+
var isIos = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "ios" || process.env.TEST_NATIVE_PLATFORM === "ios" || process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
14
|
+
var isTV = (Platform === null || Platform === void 0 ? void 0 : Platform.isTV) || process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
|
|
15
|
+
var platforms = {
|
|
16
|
+
ios: "ios",
|
|
17
|
+
android: "android"
|
|
18
|
+
};
|
|
19
|
+
var currentPlatform = ((Platform === null || Platform === void 0 ? void 0 : Platform.OS) ? platforms[Platform.OS] : void 0) || "native";
|
|
20
|
+
if (!process.env.TAMAGUI_TARGET) {
|
|
21
|
+
process.env.TAMAGUI_TARGET = "native";
|
|
22
|
+
}
|
|
23
|
+
export { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isServer, isTV, isTouchable, isWeb, isWebTouchable, isWindowDefined, useIsomorphicLayoutEffect };
|
|
20
24
|
//# sourceMappingURL=constants.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLayoutEffect","Platform","isWeb","isBrowser","isServer","isClient","isWindowDefined","useIsomorphicLayoutEffect","isChrome","isWebTouchable","isTouchable","isAndroid","OS","process","env","TEST_NATIVE_PLATFORM","isIos","platforms","ios","android","currentPlatform"],"sources":["../../src/constants.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAChC,SAASC,QAAA,QAAgB;AAClB,IAAIC,KAAA,GAAQ;
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","Platform","isWeb","isBrowser","isServer","isClient","isWindowDefined","useIsomorphicLayoutEffect","isChrome","isWebTouchable","isTouchable","isAndroid","OS","process","env","TEST_NATIVE_PLATFORM","isIos","isTV","platforms","ios","android","currentPlatform","TAMAGUI_TARGET"],"sources":["../../src/constants.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAChC,SAASC,QAAA,QAAgB;AAClB,IAAIC,KAAA,GAAQ;AACZ,IAAIC,SAAA,GAAY;AAChB,IAAIC,QAAA,GAAW;AACf,IAAIC,QAAA,GAAW;AAC0B,IAAIC,eAAA,GAAkB;AAC/D,IAAIC,yBAAA,GAA4BP,eAAA;AAChC,IAAIQ,QAAA,GAAW;AACf,IAAIC,cAAA,GAAiB;AACrB,IAAIC,WAAA,GAAc;AAGlB,IAAIC,SAAA,IAAaV,QAAA,KAAa,QAAQA,QAAA,KAAa,SAAS,SAASA,QAAA,CAASW,EAAA,MAAQ,aAAaC,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB,aAAaF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAE1L,IAAIC,KAAA,IAASf,QAAA,KAAa,QAAQA,QAAA,KAAa,SAAS,SAASA,QAAA,CAASW,EAAA,MAAQ,SAASC,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB,SAASF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAC9K,IAAIE,IAAA,IAAQhB,QAAA,KAAa,QAAQA,QAAA,KAAa,SAAS,SAASA,QAAA,CAASgB,IAAA,KAASJ,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB,eAAeF,OAAA,CAAQC,GAAA,CAAIC,oBAAA,KAAyB;AAClL,IAAIG,SAAA,GAAY;EACZC,GAAA,EAAK;EACLC,OAAA,EAAS;AACb;AAMW,IAAIC,eAAA,KAAoBpB,QAAA,KAAa,QAAQA,QAAA,KAAa,SAAS,SAASA,QAAA,CAASW,EAAA,IAAMM,SAAA,CAAUjB,QAAA,CAASW,EAAE,IAAI,WAAc;AAK7I,IAAI,CAACC,OAAA,CAAQC,GAAA,CAAIQ,cAAA,EAAgB;EAC7BT,OAAA,CAAQC,GAAA,CAAIQ,cAAA,GAAiB;AACjC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzogui/constants",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.4.0",
|
|
4
4
|
"gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"clean:build": "hanzo-gui-build clean:build"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@hanzogui/build": "
|
|
37
|
+
"@hanzogui/build": "4.4.0",
|
|
38
38
|
"react": ">=19",
|
|
39
39
|
"react-native": "0.83.2"
|
|
40
40
|
},
|
package/src/constants.native.ts
CHANGED
|
@@ -12,11 +12,35 @@ export const isChrome: boolean = false
|
|
|
12
12
|
export const isWebTouchable: boolean = false
|
|
13
13
|
export const isTouchable: boolean = true
|
|
14
14
|
// optional chain required: babel extractor loads native.cjs in node where Platform is undefined
|
|
15
|
+
// On Android TV: Platform.OS === 'android' per react-native-tvos
|
|
15
16
|
export const isAndroid: boolean =
|
|
16
|
-
Platform?.OS === 'android' ||
|
|
17
|
+
Platform?.OS === 'android' ||
|
|
18
|
+
process.env.TEST_NATIVE_PLATFORM === 'android' ||
|
|
19
|
+
process.env.TEST_NATIVE_PLATFORM === 'androidtv'
|
|
20
|
+
// On tvOS: Platform.OS === 'ios' per react-native-tvos
|
|
17
21
|
export const isIos: boolean =
|
|
18
|
-
Platform?.OS === 'ios' ||
|
|
22
|
+
Platform?.OS === 'ios' ||
|
|
23
|
+
process.env.TEST_NATIVE_PLATFORM === 'ios' ||
|
|
24
|
+
process.env.TEST_NATIVE_PLATFORM === 'tvos'
|
|
25
|
+
export const isTV: boolean =
|
|
26
|
+
Platform?.isTV ||
|
|
27
|
+
process.env.TEST_NATIVE_PLATFORM === 'androidtv' ||
|
|
28
|
+
process.env.TEST_NATIVE_PLATFORM === 'tvos'
|
|
19
29
|
|
|
20
30
|
const platforms = { ios: 'ios', android: 'android' } as const
|
|
31
|
+
/**
|
|
32
|
+
* Reflects Platform.OS. TV platforms are intentionally NOT separate values:
|
|
33
|
+
* - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
|
|
34
|
+
* - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
|
|
35
|
+
* Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
|
|
36
|
+
*/
|
|
21
37
|
export const currentPlatform: 'web' | 'ios' | 'native' | 'android' =
|
|
22
38
|
(Platform?.OS ? platforms[Platform.OS] : undefined) || 'native'
|
|
39
|
+
|
|
40
|
+
// In Metro source mode, TAMAGUI_TARGET may not be set by the build tool.
|
|
41
|
+
// Set it here so all process.env.TAMAGUI_TARGET runtime checks work correctly.
|
|
42
|
+
// In pre-built dist, the build tool inlines TAMAGUI_TARGET as a literal string,
|
|
43
|
+
// making this block dead code (if (!'native') → never executes).
|
|
44
|
+
if (!process.env.TAMAGUI_TARGET) {
|
|
45
|
+
process.env.TAMAGUI_TARGET = 'native'
|
|
46
|
+
}
|
package/src/constants.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useEffect, useLayoutEffect } from 'react'
|
|
2
2
|
|
|
3
3
|
export const isWeb: boolean = true
|
|
4
|
-
|
|
4
|
+
// check document not window — RN polyfills global.window but not document,
|
|
5
|
+
// so this is the only reliable "is DOM environment" check.
|
|
6
|
+
export const isBrowser: boolean = typeof document !== 'undefined'
|
|
5
7
|
export const isServer: boolean = isWeb && !isBrowser
|
|
6
8
|
export const isClient: boolean = isWeb && isBrowser
|
|
7
9
|
/** @deprecated use isBrowser instead */
|
|
@@ -19,6 +21,32 @@ export const isWebTouchable: boolean =
|
|
|
19
21
|
|
|
20
22
|
export const isTouchable: boolean = !isWeb || isWebTouchable
|
|
21
23
|
// set :boolean to avoid inferring type to false
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
// On web, isAndroid/isIos are always false in production.
|
|
25
|
+
// TEST_NATIVE_PLATFORM is only set by the test runner (vitest) to simulate native
|
|
26
|
+
// environments (e.g. androidtv, tvos) from a web/jsdom test context.
|
|
27
|
+
export const isAndroid: boolean =
|
|
28
|
+
process.env.TEST_NATIVE_PLATFORM === 'android' ||
|
|
29
|
+
// Android TV has Platform.OS === 'android' per react-native-tvos
|
|
30
|
+
process.env.TEST_NATIVE_PLATFORM === 'androidtv'
|
|
31
|
+
export const isIos: boolean =
|
|
32
|
+
process.env.TEST_NATIVE_PLATFORM === 'ios' ||
|
|
33
|
+
// tvOS has Platform.OS === 'ios' per react-native-tvos
|
|
34
|
+
process.env.TEST_NATIVE_PLATFORM === 'tvos'
|
|
35
|
+
export const isTV: boolean =
|
|
36
|
+
process.env.TEST_NATIVE_PLATFORM === 'androidtv' ||
|
|
37
|
+
process.env.TEST_NATIVE_PLATFORM === 'tvos'
|
|
38
|
+
/**
|
|
39
|
+
* Reflects Platform.OS. TV platforms are intentionally NOT separate values:
|
|
40
|
+
* - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
|
|
41
|
+
* - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
|
|
42
|
+
* Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
|
|
43
|
+
*/
|
|
24
44
|
export const currentPlatform: 'web' | 'ios' | 'native' | 'android' = 'web'
|
|
45
|
+
|
|
46
|
+
// In web source mode (Vite/webpack without pre-built dist), TAMAGUI_TARGET may not be set.
|
|
47
|
+
// Set it here so all process.env.TAMAGUI_TARGET runtime checks work correctly.
|
|
48
|
+
// In pre-built dist, the build tool inlines TAMAGUI_TARGET as a literal string,
|
|
49
|
+
// making this block dead code (if (!'web') → never executes).
|
|
50
|
+
if (!process.env.TAMAGUI_TARGET) {
|
|
51
|
+
process.env.TAMAGUI_TARGET = 'web'
|
|
52
|
+
}
|
package/types/constants.d.ts
CHANGED
|
@@ -11,6 +11,13 @@ export declare const isWebTouchable: boolean;
|
|
|
11
11
|
export declare const isTouchable: boolean;
|
|
12
12
|
export declare const isAndroid: boolean;
|
|
13
13
|
export declare const isIos: boolean;
|
|
14
|
+
export declare const isTV: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Reflects Platform.OS. TV platforms are intentionally NOT separate values:
|
|
17
|
+
* - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
|
|
18
|
+
* - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
|
|
19
|
+
* Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
|
|
20
|
+
*/
|
|
14
21
|
export declare const currentPlatform: "web" | "ios" | "native" | "android";
|
|
15
22
|
|
|
16
23
|
//# sourceMappingURL=constants.d.ts.map
|
package/types/constants.d.ts.map
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mappings": "AAAA,SAAS,iBAAkC;AAE3C,OAAO,cAAM;
|
|
2
|
+
"mappings": "AAAA,SAAS,iBAAkC;AAE3C,OAAO,cAAM;AAGb,OAAO,cAAM;AACb,OAAO,cAAM;AACb,OAAO,cAAM;;AAEb,OAAO,cAAM;AAEb,OAAO,cAAM,kCAAkC;AAI/C,OAAO,cAAM;AAGb,OAAO,cAAM;AAGb,OAAO,cAAM;AAKb,OAAO,cAAM;AAIb,OAAO,cAAM;AAIb,OAAO,cAAM;;;;;;;AASb,OAAO,cAAM,iBAAiB,QAAQ,QAAQ,WAAW",
|
|
3
3
|
"names": [],
|
|
4
4
|
"sources": [
|
|
5
5
|
"src/constants.ts"
|
|
6
6
|
],
|
|
7
7
|
"version": 3,
|
|
8
8
|
"sourcesContent": [
|
|
9
|
-
"import { useEffect, useLayoutEffect } from 'react'\n\nexport const isWeb: boolean = true\nexport const isBrowser: boolean = typeof
|
|
9
|
+
"import { useEffect, useLayoutEffect } from 'react'\n\nexport const isWeb: boolean = true\n// check document not window — RN polyfills global.window but not document,\n// so this is the only reliable \"is DOM environment\" check.\nexport const isBrowser: boolean = typeof document !== 'undefined'\nexport const isServer: boolean = isWeb && !isBrowser\nexport const isClient: boolean = isWeb && isBrowser\n/** @deprecated use isBrowser instead */\nexport const isWindowDefined: boolean = isBrowser\n\nexport const useIsomorphicLayoutEffect: typeof useEffect = isServer\n ? useEffect\n : useLayoutEffect\n\nexport const isChrome: boolean =\n typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\n\nexport const isWebTouchable: boolean =\n isClient && ('ontouchstart' in window || navigator.maxTouchPoints > 0)\n\nexport const isTouchable: boolean = !isWeb || isWebTouchable\n// set :boolean to avoid inferring type to false\n// On web, isAndroid/isIos are always false in production.\n// TEST_NATIVE_PLATFORM is only set by the test runner (vitest) to simulate native\n// environments (e.g. androidtv, tvos) from a web/jsdom test context.\nexport const isAndroid: boolean =\n process.env.TEST_NATIVE_PLATFORM === 'android' ||\n // Android TV has Platform.OS === 'android' per react-native-tvos\n process.env.TEST_NATIVE_PLATFORM === 'androidtv'\nexport const isIos: boolean =\n process.env.TEST_NATIVE_PLATFORM === 'ios' ||\n // tvOS has Platform.OS === 'ios' per react-native-tvos\n process.env.TEST_NATIVE_PLATFORM === 'tvos'\nexport const isTV: boolean =\n process.env.TEST_NATIVE_PLATFORM === 'androidtv' ||\n process.env.TEST_NATIVE_PLATFORM === 'tvos'\n/**\n * Reflects Platform.OS. TV platforms are intentionally NOT separate values:\n * - Android TV has Platform.OS === 'android' (react-native-tvos behavior)\n * - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)\n * Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.\n */\nexport const currentPlatform: 'web' | 'ios' | 'native' | 'android' = 'web'\n\n// In web source mode (Vite/webpack without pre-built dist), TAMAGUI_TARGET may not be set.\n// Set it here so all process.env.TAMAGUI_TARGET runtime checks work correctly.\n// In pre-built dist, the build tool inlines TAMAGUI_TARGET as a literal string,\n// making this block dead code (if (!'web') → never executes).\nif (!process.env.TAMAGUI_TARGET) {\n process.env.TAMAGUI_TARGET = 'web'\n}\n"
|
|
10
10
|
]
|
|
11
11
|
}
|
|
@@ -11,6 +11,13 @@ export declare const isWebTouchable: boolean;
|
|
|
11
11
|
export declare const isTouchable: boolean;
|
|
12
12
|
export declare const isAndroid: boolean;
|
|
13
13
|
export declare const isIos: boolean;
|
|
14
|
+
export declare const isTV: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Reflects Platform.OS. TV platforms are intentionally NOT separate values:
|
|
17
|
+
* - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
|
|
18
|
+
* - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
|
|
19
|
+
* Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
|
|
20
|
+
*/
|
|
14
21
|
export declare const currentPlatform: "web" | "ios" | "native" | "android";
|
|
15
22
|
|
|
16
23
|
//# sourceMappingURL=constants.native.d.ts.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mappings": "AAAA,cAA+B,iBAAiB;AAGhD,OAAO,cAAM;AACb,OAAO,cAAM;AACb,OAAO,cAAM;AACb,OAAO,cAAM;;AAEb,OAAO,cAAM;AACb,OAAO,cAAM,kCAAkC;AAC/C,OAAO,cAAM;AACb,OAAO,cAAM;AACb,OAAO,cAAM;
|
|
2
|
+
"mappings": "AAAA,cAA+B,iBAAiB;AAGhD,OAAO,cAAM;AACb,OAAO,cAAM;AACb,OAAO,cAAM;AACb,OAAO,cAAM;;AAEb,OAAO,cAAM;AACb,OAAO,cAAM,kCAAkC;AAC/C,OAAO,cAAM;AACb,OAAO,cAAM;AACb,OAAO,cAAM;AAGb,OAAO,cAAM;AAKb,OAAO,cAAM;AAIb,OAAO,cAAM;;;;;;;AAYb,OAAO,cAAM,iBAAiB,QAAQ,QAAQ,WAAW",
|
|
3
3
|
"names": [],
|
|
4
4
|
"sources": [
|
|
5
5
|
"src/constants.native.ts"
|
|
6
6
|
],
|
|
7
7
|
"version": 3,
|
|
8
8
|
"sourcesContent": [
|
|
9
|
-
"import { useLayoutEffect, type useEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isWeb: boolean = false\nexport const isBrowser: boolean = false\nexport const isServer: boolean = false\nexport const isClient: boolean = true\n/** @deprecated use isBrowser instead */\nexport const isWindowDefined: boolean = false\nexport const useIsomorphicLayoutEffect: typeof useEffect = useLayoutEffect\nexport const isChrome: boolean = false\nexport const isWebTouchable: boolean = false\nexport const isTouchable: boolean = true\n// optional chain required: babel extractor loads native.cjs in node where Platform is undefined\nexport const isAndroid: boolean =\n Platform?.OS === 'android'
|
|
9
|
+
"import { useLayoutEffect, type useEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isWeb: boolean = false\nexport const isBrowser: boolean = false\nexport const isServer: boolean = false\nexport const isClient: boolean = true\n/** @deprecated use isBrowser instead */\nexport const isWindowDefined: boolean = false\nexport const useIsomorphicLayoutEffect: typeof useEffect = useLayoutEffect\nexport const isChrome: boolean = false\nexport const isWebTouchable: boolean = false\nexport const isTouchable: boolean = true\n// optional chain required: babel extractor loads native.cjs in node where Platform is undefined\n// On Android TV: Platform.OS === 'android' per react-native-tvos\nexport const isAndroid: boolean =\n Platform?.OS === 'android' ||\n process.env.TEST_NATIVE_PLATFORM === 'android' ||\n process.env.TEST_NATIVE_PLATFORM === 'androidtv'\n// On tvOS: Platform.OS === 'ios' per react-native-tvos\nexport const isIos: boolean =\n Platform?.OS === 'ios' ||\n process.env.TEST_NATIVE_PLATFORM === 'ios' ||\n process.env.TEST_NATIVE_PLATFORM === 'tvos'\nexport const isTV: boolean =\n Platform?.isTV ||\n process.env.TEST_NATIVE_PLATFORM === 'androidtv' ||\n process.env.TEST_NATIVE_PLATFORM === 'tvos'\n\nconst platforms = { ios: 'ios', android: 'android' } as const\n/**\n * Reflects Platform.OS. TV platforms are intentionally NOT separate values:\n * - Android TV has Platform.OS === 'android' (react-native-tvos behavior)\n * - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)\n * Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.\n */\nexport const currentPlatform: 'web' | 'ios' | 'native' | 'android' =\n (Platform?.OS ? platforms[Platform.OS] : undefined) || 'native'\n\n// In Metro source mode, TAMAGUI_TARGET may not be set by the build tool.\n// Set it here so all process.env.TAMAGUI_TARGET runtime checks work correctly.\n// In pre-built dist, the build tool inlines TAMAGUI_TARGET as a literal string,\n// making this block dead code (if (!'native') → never executes).\nif (!process.env.TAMAGUI_TARGET) {\n process.env.TAMAGUI_TARGET = 'native'\n}\n"
|
|
10
10
|
]
|
|
11
11
|
}
|