@take-out/helpers 0.4.16 → 0.4.18

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.
@@ -17,6 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
21
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
22
  value: true
22
23
  }), mod);
@@ -27,17 +28,12 @@ __export(constants_exports, {
27
28
  EMPTY_OBJECT: () => EMPTY_OBJECT,
28
29
  IS_MAC_DESKTOP: () => IS_MAC_DESKTOP,
29
30
  IS_SAFARI: () => IS_SAFARI,
30
- isAndroid: () => import_platform2.isAndroid,
31
- isBrowser: () => import_platform2.isBrowser,
32
- isIos: () => import_platform2.isIos,
33
31
  isNative: () => isNative,
34
- isServer: () => import_platform2.isServer,
35
- isTauri: () => isTauri,
36
- isWeb: () => import_platform2.isWeb
32
+ isTauri: () => isTauri
37
33
  });
38
34
  module.exports = __toCommonJS(constants_exports);
39
35
  var import_platform = require("./platform.cjs");
40
- var import_platform2 = require("./platform.cjs");
36
+ __reExport(constants_exports, require("./platform.cjs"), module.exports);
41
37
  const isTauri = typeof window !== "undefined" && "__TAURI__" in window;
42
38
  const isNative = !import_platform.isWeb && !isTauri;
43
39
  const IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
@@ -19,6 +19,7 @@ var __copyProps = (to, from, except, desc) => {
19
19
  }
20
20
  return to;
21
21
  };
22
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
22
23
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
24
  value: true
24
25
  }), mod);
@@ -29,17 +30,12 @@ __export(constants_exports, {
29
30
  EMPTY_OBJECT: () => EMPTY_OBJECT,
30
31
  IS_MAC_DESKTOP: () => IS_MAC_DESKTOP,
31
32
  IS_SAFARI: () => IS_SAFARI,
32
- isAndroid: () => import_platform2.isAndroid,
33
- isBrowser: () => import_platform2.isBrowser,
34
- isIos: () => import_platform2.isIos,
35
33
  isNative: () => isNative,
36
- isServer: () => import_platform2.isServer,
37
- isTauri: () => isTauri,
38
- isWeb: () => import_platform2.isWeb
34
+ isTauri: () => isTauri
39
35
  });
40
36
  module.exports = __toCommonJS(constants_exports);
41
37
  var import_platform = require("./platform.native.js");
42
- var import_platform2 = require("./platform.native.js");
38
+ __reExport(constants_exports, require("./platform.native.js"), module.exports);
43
39
  var isTauri = typeof window !== "undefined" && "__TAURI__" in window;
44
40
  var isNative = !import_platform.isWeb && !isTauri;
45
41
  var IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","constants_exports","__export","DEBUG_LEVEL","EMPTY_ARRAY","EMPTY_OBJECT","IS_MAC_DESKTOP","IS_SAFARI","isAndroid","import_platform2","isBrowser","isIos","isNative","isServer","isTauri","isWeb","module","exports","import_platform","require","window","navigator","test","platform","userAgent","vendor","includes","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iBAAA;AAAAC,QAAA,CAAAD,iBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,SAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAD,gBAAA,CAAAC,SAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAF,gBAAA,CAAAE,KAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAJ,gBAAA,CAAAI,QAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA,OAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAN,gBAAA,CAAAM;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAArB,YAAsB,CAAAK,iBAAA;AAkBtB,IAAAiB,eAAA,GAAAC,OAA6D;AAhBtD,IAAAV,gBAAyB,GAAOU,OAAA,uBAAW;AAE3C,IAAAL,OAAM,UAAqBM,MAAA,gBAAS,IAAC,eAAAA,MAAA;AAIrC,IAAAR,QAAM,IAAAM,eACJ,CAAAH,KAAA,KAAAD,OAAc;AAEhB,IAAAR,cACL,UAAAe,SACQ,gBAAc,wBACpB,CAAAC,IAAA,CAAAD,SAA0B,CAAAE,QAAK;AAM5B,IAAAhB,SAAM,GAAAO,OAAe,WAAAO,SAAA,8CAAAC,IAAA,CAAAD,SAAA,CAAAG,SAAA,YAAAH,SAAA,CAAAI,MAAA,iBAAAJ,SAAA,CAAAI,MAAA,CAAAC,QAAA;AACrB,IAAAtB,WAAM;AAEb,IAAAC,YAAM;AACJ,IAAAsB,oBAAsB,YAAAA,CAAA,EAAa;EACnC,IAAAC,uBAAqB,EAAAC,gBAAwB;EAC7C,WAAOT,MAAS,KAAI,WAAS,EAAM,OAAM,IAAI;EAC/C,IAAAU,KAAA,IAAAD,gBAAA,GAAAT,MAAA,CAAAW,QAAA,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAEO,OAAM,CAAAA,KAAA,KAAsB,QAAQA,KAAI,cAC1C,SAAQA,KAAI,OAAAG,QACZ,CAAAH,KAAA,eAAqB","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","constants_exports","__export","DEBUG_LEVEL","EMPTY_ARRAY","EMPTY_OBJECT","IS_MAC_DESKTOP","IS_SAFARI","isNative","isTauri","module","exports","import_platform","require","__reExport","window","isWeb","navigator","test","platform","userAgent","vendor","includes","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iBAAA;AAAAC,QAAA,CAAAD,iBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,OAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAf,YAAsB,CAAAK,iBAAA;AAkBtB,IAAAW,eAAA,GAAAC,OAAA,CAAc;AAhBPC,UAAM,CAAAb,iBAA0B,EAAAY,OAAW,uBAAe,GAAAH,MAAA,CAAAC,OAAe;AAEzE,IAAAF,OAAM,UAAqBM,MAAA,gBAAS,IAAC,eAAAA,MAAA;AAIrC,IAAAP,QAAM,IAAAI,eACJ,CAAAI,KAAA,KAAAP,OAAc;AAEhB,IAAAH,cACL,UAAAW,SACQ,gBAAc,wBACpB,CAAAC,IAAA,CAAAD,SAA0B,CAAAE,QAAK;AAM5B,IAAAZ,SAAM,GAAAE,OAAe,WAAAQ,SAAA,8CAAAC,IAAA,CAAAD,SAAA,CAAAG,SAAA,YAAAH,SAAA,CAAAI,MAAA,iBAAAJ,SAAA,CAAAI,MAAA,CAAAC,QAAA;AACrB,IAAAlB,WAAM;AAEb,IAAAC,YAAM;AACJ,IAAAkB,oBAAsB,YAAAA,CAAA,EAAa;EACnC,IAAAC,uBAAqB,EAAAC,gBAAwB;EAC7C,WAAOV,MAAS,KAAI,WAAS,EAAM,OAAM,IAAI;EAC/C,IAAAW,KAAA,IAAAD,gBAAA,GAAAV,MAAA,CAAAY,QAAA,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAEO,OAAM,CAAAA,KAAA,KAAsB,QAAQA,KAAI,cAC1C,SAAQA,KAAI,OAAAG,QACZ,CAAAH,KAAA,eAAqB","ignoreList":[]}
@@ -22,15 +22,36 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var platform_exports = {};
24
24
  __export(platform_exports, {
25
+ currentPlatform: () => currentPlatform,
25
26
  isAndroid: () => isAndroid,
26
27
  isBrowser: () => isBrowser,
28
+ isChrome: () => isChrome,
29
+ isClient: () => isClient,
27
30
  isIos: () => isIos,
31
+ isNativeDesktop: () => isNativeDesktop,
28
32
  isServer: () => isServer,
29
- isWeb: () => isWeb
33
+ isTV: () => isTV,
34
+ isTouchable: () => isTouchable,
35
+ isWeb: () => isWeb,
36
+ isWebTouchable: () => isWebTouchable,
37
+ isWindowDefined: () => isWindowDefined,
38
+ supportsDynamicColorIOS: () => supportsDynamicColorIOS,
39
+ useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect
30
40
  });
31
41
  module.exports = __toCommonJS(platform_exports);
42
+ var import_react = require("react");
32
43
  const isWeb = true;
33
44
  const isBrowser = typeof navigator !== "undefined" && typeof location !== "undefined";
34
45
  const isServer = !isBrowser;
35
- const isAndroid = false;
36
- const isIos = false;
46
+ const isClient = isBrowser;
47
+ const isWindowDefined = isBrowser;
48
+ const useIsomorphicLayoutEffect = isServer ? import_react.useEffect : import_react.useLayoutEffect;
49
+ const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
50
+ const isWebTouchable = isClient && ("ontouchstart" in window || navigator.maxTouchPoints > 0);
51
+ const isNativeDesktop = false;
52
+ const isTouchable = isWebTouchable;
53
+ const isAndroid = process.env.TEST_NATIVE_PLATFORM === "android" || process.env.TEST_NATIVE_PLATFORM === "androidtv";
54
+ const isIos = process.env.TEST_NATIVE_PLATFORM === "ios" || process.env.TEST_NATIVE_PLATFORM === "tvos";
55
+ const supportsDynamicColorIOS = isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === "1";
56
+ const isTV = process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
57
+ const currentPlatform = "web";
@@ -24,17 +24,43 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var platform_native_exports = {};
26
26
  __export(platform_native_exports, {
27
+ currentPlatform: () => currentPlatform,
27
28
  isAndroid: () => isAndroid,
28
29
  isBrowser: () => isBrowser,
30
+ isChrome: () => isChrome,
31
+ isClient: () => isClient,
29
32
  isIos: () => isIos,
33
+ isNativeDesktop: () => isNativeDesktop,
30
34
  isServer: () => isServer,
31
- isWeb: () => isWeb
35
+ isTV: () => isTV,
36
+ isTouchable: () => isTouchable,
37
+ isWeb: () => isWeb,
38
+ isWebTouchable: () => isWebTouchable,
39
+ isWindowDefined: () => isWindowDefined,
40
+ supportsDynamicColorIOS: () => supportsDynamicColorIOS,
41
+ useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect
32
42
  });
33
43
  module.exports = __toCommonJS(platform_native_exports);
44
+ var import_react = require("react");
34
45
  var import_react_native = require("react-native");
35
46
  var isWeb = false;
36
47
  var isBrowser = false;
37
48
  var isServer = false;
38
- var isAndroid = (import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) === "android";
39
- var isIos = (import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) === "ios";
49
+ var isClient = true;
50
+ var isWindowDefined = false;
51
+ var useIsomorphicLayoutEffect = import_react.useLayoutEffect;
52
+ var isChrome = false;
53
+ var isWebTouchable = false;
54
+ var isNativeDesktop = (import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) === "macos" || (import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) === "windows";
55
+ var isTouchable = !isNativeDesktop;
56
+ 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";
57
+ 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";
58
+ var supportsDynamicColorIOS = isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === "1";
59
+ 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";
60
+ var currentPlatform = ((import_react_native.Platform === null || import_react_native.Platform === void 0 ? void 0 : import_react_native.Platform.OS) ? {
61
+ ios: "ios",
62
+ android: "android",
63
+ macos: "macos",
64
+ windows: "windows"
65
+ }[import_react_native.Platform.OS] : void 0) || "native";
40
66
  //# sourceMappingURL=platform.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["platform_native_exports","__export","isAndroid","isBrowser","isIos","isServer","isWeb","module","exports","__toCommonJS","import_react_native","require","Platform","OS"],"sources":["../../src/platform.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,uBAAA;AAAAC,QAAA,CAAAD,uBAAA;EAAAE,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAA,KAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA,QAAA;EAAAC,KAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAT,uBAAA;AAGA,IAAAU,mBAAA,GAAyBC,OAAA;AAClB,IAAIL,KAAA,GAAQ;AACZ,IAAIH,SAAA,GAAY;AAChB,IAAIE,QAAA,GAAW;AACf,IAAIH,SAAA,IAAaQ,mBAAA,CAAAE,QAAA,KAAa,QAAQF,mBAAA,CAAAE,QAAA,KAAa,SAAS,SAASF,mBAAA,CAAAE,QAAA,CAASC,EAAA,MAAQ;AACtF,IAAIT,KAAA,IAASM,mBAAA,CAAAE,QAAA,KAAa,QAAQF,mBAAA,CAAAE,QAAA,KAAa,SAAS,SAASF,mBAAA,CAAAE,QAAA,CAASC,EAAA,MAAQ","ignoreList":[]}
1
+ {"version":3,"names":["to","__toCommonJS","mod","__copyProps","__defProp","value","platform_native_exports","__export","currentPlatform","isAndroid","isBrowser","isChrome","isClient","isIos","isNativeDesktop","isServer","isTV","isTouchable","isWeb","isWebTouchable","isWindowDefined","supportsDynamicColorIOS","useIsomorphicLayoutEffect","module","exports","import_react","require","import_react_native","useLayoutEffect","Platform","OS","process","env","TEST_NATIVE_PLATFORM","TAMAGUI_DYNAMIC_COLOR_IOS","ios","android","macos","windows"],"sources":["../../src/platform.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;EAAA,OAAAA,EAAA;AAAA;AAAA,IAAAC,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,uBAAA;AAAAC,QAAA,CAAAD,uBAAA;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,eAAA,EAAAA,CAAA,KAAAA,eAAA;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,uBAAA,EAAAA,CAAA,KAAAA,uBAAA;EAIAC,yBAAgC,EAAAA,CAAA,KAAAA;AAChC;AACOC,MAAI,CAAAC,OAAQ,GAAAvB,YAAA,CAAAK,uBAAA;AACZ,IAAImB,YAAY,GAAAC,OAAA;AAChB,IAAIC,mBAAW,GAAAD,OAAA;AACf,IAAIR,KAAA,QAAW;AAC0B,IAAIR,SAAA;AAC7C,IAAIK,QAAA;AACJ,IAAIH,QAAA,GAAW;AACf,IAAIQ,eAAA,GAAiB;AACrB,IAAIE,yBAAmB,GAAAG,YAAA,CAAAG,eAAa;AACpC,IAAIjB,QAAA,QAAe;AAGnB,IAAIQ,cAAa;AAEjB,IAAIL,eAAS,IAAAa,mBAAA,CAAAE,QAAa,KAAQ,QAAAF,mBAAA,CAAAE,QAAa,KAAS,SAAS,SAAAF,mBAAS,CAAAE,QAAQ,CAAAC,EAAA,MAAS,OAAQ,IAAI,CAAAH,mBAAA,CAAAE,QAAyB,KAAS,QAAQF,mBAAI,CAAAE,QAAA,KAAyB,kBAAAF,mBAAA,CAAAE,QAAA,CAAAC,EAAA;AAC9K,IAAIb,WAAA,IAAAH,eAA0B;AAC9B,IAAIL,SAAQ,IAAAkB,mBAAA,CAAAE,QAAa,SAAQ,IAAAF,mBAAA,CAAAE,QAAa,UAAS,SAAS,IAAAF,mBAAA,CAAAE,QAAS,CAAAC,EAAA,MAAS,SAAY,IAAAC,OAAA,CAAAC,GAAA,CAAAC,oBAAyB,KAAe,SAAQ,IAAIF,OAAA,CAAAC,GAAA,CAAAC,oBAAyB;AAClL,IAAIpB,KAAA,IAAAc,mBAAY,CAAAE,QAAA,aAAAF,mBAAA,CAAAE,QAAA,uBAAAF,mBAAA,CAAAE,QAAA,CAAAC,EAAA,eAAAC,OAAA,CAAAC,GAAA,CAAAC,oBAAA,cAAAF,OAAA,CAAAC,GAAA,CAAAC,oBAAA;AAAA,IACZZ,uBAAK,GAAAR,KAAA,IAAAkB,OAAA,CAAAC,GAAA,CAAAE,yBAAA;AAAA,IACLlB,IAAA,GAAS,CAAAW,mBAAA,CAAAE,QAAA,aAAAF,mBAAA,CAAAE,QAAA,uBAAAF,mBAAA,CAAAE,QAAA,CAAAb,IAAA,KAAAe,OAAA,CAAAC,GAAA,CAAAC,oBAAA,oBAAAF,OAAA,CAAAC,GAAA,CAAAC,oBAAA;AAAA,IACTzB,eAAO,KAAAmB,mBAAA,CAAAE,QAAA,aAAAF,mBAAA,CAAAE,QAAA,uBAAAF,mBAAA,CAAAE,QAAA,CAAAC,EAAA;EAAAK,GACP,OAAS;EACbC,OAAA;EAMWC,KAAI;EAKfC,OAAK;AACD,EAAAX,mBAAY,CAAAE,QAAA,CAAiBC,EAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { isWeb } from "./platform.mjs";
2
- import { isAndroid, isBrowser, isIos, isServer, isWeb as isWeb2 } from "./platform.mjs";
2
+ export * from "./platform.mjs";
3
3
  const isTauri = typeof window !== "undefined" && "__TAURI__" in window;
4
4
  const isNative = !isWeb && !isTauri;
5
5
  const IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
@@ -12,5 +12,5 @@ const getDebugLevelFromUrl = () => {
12
12
  return match?.[1] ? parseInt(match[1], 10) : null;
13
13
  };
14
14
  const DEBUG_LEVEL = process.env.DEBUG_LEVEL ? +process.env.DEBUG_LEVEL : getDebugLevelFromUrl() ?? (process.env.NODE_ENV === "development" ? 1 : 0);
15
- export { DEBUG_LEVEL, EMPTY_ARRAY, EMPTY_OBJECT, IS_MAC_DESKTOP, IS_SAFARI, isAndroid, isBrowser, isIos, isNative, isServer, isTauri, isWeb2 as isWeb };
15
+ export { DEBUG_LEVEL, EMPTY_ARRAY, EMPTY_OBJECT, IS_MAC_DESKTOP, IS_SAFARI, isNative, isTauri };
16
16
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","isAndroid","isBrowser","isIos","isServer","isWeb2","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","match","location","search","parseInt","DEBUG_LEVEL","process","env","NODE_ENV"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAkBtB,SAASC,SAAA,EAAWC,SAAA,EAAWC,KAAA,EAAOC,QAAA,EAAUJ,KAAA,IAAAK,MAAA,QAAa;AAhBtD,MAAMC,OAAA,GAAmB,OAAOC,MAAA,KAAW,eAAe,eAAeA,MAAA;AAEzE,MAAMC,QAAA,GAAoB,CAACR,KAAA,IAAS,CAACM,OAAA;AAIrC,MAAMG,cAAA,GACX,OAAOC,SAAA,KAAc,eAAe,qBAAqBC,IAAA,CAAKD,SAAA,CAAUE,QAAQ;AAE3E,MAAMC,SAAA,GACXP,OAAA,IACC,OAAOI,SAAA,KAAc,eACpB,0BAA0BC,IAAA,CAAKD,SAAA,CAAUI,SAAS,KAClD,OAAOJ,SAAA,CAAUK,MAAA,KAAW,YAC5BL,SAAA,CAAUK,MAAA,CAAOC,QAAA,CAAS,gBAAgB;AAIvC,MAAMC,WAAA,GAAc,EAAC;AACrB,MAAMC,YAAA,GAAe,CAAC;AAE7B,MAAMC,oBAAA,GAAuBA,CAAA,KAAqB;EAChD,IAAI,OAAOZ,MAAA,KAAW,aAAa,OAAO;EAC1C,MAAMa,KAAA,GAAQb,MAAA,CAAOc,QAAA,EAAUC,MAAA,EAAQF,KAAA,CAAM,aAAa;EAC1D,OAAOA,KAAA,GAAQ,CAAC,IAAIG,QAAA,CAASH,KAAA,CAAM,CAAC,GAAG,EAAE,IAAI;AAC/C;AAEO,MAAMI,WAAA,GAAsBC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GAC3C,CAACC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GACZL,oBAAA,CAAqB,MAAMM,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAAgB,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["isWeb","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","match","location","search","parseInt","DEBUG_LEVEL","process","env","NODE_ENV"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAkBtB,cAAc;AAhBP,MAAMC,OAAA,GAAmB,OAAOC,MAAA,KAAW,eAAe,eAAeA,MAAA;AAEzE,MAAMC,QAAA,GAAoB,CAACH,KAAA,IAAS,CAACC,OAAA;AAIrC,MAAMG,cAAA,GACX,OAAOC,SAAA,KAAc,eAAe,qBAAqBC,IAAA,CAAKD,SAAA,CAAUE,QAAQ;AAE3E,MAAMC,SAAA,GACXP,OAAA,IACC,OAAOI,SAAA,KAAc,eACpB,0BAA0BC,IAAA,CAAKD,SAAA,CAAUI,SAAS,KAClD,OAAOJ,SAAA,CAAUK,MAAA,KAAW,YAC5BL,SAAA,CAAUK,MAAA,CAAOC,QAAA,CAAS,gBAAgB;AAIvC,MAAMC,WAAA,GAAc,EAAC;AACrB,MAAMC,YAAA,GAAe,CAAC;AAE7B,MAAMC,oBAAA,GAAuBA,CAAA,KAAqB;EAChD,IAAI,OAAOZ,MAAA,KAAW,aAAa,OAAO;EAC1C,MAAMa,KAAA,GAAQb,MAAA,CAAOc,QAAA,EAAUC,MAAA,EAAQF,KAAA,CAAM,aAAa;EAC1D,OAAOA,KAAA,GAAQ,CAAC,IAAIG,QAAA,CAASH,KAAA,CAAM,CAAC,GAAG,EAAE,IAAI;AAC/C;AAEO,MAAMI,WAAA,GAAsBC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GAC3C,CAACC,OAAA,CAAQC,GAAA,CAAIF,WAAA,GACZL,oBAAA,CAAqB,MAAMM,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,gBAAgB,IAAI","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { isWeb } from "./platform.native.js";
2
- import { isAndroid, isBrowser, isIos, isServer, isWeb as isWeb2 } from "./platform.native.js";
2
+ export * from "./platform.native.js";
3
3
  var isTauri = typeof window !== "undefined" && "__TAURI__" in window;
4
4
  var isNative = !isWeb && !isTauri;
5
5
  var IS_MAC_DESKTOP = typeof navigator !== "undefined" && /Macintosh|MacIntel/.test(navigator.platform);
@@ -14,5 +14,5 @@ var getDebugLevelFromUrl = function () {
14
14
  };
15
15
  var _getDebugLevelFromUrl;
16
16
  var DEBUG_LEVEL = process.env.DEBUG_LEVEL ? +process.env.DEBUG_LEVEL : (_getDebugLevelFromUrl = getDebugLevelFromUrl()) !== null && _getDebugLevelFromUrl !== void 0 ? _getDebugLevelFromUrl : process.env.NODE_ENV === "development" ? 1 : 0;
17
- export { DEBUG_LEVEL, EMPTY_ARRAY, EMPTY_OBJECT, IS_MAC_DESKTOP, IS_SAFARI, isAndroid, isBrowser, isIos, isNative, isServer, isTauri, isWeb2 as isWeb };
17
+ export { DEBUG_LEVEL, EMPTY_ARRAY, EMPTY_OBJECT, IS_MAC_DESKTOP, IS_SAFARI, isNative, isTauri };
18
18
  //# sourceMappingURL=constants.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","isAndroid","isBrowser","isIos","isServer","isWeb2","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAkBtB,SAASC,SAAA,EAAWC,SAAA,EAAWC,KAAA,EAAOC,QAAA,EAAUJ,KAAA,IAAAK,MAAA,QAAa;AAhBtD,IAAAC,OAAM,UAAmBC,MAAO,gBAAW,eAAe,IAAAA,MAAe;AAEzE,IAAAC,QAAM,IAAAR,KAAqB,KAAAM,OAAU;AAIrC,IAAAG,cAAM,UACXC,SAAO,gBAAc,wBAAe,CAAAC,IAAqB,CAAAD,SAAK,CAAAE,QAAU;AAEnE,IAAAC,SAAM,GAAAP,OACX,WACCI,SAAO,gBAAc,6BACpB,CAAAC,IAA0B,CAAAD,SAAK,CAAAI,SAAU,KAAS,OAClDJ,SAAO,CAAAK,MAAU,aAAW,IAAAL,SAC5B,CAAAK,MAAU,CAAAC,QAAO,iBAAS;AAIvB,IAAAC,WAAM,KAAc;AACpB,IAAAC,YAAM,KAAe;AAE5B,IAAAC,oBAAM,YAAAA,CAAA,EAA4C;EAChD,IAAIC,uBAAkB,EAAAC,gBAAoB;EAC1C,WAAMd,MAAQ,KAAO,WAAU,SAAQ,IAAM;EAC7C,IAAAe,KAAO,IAAAD,gBAAsB,GAAAd,MAAO,CAAGgB,QAAM,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAC/C,QAAAA,KAAA,aAAAA,KAAA,uBAAAA,KAAA,OAAAG,QAAA,CAAAH,KAAA;AAEO","ignoreList":[]}
1
+ {"version":3,"names":["isWeb","isTauri","window","isNative","IS_MAC_DESKTOP","navigator","test","platform","IS_SAFARI","userAgent","vendor","includes","EMPTY_ARRAY","EMPTY_OBJECT","getDebugLevelFromUrl","_window_location_search","_window_location","match","location","search","parseInt"],"sources":["../../src/constants.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AAkBtB,cAAc;AAhBP,IAAAC,OAAM,UAAmBC,MAAO,gBAAW,eAAe,IAAAA,MAAe;AAEzE,IAAAC,QAAM,IAAAH,KAAqB,KAAAC,OAAU;AAIrC,IAAAG,cAAM,UACXC,SAAO,gBAAc,wBAAe,CAAAC,IAAqB,CAAAD,SAAK,CAAAE,QAAU;AAEnE,IAAAC,SAAM,GAAAP,OACX,WACCI,SAAO,gBAAc,6BACpB,CAAAC,IAA0B,CAAAD,SAAK,CAAAI,SAAU,KAAS,OAClDJ,SAAO,CAAAK,MAAU,aAAW,IAAAL,SAC5B,CAAAK,MAAU,CAAAC,QAAO,iBAAS;AAIvB,IAAAC,WAAM,KAAc;AACpB,IAAAC,YAAM,KAAe;AAE5B,IAAAC,oBAAM,YAAAA,CAAA,EAA4C;EAChD,IAAIC,uBAAkB,EAAAC,gBAAoB;EAC1C,WAAMd,MAAQ,KAAO,WAAU,SAAQ,IAAM;EAC7C,IAAAe,KAAO,IAAAD,gBAAsB,GAAAd,MAAO,CAAGgB,QAAM,cAAAF,gBAAA,wBAAAD,uBAAA,GAAAC,gBAAA,CAAAG,MAAA,cAAAJ,uBAAA,uBAAAA,uBAAA,CAAAE,KAAA;EAC/C,QAAAA,KAAA,aAAAA,KAAA,uBAAAA,KAAA,OAAAG,QAAA,CAAAH,KAAA;AAEO","ignoreList":[]}
@@ -1,7 +1,18 @@
1
+ import { useEffect, useLayoutEffect } from "react";
1
2
  const isWeb = true;
2
3
  const isBrowser = typeof navigator !== "undefined" && typeof location !== "undefined";
3
4
  const isServer = !isBrowser;
4
- const isAndroid = false;
5
- const isIos = false;
6
- export { isAndroid, isBrowser, isIos, isServer, isWeb };
5
+ const isClient = 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 isNativeDesktop = false;
11
+ const isTouchable = isWebTouchable;
12
+ const isAndroid = process.env.TEST_NATIVE_PLATFORM === "android" || process.env.TEST_NATIVE_PLATFORM === "androidtv";
13
+ const isIos = process.env.TEST_NATIVE_PLATFORM === "ios" || process.env.TEST_NATIVE_PLATFORM === "tvos";
14
+ const supportsDynamicColorIOS = isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === "1";
15
+ const isTV = process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
16
+ const currentPlatform = "web";
17
+ export { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isNativeDesktop, isServer, isTV, isTouchable, isWeb, isWebTouchable, isWindowDefined, supportsDynamicColorIOS, useIsomorphicLayoutEffect };
7
18
  //# sourceMappingURL=platform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","isBrowser","navigator","location","isServer","isAndroid","isIos"],"sources":["../../src/platform.ts"],"sourcesContent":[null],"mappings":"AAIO,MAAMA,KAAA,GAAiB;AAEvB,MAAMC,SAAA,GACX,OAAOC,SAAA,KAAc,eAAe,OAAOC,QAAA,KAAa;AAEnD,MAAMC,QAAA,GAAoB,CAACH,SAAA;AAE3B,MAAMI,SAAA,GAAqB;AAE3B,MAAMC,KAAA,GAAiB","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useLayoutEffect","isWeb","isBrowser","navigator","location","isServer","isClient","isWindowDefined","useIsomorphicLayoutEffect","isChrome","test","userAgent","isWebTouchable","window","maxTouchPoints","isNativeDesktop","isTouchable","isAndroid","process","env","TEST_NATIVE_PLATFORM","isIos","supportsDynamicColorIOS","TAMAGUI_DYNAMIC_COLOR_IOS","isTV","currentPlatform"],"sources":["platform.mjs"],"sourcesContent":["import { useEffect, useLayoutEffect } from \"react\";\n\nconst isWeb = true;\nconst isBrowser = typeof navigator !== \"undefined\" && typeof location !== \"undefined\";\nconst isServer = !isBrowser;\nconst isClient = isBrowser;\nconst isWindowDefined = isBrowser;\nconst useIsomorphicLayoutEffect = isServer ? useEffect : useLayoutEffect;\nconst isChrome = typeof navigator !== \"undefined\" && /Chrome/.test(navigator.userAgent || \"\");\nconst isWebTouchable = isClient && (\"ontouchstart\" in window || navigator.maxTouchPoints > 0);\nconst isNativeDesktop = false;\nconst isTouchable = isWebTouchable;\nconst isAndroid = process.env.TEST_NATIVE_PLATFORM === \"android\" || process.env.TEST_NATIVE_PLATFORM === \"androidtv\";\nconst isIos = process.env.TEST_NATIVE_PLATFORM === \"ios\" || process.env.TEST_NATIVE_PLATFORM === \"tvos\";\nconst supportsDynamicColorIOS = isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === \"1\";\nconst isTV = process.env.TEST_NATIVE_PLATFORM === \"androidtv\" || process.env.TEST_NATIVE_PLATFORM === \"tvos\";\nconst currentPlatform = \"web\";\n\nexport { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isNativeDesktop, isServer, isTV, isTouchable, isWeb, isWebTouchable, isWindowDefined, supportsDynamicColorIOS, useIsomorphicLayoutEffect };"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,QAAQ,OAAO;AAElD,MAAMC,KAAK,GAAG,IAAI;AAClB,MAAMC,SAAS,GAAG,OAAOC,SAAS,KAAK,WAAW,IAAI,OAAOC,QAAQ,KAAK,WAAW;AACrF,MAAMC,QAAQ,GAAG,CAACH,SAAS;AAC3B,MAAMI,QAAQ,GAAGJ,SAAS;AAC1B,MAAMK,eAAe,GAAGL,SAAS;AACjC,MAAMM,yBAAyB,GAAGH,QAAQ,GAAGN,SAAS,GAAGC,eAAe;AACxE,MAAMS,QAAQ,GAAG,OAAON,SAAS,KAAK,WAAW,IAAI,QAAQ,CAACO,IAAI,CAACP,SAAS,CAACQ,SAAS,IAAI,EAAE,CAAC;AAC7F,MAAMC,cAAc,GAAGN,QAAQ,KAAK,cAAc,IAAIO,MAAM,IAAIV,SAAS,CAACW,cAAc,GAAG,CAAC,CAAC;AAC7F,MAAMC,eAAe,GAAG,KAAK;AAC7B,MAAMC,WAAW,GAAGJ,cAAc;AAClC,MAAMK,SAAS,GAAGC,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,SAAS,IAAIF,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,WAAW;AACpH,MAAMC,KAAK,GAAGH,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,KAAK,IAAIF,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,MAAM;AACvG,MAAME,uBAAuB,GAAGD,KAAK,IAAIH,OAAO,CAACC,GAAG,CAACI,yBAAyB,KAAK,GAAG;AACtF,MAAMC,IAAI,GAAGN,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,WAAW,IAAIF,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,MAAM;AAC5G,MAAMK,eAAe,GAAG,KAAK;AAE7B,SAASA,eAAe,EAAER,SAAS,EAAEf,SAAS,EAAEO,QAAQ,EAAEH,QAAQ,EAAEe,KAAK,EAAEN,eAAe,EAAEV,QAAQ,EAAEmB,IAAI,EAAER,WAAW,EAAEf,KAAK,EAAEW,cAAc,EAAEL,eAAe,EAAEe,uBAAuB,EAAEd,yBAAyB","ignoreList":[]}
@@ -1,8 +1,24 @@
1
+ import { useLayoutEffect } from "react";
1
2
  import { Platform } from "react-native";
2
3
  var isWeb = false;
3
4
  var isBrowser = false;
4
5
  var isServer = false;
5
- var isAndroid = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "android";
6
- var isIos = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "ios";
7
- export { isAndroid, isBrowser, isIos, isServer, isWeb };
6
+ var isClient = true;
7
+ var isWindowDefined = false;
8
+ var useIsomorphicLayoutEffect = useLayoutEffect;
9
+ var isChrome = false;
10
+ var isWebTouchable = false;
11
+ var isNativeDesktop = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "macos" || (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "windows";
12
+ var isTouchable = !isNativeDesktop;
13
+ var isAndroid = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "android" || process.env.TEST_NATIVE_PLATFORM === "android" || process.env.TEST_NATIVE_PLATFORM === "androidtv";
14
+ var isIos = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === "ios" || process.env.TEST_NATIVE_PLATFORM === "ios" || process.env.TEST_NATIVE_PLATFORM === "tvos";
15
+ var supportsDynamicColorIOS = isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === "1";
16
+ var isTV = (Platform === null || Platform === void 0 ? void 0 : Platform.isTV) || process.env.TEST_NATIVE_PLATFORM === "androidtv" || process.env.TEST_NATIVE_PLATFORM === "tvos";
17
+ var currentPlatform = ((Platform === null || Platform === void 0 ? void 0 : Platform.OS) ? {
18
+ ios: "ios",
19
+ android: "android",
20
+ macos: "macos",
21
+ windows: "windows"
22
+ }[Platform.OS] : void 0) || "native";
23
+ export { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isNativeDesktop, isServer, isTV, isTouchable, isWeb, isWebTouchable, isWindowDefined, supportsDynamicColorIOS, useIsomorphicLayoutEffect };
8
24
  //# sourceMappingURL=platform.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","isWeb","isBrowser","isServer","isAndroid","OS","isIos"],"sources":["../../src/platform.native.ts"],"sourcesContent":[null],"mappings":"AAGA,SAASA,QAAA,QAAgB;AAClB,IAAIC,KAAA,GAAQ;AACZ,IAAIC,SAAA,GAAY;AAChB,IAAIC,QAAA,GAAW;AACf,IAAIC,SAAA,IAAaJ,QAAA,KAAa,QAAQA,QAAA,KAAa,SAAS,SAASA,QAAA,CAASK,EAAA,MAAQ;AACtF,IAAIC,KAAA,IAASN,QAAA,KAAa,QAAQA,QAAA,KAAa,SAAS,SAASA,QAAA,CAASK,EAAA,MAAQ","ignoreList":[]}
1
+ {"version":3,"names":["useLayoutEffect","Platform","isWeb","isBrowser","isServer","isClient","isWindowDefined","useIsomorphicLayoutEffect","isChrome","isWebTouchable","isNativeDesktop","OS","isTouchable","isAndroid","process","env","TEST_NATIVE_PLATFORM","isIos","supportsDynamicColorIOS","TAMAGUI_DYNAMIC_COLOR_IOS","isTV","currentPlatform","ios","android","macos","windows"],"sources":["platform.native.js"],"sourcesContent":["import { useLayoutEffect } from \"react\";\nimport { Platform } from \"react-native\";\n\nvar isWeb = false;\nvar isBrowser = false;\nvar isServer = false;\nvar isClient = true;\nvar isWindowDefined = false;\nvar useIsomorphicLayoutEffect = useLayoutEffect;\nvar isChrome = false;\nvar isWebTouchable = false;\nvar isNativeDesktop = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"macos\" || (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"windows\";\nvar isTouchable = !isNativeDesktop;\nvar isAndroid = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"android\" || process.env.TEST_NATIVE_PLATFORM === \"android\" || process.env.TEST_NATIVE_PLATFORM === \"androidtv\";\nvar isIos = (Platform === null || Platform === void 0 ? void 0 : Platform.OS) === \"ios\" || process.env.TEST_NATIVE_PLATFORM === \"ios\" || process.env.TEST_NATIVE_PLATFORM === \"tvos\";\nvar supportsDynamicColorIOS = isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === \"1\";\nvar isTV = (Platform === null || Platform === void 0 ? void 0 : Platform.isTV) || process.env.TEST_NATIVE_PLATFORM === \"androidtv\" || process.env.TEST_NATIVE_PLATFORM === \"tvos\";\nvar currentPlatform = ((Platform === null || Platform === void 0 ? void 0 : Platform.OS) ? {\n\tios: \"ios\",\n\tandroid: \"android\",\n\tmacos: \"macos\",\n\twindows: \"windows\"\n}[Platform.OS] : void 0) || \"native\";\n\nexport { currentPlatform, isAndroid, isBrowser, isChrome, isClient, isIos, isNativeDesktop, isServer, isTV, isTouchable, isWeb, isWebTouchable, isWindowDefined, supportsDynamicColorIOS, useIsomorphicLayoutEffect };"],"mappings":"AAAA,SAASA,eAAe,QAAQ,OAAO;AACvC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,IAAIC,KAAK,GAAG,KAAK;AACjB,IAAIC,SAAS,GAAG,KAAK;AACrB,IAAIC,QAAQ,GAAG,KAAK;AACpB,IAAIC,QAAQ,GAAG,IAAI;AACnB,IAAIC,eAAe,GAAG,KAAK;AAC3B,IAAIC,yBAAyB,GAAGP,eAAe;AAC/C,IAAIQ,QAAQ,GAAG,KAAK;AACpB,IAAIC,cAAc,GAAG,KAAK;AAC1B,IAAIC,eAAe,GAAG,CAACT,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACU,EAAE,MAAM,OAAO,IAAI,CAACV,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACU,EAAE,MAAM,SAAS;AACtL,IAAIC,WAAW,GAAG,CAACF,eAAe;AAClC,IAAIG,SAAS,GAAG,CAACZ,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACU,EAAE,MAAM,SAAS,IAAIG,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,SAAS,IAAIF,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,WAAW;AACrM,IAAIC,KAAK,GAAG,CAAChB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACU,EAAE,MAAM,KAAK,IAAIG,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,KAAK,IAAIF,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,MAAM;AACpL,IAAIE,uBAAuB,GAAGD,KAAK,IAAIH,OAAO,CAACC,GAAG,CAACI,yBAAyB,KAAK,GAAG;AACpF,IAAIC,IAAI,GAAG,CAACnB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACmB,IAAI,KAAKN,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,WAAW,IAAIF,OAAO,CAACC,GAAG,CAACC,oBAAoB,KAAK,MAAM;AACjL,IAAIK,eAAe,GAAG,CAAC,CAACpB,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,QAAQ,CAACU,EAAE,IAAI;EAC1FW,GAAG,EAAE,KAAK;EACVC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE;AACV,CAAC,CAACxB,QAAQ,CAACU,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,QAAQ;AAEpC,SAASU,eAAe,EAAER,SAAS,EAAEV,SAAS,EAAEK,QAAQ,EAAEH,QAAQ,EAAEY,KAAK,EAAEP,eAAe,EAAEN,QAAQ,EAAEgB,IAAI,EAAER,WAAW,EAAEV,KAAK,EAAEO,cAAc,EAAEH,eAAe,EAAEY,uBAAuB,EAAEX,yBAAyB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@take-out/helpers",
3
- "version": "0.4.16",
3
+ "version": "0.4.18",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "source": "src/index.ts",
@@ -68,7 +68,7 @@
68
68
  }
69
69
  },
70
70
  "devDependencies": {
71
- "@tamagui/build": "2.0.0-rc.42",
71
+ "@tamagui/build": "2.1.0-1780964419737",
72
72
  "@types/node": "24.0.3",
73
73
  "@types/react": "^19.0.8",
74
74
  "oxfmt": "^0.16.0",
package/src/constants.ts CHANGED
@@ -16,7 +16,7 @@ export const IS_SAFARI: boolean =
16
16
  typeof navigator.vendor === 'string' &&
17
17
  navigator.vendor.includes('Apple Computer'))
18
18
 
19
- export { isAndroid, isBrowser, isIos, isServer, isWeb } from './platform'
19
+ export * from './platform'
20
20
 
21
21
  export const EMPTY_ARRAY = [] as never
22
22
  export const EMPTY_OBJECT = {} as never
@@ -1,15 +1,60 @@
1
1
  // platform booleans, react-native variant.
2
+ // Mirrors @tamagui/constants (native) so @take-out/helpers carries no @tamagui/* runtime dep.
2
3
  // react-native is an optional peer dep and is always present in the native runtime
3
4
  // where this file is loaded, so importing it here is safe.
4
5
 
6
+ import { useLayoutEffect, type useEffect } from 'react'
5
7
  import { Platform } from 'react-native'
6
8
 
7
9
  export const isWeb: boolean = false
8
-
9
10
  export const isBrowser: boolean = false
10
-
11
11
  export const isServer: boolean = false
12
+ export const isClient: boolean = true
13
+ /** @deprecated use isBrowser instead */
14
+ export const isWindowDefined: boolean = false
15
+ export const useIsomorphicLayoutEffect: typeof useEffect = useLayoutEffect
16
+ export const isChrome: boolean = false
17
+ export const isWebTouchable: boolean = false
18
+ export const isNativeDesktop: boolean =
19
+ Platform?.OS === 'macos' || Platform?.OS === 'windows'
20
+ export const isTouchable: boolean = !isNativeDesktop
21
+ // optional chain required: babel extractor loads native.cjs in node where Platform is undefined
22
+ // On Android TV: Platform.OS === 'android' per react-native-tvos
23
+ export const isAndroid: boolean =
24
+ Platform?.OS === 'android' ||
25
+ process.env.TEST_NATIVE_PLATFORM === 'android' ||
26
+ process.env.TEST_NATIVE_PLATFORM === 'androidtv'
27
+ // On tvOS: Platform.OS === 'ios' per react-native-tvos
28
+ export const isIos: boolean =
29
+ Platform?.OS === 'ios' ||
30
+ process.env.TEST_NATIVE_PLATFORM === 'ios' ||
31
+ process.env.TEST_NATIVE_PLATFORM === 'tvos'
32
+ export const supportsDynamicColorIOS: boolean =
33
+ isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === '1'
34
+ export const isTV: boolean =
35
+ Platform?.isTV ||
36
+ process.env.TEST_NATIVE_PLATFORM === 'androidtv' ||
37
+ process.env.TEST_NATIVE_PLATFORM === 'tvos'
12
38
 
13
- export const isAndroid: boolean = Platform?.OS === 'android'
39
+ const platforms = {
40
+ ios: 'ios',
41
+ android: 'android',
42
+ macos: 'macos',
43
+ windows: 'windows',
44
+ } as const
45
+ /**
46
+ * Reflects Platform.OS. TV platforms are intentionally NOT separate values:
47
+ * - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
48
+ * - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
49
+ * Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
50
+ */
51
+ export const currentPlatform: 'web' | 'ios' | 'native' | 'android' | 'macos' | 'windows' =
52
+ (Platform?.OS ? platforms[Platform.OS] : undefined) || 'native'
14
53
 
15
- export const isIos: boolean = Platform?.OS === 'ios'
54
+ // In Metro source mode, TAMAGUI_TARGET may not be set by the build tool.
55
+ // Set it here so all process.env.TAMAGUI_TARGET runtime checks work correctly.
56
+ // In pre-built dist, the build tool inlines TAMAGUI_TARGET as a literal string,
57
+ // making this block dead code (if (!'native') → never executes).
58
+ if (!process.env.TAMAGUI_TARGET) {
59
+ process.env.TAMAGUI_TARGET = 'native'
60
+ }
package/src/platform.ts CHANGED
@@ -1,14 +1,60 @@
1
1
  // platform booleans, web/default variant.
2
- // re-implemented locally so @take-out/helpers carries no @tamagui/* runtime dep.
3
- // the native values live in platform.native.ts (resolved by metro / the react-native export condition).
2
+ // Re-implemented locally (mirrors @tamagui/constants) so @take-out/helpers carries no @tamagui/* runtime dep.
3
+ // The native values live in platform.native.ts (resolved by metro / the react-native export condition).
4
+
5
+ import { useEffect, useLayoutEffect } from 'react'
4
6
 
5
7
  export const isWeb: boolean = true
6
8
 
9
+ // RN adds fake window and document so its not simple to get this right
10
+ // check both navigator and location
7
11
  export const isBrowser: boolean =
8
12
  typeof navigator !== 'undefined' && typeof location !== 'undefined'
9
13
 
10
- export const isServer: boolean = !isBrowser
14
+ export const isServer: boolean = isWeb && !isBrowser
15
+ export const isClient: boolean = isWeb && isBrowser
16
+ /** @deprecated use isBrowser instead */
17
+ export const isWindowDefined: boolean = isBrowser
18
+
19
+ export const useIsomorphicLayoutEffect: typeof useEffect = isServer
20
+ ? useEffect
21
+ : useLayoutEffect
22
+
23
+ export const isChrome: boolean =
24
+ typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')
25
+
26
+ export const isWebTouchable: boolean =
27
+ isClient && ('ontouchstart' in window || navigator.maxTouchPoints > 0)
11
28
 
12
- export const isAndroid: boolean = false
29
+ export const isNativeDesktop: boolean = false
30
+ export const isTouchable: boolean = !isWeb || isWebTouchable
31
+ // set :boolean to avoid inferring type to false
32
+ // On web, isAndroid/isIos are always false in production.
33
+ // TEST_NATIVE_PLATFORM is only set by the test runner (vitest) to simulate native
34
+ // environments (e.g. androidtv, tvos) from a web/jsdom test context.
35
+ export const isAndroid: boolean =
36
+ process.env.TEST_NATIVE_PLATFORM === 'android' ||
37
+ process.env.TEST_NATIVE_PLATFORM === 'androidtv'
38
+ export const isIos: boolean =
39
+ process.env.TEST_NATIVE_PLATFORM === 'ios' ||
40
+ process.env.TEST_NATIVE_PLATFORM === 'tvos'
41
+ export const supportsDynamicColorIOS: boolean =
42
+ isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === '1'
43
+ export const isTV: boolean =
44
+ process.env.TEST_NATIVE_PLATFORM === 'androidtv' ||
45
+ process.env.TEST_NATIVE_PLATFORM === 'tvos'
46
+ /**
47
+ * Reflects Platform.OS. TV platforms are intentionally NOT separate values:
48
+ * - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
49
+ * - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
50
+ * Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
51
+ */
52
+ export const currentPlatform: 'web' | 'ios' | 'native' | 'android' = 'web'
13
53
 
14
- export const isIos: boolean = false
54
+ // In web source mode (Vite/webpack without pre-built dist), TAMAGUI_TARGET may not be set.
55
+ // Set it here so all process.env.TAMAGUI_TARGET runtime checks work correctly.
56
+ // In pre-built dist, the build tool inlines TAMAGUI_TARGET as a literal string,
57
+ // making this block dead code (if (!'web') → never executes).
58
+ if (!process.env.TAMAGUI_TARGET) {
59
+ process.env.TAMAGUI_TARGET = 'web'
60
+ }
@@ -2,7 +2,7 @@ export declare const isTauri: boolean;
2
2
  export declare const isNative: boolean;
3
3
  export declare const IS_MAC_DESKTOP: boolean;
4
4
  export declare const IS_SAFARI: boolean;
5
- export { isAndroid, isBrowser, isIos, isServer, isWeb } from "./platform";
5
+ export * from "./platform";
6
6
  export declare const EMPTY_ARRAY: never;
7
7
  export declare const EMPTY_OBJECT: never;
8
8
  export declare const DEBUG_LEVEL: number;
@@ -1,11 +1,11 @@
1
1
  {
2
- "mappings": "AAEA,OAAO,cAAM;AAEb,OAAO,cAAM;AAIb,OAAO,cAAM;AAGb,OAAO,cAAM;AAOb,SAAS,WAAW,WAAW,OAAO,UAAU,aAAa;AAE7D,OAAO,cAAM;AACb,OAAO,cAAM;AAQb,OAAO,cAAM",
2
+ "mappings": "AAEA,OAAO,cAAM;AAEb,OAAO,cAAM;AAIb,OAAO,cAAM;AAGb,OAAO,cAAM;AAOb,cAAc;AAEd,OAAO,cAAM;AACb,OAAO,cAAM;AAQb,OAAO,cAAM",
3
3
  "names": [],
4
4
  "sources": [
5
5
  "src/constants.ts"
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "import { isWeb } from './platform'\n\nexport const isTauri: boolean = typeof window !== 'undefined' && '__TAURI__' in window\n\nexport const isNative: boolean = !isWeb && !isTauri\n\n// TODO move to probably ~/interface/constants\n\nexport const IS_MAC_DESKTOP: boolean =\n typeof navigator !== 'undefined' && /Macintosh|MacIntel/.test(navigator.platform)\n\nexport const IS_SAFARI: boolean =\n isTauri ||\n (typeof navigator !== 'undefined' &&\n /Version\\/[\\d.]+.*Safari/.test(navigator.userAgent) &&\n typeof navigator.vendor === 'string' &&\n navigator.vendor.includes('Apple Computer'))\n\nexport { isAndroid, isBrowser, isIos, isServer, isWeb } from './platform'\n\nexport const EMPTY_ARRAY = [] as never\nexport const EMPTY_OBJECT = {} as never\n\nconst getDebugLevelFromUrl = (): number | null => {\n if (typeof window === 'undefined') return null\n const match = window.location?.search?.match(/debug=(\\d+)/)\n return match?.[1] ? parseInt(match[1], 10) : null\n}\n\nexport const DEBUG_LEVEL: number = process.env.DEBUG_LEVEL\n ? +process.env.DEBUG_LEVEL\n : (getDebugLevelFromUrl() ?? (process.env.NODE_ENV === 'development' ? 1 : 0))\n"
9
+ "import { isWeb } from './platform'\n\nexport const isTauri: boolean = typeof window !== 'undefined' && '__TAURI__' in window\n\nexport const isNative: boolean = !isWeb && !isTauri\n\n// TODO move to probably ~/interface/constants\n\nexport const IS_MAC_DESKTOP: boolean =\n typeof navigator !== 'undefined' && /Macintosh|MacIntel/.test(navigator.platform)\n\nexport const IS_SAFARI: boolean =\n isTauri ||\n (typeof navigator !== 'undefined' &&\n /Version\\/[\\d.]+.*Safari/.test(navigator.userAgent) &&\n typeof navigator.vendor === 'string' &&\n navigator.vendor.includes('Apple Computer'))\n\nexport * from './platform'\n\nexport const EMPTY_ARRAY = [] as never\nexport const EMPTY_OBJECT = {} as never\n\nconst getDebugLevelFromUrl = (): number | null => {\n if (typeof window === 'undefined') return null\n const match = window.location?.search?.match(/debug=(\\d+)/)\n return match?.[1] ? parseInt(match[1], 10) : null\n}\n\nexport const DEBUG_LEVEL: number = process.env.DEBUG_LEVEL\n ? +process.env.DEBUG_LEVEL\n : (getDebugLevelFromUrl() ?? (process.env.NODE_ENV === 'development' ? 1 : 0))\n"
10
10
  ]
11
11
  }
@@ -1,7 +1,25 @@
1
+ import { useEffect } from "react";
1
2
  export declare const isWeb: boolean;
2
3
  export declare const isBrowser: boolean;
3
4
  export declare const isServer: boolean;
5
+ export declare const isClient: boolean;
6
+ /** @deprecated use isBrowser instead */
7
+ export declare const isWindowDefined: boolean;
8
+ export declare const useIsomorphicLayoutEffect: typeof useEffect;
9
+ export declare const isChrome: boolean;
10
+ export declare const isWebTouchable: boolean;
11
+ export declare const isNativeDesktop: boolean;
12
+ export declare const isTouchable: boolean;
4
13
  export declare const isAndroid: boolean;
5
14
  export declare const isIos: boolean;
15
+ export declare const supportsDynamicColorIOS: boolean;
16
+ export declare const isTV: boolean;
17
+ /**
18
+ * Reflects Platform.OS. TV platforms are intentionally NOT separate values:
19
+ * - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
20
+ * - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
21
+ * Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
22
+ */
23
+ export declare const currentPlatform: "web" | "ios" | "native" | "android";
6
24
 
7
25
  //# sourceMappingURL=platform.d.ts.map
@@ -1,11 +1,11 @@
1
1
  {
2
- "mappings": "AAIA,OAAO,cAAM;AAEb,OAAO,cAAM;AAGb,OAAO,cAAM;AAEb,OAAO,cAAM;AAEb,OAAO,cAAM",
2
+ "mappings": "AAIA,SAAS,iBAAkC;AAE3C,OAAO,cAAM;AAIb,OAAO,cAAM;AAGb,OAAO,cAAM;AACb,OAAO,cAAM;;AAEb,OAAO,cAAM;AAEb,OAAO,cAAM,kCAAkC;AAI/C,OAAO,cAAM;AAGb,OAAO,cAAM;AAGb,OAAO,cAAM;AACb,OAAO,cAAM;AAKb,OAAO,cAAM;AAGb,OAAO,cAAM;AAGb,OAAO,cAAM;AAEb,OAAO,cAAM;;;;;;;AASb,OAAO,cAAM,iBAAiB,QAAQ,QAAQ,WAAW",
3
3
  "names": [],
4
4
  "sources": [
5
5
  "src/platform.ts"
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "// platform booleans, web/default variant.\n// re-implemented locally so @take-out/helpers carries no @tamagui/* runtime dep.\n// the native values live in platform.native.ts (resolved by metro / the react-native export condition).\n\nexport const isWeb: boolean = true\n\nexport const isBrowser: boolean =\n typeof navigator !== 'undefined' && typeof location !== 'undefined'\n\nexport const isServer: boolean = !isBrowser\n\nexport const isAndroid: boolean = false\n\nexport const isIos: boolean = false\n"
9
+ "// platform booleans, web/default variant.\n// Re-implemented locally (mirrors @tamagui/constants) so @take-out/helpers carries no @tamagui/* runtime dep.\n// The native values live in platform.native.ts (resolved by metro / the react-native export condition).\n\nimport { useEffect, useLayoutEffect } from 'react'\n\nexport const isWeb: boolean = true\n\n// RN adds fake window and document so its not simple to get this right\n// check both navigator and location\nexport const isBrowser: boolean =\n typeof navigator !== 'undefined' && typeof location !== 'undefined'\n\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 isNativeDesktop: boolean = false\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 process.env.TEST_NATIVE_PLATFORM === 'androidtv'\nexport const isIos: boolean =\n process.env.TEST_NATIVE_PLATFORM === 'ios' ||\n process.env.TEST_NATIVE_PLATFORM === 'tvos'\nexport const supportsDynamicColorIOS: boolean =\n isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === '1'\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
  }
@@ -1,7 +1,25 @@
1
+ import { type useEffect } from "react";
1
2
  export declare const isWeb: boolean;
2
3
  export declare const isBrowser: boolean;
3
4
  export declare const isServer: boolean;
5
+ export declare const isClient: boolean;
6
+ /** @deprecated use isBrowser instead */
7
+ export declare const isWindowDefined: boolean;
8
+ export declare const useIsomorphicLayoutEffect: typeof useEffect;
9
+ export declare const isChrome: boolean;
10
+ export declare const isWebTouchable: boolean;
11
+ export declare const isNativeDesktop: boolean;
12
+ export declare const isTouchable: boolean;
4
13
  export declare const isAndroid: boolean;
5
14
  export declare const isIos: boolean;
15
+ export declare const supportsDynamicColorIOS: boolean;
16
+ export declare const isTV: boolean;
17
+ /**
18
+ * Reflects Platform.OS. TV platforms are intentionally NOT separate values:
19
+ * - Android TV has Platform.OS === 'android' (react-native-tvos behavior)
20
+ * - tvOS has Platform.OS === 'ios' (react-native-tvos behavior)
21
+ * Use `isTV` combined with `isAndroid`/`isIos` to detect specific TV platforms.
22
+ */
23
+ export declare const currentPlatform: "web" | "ios" | "native" | "android" | "macos" | "windows";
6
24
 
7
25
  //# sourceMappingURL=platform.native.d.ts.map
@@ -1,11 +1,11 @@
1
1
  {
2
- "mappings": "AAMA,OAAO,cAAM;AAEb,OAAO,cAAM;AAEb,OAAO,cAAM;AAEb,OAAO,cAAM;AAEb,OAAO,cAAM",
2
+ "mappings": "AAKA,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;AAEb,OAAO,cAAM;AAGb,OAAO,cAAM;AAKb,OAAO,cAAM;AAIb,OAAO,cAAM;AAEb,OAAO,cAAM;;;;;;;AAiBb,OAAO,cAAM,iBAAiB,QAAQ,QAAQ,WAAW,YAAY,UAAU",
3
3
  "names": [],
4
4
  "sources": [
5
5
  "src/platform.native.ts"
6
6
  ],
7
7
  "version": 3,
8
8
  "sourcesContent": [
9
- "// platform booleans, react-native variant.\n// react-native is an optional peer dep and is always present in the native runtime\n// where this file is loaded, so importing it here is safe.\n\nimport { Platform } from 'react-native'\n\nexport const isWeb: boolean = false\n\nexport const isBrowser: boolean = false\n\nexport const isServer: boolean = false\n\nexport const isAndroid: boolean = Platform?.OS === 'android'\n\nexport const isIos: boolean = Platform?.OS === 'ios'\n"
9
+ "// platform booleans, react-native variant.\n// Mirrors @tamagui/constants (native) so @take-out/helpers carries no @tamagui/* runtime dep.\n// react-native is an optional peer dep and is always present in the native runtime\n// where this file is loaded, so importing it here is safe.\n\nimport { 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 isNativeDesktop: boolean =\n Platform?.OS === 'macos' || Platform?.OS === 'windows'\nexport const isTouchable: boolean = !isNativeDesktop\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 supportsDynamicColorIOS: boolean =\n isIos || process.env.TAMAGUI_DYNAMIC_COLOR_IOS === '1'\nexport const isTV: boolean =\n Platform?.isTV ||\n process.env.TEST_NATIVE_PLATFORM === 'androidtv' ||\n process.env.TEST_NATIVE_PLATFORM === 'tvos'\n\nconst platforms = {\n ios: 'ios',\n android: 'android',\n macos: 'macos',\n windows: 'windows',\n} 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' | 'macos' | 'windows' =\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
  }