@tamagui/web 1.15.14 → 1.15.16

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 (257) hide show
  1. package/dist/cjs/Tamagui.js.map +0 -1
  2. package/dist/cjs/config.js.map +0 -1
  3. package/dist/cjs/constants/constants.js.map +0 -1
  4. package/dist/cjs/constants/isDevTools.js.map +0 -1
  5. package/dist/cjs/contexts/AnimationDriverContext.js.map +0 -1
  6. package/dist/cjs/contexts/ButtonNestingContext.js.map +0 -1
  7. package/dist/cjs/contexts/FontLanguageContext.js.map +0 -1
  8. package/dist/cjs/contexts/TextAncestorContext.js.map +0 -1
  9. package/dist/cjs/createComponent.js.map +0 -1
  10. package/dist/cjs/createFont.js.map +0 -1
  11. package/dist/cjs/createShorthands.js.map +0 -1
  12. package/dist/cjs/createTamagui.js.map +0 -1
  13. package/dist/cjs/createTheme.js.map +0 -1
  14. package/dist/cjs/createTokens.js.map +0 -1
  15. package/dist/cjs/createVariable.js.map +0 -1
  16. package/dist/cjs/createVariables.js.map +0 -1
  17. package/dist/cjs/helpers/ThemeManager.js.map +0 -1
  18. package/dist/cjs/helpers/ThemeManagerContext.js.map +0 -1
  19. package/dist/cjs/helpers/createMediaStyle.js.map +0 -1
  20. package/dist/cjs/helpers/createPropMapper.js.map +0 -1
  21. package/dist/cjs/helpers/createProxy.js.map +0 -1
  22. package/dist/cjs/helpers/defaultOffset.js.map +0 -1
  23. package/dist/cjs/helpers/expandStyle.js.map +0 -1
  24. package/dist/cjs/helpers/expandStyles.js.map +0 -1
  25. package/dist/cjs/helpers/extendStaticConfig.js.map +0 -1
  26. package/dist/cjs/helpers/getAnimationDriver.js.map +0 -1
  27. package/dist/cjs/helpers/getExpandedShorthands.js.map +0 -1
  28. package/dist/cjs/helpers/getFontLanguage.js.map +0 -1
  29. package/dist/cjs/helpers/getSplitStyles.js.map +0 -1
  30. package/dist/cjs/helpers/getStylesAtomic.js.map +0 -1
  31. package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -1
  32. package/dist/cjs/helpers/getThemeCSSRules.js.map +0 -1
  33. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +0 -1
  34. package/dist/cjs/helpers/getVariantExtras.js.map +0 -1
  35. package/dist/cjs/helpers/insertStyleRule.js.map +0 -1
  36. package/dist/cjs/helpers/isObj.js.map +0 -1
  37. package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -1
  38. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -1
  39. package/dist/cjs/helpers/matchMedia.js.map +0 -1
  40. package/dist/cjs/helpers/matchMedia.native.js.map +0 -1
  41. package/dist/cjs/helpers/mergeProps.js.map +0 -1
  42. package/dist/cjs/helpers/normalizeColor.js.map +0 -1
  43. package/dist/cjs/helpers/normalizeShadow.js.map +0 -1
  44. package/dist/cjs/helpers/normalizeShadow.native.js.map +0 -1
  45. package/dist/cjs/helpers/normalizeStylePropKeys.js.map +0 -1
  46. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
  47. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +0 -1
  48. package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -1
  49. package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -1
  50. package/dist/cjs/helpers/registerCSSVariable.js.map +0 -1
  51. package/dist/cjs/helpers/themeable.js.map +0 -1
  52. package/dist/cjs/helpers/themes.js.map +0 -1
  53. package/dist/cjs/helpers/timer.js.map +0 -1
  54. package/dist/cjs/helpers/useShallowSetState.js.map +0 -1
  55. package/dist/cjs/helpers/warnOnce.js.map +0 -1
  56. package/dist/cjs/helpers/withStaticProperties.js.map +0 -1
  57. package/dist/cjs/hooks/getThemeUnwrapped.js.map +0 -1
  58. package/dist/cjs/hooks/useAnimationDriver.js.map +0 -1
  59. package/dist/cjs/hooks/useId.js.map +0 -1
  60. package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -1
  61. package/dist/cjs/hooks/useMedia.js.map +0 -1
  62. package/dist/cjs/hooks/useSafeRef.js.map +0 -1
  63. package/dist/cjs/hooks/useServerHooks.js.map +0 -1
  64. package/dist/cjs/hooks/useStyle.js.map +0 -1
  65. package/dist/cjs/hooks/useTheme.js.map +0 -1
  66. package/dist/cjs/hooks/useThemeName.js.map +0 -1
  67. package/dist/cjs/index.js +56 -1
  68. package/dist/cjs/index.js.map +0 -1
  69. package/dist/cjs/inject-styles.js.map +0 -1
  70. package/dist/cjs/insertFont.js.map +0 -1
  71. package/dist/cjs/setupHooks.js.map +0 -1
  72. package/dist/cjs/setupReactNative.js.map +0 -1
  73. package/dist/cjs/styled.js.map +1 -2
  74. package/dist/cjs/types.js.map +0 -1
  75. package/dist/cjs/views/AnimationDriverProvider.js.map +0 -1
  76. package/dist/cjs/views/FontLanguage.js.map +0 -1
  77. package/dist/cjs/views/FontLanguage.native.js.map +0 -1
  78. package/dist/cjs/views/FontLanguage.types.js.map +0 -1
  79. package/dist/cjs/views/Slot.js.map +0 -1
  80. package/dist/cjs/views/Stack.js.map +0 -1
  81. package/dist/cjs/views/TamaguiProvider.js.map +0 -1
  82. package/dist/cjs/views/Text.js.map +0 -1
  83. package/dist/cjs/views/Theme.js.map +0 -1
  84. package/dist/cjs/views/ThemeDebug.js.map +0 -1
  85. package/dist/cjs/views/ThemeProvider.js.map +0 -1
  86. package/dist/esm/Tamagui.js.map +0 -1
  87. package/dist/esm/Tamagui.mjs.map +0 -1
  88. package/dist/esm/config.js.map +0 -1
  89. package/dist/esm/config.mjs.map +0 -1
  90. package/dist/esm/constants/constants.js.map +0 -1
  91. package/dist/esm/constants/constants.mjs.map +0 -1
  92. package/dist/esm/constants/isDevTools.js.map +0 -1
  93. package/dist/esm/constants/isDevTools.mjs.map +0 -1
  94. package/dist/esm/contexts/AnimationDriverContext.js.map +0 -1
  95. package/dist/esm/contexts/AnimationDriverContext.mjs.map +0 -1
  96. package/dist/esm/contexts/ButtonNestingContext.js.map +0 -1
  97. package/dist/esm/contexts/ButtonNestingContext.mjs.map +0 -1
  98. package/dist/esm/contexts/FontLanguageContext.js.map +0 -1
  99. package/dist/esm/contexts/FontLanguageContext.mjs.map +0 -1
  100. package/dist/esm/contexts/TextAncestorContext.js.map +0 -1
  101. package/dist/esm/contexts/TextAncestorContext.mjs.map +0 -1
  102. package/dist/esm/createComponent.js.map +0 -1
  103. package/dist/esm/createComponent.mjs.map +0 -1
  104. package/dist/esm/createFont.js.map +0 -1
  105. package/dist/esm/createFont.mjs.map +0 -1
  106. package/dist/esm/createShorthands.js.map +0 -1
  107. package/dist/esm/createShorthands.mjs.map +0 -1
  108. package/dist/esm/createTamagui.js.map +0 -1
  109. package/dist/esm/createTamagui.mjs.map +0 -1
  110. package/dist/esm/createTheme.js.map +0 -1
  111. package/dist/esm/createTheme.mjs.map +0 -1
  112. package/dist/esm/createTokens.js.map +0 -1
  113. package/dist/esm/createTokens.mjs.map +0 -1
  114. package/dist/esm/createVariable.js.map +0 -1
  115. package/dist/esm/createVariable.mjs.map +0 -1
  116. package/dist/esm/createVariables.js.map +0 -1
  117. package/dist/esm/createVariables.mjs.map +0 -1
  118. package/dist/esm/helpers/ThemeManager.js.map +0 -1
  119. package/dist/esm/helpers/ThemeManager.mjs.map +0 -1
  120. package/dist/esm/helpers/ThemeManagerContext.js.map +0 -1
  121. package/dist/esm/helpers/ThemeManagerContext.mjs.map +0 -1
  122. package/dist/esm/helpers/createMediaStyle.js.map +0 -1
  123. package/dist/esm/helpers/createMediaStyle.mjs.map +0 -1
  124. package/dist/esm/helpers/createPropMapper.js.map +0 -1
  125. package/dist/esm/helpers/createPropMapper.mjs.map +0 -1
  126. package/dist/esm/helpers/createProxy.js.map +0 -1
  127. package/dist/esm/helpers/createProxy.mjs.map +0 -1
  128. package/dist/esm/helpers/defaultOffset.js.map +0 -1
  129. package/dist/esm/helpers/defaultOffset.mjs.map +0 -1
  130. package/dist/esm/helpers/expandStyle.js.map +0 -1
  131. package/dist/esm/helpers/expandStyle.mjs.map +0 -1
  132. package/dist/esm/helpers/expandStyles.js.map +0 -1
  133. package/dist/esm/helpers/expandStyles.mjs.map +0 -1
  134. package/dist/esm/helpers/extendStaticConfig.js.map +0 -1
  135. package/dist/esm/helpers/extendStaticConfig.mjs.map +0 -1
  136. package/dist/esm/helpers/getAnimationDriver.js.map +0 -1
  137. package/dist/esm/helpers/getAnimationDriver.mjs.map +0 -1
  138. package/dist/esm/helpers/getExpandedShorthands.js.map +0 -1
  139. package/dist/esm/helpers/getExpandedShorthands.mjs.map +0 -1
  140. package/dist/esm/helpers/getFontLanguage.js.map +0 -1
  141. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
  142. package/dist/esm/helpers/getSplitStyles.js.map +0 -1
  143. package/dist/esm/helpers/getSplitStyles.mjs.map +0 -1
  144. package/dist/esm/helpers/getStylesAtomic.js.map +0 -1
  145. package/dist/esm/helpers/getStylesAtomic.mjs.map +0 -1
  146. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -1
  147. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +0 -1
  148. package/dist/esm/helpers/getThemeCSSRules.js.map +0 -1
  149. package/dist/esm/helpers/getThemeCSSRules.mjs.map +0 -1
  150. package/dist/esm/helpers/getThemeCSSRules.native.js.map +0 -1
  151. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +0 -1
  152. package/dist/esm/helpers/getVariantExtras.js.map +0 -1
  153. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
  154. package/dist/esm/helpers/insertStyleRule.js.map +0 -1
  155. package/dist/esm/helpers/insertStyleRule.mjs.map +0 -1
  156. package/dist/esm/helpers/isObj.js.map +0 -1
  157. package/dist/esm/helpers/isObj.mjs.map +0 -1
  158. package/dist/esm/helpers/isTamaguiComponent.js.map +0 -1
  159. package/dist/esm/helpers/isTamaguiComponent.mjs.map +0 -1
  160. package/dist/esm/helpers/isTamaguiElement.js.map +0 -1
  161. package/dist/esm/helpers/isTamaguiElement.mjs.map +0 -1
  162. package/dist/esm/helpers/matchMedia.js.map +0 -1
  163. package/dist/esm/helpers/matchMedia.mjs.map +0 -1
  164. package/dist/esm/helpers/matchMedia.native.js.map +0 -1
  165. package/dist/esm/helpers/matchMedia.native.mjs.map +0 -1
  166. package/dist/esm/helpers/mergeProps.js.map +0 -1
  167. package/dist/esm/helpers/mergeProps.mjs.map +0 -1
  168. package/dist/esm/helpers/normalizeColor.js.map +0 -1
  169. package/dist/esm/helpers/normalizeColor.mjs.map +0 -1
  170. package/dist/esm/helpers/normalizeShadow.js.map +0 -1
  171. package/dist/esm/helpers/normalizeShadow.mjs.map +0 -1
  172. package/dist/esm/helpers/normalizeShadow.native.js.map +0 -1
  173. package/dist/esm/helpers/normalizeShadow.native.mjs.map +0 -1
  174. package/dist/esm/helpers/normalizeStylePropKeys.js.map +0 -1
  175. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
  176. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
  177. package/dist/esm/helpers/normalizeStylePropKeys.native.mjs.map +0 -1
  178. package/dist/esm/helpers/normalizeValueWithProperty.js.map +0 -1
  179. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +0 -1
  180. package/dist/esm/helpers/proxyThemeVariables.js.map +0 -1
  181. package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -1
  182. package/dist/esm/helpers/pseudoDescriptors.js.map +0 -1
  183. package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -1
  184. package/dist/esm/helpers/registerCSSVariable.js.map +0 -1
  185. package/dist/esm/helpers/registerCSSVariable.mjs.map +0 -1
  186. package/dist/esm/helpers/themeable.js.map +0 -1
  187. package/dist/esm/helpers/themeable.mjs.map +0 -1
  188. package/dist/esm/helpers/themes.js.map +0 -1
  189. package/dist/esm/helpers/themes.mjs.map +0 -1
  190. package/dist/esm/helpers/timer.js.map +0 -1
  191. package/dist/esm/helpers/timer.mjs.map +0 -1
  192. package/dist/esm/helpers/useShallowSetState.js.map +0 -1
  193. package/dist/esm/helpers/useShallowSetState.mjs.map +0 -1
  194. package/dist/esm/helpers/warnOnce.js.map +0 -1
  195. package/dist/esm/helpers/warnOnce.mjs.map +0 -1
  196. package/dist/esm/helpers/withStaticProperties.js.map +0 -1
  197. package/dist/esm/helpers/withStaticProperties.mjs.map +0 -1
  198. package/dist/esm/hooks/getThemeUnwrapped.js.map +0 -1
  199. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +0 -1
  200. package/dist/esm/hooks/useAnimationDriver.js.map +0 -1
  201. package/dist/esm/hooks/useAnimationDriver.mjs.map +0 -1
  202. package/dist/esm/hooks/useId.js.map +0 -1
  203. package/dist/esm/hooks/useId.mjs.map +0 -1
  204. package/dist/esm/hooks/useIsTouchDevice.js.map +0 -1
  205. package/dist/esm/hooks/useIsTouchDevice.mjs.map +0 -1
  206. package/dist/esm/hooks/useMedia.js.map +0 -1
  207. package/dist/esm/hooks/useMedia.mjs.map +0 -1
  208. package/dist/esm/hooks/useSafeRef.js.map +0 -1
  209. package/dist/esm/hooks/useSafeRef.mjs.map +0 -1
  210. package/dist/esm/hooks/useServerHooks.js.map +0 -1
  211. package/dist/esm/hooks/useServerHooks.mjs.map +0 -1
  212. package/dist/esm/hooks/useStyle.js.map +0 -1
  213. package/dist/esm/hooks/useStyle.mjs.map +0 -1
  214. package/dist/esm/hooks/useTheme.js.map +0 -1
  215. package/dist/esm/hooks/useTheme.mjs.map +0 -1
  216. package/dist/esm/hooks/useThemeName.js.map +0 -1
  217. package/dist/esm/hooks/useThemeName.mjs.map +0 -1
  218. package/dist/esm/index.js.map +0 -1
  219. package/dist/esm/index.mjs.map +0 -1
  220. package/dist/esm/inject-styles.js.map +0 -1
  221. package/dist/esm/inject-styles.mjs.map +0 -1
  222. package/dist/esm/insertFont.js.map +0 -1
  223. package/dist/esm/insertFont.mjs.map +0 -1
  224. package/dist/esm/setupHooks.js.map +0 -1
  225. package/dist/esm/setupHooks.mjs.map +0 -1
  226. package/dist/esm/setupReactNative.js.map +0 -1
  227. package/dist/esm/setupReactNative.mjs.map +0 -1
  228. package/dist/esm/styled.js.map +1 -2
  229. package/dist/esm/styled.mjs.map +1 -2
  230. package/dist/esm/types.js.map +0 -1
  231. package/dist/esm/types.mjs.map +0 -1
  232. package/dist/esm/views/AnimationDriverProvider.js.map +0 -1
  233. package/dist/esm/views/AnimationDriverProvider.mjs.map +0 -1
  234. package/dist/esm/views/FontLanguage.js.map +0 -1
  235. package/dist/esm/views/FontLanguage.mjs.map +0 -1
  236. package/dist/esm/views/FontLanguage.native.js.map +0 -1
  237. package/dist/esm/views/FontLanguage.native.mjs.map +0 -1
  238. package/dist/esm/views/FontLanguage.types.js.map +0 -1
  239. package/dist/esm/views/FontLanguage.types.mjs.map +0 -1
  240. package/dist/esm/views/Slot.js.map +0 -1
  241. package/dist/esm/views/Slot.mjs.map +0 -1
  242. package/dist/esm/views/Stack.js.map +0 -1
  243. package/dist/esm/views/Stack.mjs.map +0 -1
  244. package/dist/esm/views/TamaguiProvider.js.map +0 -1
  245. package/dist/esm/views/TamaguiProvider.mjs.map +0 -1
  246. package/dist/esm/views/Text.js.map +0 -1
  247. package/dist/esm/views/Text.mjs.map +0 -1
  248. package/dist/esm/views/Theme.js.map +0 -1
  249. package/dist/esm/views/Theme.mjs.map +0 -1
  250. package/dist/esm/views/ThemeDebug.js.map +0 -1
  251. package/dist/esm/views/ThemeDebug.mjs.map +0 -1
  252. package/dist/esm/views/ThemeProvider.js.map +0 -1
  253. package/dist/esm/views/ThemeProvider.mjs.map +0 -1
  254. package/package.json +9 -9
  255. package/src/styled.tsx +2 -1
  256. package/types/styled.d.ts +3 -1
  257. package/types/styled.d.ts.map +1 -1
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Text.tsx"],
4
- "sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { stylePropsTextOnly, validStyles } from '@tamagui/helpers'\n\nimport { createComponent } from '../createComponent.js'\nimport { TextProps, TextPropsBase } from '../types.js'\n\nconst ellipseStyle = {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nexport const Text = createComponent<TextProps, React.Component<TextProps>, TextPropsBase>(\n {\n componentName: 'Text',\n acceptsClassName: true,\n isText: true,\n\n defaultProps: {\n // @ts-ignore\n display: 'flex',\n fontFamily: 'System',\n ...(isWeb\n ? {\n display: 'inline',\n boxSizing: 'border-box',\n wordWrap: 'break-word',\n margin: 0,\n }\n : {\n suppressHighlighting: true,\n }),\n },\n\n inlineWhenUnflattened: new Set(['fontFamily']),\n\n variants: {\n ...(isWeb && {\n numberOfLines: {\n 1: ellipseStyle,\n\n ':number': (numberOfLines) =>\n numberOfLines >= 1\n ? {\n WebkitLineClamp: numberOfLines,\n WebkitBoxOrient: 'vertical',\n display: '-webkit-box',\n overflow: 'hidden',\n }\n : null,\n },\n }),\n\n // ??\n ellipsizeMode: {\n '...': () => null,\n },\n\n selectable: {\n true: {\n userSelect: 'text',\n cursor: 'text',\n },\n false: {\n userSelect: 'none',\n cursor: 'default',\n },\n },\n\n ellipse: {\n true: isWeb\n ? ellipseStyle\n : {\n numberOfLines: 1,\n lineBreakMode: 'clip',\n },\n },\n },\n\n deoptProps: new Set(isWeb ? [] : ['ellipse']),\n\n validStyles: {\n ...validStyles,\n ...stylePropsTextOnly,\n },\n }\n)\n"],
5
4
  "mappings": "AAAA,SAAS,aAAa;AACtB,SAAS,oBAAoB,mBAAmB;AAEhD,SAAS,uBAAuB;AAGhC,MAAM,eAAe;AAAA,EACnB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AACd;AAEO,MAAM,OAAO;AAAA,EAClB;AAAA,IACE,eAAe;AAAA,IACf,kBAAkB;AAAA,IAClB,QAAQ;AAAA,IAER,cAAc;AAAA;AAAA,MAEZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,GAAI,QACA;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,UAAU;AAAA,QACV,QAAQ;AAAA,MACV,IACA;AAAA,QACE,sBAAsB;AAAA,MACxB;AAAA,IACN;AAAA,IAEA,uBAAuB,oBAAI,IAAI,CAAC,YAAY,CAAC;AAAA,IAE7C,UAAU;AAAA,MACR,GAAI,SAAS;AAAA,QACX,eAAe;AAAA,UACb,GAAG;AAAA,UAEH,WAAW,CAAC,kBACV,iBAAiB,IACb;AAAA,YACE,iBAAiB;AAAA,YACjB,iBAAiB;AAAA,YACjB,SAAS;AAAA,YACT,UAAU;AAAA,UACZ,IACA;AAAA,QACR;AAAA,MACF;AAAA;AAAA,MAGA,eAAe;AAAA,QACb,OAAO,MAAM;AAAA,MACf;AAAA,MAEA,YAAY;AAAA,QACV,MAAM;AAAA,UACJ,YAAY;AAAA,UACZ,QAAQ;AAAA,QACV;AAAA,QACA,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MAEA,SAAS;AAAA,QACP,MAAM,QACF,eACA;AAAA,UACE,eAAe;AAAA,UACf,eAAe;AAAA,QACjB;AAAA,MACN;AAAA,IACF;AAAA,IAEA,YAAY,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AAAA,IAE5C,aAAa;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,EACF;AACF;",
6
5
  "names": []
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Theme.tsx"],
4
- "sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { Children, cloneElement, isValidElement, useEffect, useId, useMemo } from 'react'\n\nimport { variableToString } from '../createVariable.js'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext.js'\nimport { useServerRef } from '../hooks/useServerHooks.js'\nimport { ChangedThemeResponse, useChangeThemeEffect } from '../hooks/useTheme.js'\nimport type { DebugProp, ThemeProps } from '../types.js'\nimport { ThemeDebug } from './ThemeDebug'\n\nexport function Theme(props: ThemeProps) {\n // @ts-expect-error only for internal views\n if (props.disable) {\n return props.children\n }\n\n const isRoot = !!props['_isRoot']\n const themeState = useChangeThemeEffect(props, isRoot)\n\n let children = props['disable-child-theme']\n ? Children.map(props.children, (child) =>\n cloneElement(child, { ['data-disable-theme']: true })\n )\n : props.children\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] === 'visualize') {\n children = (\n <ThemeDebug themeState={themeState} themeProps={props}>\n {children}\n </ThemeDebug>\n )\n }\n }\n\n return useThemedChildren(themeState, children, props, isRoot)\n}\n\nexport function useThemedChildren(\n themeState: ChangedThemeResponse,\n children: any,\n props: {\n forceClassName?: boolean\n shallow?: boolean\n passPropsToChildren?: boolean\n debug?: DebugProp\n },\n isRoot = false\n) {\n const { themeManager, className, theme, isNewTheme } = themeState\n const { shallow, forceClassName } = props\n const hasEverThemed = useServerRef(false)\n if (isNewTheme) {\n hasEverThemed.current = true\n }\n\n const shouldRenderChildrenWithTheme =\n isNewTheme || hasEverThemed.current || forceClassName || isRoot\n\n return useMemo(() => {\n if (!shouldRenderChildrenWithTheme) {\n return children\n }\n\n // be sure to memoize shouldReset to avoid reparenting\n let next = Children.toArray(children)\n\n // each children of these children wont get the theme\n if (shallow && themeManager) {\n next = next.map((child) => {\n return isValidElement(child)\n ? cloneElement(\n child,\n undefined,\n <Theme name={themeManager.state.parentName}>\n {(child as any).props.children}\n </Theme>\n )\n : child\n })\n }\n\n const wrapped = (\n <ThemeManagerContext.Provider value={themeManager}>\n {next}\n </ThemeManagerContext.Provider>\n )\n\n if (forceClassName === false) {\n return wrapped\n }\n\n if (isWeb && !props.passPropsToChildren) {\n // in order to provide currentColor, set color by default\n const themeColor = theme && isNewTheme ? variableToString(theme.color) : ''\n const colorStyle = {\n color: themeColor,\n }\n\n return (\n <span className={`${className || ''} _dsp_contents is_Theme`} style={colorStyle}>\n {wrapped}\n </span>\n )\n }\n\n return wrapped\n }, [\n forceClassName,\n props.passPropsToChildren,\n shouldRenderChildrenWithTheme,\n themeManager,\n children,\n theme,\n isNewTheme,\n className,\n ])\n}\n"],
5
4
  "mappings": "AA4BQ;AA5BR,SAAS,aAAa;AACtB,SAAS,UAAU,cAAc,gBAAkC,eAAe;AAElF,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAA+B,4BAA4B;AAE3D,SAAS,kBAAkB;AAEpB,SAAS,MAAM,OAAmB;AAEvC,MAAI,MAAM,SAAS;AACjB,WAAO,MAAM;AAAA,EACf;AAEA,QAAM,SAAS,CAAC,CAAC,MAAM,SAAS;AAChC,QAAM,aAAa,qBAAqB,OAAO,MAAM;AAErD,MAAI,WAAW,MAAM,qBAAqB,IACtC,SAAS;AAAA,IAAI,MAAM;AAAA,IAAU,CAAC,UAC5B,aAAa,OAAO,EAAE,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAAA,EACtD,IACA,MAAM;AAEV,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,MAAM,OAAO,MAAM,aAAa;AAClC,iBACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,UACH;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO,kBAAkB,YAAY,UAAU,OAAO,MAAM;AAC9D;AAEO,SAAS,kBACd,YACA,UACA,OAMA,SAAS,OACT;AACA,QAAM,EAAE,cAAc,WAAW,OAAO,WAAW,IAAI;AACvD,QAAM,EAAE,SAAS,eAAe,IAAI;AACpC,QAAM,gBAAgB,aAAa,KAAK;AACxC,MAAI,YAAY;AACd,kBAAc,UAAU;AAAA,EAC1B;AAEA,QAAM,gCACJ,cAAc,cAAc,WAAW,kBAAkB;AAE3D,SAAO,QAAQ,MAAM;AACnB,QAAI,CAAC,+BAA+B;AAClC,aAAO;AAAA,IACT;AAGA,QAAI,OAAO,SAAS,QAAQ,QAAQ;AAGpC,QAAI,WAAW,cAAc;AAC3B,aAAO,KAAK,IAAI,CAAC,UAAU;AACzB,eAAO,eAAe,KAAK,IACvB;AAAA,UACE;AAAA,UACA;AAAA,UACA,oBAAC,SAAM,MAAM,aAAa,MAAM,YAC5B,gBAAc,MAAM,UACxB;AAAA,QACF,IACA;AAAA,MACN,CAAC;AAAA,IACH;AAEA,UAAM,UACJ,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,gBACH;AAGF,QAAI,mBAAmB,OAAO;AAC5B,aAAO;AAAA,IACT;AAEA,QAAI,SAAS,CAAC,MAAM,qBAAqB;AAEvC,YAAM,aAAa,SAAS,aAAa,iBAAiB,MAAM,KAAK,IAAI;AACzE,YAAM,aAAa;AAAA,QACjB,OAAO;AAAA,MACT;AAEA,aACE,oBAAC,UAAK,WAAW,GAAG,aAAa,6BAA6B,OAAO,YAClE,mBACH;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
6
5
  "names": []
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/Theme.tsx"],
4
- "sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { Children, cloneElement, isValidElement, useEffect, useId, useMemo } from 'react'\n\nimport { variableToString } from '../createVariable.js'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext.js'\nimport { useServerRef } from '../hooks/useServerHooks.js'\nimport { ChangedThemeResponse, useChangeThemeEffect } from '../hooks/useTheme.js'\nimport type { DebugProp, ThemeProps } from '../types.js'\nimport { ThemeDebug } from './ThemeDebug'\n\nexport function Theme(props: ThemeProps) {\n // @ts-expect-error only for internal views\n if (props.disable) {\n return props.children\n }\n\n const isRoot = !!props['_isRoot']\n const themeState = useChangeThemeEffect(props, isRoot)\n\n let children = props['disable-child-theme']\n ? Children.map(props.children, (child) =>\n cloneElement(child, { ['data-disable-theme']: true })\n )\n : props.children\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] === 'visualize') {\n children = (\n <ThemeDebug themeState={themeState} themeProps={props}>\n {children}\n </ThemeDebug>\n )\n }\n }\n\n return useThemedChildren(themeState, children, props, isRoot)\n}\n\nexport function useThemedChildren(\n themeState: ChangedThemeResponse,\n children: any,\n props: {\n forceClassName?: boolean\n shallow?: boolean\n passPropsToChildren?: boolean\n debug?: DebugProp\n },\n isRoot = false\n) {\n const { themeManager, className, theme, isNewTheme } = themeState\n const { shallow, forceClassName } = props\n const hasEverThemed = useServerRef(false)\n if (isNewTheme) {\n hasEverThemed.current = true\n }\n\n const shouldRenderChildrenWithTheme =\n isNewTheme || hasEverThemed.current || forceClassName || isRoot\n\n return useMemo(() => {\n if (!shouldRenderChildrenWithTheme) {\n return children\n }\n\n // be sure to memoize shouldReset to avoid reparenting\n let next = Children.toArray(children)\n\n // each children of these children wont get the theme\n if (shallow && themeManager) {\n next = next.map((child) => {\n return isValidElement(child)\n ? cloneElement(\n child,\n undefined,\n <Theme name={themeManager.state.parentName}>\n {(child as any).props.children}\n </Theme>\n )\n : child\n })\n }\n\n const wrapped = (\n <ThemeManagerContext.Provider value={themeManager}>\n {next}\n </ThemeManagerContext.Provider>\n )\n\n if (forceClassName === false) {\n return wrapped\n }\n\n if (isWeb && !props.passPropsToChildren) {\n // in order to provide currentColor, set color by default\n const themeColor = theme && isNewTheme ? variableToString(theme.color) : ''\n const colorStyle = {\n color: themeColor,\n }\n\n return (\n <span className={`${className || ''} _dsp_contents is_Theme`} style={colorStyle}>\n {wrapped}\n </span>\n )\n }\n\n return wrapped\n }, [\n forceClassName,\n props.passPropsToChildren,\n shouldRenderChildrenWithTheme,\n themeManager,\n children,\n theme,\n isNewTheme,\n className,\n ])\n}\n"],
5
4
  "mappings": "AA4BQ;AA5BR,SAAS,aAAa;AACtB,SAAS,UAAU,cAAc,gBAAkC,eAAe;AAElF,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAA+B,4BAA4B;AAE3D,SAAS,kBAAkB;AAEpB,SAAS,MAAM,OAAmB;AAEvC,MAAI,MAAM,SAAS;AACjB,WAAO,MAAM;AAAA,EACf;AAEA,QAAM,SAAS,CAAC,CAAC,MAAM,SAAS;AAChC,QAAM,aAAa,qBAAqB,OAAO,MAAM;AAErD,MAAI,WAAW,MAAM,qBAAqB,IACtC,SAAS;AAAA,IAAI,MAAM;AAAA,IAAU,CAAC,UAC5B,aAAa,OAAO,EAAE,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAAA,EACtD,IACA,MAAM;AAEV,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,MAAM,OAAO,MAAM,aAAa;AAClC,iBACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,UACH;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO,kBAAkB,YAAY,UAAU,OAAO,MAAM;AAC9D;AAEO,SAAS,kBACd,YACA,UACA,OAMA,SAAS,OACT;AACA,QAAM,EAAE,cAAc,WAAW,OAAO,WAAW,IAAI;AACvD,QAAM,EAAE,SAAS,eAAe,IAAI;AACpC,QAAM,gBAAgB,aAAa,KAAK;AACxC,MAAI,YAAY;AACd,kBAAc,UAAU;AAAA,EAC1B;AAEA,QAAM,gCACJ,cAAc,cAAc,WAAW,kBAAkB;AAE3D,SAAO,QAAQ,MAAM;AACnB,QAAI,CAAC,+BAA+B;AAClC,aAAO;AAAA,IACT;AAGA,QAAI,OAAO,SAAS,QAAQ,QAAQ;AAGpC,QAAI,WAAW,cAAc;AAC3B,aAAO,KAAK,IAAI,CAAC,UAAU;AACzB,eAAO,eAAe,KAAK,IACvB;AAAA,UACE;AAAA,UACA;AAAA,UACA,oBAAC,SAAM,MAAM,aAAa,MAAM,YAC5B,gBAAc,MAAM,UACxB;AAAA,QACF,IACA;AAAA,MACN,CAAC;AAAA,IACH;AAEA,UAAM,UACJ,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,gBACH;AAGF,QAAI,mBAAmB,OAAO;AAC5B,aAAO;AAAA,IACT;AAEA,QAAI,SAAS,CAAC,MAAM,qBAAqB;AAEvC,YAAM,aAAa,SAAS,aAAa,iBAAiB,MAAM,KAAK,IAAI;AACzE,YAAM,aAAa;AAAA,QACjB,OAAO;AAAA,MACT;AAEA,aACE,oBAAC,UAAK,WAAW,GAAG,aAAa,6BAA6B,OAAO,YAClE,mBACH;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
6
5
  "names": []
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/ThemeDebug.tsx"],
4
- "sourcesContent": ["import { useForceUpdate } from '@tamagui/use-force-update'\nimport { useEffect, useId, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { ChangedThemeResponse } from '../hooks/useTheme.js'\nimport { ThemeProps } from '../types.js'\n\nlet node\n\nexport function ThemeDebug({\n themeState,\n themeProps,\n children,\n}: {\n themeState: ChangedThemeResponse\n themeProps: ThemeProps\n children: any\n}) {\n // disabled\n if (themeProps['disable-child-theme']) {\n return children\n }\n\n if (process.env.NODE_ENV === 'development') {\n const [onChangeCount, setOnChangeCount] = useState(0)\n const rerender = useForceUpdate()\n const id = useId()\n\n if (process.env.NODE_ENV === 'development' && typeof document !== 'undefined') {\n if (!node) {\n node = document.createElement('div')\n node.style.width = '100%'\n node.style.height = '200px'\n node.style.overflowY = 'scroll'\n node.style.position = 'fixed'\n node.style.top = '0px'\n node.style.left = '0px'\n node.style.display = 'flex'\n node.style.flexDirection = 'row'\n node.style.background = 'var(--background)'\n document.body.appendChild(node)\n }\n }\n\n useEffect(() => {\n themeState.themeManager?.parentManager?.onChangeTheme((name, manager) => {\n setOnChangeCount((p) => ++p)\n console.warn(`theme changed`, name)\n })\n }, [themeState.themeManager])\n\n useEffect(() => {\n // to refresh _listeningIds every so often\n const tm = setInterval(rerender, 100)\n return () => clearTimeout(tm)\n }, [])\n\n return (\n <>\n {createPortal(\n <code\n style={{\n whiteSpace: 'pre',\n }}\n >\n &lt;Theme {id} /&gt;&nbsp;\n {JSON.stringify(\n {\n name: themeState.name,\n className: themeState.className,\n inverse: themeProps.inverse,\n forceClassName: themeProps.forceClassName,\n parent: themeState.themeManager?.state.parentName,\n id: themeState.themeManager?.id,\n parentId: themeState.themeManager?.parentManager?.id,\n isNew: themeState.isNewTheme,\n onChangeCount,\n listening: [...(themeState.themeManager?.['_listeningIds'] || [])].join(\n ','\n ),\n _numChangeEventsSent: themeState.themeManager?.['_numChangeEventsSent'],\n },\n null,\n 2\n )}\n </code>,\n node\n )}\n\n <div style={{ color: 'red' }}>{id}</div>\n\n {children}\n </>\n )\n }\n return children\n}\n"],
5
4
  "mappings": "AA0DM,mBA+BE,KA7BE,YAFJ;AA1DN,SAAS,sBAAsB;AAC/B,SAAS,WAAW,OAAe,gBAAgB;AACnD,SAAS,oBAAoB;AAK7B,IAAI;AAEG,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAIG;AAjBH;AAmBE,MAAI,WAAW,qBAAqB,GAAG;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,CAAC;AACpD,UAAM,WAAW,eAAe;AAChC,UAAM,KAAK,MAAM;AAEjB,QAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,aAAa,aAAa;AAC7E,UAAI,CAAC,MAAM;AACT,eAAO,SAAS,cAAc,KAAK;AACnC,aAAK,MAAM,QAAQ;AACnB,aAAK,MAAM,SAAS;AACpB,aAAK,MAAM,YAAY;AACvB,aAAK,MAAM,WAAW;AACtB,aAAK,MAAM,MAAM;AACjB,aAAK,MAAM,OAAO;AAClB,aAAK,MAAM,UAAU;AACrB,aAAK,MAAM,gBAAgB;AAC3B,aAAK,MAAM,aAAa;AACxB,iBAAS,KAAK,YAAY,IAAI;AAAA,MAChC;AAAA,IACF;AAEA,cAAU,MAAM;AA5CpB,UAAAA,KAAAC;AA6CM,OAAAA,OAAAD,MAAA,WAAW,iBAAX,gBAAAA,IAAyB,kBAAzB,gBAAAC,IAAwC,cAAc,CAAC,MAAM,YAAY;AACvE,yBAAiB,CAAC,MAAM,EAAE,CAAC;AAC3B,gBAAQ,KAAK,iBAAiB,IAAI;AAAA,MACpC;AAAA,IACF,GAAG,CAAC,WAAW,YAAY,CAAC;AAE5B,cAAU,MAAM;AAEd,YAAM,KAAK,YAAY,UAAU,GAAG;AACpC,aAAO,MAAM,aAAa,EAAE;AAAA,IAC9B,GAAG,CAAC,CAAC;AAEL,WACE,iCACG;AAAA;AAAA,QACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,YAAY;AAAA,YACd;AAAA,YACD;AAAA;AAAA,cACY;AAAA,cAAG;AAAA,cACb,KAAK;AAAA,gBACJ;AAAA,kBACE,MAAM,WAAW;AAAA,kBACjB,WAAW,WAAW;AAAA,kBACtB,SAAS,WAAW;AAAA,kBACpB,gBAAgB,WAAW;AAAA,kBAC3B,SAAQ,gBAAW,iBAAX,mBAAyB,MAAM;AAAA,kBACvC,KAAI,gBAAW,iBAAX,mBAAyB;AAAA,kBAC7B,WAAU,sBAAW,iBAAX,mBAAyB,kBAAzB,mBAAwC;AAAA,kBAClD,OAAO,WAAW;AAAA,kBAClB;AAAA,kBACA,WAAW,CAAC,KAAI,gBAAW,iBAAX,mBAA0B,qBAAoB,CAAC,CAAE,EAAE;AAAA,oBACjE;AAAA,kBACF;AAAA,kBACA,uBAAsB,gBAAW,iBAAX,mBAA0B;AAAA,gBAClD;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA;AAAA;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,MAEA,oBAAC,SAAI,OAAO,EAAE,OAAO,MAAM,GAAI,cAAG;AAAA,MAEjC;AAAA,OACH;AAAA,EAEJ;AACA,SAAO;AACT;",
6
5
  "names": ["_a", "_b"]
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/ThemeDebug.tsx"],
4
- "sourcesContent": ["import { useForceUpdate } from '@tamagui/use-force-update'\nimport { useEffect, useId, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { ChangedThemeResponse } from '../hooks/useTheme.js'\nimport { ThemeProps } from '../types.js'\n\nlet node\n\nexport function ThemeDebug({\n themeState,\n themeProps,\n children,\n}: {\n themeState: ChangedThemeResponse\n themeProps: ThemeProps\n children: any\n}) {\n // disabled\n if (themeProps['disable-child-theme']) {\n return children\n }\n\n if (process.env.NODE_ENV === 'development') {\n const [onChangeCount, setOnChangeCount] = useState(0)\n const rerender = useForceUpdate()\n const id = useId()\n\n if (process.env.NODE_ENV === 'development' && typeof document !== 'undefined') {\n if (!node) {\n node = document.createElement('div')\n node.style.width = '100%'\n node.style.height = '200px'\n node.style.overflowY = 'scroll'\n node.style.position = 'fixed'\n node.style.top = '0px'\n node.style.left = '0px'\n node.style.display = 'flex'\n node.style.flexDirection = 'row'\n node.style.background = 'var(--background)'\n document.body.appendChild(node)\n }\n }\n\n useEffect(() => {\n themeState.themeManager?.parentManager?.onChangeTheme((name, manager) => {\n setOnChangeCount((p) => ++p)\n console.warn(`theme changed`, name)\n })\n }, [themeState.themeManager])\n\n useEffect(() => {\n // to refresh _listeningIds every so often\n const tm = setInterval(rerender, 100)\n return () => clearTimeout(tm)\n }, [])\n\n return (\n <>\n {createPortal(\n <code\n style={{\n whiteSpace: 'pre',\n }}\n >\n &lt;Theme {id} /&gt;&nbsp;\n {JSON.stringify(\n {\n name: themeState.name,\n className: themeState.className,\n inverse: themeProps.inverse,\n forceClassName: themeProps.forceClassName,\n parent: themeState.themeManager?.state.parentName,\n id: themeState.themeManager?.id,\n parentId: themeState.themeManager?.parentManager?.id,\n isNew: themeState.isNewTheme,\n onChangeCount,\n listening: [...(themeState.themeManager?.['_listeningIds'] || [])].join(\n ','\n ),\n _numChangeEventsSent: themeState.themeManager?.['_numChangeEventsSent'],\n },\n null,\n 2\n )}\n </code>,\n node\n )}\n\n <div style={{ color: 'red' }}>{id}</div>\n\n {children}\n </>\n )\n }\n return children\n}\n"],
5
4
  "mappings": "AA0DM,mBA+BE,KA7BE,YAFJ;AA1DN,SAAS,sBAAsB;AAC/B,SAAS,WAAW,OAAe,gBAAgB;AACnD,SAAS,oBAAoB;AAK7B,IAAI;AAEG,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAIG;AAjBH;AAmBE,MAAI,WAAW,qBAAqB,GAAG;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,UAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,CAAC;AACpD,UAAM,WAAW,eAAe;AAChC,UAAM,KAAK,MAAM;AAEjB,QAAI,QAAQ,IAAI,aAAa,iBAAiB,OAAO,aAAa,aAAa;AAC7E,UAAI,CAAC,MAAM;AACT,eAAO,SAAS,cAAc,KAAK;AACnC,aAAK,MAAM,QAAQ;AACnB,aAAK,MAAM,SAAS;AACpB,aAAK,MAAM,YAAY;AACvB,aAAK,MAAM,WAAW;AACtB,aAAK,MAAM,MAAM;AACjB,aAAK,MAAM,OAAO;AAClB,aAAK,MAAM,UAAU;AACrB,aAAK,MAAM,gBAAgB;AAC3B,aAAK,MAAM,aAAa;AACxB,iBAAS,KAAK,YAAY,IAAI;AAAA,MAChC;AAAA,IACF;AAEA,cAAU,MAAM;AA5CpB,UAAAA,KAAAC;AA6CM,OAAAA,OAAAD,MAAA,WAAW,iBAAX,gBAAAA,IAAyB,kBAAzB,gBAAAC,IAAwC,cAAc,CAAC,MAAM,YAAY;AACvE,yBAAiB,CAAC,MAAM,EAAE,CAAC;AAC3B,gBAAQ,KAAK,iBAAiB,IAAI;AAAA,MACpC;AAAA,IACF,GAAG,CAAC,WAAW,YAAY,CAAC;AAE5B,cAAU,MAAM;AAEd,YAAM,KAAK,YAAY,UAAU,GAAG;AACpC,aAAO,MAAM,aAAa,EAAE;AAAA,IAC9B,GAAG,CAAC,CAAC;AAEL,WACE,iCACG;AAAA;AAAA,QACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,YAAY;AAAA,YACd;AAAA,YACD;AAAA;AAAA,cACY;AAAA,cAAG;AAAA,cACb,KAAK;AAAA,gBACJ;AAAA,kBACE,MAAM,WAAW;AAAA,kBACjB,WAAW,WAAW;AAAA,kBACtB,SAAS,WAAW;AAAA,kBACpB,gBAAgB,WAAW;AAAA,kBAC3B,SAAQ,gBAAW,iBAAX,mBAAyB,MAAM;AAAA,kBACvC,KAAI,gBAAW,iBAAX,mBAAyB;AAAA,kBAC7B,WAAU,sBAAW,iBAAX,mBAAyB,kBAAzB,mBAAwC;AAAA,kBAClD,OAAO,WAAW;AAAA,kBAClB;AAAA,kBACA,WAAW,CAAC,KAAI,gBAAW,iBAAX,mBAA0B,qBAAoB,CAAC,CAAE,EAAE;AAAA,oBACjE;AAAA,kBACF;AAAA,kBACA,uBAAsB,gBAAW,iBAAX,mBAA0B;AAAA,gBAClD;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA;AAAA;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,MAEA,oBAAC,SAAI,OAAO,EAAE,OAAO,MAAM,GAAI,cAAG;AAAA,MAEjC;AAAA,OACH;AAAA,EAEJ;AACA,SAAO;AACT;",
6
5
  "names": ["_a", "_b"]
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/ThemeProvider.tsx"],
4
- "sourcesContent": ["import { isClient } from '@tamagui/constants'\nimport { createContext, useLayoutEffect, useMemo } from 'react'\n\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants.js'\nimport { Theme } from './Theme.js'\n\nexport type ThemeProviderProps = {\n className?: string\n defaultTheme: string\n disableRootThemeClass?: boolean\n themeClassNameOnRoot?: boolean\n children?: any\n reset?: boolean\n}\n\nexport const ThemeProviderRootContext = createContext<Pick<\n ThemeProviderProps,\n 'defaultTheme'\n> | null>(null)\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n // ensure theme is attached to root body node as well to work with modals by default\n if (isClient) {\n useLayoutEffect(() => {\n if (props.disableRootThemeClass) return\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`\n const target = props.themeClassNameOnRoot ? document.documentElement : document.body\n target.classList.add(cn)\n return () => {\n target.classList.remove(cn)\n }\n }, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot])\n }\n\n return (\n <ThemeProviderRootContext.Provider\n value={useMemo(() => {\n return {\n defaultTheme: props.defaultTheme,\n }\n // NOTE DON'T CHANGE THIS ITS ONLY USED BY useThemeName for SSR safety for now...\n }, [])}\n >\n <Theme\n className={props.className}\n name={props.defaultTheme}\n forceClassName={props.disableRootThemeClass ? false : undefined}\n // @ts-expect-error\n _isRoot\n >\n {props.children}\n </Theme>\n </ThemeProviderRootContext.Provider>\n )\n}\n"],
5
4
  "mappings": "AA2CM;AA3CN,SAAS,gBAAgB;AACzB,SAAS,eAAe,iBAAiB,eAAe;AAExD,SAAS,8BAA8B;AACvC,SAAS,aAAa;AAWf,MAAM,2BAA2B,cAG9B,IAAI;AAEP,MAAM,gBAAgB,CAAC,UAA8B;AAE1D,MAAI,UAAU;AACZ,oBAAgB,MAAM;AACpB,UAAI,MAAM;AAAuB;AACjC,YAAM,KAAK,GAAG,yBAAyB,MAAM;AAC7C,YAAM,SAAS,MAAM,uBAAuB,SAAS,kBAAkB,SAAS;AAChF,aAAO,UAAU,IAAI,EAAE;AACvB,aAAO,MAAM;AACX,eAAO,UAAU,OAAO,EAAE;AAAA,MAC5B;AAAA,IACF,GAAG,CAAC,MAAM,cAAc,MAAM,uBAAuB,MAAM,oBAAoB,CAAC;AAAA,EAClF;AAEA,SACE;AAAA,IAAC,yBAAyB;AAAA,IAAzB;AAAA,MACC,OAAO,QAAQ,MAAM;AACnB,eAAO;AAAA,UACL,cAAc,MAAM;AAAA,QACtB;AAAA,MAEF,GAAG,CAAC,CAAC;AAAA,MAEL;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,MAAM;AAAA,UACjB,MAAM,MAAM;AAAA,UACZ,gBAAgB,MAAM,wBAAwB,QAAQ;AAAA,UAEtD,SAAO;AAAA,UAEN,gBAAM;AAAA;AAAA,MACT;AAAA;AAAA,EACF;AAEJ;",
6
5
  "names": []
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/ThemeProvider.tsx"],
4
- "sourcesContent": ["import { isClient } from '@tamagui/constants'\nimport { createContext, useLayoutEffect, useMemo } from 'react'\n\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants.js'\nimport { Theme } from './Theme.js'\n\nexport type ThemeProviderProps = {\n className?: string\n defaultTheme: string\n disableRootThemeClass?: boolean\n themeClassNameOnRoot?: boolean\n children?: any\n reset?: boolean\n}\n\nexport const ThemeProviderRootContext = createContext<Pick<\n ThemeProviderProps,\n 'defaultTheme'\n> | null>(null)\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n // ensure theme is attached to root body node as well to work with modals by default\n if (isClient) {\n useLayoutEffect(() => {\n if (props.disableRootThemeClass) return\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`\n const target = props.themeClassNameOnRoot ? document.documentElement : document.body\n target.classList.add(cn)\n return () => {\n target.classList.remove(cn)\n }\n }, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot])\n }\n\n return (\n <ThemeProviderRootContext.Provider\n value={useMemo(() => {\n return {\n defaultTheme: props.defaultTheme,\n }\n // NOTE DON'T CHANGE THIS ITS ONLY USED BY useThemeName for SSR safety for now...\n }, [])}\n >\n <Theme\n className={props.className}\n name={props.defaultTheme}\n forceClassName={props.disableRootThemeClass ? false : undefined}\n // @ts-expect-error\n _isRoot\n >\n {props.children}\n </Theme>\n </ThemeProviderRootContext.Provider>\n )\n}\n"],
5
4
  "mappings": "AA2CM;AA3CN,SAAS,gBAAgB;AACzB,SAAS,eAAe,iBAAiB,eAAe;AAExD,SAAS,8BAA8B;AACvC,SAAS,aAAa;AAWf,MAAM,2BAA2B,cAG9B,IAAI;AAEP,MAAM,gBAAgB,CAAC,UAA8B;AAE1D,MAAI,UAAU;AACZ,oBAAgB,MAAM;AACpB,UAAI,MAAM;AAAuB;AACjC,YAAM,KAAK,GAAG,yBAAyB,MAAM;AAC7C,YAAM,SAAS,MAAM,uBAAuB,SAAS,kBAAkB,SAAS;AAChF,aAAO,UAAU,IAAI,EAAE;AACvB,aAAO,MAAM;AACX,eAAO,UAAU,OAAO,EAAE;AAAA,MAC5B;AAAA,IACF,GAAG,CAAC,MAAM,cAAc,MAAM,uBAAuB,MAAM,oBAAoB,CAAC;AAAA,EAClF;AAEA,SACE;AAAA,IAAC,yBAAyB;AAAA,IAAzB;AAAA,MACC,OAAO,QAAQ,MAAM;AACnB,eAAO;AAAA,UACL,cAAc,MAAM;AAAA,QACtB;AAAA,MAEF,GAAG,CAAC,CAAC;AAAA,MAEL;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,MAAM;AAAA,UACjB,MAAM,MAAM;AAAA,UACZ,gBAAgB,MAAM,wBAAwB,QAAQ;AAAA,UAEtD,SAAO;AAAA,UAEN,gBAAM;AAAA;AAAA,MACT;AAAA;AAAA,EACF;AAEJ;",
6
5
  "names": []
7
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "1.15.14",
3
+ "version": "1.15.16",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -27,19 +27,19 @@
27
27
  "reset.css"
28
28
  ],
29
29
  "dependencies": {
30
- "@tamagui/compose-refs": "1.15.14",
31
- "@tamagui/constants": "1.15.14",
32
- "@tamagui/helpers": "1.15.14",
33
- "@tamagui/normalize-css-color": "1.15.14",
34
- "@tamagui/use-did-finish-ssr": "1.15.14",
35
- "@tamagui/use-event": "1.15.14",
36
- "@tamagui/use-force-update": "1.15.14"
30
+ "@tamagui/compose-refs": "1.15.16",
31
+ "@tamagui/constants": "1.15.16",
32
+ "@tamagui/helpers": "1.15.16",
33
+ "@tamagui/normalize-css-color": "1.15.16",
34
+ "@tamagui/use-did-finish-ssr": "1.15.16",
35
+ "@tamagui/use-event": "1.15.16",
36
+ "@tamagui/use-force-update": "1.15.16"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": "*"
40
40
  },
41
41
  "devDependencies": {
42
- "@tamagui/build": "1.15.14",
42
+ "@tamagui/build": "1.15.16",
43
43
  "@testing-library/react": "^13.4.0",
44
44
  "csstype": "^3.0.10",
45
45
  "react": "^18.2.0",
package/src/styled.tsx CHANGED
@@ -51,7 +51,8 @@ export function styled<
51
51
  name?: string
52
52
  variants?: Variants | undefined
53
53
  // thought i had this typed, but can't get it linked
54
- defaultVariants?: GetVariantAcceptedValues<Variants>
54
+ // this causes issues with 3+ levels of inheritance: GetVariantAcceptedValues<Variants>
55
+ defaultVariants?: { [key: string]: any }
55
56
  acceptsClassName?: boolean
56
57
  },
57
58
  staticExtractionOptions?: Partial<StaticConfig>
package/types/styled.d.ts CHANGED
@@ -7,7 +7,9 @@ type GetVariantAcceptedValues<V> = V extends Object ? {
7
7
  export declare function styled<ParentComponent extends StylableComponent, Variants extends VariantDefinitions<ParentComponent> | void = VariantDefinitions<ParentComponent> | void>(ComponentIn: ParentComponent, options?: GetProps<ParentComponent> & {
8
8
  name?: string;
9
9
  variants?: Variants | undefined;
10
- defaultVariants?: GetVariantAcceptedValues<Variants>;
10
+ defaultVariants?: {
11
+ [key: string]: any;
12
+ };
11
13
  acceptsClassName?: boolean;
12
14
  }, staticExtractionOptions?: Partial<StaticConfig>): TamaguiComponent<Variants extends void ? GetProps<ParentComponent> : GetBaseProps<ParentComponent> & Omit<GetVariantProps<ParentComponent>, keyof GetVariantAcceptedValues<Variants>> & GetVariantAcceptedValues<Variants> & MediaProps<Partial<GetBaseProps<ParentComponent> & Omit<GetVariantProps<ParentComponent>, keyof GetVariantAcceptedValues<Variants>> & GetVariantAcceptedValues<Variants>>> & PseudoProps<Partial<GetBaseProps<ParentComponent> & Omit<GetVariantProps<ParentComponent>, keyof GetVariantAcceptedValues<Variants>> & GetVariantAcceptedValues<Variants>>>, TamaguiElement, GetBaseProps<ParentComponent>, GetVariantProps<ParentComponent> & GetVariantAcceptedValues<Variants>, { [Key in Exclude<keyof ParentComponent, "defaultProps" | "propTypes" | "staticConfig" | "extractable" | "$$typeof">]: ParentComponent[Key]; }>;
13
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../src/styled.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAEnB,KAAK,YAAY,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CACzE,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEf,KAAK,eAAe,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CAC5E,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,EAAE,CAAA;AAEN,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC/C;KACG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GACnE,GAAG,GACH,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;CACnC,GACD,SAAS,CAAA;AAEb,wBAAgB,MAAM,CACpB,eAAe,SAAS,iBAAiB,EACzC,QAAQ,SAAS,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,EAExG,WAAW,EAAE,eAAe,EAE5B,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAE/B,eAAe,CAAC,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IACpD,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,EACD,uBAAuB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,g0BAkIhD"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../src/styled.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAEnB,KAAK,YAAY,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CACzE,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEf,KAAK,eAAe,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SAAS,gBAAgB,CAC5E,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,CAAC,CACR,GACG,CAAC,GACD,EAAE,CAAA;AAEN,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC/C;KACG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GACnE,GAAG,GACH,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;CACnC,GACD,SAAS,CAAA;AAEb,wBAAgB,MAAM,CACpB,eAAe,SAAS,iBAAiB,EACzC,QAAQ,SAAS,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,EAExG,WAAW,EAAE,eAAe,EAE5B,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;IAG/B,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,EACD,uBAAuB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,g0BAkIhD"}