@tamagui/web 1.22.6 → 1.22.8
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.
- package/dist/cjs/Tamagui.js +3 -3
- package/dist/cjs/createComponent.js +35 -60
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/createTamagui.js +9 -9
- package/dist/cjs/createTokens.js +1 -1
- package/dist/cjs/createVariable.js +1 -1
- package/dist/cjs/createVariables.js +1 -1
- package/dist/cjs/helpers/ThemeManager.js +3 -3
- package/dist/cjs/helpers/createMediaStyle.js +1 -1
- package/dist/cjs/helpers/createPropMapper.js +18 -12
- package/dist/cjs/helpers/createPropMapper.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.js +4 -4
- package/dist/cjs/helpers/extendStaticConfig.js +2 -2
- package/dist/cjs/helpers/getAnimationDriver.js +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.js +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +11 -10
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getStylesAtomic.js +4 -4
- package/dist/cjs/helpers/getThemeCSSRules.js +3 -3
- package/dist/cjs/helpers/getVariantExtras.js +2 -2
- package/dist/cjs/helpers/isTamaguiElement.js +1 -1
- package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js +31 -0
- package/dist/cjs/helpers/memoizeFunctionByArgumentsReference.js.map +6 -0
- package/dist/cjs/helpers/normalizeShadow.js +2 -2
- package/dist/cjs/helpers/normalizeShadow.native.js +3 -3
- package/dist/cjs/helpers/normalizeValueWithProperty.js +2 -2
- package/dist/cjs/helpers/proxyThemeVariables.js +1 -1
- package/dist/cjs/helpers/registerCSSVariable.js +1 -1
- package/dist/cjs/helpers/themeable.js +2 -2
- package/dist/cjs/helpers/themeable.js.map +1 -1
- package/dist/cjs/helpers/themes.js +2 -2
- package/dist/cjs/hooks/useAnimationDriver.js +2 -2
- package/dist/cjs/hooks/useMedia.js +3 -3
- package/dist/cjs/hooks/useProps.js +1 -1
- package/dist/cjs/hooks/useStyle.js +5 -5
- package/dist/cjs/hooks/useTheme.js +7 -7
- package/dist/cjs/hooks/useThemeName.js +2 -2
- package/dist/cjs/index.js +96 -96
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/insertFont.js +4 -4
- package/dist/cjs/styled.js +12 -5
- package/dist/cjs/styled.js.map +1 -1
- package/dist/cjs/views/FontLanguage.native.js +1 -1
- package/dist/cjs/views/Stack.js +2 -2
- package/dist/cjs/views/TamaguiProvider.js +5 -5
- package/dist/cjs/views/Text.js +1 -1
- package/dist/cjs/views/Theme.js +4 -4
- package/dist/cjs/views/ThemeDebug.js +1 -1
- package/dist/cjs/views/ThemeDebug.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.js +2 -2
- package/dist/esm/Tamagui.js +3 -3
- package/dist/esm/Tamagui.mjs +3 -3
- package/dist/esm/createComponent.js +36 -61
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.mjs +36 -61
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createTamagui.js +9 -9
- package/dist/esm/createTamagui.mjs +9 -9
- package/dist/esm/createTokens.js +1 -1
- package/dist/esm/createTokens.mjs +1 -1
- package/dist/esm/createVariable.js +1 -1
- package/dist/esm/createVariable.mjs +1 -1
- package/dist/esm/createVariables.js +1 -1
- package/dist/esm/createVariables.mjs +1 -1
- package/dist/esm/helpers/ThemeManager.js +3 -3
- package/dist/esm/helpers/ThemeManager.mjs +3 -3
- package/dist/esm/helpers/createMediaStyle.js +1 -1
- package/dist/esm/helpers/createMediaStyle.mjs +1 -1
- package/dist/esm/helpers/createPropMapper.js +18 -12
- package/dist/esm/helpers/createPropMapper.js.map +1 -1
- package/dist/esm/helpers/createPropMapper.mjs +18 -12
- package/dist/esm/helpers/createPropMapper.mjs.map +1 -1
- package/dist/esm/helpers/expandStyles.js +4 -4
- package/dist/esm/helpers/expandStyles.mjs +4 -4
- package/dist/esm/helpers/extendStaticConfig.js +2 -2
- package/dist/esm/helpers/extendStaticConfig.mjs +2 -2
- package/dist/esm/helpers/getAnimationDriver.js +1 -1
- package/dist/esm/helpers/getAnimationDriver.mjs +1 -1
- package/dist/esm/helpers/getExpandedShorthands.js +1 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs +1 -1
- package/dist/esm/helpers/getSplitStyles.js +11 -10
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +11 -10
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.js +4 -4
- package/dist/esm/helpers/getStylesAtomic.mjs +4 -4
- package/dist/esm/helpers/getThemeCSSRules.js +3 -3
- package/dist/esm/helpers/getThemeCSSRules.mjs +3 -3
- package/dist/esm/helpers/getVariantExtras.js +2 -2
- package/dist/esm/helpers/getVariantExtras.mjs +2 -2
- package/dist/esm/helpers/isTamaguiElement.js +1 -1
- package/dist/esm/helpers/isTamaguiElement.mjs +1 -1
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js +30 -0
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.js.map +6 -0
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs +30 -0
- package/dist/esm/helpers/memoizeFunctionByArgumentsReference.mjs.map +6 -0
- package/dist/esm/helpers/normalizeShadow.js +2 -2
- package/dist/esm/helpers/normalizeShadow.mjs +2 -2
- package/dist/esm/helpers/normalizeShadow.native.js +3 -3
- package/dist/esm/helpers/normalizeShadow.native.mjs +3 -3
- package/dist/esm/helpers/normalizeValueWithProperty.js +2 -2
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +1 -1
- package/dist/esm/helpers/proxyThemeVariables.mjs +1 -1
- package/dist/esm/helpers/registerCSSVariable.js +1 -1
- package/dist/esm/helpers/registerCSSVariable.mjs +1 -1
- package/dist/esm/helpers/themeable.js +2 -2
- package/dist/esm/helpers/themeable.js.map +1 -1
- package/dist/esm/helpers/themeable.mjs +2 -2
- package/dist/esm/helpers/themeable.mjs.map +1 -1
- package/dist/esm/helpers/themes.js +2 -2
- package/dist/esm/helpers/themes.mjs +2 -2
- package/dist/esm/hooks/useAnimationDriver.js +2 -2
- package/dist/esm/hooks/useAnimationDriver.mjs +2 -2
- package/dist/esm/hooks/useMedia.js +3 -3
- package/dist/esm/hooks/useMedia.mjs +3 -3
- package/dist/esm/hooks/useProps.js +1 -1
- package/dist/esm/hooks/useProps.mjs +1 -1
- package/dist/esm/hooks/useStyle.js +5 -5
- package/dist/esm/hooks/useStyle.mjs +5 -5
- package/dist/esm/hooks/useTheme.js +7 -7
- package/dist/esm/hooks/useTheme.mjs +7 -7
- package/dist/esm/hooks/useThemeName.js +2 -2
- package/dist/esm/hooks/useThemeName.mjs +2 -2
- package/dist/esm/index.js +49 -49
- package/dist/esm/index.mjs +49 -49
- package/dist/esm/insertFont.js +4 -4
- package/dist/esm/insertFont.mjs +4 -4
- package/dist/esm/styled.js +12 -5
- package/dist/esm/styled.js.map +1 -1
- package/dist/esm/styled.mjs +12 -5
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/views/FontLanguage.native.js +1 -1
- package/dist/esm/views/FontLanguage.native.mjs +1 -1
- package/dist/esm/views/Stack.js +2 -2
- package/dist/esm/views/Stack.mjs +2 -2
- package/dist/esm/views/TamaguiProvider.js +5 -5
- package/dist/esm/views/TamaguiProvider.mjs +5 -5
- package/dist/esm/views/Text.js +1 -1
- package/dist/esm/views/Text.mjs +1 -1
- package/dist/esm/views/Theme.js +4 -4
- package/dist/esm/views/Theme.mjs +4 -4
- package/dist/esm/views/ThemeDebug.js +1 -1
- package/dist/esm/views/ThemeDebug.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +1 -1
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.js +2 -2
- package/dist/esm/views/ThemeProvider.mjs +2 -2
- package/package.json +9 -9
- package/src/Tamagui.ts +3 -3
- package/src/config.ts +1 -1
- package/src/contexts/FontLanguageContext.tsx +1 -1
- package/src/createComponent.tsx +36 -69
- package/src/createFont.ts +1 -1
- package/src/createShorthands.ts +1 -1
- package/src/createTamagui.ts +10 -10
- package/src/createTheme.ts +1 -1
- package/src/createTokens.ts +3 -3
- package/src/createVariable.ts +1 -1
- package/src/createVariables.ts +1 -1
- package/src/helpers/ThemeManager.tsx +4 -4
- package/src/helpers/ThemeManagerContext.tsx +1 -1
- package/src/helpers/createMediaStyle.ts +2 -2
- package/src/helpers/createPropMapper.ts +25 -16
- package/src/helpers/expandStyles.ts +4 -4
- package/src/helpers/extendStaticConfig.ts +3 -3
- package/src/helpers/getAnimationDriver.tsx +1 -1
- package/src/helpers/getExpandedShorthands.ts +2 -2
- package/src/helpers/getSplitStyles.tsx +12 -11
- package/src/helpers/getStylesAtomic.ts +5 -5
- package/src/helpers/getThemeCSSRules.ts +4 -4
- package/src/helpers/getVariantExtras.tsx +4 -4
- package/src/helpers/insertStyleRule.tsx +1 -1
- package/src/helpers/isTamaguiComponent.tsx +1 -1
- package/src/helpers/isTamaguiElement.tsx +2 -2
- package/src/helpers/matchMedia.native.ts +1 -1
- package/src/helpers/matchMedia.ts +1 -1
- package/src/helpers/memoizeFunctionByArgumentsReference.ts +38 -0
- package/src/helpers/normalizeShadow.native.ts +3 -3
- package/src/helpers/normalizeShadow.ts +2 -2
- package/src/helpers/normalizeValueWithProperty.ts +2 -2
- package/src/helpers/proxyThemeVariables.tsx +1 -1
- package/src/helpers/registerCSSVariable.ts +1 -1
- package/src/helpers/themeable.tsx +4 -3
- package/src/helpers/themes.ts +3 -3
- package/src/helpers/useShallowSetState.tsx +1 -1
- package/src/hooks/useAnimationDriver.tsx +2 -2
- package/src/hooks/useMedia.tsx +4 -4
- package/src/hooks/useProps.tsx +1 -1
- package/src/hooks/useStyle.tsx +5 -5
- package/src/hooks/useTheme.tsx +8 -8
- package/src/hooks/useThemeName.tsx +3 -3
- package/src/index.ts +49 -49
- package/src/insertFont.ts +6 -6
- package/src/setupReactNative.ts +1 -1
- package/src/styled.tsx +13 -16
- package/src/types.tsx +5 -5
- package/src/views/FontLanguage.native.tsx +2 -2
- package/src/views/FontLanguage.tsx +1 -1
- package/src/views/Stack.tsx +3 -3
- package/src/views/TamaguiProvider.tsx +6 -6
- package/src/views/Text.tsx +2 -2
- package/src/views/Theme.tsx +5 -5
- package/src/views/ThemeDebug.tsx +3 -3
- package/src/views/ThemeProvider.tsx +2 -2
- package/types/Tamagui.d.ts +1 -1
- package/types/Tamagui.d.ts.map +1 -1
- package/types/config.d.ts +19 -19
- package/types/config.d.ts.map +1 -1
- package/types/contexts/FontLanguageContext.d.ts +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createFont.d.ts +1 -1
- package/types/createFont.d.ts.map +1 -1
- package/types/createShorthands.d.ts +1 -1
- package/types/createShorthands.d.ts.map +1 -1
- package/types/createTamagui.d.ts +1 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createTheme.d.ts +1 -1
- package/types/createTheme.d.ts.map +1 -1
- package/types/createTokens.d.ts +2 -2
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariables.d.ts +1 -1
- package/types/createVariables.d.ts.map +1 -1
- package/types/helpers/ThemeManager.d.ts +2 -2
- package/types/helpers/ThemeManager.d.ts.map +1 -1
- package/types/helpers/ThemeManagerContext.d.ts +1 -1
- package/types/helpers/ThemeManagerContext.d.ts.map +1 -1
- package/types/helpers/createMediaStyle.d.ts +1 -1
- package/types/helpers/createMediaStyle.d.ts.map +1 -1
- package/types/helpers/createPropMapper.d.ts +1 -1
- package/types/helpers/createPropMapper.d.ts.map +1 -1
- package/types/helpers/expandStyles.d.ts +1 -1
- package/types/helpers/expandStyles.d.ts.map +1 -1
- package/types/helpers/extendStaticConfig.d.ts +1 -1
- package/types/helpers/extendStaticConfig.d.ts.map +1 -1
- package/types/helpers/getAnimationDriver.d.ts +1 -1
- package/types/helpers/getExpandedShorthands.d.ts +1 -1
- package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +2 -2
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getStylesAtomic.d.ts +2 -2
- package/types/helpers/getStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/getVariantExtras.d.ts +2 -2
- package/types/helpers/getVariantExtras.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts +1 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/isTamaguiComponent.d.ts +1 -1
- package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
- package/types/helpers/isTamaguiElement.d.ts +1 -1
- package/types/helpers/isTamaguiElement.d.ts.map +1 -1
- package/types/helpers/matchMedia.d.ts +1 -1
- package/types/helpers/matchMedia.d.ts.map +1 -1
- package/types/helpers/matchMedia.native.d.ts +1 -1
- package/types/helpers/matchMedia.native.d.ts.map +1 -1
- package/types/helpers/memoizeFunctionByArgumentsReference.d.ts +11 -0
- package/types/helpers/memoizeFunctionByArgumentsReference.d.ts.map +1 -0
- package/types/helpers/registerCSSVariable.d.ts +1 -1
- package/types/helpers/registerCSSVariable.d.ts.map +1 -1
- package/types/helpers/themeable.d.ts +1 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/helpers/themes.d.ts +1 -1
- package/types/helpers/themes.d.ts.map +1 -1
- package/types/helpers/useShallowSetState.d.ts +1 -1
- package/types/helpers/useShallowSetState.d.ts.map +1 -1
- package/types/hooks/useAnimationDriver.d.ts +1 -1
- package/types/hooks/useAnimationDriver.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +1 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useStyle.d.ts +1 -1
- package/types/hooks/useTheme.d.ts +2 -2
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeName.d.ts +1 -1
- package/types/hooks/useThemeName.d.ts.map +1 -1
- package/types/index.d.ts +49 -49
- package/types/index.d.ts.map +1 -1
- package/types/insertFont.d.ts +2 -2
- package/types/insertFont.d.ts.map +1 -1
- package/types/setupReactNative.d.ts +1 -1
- package/types/setupReactNative.d.ts.map +1 -1
- package/types/styled.d.ts +1 -1
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +4 -4
- package/types/types.d.ts.map +1 -1
- package/types/views/FontLanguage.d.ts +1 -1
- package/types/views/FontLanguage.d.ts.map +1 -1
- package/types/views/FontLanguage.native.d.ts +1 -1
- package/types/views/FontLanguage.native.d.ts.map +1 -1
- package/types/views/Stack.d.ts +2 -2
- package/types/views/Stack.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/Text.d.ts +2 -2
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts +2 -2
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts +2 -2
- package/types/views/ThemeDebug.d.ts.map +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { isAndroid, isWeb } from '@tamagui/constants'
|
|
2
2
|
|
|
3
|
-
import { getConfig } from '../config
|
|
4
|
-
import { isDevTools } from '../constants/isDevTools
|
|
5
|
-
import { Variable, getVariableValue, isVariable } from '../createVariable
|
|
3
|
+
import { getConfig } from '../config'
|
|
4
|
+
import { isDevTools } from '../constants/isDevTools'
|
|
5
|
+
import { Variable, getVariableValue, isVariable } from '../createVariable'
|
|
6
6
|
import type {
|
|
7
7
|
DebugProp,
|
|
8
8
|
GenericVariantDefinitions,
|
|
@@ -11,13 +11,13 @@ import type {
|
|
|
11
11
|
StaticConfigParsed,
|
|
12
12
|
TamaguiInternalConfig,
|
|
13
13
|
VariantSpreadFunction,
|
|
14
|
-
} from '../types
|
|
15
|
-
import type { LanguageContextType } from '../views/FontLanguage.types
|
|
16
|
-
import { expandStyle } from './expandStyle
|
|
17
|
-
import { expandStyles } from './expandStyles
|
|
18
|
-
import { getFontsForLanguage, getVariantExtras } from './getVariantExtras
|
|
19
|
-
import { isObj } from './isObj
|
|
20
|
-
import { mergeProps } from './mergeProps
|
|
14
|
+
} from '../types'
|
|
15
|
+
import type { LanguageContextType } from '../views/FontLanguage.types'
|
|
16
|
+
import { expandStyle } from './expandStyle'
|
|
17
|
+
import { expandStyles } from './expandStyles'
|
|
18
|
+
import { getFontsForLanguage, getVariantExtras } from './getVariantExtras'
|
|
19
|
+
import { isObj } from './isObj'
|
|
20
|
+
import { mergeProps } from './mergeProps'
|
|
21
21
|
|
|
22
22
|
export type ResolveVariableTypes =
|
|
23
23
|
| 'auto'
|
|
@@ -444,27 +444,36 @@ const getToken = (
|
|
|
444
444
|
debug?: DebugProp
|
|
445
445
|
) => {
|
|
446
446
|
const tokensParsed = conf.tokensParsed
|
|
447
|
-
const fontsParsed = languageContext
|
|
448
|
-
? getFontsForLanguage(conf.fontsParsed, languageContext)
|
|
449
|
-
: conf.fontsParsed
|
|
450
447
|
let valOrVar: any
|
|
451
448
|
let hasSet = false
|
|
452
449
|
if (value in theme) {
|
|
450
|
+
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
451
|
+
// rome-ignore lint/nursery/noConsoleLog: <explanation>
|
|
452
|
+
console.log(`Getting theme value for ${key} from ${value} = ${theme[value].val}`)
|
|
453
|
+
}
|
|
453
454
|
valOrVar = theme[value]
|
|
454
455
|
hasSet = true
|
|
455
456
|
} else {
|
|
456
457
|
switch (key) {
|
|
457
|
-
case 'fontFamily':
|
|
458
|
+
case 'fontFamily': {
|
|
459
|
+
const fontsParsed = languageContext
|
|
460
|
+
? getFontsForLanguage(conf.fontsParsed, languageContext)
|
|
461
|
+
: conf.fontsParsed
|
|
458
462
|
valOrVar = fontsParsed[value]?.family || value
|
|
459
463
|
hasSet = true
|
|
460
464
|
break
|
|
465
|
+
}
|
|
461
466
|
case 'fontSize':
|
|
462
467
|
case 'lineHeight':
|
|
463
468
|
case 'letterSpacing':
|
|
464
|
-
case 'fontWeight':
|
|
469
|
+
case 'fontWeight': {
|
|
470
|
+
const fontsParsed = languageContext
|
|
471
|
+
? getFontsForLanguage(conf.fontsParsed, languageContext)
|
|
472
|
+
: conf.fontsParsed
|
|
465
473
|
valOrVar = fontsParsed[fontFamily]?.[fontShorthand[key] || key]?.[value] || value
|
|
466
474
|
hasSet = true
|
|
467
475
|
break
|
|
476
|
+
}
|
|
468
477
|
}
|
|
469
478
|
for (const cat in tokenCategories) {
|
|
470
479
|
if (key in tokenCategories[cat]) {
|
|
@@ -507,7 +516,7 @@ Set the debug prop to true to see more detailed debug information.`
|
|
|
507
516
|
if (debug) {
|
|
508
517
|
if (isDevTools) {
|
|
509
518
|
// rome-ignore lint/nursery/noConsoleLog: ok
|
|
510
|
-
console.log('Looked in:', { theme, tokensParsed
|
|
519
|
+
console.log('Looked in:', { theme, tokensParsed })
|
|
511
520
|
}
|
|
512
521
|
}
|
|
513
522
|
return null
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { isWeb } from '@tamagui/constants'
|
|
2
2
|
|
|
3
|
-
import { getConfig } from '../config
|
|
4
|
-
import { expandStyle } from './expandStyle
|
|
3
|
+
import { getConfig } from '../config'
|
|
4
|
+
import { expandStyle } from './expandStyle'
|
|
5
5
|
import { normalizeShadow } from './normalizeShadow'
|
|
6
|
-
import { normalizeValueWithProperty } from './normalizeValueWithProperty
|
|
7
|
-
import { pseudoDescriptors } from './pseudoDescriptors
|
|
6
|
+
import { normalizeValueWithProperty } from './normalizeValueWithProperty'
|
|
7
|
+
import { pseudoDescriptors } from './pseudoDescriptors'
|
|
8
8
|
|
|
9
9
|
let shorthands: Record<string, string> | null = null
|
|
10
10
|
|
|
@@ -5,9 +5,9 @@ import type {
|
|
|
5
5
|
StaticConfig,
|
|
6
6
|
StaticConfigParsed,
|
|
7
7
|
StylableComponent,
|
|
8
|
-
} from '../types
|
|
9
|
-
import { createPropMapper } from './createPropMapper
|
|
10
|
-
import { mergeProps } from './mergeProps
|
|
8
|
+
} from '../types'
|
|
9
|
+
import { createPropMapper } from './createPropMapper'
|
|
10
|
+
import { mergeProps } from './mergeProps'
|
|
11
11
|
|
|
12
12
|
export function extendStaticConfig(
|
|
13
13
|
config: Partial<StaticConfig>,
|
|
@@ -16,15 +16,15 @@ import {
|
|
|
16
16
|
} from '@tamagui/helpers'
|
|
17
17
|
import { useInsertionEffect } from 'react'
|
|
18
18
|
|
|
19
|
-
import { getConfig, getFont } from '../config
|
|
20
|
-
import { isDevTools } from '../constants/isDevTools
|
|
19
|
+
import { getConfig, getFont } from '../config'
|
|
20
|
+
import { isDevTools } from '../constants/isDevTools'
|
|
21
21
|
import {
|
|
22
22
|
getMediaImportanceIfMoreImportant,
|
|
23
23
|
mediaState as globalMediaState,
|
|
24
24
|
mediaKeysWithAndWithout$,
|
|
25
25
|
mediaQueryConfig,
|
|
26
26
|
mergeMediaByImportance,
|
|
27
|
-
} from '../hooks/useMedia
|
|
27
|
+
} from '../hooks/useMedia'
|
|
28
28
|
import type {
|
|
29
29
|
ClassNamesObject,
|
|
30
30
|
DebugProp,
|
|
@@ -41,14 +41,14 @@ import type {
|
|
|
41
41
|
TextStyleProps,
|
|
42
42
|
ThemeParsed,
|
|
43
43
|
ViewStyleWithPseudos,
|
|
44
|
-
} from '../types
|
|
44
|
+
} from '../types'
|
|
45
45
|
import type {
|
|
46
46
|
FontLanguageProps,
|
|
47
47
|
LanguageContextType,
|
|
48
|
-
} from '../views/FontLanguage.types
|
|
49
|
-
import { createMediaStyle } from './createMediaStyle
|
|
50
|
-
import { getPropMappedFontFamily } from './createPropMapper
|
|
51
|
-
import { fixStyles } from './expandStyles
|
|
48
|
+
} from '../views/FontLanguage.types'
|
|
49
|
+
import { createMediaStyle } from './createMediaStyle'
|
|
50
|
+
import { getPropMappedFontFamily } from './createPropMapper'
|
|
51
|
+
import { fixStyles } from './expandStyles'
|
|
52
52
|
import { generateAtomicStyles, getStylesAtomic, styleToCSS } from './getStylesAtomic'
|
|
53
53
|
import {
|
|
54
54
|
insertStyleRules,
|
|
@@ -56,12 +56,12 @@ import {
|
|
|
56
56
|
scanAllSheets,
|
|
57
57
|
shouldInsertStyleRules,
|
|
58
58
|
updateRules,
|
|
59
|
-
} from './insertStyleRule
|
|
59
|
+
} from './insertStyleRule'
|
|
60
60
|
import {
|
|
61
61
|
normalizeValueWithProperty,
|
|
62
62
|
reverseMapClassNameToValue,
|
|
63
|
-
} from './normalizeValueWithProperty
|
|
64
|
-
import { pseudoDescriptors } from './pseudoDescriptors
|
|
63
|
+
} from './normalizeValueWithProperty'
|
|
64
|
+
import { pseudoDescriptors } from './pseudoDescriptors'
|
|
65
65
|
|
|
66
66
|
type GetStyleState = {
|
|
67
67
|
style: TextStyleProps
|
|
@@ -633,6 +633,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
633
633
|
isVariant,
|
|
634
634
|
shouldPassProp,
|
|
635
635
|
isHOCShouldPassThrough,
|
|
636
|
+
theme,
|
|
636
637
|
})
|
|
637
638
|
if (!isServer && isDevTools) {
|
|
638
639
|
// rome-ignore lint/nursery/noConsoleLog: ok
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
import { StyleObject, simpleHash } from '@tamagui/helpers'
|
|
7
7
|
|
|
8
|
-
import { getConfig } from '../config
|
|
9
|
-
import type { TamaguiInternalConfig, ViewStyleWithPseudos } from '../types
|
|
10
|
-
import { defaultOffset } from './defaultOffset
|
|
11
|
-
import { normalizeValueWithProperty } from './normalizeValueWithProperty
|
|
12
|
-
import { PseudoDescriptor, pseudoDescriptors } from './pseudoDescriptors
|
|
8
|
+
import { getConfig } from '../config'
|
|
9
|
+
import type { TamaguiInternalConfig, ViewStyleWithPseudos } from '../types'
|
|
10
|
+
import { defaultOffset } from './defaultOffset'
|
|
11
|
+
import { normalizeValueWithProperty } from './normalizeValueWithProperty'
|
|
12
|
+
import { PseudoDescriptor, pseudoDescriptors } from './pseudoDescriptors'
|
|
13
13
|
|
|
14
14
|
// refactor this file away next...
|
|
15
15
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { simpleHash } from '@tamagui/helpers'
|
|
2
2
|
|
|
3
|
-
import { THEME_CLASSNAME_PREFIX } from '../constants/constants
|
|
4
|
-
import { Variable, variableToString } from '../createVariable
|
|
5
|
-
import type { CreateTamaguiProps, ThemeParsed } from '../types
|
|
6
|
-
import { tokensValueToVariable } from './registerCSSVariable
|
|
3
|
+
import { THEME_CLASSNAME_PREFIX } from '../constants/constants'
|
|
4
|
+
import { Variable, variableToString } from '../createVariable'
|
|
5
|
+
import type { CreateTamaguiProps, ThemeParsed } from '../types'
|
|
6
|
+
import { tokensValueToVariable } from './registerCSSVariable'
|
|
7
7
|
|
|
8
8
|
export function getThemeCSSRules({
|
|
9
9
|
config,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getConfig } from '../config
|
|
2
|
-
import { GenericFonts } from '../types
|
|
3
|
-
import { LanguageContextType } from '../views/FontLanguage.types
|
|
4
|
-
import { createProxy } from './createProxy
|
|
1
|
+
import { getConfig } from '../config'
|
|
2
|
+
import { GenericFonts } from '../types'
|
|
3
|
+
import { LanguageContextType } from '../views/FontLanguage.types'
|
|
4
|
+
import { createProxy } from './createProxy'
|
|
5
5
|
|
|
6
6
|
const extrasCache = new WeakMap()
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isClient } from '@tamagui/constants'
|
|
2
2
|
|
|
3
|
-
import type { RulesToInsert, StyleObject } from '../types
|
|
3
|
+
import type { RulesToInsert, StyleObject } from '../types'
|
|
4
4
|
|
|
5
5
|
const allSelectors: Record<string, string> = {}
|
|
6
6
|
const allRules: Record<string, string> = {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isValidElement } from 'react'
|
|
2
2
|
|
|
3
|
-
import { TamaguiReactElement } from '../types
|
|
4
|
-
import { isTamaguiComponent } from './isTamaguiComponent
|
|
3
|
+
import { TamaguiReactElement } from '../types'
|
|
4
|
+
import { isTamaguiComponent } from './isTamaguiComponent'
|
|
5
5
|
|
|
6
6
|
export const isTamaguiElement = (
|
|
7
7
|
child: any,
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unused for now but useful function and could replace various caches we use with some testing
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
function isObject(arg) {
|
|
6
|
+
const t = typeof arg
|
|
7
|
+
return (t === 'object' || t === 'function') && arg !== null
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
class FunctionArgumentCache {
|
|
11
|
+
map = new Map()
|
|
12
|
+
weakmap = new WeakMap()
|
|
13
|
+
|
|
14
|
+
get(args: any[]): any {
|
|
15
|
+
let cache = this
|
|
16
|
+
for (let value of args) {
|
|
17
|
+
const map = cache[isObject(value) ? 'weakmap' : 'map']
|
|
18
|
+
cache = map.get(value) || map.set(value, new FunctionArgumentCache()).get(value)
|
|
19
|
+
}
|
|
20
|
+
return cache
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function memoize<Fn extends Function>(fn: Fn): Fn {
|
|
25
|
+
const cache = new FunctionArgumentCache()
|
|
26
|
+
|
|
27
|
+
return function (this: any, ...args: any[]) {
|
|
28
|
+
// get (or create) a cache item
|
|
29
|
+
const item = cache.get(args)
|
|
30
|
+
|
|
31
|
+
if (item.hasOwnProperty('value')) {
|
|
32
|
+
console.warn('cached')
|
|
33
|
+
return item.value
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return (item.value = fn.apply(this, args))
|
|
37
|
+
} as any as Fn
|
|
38
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { normalizeCSSColor } from '@tamagui/normalize-css-color'
|
|
2
2
|
|
|
3
|
-
import { defaultOffset } from './defaultOffset
|
|
4
|
-
import { rgba } from './normalizeColor
|
|
5
|
-
import { normalizeValueWithProperty } from './normalizeValueWithProperty
|
|
3
|
+
import { defaultOffset } from './defaultOffset'
|
|
4
|
+
import { rgba } from './normalizeColor'
|
|
5
|
+
import { normalizeValueWithProperty } from './normalizeValueWithProperty'
|
|
6
6
|
|
|
7
7
|
export function normalizeShadow({
|
|
8
8
|
shadowColor,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defaultOffset } from './defaultOffset
|
|
2
|
-
import { normalizeValueWithProperty } from './normalizeValueWithProperty
|
|
1
|
+
import { defaultOffset } from './defaultOffset'
|
|
2
|
+
import { normalizeValueWithProperty } from './normalizeValueWithProperty'
|
|
3
3
|
|
|
4
4
|
export function normalizeShadow({
|
|
5
5
|
shadowColor,
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
import { isWeb } from '@tamagui/constants'
|
|
7
7
|
|
|
8
|
-
import { getAllSelectors } from './insertStyleRule
|
|
9
|
-
import { names, normalizeColor } from './normalizeColor
|
|
8
|
+
import { getAllSelectors } from './insertStyleRule'
|
|
9
|
+
import { names, normalizeColor } from './normalizeColor'
|
|
10
10
|
import { normalizeStylePropKeys } from './normalizeStylePropKeys'
|
|
11
11
|
|
|
12
12
|
const colorCache = new Map()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react'
|
|
2
2
|
|
|
3
|
-
import { DebugProp, StaticConfig, ThemeName } from '../types
|
|
4
|
-
import { Theme } from '../views/Theme
|
|
3
|
+
import { DebugProp, StaticConfig, ThemeName } from '../types'
|
|
4
|
+
import { Theme } from '../views/Theme'
|
|
5
5
|
|
|
6
6
|
export interface ThemeableProps {
|
|
7
7
|
theme?: ThemeName | null
|
|
@@ -17,6 +17,7 @@ export function themeable<Component extends (props: any) => any>(
|
|
|
17
17
|
) {
|
|
18
18
|
const withThemeComponent = forwardRef(function WithTheme(props: ThemeableProps, ref) {
|
|
19
19
|
const { themeInverse, theme, componentName, themeReset, ...rest } = props
|
|
20
|
+
|
|
20
21
|
const element = React.createElement(component, { ...rest, ref } as any)
|
|
21
22
|
|
|
22
23
|
return (
|
|
@@ -26,7 +27,7 @@ export function themeable<Component extends (props: any) => any>(
|
|
|
26
27
|
name={(theme as any) || null}
|
|
27
28
|
disable-child-theme
|
|
28
29
|
debug={props.debug}
|
|
29
|
-
reset={
|
|
30
|
+
reset={themeReset}
|
|
30
31
|
>
|
|
31
32
|
{element}
|
|
32
33
|
</Theme>
|
package/src/helpers/themes.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createVariable, isVariable } from '../createVariable
|
|
2
|
-
import { GetThemeUnwrapped } from '../hooks/getThemeUnwrapped
|
|
3
|
-
import { CreateTamaguiProps } from '../types
|
|
1
|
+
import { createVariable, isVariable } from '../createVariable'
|
|
2
|
+
import { GetThemeUnwrapped } from '../hooks/getThemeUnwrapped'
|
|
3
|
+
import { CreateTamaguiProps } from '../types'
|
|
4
4
|
|
|
5
5
|
// mutates, freeze after
|
|
6
6
|
// shared by createTamagui so extracted here
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useCallback } from 'react'
|
|
2
2
|
|
|
3
|
-
import { DebugProp, TamaguiComponentState } from '../types
|
|
3
|
+
import { DebugProp, TamaguiComponentState } from '../types'
|
|
4
4
|
|
|
5
5
|
export function useShallowSetState<State extends TamaguiComponentState>(
|
|
6
6
|
setter: React.Dispatch<React.SetStateAction<State>>,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useContext } from 'react'
|
|
2
2
|
|
|
3
|
-
import { AnimationDriverContext } from '../contexts/AnimationDriverContext
|
|
4
|
-
import { getAnimationDriver } from '../helpers/getAnimationDriver
|
|
3
|
+
import { AnimationDriverContext } from '../contexts/AnimationDriverContext'
|
|
4
|
+
import { getAnimationDriver } from '../helpers/getAnimationDriver'
|
|
5
5
|
import { isRSC } from '@tamagui/constants'
|
|
6
6
|
|
|
7
7
|
export const useAnimationDriver = () => {
|
package/src/hooks/useMedia.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect, useMemo, useSyncExternalStore } from 'react'
|
|
2
2
|
|
|
3
|
-
import { getConfig } from '../config
|
|
4
|
-
import { createProxy } from '../helpers/createProxy
|
|
3
|
+
import { getConfig } from '../config'
|
|
4
|
+
import { createProxy } from '../helpers/createProxy'
|
|
5
5
|
import { matchMedia } from '../helpers/matchMedia'
|
|
6
6
|
import type {
|
|
7
7
|
MediaQueries,
|
|
@@ -9,8 +9,8 @@ import type {
|
|
|
9
9
|
MediaQueryObject,
|
|
10
10
|
MediaQueryState,
|
|
11
11
|
TamaguiInternalConfig,
|
|
12
|
-
} from '../types
|
|
13
|
-
import { useSafeRef } from './useSafeRef
|
|
12
|
+
} from '../types'
|
|
13
|
+
import { useSafeRef } from './useSafeRef'
|
|
14
14
|
|
|
15
15
|
export let mediaState: MediaQueryState =
|
|
16
16
|
// development only safeguard
|
package/src/hooks/useProps.tsx
CHANGED
package/src/hooks/useStyle.tsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { isRSC, isWeb } from '@tamagui/constants'
|
|
2
2
|
import { useContext } from 'react'
|
|
3
3
|
|
|
4
|
-
import { FontLanguageContext } from '../contexts/FontLanguageContext
|
|
5
|
-
import { TextAncestorContext } from '../contexts/TextAncestorContext
|
|
6
|
-
import { useSplitStyles } from '../helpers/getSplitStyles
|
|
4
|
+
import { FontLanguageContext } from '../contexts/FontLanguageContext'
|
|
5
|
+
import { TextAncestorContext } from '../contexts/TextAncestorContext'
|
|
6
|
+
import { useSplitStyles } from '../helpers/getSplitStyles'
|
|
7
7
|
import {
|
|
8
8
|
DebugProp,
|
|
9
9
|
GetProps,
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
TamaguiComponent,
|
|
12
12
|
TextNonStyleProps,
|
|
13
13
|
} from '../types'
|
|
14
|
-
import { useMedia } from './useMedia
|
|
15
|
-
import { useTheme } from './useTheme
|
|
14
|
+
import { useMedia } from './useMedia'
|
|
15
|
+
import { useTheme } from './useTheme'
|
|
16
16
|
|
|
17
17
|
export function useStyle<
|
|
18
18
|
Component extends TamaguiComponent,
|
package/src/hooks/useTheme.tsx
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
import { isClient, isRSC, isServer, isWeb } from '@tamagui/constants'
|
|
3
3
|
import { useContext, useEffect, useLayoutEffect, useMemo, useState } from 'react'
|
|
4
4
|
|
|
5
|
-
import { getConfig } from '../config
|
|
6
|
-
import { isDevTools } from '../constants/isDevTools
|
|
7
|
-
import { createProxy } from '../helpers/createProxy
|
|
5
|
+
import { getConfig } from '../config'
|
|
6
|
+
import { isDevTools } from '../constants/isDevTools'
|
|
7
|
+
import { createProxy } from '../helpers/createProxy'
|
|
8
8
|
import {
|
|
9
9
|
ThemeManager,
|
|
10
10
|
ThemeManagerState,
|
|
11
11
|
getNonComponentParentManager,
|
|
12
|
-
} from '../helpers/ThemeManager
|
|
13
|
-
import { ThemeManagerContext } from '../helpers/ThemeManagerContext
|
|
14
|
-
import type { ThemeParsed, ThemeProps } from '../types
|
|
15
|
-
import { GetThemeUnwrapped } from './getThemeUnwrapped
|
|
16
|
-
import { useServerRef } from './useServerHooks
|
|
12
|
+
} from '../helpers/ThemeManager'
|
|
13
|
+
import { ThemeManagerContext } from '../helpers/ThemeManagerContext'
|
|
14
|
+
import type { ThemeParsed, ThemeProps } from '../types'
|
|
15
|
+
import { GetThemeUnwrapped } from './getThemeUnwrapped'
|
|
16
|
+
import { useServerRef } from './useServerHooks'
|
|
17
17
|
|
|
18
18
|
export type ChangedThemeResponse = {
|
|
19
19
|
isNewTheme: boolean
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { isRSC, useIsomorphicLayoutEffect } from '@tamagui/constants'
|
|
2
2
|
import { useContext, useState } from 'react'
|
|
3
3
|
|
|
4
|
-
import { getConfig } from '../config
|
|
5
|
-
import { ThemeManagerContext } from '../helpers/ThemeManagerContext
|
|
6
|
-
import { ThemeName } from '../types
|
|
4
|
+
import { getConfig } from '../config'
|
|
5
|
+
import { ThemeManagerContext } from '../helpers/ThemeManagerContext'
|
|
6
|
+
import { ThemeName } from '../types'
|
|
7
7
|
|
|
8
8
|
export function useThemeName(opts?: { parent?: true }): ThemeName {
|
|
9
9
|
if (isRSC) {
|