@tamagui/core 1.74.21 → 1.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cjs/createOptimizedView.js +26 -0
  2. package/dist/cjs/createOptimizedView.js.map +6 -0
  3. package/dist/cjs/createOptimizedView.native.js +228 -0
  4. package/dist/cjs/createOptimizedView.native.js.map +6 -0
  5. package/dist/cjs/getBaseViews.native.js +5 -2
  6. package/dist/cjs/getBaseViews.native.js.map +1 -1
  7. package/dist/cjs/index.js +2 -17
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/index.native.js +10 -17
  10. package/dist/cjs/index.native.js.map +1 -1
  11. package/dist/esm/createOptimizedView.js +6 -0
  12. package/dist/esm/createOptimizedView.js.map +6 -0
  13. package/dist/esm/createOptimizedView.native.js +206 -0
  14. package/dist/esm/createOptimizedView.native.js.map +6 -0
  15. package/dist/esm/getBaseViews.native.js +5 -2
  16. package/dist/esm/getBaseViews.native.js.map +1 -1
  17. package/dist/esm/index.js +3 -16
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/index.native.js +11 -16
  20. package/dist/esm/index.native.js.map +1 -1
  21. package/dist/native.js +317 -119
  22. package/dist/native.js.map +3 -3
  23. package/dist/test.native.js +297 -101
  24. package/dist/test.native.js.map +3 -3
  25. package/package.json +6 -6
  26. package/src/createOptimizedView.native.tsx +268 -0
  27. package/src/createOptimizedView.tsx +5 -0
  28. package/src/getBaseViews.native.ts +15 -1
  29. package/src/index.tsx +25 -16
  30. package/types/createOptimizedView.d.ts +2 -0
  31. package/types/createOptimizedView.d.ts.map +1 -0
  32. package/types/createOptimizedView.native.d.ts +17 -0
  33. package/types/createOptimizedView.native.d.ts.map +1 -0
  34. package/types/getBaseViews.native.d.ts +2 -0
  35. package/types/getBaseViews.native.d.ts.map +1 -1
  36. package/types/index.d.ts +4 -4
  37. package/types/index.d.ts.map +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/getBaseViews.native.ts"],
4
- "mappings": "AAAO,SAAS,eAAe;AAC7B,QAAM,SAAS,QAAQ,cAAc;AAErC,SAAO;AAAA,IACL,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAAA,IACpC,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAAA,IACpC,WAAW,OAAO,aAAa,OAAO,QAAQ;AAAA,EAChD;AACF;",
4
+ "mappings": "AAAO,SAAS,eAAe;AAC7B,QAAM,SAAS,QAAQ,cAAc;AAErC,MAAI,MACA;AAEJ,SAAI,QAAQ,IAAI,aAAa,WAC3B,OAAO,QAAQ,4DAA4D,EAAE,SAC7E,eAAe,QAAQ,0CAA0C,IAG9D,SACH,OAAO,OAAO,QAAQ,OAAO,QAAQ,OAGhC;AAAA,IACL;AAAA,IACA,MAAM,OAAO,QAAQ,OAAO,QAAQ;AAAA,IACpC,YAAY,OAAO,cAAc,OAAO,QAAQ;AAAA,IAChD;AAAA,IACA,WAAW,OAAO,aAAa,OAAO,QAAQ;AAAA,EAChD;AACF;",
5
5
  "names": []
6
6
  }
package/dist/esm/index.js CHANGED
@@ -4,13 +4,15 @@ import {
4
4
  Text as WebText,
5
5
  setupHooks
6
6
  } from "@tamagui/web";
7
+ import "react";
8
+ import "./createOptimizedView";
7
9
  import { getBaseViews } from "./getBaseViews";
8
10
  import { useElementLayout } from "./hooks/useElementLayout";
9
11
  import { usePlatformMethods } from "./hooks/usePlatformMethods";
10
12
  import "./vendor/Pressability";
11
13
  export * from "@tamagui/web";
12
14
  export * from "./reactNativeTypes";
13
- const Stack = WebStack, Text = WebText;
15
+ const Stack = WebStack, Text = WebText, baseViews = getBaseViews();
14
16
  setupHooks({
15
17
  getBaseViews,
16
18
  usePropsTransform(elementType, propsIn, hostRef) {
@@ -67,21 +69,6 @@ setupHooks({
67
69
  },
68
70
  useEvents(viewProps, events, { pseudos }, setStateShallow, staticConfig) {
69
71
  }
70
- // attempt at properly fixing RN input, but <Pressable><TextInput /> just doesnt work on RN
71
- // useChildren(children, viewProps, events, staticConfig) {
72
- // if (process.env.TAMAGUI_TARGET === 'native') {
73
- // if (staticConfig.isInput && !staticConfig.isHOC) {
74
- // const Pressable = getBaseViews().Pressable
75
- // console.log(
76
- // 'wrapping in pressable',
77
- // events?.['onPressIn']?.toString(),
78
- // viewProps['onPressIn']
79
- // )
80
- // // we need to wrap it in a view?
81
- // return <Pressable {...events}>{children}</Pressable>
82
- // }
83
- // }
84
- // },
85
72
  });
86
73
  export {
87
74
  Stack,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
- "mappings": "AAAA,SAAS,0BAA0B;AAWnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EAER;AAAA,OACK;AAGP,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAEnC,OAAgC;AAGhC,cAAc;AAGd,cAAc;AAMP,MAAM,QAAQ,UASR,OAAO;AASpB,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,SAAS;AAE/C,UAAM;AAAA;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MAEA,GAAG;AAAA,IACL,IAAI;AAyBJ,QAvBA,mBAAmB,OAA6B,GAChD,iBAAiB,SAA+B,QAAe,GAC/D,mBAAmB,SAAS;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAQ,GAIJ,UAAU,SAAS,UAAa,cAAc,QAAW;AAC3D,YAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,MAAI,YAAY,SACd,UAAU,WAAW,WAEnB,OAAO,SACT,UAAU,MAAM,MAEd,OAAO,UAAW,aACpB,UAAU,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,IAEjE;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAAA,EA6CzE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBF,CAAC;",
4
+ "mappings": "AAAA,SAAS,0BAA0B;AAUnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EAER;AAAA,OACK;AACP,OAAyC;AAEzC,OAAoC;AACpC,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAEnC,OAAgC;AAGhC,cAAc;AAGd,cAAc;AAMP,MAAM,QAAQ,UASR,OAAO,SAOd,YAAY,aAAa;AAI/B,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,SAAS;AAE/C,UAAM;AAAA;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MAEA,GAAG;AAAA,IACL,IAAI;AAyBJ,QAvBA,mBAAmB,OAA6B,GAChD,iBAAiB,SAA+B,QAAe,GAC/D,mBAAmB,SAAS;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAQ,GAIJ,UAAU,SAAS,UAAa,cAAc,QAAW;AAC3D,YAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,MAAI,YAAY,SACd,UAAU,WAAW,WAEnB,OAAO,SACT,UAAU,MAAM,MAEd,OAAO,UAAW,aACpB,UAAU,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,IAEjE;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AAAA,EA6CzE;AAwBF,CAAC;",
5
5
  "names": []
6
6
  }
@@ -5,13 +5,15 @@ import {
5
5
  composeEventHandlers,
6
6
  setupHooks
7
7
  } from "@tamagui/web";
8
+ import { createElement } from "react";
9
+ import { createOptimizedView } from "./createOptimizedView";
8
10
  import { getBaseViews } from "./getBaseViews";
9
11
  import { useElementLayout } from "./hooks/useElementLayout";
10
12
  import { usePlatformMethods } from "./hooks/usePlatformMethods";
11
13
  import { usePressability } from "./vendor/Pressability";
12
14
  export * from "@tamagui/web";
13
15
  export * from "./reactNativeTypes";
14
- const Stack = WebStack, Text = WebText;
16
+ const Stack = WebStack, Text = WebText, baseViews = getBaseViews();
15
17
  setupHooks({
16
18
  getBaseViews,
17
19
  usePropsTransform(elementType, propsIn, hostRef) {
@@ -84,22 +86,15 @@ setupHooks({
84
86
  viewProps[key] = og && !dontComposePressabilityKeys[key] ? composeEventHandlers(og, val) : val;
85
87
  }
86
88
  }
89
+ },
90
+ useChildren(elementType, children, viewProps, events, staticConfig) {
91
+ if (process.env.NODE_ENV !== "test") {
92
+ if (elementType === baseViews.View)
93
+ return createOptimizedView(children, viewProps, baseViews);
94
+ if (process.env.TAMAGUI_OPTIMIZE_NATIVE_VIEWS && elementType === baseViews.Text)
95
+ return viewProps.children = children, createElement("RCTText", viewProps);
96
+ }
87
97
  }
88
- // attempt at properly fixing RN input, but <Pressable><TextInput /> just doesnt work on RN
89
- // useChildren(children, viewProps, events, staticConfig) {
90
- // if (process.env.TAMAGUI_TARGET === 'native') {
91
- // if (staticConfig.isInput && !staticConfig.isHOC) {
92
- // const Pressable = getBaseViews().Pressable
93
- // console.log(
94
- // 'wrapping in pressable',
95
- // events?.['onPressIn']?.toString(),
96
- // viewProps['onPressIn']
97
- // )
98
- // // we need to wrap it in a view?
99
- // return <Pressable {...events}>{children}</Pressable>
100
- // }
101
- // }
102
- // },
103
98
  });
104
99
  const dontComposePressabilityKeys = {
105
100
  onClick: !0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
- "mappings": "AAAA,SAAS,0BAA0B;AAWnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,OACK;AAGP,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAGhC,cAAc;AAGd,cAAc;AAMP,MAAM,QAAQ,UASR,OAAO;AASpB,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,SAAS;AAE/C,UAAM;AAAA;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MAEA,GAAG;AAAA,IACL,IAAI;AAyBJ,QAvBA,mBAAmB,OAA6B,GAChD,iBAAiB,SAA+B,QAAe,GAC/D,mBAAmB,SAAS;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAQ,GAIJ,UAAU,SAAS,UAAa,cAAc,QAAW;AAC3D,YAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,MAAI,YAAY,SACd,UAAU,WAAW,WAEnB,OAAO,SACT,UAAU,MAAM,MAEd,OAAO,UAAW,aACpB,UAAU,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,IAEjE;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AASrE,QAPI,QAAQ,YACV,UAAU,UAAa,OAAO,UAE5B,QAAQ,WACV,UAAU,SAAY,OAAO,SAG3B,aAAa;AACf,UAAI,QAAQ;AACV,cAAM,EAAE,WAAW,YAAY,QAAQ,IAAI,QACrC,cAAc;AAAA,UAClB;AAAA,UACA,YAAY,cAAc;AAAA,QAC5B;AACA,QAAI,cAAc,YAEhB,YAAY,aAAa,qBAAqB,SAAS,UAAU,IAEnE,OAAO,OAAO,WAAW,WAAW;AAAA,MACtC;AAAA,WACK;AAGL,MAAI,UAAU,UAAU,YACtB,OAAO,UAAU,UAAU;AAG7B,YAAM,eAAe,gBAAgB,UAAU,IAAI;AAEnD,UAAI,UACE,OAAO;AACT,mBAAW,OAAO,cAAc;AAC9B,gBAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,oBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,IAClC,qBAAqB,IAAI,GAAG,IAC5B;AAAA,QACR;AAAA,IAGN;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBF,CAAC;AAED,MAAM,8BAA8B;AAAA,EAClC,SAAS;AACX;",
4
+ "mappings": "AAAA,SAAS,0BAA0B;AAUnC;AAAA,EACE,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,OACK;AACP,SAAoB,qBAAqB;AAEzC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAEnC,SAAS,uBAAuB;AAGhC,cAAc;AAGd,cAAc;AAMP,MAAM,QAAQ,UASR,OAAO,SAOd,YAAY,aAAa;AAI/B,WAAW;AAAA,EACT;AAAA,EAEA,kBAAkB,aAAa,SAAS,SAAS;AAE/C,UAAM;AAAA;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA;AAAA,MAGA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MAEA,GAAG;AAAA,IACL,IAAI;AAyBJ,QAvBA,mBAAmB,OAA6B,GAChD,iBAAiB,SAA+B,QAAe,GAC/D,mBAAmB,SAAS;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAQ,GAIJ,UAAU,SAAS,UAAa,cAAc,QAAW;AAC3D,YAAM,EAAE,UAAU,KAAK,OAAO,IAAI;AAClC,MAAI,YAAY,SACd,UAAU,WAAW,WAEnB,OAAO,SACT,UAAU,MAAM,MAEd,OAAO,UAAW,aACpB,UAAU,SAAS,OAAO,OAAO,CAAC,MAAM,MAAM,IAAI,MAAM,KAAK;AAAA,IAEjE;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,UAAU,WAAW,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,cAAc;AASrE,QAPI,QAAQ,YACV,UAAU,UAAa,OAAO,UAE5B,QAAQ,WACV,UAAU,SAAY,OAAO,SAG3B,aAAa;AACf,UAAI,QAAQ;AACV,cAAM,EAAE,WAAW,YAAY,QAAQ,IAAI,QACrC,cAAc;AAAA,UAClB;AAAA,UACA,YAAY,cAAc;AAAA,QAC5B;AACA,QAAI,cAAc,YAEhB,YAAY,aAAa,qBAAqB,SAAS,UAAU,IAEnE,OAAO,OAAO,WAAW,WAAW;AAAA,MACtC;AAAA,WACK;AAGL,MAAI,UAAU,UAAU,YACtB,OAAO,UAAU,UAAU;AAG7B,YAAM,eAAe,gBAAgB,UAAU,IAAI;AAEnD,UAAI,UACE,OAAO;AACT,mBAAW,OAAO,cAAc;AAC9B,gBAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,oBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,IAClC,qBAAqB,IAAI,GAAG,IAC5B;AAAA,QACR;AAAA,IAGN;AAAA,EAEJ;AAAA,EAIE,YAAY,aAAa,UAAU,WAAW,QAAQ,cAAc;AAClE,QAAI,QAAQ,IAAI,aAAa,QAK7B;AAAA,UAAI,gBAAgB,UAAU;AAE5B,eAAO,oBAAoB,UAAU,WAAW,SAAS;AAG3D,UAAI,QAAQ,IAAI,iCACV,gBAAgB,UAAU;AAE5B,yBAAU,WAAW,UACd,cAAc,WAAW,SAAS;AAAA;AAAA,EAG/C;AAEJ,CAAC;AAED,MAAM,8BAA8B;AAAA,EAClC,SAAS;AACX;",
5
5
  "names": []
6
6
  }