tamagui 1.0.1-beta.21 → 1.0.1-beta.25

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 (197) hide show
  1. package/dist/cjs/index.js +8 -0
  2. package/dist/cjs/index.js.map +2 -2
  3. package/dist/cjs/views/Button.js +1 -1
  4. package/dist/cjs/views/Button.js.map +2 -2
  5. package/dist/cjs/views/Card.js +1 -1
  6. package/dist/cjs/views/Card.js.map +2 -2
  7. package/dist/cjs/views/Input.js +1 -1
  8. package/dist/cjs/views/Input.js.map +2 -2
  9. package/dist/esm/index.js +8 -0
  10. package/dist/esm/index.js.map +2 -2
  11. package/dist/esm/views/Button.js +2 -2
  12. package/dist/esm/views/Button.js.map +2 -2
  13. package/dist/esm/views/Card.js +2 -2
  14. package/dist/esm/views/Card.js.map +2 -2
  15. package/dist/esm/views/Input.js +1 -1
  16. package/dist/esm/views/Input.js.map +2 -2
  17. package/dist/jsx/index.js +8 -0
  18. package/dist/jsx/views/Button.js +2 -2
  19. package/dist/jsx/views/Card.js +2 -2
  20. package/dist/jsx/views/Input.js +1 -1
  21. package/package.json +17 -17
  22. package/types/index.d.ts +1 -1
  23. package/types/index.d.ts.map +1 -1
  24. package/types/views/Button.d.ts +9 -9
  25. package/types/views/Button.d.ts.map +1 -1
  26. package/types/views/Card.d.ts +4 -4
  27. package/types/views/Circle.d.ts +0 -16
  28. package/types/views/Circle.d.ts.map +1 -1
  29. package/types/views/Square.d.ts +0 -16
  30. package/types/views/Square.d.ts.map +1 -1
  31. package/dist/cjs/helpers/clamp.js +0 -32
  32. package/dist/cjs/helpers/clamp.js.map +0 -7
  33. package/dist/cjs/helpers/createContext.js +0 -150
  34. package/dist/cjs/helpers/createContext.js.map +0 -7
  35. package/dist/cjs/helpers/getButtonSize.js +0 -48
  36. package/dist/cjs/helpers/getButtonSize.js.map +0 -7
  37. package/dist/cjs/helpers/sizableTextSizeVariant.js +0 -56
  38. package/dist/cjs/helpers/sizableTextSizeVariant.js.map +0 -7
  39. package/dist/cjs/hooks/useLayout.js +0 -79
  40. package/dist/cjs/hooks/useLayout.js.map +0 -7
  41. package/dist/cjs/hooks/usePrevious.js +0 -43
  42. package/dist/cjs/hooks/usePrevious.js.map +0 -7
  43. package/dist/cjs/views/HoverablePopover.js +0 -146
  44. package/dist/cjs/views/HoverablePopover.js.map +0 -7
  45. package/dist/cjs/views/Paragraph.js +0 -35
  46. package/dist/cjs/views/Paragraph.js.map +0 -7
  47. package/dist/cjs/views/Popover/Popover.js +0 -154
  48. package/dist/cjs/views/Popover/Popover.js.map +0 -7
  49. package/dist/cjs/views/Popover/PopoverContent.js +0 -91
  50. package/dist/cjs/views/Popover/PopoverContent.js.map +0 -7
  51. package/dist/cjs/views/Popover/PopoverContext.js +0 -46
  52. package/dist/cjs/views/Popover/PopoverContext.js.map +0 -7
  53. package/dist/cjs/views/Popover/PopoverProvider.js +0 -37
  54. package/dist/cjs/views/Popover/PopoverProvider.js.map +0 -7
  55. package/dist/cjs/views/Popover/types.js +0 -16
  56. package/dist/cjs/views/Popover/types.js.map +0 -7
  57. package/dist/cjs/views/Popper/Popper.js +0 -164
  58. package/dist/cjs/views/Popper/Popper.js.map +0 -7
  59. package/dist/cjs/views/Popper/PopperArrow.js +0 -114
  60. package/dist/cjs/views/Popper/PopperArrow.js.map +0 -7
  61. package/dist/cjs/views/Popper/PopperContext.js +0 -29
  62. package/dist/cjs/views/Popper/PopperContext.js.map +0 -7
  63. package/dist/cjs/views/Popper/shared.js +0 -37
  64. package/dist/cjs/views/Popper/shared.js.map +0 -7
  65. package/dist/cjs/views/Popper/types.js +0 -16
  66. package/dist/cjs/views/Popper/types.js.map +0 -7
  67. package/dist/cjs/views/Separator.js +0 -46
  68. package/dist/cjs/views/Separator.js.map +0 -7
  69. package/dist/cjs/views/SizableStack.js +0 -105
  70. package/dist/cjs/views/SizableStack.js.map +0 -7
  71. package/dist/cjs/views/SizableText.js +0 -39
  72. package/dist/cjs/views/SizableText.js.map +0 -7
  73. package/dist/cjs/views/Tooltip.js +0 -141
  74. package/dist/cjs/views/Tooltip.js.map +0 -7
  75. package/dist/cjs/views/TooltipSimple.js +0 -1
  76. package/dist/cjs/views/TooltipSimple.js.map +0 -7
  77. package/dist/cjs/views/TouchableOpacity.js +0 -71
  78. package/dist/cjs/views/TouchableOpacity.js.map +0 -7
  79. package/dist/esm/helpers/clamp.js +0 -10
  80. package/dist/esm/helpers/clamp.js.map +0 -7
  81. package/dist/esm/helpers/createContext.js +0 -95
  82. package/dist/esm/helpers/createContext.js.map +0 -7
  83. package/dist/esm/helpers/getButtonSize.js +0 -27
  84. package/dist/esm/helpers/getButtonSize.js.map +0 -7
  85. package/dist/esm/helpers/sizableTextSizeVariant.js +0 -34
  86. package/dist/esm/helpers/sizableTextSizeVariant.js.map +0 -7
  87. package/dist/esm/hooks/useLayout.js +0 -57
  88. package/dist/esm/hooks/useLayout.js.map +0 -7
  89. package/dist/esm/hooks/usePrevious.js +0 -18
  90. package/dist/esm/hooks/usePrevious.js.map +0 -7
  91. package/dist/esm/views/HoverablePopover.js +0 -82
  92. package/dist/esm/views/HoverablePopover.js.map +0 -7
  93. package/dist/esm/views/Paragraph.js +0 -12
  94. package/dist/esm/views/Paragraph.js.map +0 -7
  95. package/dist/esm/views/Popover/Popover.js +0 -93
  96. package/dist/esm/views/Popover/Popover.js.map +0 -7
  97. package/dist/esm/views/Popover/PopoverContent.js +0 -48
  98. package/dist/esm/views/Popover/PopoverContent.js.map +0 -7
  99. package/dist/esm/views/Popover/PopoverContext.js +0 -20
  100. package/dist/esm/views/Popover/PopoverContext.js.map +0 -7
  101. package/dist/esm/views/Popover/PopoverProvider.js +0 -12
  102. package/dist/esm/views/Popover/PopoverProvider.js.map +0 -7
  103. package/dist/esm/views/Popover/types.js +0 -1
  104. package/dist/esm/views/Popover/types.js.map +0 -7
  105. package/dist/esm/views/Popper/Popper.js +0 -116
  106. package/dist/esm/views/Popper/Popper.js.map +0 -7
  107. package/dist/esm/views/Popper/PopperArrow.js +0 -62
  108. package/dist/esm/views/Popper/PopperArrow.js.map +0 -7
  109. package/dist/esm/views/Popper/PopperContext.js +0 -6
  110. package/dist/esm/views/Popper/PopperContext.js.map +0 -7
  111. package/dist/esm/views/Popper/shared.js +0 -13
  112. package/dist/esm/views/Popper/shared.js.map +0 -7
  113. package/dist/esm/views/Popper/types.js +0 -1
  114. package/dist/esm/views/Popper/types.js.map +0 -7
  115. package/dist/esm/views/Separator.js +0 -23
  116. package/dist/esm/views/Separator.js.map +0 -7
  117. package/dist/esm/views/SizableStack.js +0 -82
  118. package/dist/esm/views/SizableStack.js.map +0 -7
  119. package/dist/esm/views/SizableText.js +0 -16
  120. package/dist/esm/views/SizableText.js.map +0 -7
  121. package/dist/esm/views/Tooltip.js +0 -83
  122. package/dist/esm/views/Tooltip.js.map +0 -7
  123. package/dist/esm/views/TooltipSimple.js +0 -1
  124. package/dist/esm/views/TooltipSimple.js.map +0 -7
  125. package/dist/esm/views/TouchableOpacity.js +0 -30
  126. package/dist/esm/views/TouchableOpacity.js.map +0 -7
  127. package/dist/jsx/helpers/clamp.js +0 -9
  128. package/dist/jsx/helpers/createContext.js +0 -90
  129. package/dist/jsx/helpers/getButtonSize.js +0 -26
  130. package/dist/jsx/helpers/sizableTextSizeVariant.js +0 -33
  131. package/dist/jsx/hooks/useLayout.js +0 -56
  132. package/dist/jsx/hooks/usePrevious.js +0 -17
  133. package/dist/jsx/views/HoverablePopover.js +0 -68
  134. package/dist/jsx/views/Paragraph.js +0 -11
  135. package/dist/jsx/views/Popover/Popover.js +0 -79
  136. package/dist/jsx/views/Popover/PopoverContent.js +0 -43
  137. package/dist/jsx/views/Popover/PopoverContext.js +0 -19
  138. package/dist/jsx/views/Popover/PopoverProvider.js +0 -11
  139. package/dist/jsx/views/Popover/types.js +0 -0
  140. package/dist/jsx/views/Popper/Popper.js +0 -102
  141. package/dist/jsx/views/Popper/PopperArrow.js +0 -47
  142. package/dist/jsx/views/Popper/PopperContext.js +0 -5
  143. package/dist/jsx/views/Popper/shared.js +0 -12
  144. package/dist/jsx/views/Popper/types.js +0 -0
  145. package/dist/jsx/views/Separator.js +0 -22
  146. package/dist/jsx/views/SizableStack.js +0 -81
  147. package/dist/jsx/views/SizableText.js +0 -15
  148. package/dist/jsx/views/Tooltip.js +0 -58
  149. package/dist/jsx/views/TooltipSimple.js +0 -0
  150. package/dist/jsx/views/TouchableOpacity.js +0 -21
  151. package/types/helpers/clamp.d.ts +0 -2
  152. package/types/helpers/clamp.d.ts.map +0 -1
  153. package/types/helpers/createContext.d.ts +0 -27
  154. package/types/helpers/createContext.d.ts.map +0 -1
  155. package/types/helpers/getButtonSize.d.ts +0 -8
  156. package/types/helpers/getButtonSize.d.ts.map +0 -1
  157. package/types/helpers/sizableTextSizeVariant.d.ts +0 -3
  158. package/types/helpers/sizableTextSizeVariant.d.ts.map +0 -1
  159. package/types/hooks/useLayout.d.ts +0 -15
  160. package/types/hooks/useLayout.d.ts.map +0 -1
  161. package/types/hooks/usePrevious.d.ts +0 -3
  162. package/types/hooks/usePrevious.d.ts.map +0 -1
  163. package/types/views/HoverablePopover.d.ts.map +0 -1
  164. package/types/views/Paragraph.d.ts +0 -26
  165. package/types/views/Paragraph.d.ts.map +0 -1
  166. package/types/views/Popover/Popover.d.ts +0 -11
  167. package/types/views/Popover/Popover.d.ts.map +0 -1
  168. package/types/views/Popover/PopoverContent.d.ts +0 -3
  169. package/types/views/Popover/PopoverContent.d.ts.map +0 -1
  170. package/types/views/Popover/PopoverContext.d.ts +0 -14
  171. package/types/views/Popover/PopoverContext.d.ts.map +0 -1
  172. package/types/views/Popover/PopoverProvider.d.ts +0 -5
  173. package/types/views/Popover/PopoverProvider.d.ts.map +0 -1
  174. package/types/views/Popover/types.d.ts +0 -81
  175. package/types/views/Popover/types.d.ts.map +0 -1
  176. package/types/views/Popper/Popper.d.ts +0 -15
  177. package/types/views/Popper/Popper.d.ts.map +0 -1
  178. package/types/views/Popper/PopperArrow.d.ts +0 -10
  179. package/types/views/Popper/PopperArrow.d.ts.map +0 -1
  180. package/types/views/Popper/PopperContext.d.ts +0 -9
  181. package/types/views/Popper/PopperContext.d.ts.map +0 -1
  182. package/types/views/Popper/shared.d.ts +0 -4
  183. package/types/views/Popper/shared.d.ts.map +0 -1
  184. package/types/views/Popper/types.d.ts +0 -30
  185. package/types/views/Popper/types.d.ts.map +0 -1
  186. package/types/views/Separator.d.ts +0 -10
  187. package/types/views/Separator.d.ts.map +0 -1
  188. package/types/views/SizableStack.d.ts +0 -56
  189. package/types/views/SizableStack.d.ts.map +0 -1
  190. package/types/views/SizableText.d.ts +0 -12
  191. package/types/views/SizableText.d.ts.map +0 -1
  192. package/types/views/Tooltip.d.ts +0 -16
  193. package/types/views/Tooltip.d.ts.map +0 -1
  194. package/types/views/TooltipSimple.d.ts +0 -1
  195. package/types/views/TooltipSimple.d.ts.map +0 -1
  196. package/types/views/TouchableOpacity.d.ts +0 -4
  197. package/types/views/TouchableOpacity.d.ts.map +0 -1
package/dist/cjs/index.js CHANGED
@@ -31,7 +31,9 @@ __export(src_exports, {
31
31
  FontTransformTokens: () => import_core.FontTransformTokens,
32
32
  FontWeightTokens: () => import_core.FontWeightTokens,
33
33
  GenericFont: () => import_core.GenericFont,
34
+ GenericStackVariants: () => import_core.GenericStackVariants,
34
35
  GenericTamaguiConfig: () => import_core.GenericTamaguiConfig,
36
+ GenericTextVariants: () => import_core.GenericTextVariants,
35
37
  GetAnimationKeys: () => import_core.GetAnimationKeys,
36
38
  GetProps: () => import_core.GetProps,
37
39
  GetVariantProps: () => import_core.GetVariantProps,
@@ -91,6 +93,8 @@ __export(src_exports, {
91
93
  getStylesAtomic: () => import_core.getStylesAtomic,
92
94
  getThemes: () => import_core.getThemes,
93
95
  getTokens: () => import_core.getTokens,
96
+ getVariableName: () => import_core.getVariableName,
97
+ getVariableValue: () => import_core.getVariableValue,
94
98
  isChrome: () => import_core.isChrome,
95
99
  isObj: () => import_core.isObj,
96
100
  isSSR: () => import_core.isSSR,
@@ -180,7 +184,9 @@ __reExport(src_exports, require("./helpers/getFontSize"), module.exports);
180
184
  FontTransformTokens,
181
185
  FontWeightTokens,
182
186
  GenericFont,
187
+ GenericStackVariants,
183
188
  GenericTamaguiConfig,
189
+ GenericTextVariants,
184
190
  GetAnimationKeys,
185
191
  GetProps,
186
192
  GetVariantProps,
@@ -240,6 +246,8 @@ __reExport(src_exports, require("./helpers/getFontSize"), module.exports);
240
246
  getStylesAtomic,
241
247
  getThemes,
242
248
  getTokens,
249
+ getVariableName,
250
+ getVariableValue,
243
251
  isChrome,
244
252
  isObj,
245
253
  isSSR,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["import './polyfills'\n\nexport { useSafeAreaInsets } from 'react-native-safe-area-context'\n\nexport * from '@tamagui/compose-refs'\nexport * from '@tamagui/create-context'\nexport * from '@tamagui/helpers'\nexport * from '@tamagui/popover'\nexport * from '@tamagui/popper'\nexport * from '@tamagui/stacks'\nexport * from '@tamagui/text'\nexport * from '@tamagui/tooltip'\nexport * from '@tamagui/separator'\nexport * from '@tamagui/use-controllable-state'\nexport * from '@tamagui/use-debounce'\nexport * from '@tamagui/use-force-update'\n\n// since we overlap with StackProps and potentially others\n// lets be explicit on what gets exported\nexport {\n // types\n AnimationKeys,\n ColorTokens,\n CreateTamaguiConfig,\n CreateTamaguiProps,\n FontColorTokens,\n FontLetterSpacingTokens,\n FontLineHeightTokens,\n FontSizeTokens,\n FontStyleTokens,\n FontTokens,\n FontTransformTokens,\n FontWeightTokens,\n GenericFont,\n GenericTamaguiConfig,\n GetAnimationKeys,\n GetProps,\n GetVariantProps,\n Media,\n MediaKeys,\n MediaPropKeys,\n MediaQueries,\n mediaQueryConfig,\n MediaQueryState,\n RNWTextProps,\n RNWViewProps,\n Shorthands,\n SizeTokens,\n SpaceTokens,\n StackPropsBase,\n StackPropsBaseShared,\n StaticConfig,\n StaticConfigParsed,\n TamaguiBaseTheme,\n TamaguiComponent,\n TamaguiComponentPropsBase,\n TamaguiConfig,\n TamaguiCustomConfig,\n TamaguiInternalConfig,\n TamaguiProviderProps,\n TextProps,\n TextPropsBase,\n TextPropsBaseShared,\n ThemeKeys,\n ThemeName,\n ThemeObject,\n ThemeProps,\n Themes,\n ThemeValueFallback,\n Tokens,\n TransformStyleProps,\n VariantSpreadExtras,\n VariantSpreadFunction,\n ZIndexTokens,\n // components\n Spacer,\n Stack,\n Text,\n Theme,\n ThemeInverse,\n ThemeReset,\n // context,\n TextAncestorContext,\n // constants\n isChrome,\n isSSR,\n isTouchDevice,\n isWeb,\n isWebIOS,\n supportsTouchWeb,\n // helpers\n addMediaQueryListener,\n createComponent,\n createFont,\n createShorthands,\n createTheme,\n createTokens,\n createVariable,\n getConfig,\n getHasConfigured,\n getMedia,\n getStylesAtomic,\n getThemes,\n getTokens,\n isObj,\n isTamaguiElement,\n isVariable,\n matchMedia,\n mediaObjectToString,\n mediaState,\n spacedChildren,\n styled,\n themeable,\n Variable,\n withStaticProperties,\n // hooks\n useConstant,\n useDefaultThemeName,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsTouchDevice,\n useMedia,\n usePressable,\n useTheme,\n useThemeName,\n useUnmountEffect,\n} from '@tamagui/core'\n\nexport * from './createTamagui'\nexport * from './viewTypes'\n\nexport * from './hooks/useKeyboardDismissable'\n\nexport * from './views/Anchor'\nexport * from './views/BlurView'\nexport * from './views/Button'\nexport * from './views/Card'\nexport * from './views/Circle'\nexport * from './views/EnsureFlexed'\nexport * from './views/Form'\nexport * from './views/Grid'\nexport * from './views/Headings'\nexport * from './views/Hoverable'\nexport * from './views/Image'\nexport * from './views/Input'\nexport * from './views/InteractiveContainer'\nexport * from './views/Label'\nexport * from './views/Layouts'\nexport * from './views/LinearGradient'\nexport * from './views/Modal'\nexport * from './views/Overlay'\nexport * from './views/Square'\nexport * from './views/Switch'\nexport * from './views/Table'\nexport * from './views/TextArea'\nexport * from './views/Toast'\nexport * from './views/VisuallyHidden'\n\nexport * from './helpers/prevent'\nexport * from './helpers/getFontSize'\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAO;AAEP,4CAAkC;AAElC,wBAAc,kCAJd;AAKA,wBAAc,oCALd;AAMA,wBAAc,6BANd;AAOA,wBAAc,6BAPd;AAQA,wBAAc,4BARd;AASA,wBAAc,4BATd;AAUA,wBAAc,0BAVd;AAWA,wBAAc,6BAXd;AAYA,wBAAc,+BAZd;AAaA,wBAAc,4CAbd;AAcA,wBAAc,kCAdd;AAeA,wBAAc,sCAfd;AAmBA,kBA2GO;AAEP,wBAAc,4BAhId;AAiIA,wBAAc,wBAjId;AAmIA,wBAAc,2CAnId;AAqIA,wBAAc,2BArId;AAsIA,wBAAc,6BAtId;AAuIA,wBAAc,2BAvId;AAwIA,wBAAc,yBAxId;AAyIA,wBAAc,2BAzId;AA0IA,wBAAc,iCA1Id;AA2IA,wBAAc,yBA3Id;AA4IA,wBAAc,yBA5Id;AA6IA,wBAAc,6BA7Id;AA8IA,wBAAc,8BA9Id;AA+IA,wBAAc,0BA/Id;AAgJA,wBAAc,0BAhJd;AAiJA,wBAAc,yCAjJd;AAkJA,wBAAc,0BAlJd;AAmJA,wBAAc,4BAnJd;AAoJA,wBAAc,mCApJd;AAqJA,wBAAc,0BArJd;AAsJA,wBAAc,4BAtJd;AAuJA,wBAAc,2BAvJd;AAwJA,wBAAc,2BAxJd;AAyJA,wBAAc,0BAzJd;AA0JA,wBAAc,6BA1Jd;AA2JA,wBAAc,0BA3Jd;AA4JA,wBAAc,mCA5Jd;AA8JA,wBAAc,8BA9Jd;AA+JA,wBAAc,kCA/Jd;",
4
+ "sourcesContent": ["import './polyfills'\n\nexport { useSafeAreaInsets } from 'react-native-safe-area-context'\n\nexport * from '@tamagui/compose-refs'\nexport * from '@tamagui/create-context'\nexport * from '@tamagui/helpers'\nexport * from '@tamagui/popover'\nexport * from '@tamagui/popper'\nexport * from '@tamagui/stacks'\nexport * from '@tamagui/text'\nexport * from '@tamagui/tooltip'\nexport * from '@tamagui/separator'\nexport * from '@tamagui/use-controllable-state'\nexport * from '@tamagui/use-debounce'\nexport * from '@tamagui/use-force-update'\n\n// since we overlap with StackProps and potentially others\n// lets be explicit on what gets exported\nexport {\n // types\n AnimationKeys,\n ColorTokens,\n CreateTamaguiConfig,\n CreateTamaguiProps,\n FontColorTokens,\n FontLetterSpacingTokens,\n FontLineHeightTokens,\n FontSizeTokens,\n FontStyleTokens,\n FontTokens,\n FontTransformTokens,\n FontWeightTokens,\n GenericFont,\n GenericTamaguiConfig,\n GetAnimationKeys,\n GetProps,\n GetVariantProps,\n GenericTextVariants,\n GenericStackVariants,\n Media,\n MediaKeys,\n MediaPropKeys,\n MediaQueries,\n mediaQueryConfig,\n MediaQueryState,\n RNWTextProps,\n RNWViewProps,\n Shorthands,\n SizeTokens,\n SpaceTokens,\n StackPropsBase,\n StackPropsBaseShared,\n StaticConfig,\n StaticConfigParsed,\n TamaguiBaseTheme,\n TamaguiComponent,\n TamaguiComponentPropsBase,\n TamaguiConfig,\n TamaguiCustomConfig,\n TamaguiInternalConfig,\n TamaguiProviderProps,\n TextProps,\n TextPropsBase,\n TextPropsBaseShared,\n ThemeKeys,\n ThemeName,\n ThemeObject,\n ThemeProps,\n Themes,\n ThemeValueFallback,\n Tokens,\n TransformStyleProps,\n VariantSpreadExtras,\n VariantSpreadFunction,\n ZIndexTokens,\n // components\n Spacer,\n Stack,\n Text,\n Theme,\n ThemeInverse,\n ThemeReset,\n // context,\n TextAncestorContext,\n // constants\n isChrome,\n isSSR,\n isTouchDevice,\n isWeb,\n isWebIOS,\n supportsTouchWeb,\n // helpers\n addMediaQueryListener,\n createComponent,\n createFont,\n createShorthands,\n createTheme,\n createTokens,\n createVariable,\n getConfig,\n getHasConfigured,\n getMedia,\n getStylesAtomic,\n getThemes,\n getTokens,\n getVariableValue,\n getVariableName,\n isObj,\n isTamaguiElement,\n isVariable,\n matchMedia,\n mediaObjectToString,\n mediaState,\n spacedChildren,\n styled,\n themeable,\n Variable,\n withStaticProperties,\n // hooks\n useConstant,\n useDefaultThemeName,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsTouchDevice,\n useMedia,\n usePressable,\n useTheme,\n useThemeName,\n useUnmountEffect,\n} from '@tamagui/core'\n\nexport * from './createTamagui'\nexport * from './viewTypes'\n\nexport * from './hooks/useKeyboardDismissable'\n\nexport * from './views/Anchor'\nexport * from './views/BlurView'\nexport * from './views/Button'\nexport * from './views/Card'\nexport * from './views/Circle'\nexport * from './views/EnsureFlexed'\nexport * from './views/Form'\nexport * from './views/Grid'\nexport * from './views/Headings'\nexport * from './views/Hoverable'\nexport * from './views/Image'\nexport * from './views/Input'\nexport * from './views/InteractiveContainer'\nexport * from './views/Label'\nexport * from './views/Layouts'\nexport * from './views/LinearGradient'\nexport * from './views/Modal'\nexport * from './views/Overlay'\nexport * from './views/Square'\nexport * from './views/Switch'\nexport * from './views/Table'\nexport * from './views/TextArea'\nexport * from './views/Toast'\nexport * from './views/VisuallyHidden'\n\nexport * from './helpers/prevent'\nexport * from './helpers/getFontSize'\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAO;AAEP,4CAAkC;AAElC,wBAAc,kCAJd;AAKA,wBAAc,oCALd;AAMA,wBAAc,6BANd;AAOA,wBAAc,6BAPd;AAQA,wBAAc,4BARd;AASA,wBAAc,4BATd;AAUA,wBAAc,0BAVd;AAWA,wBAAc,6BAXd;AAYA,wBAAc,+BAZd;AAaA,wBAAc,4CAbd;AAcA,wBAAc,kCAdd;AAeA,wBAAc,sCAfd;AAmBA,kBA+GO;AAEP,wBAAc,4BApId;AAqIA,wBAAc,wBArId;AAuIA,wBAAc,2CAvId;AAyIA,wBAAc,2BAzId;AA0IA,wBAAc,6BA1Id;AA2IA,wBAAc,2BA3Id;AA4IA,wBAAc,yBA5Id;AA6IA,wBAAc,2BA7Id;AA8IA,wBAAc,iCA9Id;AA+IA,wBAAc,yBA/Id;AAgJA,wBAAc,yBAhJd;AAiJA,wBAAc,6BAjJd;AAkJA,wBAAc,8BAlJd;AAmJA,wBAAc,0BAnJd;AAoJA,wBAAc,0BApJd;AAqJA,wBAAc,yCArJd;AAsJA,wBAAc,0BAtJd;AAuJA,wBAAc,4BAvJd;AAwJA,wBAAc,mCAxJd;AAyJA,wBAAc,0BAzJd;AA0JA,wBAAc,4BA1Jd;AA2JA,wBAAc,2BA3Jd;AA4JA,wBAAc,2BA5Jd;AA6JA,wBAAc,0BA7Jd;AA8JA,wBAAc,6BA9Jd;AA+JA,wBAAc,0BA/Jd;AAgKA,wBAAc,mCAhKd;AAkKA,wBAAc,8BAlKd;AAmKA,wBAAc,kCAnKd;",
6
6
  "names": []
7
7
  }
@@ -59,7 +59,7 @@ var import_text = require("@tamagui/text");
59
59
  var import_react = __toESM(require("react"));
60
60
  var import_getFontSize = require("../helpers/getFontSize");
61
61
  import_react.default["createElement"];
62
- const ButtonFrame = (0, import_core.styled)(import_stacks.SizableStack, {
62
+ const ButtonFrame = (0, import_core.styled)(import_stacks.ThemeableSizableStack, {
63
63
  name: "Button",
64
64
  tag: "button",
65
65
  size: "$4",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Button.tsx"],
4
- "sourcesContent": ["import {\n ButtonInsideButtonContext,\n GetProps,\n ReactComponentWithRef,\n SizeTokens,\n ThemeableProps,\n buttonScaling,\n getButtonSize,\n getSizeScaledToFont,\n getVariableValue,\n spacedChildren,\n styled,\n themeable,\n useTheme,\n} from '@tamagui/core'\nimport { SizableStack } from '@tamagui/stacks'\nimport { SizableText, SizableTextProps } from '@tamagui/text'\nimport React, { FunctionComponent, forwardRef, isValidElement, useContext } from 'react'\nimport { View } from 'react-native'\n\nimport { getFontSize } from '../helpers/getFontSize'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\ntype ButtonIconProps = { color?: string; size?: number }\ntype IconProp = JSX.Element | FunctionComponent<ButtonIconProps> | null\n\nexport type ButtonProps = GetProps<typeof ButtonFrame> &\n ThemeableProps & {\n // add icon before, passes color and size automatically if Component\n icon?: IconProp\n // add icon after, passes color and size automatically if Component\n iconAfter?: IconProp\n // adjust icon relative to size\n // default: -1\n scaleIcon?: number\n // dont wrap inner contents in a text element\n noTextWrap?: boolean\n // make the spacing elements flex\n spaceFlex?: number | boolean\n // adjust internal space relative to icon size\n scaleSpace?: number\n\n // pass text properties:\n color?: SizableTextProps['color']\n fontWeight?: SizableTextProps['fontWeight']\n fontSize?: SizableTextProps['fontSize']\n fontFamily?: SizableTextProps['fontFamily']\n letterSpacing?: SizableTextProps['letterSpacing']\n textAlign?: SizableTextProps['textAlign']\n\n // all the other text controls\n textProps?: Partial<SizableTextProps>\n }\n\nconst ButtonFrame = styled(SizableStack, {\n name: 'Button',\n tag: 'button',\n size: '$4',\n borderWidth: 0,\n borderColor: '$borderColor',\n justifyContent: 'center',\n alignItems: 'center',\n flexWrap: 'nowrap',\n hoverable: true,\n pressable: true,\n\n // TODO only on hoverable/pressable!\n // would need to merge variants\n cursor: 'pointer',\n\n variants: {\n active: {\n true: {\n hoverStyle: {\n backgroundColor: '$background',\n },\n },\n },\n\n circular: {\n true: (_, extras) => {\n const { props } = extras\n const sizeVal = props.size ?? '$4'\n const scale = getSizeScaledToFont(sizeVal, buttonScaling, extras)\n const size = scale.minHeight\n return {\n width: size,\n height: size,\n maxWidth: size,\n maxHeight: size,\n minWidth: size,\n minHeight: size,\n borderRadius: 100_000,\n paddingVertical: 0,\n paddingHorizontal: 0,\n }\n },\n },\n },\n})\n\nconst ButtonComponent = forwardRef((props: ButtonProps, ref) => {\n // careful not to desctructure and re-order props, order is important\n const {\n children,\n icon,\n iconAfter,\n noTextWrap,\n theme: themeName,\n space,\n spaceFlex,\n scaleIcon = 1,\n scaleSpace = 0.5,\n\n // text props\n color: colorProp,\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n textProps,\n ...rest\n } = props as ButtonProps\n\n const isInsideButton = useContext(ButtonInsideButtonContext)\n const theme = useTheme()\n const size = props.size || '$4'\n\n // get color from prop or theme\n let color: any\n // @ts-expect-error\n if (theme && colorProp && colorProp in theme) {\n // @ts-expect-error\n color = theme[colorProp]\n } else if (colorProp) {\n color = colorProp\n } else {\n color = theme?.color\n }\n color = color?.toString()\n\n const iconSize = getFontSize(size) * scaleIcon\n\n const addTheme = (el: any) => {\n if (isValidElement(el)) {\n return el\n }\n if (el) {\n return React.createElement(el, {\n color,\n size: iconSize,\n })\n }\n return el\n }\n const themedIcon = icon ? addTheme(icon) : null\n const themedIconAfter = iconAfter ? addTheme(iconAfter) : null\n\n let contents = children\n\n if (!noTextWrap && children) {\n // in the case of using variables, like so:\n // <Button>Hello, {name}</Button>\n // it gives us props.children as ['Hello, ', 'name']\n // but we don't want to wrap multiple SizableText around each part\n // so we group them\n let allChildren = React.Children.toArray(children)\n let nextChildren: any[] = []\n let lastIsString = false\n\n function concatStringChildren() {\n if (!lastIsString) return\n const index = nextChildren.length - 1\n const childrenStrings = nextChildren[index]\n nextChildren[index] = (\n <SizableText\n key={index}\n {...{\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n size,\n }}\n {...(colorProp && {\n color: colorProp,\n })}\n flexGrow={1}\n flexShrink={1}\n ellipse\n {...textProps}\n >\n {childrenStrings}\n </SizableText>\n )\n }\n\n for (const child of allChildren) {\n const last = nextChildren[nextChildren.length - 1]\n const isString = typeof child === 'string'\n if (isString) {\n if (lastIsString) {\n last.push(child)\n } else {\n nextChildren.push([child])\n }\n } else {\n concatStringChildren()\n nextChildren.push(child)\n }\n lastIsString = isString\n }\n concatStringChildren()\n\n contents = nextChildren\n }\n\n return (\n // careful not to desctructure and re-order props, order is important\n <ButtonInsideButtonContext.Provider value={true}>\n <ButtonFrame\n fontFamily={fontFamily}\n // fixes SSR issue + DOM nesting issue of not allowing button in button\n {...(isInsideButton && {\n tag: 'span',\n })}\n ref={ref as any}\n {...rest}\n >\n {themedIcon || themedIconAfter\n ? spacedChildren({\n // a bit arbitrary but scaling to font size is necessary so long as button does\n space: getVariableValue(iconSize) * scaleSpace,\n spaceFlex,\n direction: props.flexDirection || 'row',\n children: [themedIcon, contents, themedIconAfter],\n })\n : contents}\n </ButtonFrame>\n </ButtonInsideButtonContext.Provider>\n )\n})\n\nexport const Button: ReactComponentWithRef<ButtonProps, HTMLButtonElement | View> =\n ButtonFrame.extractable(themeable(ButtonComponent as any) as any, {\n inlineProps: new Set([\n // text props go here (can't really optimize them, but we never fully extract button anyway)\n 'color',\n 'fontWeight',\n 'fontSize',\n 'fontFamily',\n 'letterSpacing',\n 'textAlign',\n ]),\n })\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n ButtonInsideButtonContext,\n GetProps,\n ReactComponentWithRef,\n ThemeableProps,\n buttonScaling,\n getSizeScaledToFont,\n getVariableValue,\n spacedChildren,\n styled,\n themeable,\n useTheme,\n} from '@tamagui/core'\nimport { ThemeableSizableStack } from '@tamagui/stacks'\nimport { SizableText, SizableTextProps } from '@tamagui/text'\nimport React, { FunctionComponent, forwardRef, isValidElement, useContext } from 'react'\nimport { View } from 'react-native'\n\nimport { getFontSize } from '../helpers/getFontSize'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\ntype ButtonIconProps = { color?: string; size?: number }\ntype IconProp = JSX.Element | FunctionComponent<ButtonIconProps> | null\n\nexport type ButtonProps = GetProps<typeof ButtonFrame> &\n ThemeableProps & {\n // add icon before, passes color and size automatically if Component\n icon?: IconProp\n // add icon after, passes color and size automatically if Component\n iconAfter?: IconProp\n // adjust icon relative to size\n // default: -1\n scaleIcon?: number\n // dont wrap inner contents in a text element\n noTextWrap?: boolean\n // make the spacing elements flex\n spaceFlex?: number | boolean\n // adjust internal space relative to icon size\n scaleSpace?: number\n\n // pass text properties:\n color?: SizableTextProps['color']\n fontWeight?: SizableTextProps['fontWeight']\n fontSize?: SizableTextProps['fontSize']\n fontFamily?: SizableTextProps['fontFamily']\n letterSpacing?: SizableTextProps['letterSpacing']\n textAlign?: SizableTextProps['textAlign']\n\n // all the other text controls\n textProps?: Partial<SizableTextProps>\n }\n\nconst ButtonFrame = styled(ThemeableSizableStack, {\n name: 'Button',\n tag: 'button',\n size: '$4',\n borderWidth: 0,\n borderColor: '$borderColor',\n justifyContent: 'center',\n alignItems: 'center',\n flexWrap: 'nowrap',\n hoverable: true,\n pressable: true,\n\n // TODO only on hoverable/pressable!\n // would need to merge variants\n cursor: 'pointer',\n\n variants: {\n active: {\n true: {\n hoverStyle: {\n backgroundColor: '$background',\n },\n },\n },\n\n circular: {\n true: (_, extras) => {\n const { props } = extras\n const sizeVal = props.size ?? '$4'\n const scale = getSizeScaledToFont(sizeVal, buttonScaling, extras)\n const size = scale.minHeight\n return {\n width: size,\n height: size,\n maxWidth: size,\n maxHeight: size,\n minWidth: size,\n minHeight: size,\n borderRadius: 100_000,\n paddingVertical: 0,\n paddingHorizontal: 0,\n }\n },\n },\n },\n})\n\nconst ButtonComponent = forwardRef((props: ButtonProps, ref) => {\n // careful not to desctructure and re-order props, order is important\n const {\n children,\n icon,\n iconAfter,\n noTextWrap,\n theme: themeName,\n space,\n spaceFlex,\n scaleIcon = 1,\n scaleSpace = 0.5,\n\n // text props\n color: colorProp,\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n textProps,\n ...rest\n } = props as ButtonProps\n\n const isInsideButton = useContext(ButtonInsideButtonContext)\n const theme = useTheme()\n const size = props.size || '$4'\n\n // get color from prop or theme\n let color: any\n // @ts-expect-error\n if (theme && colorProp && colorProp in theme) {\n // @ts-expect-error\n color = theme[colorProp]\n } else if (colorProp) {\n color = colorProp\n } else {\n color = theme?.color\n }\n color = color?.toString()\n\n const iconSize = getFontSize(size) * scaleIcon\n\n const addTheme = (el: any) => {\n if (isValidElement(el)) {\n return el\n }\n if (el) {\n return React.createElement(el, {\n color,\n size: iconSize,\n })\n }\n return el\n }\n const themedIcon = icon ? addTheme(icon) : null\n const themedIconAfter = iconAfter ? addTheme(iconAfter) : null\n\n let contents = children\n\n if (!noTextWrap && children) {\n // in the case of using variables, like so:\n // <Button>Hello, {name}</Button>\n // it gives us props.children as ['Hello, ', 'name']\n // but we don't want to wrap multiple SizableText around each part\n // so we group them\n let allChildren = React.Children.toArray(children)\n let nextChildren: any[] = []\n let lastIsString = false\n\n function concatStringChildren() {\n if (!lastIsString) return\n const index = nextChildren.length - 1\n const childrenStrings = nextChildren[index]\n nextChildren[index] = (\n <SizableText\n key={index}\n {...{\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n size,\n }}\n {...(colorProp && {\n color: colorProp,\n })}\n flexGrow={1}\n flexShrink={1}\n ellipse\n {...textProps}\n >\n {childrenStrings}\n </SizableText>\n )\n }\n\n for (const child of allChildren) {\n const last = nextChildren[nextChildren.length - 1]\n const isString = typeof child === 'string'\n if (isString) {\n if (lastIsString) {\n last.push(child)\n } else {\n nextChildren.push([child])\n }\n } else {\n concatStringChildren()\n nextChildren.push(child)\n }\n lastIsString = isString\n }\n concatStringChildren()\n\n contents = nextChildren\n }\n\n return (\n // careful not to desctructure and re-order props, order is important\n <ButtonInsideButtonContext.Provider value={true}>\n <ButtonFrame\n fontFamily={fontFamily}\n // fixes SSR issue + DOM nesting issue of not allowing button in button\n {...(isInsideButton && {\n tag: 'span',\n })}\n ref={ref as any}\n {...rest}\n >\n {themedIcon || themedIconAfter\n ? spacedChildren({\n // a bit arbitrary but scaling to font size is necessary so long as button does\n space: getVariableValue(iconSize) * scaleSpace,\n spaceFlex,\n direction: props.flexDirection || 'row',\n children: [themedIcon, contents, themedIconAfter],\n })\n : contents}\n </ButtonFrame>\n </ButtonInsideButtonContext.Provider>\n )\n})\n\nexport const Button: ReactComponentWithRef<ButtonProps, HTMLButtonElement | View> =\n ButtonFrame.extractable(themeable(ButtonComponent as any) as any, {\n inlineProps: new Set([\n // text props go here (can't really optimize them, but we never fully extract button anyway)\n 'color',\n 'fontWeight',\n 'fontSize',\n 'fontFamily',\n 'letterSpacing',\n 'textAlign',\n ]),\n })\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAYO;AACP,oBAAsC;AACtC,kBAA8C;AAC9C,mBAAiF;AAGjF,yBAA4B;AAG5B,qBAAM;AAiCN,MAAM,cAAc,wBAAO,qCAAuB;AAAA,EAChD,MAAM;AAAA,EACN,KAAK;AAAA,EACL,MAAM;AAAA,EACN,aAAa;AAAA,EACb,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EAIX,QAAQ;AAAA,EAER,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,MAAM,CAAC,GAAG,WAAW;AACnB,cAAM,EAAE,UAAU;AAClB,cAAM,UAAU,MAAM,QAAQ;AAC9B,cAAM,QAAQ,qCAAoB,SAAS,2BAAe,MAAM;AAChE,cAAM,OAAO,MAAM;AACnB,eAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,WAAW;AAAA,UACX,UAAU;AAAA,UACV,WAAW;AAAA,UACX,cAAc;AAAA,UACd,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,MAAM,kBAAkB,6BAAW,CAAC,OAAoB,QAAQ;AAE9D,QAoBI,YAnBF;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,aAAa;AAAA,IAGb,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MAEE,IADC,iBACD,IADC;AAAA,IAlBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIF,QAAM,iBAAiB,6BAAW,qCAAyB;AAC3D,QAAM,QAAQ,0BAAS;AACvB,QAAM,OAAO,MAAM,QAAQ;AAG3B,MAAI;AAEJ,MAAI,SAAS,aAAa,aAAa,OAAO;AAE5C,YAAQ,MAAM;AAAA,EAChB,WAAW,WAAW;AACpB,YAAQ;AAAA,EACV,OAAO;AACL,YAAQ,+BAAO;AAAA,EACjB;AACA,UAAQ,+BAAO;AAEf,QAAM,WAAW,oCAAY,IAAI,IAAI;AAErC,QAAM,WAAW,wBAAC,OAAY;AAC5B,QAAI,iCAAe,EAAE,GAAG;AACtB,aAAO;AAAA,IACT;AACA,QAAI,IAAI;AACN,aAAO,qBAAM,cAAc,IAAI;AAAA,QAC7B;AAAA,QACA,MAAM;AAAA,MACR,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT,GAXiB;AAYjB,QAAM,aAAa,OAAO,SAAS,IAAI,IAAI;AAC3C,QAAM,kBAAkB,YAAY,SAAS,SAAS,IAAI;AAE1D,MAAI,WAAW;AAEf,MAAI,CAAC,cAAc,UAAU;AAU3B,QAAS,uBAAT,WAAgC;AAC9B,UAAI,CAAC;AAAc;AACnB,YAAM,QAAQ,aAAa,SAAS;AACpC,YAAM,kBAAkB,aAAa;AACrC,mBAAa,SACX,mDAAC;AAAA,QACC,KAAK;AAAA,SACD;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,IACK,aAAa;AAAA,QAChB,OAAO;AAAA,MACT,IAZD;AAAA,QAaC,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,SAAO;AAAA,UACH,YAEH,eACH;AAAA,IAEJ;AA1BS;AAJT,QAAI,cAAc,qBAAM,SAAS,QAAQ,QAAQ;AACjD,QAAI,eAAsB,CAAC;AAC3B,QAAI,eAAe;AA8BnB,eAAW,SAAS,aAAa;AAC/B,YAAM,OAAO,aAAa,aAAa,SAAS;AAChD,YAAM,WAAW,OAAO,UAAU;AAClC,UAAI,UAAU;AACZ,YAAI,cAAc;AAChB,eAAK,KAAK,KAAK;AAAA,QACjB,OAAO;AACL,uBAAa,KAAK,CAAC,KAAK,CAAC;AAAA,QAC3B;AAAA,MACF,OAAO;AACL,6BAAqB;AACrB,qBAAa,KAAK,KAAK;AAAA,MACzB;AACA,qBAAe;AAAA,IACjB;AACA,yBAAqB;AAErB,eAAW;AAAA,EACb;AAEA,SAEE,mDAAC,sCAA0B,UAA1B;AAAA,IAAmC,OAAO;AAAA,KACzC,mDAAC;AAAA,IACC;AAAA,KAEK,kBAAkB;AAAA,IACrB,KAAK;AAAA,EACP,IALD;AAAA,IAMC;AAAA,MACI,OAEH,cAAc,kBACX,gCAAe;AAAA,IAEb,OAAO,kCAAiB,QAAQ,IAAI;AAAA,IACpC;AAAA,IACA,WAAW,MAAM,iBAAiB;AAAA,IAClC,UAAU,CAAC,YAAY,UAAU,eAAe;AAAA,EAClD,CAAC,IACD,QACN,CACF;AAEJ,CAAC;AAEM,MAAM,SACX,YAAY,YAAY,2BAAU,eAAsB,GAAU;AAAA,EAChE,aAAa,oBAAI,IAAI;AAAA,IAEnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH,CAAC;",
6
6
  "names": []
7
7
  }
@@ -42,7 +42,7 @@ var import_stacks = require("@tamagui/stacks");
42
42
  var import_react = __toESM(require("react"));
43
43
  import_react.default["createElement"];
44
44
  const getCardSize = (0, import_core.createGetStackSize)({ sizeX: 1, sizeY: 0.9 });
45
- const Card = (0, import_core.styled)(import_stacks.SizableStack, {
45
+ const Card = (0, import_core.styled)(import_stacks.ThemeableSizableStack, {
46
46
  name: "Card",
47
47
  alignItems: "flex-start",
48
48
  flexDirection: "column",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Card.tsx"],
4
- "sourcesContent": ["import { GetProps, createGetStackSize, isVariable, styled } from '@tamagui/core'\nimport { SizableStack, getSizedElevation } from '@tamagui/stacks'\nimport React from 'react'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\nconst getCardSize = createGetStackSize({ sizeX: 1, sizeY: 0.9 })\n\nexport const Card = styled(SizableStack, {\n name: 'Card',\n alignItems: 'flex-start',\n flexDirection: 'column',\n backgroundColor: '$background',\n overflow: 'hidden',\n\n variants: {\n size: {\n '...size': (size, extras) => {\n const { tokens } = extras\n const token = tokens.size[size]\n const sizeNum = isVariable(token) ? +token.val : size\n return {\n ...getCardSize(size, extras),\n ...getSizedElevation(sizeNum, extras),\n }\n },\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type CardProps = GetProps<typeof Card>\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiE;AACjE,oBAAgD;AAChD,mBAAkB;AAGlB,qBAAM;AAEN,MAAM,cAAc,oCAAmB,EAAE,OAAO,GAAG,OAAO,IAAI,CAAC;AAExD,MAAM,OAAO,wBAAO,4BAAc;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,MAAM,WAAW;AAC3B,cAAM,EAAE,WAAW;AACnB,cAAM,QAAQ,OAAO,KAAK;AAC1B,cAAM,UAAU,4BAAW,KAAK,IAAI,CAAC,MAAM,MAAM;AACjD,eAAO,kCACF,YAAY,MAAM,MAAM,IACxB,qCAAkB,SAAS,MAAM;AAAA,MAExC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
4
+ "sourcesContent": ["import { GetProps, createGetStackSize, isVariable, styled } from '@tamagui/core'\nimport { ThemeableSizableStack, getSizedElevation } from '@tamagui/stacks'\nimport React from 'react'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\nconst getCardSize = createGetStackSize({ sizeX: 1, sizeY: 0.9 })\n\nexport const Card = styled(ThemeableSizableStack, {\n name: 'Card',\n alignItems: 'flex-start',\n flexDirection: 'column',\n backgroundColor: '$background',\n overflow: 'hidden',\n\n variants: {\n size: {\n '...size': (size, extras) => {\n const { tokens } = extras\n const token = tokens.size[size]\n const sizeNum = isVariable(token) ? +token.val : size\n return {\n ...getCardSize(size, extras),\n ...getSizedElevation(sizeNum, extras),\n }\n },\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type CardProps = GetProps<typeof Card>\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiE;AACjE,oBAAyD;AACzD,mBAAkB;AAGlB,qBAAM;AAEN,MAAM,cAAc,oCAAmB,EAAE,OAAO,GAAG,OAAO,IAAI,CAAC;AAExD,MAAM,OAAO,wBAAO,qCAAuB;AAAA,EAChD,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,MAAM,WAAW;AAC3B,cAAM,EAAE,WAAW;AACnB,cAAM,QAAQ,OAAO,KAAK;AAC1B,cAAM,UAAU,4BAAW,KAAK,IAAI,CAAC,MAAM,MAAM;AACjD,eAAO,kCACF,YAAY,MAAM,MAAM,IACxB,qCAAkB,SAAS,MAAM;AAAA,MAExC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -37,7 +37,7 @@ const Input = (0, import_core.styled)(import_react_native.TextInput, {
37
37
  focusStyle: {
38
38
  borderColor: "$borderColorFocus",
39
39
  borderWidth: 2,
40
- margin: -1
40
+ marginHorizontal: -1
41
41
  },
42
42
  variants: {
43
43
  size: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Input.tsx"],
4
- "sourcesContent": ["import { GetProps, styled } from '@tamagui/core'\nimport { TextInput } from 'react-native'\n\nimport { inputSizeVariant } from '../helpers/inputHelpers'\n\nexport const Input = styled(TextInput, {\n name: 'Input',\n borderWidth: 1,\n color: '$color',\n borderColor: '$borderColor',\n backgroundColor: '$background',\n paddingVertical: '$2',\n paddingHorizontal: '$2',\n\n hoverStyle: {\n borderColor: '$borderColorHover',\n },\n\n focusStyle: {\n borderColor: '$borderColorFocus',\n borderWidth: 2,\n margin: -1,\n },\n\n variants: {\n size: {\n '...size': inputSizeVariant,\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type InputProps = GetProps<typeof Input>\n\n// fixes flex bug:\n// <XStack space=\"$1\">\n// <Input flex={1} size=\"$1\" placeholder=\"Size 1...\" />\n// <Button size=\"$1\">Go</Button>\n// </XStack>\n// ...(isWeb && {\n// flex: 1,\n// width: '0%',\n// }),\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiC;AACjC,0BAA0B;AAE1B,0BAAiC;AAE1B,MAAM,QAAQ,wBAAO,+BAAW;AAAA,EACrC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
4
+ "sourcesContent": ["import { GetProps, styled } from '@tamagui/core'\nimport { TextInput } from 'react-native'\n\nimport { inputSizeVariant } from '../helpers/inputHelpers'\n\nexport const Input = styled(TextInput, {\n name: 'Input',\n borderWidth: 1,\n color: '$color',\n borderColor: '$borderColor',\n backgroundColor: '$background',\n paddingVertical: '$2',\n paddingHorizontal: '$2',\n\n hoverStyle: {\n borderColor: '$borderColorHover',\n },\n\n focusStyle: {\n borderColor: '$borderColorFocus',\n borderWidth: 2,\n marginHorizontal: -1,\n },\n\n variants: {\n size: {\n '...size': inputSizeVariant,\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type InputProps = GetProps<typeof Input>\n\n// fixes flex bug:\n// <XStack space=\"$1\">\n// <Input flex={1} size=\"$1\" placeholder=\"Size 1...\" />\n// <Button size=\"$1\">Go</Button>\n// </XStack>\n// ...(isWeb && {\n// flex: 1,\n// width: '0%',\n// }),\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiC;AACjC,0BAA0B;AAE1B,0BAAiC;AAE1B,MAAM,QAAQ,wBAAO,+BAAW;AAAA,EACrC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,IACb,kBAAkB;AAAA,EACpB;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
@@ -30,6 +30,8 @@ import {
30
30
  GetAnimationKeys,
31
31
  GetProps,
32
32
  GetVariantProps,
33
+ GenericTextVariants,
34
+ GenericStackVariants,
33
35
  Media,
34
36
  MediaKeys,
35
37
  MediaPropKeys,
@@ -92,6 +94,8 @@ import {
92
94
  getStylesAtomic,
93
95
  getThemes,
94
96
  getTokens,
97
+ getVariableValue,
98
+ getVariableName,
95
99
  isObj,
96
100
  isTamaguiElement,
97
101
  isVariable,
@@ -157,7 +161,9 @@ export {
157
161
  FontTransformTokens,
158
162
  FontWeightTokens,
159
163
  GenericFont,
164
+ GenericStackVariants,
160
165
  GenericTamaguiConfig,
166
+ GenericTextVariants,
161
167
  GetAnimationKeys,
162
168
  GetProps,
163
169
  GetVariantProps,
@@ -217,6 +223,8 @@ export {
217
223
  getStylesAtomic,
218
224
  getThemes,
219
225
  getTokens,
226
+ getVariableName,
227
+ getVariableValue,
220
228
  isChrome,
221
229
  isObj,
222
230
  isSSR,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["import './polyfills'\n\nexport { useSafeAreaInsets } from 'react-native-safe-area-context'\n\nexport * from '@tamagui/compose-refs'\nexport * from '@tamagui/create-context'\nexport * from '@tamagui/helpers'\nexport * from '@tamagui/popover'\nexport * from '@tamagui/popper'\nexport * from '@tamagui/stacks'\nexport * from '@tamagui/text'\nexport * from '@tamagui/tooltip'\nexport * from '@tamagui/separator'\nexport * from '@tamagui/use-controllable-state'\nexport * from '@tamagui/use-debounce'\nexport * from '@tamagui/use-force-update'\n\n// since we overlap with StackProps and potentially others\n// lets be explicit on what gets exported\nexport {\n // types\n AnimationKeys,\n ColorTokens,\n CreateTamaguiConfig,\n CreateTamaguiProps,\n FontColorTokens,\n FontLetterSpacingTokens,\n FontLineHeightTokens,\n FontSizeTokens,\n FontStyleTokens,\n FontTokens,\n FontTransformTokens,\n FontWeightTokens,\n GenericFont,\n GenericTamaguiConfig,\n GetAnimationKeys,\n GetProps,\n GetVariantProps,\n Media,\n MediaKeys,\n MediaPropKeys,\n MediaQueries,\n mediaQueryConfig,\n MediaQueryState,\n RNWTextProps,\n RNWViewProps,\n Shorthands,\n SizeTokens,\n SpaceTokens,\n StackPropsBase,\n StackPropsBaseShared,\n StaticConfig,\n StaticConfigParsed,\n TamaguiBaseTheme,\n TamaguiComponent,\n TamaguiComponentPropsBase,\n TamaguiConfig,\n TamaguiCustomConfig,\n TamaguiInternalConfig,\n TamaguiProviderProps,\n TextProps,\n TextPropsBase,\n TextPropsBaseShared,\n ThemeKeys,\n ThemeName,\n ThemeObject,\n ThemeProps,\n Themes,\n ThemeValueFallback,\n Tokens,\n TransformStyleProps,\n VariantSpreadExtras,\n VariantSpreadFunction,\n ZIndexTokens,\n // components\n Spacer,\n Stack,\n Text,\n Theme,\n ThemeInverse,\n ThemeReset,\n // context,\n TextAncestorContext,\n // constants\n isChrome,\n isSSR,\n isTouchDevice,\n isWeb,\n isWebIOS,\n supportsTouchWeb,\n // helpers\n addMediaQueryListener,\n createComponent,\n createFont,\n createShorthands,\n createTheme,\n createTokens,\n createVariable,\n getConfig,\n getHasConfigured,\n getMedia,\n getStylesAtomic,\n getThemes,\n getTokens,\n isObj,\n isTamaguiElement,\n isVariable,\n matchMedia,\n mediaObjectToString,\n mediaState,\n spacedChildren,\n styled,\n themeable,\n Variable,\n withStaticProperties,\n // hooks\n useConstant,\n useDefaultThemeName,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsTouchDevice,\n useMedia,\n usePressable,\n useTheme,\n useThemeName,\n useUnmountEffect,\n} from '@tamagui/core'\n\nexport * from './createTamagui'\nexport * from './viewTypes'\n\nexport * from './hooks/useKeyboardDismissable'\n\nexport * from './views/Anchor'\nexport * from './views/BlurView'\nexport * from './views/Button'\nexport * from './views/Card'\nexport * from './views/Circle'\nexport * from './views/EnsureFlexed'\nexport * from './views/Form'\nexport * from './views/Grid'\nexport * from './views/Headings'\nexport * from './views/Hoverable'\nexport * from './views/Image'\nexport * from './views/Input'\nexport * from './views/InteractiveContainer'\nexport * from './views/Label'\nexport * from './views/Layouts'\nexport * from './views/LinearGradient'\nexport * from './views/Modal'\nexport * from './views/Overlay'\nexport * from './views/Square'\nexport * from './views/Switch'\nexport * from './views/Table'\nexport * from './views/TextArea'\nexport * from './views/Toast'\nexport * from './views/VisuallyHidden'\n\nexport * from './helpers/prevent'\nexport * from './helpers/getFontSize'\n"],
5
- "mappings": "AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6GA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;",
4
+ "sourcesContent": ["import './polyfills'\n\nexport { useSafeAreaInsets } from 'react-native-safe-area-context'\n\nexport * from '@tamagui/compose-refs'\nexport * from '@tamagui/create-context'\nexport * from '@tamagui/helpers'\nexport * from '@tamagui/popover'\nexport * from '@tamagui/popper'\nexport * from '@tamagui/stacks'\nexport * from '@tamagui/text'\nexport * from '@tamagui/tooltip'\nexport * from '@tamagui/separator'\nexport * from '@tamagui/use-controllable-state'\nexport * from '@tamagui/use-debounce'\nexport * from '@tamagui/use-force-update'\n\n// since we overlap with StackProps and potentially others\n// lets be explicit on what gets exported\nexport {\n // types\n AnimationKeys,\n ColorTokens,\n CreateTamaguiConfig,\n CreateTamaguiProps,\n FontColorTokens,\n FontLetterSpacingTokens,\n FontLineHeightTokens,\n FontSizeTokens,\n FontStyleTokens,\n FontTokens,\n FontTransformTokens,\n FontWeightTokens,\n GenericFont,\n GenericTamaguiConfig,\n GetAnimationKeys,\n GetProps,\n GetVariantProps,\n GenericTextVariants,\n GenericStackVariants,\n Media,\n MediaKeys,\n MediaPropKeys,\n MediaQueries,\n mediaQueryConfig,\n MediaQueryState,\n RNWTextProps,\n RNWViewProps,\n Shorthands,\n SizeTokens,\n SpaceTokens,\n StackPropsBase,\n StackPropsBaseShared,\n StaticConfig,\n StaticConfigParsed,\n TamaguiBaseTheme,\n TamaguiComponent,\n TamaguiComponentPropsBase,\n TamaguiConfig,\n TamaguiCustomConfig,\n TamaguiInternalConfig,\n TamaguiProviderProps,\n TextProps,\n TextPropsBase,\n TextPropsBaseShared,\n ThemeKeys,\n ThemeName,\n ThemeObject,\n ThemeProps,\n Themes,\n ThemeValueFallback,\n Tokens,\n TransformStyleProps,\n VariantSpreadExtras,\n VariantSpreadFunction,\n ZIndexTokens,\n // components\n Spacer,\n Stack,\n Text,\n Theme,\n ThemeInverse,\n ThemeReset,\n // context,\n TextAncestorContext,\n // constants\n isChrome,\n isSSR,\n isTouchDevice,\n isWeb,\n isWebIOS,\n supportsTouchWeb,\n // helpers\n addMediaQueryListener,\n createComponent,\n createFont,\n createShorthands,\n createTheme,\n createTokens,\n createVariable,\n getConfig,\n getHasConfigured,\n getMedia,\n getStylesAtomic,\n getThemes,\n getTokens,\n getVariableValue,\n getVariableName,\n isObj,\n isTamaguiElement,\n isVariable,\n matchMedia,\n mediaObjectToString,\n mediaState,\n spacedChildren,\n styled,\n themeable,\n Variable,\n withStaticProperties,\n // hooks\n useConstant,\n useDefaultThemeName,\n useIsMounted,\n useIsomorphicLayoutEffect,\n useIsTouchDevice,\n useMedia,\n usePressable,\n useTheme,\n useThemeName,\n useUnmountEffect,\n} from '@tamagui/core'\n\nexport * from './createTamagui'\nexport * from './viewTypes'\n\nexport * from './hooks/useKeyboardDismissable'\n\nexport * from './views/Anchor'\nexport * from './views/BlurView'\nexport * from './views/Button'\nexport * from './views/Card'\nexport * from './views/Circle'\nexport * from './views/EnsureFlexed'\nexport * from './views/Form'\nexport * from './views/Grid'\nexport * from './views/Headings'\nexport * from './views/Hoverable'\nexport * from './views/Image'\nexport * from './views/Input'\nexport * from './views/InteractiveContainer'\nexport * from './views/Label'\nexport * from './views/Layouts'\nexport * from './views/LinearGradient'\nexport * from './views/Modal'\nexport * from './views/Overlay'\nexport * from './views/Square'\nexport * from './views/Switch'\nexport * from './views/Table'\nexport * from './views/TextArea'\nexport * from './views/Toast'\nexport * from './views/VisuallyHidden'\n\nexport * from './helpers/prevent'\nexport * from './helpers/getFontSize'\n"],
5
+ "mappings": "AAAA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiHA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;",
6
6
  "names": []
7
7
  }
@@ -10,12 +10,12 @@ import {
10
10
  themeable,
11
11
  useTheme
12
12
  } from "@tamagui/core";
13
- import { SizableStack } from "@tamagui/stacks";
13
+ import { ThemeableSizableStack } from "@tamagui/stacks";
14
14
  import { SizableText } from "@tamagui/text";
15
15
  import React, { forwardRef, isValidElement, useContext } from "react";
16
16
  import { getFontSize } from "../helpers/getFontSize";
17
17
  React["createElement"];
18
- const ButtonFrame = styled(SizableStack, {
18
+ const ButtonFrame = styled(ThemeableSizableStack, {
19
19
  name: "Button",
20
20
  tag: "button",
21
21
  size: "$4",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Button.tsx"],
4
- "sourcesContent": ["import {\n ButtonInsideButtonContext,\n GetProps,\n ReactComponentWithRef,\n SizeTokens,\n ThemeableProps,\n buttonScaling,\n getButtonSize,\n getSizeScaledToFont,\n getVariableValue,\n spacedChildren,\n styled,\n themeable,\n useTheme,\n} from '@tamagui/core'\nimport { SizableStack } from '@tamagui/stacks'\nimport { SizableText, SizableTextProps } from '@tamagui/text'\nimport React, { FunctionComponent, forwardRef, isValidElement, useContext } from 'react'\nimport { View } from 'react-native'\n\nimport { getFontSize } from '../helpers/getFontSize'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\ntype ButtonIconProps = { color?: string; size?: number }\ntype IconProp = JSX.Element | FunctionComponent<ButtonIconProps> | null\n\nexport type ButtonProps = GetProps<typeof ButtonFrame> &\n ThemeableProps & {\n // add icon before, passes color and size automatically if Component\n icon?: IconProp\n // add icon after, passes color and size automatically if Component\n iconAfter?: IconProp\n // adjust icon relative to size\n // default: -1\n scaleIcon?: number\n // dont wrap inner contents in a text element\n noTextWrap?: boolean\n // make the spacing elements flex\n spaceFlex?: number | boolean\n // adjust internal space relative to icon size\n scaleSpace?: number\n\n // pass text properties:\n color?: SizableTextProps['color']\n fontWeight?: SizableTextProps['fontWeight']\n fontSize?: SizableTextProps['fontSize']\n fontFamily?: SizableTextProps['fontFamily']\n letterSpacing?: SizableTextProps['letterSpacing']\n textAlign?: SizableTextProps['textAlign']\n\n // all the other text controls\n textProps?: Partial<SizableTextProps>\n }\n\nconst ButtonFrame = styled(SizableStack, {\n name: 'Button',\n tag: 'button',\n size: '$4',\n borderWidth: 0,\n borderColor: '$borderColor',\n justifyContent: 'center',\n alignItems: 'center',\n flexWrap: 'nowrap',\n hoverable: true,\n pressable: true,\n\n // TODO only on hoverable/pressable!\n // would need to merge variants\n cursor: 'pointer',\n\n variants: {\n active: {\n true: {\n hoverStyle: {\n backgroundColor: '$background',\n },\n },\n },\n\n circular: {\n true: (_, extras) => {\n const { props } = extras\n const sizeVal = props.size ?? '$4'\n const scale = getSizeScaledToFont(sizeVal, buttonScaling, extras)\n const size = scale.minHeight\n return {\n width: size,\n height: size,\n maxWidth: size,\n maxHeight: size,\n minWidth: size,\n minHeight: size,\n borderRadius: 100_000,\n paddingVertical: 0,\n paddingHorizontal: 0,\n }\n },\n },\n },\n})\n\nconst ButtonComponent = forwardRef((props: ButtonProps, ref) => {\n // careful not to desctructure and re-order props, order is important\n const {\n children,\n icon,\n iconAfter,\n noTextWrap,\n theme: themeName,\n space,\n spaceFlex,\n scaleIcon = 1,\n scaleSpace = 0.5,\n\n // text props\n color: colorProp,\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n textProps,\n ...rest\n } = props as ButtonProps\n\n const isInsideButton = useContext(ButtonInsideButtonContext)\n const theme = useTheme()\n const size = props.size || '$4'\n\n // get color from prop or theme\n let color: any\n // @ts-expect-error\n if (theme && colorProp && colorProp in theme) {\n // @ts-expect-error\n color = theme[colorProp]\n } else if (colorProp) {\n color = colorProp\n } else {\n color = theme?.color\n }\n color = color?.toString()\n\n const iconSize = getFontSize(size) * scaleIcon\n\n const addTheme = (el: any) => {\n if (isValidElement(el)) {\n return el\n }\n if (el) {\n return React.createElement(el, {\n color,\n size: iconSize,\n })\n }\n return el\n }\n const themedIcon = icon ? addTheme(icon) : null\n const themedIconAfter = iconAfter ? addTheme(iconAfter) : null\n\n let contents = children\n\n if (!noTextWrap && children) {\n // in the case of using variables, like so:\n // <Button>Hello, {name}</Button>\n // it gives us props.children as ['Hello, ', 'name']\n // but we don't want to wrap multiple SizableText around each part\n // so we group them\n let allChildren = React.Children.toArray(children)\n let nextChildren: any[] = []\n let lastIsString = false\n\n function concatStringChildren() {\n if (!lastIsString) return\n const index = nextChildren.length - 1\n const childrenStrings = nextChildren[index]\n nextChildren[index] = (\n <SizableText\n key={index}\n {...{\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n size,\n }}\n {...(colorProp && {\n color: colorProp,\n })}\n flexGrow={1}\n flexShrink={1}\n ellipse\n {...textProps}\n >\n {childrenStrings}\n </SizableText>\n )\n }\n\n for (const child of allChildren) {\n const last = nextChildren[nextChildren.length - 1]\n const isString = typeof child === 'string'\n if (isString) {\n if (lastIsString) {\n last.push(child)\n } else {\n nextChildren.push([child])\n }\n } else {\n concatStringChildren()\n nextChildren.push(child)\n }\n lastIsString = isString\n }\n concatStringChildren()\n\n contents = nextChildren\n }\n\n return (\n // careful not to desctructure and re-order props, order is important\n <ButtonInsideButtonContext.Provider value={true}>\n <ButtonFrame\n fontFamily={fontFamily}\n // fixes SSR issue + DOM nesting issue of not allowing button in button\n {...(isInsideButton && {\n tag: 'span',\n })}\n ref={ref as any}\n {...rest}\n >\n {themedIcon || themedIconAfter\n ? spacedChildren({\n // a bit arbitrary but scaling to font size is necessary so long as button does\n space: getVariableValue(iconSize) * scaleSpace,\n spaceFlex,\n direction: props.flexDirection || 'row',\n children: [themedIcon, contents, themedIconAfter],\n })\n : contents}\n </ButtonFrame>\n </ButtonInsideButtonContext.Provider>\n )\n})\n\nexport const Button: ReactComponentWithRef<ButtonProps, HTMLButtonElement | View> =\n ButtonFrame.extractable(themeable(ButtonComponent as any) as any, {\n inlineProps: new Set([\n // text props go here (can't really optimize them, but we never fully extract button anyway)\n 'color',\n 'fontWeight',\n 'fontSize',\n 'fontFamily',\n 'letterSpacing',\n 'textAlign',\n ]),\n })\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n ButtonInsideButtonContext,\n GetProps,\n ReactComponentWithRef,\n ThemeableProps,\n buttonScaling,\n getSizeScaledToFont,\n getVariableValue,\n spacedChildren,\n styled,\n themeable,\n useTheme,\n} from '@tamagui/core'\nimport { ThemeableSizableStack } from '@tamagui/stacks'\nimport { SizableText, SizableTextProps } from '@tamagui/text'\nimport React, { FunctionComponent, forwardRef, isValidElement, useContext } from 'react'\nimport { View } from 'react-native'\n\nimport { getFontSize } from '../helpers/getFontSize'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\ntype ButtonIconProps = { color?: string; size?: number }\ntype IconProp = JSX.Element | FunctionComponent<ButtonIconProps> | null\n\nexport type ButtonProps = GetProps<typeof ButtonFrame> &\n ThemeableProps & {\n // add icon before, passes color and size automatically if Component\n icon?: IconProp\n // add icon after, passes color and size automatically if Component\n iconAfter?: IconProp\n // adjust icon relative to size\n // default: -1\n scaleIcon?: number\n // dont wrap inner contents in a text element\n noTextWrap?: boolean\n // make the spacing elements flex\n spaceFlex?: number | boolean\n // adjust internal space relative to icon size\n scaleSpace?: number\n\n // pass text properties:\n color?: SizableTextProps['color']\n fontWeight?: SizableTextProps['fontWeight']\n fontSize?: SizableTextProps['fontSize']\n fontFamily?: SizableTextProps['fontFamily']\n letterSpacing?: SizableTextProps['letterSpacing']\n textAlign?: SizableTextProps['textAlign']\n\n // all the other text controls\n textProps?: Partial<SizableTextProps>\n }\n\nconst ButtonFrame = styled(ThemeableSizableStack, {\n name: 'Button',\n tag: 'button',\n size: '$4',\n borderWidth: 0,\n borderColor: '$borderColor',\n justifyContent: 'center',\n alignItems: 'center',\n flexWrap: 'nowrap',\n hoverable: true,\n pressable: true,\n\n // TODO only on hoverable/pressable!\n // would need to merge variants\n cursor: 'pointer',\n\n variants: {\n active: {\n true: {\n hoverStyle: {\n backgroundColor: '$background',\n },\n },\n },\n\n circular: {\n true: (_, extras) => {\n const { props } = extras\n const sizeVal = props.size ?? '$4'\n const scale = getSizeScaledToFont(sizeVal, buttonScaling, extras)\n const size = scale.minHeight\n return {\n width: size,\n height: size,\n maxWidth: size,\n maxHeight: size,\n minWidth: size,\n minHeight: size,\n borderRadius: 100_000,\n paddingVertical: 0,\n paddingHorizontal: 0,\n }\n },\n },\n },\n})\n\nconst ButtonComponent = forwardRef((props: ButtonProps, ref) => {\n // careful not to desctructure and re-order props, order is important\n const {\n children,\n icon,\n iconAfter,\n noTextWrap,\n theme: themeName,\n space,\n spaceFlex,\n scaleIcon = 1,\n scaleSpace = 0.5,\n\n // text props\n color: colorProp,\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n textProps,\n ...rest\n } = props as ButtonProps\n\n const isInsideButton = useContext(ButtonInsideButtonContext)\n const theme = useTheme()\n const size = props.size || '$4'\n\n // get color from prop or theme\n let color: any\n // @ts-expect-error\n if (theme && colorProp && colorProp in theme) {\n // @ts-expect-error\n color = theme[colorProp]\n } else if (colorProp) {\n color = colorProp\n } else {\n color = theme?.color\n }\n color = color?.toString()\n\n const iconSize = getFontSize(size) * scaleIcon\n\n const addTheme = (el: any) => {\n if (isValidElement(el)) {\n return el\n }\n if (el) {\n return React.createElement(el, {\n color,\n size: iconSize,\n })\n }\n return el\n }\n const themedIcon = icon ? addTheme(icon) : null\n const themedIconAfter = iconAfter ? addTheme(iconAfter) : null\n\n let contents = children\n\n if (!noTextWrap && children) {\n // in the case of using variables, like so:\n // <Button>Hello, {name}</Button>\n // it gives us props.children as ['Hello, ', 'name']\n // but we don't want to wrap multiple SizableText around each part\n // so we group them\n let allChildren = React.Children.toArray(children)\n let nextChildren: any[] = []\n let lastIsString = false\n\n function concatStringChildren() {\n if (!lastIsString) return\n const index = nextChildren.length - 1\n const childrenStrings = nextChildren[index]\n nextChildren[index] = (\n <SizableText\n key={index}\n {...{\n fontWeight,\n letterSpacing,\n fontSize,\n fontFamily,\n textAlign,\n size,\n }}\n {...(colorProp && {\n color: colorProp,\n })}\n flexGrow={1}\n flexShrink={1}\n ellipse\n {...textProps}\n >\n {childrenStrings}\n </SizableText>\n )\n }\n\n for (const child of allChildren) {\n const last = nextChildren[nextChildren.length - 1]\n const isString = typeof child === 'string'\n if (isString) {\n if (lastIsString) {\n last.push(child)\n } else {\n nextChildren.push([child])\n }\n } else {\n concatStringChildren()\n nextChildren.push(child)\n }\n lastIsString = isString\n }\n concatStringChildren()\n\n contents = nextChildren\n }\n\n return (\n // careful not to desctructure and re-order props, order is important\n <ButtonInsideButtonContext.Provider value={true}>\n <ButtonFrame\n fontFamily={fontFamily}\n // fixes SSR issue + DOM nesting issue of not allowing button in button\n {...(isInsideButton && {\n tag: 'span',\n })}\n ref={ref as any}\n {...rest}\n >\n {themedIcon || themedIconAfter\n ? spacedChildren({\n // a bit arbitrary but scaling to font size is necessary so long as button does\n space: getVariableValue(iconSize) * scaleSpace,\n spaceFlex,\n direction: props.flexDirection || 'row',\n children: [themedIcon, contents, themedIconAfter],\n })\n : contents}\n </ButtonFrame>\n </ButtonInsideButtonContext.Provider>\n )\n})\n\nexport const Button: ReactComponentWithRef<ButtonProps, HTMLButtonElement | View> =\n ButtonFrame.extractable(themeable(ButtonComponent as any) as any, {\n inlineProps: new Set([\n // text props go here (can't really optimize them, but we never fully extract button anyway)\n 'color',\n 'fontWeight',\n 'fontSize',\n 'fontFamily',\n 'letterSpacing',\n 'textAlign',\n ]),\n })\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,9 @@
1
1
  import { createGetStackSize, isVariable, styled } from "@tamagui/core";
2
- import { SizableStack, getSizedElevation } from "@tamagui/stacks";
2
+ import { ThemeableSizableStack, getSizedElevation } from "@tamagui/stacks";
3
3
  import React from "react";
4
4
  React["createElement"];
5
5
  const getCardSize = createGetStackSize({ sizeX: 1, sizeY: 0.9 });
6
- const Card = styled(SizableStack, {
6
+ const Card = styled(ThemeableSizableStack, {
7
7
  name: "Card",
8
8
  alignItems: "flex-start",
9
9
  flexDirection: "column",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Card.tsx"],
4
- "sourcesContent": ["import { GetProps, createGetStackSize, isVariable, styled } from '@tamagui/core'\nimport { SizableStack, getSizedElevation } from '@tamagui/stacks'\nimport React from 'react'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\nconst getCardSize = createGetStackSize({ sizeX: 1, sizeY: 0.9 })\n\nexport const Card = styled(SizableStack, {\n name: 'Card',\n alignItems: 'flex-start',\n flexDirection: 'column',\n backgroundColor: '$background',\n overflow: 'hidden',\n\n variants: {\n size: {\n '...size': (size, extras) => {\n const { tokens } = extras\n const token = tokens.size[size]\n const sizeNum = isVariable(token) ? +token.val : size\n return {\n ...getCardSize(size, extras),\n ...getSizedElevation(sizeNum, extras),\n }\n },\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type CardProps = GetProps<typeof Card>\n"],
5
- "mappings": "AAAA;AACA;AACA;AAGA,MAAM;AAEN,MAAM,cAAc,mBAAmB,EAAE,OAAO,GAAG,OAAO,IAAI,CAAC;AAExD,MAAM,OAAO,OAAO,cAAc;AAAA,EACvC,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,MAAM,WAAW;AAC3B,cAAM,EAAE,WAAW;AACnB,cAAM,QAAQ,OAAO,KAAK;AAC1B,cAAM,UAAU,WAAW,KAAK,IAAI,CAAC,MAAM,MAAM;AACjD,eAAO;AAAA,aACF,YAAY,MAAM,MAAM;AAAA,aACxB,kBAAkB,SAAS,MAAM;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
4
+ "sourcesContent": ["import { GetProps, createGetStackSize, isVariable, styled } from '@tamagui/core'\nimport { ThemeableSizableStack, getSizedElevation } from '@tamagui/stacks'\nimport React from 'react'\n\n// bugfix esbuild strips react jsx: 'preserve'\nReact['createElement']\n\nconst getCardSize = createGetStackSize({ sizeX: 1, sizeY: 0.9 })\n\nexport const Card = styled(ThemeableSizableStack, {\n name: 'Card',\n alignItems: 'flex-start',\n flexDirection: 'column',\n backgroundColor: '$background',\n overflow: 'hidden',\n\n variants: {\n size: {\n '...size': (size, extras) => {\n const { tokens } = extras\n const token = tokens.size[size]\n const sizeNum = isVariable(token) ? +token.val : size\n return {\n ...getCardSize(size, extras),\n ...getSizedElevation(sizeNum, extras),\n }\n },\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type CardProps = GetProps<typeof Card>\n"],
5
+ "mappings": "AAAA;AACA;AACA;AAGA,MAAM;AAEN,MAAM,cAAc,mBAAmB,EAAE,OAAO,GAAG,OAAO,IAAI,CAAC;AAExD,MAAM,OAAO,OAAO,uBAAuB;AAAA,EAChD,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,UAAU;AAAA,EAEV,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW,CAAC,MAAM,WAAW;AAC3B,cAAM,EAAE,WAAW;AACnB,cAAM,QAAQ,OAAO,KAAK;AAC1B,cAAM,UAAU,WAAW,KAAK,IAAI,CAAC,MAAM,MAAM;AACjD,eAAO;AAAA,aACF,YAAY,MAAM,MAAM;AAAA,aACxB,kBAAkB,SAAS,MAAM;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -15,7 +15,7 @@ const Input = styled(TextInput, {
15
15
  focusStyle: {
16
16
  borderColor: "$borderColorFocus",
17
17
  borderWidth: 2,
18
- margin: -1
18
+ marginHorizontal: -1
19
19
  },
20
20
  variants: {
21
21
  size: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Input.tsx"],
4
- "sourcesContent": ["import { GetProps, styled } from '@tamagui/core'\nimport { TextInput } from 'react-native'\n\nimport { inputSizeVariant } from '../helpers/inputHelpers'\n\nexport const Input = styled(TextInput, {\n name: 'Input',\n borderWidth: 1,\n color: '$color',\n borderColor: '$borderColor',\n backgroundColor: '$background',\n paddingVertical: '$2',\n paddingHorizontal: '$2',\n\n hoverStyle: {\n borderColor: '$borderColorHover',\n },\n\n focusStyle: {\n borderColor: '$borderColorFocus',\n borderWidth: 2,\n margin: -1,\n },\n\n variants: {\n size: {\n '...size': inputSizeVariant,\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type InputProps = GetProps<typeof Input>\n\n// fixes flex bug:\n// <XStack space=\"$1\">\n// <Input flex={1} size=\"$1\" placeholder=\"Size 1...\" />\n// <Button size=\"$1\">Go</Button>\n// </XStack>\n// ...(isWeb && {\n// flex: 1,\n// width: '0%',\n// }),\n"],
5
- "mappings": "AAAA;AACA;AAEA;AAEO,MAAM,QAAQ,OAAO,WAAW;AAAA,EACrC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,EACV;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
4
+ "sourcesContent": ["import { GetProps, styled } from '@tamagui/core'\nimport { TextInput } from 'react-native'\n\nimport { inputSizeVariant } from '../helpers/inputHelpers'\n\nexport const Input = styled(TextInput, {\n name: 'Input',\n borderWidth: 1,\n color: '$color',\n borderColor: '$borderColor',\n backgroundColor: '$background',\n paddingVertical: '$2',\n paddingHorizontal: '$2',\n\n hoverStyle: {\n borderColor: '$borderColorHover',\n },\n\n focusStyle: {\n borderColor: '$borderColorFocus',\n borderWidth: 2,\n marginHorizontal: -1,\n },\n\n variants: {\n size: {\n '...size': inputSizeVariant,\n },\n },\n\n defaultVariants: {\n size: '$4',\n },\n})\n\nexport type InputProps = GetProps<typeof Input>\n\n// fixes flex bug:\n// <XStack space=\"$1\">\n// <Input flex={1} size=\"$1\" placeholder=\"Size 1...\" />\n// <Button size=\"$1\">Go</Button>\n// </XStack>\n// ...(isWeb && {\n// flex: 1,\n// width: '0%',\n// }),\n"],
5
+ "mappings": "AAAA;AACA;AAEA;AAEO,MAAM,QAAQ,OAAO,WAAW;AAAA,EACrC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,OAAO;AAAA,EACP,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EAEnB,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,IACb,kBAAkB;AAAA,EACpB;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;",
6
6
  "names": []
7
7
  }
package/dist/jsx/index.js CHANGED
@@ -30,6 +30,8 @@ import {
30
30
  GetAnimationKeys,
31
31
  GetProps,
32
32
  GetVariantProps,
33
+ GenericTextVariants,
34
+ GenericStackVariants,
33
35
  Media,
34
36
  MediaKeys,
35
37
  MediaPropKeys,
@@ -92,6 +94,8 @@ import {
92
94
  getStylesAtomic,
93
95
  getThemes,
94
96
  getTokens,
97
+ getVariableValue,
98
+ getVariableName,
95
99
  isObj,
96
100
  isTamaguiElement,
97
101
  isVariable,
@@ -157,7 +161,9 @@ export {
157
161
  FontTransformTokens,
158
162
  FontWeightTokens,
159
163
  GenericFont,
164
+ GenericStackVariants,
160
165
  GenericTamaguiConfig,
166
+ GenericTextVariants,
161
167
  GetAnimationKeys,
162
168
  GetProps,
163
169
  GetVariantProps,
@@ -217,6 +223,8 @@ export {
217
223
  getStylesAtomic,
218
224
  getThemes,
219
225
  getTokens,
226
+ getVariableName,
227
+ getVariableValue,
220
228
  isChrome,
221
229
  isObj,
222
230
  isSSR,
@@ -10,12 +10,12 @@ import {
10
10
  themeable,
11
11
  useTheme
12
12
  } from "@tamagui/core";
13
- import { SizableStack } from "@tamagui/stacks";
13
+ import { ThemeableSizableStack } from "@tamagui/stacks";
14
14
  import { SizableText } from "@tamagui/text";
15
15
  import React, { forwardRef, isValidElement, useContext } from "react";
16
16
  import { getFontSize } from "../helpers/getFontSize";
17
17
  React["createElement"];
18
- const ButtonFrame = styled(SizableStack, {
18
+ const ButtonFrame = styled(ThemeableSizableStack, {
19
19
  name: "Button",
20
20
  tag: "button",
21
21
  size: "$4",
@@ -1,9 +1,9 @@
1
1
  import { createGetStackSize, isVariable, styled } from "@tamagui/core";
2
- import { SizableStack, getSizedElevation } from "@tamagui/stacks";
2
+ import { ThemeableSizableStack, getSizedElevation } from "@tamagui/stacks";
3
3
  import React from "react";
4
4
  React["createElement"];
5
5
  const getCardSize = createGetStackSize({ sizeX: 1, sizeY: 0.9 });
6
- const Card = styled(SizableStack, {
6
+ const Card = styled(ThemeableSizableStack, {
7
7
  name: "Card",
8
8
  alignItems: "flex-start",
9
9
  flexDirection: "column",
@@ -15,7 +15,7 @@ const Input = styled(TextInput, {
15
15
  focusStyle: {
16
16
  borderColor: "$borderColorFocus",
17
17
  borderWidth: 2,
18
- margin: -1
18
+ marginHorizontal: -1
19
19
  },
20
20
  variants: {
21
21
  size: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamagui",
3
- "version": "1.0.1-beta.21",
3
+ "version": "1.0.1-beta.25",
4
4
  "sideEffects": [
5
5
  "*.css",
6
6
  "polyfills.ts"
@@ -28,22 +28,22 @@
28
28
  "@react-native-aria/focus": "^0.2.5",
29
29
  "@react-native-aria/overlays": "^0.3.2",
30
30
  "@react-native-community/blur": "^3.6.0",
31
- "@tamagui/animate-presence": "^1.0.1-beta.21",
32
- "@tamagui/compose-refs": "^1.0.1-beta.21",
33
- "@tamagui/core": "^1.0.1-beta.21",
34
- "@tamagui/create-context": "^1.0.1-beta.21",
31
+ "@tamagui/animate-presence": "^1.0.1-beta.25",
32
+ "@tamagui/compose-refs": "^1.0.1-beta.25",
33
+ "@tamagui/core": "^1.0.1-beta.25",
34
+ "@tamagui/create-context": "^1.0.1-beta.25",
35
35
  "@tamagui/expo-linear-gradient": "^11.2.8",
36
- "@tamagui/fake-react-native": "^1.0.1-beta.21",
37
- "@tamagui/helpers": "^1.0.1-beta.21",
38
- "@tamagui/popover": "^1.0.1-beta.21",
39
- "@tamagui/popper": "^1.0.1-beta.21",
40
- "@tamagui/separator": "^1.0.1-beta.21",
41
- "@tamagui/stacks": "^1.0.1-beta.21",
42
- "@tamagui/text": "^1.0.1-beta.21",
43
- "@tamagui/tooltip": "^1.0.1-beta.21",
44
- "@tamagui/use-controllable-state": "^1.0.1-beta.21",
45
- "@tamagui/use-debounce": "^1.0.1-beta.21",
46
- "@tamagui/use-force-update": "^1.0.1-beta.21",
36
+ "@tamagui/fake-react-native": "^1.0.1-beta.25",
37
+ "@tamagui/helpers": "^1.0.1-beta.25",
38
+ "@tamagui/popover": "^1.0.1-beta.25",
39
+ "@tamagui/popper": "^1.0.1-beta.25",
40
+ "@tamagui/separator": "^1.0.1-beta.25",
41
+ "@tamagui/stacks": "^1.0.1-beta.25",
42
+ "@tamagui/text": "^1.0.1-beta.25",
43
+ "@tamagui/tooltip": "^1.0.1-beta.25",
44
+ "@tamagui/use-controllable-state": "^1.0.1-beta.25",
45
+ "@tamagui/use-debounce": "^1.0.1-beta.25",
46
+ "@tamagui/use-force-update": "^1.0.1-beta.25",
47
47
  "expo-linear-gradient": "~11.0.3",
48
48
  "expo-modules-core": "^0.9.1",
49
49
  "react": "*",
@@ -54,7 +54,7 @@
54
54
  "react-native-web": "*"
55
55
  },
56
56
  "devDependencies": {
57
- "@tamagui/build": "^1.0.1-beta.21",
57
+ "@tamagui/build": "^1.0.1-beta.25",
58
58
  "@types/node": "^16.11.9",
59
59
  "@types/react": "^17.0.35",
60
60
  "react-native-web": "^0.17.5"
package/types/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export * from '@tamagui/separator';
12
12
  export * from '@tamagui/use-controllable-state';
13
13
  export * from '@tamagui/use-debounce';
14
14
  export * from '@tamagui/use-force-update';
15
- export { AnimationKeys, ColorTokens, CreateTamaguiConfig, CreateTamaguiProps, FontColorTokens, FontLetterSpacingTokens, FontLineHeightTokens, FontSizeTokens, FontStyleTokens, FontTokens, FontTransformTokens, FontWeightTokens, GenericFont, GenericTamaguiConfig, GetAnimationKeys, GetProps, GetVariantProps, Media, MediaKeys, MediaPropKeys, MediaQueries, mediaQueryConfig, MediaQueryState, RNWTextProps, RNWViewProps, Shorthands, SizeTokens, SpaceTokens, StackPropsBase, StackPropsBaseShared, StaticConfig, StaticConfigParsed, TamaguiBaseTheme, TamaguiComponent, TamaguiComponentPropsBase, TamaguiConfig, TamaguiCustomConfig, TamaguiInternalConfig, TamaguiProviderProps, TextProps, TextPropsBase, TextPropsBaseShared, ThemeKeys, ThemeName, ThemeObject, ThemeProps, Themes, ThemeValueFallback, Tokens, TransformStyleProps, VariantSpreadExtras, VariantSpreadFunction, ZIndexTokens, Spacer, Stack, Text, Theme, ThemeInverse, ThemeReset, TextAncestorContext, isChrome, isSSR, isTouchDevice, isWeb, isWebIOS, supportsTouchWeb, addMediaQueryListener, createComponent, createFont, createShorthands, createTheme, createTokens, createVariable, getConfig, getHasConfigured, getMedia, getStylesAtomic, getThemes, getTokens, isObj, isTamaguiElement, isVariable, matchMedia, mediaObjectToString, mediaState, spacedChildren, styled, themeable, Variable, withStaticProperties, useConstant, useDefaultThemeName, useIsMounted, useIsomorphicLayoutEffect, useIsTouchDevice, useMedia, usePressable, useTheme, useThemeName, useUnmountEffect, } from '@tamagui/core';
15
+ export { AnimationKeys, ColorTokens, CreateTamaguiConfig, CreateTamaguiProps, FontColorTokens, FontLetterSpacingTokens, FontLineHeightTokens, FontSizeTokens, FontStyleTokens, FontTokens, FontTransformTokens, FontWeightTokens, GenericFont, GenericTamaguiConfig, GetAnimationKeys, GetProps, GetVariantProps, GenericTextVariants, GenericStackVariants, Media, MediaKeys, MediaPropKeys, MediaQueries, mediaQueryConfig, MediaQueryState, RNWTextProps, RNWViewProps, Shorthands, SizeTokens, SpaceTokens, StackPropsBase, StackPropsBaseShared, StaticConfig, StaticConfigParsed, TamaguiBaseTheme, TamaguiComponent, TamaguiComponentPropsBase, TamaguiConfig, TamaguiCustomConfig, TamaguiInternalConfig, TamaguiProviderProps, TextProps, TextPropsBase, TextPropsBaseShared, ThemeKeys, ThemeName, ThemeObject, ThemeProps, Themes, ThemeValueFallback, Tokens, TransformStyleProps, VariantSpreadExtras, VariantSpreadFunction, ZIndexTokens, Spacer, Stack, Text, Theme, ThemeInverse, ThemeReset, TextAncestorContext, isChrome, isSSR, isTouchDevice, isWeb, isWebIOS, supportsTouchWeb, addMediaQueryListener, createComponent, createFont, createShorthands, createTheme, createTokens, createVariable, getConfig, getHasConfigured, getMedia, getStylesAtomic, getThemes, getTokens, getVariableValue, getVariableName, isObj, isTamaguiElement, isVariable, matchMedia, mediaObjectToString, mediaState, spacedChildren, styled, themeable, Variable, withStaticProperties, useConstant, useDefaultThemeName, useIsMounted, useIsomorphicLayoutEffect, useIsTouchDevice, useMedia, usePressable, useTheme, useThemeName, useUnmountEffect, } from '@tamagui/core';
16
16
  export * from './createTamagui';
17
17
  export * from './viewTypes';
18
18
  export * from './hooks/useKeyboardDismissable';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}