@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,22 @@
1
+ import { getSize, stepTokenUpOrDown } from "./getSize";
2
+ const getButtonSize = (val, { tokens }) => {
3
+ if (typeof val === "number") {
4
+ return {
5
+ paddingHorizontal: val * 0.25,
6
+ height: val,
7
+ borderRadius: val * 0.2
8
+ };
9
+ }
10
+ const ySize = getSize(val, 0);
11
+ const xSize = stepTokenUpOrDown(tokens.space, val);
12
+ const radiusToken = tokens.radius[val] ?? tokens.radius["$4"];
13
+ return {
14
+ paddingHorizontal: xSize,
15
+ height: ySize,
16
+ borderRadius: radiusToken
17
+ };
18
+ };
19
+ export {
20
+ getButtonSize
21
+ };
22
+ //# sourceMappingURL=getStackSize.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getStackSize.ts"],
4
+ "sourcesContent": ["import { SizeTokens, VariantSpreadExtras } from '../types'\nimport { getSize, stepTokenUpOrDown } from './getSize'\n\nexport type ScaleVariantExtras = Pick<VariantSpreadExtras<any>, 'tokens' | 'props' | 'fonts'>\n\nexport const getButtonSize = (val: SizeTokens | number, { tokens }: VariantSpreadExtras<any>) => {\n if (typeof val === 'number') {\n return {\n paddingHorizontal: val * 0.25,\n height: val,\n borderRadius: val * 0.2,\n }\n }\n const ySize = getSize(val, 0)\n const xSize = stepTokenUpOrDown(tokens.space, val)\n const radiusToken = tokens.radius[val] ?? tokens.radius['$4']\n return {\n paddingHorizontal: xSize,\n height: ySize,\n borderRadius: radiusToken,\n }\n}\n"],
5
+ "mappings": "AACA,SAAS,SAAS,yBAAyB;AAIpC,MAAM,gBAAgB,CAAC,KAA0B,EAAE,OAAO,MAAgC;AAC/F,MAAI,OAAO,QAAQ,UAAU;AAC3B,WAAO;AAAA,MACL,mBAAmB,MAAM;AAAA,MACzB,QAAQ;AAAA,MACR,cAAc,MAAM;AAAA,IACtB;AAAA,EACF;AACA,QAAM,QAAQ,QAAQ,KAAK,CAAC;AAC5B,QAAM,QAAQ,kBAAkB,OAAO,OAAO,GAAG;AACjD,QAAM,cAAc,OAAO,OAAO,QAAQ,OAAO,OAAO;AACxD,SAAO;AAAA,IACL,mBAAmB;AAAA,IACnB,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ const startTransition = React.startTransition || ((cb) => cb());
3
+ export {
4
+ startTransition
5
+ };
6
+ //# sourceMappingURL=startTransition.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/startTransition.ts"],
4
+ "sourcesContent": ["import React from 'react'\n\n// backwards compat\nexport const startTransition = React.startTransition || ((cb) => cb())\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAGX,MAAM,kBAAkB,MAAM,oBAAoB,CAAC,OAAO,GAAG;",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ import { useMemo, useRef } from "react";
2
+ function useConstant(fn) {
3
+ if (typeof document === "undefined") {
4
+ return useMemo(() => fn(), []);
5
+ }
6
+ const ref = useRef();
7
+ if (!ref.current) {
8
+ ref.current = { v: fn() };
9
+ }
10
+ return ref.current.v;
11
+ }
12
+ export {
13
+ useConstant
14
+ };
15
+ //# 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,SAAS,SAAS,cAAc;AAIzB,SAAS,YAAe,IAAgB;AAE7C,MAAI,OAAO,aAAa,aAAa;AAEnC,WAAO,QAAQ,MAAM,GAAG,GAAG,CAAC,CAAC;AAAA,EAC/B;AAEA,QAAM,MAAM,OAAqB;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,16 @@
1
+ import { useIsomorphicLayoutEffect } from "@tamagui/constants";
2
+ import { useRef } from "react";
3
+ function useIsMounted() {
4
+ const isMounted = useRef(false);
5
+ useIsomorphicLayoutEffect(() => {
6
+ isMounted.current = true;
7
+ return () => {
8
+ isMounted.current = false;
9
+ };
10
+ }, []);
11
+ return isMounted;
12
+ }
13
+ export {
14
+ useIsMounted
15
+ };
16
+ //# 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,SAAS,iCAAiC;AAC1C,SAAS,cAAc;AAEhB,SAAS,eAAe;AAC7B,QAAM,YAAY,OAAO,KAAK;AAE9B,4BAA0B,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,12 @@
1
+ var _a, _b;
2
+ import { Pressable } from "react-native";
3
+ const getPressable = (_b = (_a = Pressable) == null ? void 0 : _a["type"]) == null ? void 0 : _b["render"];
4
+ const usePressable = (props) => {
5
+ const out = getPressable(props);
6
+ const { children, style, ...pressableProps } = out.props;
7
+ return [pressableProps, style];
8
+ };
9
+ export {
10
+ usePressable
11
+ };
12
+ //# 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,SAAS,iBAAiC;AAE1C,MAAM,gBAAe,4CAAY,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,8 @@
1
+ import { useEffect } from "react";
2
+ function useUnmountEffect(callback) {
3
+ return useEffect(() => () => callback(), []);
4
+ }
5
+ export {
6
+ useUnmountEffect
7
+ };
8
+ //# 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,SAAS,iBAAiB;AAEnB,SAAS,iBAAiB,UAAsB;AACrD,SAAO,UAAU,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC;AAC7C;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ const stylesheets = {};
2
+ const injectStyles = ({ filePath, css }) => {
3
+ let stylesheet = stylesheets[filePath];
4
+ if (!stylesheet) {
5
+ const styleEl = document.createElement("style");
6
+ styleEl.setAttribute("data-file", filePath);
7
+ styleEl.setAttribute("type", "text/css");
8
+ stylesheet = stylesheets[filePath] = styleEl;
9
+ document.head.appendChild(styleEl);
10
+ }
11
+ stylesheet.innerHTML = css;
12
+ };
13
+ export {
14
+ injectStyles
15
+ };
16
+ //# 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": "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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/core",
3
- "version": "1.0.1-beta.198",
3
+ "version": "1.0.1-beta.199",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -28,24 +28,23 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@expo/match-media": "^0.3.0",
31
- "@tamagui/compose-refs": "^1.0.1-beta.198",
32
- "@tamagui/constants": "^1.0.1-beta.198",
33
- "@tamagui/helpers": "^1.0.1-beta.198",
34
- "@tamagui/normalize-css-color-lite": "^1.0.1-beta.198",
35
- "@tamagui/react-native-use-pressable": "^1.0.1-beta.198",
36
- "@tamagui/react-native-use-responder-events": "^1.0.1-beta.198",
37
- "@tamagui/types-react-native": "^1.0.1-beta.198",
38
- "@tamagui/use-did-finish-ssr": "^1.0.1-beta.198",
39
- "@tamagui/use-event": "^1.0.1-beta.198",
40
- "@tamagui/use-force-update": "^1.0.1-beta.198",
41
- "ts-toolbelt": "^9.6.0"
31
+ "@tamagui/compose-refs": "^1.0.1-beta.199",
32
+ "@tamagui/constants": "^1.0.1-beta.199",
33
+ "@tamagui/helpers": "^1.0.1-beta.199",
34
+ "@tamagui/normalize-css-color-lite": "^1.0.1-beta.199",
35
+ "@tamagui/react-native-use-pressable": "^1.0.1-beta.199",
36
+ "@tamagui/react-native-use-responder-events": "^1.0.1-beta.199",
37
+ "@tamagui/types-react-native": "^1.0.1-beta.199",
38
+ "@tamagui/use-did-finish-ssr": "^1.0.1-beta.199",
39
+ "@tamagui/use-event": "^1.0.1-beta.199",
40
+ "@tamagui/use-force-update": "^1.0.1-beta.199"
42
41
  },
43
42
  "peerDependencies": {
44
43
  "react": "*",
45
44
  "react-dom": "*"
46
45
  },
47
46
  "devDependencies": {
48
- "@tamagui/build": "^1.0.1-beta.198",
47
+ "@tamagui/build": "^1.0.1-beta.199",
49
48
  "@types/node": "^16.11.9",
50
49
  "@types/react": "^18.0.15",
51
50
  "@types/react-native": "^0.69.2",