@tamagui/helpers 2.7.7 → 3.0.0-beta.1097.1

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 (123) hide show
  1. package/dist/cjs/clamp.cjs +15 -19
  2. package/dist/cjs/clamp.native.cjs +29 -0
  3. package/dist/cjs/clamp.native.js +16 -19
  4. package/dist/cjs/clamp.native.js.map +1 -1
  5. package/dist/cjs/composeEventHandlers.cjs +25 -32
  6. package/dist/cjs/composeEventHandlers.native.cjs +38 -0
  7. package/dist/cjs/composeEventHandlers.native.js +25 -36
  8. package/dist/cjs/composeEventHandlers.native.js.map +1 -1
  9. package/dist/cjs/index.cjs +12 -11
  10. package/dist/cjs/index.native.cjs +30 -0
  11. package/dist/cjs/index.native.js +12 -10
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/reservedThemeProps.cjs +40 -0
  14. package/dist/cjs/reservedThemeProps.native.cjs +42 -0
  15. package/dist/cjs/reservedThemeProps.native.js +44 -0
  16. package/dist/cjs/reservedThemeProps.native.js.map +1 -0
  17. package/dist/cjs/shouldRenderNativePlatform.cjs +37 -37
  18. package/dist/cjs/shouldRenderNativePlatform.native.cjs +70 -0
  19. package/dist/cjs/shouldRenderNativePlatform.native.js +54 -59
  20. package/dist/cjs/shouldRenderNativePlatform.native.js.map +1 -1
  21. package/dist/cjs/themeClassNames.cjs +44 -0
  22. package/dist/cjs/themeClassNames.native.cjs +64 -0
  23. package/dist/cjs/themeClassNames.native.js +66 -0
  24. package/dist/cjs/themeClassNames.native.js.map +1 -0
  25. package/dist/cjs/toStylePropsObject.cjs +33 -0
  26. package/dist/cjs/toStylePropsObject.native.cjs +72 -0
  27. package/dist/cjs/toStylePropsObject.native.js +74 -0
  28. package/dist/cjs/toStylePropsObject.native.js.map +1 -0
  29. package/dist/cjs/tokenCategories.cjs +47 -0
  30. package/dist/cjs/tokenCategories.native.cjs +51 -0
  31. package/dist/cjs/tokenCategories.native.js +53 -0
  32. package/dist/cjs/tokenCategories.native.js.map +1 -0
  33. package/dist/cjs/types.cjs +18 -20
  34. package/dist/cjs/types.native.cjs +36 -0
  35. package/dist/cjs/types.native.js +18 -19
  36. package/dist/cjs/types.native.js.map +1 -1
  37. package/dist/cjs/validStyleProps.cjs +44 -323
  38. package/dist/cjs/validStyleProps.native.cjs +60 -0
  39. package/dist/cjs/validStyleProps.native.js +45 -316
  40. package/dist/cjs/validStyleProps.native.js.map +1 -1
  41. package/dist/cjs/webOnlyStyleProps.cjs +21 -93
  42. package/dist/cjs/webOnlyStyleProps.native.cjs +35 -0
  43. package/dist/cjs/webOnlyStyleProps.native.js +22 -93
  44. package/dist/cjs/webOnlyStyleProps.native.js.map +1 -1
  45. package/dist/cjs/withStaticProperties.cjs +24 -30
  46. package/dist/cjs/withStaticProperties.native.cjs +37 -0
  47. package/dist/cjs/withStaticProperties.native.js +25 -30
  48. package/dist/cjs/withStaticProperties.native.js.map +1 -1
  49. package/dist/esm/clamp.mjs +2 -1
  50. package/dist/esm/clamp.mjs.map +1 -1
  51. package/dist/esm/clamp.native.js +3 -2
  52. package/dist/esm/clamp.native.js.map +1 -1
  53. package/dist/esm/composeEventHandlers.mjs +12 -14
  54. package/dist/esm/composeEventHandlers.mjs.map +1 -1
  55. package/dist/esm/composeEventHandlers.native.js +12 -19
  56. package/dist/esm/composeEventHandlers.native.js.map +1 -1
  57. package/dist/esm/index.js +21 -9
  58. package/dist/esm/index.mjs +21 -9
  59. package/dist/esm/index.native.js +21 -9
  60. package/dist/esm/reservedThemeProps.mjs +20 -0
  61. package/dist/esm/reservedThemeProps.mjs.map +1 -0
  62. package/dist/esm/reservedThemeProps.native.js +20 -0
  63. package/dist/esm/reservedThemeProps.native.js.map +1 -0
  64. package/dist/esm/shouldRenderNativePlatform.mjs +25 -19
  65. package/dist/esm/shouldRenderNativePlatform.mjs.map +1 -1
  66. package/dist/esm/shouldRenderNativePlatform.native.js +42 -42
  67. package/dist/esm/shouldRenderNativePlatform.native.js.map +1 -1
  68. package/dist/esm/themeClassNames.mjs +21 -0
  69. package/dist/esm/themeClassNames.mjs.map +1 -0
  70. package/dist/esm/themeClassNames.native.js +39 -0
  71. package/dist/esm/themeClassNames.native.js.map +1 -0
  72. package/dist/esm/toStylePropsObject.mjs +13 -0
  73. package/dist/esm/toStylePropsObject.mjs.map +1 -0
  74. package/dist/esm/toStylePropsObject.native.js +50 -0
  75. package/dist/esm/toStylePropsObject.native.js.map +1 -0
  76. package/dist/esm/tokenCategories.mjs +28 -0
  77. package/dist/esm/tokenCategories.mjs.map +1 -0
  78. package/dist/esm/tokenCategories.native.js +30 -0
  79. package/dist/esm/tokenCategories.native.js.map +1 -0
  80. package/dist/esm/types.mjs +1 -0
  81. package/dist/esm/types.mjs.map +1 -1
  82. package/dist/esm/types.native.js +1 -0
  83. package/dist/esm/types.native.js.map +1 -1
  84. package/dist/esm/validStyleProps.mjs +21 -297
  85. package/dist/esm/validStyleProps.mjs.map +1 -1
  86. package/dist/esm/validStyleProps.native.js +22 -291
  87. package/dist/esm/validStyleProps.native.js.map +1 -1
  88. package/dist/esm/webOnlyStyleProps.mjs +7 -75
  89. package/dist/esm/webOnlyStyleProps.mjs.map +1 -1
  90. package/dist/esm/webOnlyStyleProps.native.js +7 -75
  91. package/dist/esm/webOnlyStyleProps.native.js.map +1 -1
  92. package/dist/esm/withStaticProperties.mjs +11 -12
  93. package/dist/esm/withStaticProperties.mjs.map +1 -1
  94. package/dist/esm/withStaticProperties.native.js +12 -13
  95. package/dist/esm/withStaticProperties.native.js.map +1 -1
  96. package/package.json +16 -5
  97. package/src/composeEventHandlers.ts +6 -10
  98. package/src/index.ts +3 -0
  99. package/src/reservedThemeProps.ts +26 -0
  100. package/src/themeClassNames.ts +26 -0
  101. package/src/toStylePropsObject.ts +29 -0
  102. package/src/tokenCategories.ts +29 -0
  103. package/src/validStyleProps.ts +89 -349
  104. package/src/webOnlyStyleProps.ts +16 -80
  105. package/types/composeEventHandlers.d.ts.map +1 -1
  106. package/types/index.d.ts +3 -0
  107. package/types/index.d.ts.map +1 -1
  108. package/types/reservedThemeProps.d.ts +11 -0
  109. package/types/reservedThemeProps.d.ts.map +1 -0
  110. package/types/themeClassNames.d.ts +3 -0
  111. package/types/themeClassNames.d.ts.map +1 -0
  112. package/types/toStylePropsObject.d.ts +6 -0
  113. package/types/toStylePropsObject.d.ts.map +1 -0
  114. package/types/tokenCategories.d.ts +4 -0
  115. package/types/tokenCategories.d.ts.map +1 -0
  116. package/types/validStyleProps.d.ts +1533 -1242
  117. package/types/validStyleProps.d.ts.map +1 -1
  118. package/types/webOnlyStyleProps.d.ts +106 -99
  119. package/types/webOnlyStyleProps.d.ts.map +1 -1
  120. package/types/withStaticProperties.d.ts.map +1 -1
  121. package/dist/esm/index.js.map +0 -1
  122. package/dist/esm/index.mjs.map +0 -1
  123. package/dist/esm/index.native.js.map +0 -1
@@ -1,85 +1,21 @@
1
1
  // Web-only style props that need to be skipped on native
2
- // NOTE: backgroundColor is NOT web-only - it works on React Native too!
3
- // NOTE: RN 0.76+ added: boxShadow, filter (cross-platform, with some Android 12+ only filters)
4
- // NOTE: RN 0.77+ added: boxSizing, mixBlendMode, isolation, outline* props
5
2
 
6
- // web-only discrete (non-animatable) view props
7
- export const nonAnimatableWebViewProps = {
8
- backgroundAttachment: true,
9
- backgroundBlendMode: true,
10
- backgroundClip: true,
11
- backgroundOrigin: true,
12
- backgroundRepeat: true,
13
- borderBottomStyle: true,
14
- borderLeftStyle: true,
15
- borderRightStyle: true,
16
- borderTopStyle: true,
17
- contain: true,
18
- containerType: true,
19
- content: true,
20
- float: true,
21
- maskBorderMode: true,
22
- maskBorderRepeat: true,
23
- maskClip: true,
24
- maskComposite: true,
25
- maskMode: true,
26
- maskOrigin: true,
27
- maskRepeat: true,
28
- maskType: true,
29
- objectFit: true,
30
- overflowBlock: true,
31
- overflowInline: true,
32
- overflowX: true,
33
- overflowY: true,
34
- // NOTE: pointerEvents is NOT web-only - it's a core React Native View prop (not a style)
35
- pointerEvents: true,
36
- scrollbarWidth: true,
37
- textWrap: true,
38
- touchAction: true,
39
- transformStyle: true,
40
- willChange: true,
41
- }
3
+ import { toStylePropsObject as toObj } from './toStylePropsObject'
42
4
 
43
- // web-only discrete (non-animatable) text props
44
- export const nonAnimatableWebTextProps = {
45
- whiteSpace: true,
46
- wordWrap: true,
47
- textOverflow: true,
48
- WebkitBoxOrient: true,
49
- }
5
+ export const nonAnimatableWebViewProps = toObj(
6
+ 'backgroundAttachment backgroundBlendMode backgroundClip backgroundOrigin backgroundRepeat borderBottomStyle borderLeftStyle borderRightStyle borderTopStyle contain containerType containerName content float maskBorderMode maskBorderRepeat maskClip maskComposite maskMode maskOrigin maskRepeat maskType objectFit overflowBlock overflowInline overflowX overflowY scrollbarWidth textWrap touchAction transformStyle willChange'
7
+ )
50
8
 
51
- export const webOnlyStylePropsView = {
52
- ...nonAnimatableWebViewProps,
53
- transition: true,
54
- backdropFilter: true,
55
- WebkitBackdropFilter: true,
56
- background: true,
57
- borderTop: true,
58
- borderRight: true,
59
- borderBottom: true,
60
- borderLeft: true,
61
- backgroundPosition: true,
62
- backgroundSize: true,
63
- borderImage: true,
64
- caretColor: true,
65
- clipPath: true,
66
- mask: true,
67
- maskBorder: true,
68
- maskBorderOutset: true,
69
- maskBorderSlice: true,
70
- maskBorderSource: true,
71
- maskBorderWidth: true,
72
- maskImage: true,
73
- maskPosition: true,
74
- maskSize: true,
75
- objectPosition: true,
76
- textEmphasis: true,
77
- userSelect: true,
78
- }
9
+ export const nonAnimatableWebTextProps = toObj(
10
+ 'whiteSpace wordWrap textOverflow WebkitBoxOrient'
11
+ )
79
12
 
80
- export const webOnlyStylePropsText = {
81
- ...nonAnimatableWebTextProps,
82
- textDecorationDistance: true,
83
- // cursor: now cross-platform - in stylePropsView
84
- WebkitLineClamp: true,
85
- }
13
+ export const webOnlyStylePropsView = toObj(
14
+ nonAnimatableWebViewProps,
15
+ 'transition transitionProperty transitionDuration transitionTimingFunction transitionDelay transitionBehavior backdropFilter WebkitBackdropFilter borderTop borderRight borderBottom borderLeft backgroundPosition backgroundSize borderImage caretColor clipPath mask maskBorder maskBorderOutset maskBorderSlice maskBorderSource maskBorderWidth maskImage maskPosition maskSize objectPosition textEmphasis userSelect overflowWrap wordWrap resize'
16
+ )
17
+
18
+ export const webOnlyStylePropsText = toObj(
19
+ nonAnimatableWebTextProps,
20
+ 'textDecorationDistance WebkitLineClamp'
21
+ )
@@ -1 +1 @@
1
- {"version":3,"file":"composeEventHandlers.d.ts","sourceRoot":"","sources":["../src/composeEventHandlers.ts"],"names":[],"mappings":"AAAA,KAAK,MAAM,GAAG,MAAM,CAAA;AAEpB,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;AAE/D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACnD,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC7B,EAAE,qBAA4B,EAAE;;CAAK,+BAoBtC"}
1
+ {"version":3,"file":"composeEventHandlers.d.ts","sourceRoot":"","sources":["../src/composeEventHandlers.ts"],"names":[],"mappings":"AAAA,KAAK,MAAM,GAAG,MAAM,CAAA;AAEpB,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;AAE/D,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACnD,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC7B,EAAE,qBAA4B,EAAE;;CAAK,+BAgBtC"}
package/types/index.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  export * from '@tamagui/simple-hash';
2
2
  export * from './clamp';
3
+ export * from './reservedThemeProps';
4
+ export * from './themeClassNames';
3
5
  export * from './composeEventHandlers';
4
6
  export * from './types';
5
7
  export * from './shouldRenderNativePlatform';
8
+ export * from './tokenCategories';
6
9
  export * from './validStyleProps';
7
10
  export * from './withStaticProperties';
8
11
  export * from './webOnlyStyleProps';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,SAAS,CAAA;AACvB,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,SAAS,CAAA;AACvB,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The props `<Theme>` owns. Inline theme values live on `<ThemeUpdate>`, so an
3
+ * unknown `<Theme>` prop is always invalid.
4
+ *
5
+ * It lives here, in a side-effect-free package, because the compiler classifies
6
+ * static `<Theme>` props with the same table the runtime uses. One table, so a
7
+ * new reserved prop can never mean one thing at build time and another at
8
+ * runtime.
9
+ */
10
+ export declare const reservedThemeProps: Record<string, true>;
11
+ //# sourceMappingURL=reservedThemeProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reservedThemeProps.d.ts","sourceRoot":"","sources":["../src/reservedThemeProps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAgBnD,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare function getThemeScheme(name: string): 'light' | 'dark' | undefined;
2
+ export declare function getThemeClassNames(name: string, isRoot?: boolean, schemeAuthored?: boolean): string;
3
+ //# sourceMappingURL=themeClassNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeClassNames.d.ts","sourceRoot":"","sources":["../src/themeClassNames.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAEzE;AAID,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,OAAO,GACvB,MAAM,CAaR"}
@@ -0,0 +1,6 @@
1
+ type StylePropSource = string | Readonly<Record<string, boolean>> | undefined;
2
+ type StylePropWords<Value extends string> = Value extends `${infer A} ${infer B} ${infer C} ${infer D} ${infer E} ${infer F} ${infer G} ${infer H} ${infer Tail}` ? A | B | C | D | E | F | G | H | StylePropWords<Tail> : Value extends `${infer Head} ${infer Tail}` ? Head | StylePropWords<Tail> : Value;
3
+ type StylePropKeys<Source> = Source extends string ? StylePropWords<Source> : Source extends Readonly<Record<string, boolean>> ? keyof Source : never;
4
+ export declare const toStylePropsObject: <const Sources extends readonly StylePropSource[]>(...sources: Sources) => { [Key in Exclude<Extract<StylePropKeys<Sources[number]>, string>, ''>]: true; };
5
+ export {};
6
+ //# sourceMappingURL=toStylePropsObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toStylePropsObject.d.ts","sourceRoot":"","sources":["../src/toStylePropsObject.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAA;AAC7E,KAAK,cAAc,CAAC,KAAK,SAAS,MAAM,IACtC,KAAK,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GACjH,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GACpD,KAAK,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GACzC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,GAC3B,KAAK,CAAA;AACb,KAAK,aAAa,CAAC,MAAM,IAAI,MAAM,SAAS,MAAM,GAC9C,cAAc,CAAC,MAAM,CAAC,GACtB,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC9C,MAAM,MAAM,GACZ,KAAK,CAAA;AAEX,eAAO,MAAM,kBAAkB,GAAI,KAAK,CAAC,OAAO,SAAS,SAAS,eAAe,EAAE,cACrE,OAAO,KAClB,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAa/E,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from '@tamagui/style-grammar/token-categories';
2
+ type TokenCategories = Record<'radius' | 'size' | 'zIndex' | 'color', Record<string, true>>;
3
+ export declare const tokenCategories: TokenCategories;
4
+ //# sourceMappingURL=tokenCategories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenCategories.d.ts","sourceRoot":"","sources":["../src/tokenCategories.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAA;AAOvD,KAAK,eAAe,GAAG,MAAM,CAC3B,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,EACtC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CACrB,CAAA;AAGD,eAAO,MAAM,eAAe,EAAS,eAAe,CAAA"}