@tamagui/helpers 2.0.0-rc.8 → 2.0.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 (87) hide show
  1. package/dist/cjs/clamp.cjs +12 -10
  2. package/dist/cjs/clamp.native.js +12 -10
  3. package/dist/cjs/clamp.native.js.map +1 -1
  4. package/dist/cjs/composeEventHandlers.cjs +22 -14
  5. package/dist/cjs/composeEventHandlers.native.js +23 -15
  6. package/dist/cjs/composeEventHandlers.native.js.map +1 -1
  7. package/dist/cjs/index.cjs +7 -5
  8. package/dist/cjs/index.native.js +7 -5
  9. package/dist/cjs/index.native.js.map +1 -1
  10. package/dist/cjs/shouldRenderNativePlatform.cjs +28 -15
  11. package/dist/cjs/shouldRenderNativePlatform.native.js +44 -28
  12. package/dist/cjs/shouldRenderNativePlatform.native.js.map +1 -1
  13. package/dist/cjs/types.cjs +17 -15
  14. package/dist/cjs/types.native.js +17 -15
  15. package/dist/cjs/types.native.js.map +1 -1
  16. package/dist/cjs/validStyleProps.cjs +307 -297
  17. package/dist/cjs/validStyleProps.native.js +302 -292
  18. package/dist/cjs/validStyleProps.native.js.map +1 -1
  19. package/dist/cjs/webOnlyStyleProps.cjs +88 -78
  20. package/dist/cjs/webOnlyStyleProps.native.js +88 -78
  21. package/dist/cjs/webOnlyStyleProps.native.js.map +1 -1
  22. package/dist/cjs/withStaticProperties.cjs +18 -12
  23. package/dist/cjs/withStaticProperties.native.js +18 -14
  24. package/dist/cjs/withStaticProperties.native.js.map +1 -1
  25. package/dist/esm/composeEventHandlers.mjs +10 -4
  26. package/dist/esm/composeEventHandlers.mjs.map +1 -1
  27. package/dist/esm/composeEventHandlers.native.js +11 -5
  28. package/dist/esm/composeEventHandlers.native.js.map +1 -1
  29. package/dist/esm/index.js +7 -7
  30. package/dist/esm/index.js.map +1 -6
  31. package/dist/esm/shouldRenderNativePlatform.mjs +16 -5
  32. package/dist/esm/shouldRenderNativePlatform.mjs.map +1 -1
  33. package/dist/esm/shouldRenderNativePlatform.native.js +30 -16
  34. package/dist/esm/shouldRenderNativePlatform.native.js.map +1 -1
  35. package/dist/esm/types.mjs +5 -5
  36. package/dist/esm/types.mjs.map +1 -1
  37. package/dist/esm/types.native.js +5 -5
  38. package/dist/esm/types.native.js.map +1 -1
  39. package/dist/esm/validStyleProps.mjs +294 -287
  40. package/dist/esm/validStyleProps.mjs.map +1 -1
  41. package/dist/esm/validStyleProps.native.js +288 -281
  42. package/dist/esm/validStyleProps.native.js.map +1 -1
  43. package/dist/esm/webOnlyStyleProps.mjs +75 -69
  44. package/dist/esm/webOnlyStyleProps.mjs.map +1 -1
  45. package/dist/esm/webOnlyStyleProps.native.js +75 -69
  46. package/dist/esm/webOnlyStyleProps.native.js.map +1 -1
  47. package/dist/esm/withStaticProperties.mjs +6 -2
  48. package/dist/esm/withStaticProperties.mjs.map +1 -1
  49. package/dist/esm/withStaticProperties.native.js +6 -4
  50. package/dist/esm/withStaticProperties.native.js.map +1 -1
  51. package/package.json +7 -10
  52. package/src/validStyleProps.ts +77 -38
  53. package/src/webOnlyStyleProps.ts +40 -29
  54. package/types/validStyleProps.d.ts +312 -238
  55. package/types/validStyleProps.d.ts.map +1 -1
  56. package/types/webOnlyStyleProps.d.ts +60 -20
  57. package/types/webOnlyStyleProps.d.ts.map +1 -1
  58. package/dist/cjs/clamp.js +0 -23
  59. package/dist/cjs/clamp.js.map +0 -6
  60. package/dist/cjs/composeEventHandlers.js +0 -27
  61. package/dist/cjs/composeEventHandlers.js.map +0 -6
  62. package/dist/cjs/index.js +0 -22
  63. package/dist/cjs/index.js.map +0 -6
  64. package/dist/cjs/shouldRenderNativePlatform.js +0 -35
  65. package/dist/cjs/shouldRenderNativePlatform.js.map +0 -6
  66. package/dist/cjs/types.js +0 -25
  67. package/dist/cjs/types.js.map +0 -6
  68. package/dist/cjs/validStyleProps.js +0 -307
  69. package/dist/cjs/validStyleProps.js.map +0 -6
  70. package/dist/cjs/webOnlyStyleProps.js +0 -89
  71. package/dist/cjs/webOnlyStyleProps.js.map +0 -6
  72. package/dist/cjs/withStaticProperties.js +0 -21
  73. package/dist/cjs/withStaticProperties.js.map +0 -6
  74. package/dist/esm/clamp.js +0 -7
  75. package/dist/esm/clamp.js.map +0 -6
  76. package/dist/esm/composeEventHandlers.js +0 -11
  77. package/dist/esm/composeEventHandlers.js.map +0 -6
  78. package/dist/esm/shouldRenderNativePlatform.js +0 -19
  79. package/dist/esm/shouldRenderNativePlatform.js.map +0 -6
  80. package/dist/esm/types.js +0 -9
  81. package/dist/esm/types.js.map +0 -6
  82. package/dist/esm/validStyleProps.js +0 -292
  83. package/dist/esm/validStyleProps.js.map +0 -6
  84. package/dist/esm/webOnlyStyleProps.js +0 -73
  85. package/dist/esm/webOnlyStyleProps.js.map +0 -6
  86. package/dist/esm/withStaticProperties.js +0 -5
  87. package/dist/esm/withStaticProperties.js.map +0 -6
@@ -1,71 +1,77 @@
1
+ const nonAnimatableWebViewProps = {
2
+ backgroundAttachment: true,
3
+ backgroundBlendMode: true,
4
+ backgroundClip: true,
5
+ backgroundOrigin: true,
6
+ backgroundRepeat: true,
7
+ borderBottomStyle: true,
8
+ borderLeftStyle: true,
9
+ borderRightStyle: true,
10
+ borderTopStyle: true,
11
+ contain: true,
12
+ containerType: true,
13
+ content: true,
14
+ float: true,
15
+ maskBorderMode: true,
16
+ maskBorderRepeat: true,
17
+ maskClip: true,
18
+ maskComposite: true,
19
+ maskMode: true,
20
+ maskOrigin: true,
21
+ maskRepeat: true,
22
+ maskType: true,
23
+ objectFit: true,
24
+ overflowBlock: true,
25
+ overflowInline: true,
26
+ overflowX: true,
27
+ overflowY: true,
28
+ // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style)
29
+ pointerEvents: true,
30
+ scrollbarWidth: true,
31
+ textWrap: true,
32
+ touchAction: true,
33
+ transformStyle: true,
34
+ willChange: true
35
+ };
36
+ const nonAnimatableWebTextProps = {
37
+ whiteSpace: true,
38
+ wordWrap: true,
39
+ textOverflow: true,
40
+ WebkitBoxOrient: true
41
+ };
1
42
  const webOnlyStylePropsView = {
2
- transition: !0,
3
- textWrap: !0,
4
- backdropFilter: !0,
5
- WebkitBackdropFilter: !0,
6
- background: !0,
7
- borderTop: !0,
8
- borderRight: !0,
9
- borderBottom: !0,
10
- borderLeft: !0,
11
- backgroundAttachment: !0,
12
- backgroundBlendMode: !0,
13
- backgroundClip: !0,
14
- backgroundOrigin: !0,
15
- backgroundPosition: !0,
16
- backgroundRepeat: !0,
17
- backgroundSize: !0,
18
- borderBottomStyle: !0,
19
- borderImage: !0,
20
- borderLeftStyle: !0,
21
- borderRightStyle: !0,
22
- borderTopStyle: !0,
23
- caretColor: !0,
24
- clipPath: !0,
25
- contain: !0,
26
- containerType: !0,
27
- content: !0,
28
- float: !0,
29
- mask: !0,
30
- maskBorder: !0,
31
- maskBorderMode: !0,
32
- maskBorderOutset: !0,
33
- maskBorderRepeat: !0,
34
- maskBorderSlice: !0,
35
- maskBorderSource: !0,
36
- maskBorderWidth: !0,
37
- maskClip: !0,
38
- maskComposite: !0,
39
- maskImage: !0,
40
- maskMode: !0,
41
- maskOrigin: !0,
42
- maskPosition: !0,
43
- maskRepeat: !0,
44
- maskSize: !0,
45
- maskType: !0,
46
- objectFit: !0,
47
- objectPosition: !0,
48
- overflowBlock: !0,
49
- overflowInline: !0,
50
- overflowX: !0,
51
- overflowY: !0,
52
- // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style)
53
- pointerEvents: !0,
54
- scrollbarWidth: !0,
55
- textEmphasis: !0,
56
- touchAction: !0,
57
- transformStyle: !0,
58
- userSelect: !0,
59
- willChange: !0
60
- },
61
- webOnlyStylePropsText = {
62
- whiteSpace: !0,
63
- wordWrap: !0,
64
- textOverflow: !0,
65
- textDecorationDistance: !0,
66
- // cursor: now cross-platform - in stylePropsView
67
- WebkitLineClamp: !0,
68
- WebkitBoxOrient: !0
69
- };
70
- export { webOnlyStylePropsText, webOnlyStylePropsView };
43
+ ...nonAnimatableWebViewProps,
44
+ transition: true,
45
+ backdropFilter: true,
46
+ WebkitBackdropFilter: true,
47
+ background: true,
48
+ borderTop: true,
49
+ borderRight: true,
50
+ borderBottom: true,
51
+ borderLeft: true,
52
+ backgroundPosition: true,
53
+ backgroundSize: true,
54
+ borderImage: true,
55
+ caretColor: true,
56
+ clipPath: true,
57
+ mask: true,
58
+ maskBorder: true,
59
+ maskBorderOutset: true,
60
+ maskBorderSlice: true,
61
+ maskBorderSource: true,
62
+ maskBorderWidth: true,
63
+ maskImage: true,
64
+ maskPosition: true,
65
+ maskSize: true,
66
+ objectPosition: true,
67
+ textEmphasis: true,
68
+ userSelect: true
69
+ };
70
+ const webOnlyStylePropsText = {
71
+ ...nonAnimatableWebTextProps,
72
+ textDecorationDistance: true,
73
+ // cursor: now cross-platform - in stylePropsView
74
+ WebkitLineClamp: true
75
+ };
76
+ export { nonAnimatableWebTextProps, nonAnimatableWebViewProps, webOnlyStylePropsText, webOnlyStylePropsView };
71
77
  //# sourceMappingURL=webOnlyStyleProps.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["webOnlyStylePropsView","transition","textWrap","backdropFilter","WebkitBackdropFilter","background","borderTop","borderRight","borderBottom","borderLeft","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundOrigin","backgroundPosition","backgroundRepeat","backgroundSize","borderBottomStyle","borderImage","borderLeftStyle","borderRightStyle","borderTopStyle","caretColor","clipPath","contain","containerType","content","float","mask","maskBorder","maskBorderMode","maskBorderOutset","maskBorderRepeat","maskBorderSlice","maskBorderSource","maskBorderWidth","maskClip","maskComposite","maskImage","maskMode","maskOrigin","maskPosition","maskRepeat","maskSize","maskType","objectFit","objectPosition","overflowBlock","overflowInline","overflowX","overflowY","pointerEvents","scrollbarWidth","textEmphasis","touchAction","transformStyle","userSelect","willChange","webOnlyStylePropsText","whiteSpace","wordWrap","textOverflow","textDecorationDistance","WebkitLineClamp","WebkitBoxOrient"],"sources":["../../src/webOnlyStyleProps.ts"],"sourcesContent":[null],"mappings":"AAIO,MAAMA,qBAAA,GAAwB;IACnCC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,cAAA,EAAgB;IAChBC,oBAAA,EAAsB;IACtBC,UAAA,EAAY;IACZC,SAAA,EAAW;IACXC,WAAA,EAAa;IACbC,YAAA,EAAc;IACdC,UAAA,EAAY;IACZC,oBAAA,EAAsB;IACtBC,mBAAA,EAAqB;IACrBC,cAAA,EAAgB;IAChBC,gBAAA,EAAkB;IAClBC,kBAAA,EAAoB;IACpBC,gBAAA,EAAkB;IAClBC,cAAA,EAAgB;IAChBC,iBAAA,EAAmB;IACnBC,WAAA,EAAa;IACbC,eAAA,EAAiB;IACjBC,gBAAA,EAAkB;IAClBC,cAAA,EAAgB;IAChBC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,OAAA,EAAS;IACTC,aAAA,EAAe;IACfC,OAAA,EAAS;IACTC,KAAA,EAAO;IACPC,IAAA,EAAM;IACNC,UAAA,EAAY;IACZC,cAAA,EAAgB;IAChBC,gBAAA,EAAkB;IAClBC,gBAAA,EAAkB;IAClBC,eAAA,EAAiB;IACjBC,gBAAA,EAAkB;IAClBC,eAAA,EAAiB;IACjBC,QAAA,EAAU;IACVC,aAAA,EAAe;IACfC,SAAA,EAAW;IACXC,QAAA,EAAU;IACVC,UAAA,EAAY;IACZC,YAAA,EAAc;IACdC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,QAAA,EAAU;IACVC,SAAA,EAAW;IACXC,cAAA,EAAgB;IAChBC,aAAA,EAAe;IACfC,cAAA,EAAgB;IAChBC,SAAA,EAAW;IACXC,SAAA,EAAW;IAAA;IAEXC,aAAA,EAAe;IACfC,cAAA,EAAgB;IAChBC,YAAA,EAAc;IACdC,WAAA,EAAa;IACbC,cAAA,EAAgB;IAChBC,UAAA,EAAY;IACZC,UAAA,EAAY;EACd;EAEaC,qBAAA,GAAwB;IACnCC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,YAAA,EAAc;IACdC,sBAAA,EAAwB;IAAA;IAExBC,eAAA,EAAiB;IACjBC,eAAA,EAAiB;EACnB","ignoreList":[]}
1
+ {"version":3,"names":["nonAnimatableWebViewProps","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundOrigin","backgroundRepeat","borderBottomStyle","borderLeftStyle","borderRightStyle","borderTopStyle","contain","containerType","content","float","maskBorderMode","maskBorderRepeat","maskClip","maskComposite","maskMode","maskOrigin","maskRepeat","maskType","objectFit","overflowBlock","overflowInline","overflowX","overflowY","pointerEvents","scrollbarWidth","textWrap","touchAction","transformStyle","willChange","nonAnimatableWebTextProps","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","webOnlyStylePropsView","transition","backdropFilter","WebkitBackdropFilter","background","borderTop","borderRight","borderBottom","borderLeft","backgroundPosition","backgroundSize","borderImage","caretColor","clipPath","mask","maskBorder","maskBorderOutset","maskBorderSlice","maskBorderSource","maskBorderWidth","maskImage","maskPosition","maskSize","objectPosition","textEmphasis","userSelect","webOnlyStylePropsText","textDecorationDistance","WebkitLineClamp"],"sources":["../../src/webOnlyStyleProps.ts"],"sourcesContent":[null],"mappings":"AAMO,MAAMA,yBAAA,GAA4B;EACvCC,oBAAA,EAAsB;EACtBC,mBAAA,EAAqB;EACrBC,cAAA,EAAgB;EAChBC,gBAAA,EAAkB;EAClBC,gBAAA,EAAkB;EAClBC,iBAAA,EAAmB;EACnBC,eAAA,EAAiB;EACjBC,gBAAA,EAAkB;EAClBC,cAAA,EAAgB;EAChBC,OAAA,EAAS;EACTC,aAAA,EAAe;EACfC,OAAA,EAAS;EACTC,KAAA,EAAO;EACPC,cAAA,EAAgB;EAChBC,gBAAA,EAAkB;EAClBC,QAAA,EAAU;EACVC,aAAA,EAAe;EACfC,QAAA,EAAU;EACVC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,SAAA,EAAW;EACXC,aAAA,EAAe;EACfC,cAAA,EAAgB;EAChBC,SAAA,EAAW;EACXC,SAAA,EAAW;EAAA;EAEXC,aAAA,EAAe;EACfC,cAAA,EAAgB;EAChBC,QAAA,EAAU;EACVC,WAAA,EAAa;EACbC,cAAA,EAAgB;EAChBC,UAAA,EAAY;AACd;AAGO,MAAMC,yBAAA,GAA4B;EACvCC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,YAAA,EAAc;EACdC,eAAA,EAAiB;AACnB;AAEO,MAAMC,qBAAA,GAAwB;EACnC,GAAGtC,yBAAA;EACHuC,UAAA,EAAY;EACZC,cAAA,EAAgB;EAChBC,oBAAA,EAAsB;EACtBC,UAAA,EAAY;EACZC,SAAA,EAAW;EACXC,WAAA,EAAa;EACbC,YAAA,EAAc;EACdC,UAAA,EAAY;EACZC,kBAAA,EAAoB;EACpBC,cAAA,EAAgB;EAChBC,WAAA,EAAa;EACbC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,IAAA,EAAM;EACNC,UAAA,EAAY;EACZC,gBAAA,EAAkB;EAClBC,eAAA,EAAiB;EACjBC,gBAAA,EAAkB;EAClBC,eAAA,EAAiB;EACjBC,SAAA,EAAW;EACXC,YAAA,EAAc;EACdC,QAAA,EAAU;EACVC,cAAA,EAAgB;EAChBC,YAAA,EAAc;EACdC,UAAA,EAAY;AACd;AAEO,MAAMC,qBAAA,GAAwB;EACnC,GAAG/B,yBAAA;EACHgC,sBAAA,EAAwB;EAAA;EAExBC,eAAA,EAAiB;AACnB","ignoreList":[]}
@@ -1,71 +1,77 @@
1
+ var nonAnimatableWebViewProps = {
2
+ backgroundAttachment: true,
3
+ backgroundBlendMode: true,
4
+ backgroundClip: true,
5
+ backgroundOrigin: true,
6
+ backgroundRepeat: true,
7
+ borderBottomStyle: true,
8
+ borderLeftStyle: true,
9
+ borderRightStyle: true,
10
+ borderTopStyle: true,
11
+ contain: true,
12
+ containerType: true,
13
+ content: true,
14
+ float: true,
15
+ maskBorderMode: true,
16
+ maskBorderRepeat: true,
17
+ maskClip: true,
18
+ maskComposite: true,
19
+ maskMode: true,
20
+ maskOrigin: true,
21
+ maskRepeat: true,
22
+ maskType: true,
23
+ objectFit: true,
24
+ overflowBlock: true,
25
+ overflowInline: true,
26
+ overflowX: true,
27
+ overflowY: true,
28
+ // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style)
29
+ pointerEvents: true,
30
+ scrollbarWidth: true,
31
+ textWrap: true,
32
+ touchAction: true,
33
+ transformStyle: true,
34
+ willChange: true
35
+ };
36
+ var nonAnimatableWebTextProps = {
37
+ whiteSpace: true,
38
+ wordWrap: true,
39
+ textOverflow: true,
40
+ WebkitBoxOrient: true
41
+ };
1
42
  var webOnlyStylePropsView = {
2
- transition: !0,
3
- textWrap: !0,
4
- backdropFilter: !0,
5
- WebkitBackdropFilter: !0,
6
- background: !0,
7
- borderTop: !0,
8
- borderRight: !0,
9
- borderBottom: !0,
10
- borderLeft: !0,
11
- backgroundAttachment: !0,
12
- backgroundBlendMode: !0,
13
- backgroundClip: !0,
14
- backgroundOrigin: !0,
15
- backgroundPosition: !0,
16
- backgroundRepeat: !0,
17
- backgroundSize: !0,
18
- borderBottomStyle: !0,
19
- borderImage: !0,
20
- borderLeftStyle: !0,
21
- borderRightStyle: !0,
22
- borderTopStyle: !0,
23
- caretColor: !0,
24
- clipPath: !0,
25
- contain: !0,
26
- containerType: !0,
27
- content: !0,
28
- float: !0,
29
- mask: !0,
30
- maskBorder: !0,
31
- maskBorderMode: !0,
32
- maskBorderOutset: !0,
33
- maskBorderRepeat: !0,
34
- maskBorderSlice: !0,
35
- maskBorderSource: !0,
36
- maskBorderWidth: !0,
37
- maskClip: !0,
38
- maskComposite: !0,
39
- maskImage: !0,
40
- maskMode: !0,
41
- maskOrigin: !0,
42
- maskPosition: !0,
43
- maskRepeat: !0,
44
- maskSize: !0,
45
- maskType: !0,
46
- objectFit: !0,
47
- objectPosition: !0,
48
- overflowBlock: !0,
49
- overflowInline: !0,
50
- overflowX: !0,
51
- overflowY: !0,
52
- // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style)
53
- pointerEvents: !0,
54
- scrollbarWidth: !0,
55
- textEmphasis: !0,
56
- touchAction: !0,
57
- transformStyle: !0,
58
- userSelect: !0,
59
- willChange: !0
60
- },
61
- webOnlyStylePropsText = {
62
- whiteSpace: !0,
63
- wordWrap: !0,
64
- textOverflow: !0,
65
- textDecorationDistance: !0,
66
- // cursor: now cross-platform - in stylePropsView
67
- WebkitLineClamp: !0,
68
- WebkitBoxOrient: !0
69
- };
70
- export { webOnlyStylePropsText, webOnlyStylePropsView };
43
+ ...nonAnimatableWebViewProps,
44
+ transition: true,
45
+ backdropFilter: true,
46
+ WebkitBackdropFilter: true,
47
+ background: true,
48
+ borderTop: true,
49
+ borderRight: true,
50
+ borderBottom: true,
51
+ borderLeft: true,
52
+ backgroundPosition: true,
53
+ backgroundSize: true,
54
+ borderImage: true,
55
+ caretColor: true,
56
+ clipPath: true,
57
+ mask: true,
58
+ maskBorder: true,
59
+ maskBorderOutset: true,
60
+ maskBorderSlice: true,
61
+ maskBorderSource: true,
62
+ maskBorderWidth: true,
63
+ maskImage: true,
64
+ maskPosition: true,
65
+ maskSize: true,
66
+ objectPosition: true,
67
+ textEmphasis: true,
68
+ userSelect: true
69
+ };
70
+ var webOnlyStylePropsText = {
71
+ ...nonAnimatableWebTextProps,
72
+ textDecorationDistance: true,
73
+ // cursor: now cross-platform - in stylePropsView
74
+ WebkitLineClamp: true
75
+ };
76
+ export { nonAnimatableWebTextProps, nonAnimatableWebViewProps, webOnlyStylePropsText, webOnlyStylePropsView };
71
77
  //# sourceMappingURL=webOnlyStyleProps.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["webOnlyStylePropsView","transition","textWrap","backdropFilter","WebkitBackdropFilter","background","borderTop","borderRight","borderBottom","borderLeft","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundOrigin","backgroundPosition","backgroundRepeat","backgroundSize","borderBottomStyle","borderImage","borderLeftStyle","borderRightStyle","borderTopStyle","caretColor","clipPath","contain","containerType","content","float","mask","maskBorder","maskBorderMode","maskBorderOutset","maskBorderRepeat","maskBorderSlice","maskBorderSource","maskBorderWidth","maskClip","maskComposite","maskImage","maskMode","maskOrigin","maskPosition","maskRepeat","maskSize","maskType","objectFit","objectPosition","overflowBlock","overflowInline","overflowX","overflowY","pointerEvents","scrollbarWidth","textEmphasis","touchAction","transformStyle","userSelect","willChange","webOnlyStylePropsText","whiteSpace","wordWrap","textOverflow","textDecorationDistance","WebkitLineClamp","WebkitBoxOrient"],"sources":["../../src/webOnlyStyleProps.ts"],"sourcesContent":[null],"mappings":"AAIO,IAAAA,qBAAM;IACXC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,cAAA,EAAgB;IAChBC,oBAAA,EAAsB;IACtBC,UAAA,EAAY;IACZC,SAAA,EAAW;IACXC,WAAA,EAAa;IACbC,YAAA,EAAc;IACdC,UAAA,EAAY;IACZC,oBAAA,EAAsB;IACtBC,mBAAA,EAAqB;IACrBC,cAAA,EAAgB;IAChBC,gBAAA,EAAkB;IAClBC,kBAAA,EAAoB;IACpBC,gBAAA,EAAkB;IAClBC,cAAA,EAAgB;IAChBC,iBAAA,EAAmB;IACnBC,WAAA,EAAa;IACbC,eAAA,EAAiB;IACjBC,gBAAA,EAAkB;IAClBC,cAAA,EAAgB;IAChBC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,OAAA,EAAS;IACTC,aAAA,EAAe;IACfC,OAAA,EAAS;IACTC,KAAA,EAAO;IACPC,IAAA,EAAM;IACNC,UAAA,EAAY;IACZC,cAAA,EAAgB;IAChBC,gBAAA,EAAkB;IAClBC,gBAAA,EAAkB;IAClBC,eAAA,EAAiB;IACjBC,gBAAA,EAAkB;IAClBC,eAAA,EAAiB;IACjBC,QAAA,EAAU;IACVC,aAAA,EAAe;IACfC,SAAA,EAAW;IACXC,QAAA,EAAU;IACVC,UAAA,EAAY;IACZC,YAAA,EAAc;IACdC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,QAAA,EAAU;IACVC,SAAA,EAAW;IACXC,cAAA,EAAgB;IAChBC,aAAA,EAAe;IACfC,cAAA,EAAgB;IAChBC,SAAA,EAAW;IACXC,SAAA,EAAW;IAAA;IAEXC,aAAA,EAAe;IACfC,cAAA,EAAgB;IAChBC,YAAA,EAAc;IACdC,WAAA,EAAa;IACbC,cAAA,EAAgB;IAChBC,UAAA,EAAY;IACZC,UAAA,EAAY;EACd;EAEaC,qBAAA,GAAwB;IACnCC,UAAA,EAAY;IACZC,QAAA,EAAU;IACVC,YAAA,EAAc;IACdC,sBAAA,EAAwB;IAAA;IAExBC,eAAA,EAAiB;IACjBC,eAAA,EAAiB;EACnB","ignoreList":[]}
1
+ {"version":3,"names":["nonAnimatableWebViewProps","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundOrigin","backgroundRepeat","borderBottomStyle","borderLeftStyle","borderRightStyle","borderTopStyle","contain","containerType","content","float","maskBorderMode","maskBorderRepeat","maskClip","maskComposite","maskMode","maskOrigin","maskRepeat","maskType","objectFit","overflowBlock","overflowInline","overflowX","overflowY","pointerEvents","scrollbarWidth","textWrap","touchAction","transformStyle","willChange","nonAnimatableWebTextProps","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","webOnlyStylePropsView","transition","backdropFilter","WebkitBackdropFilter","background","borderTop","borderRight","borderBottom","borderLeft","backgroundPosition","backgroundSize","borderImage","caretColor","clipPath","mask","maskBorder","maskBorderOutset","maskBorderSlice","maskBorderSource","maskBorderWidth","maskImage","maskPosition","maskSize","objectPosition","textEmphasis","userSelect","webOnlyStylePropsText","textDecorationDistance","WebkitLineClamp"],"sources":["../../src/webOnlyStyleProps.ts"],"sourcesContent":[null],"mappings":"AAMO,IAAAA,yBAAM;EACXC,oBAAA,EAAsB;EACtBC,mBAAA,EAAqB;EACrBC,cAAA,EAAgB;EAChBC,gBAAA,EAAkB;EAClBC,gBAAA,EAAkB;EAClBC,iBAAA,EAAmB;EACnBC,eAAA,EAAiB;EACjBC,gBAAA,EAAkB;EAClBC,cAAA,EAAgB;EAChBC,OAAA,EAAS;EACTC,aAAA,EAAe;EACfC,OAAA,EAAS;EACTC,KAAA,EAAO;EACPC,cAAA,EAAgB;EAChBC,gBAAA,EAAkB;EAClBC,QAAA,EAAU;EACVC,aAAA,EAAe;EACfC,QAAA,EAAU;EACVC,UAAA,EAAY;EACZC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,SAAA,EAAW;EACXC,aAAA,EAAe;EACfC,cAAA,EAAgB;EAChBC,SAAA,EAAW;EACXC,SAAA,EAAW;EAAA;EAEXC,aAAA,EAAe;EACfC,cAAA,EAAgB;EAChBC,QAAA,EAAU;EACVC,WAAA,EAAa;EACbC,cAAA,EAAgB;EAChBC,UAAA,EAAY;AACd;AAGO,IAAAC,yBAAM;EACXC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,YAAA,EAAc;EACdC,eAAA,EAAiB;AACnB;AAEO,IAAAC,qBAAM;EACX,GAAGtC,yBAAA;EACHuC,UAAA,EAAY;EACZC,cAAA,EAAgB;EAChBC,oBAAA,EAAsB;EACtBC,UAAA,EAAY;EACZC,SAAA,EAAW;EACXC,WAAA,EAAa;EACbC,YAAA,EAAc;EACdC,UAAA,EAAY;EACZC,kBAAA,EAAoB;EACpBC,cAAA,EAAgB;EAChBC,WAAA,EAAa;EACbC,UAAA,EAAY;EACZC,QAAA,EAAU;EACVC,IAAA,EAAM;EACNC,UAAA,EAAY;EACZC,gBAAA,EAAkB;EAClBC,eAAA,EAAiB;EACjBC,gBAAA,EAAkB;EAClBC,eAAA,EAAiB;EACjBC,SAAA,EAAW;EACXC,YAAA,EAAc;EACdC,QAAA,EAAU;EACVC,cAAA,EAAgB;EAChBC,YAAA,EAAc;EACdC,UAAA,EAAY;AACd;AAEO,IAAAC,qBAAM;EACX,GAAG/B,yBAAA;EACHgC,sBAAA,EAAwB;EAAA;EAExBC,eAAA,EAAiB;AACnB","ignoreList":[]}
@@ -1,4 +1,8 @@
1
- const Decorated = /* @__PURE__ */Symbol(),
2
- withStaticProperties = (component, staticProps) => (Object.assign(component, staticProps), component[Decorated] = !0, component);
1
+ const Decorated = /* @__PURE__ */Symbol();
2
+ const withStaticProperties = (component, staticProps) => {
3
+ Object.assign(component, staticProps);
4
+ component[Decorated] = true;
5
+ return component;
6
+ };
3
7
  export { withStaticProperties };
4
8
  //# sourceMappingURL=withStaticProperties.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["Decorated","Symbol","withStaticProperties","component","staticProps","Object","assign"],"sources":["../../src/withStaticProperties.tsx"],"sourcesContent":[null],"mappings":"AAAA,MAAMA,SAAA,GAAY,eAAAC,MAAA,CAAO;EAIZC,oBAAA,GAAuBA,CAClCC,SAAA,EACAC,WAAA,MAGAC,MAAA,CAAOC,MAAA,CAAOH,SAAA,EAAWC,WAAW,GACpCD,SAAA,CAAUH,SAAS,IAAI,IAEhBG,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["Decorated","Symbol","withStaticProperties","component","staticProps","Object","assign"],"sources":["../../src/withStaticProperties.tsx"],"sourcesContent":[null],"mappings":"AAAA,MAAMA,SAAA,GAAY,eAAAC,MAAA,CAAO;AAIlB,MAAMC,oBAAA,GAAuBA,CAClCC,SAAA,EACAC,WAAA,KACmB;EAEnBC,MAAA,CAAOC,MAAA,CAAOH,SAAA,EAAWC,WAAW;EACpCD,SAAA,CAAUH,SAAS,IAAI;EAEvB,OAAOG,SAAA;AACT","ignoreList":[]}
@@ -1,6 +1,8 @@
1
- var Decorated = /* @__PURE__ */Symbol(),
2
- withStaticProperties = function (component, staticProps) {
3
- return Object.assign(component, staticProps), component[Decorated] = !0, component;
4
- };
1
+ var Decorated = /* @__PURE__ */Symbol();
2
+ var withStaticProperties = function (component, staticProps) {
3
+ Object.assign(component, staticProps);
4
+ component[Decorated] = true;
5
+ return component;
6
+ };
5
7
  export { withStaticProperties };
6
8
  //# sourceMappingURL=withStaticProperties.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Decorated","Symbol","withStaticProperties","component","staticProps"],"sources":["../../src/withStaticProperties.tsx"],"sourcesContent":[null],"mappings":"AAAA,IAAAA,SAAM,kBAAYC,MAAA;EAAOC,oBAIZ,YAAAA,CACXC,SACA,EAAAC,WAGA","ignoreList":[]}
1
+ {"version":3,"names":["Decorated","Symbol","withStaticProperties","component","staticProps","Object","assign"],"sources":["../../src/withStaticProperties.tsx"],"sourcesContent":[null],"mappings":"AAAA,IAAAA,SAAM,kBAAYC,MAAA;AAIX,IAAAC,oBAAM,YAAAA,CACXC,SACA,EAAAC,WACmB;EAEnBC,MAAA,CAAOC,MAAA,CAAOH,SAAA,EAAWC,WAAW;EACpCD,SAAA,CAAUH,SAAS,IAAI;EAEvB,OAAOG,SAAA;AACT","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/helpers",
3
- "version": "2.0.0-rc.8",
3
+ "version": "2.0.0",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "source": "src/index.ts",
6
6
  "files": [
@@ -17,15 +17,12 @@
17
17
  "./package.json": "./package.json",
18
18
  ".": {
19
19
  "types": "./types/index.d.ts",
20
- "react-native": {
21
- "module": "./dist/esm/index.native.js",
22
- "import": "./dist/esm/index.native.js",
23
- "require": "./dist/cjs/index.native.js"
24
- },
20
+ "react-native": "./dist/esm/index.native.js",
21
+ "browser": "./dist/esm/index.mjs",
25
22
  "module": "./dist/esm/index.mjs",
26
23
  "import": "./dist/esm/index.mjs",
27
24
  "require": "./dist/cjs/index.cjs",
28
- "default": "./dist/cjs/index.native.js"
25
+ "default": "./dist/esm/index.mjs"
29
26
  }
30
27
  },
31
28
  "publishConfig": {
@@ -38,11 +35,11 @@
38
35
  "clean:build": "tamagui-build clean:build"
39
36
  },
40
37
  "dependencies": {
41
- "@tamagui/constants": "2.0.0-rc.8",
42
- "@tamagui/simple-hash": "2.0.0-rc.8"
38
+ "@tamagui/constants": "2.0.0",
39
+ "@tamagui/simple-hash": "2.0.0"
43
40
  },
44
41
  "devDependencies": {
45
- "@tamagui/build": "2.0.0-rc.8",
42
+ "@tamagui/build": "2.0.0",
46
43
  "react": ">=19"
47
44
  },
48
45
  "peerDependencies": {
@@ -1,5 +1,10 @@
1
1
  import { isAndroid } from '@tamagui/constants'
2
- import { webOnlyStylePropsText, webOnlyStylePropsView } from './webOnlyStyleProps'
2
+ import {
3
+ nonAnimatableWebTextProps,
4
+ nonAnimatableWebViewProps,
5
+ webOnlyStylePropsText,
6
+ webOnlyStylePropsView,
7
+ } from './webOnlyStyleProps'
3
8
 
4
9
  // generally organizing this so we don't duplicate things so its a bit weird
5
10
 
@@ -94,8 +99,75 @@ export const tokenCategories = {
94
99
  },
95
100
  }
96
101
 
97
- export const stylePropsUnitless = {
102
+ // discrete (non-animatable) view style properties - keyword-based, no interpolation
103
+ // defined above stylePropsView so it can be spread in without duplication
104
+ const nonAnimatableViewProps = {
105
+ alignContent: true,
106
+ alignItems: true,
107
+ alignSelf: true,
108
+ backfaceVisibility: true,
109
+ borderCurve: true,
110
+ borderStyle: true,
111
+ borderBlockStyle: true,
112
+ borderBlockEndStyle: true,
113
+ borderBlockStartStyle: true,
114
+ borderInlineStyle: true,
115
+ borderInlineEndStyle: true,
116
+ borderInlineStartStyle: true,
117
+ boxSizing: true,
118
+ cursor: true,
119
+ direction: true,
120
+ display: true,
121
+ flexDirection: true,
122
+ flexWrap: true,
123
+ isolation: true,
124
+ justifyContent: true,
125
+ mixBlendMode: true,
126
+ outlineStyle: true,
127
+ overflow: true,
128
+ position: true,
129
+ }
130
+
131
+ // discrete (non-animatable) font properties
132
+ const nonAnimatableFontProps = {
133
+ fontFamily: true,
134
+ fontStyle: true,
135
+ fontVariant: true,
136
+ textTransform: true,
137
+ }
138
+
139
+ // discrete (non-animatable) text-only properties
140
+ const nonAnimatableTextOnlyProps = {
141
+ textAlign: true,
142
+ textDecorationLine: true,
143
+ textDecorationStyle: true,
144
+ userSelect: true,
145
+ }
146
+
147
+ // discrete (non-animatable) unitless properties
148
+ const nonAnimatableUnitlessProps = {
98
149
  WebkitLineClamp: true,
150
+ lineClamp: true,
151
+ gridTemplateColumns: true,
152
+ gridTemplateAreas: true,
153
+ }
154
+
155
+ // all non-animatable style props combined, used by getSplitStyles to keep
156
+ // these as atomic CSS classNames even for components with animation drivers
157
+ export const nonAnimatableStyleProps = {
158
+ ...nonAnimatableViewProps,
159
+ ...nonAnimatableFontProps,
160
+ ...nonAnimatableTextOnlyProps,
161
+ ...nonAnimatableUnitlessProps,
162
+ // web-only discrete properties (defined in webOnlyStyleProps.ts)
163
+ ...(process.env.TAMAGUI_TARGET === 'web' && {
164
+ ...nonAnimatableWebViewProps,
165
+ ...nonAnimatableWebTextProps,
166
+ }),
167
+ }
168
+
169
+ export const stylePropsUnitless = {
170
+ ...nonAnimatableUnitlessProps,
99
171
  animationIterationCount: true,
100
172
  aspectRatio: true,
101
173
  borderImageOutset: true,
@@ -117,9 +189,6 @@ export const stylePropsUnitless = {
117
189
  gridColumnEnd: true,
118
190
  gridColumnGap: true,
119
191
  gridColumnStart: true,
120
- gridTemplateColumns: true,
121
- gridTemplateAreas: true,
122
- lineClamp: true,
123
192
  opacity: true,
124
193
  order: true,
125
194
  orphans: true,
@@ -151,9 +220,7 @@ export const stylePropsTransform = {
151
220
  }
152
221
 
153
222
  export const stylePropsView = {
154
- backfaceVisibility: true,
155
- borderCurve: true,
156
- cursor: true,
223
+ ...nonAnimatableViewProps,
157
224
  borderBottomEndRadius: true,
158
225
  borderBottomStartRadius: true,
159
226
  borderBottomWidth: true,
@@ -165,34 +232,20 @@ export const stylePropsView = {
165
232
  borderInlineWidth: true,
166
233
  borderInlineEndWidth: true,
167
234
  borderInlineStartWidth: true,
168
- borderStyle: true,
169
- borderBlockStyle: true,
170
- borderBlockEndStyle: true,
171
- borderBlockStartStyle: true,
172
- borderInlineStyle: true,
173
- borderInlineEndStyle: true,
174
- borderInlineStartStyle: true,
175
235
  borderTopEndRadius: true,
176
236
  borderTopStartRadius: true,
177
237
  borderTopWidth: true,
178
238
  borderWidth: true,
179
239
  transform: true,
180
240
  transformOrigin: true,
181
- alignContent: true,
182
- alignItems: true,
183
- alignSelf: true,
184
241
  borderEndWidth: true,
185
242
  borderStartWidth: true,
186
243
  bottom: true,
187
- display: true,
188
244
  end: true,
189
245
  flexBasis: true,
190
- flexDirection: true,
191
- flexWrap: true,
192
246
  gap: true,
193
247
  columnGap: true,
194
248
  rowGap: true,
195
- justifyContent: true,
196
249
  left: true,
197
250
  margin: true,
198
251
  marginBlock: true,
@@ -209,7 +262,6 @@ export const stylePropsView = {
209
262
  marginStart: true,
210
263
  marginTop: true,
211
264
  marginVertical: true,
212
- overflow: true,
213
265
  padding: true,
214
266
  paddingBottom: true,
215
267
  paddingInline: true,
@@ -224,7 +276,6 @@ export const stylePropsView = {
224
276
  paddingStart: true,
225
277
  paddingTop: true,
226
278
  paddingVertical: true,
227
- position: true,
228
279
  right: true,
229
280
  start: true,
230
281
  top: true,
@@ -235,13 +286,11 @@ export const stylePropsView = {
235
286
  insetInline: true,
236
287
  insetInlineEnd: true,
237
288
  insetInlineStart: true,
238
- direction: true,
239
289
  shadowOffset: true,
240
290
  shadowRadius: true,
241
291
  ...tokenCategories.color,
242
292
  ...tokenCategories.radius,
243
293
  ...tokenCategories.size,
244
- ...tokenCategories.radius,
245
294
  ...stylePropsTransform,
246
295
  ...stylePropsUnitless,
247
296
  ...(isAndroid ? { elevationAndroid: true } : {}),
@@ -254,13 +303,9 @@ export const stylePropsView = {
254
303
  // the actual RN 0.76+ prop name (backgroundImage expands to this on native)
255
304
  experimental_backgroundImage: true,
256
305
  // RN 0.76/0.77+ style props (New Architecture)
257
- boxSizing: true,
258
- mixBlendMode: true,
259
- isolation: true,
260
306
  outline: true,
261
307
  outlineColor: true,
262
308
  outlineOffset: true,
263
- outlineStyle: true,
264
309
  outlineWidth: true,
265
310
 
266
311
  // web-only for convenience - tree-shaken on native
@@ -268,26 +313,20 @@ export const stylePropsView = {
268
313
  }
269
314
 
270
315
  const stylePropsFont = {
271
- fontFamily: true,
316
+ ...nonAnimatableFontProps,
272
317
  fontSize: true,
273
- fontStyle: true,
274
318
  fontWeight: true,
275
- fontVariant: true,
276
319
  letterSpacing: true,
277
320
  lineHeight: true,
278
- textTransform: true,
279
321
  }
280
322
 
281
323
  export const stylePropsTextOnly = {
282
324
  ...stylePropsFont,
283
- textAlign: true,
284
- textDecorationLine: true,
285
- textDecorationStyle: true,
325
+ ...nonAnimatableTextOnlyProps,
286
326
  ...textColors,
287
327
  textShadow: true,
288
328
  textShadowOffset: true,
289
329
  textShadowRadius: true,
290
- userSelect: true,
291
330
  verticalAlign: true,
292
331
 
293
332
  // web-only text props - tree-shaken on native