@tamagui/web 1.21.4 → 1.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/createComponent.js +12 -6
- package/dist/cjs/createComponent.js.map +1 -1
- package/dist/cjs/helpers/createPropMapper.js +6 -1
- package/dist/cjs/helpers/createPropMapper.js.map +1 -1
- package/dist/cjs/helpers/extendStaticConfig.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +4 -4
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +35 -43
- package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.js +9 -6
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +1 -1
- package/dist/esm/createComponent.js +12 -6
- package/dist/esm/createComponent.js.map +1 -1
- package/dist/esm/createComponent.mjs +12 -6
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/helpers/createPropMapper.js +6 -1
- package/dist/esm/helpers/createPropMapper.js.map +1 -1
- package/dist/esm/helpers/createPropMapper.mjs +6 -1
- package/dist/esm/helpers/createPropMapper.mjs.map +1 -1
- package/dist/esm/helpers/extendStaticConfig.js.map +1 -1
- package/dist/esm/helpers/extendStaticConfig.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +5 -5
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.mjs +5 -5
- package/dist/esm/helpers/getSplitStyles.mjs.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js +34 -42
- package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.mjs +34 -42
- package/dist/esm/helpers/getStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.js +9 -6
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +9 -6
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
- package/package.json +9 -9
- package/src/createComponent.tsx +16 -11
- package/src/helpers/createPropMapper.ts +6 -1
- package/src/helpers/extendStaticConfig.ts +2 -0
- package/src/helpers/getSplitStyles.tsx +7 -4
- package/src/helpers/getStylesAtomic.ts +38 -51
- package/src/helpers/normalizeValueWithProperty.ts +10 -6
- package/types/createComponent.d.ts.map +1 -1
- package/types/createVariable.d.ts +1 -1
- package/types/createVariable.d.ts.map +1 -1
- package/types/helpers/extendStaticConfig.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getStylesAtomic.d.ts +1 -1
- package/types/helpers/getStylesAtomic.d.ts.map +1 -1
- package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.22.1",
|
|
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.
|
|
31
|
-
"@tamagui/constants": "1.
|
|
32
|
-
"@tamagui/helpers": "1.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.
|
|
34
|
-
"@tamagui/use-did-finish-ssr": "1.
|
|
35
|
-
"@tamagui/use-event": "1.
|
|
36
|
-
"@tamagui/use-force-update": "1.
|
|
30
|
+
"@tamagui/compose-refs": "1.22.1",
|
|
31
|
+
"@tamagui/constants": "1.22.1",
|
|
32
|
+
"@tamagui/helpers": "1.22.1",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.22.1",
|
|
34
|
+
"@tamagui/use-did-finish-ssr": "1.22.1",
|
|
35
|
+
"@tamagui/use-event": "1.22.1",
|
|
36
|
+
"@tamagui/use-force-update": "1.22.1"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.
|
|
42
|
+
"@tamagui/build": "1.22.1",
|
|
43
43
|
"@testing-library/react": "^13.4.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
package/src/createComponent.tsx
CHANGED
|
@@ -146,6 +146,8 @@ export function createComponent<
|
|
|
146
146
|
}
|
|
147
147
|
})()
|
|
148
148
|
|
|
149
|
+
const { isHOC } = staticConfig
|
|
150
|
+
|
|
149
151
|
const defaultComponentClassName = `is_${staticConfig.componentName}`
|
|
150
152
|
let tamaguiDefaultProps: any
|
|
151
153
|
let defaultTag: string | undefined
|
|
@@ -206,13 +208,11 @@ export function createComponent<
|
|
|
206
208
|
const useAnimations = animationsConfig?.useAnimations as UseAnimationHook | undefined
|
|
207
209
|
|
|
208
210
|
// after we get states mount we need to turn off isAnimated for server side
|
|
211
|
+
const hasAnimationProp =
|
|
212
|
+
props.animation || (props.style && hasAnimatedStyleValue(props.style))
|
|
209
213
|
const willBeAnimated = (() => {
|
|
210
214
|
if (isServer) return false
|
|
211
|
-
const next = !!(
|
|
212
|
-
!staticConfig.isHOC &&
|
|
213
|
-
useAnimations &&
|
|
214
|
-
(props.animation || (props.style && hasAnimatedStyleValue(props.style)))
|
|
215
|
-
)
|
|
215
|
+
const next = !!(hasAnimationProp && !isHOC && useAnimations)
|
|
216
216
|
if (next && !stateRef.current.hasAnimated) {
|
|
217
217
|
stateRef.current.hasAnimated = true
|
|
218
218
|
}
|
|
@@ -307,8 +307,7 @@ export function createComponent<
|
|
|
307
307
|
const noClassNames = shouldAvoidClasses || shouldForcePseudo
|
|
308
308
|
|
|
309
309
|
// internal use only
|
|
310
|
-
const disableTheme =
|
|
311
|
-
(props['data-disable-theme'] && !willBeAnimated) || staticConfig.isHOC
|
|
310
|
+
const disableTheme = (props['data-disable-theme'] && !willBeAnimated) || isHOC
|
|
312
311
|
|
|
313
312
|
const themeStateProps = {
|
|
314
313
|
name: props.theme,
|
|
@@ -366,6 +365,12 @@ export function createComponent<
|
|
|
366
365
|
}
|
|
367
366
|
}
|
|
368
367
|
|
|
368
|
+
const resolveVariablesAs =
|
|
369
|
+
// if HOC + mounted + has animation prop, resolve as value so it passes non-variable to child
|
|
370
|
+
isAnimated || (isHOC && state.unmounted == false && hasAnimationProp)
|
|
371
|
+
? 'value'
|
|
372
|
+
: 'auto'
|
|
373
|
+
|
|
369
374
|
const splitStyles = useSplitStyles(
|
|
370
375
|
props,
|
|
371
376
|
staticConfig,
|
|
@@ -375,7 +380,7 @@ export function createComponent<
|
|
|
375
380
|
mediaState,
|
|
376
381
|
noClassNames,
|
|
377
382
|
hasTextAncestor,
|
|
378
|
-
resolveVariablesAs
|
|
383
|
+
resolveVariablesAs,
|
|
379
384
|
isExiting,
|
|
380
385
|
},
|
|
381
386
|
null,
|
|
@@ -443,7 +448,7 @@ export function createComponent<
|
|
|
443
448
|
// once you set animation prop don't remove it, you can set to undefined/false
|
|
444
449
|
// reason is animations are heavy - no way around it, and must be run inline here (🙅 loading as a sub-component)
|
|
445
450
|
let animationStyles: any
|
|
446
|
-
if (!isRSC && willBeAnimated && useAnimations && !
|
|
451
|
+
if (!isRSC && willBeAnimated && useAnimations && !isHOC) {
|
|
447
452
|
const animations = useAnimations({
|
|
448
453
|
props: propsWithAnimation,
|
|
449
454
|
style: splitStylesStyle,
|
|
@@ -495,7 +500,7 @@ export function createComponent<
|
|
|
495
500
|
// so the type is pretty loose
|
|
496
501
|
let viewProps = nonTamaguiProps
|
|
497
502
|
|
|
498
|
-
if (
|
|
503
|
+
if (isHOC && _themeProp) {
|
|
499
504
|
viewProps.theme = _themeProp
|
|
500
505
|
}
|
|
501
506
|
|
|
@@ -514,7 +519,7 @@ export function createComponent<
|
|
|
514
519
|
viewProps.ref = useComposedRefs(hostRef as any, forwardedRef)
|
|
515
520
|
|
|
516
521
|
if (process.env.NODE_ENV === 'development') {
|
|
517
|
-
if (!isText && isWeb && !
|
|
522
|
+
if (!isText && isWeb && !isHOC) {
|
|
518
523
|
Children.toArray(props.children).forEach((item) => {
|
|
519
524
|
// allow newlines because why not its annoying with mdx
|
|
520
525
|
if (typeof item === 'string' && item !== '\n') {
|
|
@@ -486,7 +486,12 @@ const getToken = (
|
|
|
486
486
|
|
|
487
487
|
if (process.env.NODE_ENV === 'development' && isDevTools && debug === 'verbose') {
|
|
488
488
|
// rome-ignore lint/nursery/noConsoleLog: ok
|
|
489
|
-
console.log(
|
|
489
|
+
console.log(
|
|
490
|
+
' ﹒ propMapper getToken',
|
|
491
|
+
key,
|
|
492
|
+
resolveVariableValue(key, valOrVar, resolveAs),
|
|
493
|
+
{ valOrVar, theme, hasSet, resolveAs }
|
|
494
|
+
)
|
|
490
495
|
}
|
|
491
496
|
|
|
492
497
|
if (hasSet) {
|
|
@@ -49,7 +49,7 @@ import type {
|
|
|
49
49
|
import { createMediaStyle } from './createMediaStyle.js'
|
|
50
50
|
import { getPropMappedFontFamily } from './createPropMapper.js'
|
|
51
51
|
import { fixStyles } from './expandStyles.js'
|
|
52
|
-
import {
|
|
52
|
+
import { generateAtomicStyles, getStylesAtomic, styleToCSS } from './getStylesAtomic'
|
|
53
53
|
import {
|
|
54
54
|
insertStyleRules,
|
|
55
55
|
insertedTransforms,
|
|
@@ -670,7 +670,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
670
670
|
}
|
|
671
671
|
|
|
672
672
|
// have to run this logic again here
|
|
673
|
-
const isHOCShouldPassThrough =
|
|
673
|
+
const isHOCShouldPassThrough =
|
|
674
|
+
staticConfig.isHOC &&
|
|
675
|
+
(isMediaOrPseudo || staticConfig.parentStaticConfig?.variants?.[keyInit])
|
|
676
|
+
|
|
674
677
|
if (isHOCShouldPassThrough) {
|
|
675
678
|
passDownProp(key, val, true)
|
|
676
679
|
// if its also a variant here, pass down but also keep it
|
|
@@ -708,7 +711,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
708
711
|
}
|
|
709
712
|
|
|
710
713
|
if (shouldDoClasses && !isEnter && !isExit) {
|
|
711
|
-
const pseudoStyles =
|
|
714
|
+
const pseudoStyles = generateAtomicStyles(pseudoStyleObject, descriptor)
|
|
712
715
|
for (const psuedoStyle of pseudoStyles) {
|
|
713
716
|
const fullKey = `${psuedoStyle.property}${PROP_SPLIT}${descriptor.name}`
|
|
714
717
|
|
|
@@ -995,7 +998,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
995
998
|
for (const atomicStyle of atomic) {
|
|
996
999
|
const key = atomicStyle.property
|
|
997
1000
|
if (props.animateOnly && props.animateOnly.includes(key)) {
|
|
998
|
-
retainedStyles[key] =
|
|
1001
|
+
retainedStyles[key] = style[key]
|
|
999
1002
|
} else {
|
|
1000
1003
|
addStyleToInsertRules(rulesToInsert, atomicStyle)
|
|
1001
1004
|
mergeClassName(transforms, classNames, key, atomicStyle.identifier)
|
|
@@ -23,7 +23,7 @@ const pseudosOrdered = [
|
|
|
23
23
|
export function getStylesAtomic(stylesIn: ViewStyleWithPseudos) {
|
|
24
24
|
// performance optimization
|
|
25
25
|
if (!(stylesIn.hoverStyle || stylesIn.pressStyle || stylesIn.focusStyle)) {
|
|
26
|
-
return
|
|
26
|
+
return generateAtomicStyles(stylesIn)
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
// only for pseudos
|
|
@@ -33,37 +33,26 @@ export function getStylesAtomic(stylesIn: ViewStyleWithPseudos) {
|
|
|
33
33
|
for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {
|
|
34
34
|
if (!style) continue
|
|
35
35
|
const pseudo = pseudosOrdered[index]
|
|
36
|
-
res = [...res, ...
|
|
36
|
+
res = [...res, ...generateAtomicStyles(style, pseudo)]
|
|
37
37
|
}
|
|
38
38
|
return res
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
export function getAtomicStyle(
|
|
42
|
-
style: ViewStyleWithPseudos,
|
|
43
|
-
pseudo?: PseudoDescriptor
|
|
44
|
-
): StyleObject[] {
|
|
45
|
-
if (!style) return []
|
|
46
|
-
if (process.env.NODE_ENV === 'development') {
|
|
47
|
-
if (!style || typeof style !== 'object') {
|
|
48
|
-
throw new Error(`Wrong style type: "${typeof style}": ${style}`)
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return generateAtomicStyles(style, pseudo)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
41
|
let conf: TamaguiInternalConfig
|
|
55
42
|
|
|
56
|
-
const generateAtomicStyles = (
|
|
43
|
+
export const generateAtomicStyles = (
|
|
57
44
|
styleIn: ViewStyleWithPseudos,
|
|
58
45
|
pseudo?: PseudoDescriptor
|
|
59
46
|
): StyleObject[] => {
|
|
47
|
+
if (!styleIn) return []
|
|
48
|
+
|
|
60
49
|
conf = conf || getConfig()
|
|
61
50
|
|
|
62
51
|
// were converting to css styles
|
|
63
52
|
const style = styleIn as Record<string, string | null | undefined>
|
|
64
53
|
|
|
65
54
|
// transform
|
|
66
|
-
if (
|
|
55
|
+
if ('transform' in style && Array.isArray(style.transform)) {
|
|
67
56
|
style.transform = style.transform
|
|
68
57
|
.map(
|
|
69
58
|
// { scale: 2 } => 'scale(2)'
|
|
@@ -88,13 +77,7 @@ const generateAtomicStyles = (
|
|
|
88
77
|
const value = normalizeValueWithProperty(style[key], key)
|
|
89
78
|
if (value == null || value == undefined) continue
|
|
90
79
|
|
|
91
|
-
|
|
92
|
-
if (presetHashes[value]) {
|
|
93
|
-
hash = value as string
|
|
94
|
-
} else {
|
|
95
|
-
hash = simpleHash(`${value}`)
|
|
96
|
-
}
|
|
97
|
-
|
|
80
|
+
const hash = simpleHash(`${value}`)
|
|
98
81
|
const pseudoPrefix = pseudo ? `0${pseudo.name}-` : ''
|
|
99
82
|
const shortProp = conf.inverseShorthands[key] || key
|
|
100
83
|
const identifier = `_${shortProp}-${pseudoPrefix}${hash}`
|
|
@@ -102,21 +85,13 @@ const generateAtomicStyles = (
|
|
|
102
85
|
const styleObject: StyleObject = {
|
|
103
86
|
property: key,
|
|
104
87
|
pseudo: pseudo?.name as any,
|
|
105
|
-
value,
|
|
106
88
|
identifier,
|
|
107
89
|
rules,
|
|
108
90
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (process.env.NODE_ENV === 'development' && process.env.TAMAGUI_DEBUG) {
|
|
113
|
-
// when Animated.Value gets passed into Tamagui problems are caused this helps debug
|
|
114
|
-
if (
|
|
115
|
-
out.find((x) => x.property === 'transform' && x.value.includes(`[object Object]`))
|
|
116
|
-
) {
|
|
117
|
-
// rome-ignore lint/suspicious/noDebugger: only dev
|
|
118
|
-
debugger
|
|
91
|
+
if (process.env.NODE_ENV === 'test') {
|
|
92
|
+
styleObject.value = value
|
|
119
93
|
}
|
|
94
|
+
out.push(styleObject)
|
|
120
95
|
}
|
|
121
96
|
|
|
122
97
|
return out
|
|
@@ -128,8 +103,8 @@ const presetHashes = {
|
|
|
128
103
|
|
|
129
104
|
export function styleToCSS(style: Record<string, any>) {
|
|
130
105
|
// box-shadow
|
|
131
|
-
|
|
132
|
-
|
|
106
|
+
if ('shadowRadius' in style) {
|
|
107
|
+
const { shadowOffset, shadowRadius, shadowColor } = style
|
|
133
108
|
const offset = shadowOffset || defaultOffset
|
|
134
109
|
const shadow = `${normalizeValueWithProperty(
|
|
135
110
|
offset.width
|
|
@@ -143,8 +118,12 @@ export function styleToCSS(style: Record<string, any>) {
|
|
|
143
118
|
}
|
|
144
119
|
|
|
145
120
|
// text-shadow
|
|
146
|
-
|
|
147
|
-
|
|
121
|
+
if (
|
|
122
|
+
'textShadowColor' in style ||
|
|
123
|
+
'textShadowOffset' in style ||
|
|
124
|
+
'textShadowRadius' in style
|
|
125
|
+
) {
|
|
126
|
+
const { textShadowColor, textShadowOffset, textShadowRadius } = style
|
|
148
127
|
const { height, width } = textShadowOffset || defaultOffset
|
|
149
128
|
const radius = textShadowRadius || 0
|
|
150
129
|
const color = normalizeValueWithProperty(textShadowColor, 'textShadowColor')
|
|
@@ -160,11 +139,10 @@ export function styleToCSS(style: Record<string, any>) {
|
|
|
160
139
|
}
|
|
161
140
|
}
|
|
162
141
|
|
|
163
|
-
function createDeclarationBlock(style:
|
|
142
|
+
function createDeclarationBlock(style: [string, any][], important = false) {
|
|
164
143
|
let next = ''
|
|
165
|
-
for (const key
|
|
144
|
+
for (const [key, value] of style) {
|
|
166
145
|
const prop = hyphenateStyleName(key)
|
|
167
|
-
const value = style[key]
|
|
168
146
|
next += `${prop}:${value}${important ? ' !important' : ''};`
|
|
169
147
|
}
|
|
170
148
|
return `{${next}}`
|
|
@@ -173,9 +151,9 @@ function createDeclarationBlock(style: Record<string, any>, important = false) {
|
|
|
173
151
|
const hcache = {}
|
|
174
152
|
const toHyphenLower = (match: string) => `-${match.toLowerCase()}`
|
|
175
153
|
const hyphenateStyleName = (key: string) => {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
hcache[key] = val
|
|
154
|
+
if (key in hcache) return hcache[key]
|
|
155
|
+
const val = key.replace(/[A-Z]/g, toHyphenLower)
|
|
156
|
+
hcache[key] = val
|
|
179
157
|
return val
|
|
180
158
|
}
|
|
181
159
|
|
|
@@ -206,7 +184,13 @@ function createAtomicRules(
|
|
|
206
184
|
switch (property) {
|
|
207
185
|
// Equivalent to using '::placeholder'
|
|
208
186
|
case 'placeholderTextColor': {
|
|
209
|
-
const block = createDeclarationBlock(
|
|
187
|
+
const block = createDeclarationBlock(
|
|
188
|
+
[
|
|
189
|
+
['color', value],
|
|
190
|
+
['opacity', 1],
|
|
191
|
+
],
|
|
192
|
+
important
|
|
193
|
+
)
|
|
210
194
|
rules.push(`${selector}::placeholder${block}`)
|
|
211
195
|
break
|
|
212
196
|
}
|
|
@@ -217,7 +201,10 @@ function createAtomicRules(
|
|
|
217
201
|
const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`
|
|
218
202
|
const webkitProperty = `Webkit${propertyCapitalized}`
|
|
219
203
|
const block = createDeclarationBlock(
|
|
220
|
-
|
|
204
|
+
[
|
|
205
|
+
[property, value],
|
|
206
|
+
[webkitProperty, value],
|
|
207
|
+
],
|
|
221
208
|
important
|
|
222
209
|
)
|
|
223
210
|
rules.push(`${selector}${block}`)
|
|
@@ -238,13 +225,13 @@ function createAtomicRules(
|
|
|
238
225
|
rules.push(`${selector}>*${boxNone}`)
|
|
239
226
|
}
|
|
240
227
|
}
|
|
241
|
-
const block = createDeclarationBlock(
|
|
228
|
+
const block = createDeclarationBlock([['pointerEvents', finalValue]], true)
|
|
242
229
|
rules.push(`${selector}${block}`)
|
|
243
230
|
break
|
|
244
231
|
}
|
|
245
232
|
|
|
246
233
|
default: {
|
|
247
|
-
const block = createDeclarationBlock(
|
|
234
|
+
const block = createDeclarationBlock([[property, value]], important)
|
|
248
235
|
rules.push(`${selector}${block}`)
|
|
249
236
|
break
|
|
250
237
|
}
|
|
@@ -262,5 +249,5 @@ function createAtomicRules(
|
|
|
262
249
|
return rules
|
|
263
250
|
}
|
|
264
251
|
|
|
265
|
-
const boxNone = createDeclarationBlock(
|
|
266
|
-
const boxOnly = createDeclarationBlock(
|
|
252
|
+
const boxNone = createDeclarationBlock([['pointerEvents', 'auto']], true)
|
|
253
|
+
const boxOnly = createDeclarationBlock([['pointerEvents', 'none']], true)
|
|
@@ -9,21 +9,25 @@ import { getAllSelectors } from './insertStyleRule.js'
|
|
|
9
9
|
import { names, normalizeColor } from './normalizeColor.js'
|
|
10
10
|
import { normalizeStylePropKeys } from './normalizeStylePropKeys'
|
|
11
11
|
|
|
12
|
-
const colorCache =
|
|
12
|
+
const colorCache = new Map()
|
|
13
13
|
|
|
14
14
|
export function normalizeValueWithProperty(value: any, property?: string): any {
|
|
15
|
-
if (value in colorCache) {
|
|
16
|
-
return colorCache[value]
|
|
17
|
-
}
|
|
18
15
|
if (property && property in unitlessNumbers) {
|
|
19
16
|
return value
|
|
20
17
|
}
|
|
21
18
|
let res = value
|
|
22
19
|
if (property && (property in normalizeStylePropKeys || value in names)) {
|
|
20
|
+
if (colorCache.has(value)) {
|
|
21
|
+
return colorCache.get(value)
|
|
22
|
+
}
|
|
23
23
|
res = normalizeColor(value)
|
|
24
|
-
|
|
24
|
+
// avoid memory pressure
|
|
25
|
+
if (colorCache.size > 1000) {
|
|
26
|
+
colorCache.clear()
|
|
27
|
+
}
|
|
28
|
+
colorCache.set(value, res)
|
|
25
29
|
} else if (
|
|
26
|
-
|
|
30
|
+
isWeb &&
|
|
27
31
|
typeof value === 'number' &&
|
|
28
32
|
(property === undefined ||
|
|
29
33
|
!(property in unitlessNumbers || property in stringNumbers))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AASA,OAAO,KAWN,MAAM,OAAO,CAAA;AAkBd,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EAErB,cAAc,EAIf,MAAM,SAAS,CAAA;AAoBhB,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAA;AAmBD,eAAO,MAAM,QAAQ,eAAsB,CAAA;AAgC3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,GAAG,EAAE,EACtC,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EAEjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,EACpD,eAAe,CAAC,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AASA,OAAO,KAWN,MAAM,OAAO,CAAA;AAkBd,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EAErB,cAAc,EAIf,MAAM,SAAS,CAAA;AAoBhB,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAA;AAmBD,eAAO,MAAM,QAAQ,eAAsB,CAAA;AAgC3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,GAAG,EAAE,EACtC,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EAEjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,EACpD,eAAe,CAAC,EAAE,iBAAiB,wDA81BpC;AAGD,eAAO,MAAM,QAAQ;YAAW;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE;;CAAmB,CAAA;AAMrE,eAAO,MAAM,MAAM,sDA8CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAkGxD"}
|
|
@@ -21,6 +21,6 @@ export declare const didGetVariableValue: () => boolean;
|
|
|
21
21
|
export declare function getVariableValue(v: Variable | any): any;
|
|
22
22
|
export declare function getVariableName(v: Variable | any): any;
|
|
23
23
|
export declare function getVariableVariable(v: Variable | any): any;
|
|
24
|
-
export declare const createCSSVariable: (nameProp: string, includeVar?: boolean) =>
|
|
24
|
+
export declare const createCSSVariable: (nameProp: string, includeVar?: boolean) => any;
|
|
25
25
|
export {};
|
|
26
26
|
//# sourceMappingURL=createVariable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createVariable.d.ts","sourceRoot":"","sources":["../src/createVariable.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,QAAA,MAAM,MAAM,UAAU,CAAA;AAEtB,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC/B,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,CAAC,CAAA;IACN,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE/E,KAAK,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,CAAA;AACpE,eAAO,MAAM,cAAc,wFAY1B,CAAA;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,UAAQ,UAQ7D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,QAAQ,CAE3D;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,UAO5D;AAGD,eAAO,MAAM,sBAAsB,QAAS,OAAO,YAAqB,CAAA;AACxE,eAAO,MAAM,mBAAmB,eAAiB,CAAA;AAEjD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,OAMjD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,OAGhD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,OAGpD;AAGD,eAAO,MAAM,iBAAiB,aAAc,MAAM,
|
|
1
|
+
{"version":3,"file":"createVariable.d.ts","sourceRoot":"","sources":["../src/createVariable.ts"],"names":[],"mappings":"AAKA;;;GAGG;AAEH,QAAA,MAAM,MAAM,UAAU,CAAA;AAEtB,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC/B,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,CAAC,CAAA;IACN,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE/E,KAAK,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,CAAA;AACpE,eAAO,MAAM,cAAc,wFAY1B,CAAA;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,UAAQ,UAQ7D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,QAAQ,CAE3D;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,QAAQ,GAAG,MAAM,UAO5D;AAGD,eAAO,MAAM,sBAAsB,QAAS,OAAO,YAAqB,CAAA;AACxE,eAAO,MAAM,mBAAmB,eAAiB,CAAA;AAEjD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,OAMjD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,OAGhD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,OAGpD;AAGD,eAAO,MAAM,iBAAiB,aAAc,MAAM,8BAQjD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extendStaticConfig.d.ts","sourceRoot":"","sources":["../../src/helpers/extendStaticConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAItF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,MAAM,CAAC,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"extendStaticConfig.d.ts","sourceRoot":"","sources":["../../src/helpers/extendStaticConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAItF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,MAAM,CAAC,EAAE,iBAAiB,sBA2D3B;AAED,eAAO,MAAM,iBAAiB,WAAY,QAAQ,YAAY,CAAC,KAAG,kBAUjE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,cAAc,EAMd,eAAe,EACf,kBAAkB,EAElB,qBAAqB,EACrB,cAAc,EACd,WAAW,EAEZ,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gCAAgC,CAAA;AAkBvC,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,YAAY,EAAE,kBAAkB,CAAA;IAChC,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,KAAK,EAAE,eAAe,CAAA;IACtB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,eAAe,CAAC,EAAE,iBAAiB,CAAA;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AA0FhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,eAAe,EACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,eAAe,CAAC,EAAE,mBAAmB,EAErC,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,KACd,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AAqB7B,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,cAAc,EAMd,eAAe,EACf,kBAAkB,EAElB,qBAAqB,EACrB,cAAc,EACd,WAAW,EAEZ,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gCAAgC,CAAA;AAkBvC,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,UAAU,EAAE,gBAAgB,CAAA;IAC5B,YAAY,EAAE,kBAAkB,CAAA;IAChC,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,KAAK,EAAE,eAAe,CAAA;IACtB,IAAI,EAAE,qBAAqB,CAAA;IAC3B,eAAe,CAAC,EAAE,iBAAiB,CAAA;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AA0FhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,eAAe,EACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,eAAe,CAAC,EAAE,mBAAmB,EAErC,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,KACd,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AAqB7B,eAAO,MAAM,cAAc,EAAE,aAs2B5B,CAAA;AA0FD,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,sBACK,OAAO,wBACL,OAAO,KAC5B,cAkCF,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAA;AA2BD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA"}
|
|
@@ -6,6 +6,6 @@ import { StyleObject } from '@tamagui/helpers';
|
|
|
6
6
|
import type { ViewStyleWithPseudos } from '../types.js';
|
|
7
7
|
import { PseudoDescriptor } from './pseudoDescriptors.js';
|
|
8
8
|
export declare function getStylesAtomic(stylesIn: ViewStyleWithPseudos): StyleObject[];
|
|
9
|
-
export declare
|
|
9
|
+
export declare const generateAtomicStyles: (styleIn: ViewStyleWithPseudos, pseudo?: PseudoDescriptor) => StyleObject[];
|
|
10
10
|
export declare function styleToCSS(style: Record<string, any>): void;
|
|
11
11
|
//# sourceMappingURL=getStylesAtomic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStylesAtomic.d.ts","sourceRoot":"","sources":["../../src/helpers/getStylesAtomic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAA;AAG1D,OAAO,KAAK,EAAyB,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAG9E,OAAO,EAAE,gBAAgB,EAAqB,MAAM,wBAAwB,CAAA;AAW5E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,iBAgB7D;
|
|
1
|
+
{"version":3,"file":"getStylesAtomic.d.ts","sourceRoot":"","sources":["../../src/helpers/getStylesAtomic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAA;AAG1D,OAAO,KAAK,EAAyB,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAG9E,OAAO,EAAE,gBAAgB,EAAqB,MAAM,wBAAwB,CAAA;AAW5E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,iBAgB7D;AAID,eAAO,MAAM,oBAAoB,YACtB,oBAAoB,WACpB,gBAAgB,KACxB,WAAW,EAoDb,CAAA;AAMD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAoCpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeValueWithProperty.d.ts","sourceRoot":"","sources":["../../src/helpers/normalizeValueWithProperty.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"normalizeValueWithProperty.d.ts","sourceRoot":"","sources":["../../src/helpers/normalizeValueWithProperty.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,CA0B7E;AA8CD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAyCxE"}
|