@tamagui/core 1.0.1-beta.198 → 1.0.1-beta.199

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/cjs/constants/platform.js +74 -0
  2. package/dist/cjs/constants/platform.js.map +7 -0
  3. package/dist/cjs/constants/platform.native.js +62 -0
  4. package/dist/cjs/constants/platform.native.js.map +7 -0
  5. package/dist/cjs/helpers/assignNativePropsToWeb.js +188 -0
  6. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +7 -0
  7. package/dist/cjs/helpers/calc.js +71 -0
  8. package/dist/cjs/helpers/calc.js.map +7 -0
  9. package/dist/cjs/helpers/getFont.js +66 -0
  10. package/dist/cjs/helpers/getFont.js.map +7 -0
  11. package/dist/cjs/helpers/getStackSize.js +46 -0
  12. package/dist/cjs/helpers/getStackSize.js.map +7 -0
  13. package/dist/cjs/helpers/startTransition.js +36 -0
  14. package/dist/cjs/helpers/startTransition.js.map +7 -0
  15. package/dist/cjs/helpers/validate.js +2 -0
  16. package/dist/cjs/helpers/validate.js.map +7 -0
  17. package/dist/cjs/hooks/useConstant.js +39 -0
  18. package/dist/cjs/hooks/useConstant.js.map +7 -0
  19. package/dist/cjs/hooks/useIsMounted.js +40 -0
  20. package/dist/cjs/hooks/useIsMounted.js.map +7 -0
  21. package/dist/cjs/hooks/usePressable.js +36 -0
  22. package/dist/cjs/hooks/usePressable.js.map +7 -0
  23. package/dist/cjs/hooks/useUnmountEffect.js +32 -0
  24. package/dist/cjs/hooks/useUnmountEffect.js.map +7 -0
  25. package/dist/cjs/injectStyles.js +40 -0
  26. package/dist/cjs/injectStyles.js.map +7 -0
  27. package/dist/esm/constants/platform.js +39 -0
  28. package/dist/esm/constants/platform.js.map +7 -0
  29. package/dist/esm/constants/platform.native.js +28 -0
  30. package/dist/esm/constants/platform.native.js.map +7 -0
  31. package/dist/esm/helpers/assignNativePropsToWeb.js +164 -0
  32. package/dist/esm/helpers/assignNativePropsToWeb.js.map +7 -0
  33. package/dist/esm/helpers/calc.js +47 -0
  34. package/dist/esm/helpers/calc.js.map +7 -0
  35. package/dist/esm/helpers/getFont.js +42 -0
  36. package/dist/esm/helpers/getFont.js.map +7 -0
  37. package/dist/esm/helpers/getStackSize.js +22 -0
  38. package/dist/esm/helpers/getStackSize.js.map +7 -0
  39. package/dist/esm/helpers/startTransition.js +6 -0
  40. package/dist/esm/helpers/startTransition.js.map +7 -0
  41. package/dist/esm/helpers/validate.js +1 -0
  42. package/dist/esm/helpers/validate.js.map +7 -0
  43. package/dist/esm/hooks/useConstant.js +15 -0
  44. package/dist/esm/hooks/useConstant.js.map +7 -0
  45. package/dist/esm/hooks/useIsMounted.js +16 -0
  46. package/dist/esm/hooks/useIsMounted.js.map +7 -0
  47. package/dist/esm/hooks/usePressable.js +12 -0
  48. package/dist/esm/hooks/usePressable.js.map +7 -0
  49. package/dist/esm/hooks/useUnmountEffect.js +8 -0
  50. package/dist/esm/hooks/useUnmountEffect.js.map +7 -0
  51. package/dist/esm/injectStyles.js +16 -0
  52. package/dist/esm/injectStyles.js.map +7 -0
  53. package/package.json +12 -13
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useConstant_exports = {};
20
+ __export(useConstant_exports, {
21
+ useConstant: () => useConstant
22
+ });
23
+ module.exports = __toCommonJS(useConstant_exports);
24
+ var import_react = require("react");
25
+ function useConstant(fn) {
26
+ if (typeof document === "undefined") {
27
+ return (0, import_react.useMemo)(() => fn(), []);
28
+ }
29
+ const ref = (0, import_react.useRef)();
30
+ if (!ref.current) {
31
+ ref.current = { v: fn() };
32
+ }
33
+ return ref.current.v;
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ useConstant
38
+ });
39
+ //# sourceMappingURL=useConstant.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useConstant.tsx"],
4
+ "sourcesContent": ["import { useMemo, useRef } from 'react'\n\ntype ResultBox<T> = { v: T }\n\nexport function useConstant<T>(fn: () => T): T {\n // RSC compat\n if (typeof document === 'undefined') {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo(() => fn(), [])\n }\n\n const ref = useRef<ResultBox<T>>()\n\n if (!ref.current) {\n ref.current = { v: fn() }\n }\n\n return ref.current.v\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAIzB,SAAS,YAAe,IAAgB;AAE7C,MAAI,OAAO,aAAa,aAAa;AAEnC,eAAO,sBAAQ,MAAM,GAAG,GAAG,CAAC,CAAC;AAAA,EAC/B;AAEA,QAAM,UAAM,qBAAqB;AAEjC,MAAI,CAAC,IAAI,SAAS;AAChB,QAAI,UAAU,EAAE,GAAG,GAAG,EAAE;AAAA,EAC1B;AAEA,SAAO,IAAI,QAAQ;AACrB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useIsMounted_exports = {};
20
+ __export(useIsMounted_exports, {
21
+ useIsMounted: () => useIsMounted
22
+ });
23
+ module.exports = __toCommonJS(useIsMounted_exports);
24
+ var import_constants = require("@tamagui/constants");
25
+ var import_react = require("react");
26
+ function useIsMounted() {
27
+ const isMounted = (0, import_react.useRef)(false);
28
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
29
+ isMounted.current = true;
30
+ return () => {
31
+ isMounted.current = false;
32
+ };
33
+ }, []);
34
+ return isMounted;
35
+ }
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ useIsMounted
39
+ });
40
+ //# sourceMappingURL=useIsMounted.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useIsMounted.ts"],
4
+ "sourcesContent": ["import { useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { useRef } from 'react'\n\nexport function useIsMounted() {\n const isMounted = useRef(false)\n\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true\n\n return () => {\n isMounted.current = false\n }\n }, [])\n\n return isMounted\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C;AAC1C,mBAAuB;AAEhB,SAAS,eAAe;AAC7B,QAAM,gBAAY,qBAAO,KAAK;AAE9B,kDAA0B,MAAM;AAC9B,cAAU,UAAU;AAEpB,WAAO,MAAM;AACX,gBAAU,UAAU;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;",
6
+ "names": []
7
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var usePressable_exports = {};
20
+ __export(usePressable_exports, {
21
+ usePressable: () => usePressable
22
+ });
23
+ module.exports = __toCommonJS(usePressable_exports);
24
+ var import_react_native = require("react-native");
25
+ var _a, _b;
26
+ const getPressable = (_b = (_a = import_react_native.Pressable) == null ? void 0 : _a["type"]) == null ? void 0 : _b["render"];
27
+ const usePressable = (props) => {
28
+ const out = getPressable(props);
29
+ const { children, style, ...pressableProps } = out.props;
30
+ return [pressableProps, style];
31
+ };
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ usePressable
35
+ });
36
+ //# sourceMappingURL=usePressable.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/usePressable.tsx"],
4
+ "sourcesContent": ["import { Pressable, PressableProps } from 'react-native'\n\nconst getPressable = Pressable?.['type']?.['render']\n\nexport const usePressable = (props: PressableProps) => {\n const out = getPressable(props)\n const { children, style, ...pressableProps } = out.props\n return [pressableProps, style] as const\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0C;AAA1C;AAEA,MAAM,gBAAe,gEAAY,YAAZ,mBAAsB;AAEpC,MAAM,eAAe,CAAC,UAA0B;AACrD,QAAM,MAAM,aAAa,KAAK;AAC9B,QAAM,EAAE,UAAU,UAAU,eAAe,IAAI,IAAI;AACnD,SAAO,CAAC,gBAAgB,KAAK;AAC/B;",
6
+ "names": []
7
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useUnmountEffect_exports = {};
20
+ __export(useUnmountEffect_exports, {
21
+ useUnmountEffect: () => useUnmountEffect
22
+ });
23
+ module.exports = __toCommonJS(useUnmountEffect_exports);
24
+ var import_react = require("react");
25
+ function useUnmountEffect(callback) {
26
+ return (0, import_react.useEffect)(() => () => callback(), []);
27
+ }
28
+ // Annotate the CommonJS export names for ESM import in node:
29
+ 0 && (module.exports = {
30
+ useUnmountEffect
31
+ });
32
+ //# sourceMappingURL=useUnmountEffect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useUnmountEffect.ts"],
4
+ "sourcesContent": ["import { useEffect } from 'react'\n\nexport function useUnmountEffect(callback: () => void) {\n return useEffect(() => () => callback(), [])\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAEnB,SAAS,iBAAiB,UAAsB;AACrD,aAAO,wBAAU,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC;AAC7C;",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var injectStyles_exports = {};
20
+ __export(injectStyles_exports, {
21
+ injectStyles: () => injectStyles
22
+ });
23
+ module.exports = __toCommonJS(injectStyles_exports);
24
+ const stylesheets = {};
25
+ const injectStyles = ({ filePath, css }) => {
26
+ let stylesheet = stylesheets[filePath];
27
+ if (!stylesheet) {
28
+ const styleEl = document.createElement("style");
29
+ styleEl.setAttribute("data-file", filePath);
30
+ styleEl.setAttribute("type", "text/css");
31
+ stylesheet = stylesheets[filePath] = styleEl;
32
+ document.head.appendChild(styleEl);
33
+ }
34
+ stylesheet.innerHTML = css;
35
+ };
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ injectStyles
39
+ });
40
+ //# sourceMappingURL=injectStyles.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/injectStyles.ts"],
4
+ "sourcesContent": ["// for vite dev mode\n\nconst stylesheets: Record<string, HTMLElement> = {}\n\ninterface InjectStylesOptions {\n filePath: string\n css: string\n}\n\nexport const injectStyles = ({ filePath, css }: InjectStylesOptions) => {\n let stylesheet = stylesheets[filePath]\n if (!stylesheet) {\n const styleEl = document.createElement('style')\n styleEl.setAttribute('data-file', filePath)\n styleEl.setAttribute('type', 'text/css')\n stylesheet = stylesheets[filePath] = styleEl\n document.head.appendChild(styleEl)\n }\n stylesheet.innerHTML = css\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,cAA2C,CAAC;AAO3C,MAAM,eAAe,CAAC,EAAE,UAAU,IAAI,MAA2B;AACtE,MAAI,aAAa,YAAY;AAC7B,MAAI,CAAC,YAAY;AACf,UAAM,UAAU,SAAS,cAAc,OAAO;AAC9C,YAAQ,aAAa,aAAa,QAAQ;AAC1C,YAAQ,aAAa,QAAQ,UAAU;AACvC,iBAAa,YAAY,YAAY;AACrC,aAAS,KAAK,YAAY,OAAO;AAAA,EACnC;AACA,aAAW,YAAY;AACzB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,39 @@
1
+ var _a, _b;
2
+ import { useEffect, useLayoutEffect } from "react";
3
+ import { Platform } from "react-native";
4
+ const isAndroid = ((_a = Platform) == null ? void 0 : _a.OS) === "android";
5
+ const isIOS = ((_b = Platform) == null ? void 0 : _b.OS) === "ios";
6
+ const isWeb = process.env.TAMAGUI_TARGET === "web";
7
+ const isWindowDefined = typeof window !== "undefined";
8
+ const isServer = isWeb && !isWindowDefined;
9
+ const isClient = isWeb && isWindowDefined;
10
+ const isRSC = process.env.ENABLE_RSC ? import.meta.env ? import.meta.env.SSR : false : false;
11
+ const idFn = () => {
12
+ };
13
+ const useIsomorphicLayoutEffect = isRSC ? idFn : isServer ? useEffect : useLayoutEffect;
14
+ const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
15
+ const isWebTouchable = isClient && "ontouchstart" in window;
16
+ const isTouchable = !isWeb || isWebTouchable;
17
+ if (process.env.NODE_ENV === "development") {
18
+ if (!process.env.TAMAGUI_TARGET) {
19
+ console.warn(`Must set TAMAGUI_TARGET to "web" or "native"`);
20
+ } else if (isClient && process.env.TAMAGUI_TARGET !== "web" && process.env.TAMAGUI_IGNORE_TARGET !== "1") {
21
+ console.warn(
22
+ `Must set TAMAGUI_TARGET to "web" for web apps - if you have window defined outside of the browser, set TAMAGUI_IGNORE_TARGET=1 to hide this`
23
+ );
24
+ }
25
+ }
26
+ export {
27
+ isAndroid,
28
+ isChrome,
29
+ isClient,
30
+ isIOS,
31
+ isRSC,
32
+ isServer,
33
+ isTouchable,
34
+ isWeb,
35
+ isWebTouchable,
36
+ isWindowDefined,
37
+ useIsomorphicLayoutEffect
38
+ };
39
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/platform.ts"],
4
+ "sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = process.env.TAMAGUI_TARGET === 'web'\nexport const isWindowDefined = typeof window !== 'undefined'\nexport const isServer = isWeb && !isWindowDefined\nexport const isClient = isWeb && isWindowDefined\n\n// may want to move to VITE_RSC_BUILD\nexport const isRSC = process.env.ENABLE_RSC\n ? // note this is statically analyzed so no funny business, just access it without optional chaining\n // @ts-ignore\n import.meta.env\n ? // @ts-ignore\n import.meta.env.SSR\n : false\n : false\n\nconst idFn = () => {}\nexport const useIsomorphicLayoutEffect = isRSC ? idFn : isServer ? useEffect : useLayoutEffect\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\nexport const isWebTouchable = isClient && 'ontouchstart' in window\nexport const isTouchable = !isWeb || isWebTouchable\n\nif (process.env.NODE_ENV === 'development') {\n if (!process.env.TAMAGUI_TARGET) {\n // eslint-disable-next-line no-console\n console.warn(`Must set TAMAGUI_TARGET to \"web\" or \"native\"`)\n } else if (\n isClient &&\n process.env.TAMAGUI_TARGET !== 'web' &&\n process.env.TAMAGUI_IGNORE_TARGET !== '1'\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n `Must set TAMAGUI_TARGET to \"web\" for web apps - if you have window defined outside of the browser, set TAMAGUI_IGNORE_TARGET=1 to hide this`\n )\n }\n}\n"],
5
+ "mappings": "AAAA;AAAA,SAAS,WAAW,uBAAuB;AAC3C,SAAS,gBAAgB;AAElB,MAAM,cAAY,qCAAU,QAAO;AACnC,MAAM,UAAQ,qCAAU,QAAO;AAC/B,MAAM,QAAQ,QAAQ,IAAI,mBAAmB;AAC7C,MAAM,kBAAkB,OAAO,WAAW;AAC1C,MAAM,WAAW,SAAS,CAAC;AAC3B,MAAM,WAAW,SAAS;AAG1B,MAAM,QAAQ,QAAQ,IAAI,aAG7B,YAAY,MAEV,YAAY,IAAI,MAChB,QACF;AAEJ,MAAM,OAAO,MAAM;AAAC;AACb,MAAM,4BAA4B,QAAQ,OAAO,WAAW,YAAY;AACxE,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa,EAAE;AAC5F,MAAM,iBAAiB,YAAY,kBAAkB;AACrD,MAAM,cAAc,CAAC,SAAS;AAErC,IAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,MAAI,CAAC,QAAQ,IAAI,gBAAgB;AAE/B,YAAQ,KAAK,8CAA8C;AAAA,EAC7D,WACE,YACA,QAAQ,IAAI,mBAAmB,SAC/B,QAAQ,IAAI,0BAA0B,KACtC;AAEA,YAAQ;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,28 @@
1
+ var _a, _b;
2
+ import { useLayoutEffect } from "react";
3
+ import { Platform } from "react-native";
4
+ const isAndroid = ((_a = Platform) == null ? void 0 : _a.OS) === "android";
5
+ const isIOS = ((_b = Platform) == null ? void 0 : _b.OS) === "ios";
6
+ const isWeb = false;
7
+ const isWindowDefined = false;
8
+ const isServer = false;
9
+ const isClient = false;
10
+ const isRSC = false;
11
+ const useIsomorphicLayoutEffect = useLayoutEffect;
12
+ const isChrome = false;
13
+ const isWebTouchable = false;
14
+ const isTouchable = true;
15
+ export {
16
+ isAndroid,
17
+ isChrome,
18
+ isClient,
19
+ isIOS,
20
+ isRSC,
21
+ isServer,
22
+ isTouchable,
23
+ isWeb,
24
+ isWebTouchable,
25
+ isWindowDefined,
26
+ useIsomorphicLayoutEffect
27
+ };
28
+ //# sourceMappingURL=platform.native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/platform.native.ts"],
4
+ "sourcesContent": ["import { useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = false\nexport const isWindowDefined = false\nexport const isServer = false\nexport const isClient = false\nexport const isRSC = false\nexport const useIsomorphicLayoutEffect = useLayoutEffect\nexport const isChrome = false\nexport const isWebTouchable = false\nexport const isTouchable = true\n"],
5
+ "mappings": "AAAA;AAAA,SAAS,uBAAuB;AAChC,SAAS,gBAAgB;AAElB,MAAM,cAAY,qCAAU,QAAO;AACnC,MAAM,UAAQ,qCAAU,QAAO;AAC/B,MAAM,QAAQ;AACd,MAAM,kBAAkB;AACxB,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,QAAQ;AACd,MAAM,4BAA4B;AAClC,MAAM,WAAW;AACjB,MAAM,iBAAiB;AACvB,MAAM,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,164 @@
1
+ import { accessibilityRoleToWebRole, processIDRefList } from "../createComponent";
2
+ function assignNativePropsToWeb(elementType, viewProps, nativeProps) {
3
+ if (!viewProps.role && nativeProps.accessibilityRole) {
4
+ if (nativeProps.accessibilityRole === "none") {
5
+ viewProps.role = "presentation";
6
+ } else {
7
+ const webRole = accessibilityRoleToWebRole[nativeProps.accessibilityRole];
8
+ if (webRole != null) {
9
+ viewProps.role = webRole || nativeProps.accessibilityRole;
10
+ }
11
+ }
12
+ }
13
+ if (nativeProps.accessibilityActiveDescendant != null) {
14
+ viewProps["aria-activedescendant"] = nativeProps.accessibilityActiveDescendant;
15
+ }
16
+ if (nativeProps.accessibilityAtomic != null) {
17
+ viewProps["aria-atomic"] = nativeProps.accessibilityAtomic;
18
+ }
19
+ if (nativeProps.accessibilityAutoComplete != null) {
20
+ viewProps["aria-autocomplete"] = nativeProps.accessibilityAutoComplete;
21
+ }
22
+ if (nativeProps.accessibilityBusy != null) {
23
+ viewProps["aria-busy"] = nativeProps.accessibilityBusy;
24
+ }
25
+ if (nativeProps.accessibilityChecked != null) {
26
+ viewProps["aria-checked"] = nativeProps.accessibilityChecked;
27
+ }
28
+ if (nativeProps.accessibilityColumnCount != null) {
29
+ viewProps["aria-colcount"] = nativeProps.accessibilityColumnCount;
30
+ }
31
+ if (nativeProps.accessibilityColumnIndex != null) {
32
+ viewProps["aria-colindex"] = nativeProps.accessibilityColumnIndex;
33
+ }
34
+ if (nativeProps.accessibilityColumnSpan != null) {
35
+ viewProps["aria-colspan"] = nativeProps.accessibilityColumnSpan;
36
+ }
37
+ if (nativeProps.accessibilityControls != null) {
38
+ viewProps["aria-controls"] = processIDRefList(nativeProps.accessibilityControls);
39
+ }
40
+ if (nativeProps.accessibilityCurrent != null) {
41
+ viewProps["aria-current"] = nativeProps.accessibilityCurrent;
42
+ }
43
+ if (nativeProps.accessibilityDescribedBy != null) {
44
+ viewProps["aria-describedby"] = processIDRefList(nativeProps.accessibilityDescribedBy);
45
+ }
46
+ if (nativeProps.accessibilityDetails != null) {
47
+ viewProps["aria-details"] = nativeProps.accessibilityDetails;
48
+ }
49
+ if (nativeProps.disabled === true) {
50
+ viewProps["aria-disabled"] = true;
51
+ if (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") {
52
+ viewProps.disabled = true;
53
+ }
54
+ }
55
+ if (nativeProps.accessibilityErrorMessage != null) {
56
+ viewProps["aria-errormessage"] = nativeProps.accessibilityErrorMessage;
57
+ }
58
+ if (nativeProps.accessibilityExpanded != null) {
59
+ viewProps["aria-expanded"] = nativeProps.accessibilityExpanded;
60
+ }
61
+ if (nativeProps.accessibilityFlowTo != null) {
62
+ viewProps["aria-flowto"] = processIDRefList(nativeProps.accessibilityFlowTo);
63
+ }
64
+ if (nativeProps.accessibilityHasPopup != null) {
65
+ viewProps["aria-haspopup"] = nativeProps.accessibilityHasPopup;
66
+ }
67
+ if (nativeProps.accessibilityHidden === true) {
68
+ viewProps["aria-hidden"] = nativeProps.accessibilityHidden;
69
+ }
70
+ if (nativeProps.accessibilityInvalid != null) {
71
+ viewProps["aria-invalid"] = nativeProps.accessibilityInvalid;
72
+ }
73
+ if (nativeProps.accessibilityKeyShortcuts != null && Array.isArray(nativeProps.accessibilityKeyShortcuts)) {
74
+ viewProps["aria-keyshortcuts"] = nativeProps.accessibilityKeyShortcuts.join(" ");
75
+ }
76
+ if (nativeProps.accessibilityLabel != null) {
77
+ viewProps["aria-label"] = nativeProps.accessibilityLabel;
78
+ }
79
+ if (nativeProps.accessibilityLabelledBy != null) {
80
+ viewProps["aria-labelledby"] = processIDRefList(nativeProps.accessibilityLabelledBy);
81
+ }
82
+ if (nativeProps.accessibilityLevel != null) {
83
+ viewProps["aria-level"] = nativeProps.accessibilityLevel;
84
+ }
85
+ if (nativeProps.accessibilityLiveRegion != null) {
86
+ viewProps["aria-live"] = nativeProps.accessibilityLiveRegion === "none" ? "off" : nativeProps.accessibilityLiveRegion;
87
+ }
88
+ if (nativeProps.accessibilityModal != null) {
89
+ viewProps["aria-modal"] = nativeProps.accessibilityModal;
90
+ }
91
+ if (nativeProps.accessibilityMultiline != null) {
92
+ viewProps["aria-multiline"] = nativeProps.accessibilityMultiline;
93
+ }
94
+ if (nativeProps.accessibilityMultiSelectable != null) {
95
+ viewProps["aria-multiselectable"] = nativeProps.accessibilityMultiSelectable;
96
+ }
97
+ if (nativeProps.accessibilityOrientation != null) {
98
+ viewProps["aria-orientation"] = nativeProps.accessibilityOrientation;
99
+ }
100
+ if (nativeProps.accessibilityOwns != null) {
101
+ viewProps["aria-owns"] = processIDRefList(nativeProps.accessibilityOwns);
102
+ }
103
+ if (nativeProps.accessibilityPlaceholder != null) {
104
+ viewProps["aria-placeholder"] = nativeProps.accessibilityPlaceholder;
105
+ }
106
+ if (nativeProps.accessibilityPosInSet != null) {
107
+ viewProps["aria-posinset"] = nativeProps.accessibilityPosInSet;
108
+ }
109
+ if (nativeProps.accessibilityPressed != null) {
110
+ viewProps["aria-pressed"] = nativeProps.accessibilityPressed;
111
+ }
112
+ if (nativeProps.accessibilityReadOnly != null) {
113
+ viewProps["aria-readonly"] = nativeProps.accessibilityReadOnly;
114
+ if (elementType === "input" || elementType === "select" || elementType === "textarea") {
115
+ viewProps.readOnly = true;
116
+ }
117
+ }
118
+ if (nativeProps.accessibilityRequired != null) {
119
+ viewProps["aria-required"] = nativeProps.accessibilityRequired;
120
+ if (elementType === "input" || elementType === "select" || elementType === "textarea") {
121
+ viewProps.required = true;
122
+ }
123
+ }
124
+ if (nativeProps.accessibilityRoleDescription != null) {
125
+ viewProps["aria-roledescription"] = nativeProps.accessibilityRoleDescription;
126
+ }
127
+ if (nativeProps.accessibilityRowCount != null) {
128
+ viewProps["aria-rowcount"] = nativeProps.accessibilityRowCount;
129
+ }
130
+ if (nativeProps.accessibilityRowIndex != null) {
131
+ viewProps["aria-rowindex"] = nativeProps.accessibilityRowIndex;
132
+ }
133
+ if (nativeProps.accessibilityRowSpan != null) {
134
+ viewProps["aria-rowspan"] = nativeProps.accessibilityRowSpan;
135
+ }
136
+ if (nativeProps.accessibilitySelected != null) {
137
+ viewProps["aria-selected"] = nativeProps.accessibilitySelected;
138
+ }
139
+ if (nativeProps.accessibilitySetSize != null) {
140
+ viewProps["aria-setsize"] = nativeProps.accessibilitySetSize;
141
+ }
142
+ if (nativeProps.accessibilitySort != null) {
143
+ viewProps["aria-sort"] = nativeProps.accessibilitySort;
144
+ }
145
+ if (nativeProps.accessibilityValueMax != null) {
146
+ viewProps["aria-valuemax"] = nativeProps.accessibilityValueMax;
147
+ }
148
+ if (nativeProps.accessibilityValueMin != null) {
149
+ viewProps["aria-valuemin"] = nativeProps.accessibilityValueMin;
150
+ }
151
+ if (nativeProps.accessibilityValueNow != null) {
152
+ viewProps["aria-valuenow"] = nativeProps.accessibilityValueNow;
153
+ }
154
+ if (nativeProps.accessibilityValueText != null) {
155
+ viewProps["aria-valuetext"] = nativeProps.accessibilityValueText;
156
+ }
157
+ if (nativeProps.nativeID) {
158
+ viewProps.id = nativeProps.nativeID;
159
+ }
160
+ }
161
+ export {
162
+ assignNativePropsToWeb
163
+ };
164
+ //# sourceMappingURL=assignNativePropsToWeb.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/assignNativePropsToWeb.tsx"],
4
+ "sourcesContent": ["import { accessibilityRoleToWebRole, processIDRefList } from '../createComponent'\n\n// adapted from react-native-web\n\nexport function assignNativePropsToWeb(elementType: string, viewProps: any, nativeProps: any) {\n if (!viewProps.role && nativeProps.accessibilityRole) {\n if (nativeProps.accessibilityRole === 'none') {\n viewProps.role = 'presentation'\n } else {\n const webRole = accessibilityRoleToWebRole[nativeProps.accessibilityRole]\n if (webRole != null) {\n viewProps.role = webRole || nativeProps.accessibilityRole\n }\n }\n }\n\n if (nativeProps.accessibilityActiveDescendant != null) {\n viewProps['aria-activedescendant'] = nativeProps.accessibilityActiveDescendant\n }\n if (nativeProps.accessibilityAtomic != null) {\n viewProps['aria-atomic'] = nativeProps.accessibilityAtomic\n }\n if (nativeProps.accessibilityAutoComplete != null) {\n viewProps['aria-autocomplete'] = nativeProps.accessibilityAutoComplete\n }\n if (nativeProps.accessibilityBusy != null) {\n viewProps['aria-busy'] = nativeProps.accessibilityBusy\n }\n if (nativeProps.accessibilityChecked != null) {\n viewProps['aria-checked'] = nativeProps.accessibilityChecked\n }\n if (nativeProps.accessibilityColumnCount != null) {\n viewProps['aria-colcount'] = nativeProps.accessibilityColumnCount\n }\n if (nativeProps.accessibilityColumnIndex != null) {\n viewProps['aria-colindex'] = nativeProps.accessibilityColumnIndex\n }\n if (nativeProps.accessibilityColumnSpan != null) {\n viewProps['aria-colspan'] = nativeProps.accessibilityColumnSpan\n }\n if (nativeProps.accessibilityControls != null) {\n viewProps['aria-controls'] = processIDRefList(nativeProps.accessibilityControls)\n }\n if (nativeProps.accessibilityCurrent != null) {\n viewProps['aria-current'] = nativeProps.accessibilityCurrent\n }\n if (nativeProps.accessibilityDescribedBy != null) {\n viewProps['aria-describedby'] = processIDRefList(nativeProps.accessibilityDescribedBy)\n }\n if (nativeProps.accessibilityDetails != null) {\n viewProps['aria-details'] = nativeProps.accessibilityDetails\n }\n if (nativeProps.disabled === true) {\n viewProps['aria-disabled'] = true\n // Enhance with native semantics\n if (\n elementType === 'button' ||\n elementType === 'form' ||\n elementType === 'input' ||\n elementType === 'select' ||\n elementType === 'textarea'\n ) {\n viewProps.disabled = true\n }\n }\n if (nativeProps.accessibilityErrorMessage != null) {\n viewProps['aria-errormessage'] = nativeProps.accessibilityErrorMessage\n }\n if (nativeProps.accessibilityExpanded != null) {\n viewProps['aria-expanded'] = nativeProps.accessibilityExpanded\n }\n if (nativeProps.accessibilityFlowTo != null) {\n viewProps['aria-flowto'] = processIDRefList(nativeProps.accessibilityFlowTo)\n }\n if (nativeProps.accessibilityHasPopup != null) {\n viewProps['aria-haspopup'] = nativeProps.accessibilityHasPopup\n }\n if (nativeProps.accessibilityHidden === true) {\n viewProps['aria-hidden'] = nativeProps.accessibilityHidden\n }\n if (nativeProps.accessibilityInvalid != null) {\n viewProps['aria-invalid'] = nativeProps.accessibilityInvalid\n }\n if (\n nativeProps.accessibilityKeyShortcuts != null &&\n Array.isArray(nativeProps.accessibilityKeyShortcuts)\n ) {\n viewProps['aria-keyshortcuts'] = nativeProps.accessibilityKeyShortcuts.join(' ')\n }\n if (nativeProps.accessibilityLabel != null) {\n viewProps['aria-label'] = nativeProps.accessibilityLabel\n }\n if (nativeProps.accessibilityLabelledBy != null) {\n viewProps['aria-labelledby'] = processIDRefList(nativeProps.accessibilityLabelledBy)\n }\n if (nativeProps.accessibilityLevel != null) {\n viewProps['aria-level'] = nativeProps.accessibilityLevel\n }\n if (nativeProps.accessibilityLiveRegion != null) {\n viewProps['aria-live'] =\n nativeProps.accessibilityLiveRegion === 'none' ? 'off' : nativeProps.accessibilityLiveRegion\n }\n if (nativeProps.accessibilityModal != null) {\n viewProps['aria-modal'] = nativeProps.accessibilityModal\n }\n if (nativeProps.accessibilityMultiline != null) {\n viewProps['aria-multiline'] = nativeProps.accessibilityMultiline\n }\n if (nativeProps.accessibilityMultiSelectable != null) {\n viewProps['aria-multiselectable'] = nativeProps.accessibilityMultiSelectable\n }\n if (nativeProps.accessibilityOrientation != null) {\n viewProps['aria-orientation'] = nativeProps.accessibilityOrientation\n }\n if (nativeProps.accessibilityOwns != null) {\n viewProps['aria-owns'] = processIDRefList(nativeProps.accessibilityOwns)\n }\n if (nativeProps.accessibilityPlaceholder != null) {\n viewProps['aria-placeholder'] = nativeProps.accessibilityPlaceholder\n }\n if (nativeProps.accessibilityPosInSet != null) {\n viewProps['aria-posinset'] = nativeProps.accessibilityPosInSet\n }\n if (nativeProps.accessibilityPressed != null) {\n viewProps['aria-pressed'] = nativeProps.accessibilityPressed\n }\n if (nativeProps.accessibilityReadOnly != null) {\n viewProps['aria-readonly'] = nativeProps.accessibilityReadOnly\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n viewProps.readOnly = true\n }\n }\n if (nativeProps.accessibilityRequired != null) {\n viewProps['aria-required'] = nativeProps.accessibilityRequired\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n viewProps.required = true\n }\n }\n if (nativeProps.accessibilityRoleDescription != null) {\n viewProps['aria-roledescription'] = nativeProps.accessibilityRoleDescription\n }\n if (nativeProps.accessibilityRowCount != null) {\n viewProps['aria-rowcount'] = nativeProps.accessibilityRowCount\n }\n if (nativeProps.accessibilityRowIndex != null) {\n viewProps['aria-rowindex'] = nativeProps.accessibilityRowIndex\n }\n if (nativeProps.accessibilityRowSpan != null) {\n viewProps['aria-rowspan'] = nativeProps.accessibilityRowSpan\n }\n if (nativeProps.accessibilitySelected != null) {\n viewProps['aria-selected'] = nativeProps.accessibilitySelected\n }\n if (nativeProps.accessibilitySetSize != null) {\n viewProps['aria-setsize'] = nativeProps.accessibilitySetSize\n }\n if (nativeProps.accessibilitySort != null) {\n viewProps['aria-sort'] = nativeProps.accessibilitySort\n }\n if (nativeProps.accessibilityValueMax != null) {\n viewProps['aria-valuemax'] = nativeProps.accessibilityValueMax\n }\n if (nativeProps.accessibilityValueMin != null) {\n viewProps['aria-valuemin'] = nativeProps.accessibilityValueMin\n }\n if (nativeProps.accessibilityValueNow != null) {\n viewProps['aria-valuenow'] = nativeProps.accessibilityValueNow\n }\n if (nativeProps.accessibilityValueText != null) {\n viewProps['aria-valuetext'] = nativeProps.accessibilityValueText\n }\n\n if (nativeProps.nativeID) {\n viewProps.id = nativeProps.nativeID\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,47 @@
1
+ import { isWeb } from "@tamagui/constants";
2
+ import { getVariableVariable } from "../createVariable";
3
+ const operators = {
4
+ "+": (a, b) => a + b,
5
+ "-": (a, b) => a - b,
6
+ "/": (a, b) => a / b,
7
+ "*": (a, b) => a * b
8
+ };
9
+ const calc = (...valuesAndOperators) => {
10
+ if (isWeb) {
11
+ let res2 = "calc(";
12
+ for (const cur of valuesAndOperators) {
13
+ if (operators[cur]) {
14
+ res2 += " " + cur + " ";
15
+ } else {
16
+ res2 += convertToVariableOrNumber(cur);
17
+ }
18
+ }
19
+ return res2 + ")";
20
+ }
21
+ let res = 0;
22
+ let nextOp = null;
23
+ for (const cur of valuesAndOperators) {
24
+ if (operators[cur]) {
25
+ nextOp = operators[cur];
26
+ } else {
27
+ if (nextOp) {
28
+ res = nextOp(res, cur);
29
+ nextOp = null;
30
+ } else {
31
+ res = +cur;
32
+ }
33
+ }
34
+ }
35
+ return res;
36
+ };
37
+ const convertToVariableOrNumber = (v) => {
38
+ const varOrVal = getVariableVariable(v);
39
+ if (typeof varOrVal === "number") {
40
+ return `${varOrVal}px`;
41
+ }
42
+ return varOrVal;
43
+ };
44
+ export {
45
+ calc
46
+ };
47
+ //# sourceMappingURL=calc.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/calc.ts"],
4
+ "sourcesContent": ["import { isWeb } from '@tamagui/constants'\n\nimport { getVariableVariable } from '../createVariable'\nimport { FontLineHeightTokens, FontSizeTokens, SizeTokens, SpaceTokens } from '../types'\n\n// unused code - not exported\n\n/**\n * Simple calc() that handles native + web\n * on web: outputs a calc() string\n * on native: outputs a plain number\n */\n\nexport type CalcVal =\n | string\n | number\n | SizeTokens\n | SpaceTokens\n | FontSizeTokens\n | FontLineHeightTokens\n\nconst operators = {\n '+': (a: number, b: number) => a + b,\n '-': (a: number, b: number) => a - b,\n '/': (a: number, b: number) => a / b,\n '*': (a: number, b: number) => a * b,\n}\n\ntype Operator = keyof typeof operators\n\nexport const calc = (...valuesAndOperators: (CalcVal | Operator)[]) => {\n if (isWeb) {\n let res = 'calc('\n for (const cur of valuesAndOperators) {\n if (operators[cur as any]) {\n // spaces are significant\n res += ' ' + cur + ' '\n } else {\n res += convertToVariableOrNumber(cur)\n }\n }\n return res + ')'\n }\n\n let res = 0\n let nextOp: any = null\n for (const cur of valuesAndOperators) {\n if (operators[cur as any]) {\n nextOp = operators[cur as any]\n } else {\n if (nextOp) {\n res = nextOp(res, cur)\n nextOp = null\n } else {\n res = +cur\n }\n }\n }\n return res\n}\n\nconst convertToVariableOrNumber = (v: any) => {\n const varOrVal = getVariableVariable(v)\n if (typeof varOrVal === 'number') {\n return `${varOrVal}px`\n }\n return varOrVal\n}\n"],
5
+ "mappings": "AAAA,SAAS,aAAa;AAEtB,SAAS,2BAA2B;AAmBpC,MAAM,YAAY;AAAA,EAChB,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AAAA,EACnC,KAAK,CAAC,GAAW,MAAc,IAAI;AACrC;AAIO,MAAM,OAAO,IAAI,uBAA+C;AACrE,MAAI,OAAO;AACT,QAAIA,OAAM;AACV,eAAW,OAAO,oBAAoB;AACpC,UAAI,UAAU,MAAa;AAEzB,QAAAA,QAAO,MAAM,MAAM;AAAA,MACrB,OAAO;AACL,QAAAA,QAAO,0BAA0B,GAAG;AAAA,MACtC;AAAA,IACF;AACA,WAAOA,OAAM;AAAA,EACf;AAEA,MAAI,MAAM;AACV,MAAI,SAAc;AAClB,aAAW,OAAO,oBAAoB;AACpC,QAAI,UAAU,MAAa;AACzB,eAAS,UAAU;AAAA,IACrB,OAAO;AACL,UAAI,QAAQ;AACV,cAAM,OAAO,KAAK,GAAG;AACrB,iBAAS;AAAA,MACX,OAAO;AACL,cAAM,CAAC;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,MAAM,4BAA4B,CAAC,MAAW;AAC5C,QAAM,WAAW,oBAAoB,CAAC;AACtC,MAAI,OAAO,aAAa,UAAU;AAChC,WAAO,GAAG;AAAA,EACZ;AACA,SAAO;AACT;",
6
+ "names": ["res"]
7
+ }
@@ -0,0 +1,42 @@
1
+ import { getVariableValue } from "../createVariable";
2
+ const getFont = (val = "$4", { fonts, theme, props }) => {
3
+ var _a, _b, _c;
4
+ const family = getVariableValue(props.fontFamily) || "$body";
5
+ const font = fonts[family] || fonts["$body"];
6
+ if (!font) {
7
+ if (process.env.NODE_ENV === "development") {
8
+ console.warn("\u26A0\uFE0F no font found", { family, fontTokens: Object.keys(fonts), val });
9
+ }
10
+ return {};
11
+ }
12
+ const fontFamily = font.family;
13
+ const fontSize = props.fontSize || font.size[val];
14
+ const lineHeight = props.lineHeight || font.lineHeight[val];
15
+ const fontWeight = props.fontWeight || font.weight[val];
16
+ const letterSpacing = props.letterSpacing || font.letterSpacing[val];
17
+ const fontStyle = props.fontStyle || ((_a = font.style) == null ? void 0 : _a[val]);
18
+ const textTransform = props.textTransform || ((_b = font.transform) == null ? void 0 : _b[val]);
19
+ const color = props.color || ((_c = font.color) == null ? void 0 : _c[val]) || theme.color;
20
+ const style = {
21
+ color,
22
+ fontStyle,
23
+ textTransform,
24
+ fontFamily,
25
+ fontWeight,
26
+ letterSpacing,
27
+ fontSize,
28
+ lineHeight
29
+ };
30
+ if (process.env.NODE_ENV === "development") {
31
+ if (props["debug"]) {
32
+ console.groupCollapsed(" \u{1F539} getFont", val, props["fontWeight"], props["fow"]);
33
+ console.log({ style, props, font });
34
+ console.groupEnd();
35
+ }
36
+ }
37
+ return style;
38
+ };
39
+ export {
40
+ getFont
41
+ };
42
+ //# sourceMappingURL=getFont.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getFont.tsx"],
4
+ "sourcesContent": ["/* eslint-disable no-console */\nimport { getVariableValue } from '../createVariable'\nimport { FontSizeTokens, TextProps, VariantSpreadFunction } from '../types'\n\nexport const getFont: VariantSpreadFunction<TextProps, FontSizeTokens> = (\n val = '$4',\n { fonts, theme, props }\n) => {\n const family = getVariableValue(props.fontFamily) || '$body'\n const font = fonts[family] || fonts['$body']\n if (!font) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('\u26A0\uFE0F no font found', { family, fontTokens: Object.keys(fonts), val })\n }\n return {} as any\n }\n const fontFamily = font.family\n const fontSize = props.fontSize || font.size[val]\n const lineHeight = props.lineHeight || font.lineHeight[val]\n const fontWeight = props.fontWeight || font.weight[val]\n const letterSpacing = props.letterSpacing || font.letterSpacing[val]\n const fontStyle = props.fontStyle || font.style?.[val]\n const textTransform = props.textTransform || font.transform?.[val]\n const color = props.color || font.color?.[val] || theme.color\n const style = {\n color,\n fontStyle,\n textTransform,\n fontFamily,\n fontWeight,\n letterSpacing,\n fontSize,\n lineHeight,\n }\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.groupCollapsed(' \uD83D\uDD39 getFont', val, props['fontWeight'], props['fow'])\n console.log({ style, props, font })\n console.groupEnd()\n }\n }\n return style\n}\n"],
5
+ "mappings": "AACA,SAAS,wBAAwB;AAG1B,MAAM,UAA4D,CACvE,MAAM,MACN,EAAE,OAAO,OAAO,MAAM,MACnB;AAPL;AAQE,QAAM,SAAS,iBAAiB,MAAM,UAAU,KAAK;AACrD,QAAM,OAAO,MAAM,WAAW,MAAM;AACpC,MAAI,CAAC,MAAM;AACT,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ,KAAK,8BAAoB,EAAE,QAAQ,YAAY,OAAO,KAAK,KAAK,GAAG,IAAI,CAAC;AAAA,IAClF;AACA,WAAO,CAAC;AAAA,EACV;AACA,QAAM,aAAa,KAAK;AACxB,QAAM,WAAW,MAAM,YAAY,KAAK,KAAK;AAC7C,QAAM,aAAa,MAAM,cAAc,KAAK,WAAW;AACvD,QAAM,aAAa,MAAM,cAAc,KAAK,OAAO;AACnD,QAAM,gBAAgB,MAAM,iBAAiB,KAAK,cAAc;AAChE,QAAM,YAAY,MAAM,eAAa,UAAK,UAAL,mBAAa;AAClD,QAAM,gBAAgB,MAAM,mBAAiB,UAAK,cAAL,mBAAiB;AAC9D,QAAM,QAAQ,MAAM,WAAS,UAAK,UAAL,mBAAa,SAAQ,MAAM;AACxD,QAAM,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,MAAM,UAAU;AAClB,cAAQ,eAAe,uBAAgB,KAAK,MAAM,eAAe,MAAM,MAAM;AAC7E,cAAQ,IAAI,EAAE,OAAO,OAAO,KAAK,CAAC;AAClC,cAAQ,SAAS;AAAA,IACnB;AAAA,EACF;AACA,SAAO;AACT;",
6
+ "names": []
7
+ }