@tamagui/core 1.0.1-beta.192 → 1.0.1-beta.194
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 +4 -2
- package/dist/cjs/Tamagui.js.map +2 -2
- package/dist/cjs/config.js +1 -2
- package/dist/cjs/config.js.map +2 -2
- package/dist/cjs/constants/constants.js +13 -8
- package/dist/cjs/constants/constants.js.map +2 -2
- package/dist/cjs/contexts/TextAncestorContext.js +3 -16
- package/dist/cjs/contexts/TextAncestorContext.js.map +3 -3
- package/dist/cjs/createComponent.js +196 -284
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createTamagui.js +15 -16
- package/dist/cjs/createTamagui.js.map +3 -3
- package/dist/cjs/createVariable.js +1 -2
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/helpers/ThemeManager.js +7 -14
- package/dist/cjs/helpers/ThemeManager.js.map +2 -2
- package/dist/cjs/helpers/{createShallowUpdate.js → cache.js} +20 -21
- package/dist/cjs/helpers/cache.js.map +7 -0
- package/dist/cjs/helpers/createMediaStyle.js +14 -8
- package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +0 -1
- package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.js +214 -94
- package/dist/cjs/helpers/getSplitStyles.js.map +3 -3
- package/dist/cjs/helpers/getStylesAtomic.js +16 -36
- package/dist/cjs/helpers/getStylesAtomic.js.map +3 -3
- package/dist/cjs/helpers/getVariantExtras.js +2 -1
- package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
- package/dist/cjs/helpers/insertStyleRule.js +14 -6
- package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
- package/dist/cjs/helpers/matchMedia.js.map +2 -2
- package/dist/cjs/helpers/mergeTransform.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.js +32 -2
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/cjs/helpers/proxyThemeVariables.js +2 -7
- package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/cjs/helpers/useShallowSetState.js.map +2 -2
- package/dist/cjs/hooks/getThemeUnwrapped.js +1 -3
- package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/cjs/hooks/useElementLayout.js +92 -0
- package/dist/cjs/hooks/useElementLayout.js.map +7 -0
- package/dist/cjs/hooks/useIsTouchDevice.js +2 -10
- package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +79 -85
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/useMedia.test.js +2 -0
- package/dist/cjs/{helpers/validate.js.map → hooks/useMedia.test.js.map} +0 -0
- package/dist/cjs/hooks/usePressablePressResponder.js +370 -0
- package/dist/cjs/hooks/usePressablePressResponder.js.map +7 -0
- package/dist/cjs/hooks/useSafeRef.js +13 -15
- package/dist/cjs/hooks/useSafeRef.js.map +2 -2
- package/dist/cjs/hooks/useTheme.js +5 -5
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/index.js +1 -17
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/static.js +0 -20
- package/dist/cjs/static.js.map +2 -2
- package/dist/cjs/styled.js +4 -22
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/{hooks/useIsSSR.js → views/AbsoluteFill.js} +18 -23
- package/dist/cjs/views/AbsoluteFill.js.map +7 -0
- package/dist/cjs/views/AbsoluteFill.native.js +45 -0
- package/dist/cjs/views/AbsoluteFill.native.js.map +7 -0
- package/dist/cjs/views/FontLanguage.native.js.map +2 -2
- package/dist/cjs/views/Stack.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.js +3 -2
- package/dist/cjs/views/TamaguiProvider.js.map +2 -2
- package/dist/cjs/views/Text.js.map +1 -1
- package/dist/cjs/views/ThemeReset.js +10 -10
- package/dist/cjs/views/ThemeReset.js.map +2 -2
- package/dist/esm/Tamagui.js +4 -2
- package/dist/esm/Tamagui.js.map +2 -2
- package/dist/esm/config.js +1 -2
- package/dist/esm/config.js.map +2 -2
- package/dist/esm/constants/constants.js +11 -7
- package/dist/esm/constants/constants.js.map +2 -2
- package/dist/esm/contexts/TextAncestorContext.js +2 -13
- package/dist/esm/contexts/TextAncestorContext.js.map +2 -2
- package/dist/esm/createComponent.js +195 -286
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createTamagui.js +15 -16
- package/dist/esm/createTamagui.js.map +3 -3
- package/dist/esm/createVariable.js +1 -2
- package/dist/esm/createVariable.js.map +2 -2
- package/dist/esm/helpers/ThemeManager.js +7 -14
- package/dist/esm/helpers/ThemeManager.js.map +2 -2
- package/dist/esm/helpers/cache.js +18 -0
- package/dist/esm/helpers/cache.js.map +7 -0
- package/dist/esm/helpers/createMediaStyle.js +14 -8
- package/dist/esm/helpers/createMediaStyle.js.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.js +0 -1
- package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js +223 -95
- package/dist/esm/helpers/getSplitStyles.js.map +3 -3
- package/dist/esm/helpers/getStylesAtomic.js +13 -26
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/getVariantExtras.js +2 -1
- package/dist/esm/helpers/getVariantExtras.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +14 -6
- package/dist/esm/helpers/insertStyleRule.js.map +2 -2
- package/dist/esm/helpers/matchMedia.js.map +2 -2
- package/dist/esm/helpers/mergeTransform.js.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.js +30 -1
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +2 -7
- package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/esm/helpers/useShallowSetState.js.map +2 -2
- package/dist/esm/hooks/getThemeUnwrapped.js +1 -3
- package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/esm/hooks/useElementLayout.js +66 -0
- package/dist/esm/hooks/useElementLayout.js.map +7 -0
- package/dist/esm/hooks/useIsTouchDevice.js +3 -11
- package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +76 -84
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/useMedia.test.js +1 -0
- package/dist/esm/{helpers/validate.js.map → hooks/useMedia.test.js.map} +0 -0
- package/dist/esm/hooks/usePressablePressResponder.js +346 -0
- package/dist/esm/hooks/usePressablePressResponder.js.map +7 -0
- package/dist/esm/hooks/useSafeRef.js +13 -15
- package/dist/esm/hooks/useSafeRef.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +5 -5
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/index.js +1 -14
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/static.js +0 -14
- package/dist/esm/static.js.map +2 -2
- package/dist/esm/styled.js +4 -22
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/views/AbsoluteFill.js +17 -0
- package/dist/esm/views/AbsoluteFill.js.map +7 -0
- package/dist/esm/views/AbsoluteFill.native.js +21 -0
- package/dist/esm/views/AbsoluteFill.native.js.map +7 -0
- package/dist/esm/views/FontLanguage.native.js.map +2 -2
- package/dist/esm/views/Stack.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.js +5 -4
- package/dist/esm/views/TamaguiProvider.js.map +2 -2
- package/dist/esm/views/Text.js.map +1 -1
- package/dist/esm/views/ThemeReset.js +10 -10
- package/dist/esm/views/ThemeReset.js.map +2 -2
- package/package.json +14 -14
- package/src/Tamagui.ts +7 -3
- package/src/config.ts +2 -3
- package/src/constants/constants.ts +10 -6
- package/src/contexts/TextAncestorContext.tsx +1 -8
- package/src/createComponent.tsx +250 -412
- package/src/createTamagui.ts +16 -19
- package/src/createVariable.ts +1 -3
- package/src/helpers/ThemeManager.tsx +7 -15
- package/src/helpers/cache.ts +18 -0
- package/src/helpers/createMediaStyle.ts +16 -9
- package/src/helpers/createProxy.ts +16 -0
- package/src/helpers/extendStaticConfig.ts +0 -1
- package/src/helpers/getSplitStyles.tsx +259 -152
- package/src/helpers/getStylesAtomic.ts +14 -34
- package/src/helpers/getVariantExtras.tsx +2 -1
- package/src/helpers/insertStyleRule.tsx +16 -8
- package/src/helpers/matchMedia.ts +1 -0
- package/src/helpers/mergeTransform.ts +1 -1
- package/src/helpers/normalizeValueWithProperty.ts +30 -0
- package/src/helpers/proxyThemeVariables.tsx +3 -8
- package/src/helpers/useShallowSetState.tsx +0 -1
- package/src/hooks/getThemeUnwrapped.tsx +1 -2
- package/src/hooks/useElementLayout.tsx +90 -0
- package/src/hooks/useIsTouchDevice.tsx +3 -17
- package/src/hooks/useMedia.tsx +82 -88
- package/src/hooks/useSafeRef.ts +17 -18
- package/src/hooks/useTheme.tsx +6 -5
- package/src/index.ts +1 -11
- package/src/static.ts +0 -10
- package/src/styled.tsx +15 -33
- package/src/types.tsx +58 -55
- package/src/views/FontLanguage.native.tsx +1 -0
- package/src/views/Stack.tsx +1 -1
- package/src/views/TamaguiProvider.tsx +5 -5
- package/src/views/Text.tsx +1 -1
- package/src/views/ThemeReset.tsx +11 -11
- package/types/Tamagui.d.ts +6 -4
- package/types/constants/constants.d.ts +14 -3
- package/types/contexts/TextAncestorContext.d.ts +1 -3
- package/types/createComponent.d.ts +0 -15
- package/types/helpers/ThemeManager.d.ts +2 -3
- package/types/helpers/cache.d.ts +12 -0
- package/types/helpers/calc.d.ts +0 -16
- package/types/helpers/createMediaStyle.d.ts +1 -1
- package/types/helpers/createProxy.d.ts +2 -0
- package/types/helpers/getSplitStyles.d.ts +6 -10
- package/types/helpers/getStylesAtomic.d.ts +1 -5
- package/types/helpers/insertStyleRule.d.ts +2 -2
- package/types/helpers/mergeTransform.d.ts +1 -1
- package/types/helpers/normalizeValueWithProperty.d.ts +1 -0
- package/types/hooks/useElementLayout.d.ts +27 -0
- package/types/hooks/useMedia.d.ts +3 -1
- package/types/hooks/useMedia.test.d.ts +1 -0
- package/types/hooks/usePressablePressResponder.d.ts +84 -0
- package/types/index.d.ts +1 -11
- package/types/static.d.ts +0 -1
- package/types/types.d.ts +42 -44
- package/types/views/AbsoluteFill.d.ts +5 -0
- package/types/views/AbsoluteFill.native.d.ts +3 -0
- package/types/views/Stack.d.ts +1 -1
- package/types/views/Text.d.ts +1 -1
- package/dist/cjs/constants/platform.js +0 -74
- package/dist/cjs/constants/platform.js.map +0 -7
- package/dist/cjs/constants/platform.native.js +0 -62
- package/dist/cjs/constants/platform.native.js.map +0 -7
- package/dist/cjs/helpers/createShallowUpdate.js.map +0 -7
- package/dist/cjs/helpers/validate.js +0 -2
- package/dist/cjs/hooks/useDidFinishSSR.js +0 -60
- package/dist/cjs/hooks/useDidFinishSSR.js.map +0 -7
- package/dist/cjs/hooks/useIsSSR.js.map +0 -7
- package/dist/esm/constants/platform.js +0 -39
- package/dist/esm/constants/platform.js.map +0 -7
- package/dist/esm/constants/platform.native.js +0 -28
- package/dist/esm/constants/platform.native.js.map +0 -7
- package/dist/esm/helpers/createShallowUpdate.js +0 -20
- package/dist/esm/helpers/createShallowUpdate.js.map +0 -7
- package/dist/esm/helpers/validate.js +0 -1
- package/dist/esm/hooks/useDidFinishSSR.js +0 -35
- package/dist/esm/hooks/useDidFinishSSR.js.map +0 -7
- package/dist/esm/hooks/useIsSSR.js +0 -22
- package/dist/esm/hooks/useIsSSR.js.map +0 -7
- package/src/helpers/assignNativePropsToWeb.tsx +0 -178
- package/src/helpers/calc.ts +0 -68
- package/src/helpers/getFont.tsx +0 -43
- package/src/helpers/getStackSize.ts +0 -22
- package/src/helpers/startTransition.ts +0 -4
- package/src/hooks/useConstant.tsx +0 -19
- package/src/hooks/useIsMounted.ts +0 -16
- package/src/hooks/usePressable.tsx +0 -9
- package/src/hooks/useUnmountEffect.ts +0 -5
package/src/createTamagui.ts
CHANGED
|
@@ -170,15 +170,15 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
170
170
|
}
|
|
171
171
|
})()
|
|
172
172
|
|
|
173
|
-
// faster lookups
|
|
174
|
-
const tokensParsed: any =
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
173
|
+
// faster $lookups
|
|
174
|
+
const tokensParsed: any = Object.fromEntries(
|
|
175
|
+
Object.entries(configIn.tokens).map(([k, v]) => [
|
|
176
|
+
k,
|
|
177
|
+
Object.fromEntries(Object.entries(v).map(([k, v]) => [`$${k}`, v])),
|
|
178
|
+
])
|
|
179
|
+
)
|
|
179
180
|
|
|
180
181
|
const shorthands = configIn.shorthands || {}
|
|
181
|
-
|
|
182
182
|
const config: TamaguiInternalConfig = {
|
|
183
183
|
fontLanguages: [],
|
|
184
184
|
defaultTheme: 'light',
|
|
@@ -195,7 +195,11 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
195
195
|
themeConfig,
|
|
196
196
|
tokensParsed,
|
|
197
197
|
parsed: true,
|
|
198
|
-
getCSS
|
|
198
|
+
getCSS: () => `
|
|
199
|
+
${themeConfig.css}
|
|
200
|
+
${getAllRules().join('\n')}
|
|
201
|
+
.is_Text .is_Text { display: inline-flex; }
|
|
202
|
+
`,
|
|
199
203
|
}
|
|
200
204
|
|
|
201
205
|
configureMedia(config)
|
|
@@ -209,6 +213,10 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
209
213
|
createdConfigs.set(config, true)
|
|
210
214
|
|
|
211
215
|
if (process.env.NODE_ENV === 'development') {
|
|
216
|
+
if (process.env.DEBUG?.startsWith('tamagui')) {
|
|
217
|
+
// eslint-disable-next-line no-console
|
|
218
|
+
console.log('Tamagui config:', config)
|
|
219
|
+
}
|
|
212
220
|
if (!globalThis['Tamagui']) {
|
|
213
221
|
globalThis['Tamagui'] = Tamagui
|
|
214
222
|
}
|
|
@@ -216,14 +224,3 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
216
224
|
|
|
217
225
|
return config as any
|
|
218
226
|
}
|
|
219
|
-
|
|
220
|
-
const parseTokens = (tokens: any) => {
|
|
221
|
-
const res: any = {}
|
|
222
|
-
for (const key in tokens) {
|
|
223
|
-
res[key] = {}
|
|
224
|
-
for (const skey in tokens[key]) {
|
|
225
|
-
res[key][`$${skey}`] = tokens[key][skey]
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return res
|
|
229
|
-
}
|
package/src/createVariable.ts
CHANGED
|
@@ -75,9 +75,7 @@ export function getVariableVariable(v: Variable | any) {
|
|
|
75
75
|
export const createCSSVariable = (nameProp: string, includeVar = true) => {
|
|
76
76
|
if (process.env.NODE_ENV === 'development') {
|
|
77
77
|
if (!nameProp || typeof nameProp !== 'string') {
|
|
78
|
-
|
|
79
|
-
console.trace('createCSSVariable invalid name', nameProp)
|
|
80
|
-
return ``
|
|
78
|
+
throw new Error(`createCSSVariable expected string: ${nameProp}`)
|
|
81
79
|
}
|
|
82
80
|
}
|
|
83
81
|
const name = simpleHash(nameProp, 60)
|
|
@@ -101,7 +101,7 @@ export class ThemeManager {
|
|
|
101
101
|
this.name = name || ''
|
|
102
102
|
this.theme = theme
|
|
103
103
|
if (notify) {
|
|
104
|
-
this.
|
|
104
|
+
this.notify()
|
|
105
105
|
}
|
|
106
106
|
return true
|
|
107
107
|
}
|
|
@@ -120,7 +120,7 @@ export class ThemeManager {
|
|
|
120
120
|
return {
|
|
121
121
|
name: name,
|
|
122
122
|
theme: themes[name] as ThemeParsed,
|
|
123
|
-
className: this.
|
|
123
|
+
className: this.getCN(name),
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
@@ -135,7 +135,7 @@ export class ThemeManager {
|
|
|
135
135
|
]
|
|
136
136
|
for (const name of names) {
|
|
137
137
|
if (name in themes) {
|
|
138
|
-
const className = this.
|
|
138
|
+
const className = this.getCN(name)
|
|
139
139
|
return { name, theme: themes[name], className }
|
|
140
140
|
}
|
|
141
141
|
}
|
|
@@ -181,18 +181,18 @@ export class ThemeManager {
|
|
|
181
181
|
if (process.env.NODE_ENV === 'development') {
|
|
182
182
|
if (debug) {
|
|
183
183
|
// eslint-disable-next-line no-console
|
|
184
|
-
console.log('getNextTheme', this.
|
|
184
|
+
console.log('getNextTheme', this.getCN(nextName), { props, nextName, parentName })
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
return {
|
|
189
189
|
name: nextName,
|
|
190
190
|
theme: getThemeUnwrapped(theme),
|
|
191
|
-
className: this.
|
|
191
|
+
className: this.getCN(nextName),
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
|
|
195
|
+
getCN(name: string) {
|
|
196
196
|
return `${THEME_CLASSNAME_PREFIX}${name} t_Theme`.replace('light_', '').replace('dark_', '')
|
|
197
197
|
}
|
|
198
198
|
|
|
@@ -201,7 +201,7 @@ export class ThemeManager {
|
|
|
201
201
|
this.keys.set(uuid, keys)
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
|
|
204
|
+
notify() {
|
|
205
205
|
if (!this.name) {
|
|
206
206
|
this.keys.clear()
|
|
207
207
|
}
|
|
@@ -219,14 +219,6 @@ export class ThemeManager {
|
|
|
219
219
|
this.themeListeners.delete(cb)
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
|
|
223
|
-
onUpdate(uuid: any, cb: Function) {
|
|
224
|
-
this.listeners.set(uuid, cb)
|
|
225
|
-
return () => {
|
|
226
|
-
this.listeners.delete(uuid)
|
|
227
|
-
this.keys.delete(uuid)
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
222
|
}
|
|
231
223
|
|
|
232
224
|
export const ThemeManagerContext = createContext<ThemeManager | null>(null)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Value = Object | Array<any> | string | number
|
|
2
|
+
|
|
3
|
+
export type Style = { [key: string]: Value }
|
|
4
|
+
|
|
5
|
+
class Cache {
|
|
6
|
+
v: Record<string, any> = {}
|
|
7
|
+
|
|
8
|
+
get(key: string, valStr: string) {
|
|
9
|
+
return this.v[key]?.[valStr]
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
set(key: string, valStr: string, object: any) {
|
|
13
|
+
this.v[key] ??= {}
|
|
14
|
+
this.v[key][valStr] = object
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const cache = new Cache()
|
|
@@ -8,19 +8,27 @@ import { PartialStyleObject } from './insertStyleRule'
|
|
|
8
8
|
// not synced to static/constants for now
|
|
9
9
|
export const MEDIA_SEP = '_'
|
|
10
10
|
|
|
11
|
+
let prefixes: Record<string, string> | null = null
|
|
12
|
+
let selectors: Record<string, string> | null = null
|
|
13
|
+
|
|
11
14
|
export const createMediaStyle = (
|
|
12
15
|
{ property, identifier, rules }: StyleObject,
|
|
13
16
|
mediaKey: string,
|
|
14
17
|
mediaQueries: MediaQueries,
|
|
15
|
-
negate?: boolean
|
|
16
|
-
importance?: number
|
|
18
|
+
negate?: boolean
|
|
17
19
|
): PartialStyleObject => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
if (!prefixes || !selectors) {
|
|
21
|
+
// TODO move this into useMedia calc once there and unify w getMediaImportance
|
|
22
|
+
const mediaKeys = Object.keys(mediaQueries)
|
|
23
|
+
prefixes = Object.fromEntries(
|
|
24
|
+
mediaKeys.map((key, index) => [key, new Array(index + 1).fill(':root').join('')])
|
|
25
|
+
)
|
|
26
|
+
selectors = Object.fromEntries(
|
|
27
|
+
mediaKeys.map((key) => [key, mediaObjectToString(mediaQueries[key])])
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
const precendencePrefix = prefixes[mediaKey]
|
|
31
|
+
const mediaSelector = selectors[mediaKey]
|
|
24
32
|
const negKey = negate ? '0' : ''
|
|
25
33
|
const ogPrefix = identifier.slice(0, identifier.indexOf('-') + 1)
|
|
26
34
|
const nextIdentifier = `${identifier.replace(
|
|
@@ -28,7 +36,6 @@ export const createMediaStyle = (
|
|
|
28
36
|
`${ogPrefix}${MEDIA_SEP}${mediaKey}${negKey}${MEDIA_SEP}`
|
|
29
37
|
)}`
|
|
30
38
|
const screenStr = negate ? 'not all and' : ''
|
|
31
|
-
const mediaSelector = mediaObjectToString(mediaQueries[mediaKey])
|
|
32
39
|
const mediaQuery = `${screenStr} ${mediaSelector}`
|
|
33
40
|
const styleInner = rules.map((rule) => rule.replace(identifier, nextIdentifier)).join(';')
|
|
34
41
|
// combines media queries if they already exist
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function createProxy<A extends object>(target: A, handler: ProxyHandler<A>) {
|
|
2
|
+
if (process.env.NODE_ENV === 'development') {
|
|
3
|
+
if (typeof target !== 'object' || !target) {
|
|
4
|
+
// eslint-disable-next-line no-console
|
|
5
|
+
console.warn(
|
|
6
|
+
`Invalid object given for proxy:`,
|
|
7
|
+
target,
|
|
8
|
+
`
|
|
9
|
+
|
|
10
|
+
This can be due to a missing theme or configuration given to Tamagui.`,
|
|
11
|
+
new Error().stack
|
|
12
|
+
)
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return new Proxy(target || {}, handler)
|
|
16
|
+
}
|
|
@@ -41,7 +41,6 @@ export function extendStaticConfig(config: Partial<StaticConfig>, parent?: Styla
|
|
|
41
41
|
parentNames,
|
|
42
42
|
isZStack: config.isZStack || parentStaticConf.isZStack,
|
|
43
43
|
isText: config.isText || parentStaticConf.isText || false,
|
|
44
|
-
isInput: config.isInput || parentStaticConf.isInput || false,
|
|
45
44
|
neverFlatten: config.neverFlatten || parentStaticConf.neverFlatten,
|
|
46
45
|
ensureOverriddenProp: config.ensureOverriddenProp ?? parentStaticConf.ensureOverriddenProp,
|
|
47
46
|
validStyles: config.validStyles
|