@tamagui/web 1.53.2 → 1.54.0
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/CSSColorNames.js +17 -0
- package/dist/cjs/CSSColorNames.js.map +6 -0
- package/dist/cjs/GetRef.js +17 -0
- package/dist/cjs/GetRef.js.map +6 -0
- package/dist/cjs/Role.js +17 -0
- package/dist/cjs/Role.js.map +6 -0
- package/dist/cjs/contexts/ComponentContext.js +47 -0
- package/dist/cjs/contexts/ComponentContext.js.map +6 -0
- package/dist/cjs/createComponent.js +67 -20
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createTamagui.js +1 -0
- package/dist/cjs/createTamagui.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.js +13 -5
- package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
- package/dist/cjs/helpers/createShallowSetState.js +39 -0
- package/dist/cjs/helpers/createShallowSetState.js.map +6 -0
- package/dist/cjs/helpers/createStyledContext.js +7 -2
- package/dist/cjs/helpers/createStyledContext.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.js +40 -22
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
- package/dist/cjs/helpers/getVariantExtras.js +3 -3
- package/dist/cjs/helpers/getVariantExtras.js.map +1 -1
- package/dist/cjs/helpers/propMapper.js +3 -3
- package/dist/cjs/helpers/propMapper.js.map +1 -1
- package/dist/cjs/helpers/pseudoDescriptors.js +9 -2
- package/dist/cjs/helpers/pseudoDescriptors.js.map +1 -1
- package/dist/cjs/hooks/useAnimationDriver.js +2 -2
- package/dist/cjs/hooks/useAnimationDriver.js.map +1 -1
- package/dist/cjs/hooks/useMedia.js +6 -3
- package/dist/cjs/hooks/useMedia.js.map +1 -1
- package/dist/cjs/hooks/useStyle.js +3 -7
- package/dist/cjs/hooks/useStyle.js.map +1 -1
- package/dist/cjs/index.js +8 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/CSSColorNames.js +17 -0
- package/dist/cjs/interfaces/CSSColorNames.js.map +6 -0
- package/dist/cjs/interfaces/GetRef.js +17 -0
- package/dist/cjs/interfaces/GetRef.js.map +6 -0
- package/dist/cjs/interfaces/Role.js +17 -0
- package/dist/cjs/interfaces/Role.js.map +6 -0
- package/dist/cjs/styled.js.map +1 -1
- package/dist/cjs/types/CSSColorNames.js +17 -0
- package/dist/cjs/types/CSSColorNames.js.map +6 -0
- package/dist/cjs/types/GetRef.js +17 -0
- package/dist/cjs/types/GetRef.js.map +6 -0
- package/dist/cjs/types/Role.js +17 -0
- package/dist/cjs/types/Role.js.map +6 -0
- package/dist/cjs/views/AnimationDriverProvider.js +2 -2
- package/dist/cjs/views/AnimationDriverProvider.js.map +1 -1
- package/dist/cjs/views/FontLanguage.native.js +3 -3
- package/dist/cjs/views/FontLanguage.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.js +3 -5
- package/dist/cjs/views/TamaguiProvider.js.map +1 -1
- package/dist/esm/CSSColorNames.js +1 -0
- package/dist/esm/CSSColorNames.js.map +6 -0
- package/dist/esm/GetRef.js +1 -0
- package/dist/esm/GetRef.js.map +6 -0
- package/dist/esm/Role.js +1 -0
- package/dist/esm/Role.js.map +6 -0
- package/dist/esm/contexts/ComponentContext.js +23 -0
- package/dist/esm/contexts/ComponentContext.js.map +6 -0
- package/dist/esm/createComponent.js +68 -20
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createTamagui.js +1 -0
- package/dist/esm/createTamagui.js.map +1 -1
- package/dist/esm/helpers/createMediaStyle.js +13 -5
- package/dist/esm/helpers/createMediaStyle.js.map +1 -1
- package/dist/esm/helpers/createShallowSetState.js +15 -0
- package/dist/esm/helpers/createShallowSetState.js.map +6 -0
- package/dist/esm/helpers/createStyledContext.js +7 -2
- package/dist/esm/helpers/createStyledContext.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +41 -23
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
- package/dist/esm/helpers/getVariantExtras.js +3 -3
- package/dist/esm/helpers/getVariantExtras.js.map +1 -1
- package/dist/esm/helpers/propMapper.js +3 -3
- package/dist/esm/helpers/propMapper.js.map +1 -1
- package/dist/esm/helpers/pseudoDescriptors.js +7 -1
- package/dist/esm/helpers/pseudoDescriptors.js.map +1 -1
- package/dist/esm/hooks/useAnimationDriver.js +2 -2
- package/dist/esm/hooks/useAnimationDriver.js.map +1 -1
- package/dist/esm/hooks/useMedia.js +6 -3
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/useStyle.js +3 -7
- package/dist/esm/hooks/useStyle.js.map +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/CSSColorNames.js +1 -0
- package/dist/esm/interfaces/CSSColorNames.js.map +6 -0
- package/dist/esm/interfaces/GetRef.js +1 -0
- package/dist/esm/interfaces/GetRef.js.map +6 -0
- package/dist/esm/interfaces/Role.js +1 -0
- package/dist/esm/interfaces/Role.js.map +6 -0
- package/dist/esm/styled.js.map +1 -1
- package/dist/esm/types/CSSColorNames.js +1 -0
- package/dist/esm/types/CSSColorNames.js.map +6 -0
- package/dist/esm/types/GetRef.js +1 -0
- package/dist/esm/types/GetRef.js.map +6 -0
- package/dist/esm/types/Role.js +1 -0
- package/dist/esm/types/Role.js.map +6 -0
- package/dist/esm/views/AnimationDriverProvider.js +2 -2
- package/dist/esm/views/AnimationDriverProvider.js.map +1 -1
- package/dist/esm/views/FontLanguage.native.js +3 -3
- package/dist/esm/views/FontLanguage.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.js +3 -5
- package/dist/esm/views/TamaguiProvider.js.map +1 -1
- package/package.json +10 -10
- package/src/contexts/ComponentContext.tsx +22 -0
- package/src/createComponent.tsx +108 -26
- package/src/createTamagui.ts +1 -0
- package/src/helpers/createMediaStyle.ts +14 -5
- package/src/helpers/{useShallowSetState.tsx → createShallowSetState.tsx} +1 -1
- package/src/helpers/createStyledContext.tsx +7 -2
- package/src/helpers/getSplitStyles.tsx +47 -19
- package/src/helpers/getStylesAtomic.ts +1 -1
- package/src/helpers/getVariantExtras.tsx +3 -3
- package/src/helpers/propMapper.ts +5 -5
- package/src/helpers/pseudoDescriptors.ts +7 -0
- package/src/hooks/useAnimationDriver.tsx +2 -2
- package/src/hooks/useMedia.tsx +10 -3
- package/src/hooks/useStyle.tsx +3 -7
- package/src/index.ts +7 -6
- package/src/interfaces/CSSColorNames.tsx +141 -0
- package/src/interfaces/GetRef.tsx +23 -0
- package/src/interfaces/Role.tsx +68 -0
- package/src/styled.tsx +1 -1
- package/src/types.tsx +88 -271
- package/src/views/AnimationDriverProvider.tsx +3 -3
- package/src/views/FontLanguage.native.tsx +3 -3
- package/src/views/TamaguiProvider.tsx +11 -19
- package/types/CSSColorNames.d.ts +2 -0
- package/types/CSSColorNames.d.ts.map +1 -0
- package/types/GetRef.d.ts +23 -0
- package/types/GetRef.d.ts.map +1 -0
- package/types/Role.d.ts +2 -0
- package/types/Role.d.ts.map +1 -0
- package/types/contexts/ComponentContext.d.ts +3 -0
- package/types/contexts/ComponentContext.d.ts.map +1 -0
- package/types/createComponent.d.ts +2 -2
- package/types/createComponent.d.ts.map +1 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/helpers/createMediaStyle.d.ts.map +1 -1
- package/types/helpers/createShallowSetState.d.ts +4 -0
- package/types/helpers/createShallowSetState.d.ts.map +1 -0
- package/types/helpers/createStyledContext.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +2 -3
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/pseudoDescriptors.d.ts +5 -0
- package/types/helpers/pseudoDescriptors.d.ts.map +1 -1
- package/types/hooks/useAnimationDriver.d.ts +3 -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.map +1 -1
- package/types/index.d.ts +5 -5
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/CSSColorNames.d.ts +2 -0
- package/types/interfaces/CSSColorNames.d.ts.map +1 -0
- package/types/interfaces/GetRef.d.ts +6 -0
- package/types/interfaces/GetRef.d.ts.map +1 -0
- package/types/interfaces/Role.d.ts +2 -0
- package/types/interfaces/Role.d.ts.map +1 -0
- package/types/styled.d.ts +2 -1
- package/types/styled.d.ts.map +1 -1
- package/types/types/CSSColorNames.d.ts +2 -0
- package/types/types/CSSColorNames.d.ts.map +1 -0
- package/types/types/GetRef.d.ts +6 -0
- package/types/types/GetRef.d.ts.map +1 -0
- package/types/types/Role.d.ts +2 -0
- package/types/types/Role.d.ts.map +1 -0
- package/types/types.d.ts +57 -30
- package/types/types.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/src/contexts/AnimationDriverContext.tsx +0 -5
- package/src/contexts/ButtonNestingContext.tsx +0 -3
- package/src/contexts/FontLanguageContext.tsx +0 -5
- package/src/contexts/TextAncestorContext.tsx +0 -3
package/src/hooks/useMedia.tsx
CHANGED
|
@@ -42,7 +42,10 @@ export const mediaKeys = new Set<string>() // with $ prefix
|
|
|
42
42
|
|
|
43
43
|
export const isMediaKey = (key: string) =>
|
|
44
44
|
mediaKeys.has(key) ||
|
|
45
|
-
(key[0] === '$' &&
|
|
45
|
+
(key[0] === '$' &&
|
|
46
|
+
(key.startsWith('$platform-') ||
|
|
47
|
+
key.startsWith('$theme-') ||
|
|
48
|
+
key.startsWith('$group-')))
|
|
46
49
|
|
|
47
50
|
// for SSR capture it at time of startup
|
|
48
51
|
let initState: MediaQueryState
|
|
@@ -304,14 +307,18 @@ export function mergeMediaByImportance(
|
|
|
304
307
|
key: string,
|
|
305
308
|
value: any,
|
|
306
309
|
importancesUsed: Record<string, number>,
|
|
307
|
-
isSizeMedia: boolean
|
|
310
|
+
isSizeMedia: boolean,
|
|
311
|
+
importanceBump?: number
|
|
308
312
|
) {
|
|
309
|
-
|
|
313
|
+
let importance = getMediaImportanceIfMoreImportant(
|
|
310
314
|
mediaKey,
|
|
311
315
|
key,
|
|
312
316
|
importancesUsed,
|
|
313
317
|
isSizeMedia
|
|
314
318
|
)
|
|
319
|
+
if (importanceBump) {
|
|
320
|
+
importance = (importance || 0) + importanceBump
|
|
321
|
+
}
|
|
315
322
|
if (importance === null) {
|
|
316
323
|
return false
|
|
317
324
|
}
|
package/src/hooks/useStyle.tsx
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { isWeb } from '@tamagui/constants'
|
|
2
1
|
import { useContext } from 'react'
|
|
3
2
|
|
|
4
|
-
import {
|
|
5
|
-
import { TextAncestorContext } from '../contexts/TextAncestorContext'
|
|
3
|
+
import { ComponentContext } from '../contexts/ComponentContext'
|
|
6
4
|
import { defaultComponentState } from '../createComponent'
|
|
7
5
|
import { useSplitStyles } from '../helpers/getSplitStyles'
|
|
8
6
|
import {
|
|
@@ -24,8 +22,7 @@ export function useStyle<
|
|
|
24
22
|
options?: Partial<SplitStyleProps> & { debug?: DebugProp }
|
|
25
23
|
) {
|
|
26
24
|
const isText = base.staticConfig.isText
|
|
27
|
-
const
|
|
28
|
-
const languageContext = useContext(FontLanguageContext)
|
|
25
|
+
const componentContext = useContext(ComponentContext)
|
|
29
26
|
const [themeState] = useThemeWithState({})
|
|
30
27
|
const media = useMedia()
|
|
31
28
|
const out = useSplitStyles(
|
|
@@ -37,11 +34,10 @@ export function useStyle<
|
|
|
37
34
|
{
|
|
38
35
|
...(options as any),
|
|
39
36
|
mediaState: media,
|
|
40
|
-
hasTextAncestor,
|
|
41
37
|
resolveVariablesAs: 'auto',
|
|
42
38
|
},
|
|
43
39
|
null,
|
|
44
|
-
|
|
40
|
+
componentContext,
|
|
45
41
|
isText ? 'span' : 'div',
|
|
46
42
|
options?.debug
|
|
47
43
|
)
|
package/src/index.ts
CHANGED
|
@@ -9,9 +9,11 @@ export * from './createVariable'
|
|
|
9
9
|
export * from './createVariables'
|
|
10
10
|
export * from './insertFont'
|
|
11
11
|
export * from './styled'
|
|
12
|
-
export * from './types'
|
|
13
12
|
export * from './setupReactNative'
|
|
14
13
|
|
|
14
|
+
export * from './types'
|
|
15
|
+
export * from './interfaces/GetRef'
|
|
16
|
+
|
|
15
17
|
export {
|
|
16
18
|
getConfig,
|
|
17
19
|
getThemes,
|
|
@@ -23,6 +25,8 @@ export {
|
|
|
23
25
|
|
|
24
26
|
export * from './constants/constants'
|
|
25
27
|
|
|
28
|
+
export * from './contexts/ComponentContext'
|
|
29
|
+
|
|
26
30
|
export * from './helpers/createStyledContext'
|
|
27
31
|
export * from './helpers/expandStyles'
|
|
28
32
|
export * from './helpers/propMapper'
|
|
@@ -42,16 +46,14 @@ export * from './helpers/proxyThemeToParents'
|
|
|
42
46
|
export * from './helpers/pseudoDescriptors'
|
|
43
47
|
export * from './helpers/themeable'
|
|
44
48
|
export * from './helpers/themes'
|
|
45
|
-
export * from './helpers/
|
|
49
|
+
export * from './helpers/createShallowSetState'
|
|
46
50
|
export * from './helpers/withStaticProperties'
|
|
47
51
|
|
|
48
|
-
export * from './contexts/ButtonNestingContext'
|
|
49
|
-
|
|
50
52
|
export {
|
|
51
53
|
configureMedia,
|
|
52
|
-
getMedia,
|
|
53
54
|
mediaState,
|
|
54
55
|
useMedia,
|
|
56
|
+
getMedia,
|
|
55
57
|
useMediaPropsActive,
|
|
56
58
|
mediaObjectToString,
|
|
57
59
|
mediaQueryConfig,
|
|
@@ -67,7 +69,6 @@ export * from './views/Slot'
|
|
|
67
69
|
export * from './views/Stack'
|
|
68
70
|
export * from './views/View'
|
|
69
71
|
export * from './views/Text'
|
|
70
|
-
export * from './contexts/TextAncestorContext'
|
|
71
72
|
export * from './views/Theme'
|
|
72
73
|
export * from './views/ThemeProvider'
|
|
73
74
|
export * from './views/FontLanguage'
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
export type CSSColorNames =
|
|
2
|
+
| 'aliceblue'
|
|
3
|
+
| 'antiquewhite'
|
|
4
|
+
| 'aqua'
|
|
5
|
+
| 'aquamarine'
|
|
6
|
+
| 'azure'
|
|
7
|
+
| 'beige'
|
|
8
|
+
| 'bisque'
|
|
9
|
+
| 'black'
|
|
10
|
+
| 'blanchedalmond'
|
|
11
|
+
| 'blue'
|
|
12
|
+
| 'blueviolet'
|
|
13
|
+
| 'brown'
|
|
14
|
+
| 'burlywood'
|
|
15
|
+
| 'cadetblue'
|
|
16
|
+
| 'chartreuse'
|
|
17
|
+
| 'chocolate'
|
|
18
|
+
| 'coral'
|
|
19
|
+
| 'cornflowerblue'
|
|
20
|
+
| 'cornsilk'
|
|
21
|
+
| 'crimson'
|
|
22
|
+
| 'cyan'
|
|
23
|
+
| 'darkblue'
|
|
24
|
+
| 'darkcyan'
|
|
25
|
+
| 'darkgoldenrod'
|
|
26
|
+
| 'darkgray'
|
|
27
|
+
| 'darkgreen'
|
|
28
|
+
| 'darkkhaki'
|
|
29
|
+
| 'darkmagenta'
|
|
30
|
+
| 'darkolivegreen'
|
|
31
|
+
| 'darkorange'
|
|
32
|
+
| 'darkorchid'
|
|
33
|
+
| 'darkred'
|
|
34
|
+
| 'darksalmon'
|
|
35
|
+
| 'darkseagreen'
|
|
36
|
+
| 'darkslateblue'
|
|
37
|
+
| 'darkslategray'
|
|
38
|
+
| 'darkturquoise'
|
|
39
|
+
| 'darkviolet'
|
|
40
|
+
| 'deeppink'
|
|
41
|
+
| 'deepskyblue'
|
|
42
|
+
| 'dimgray'
|
|
43
|
+
| 'dodgerblue'
|
|
44
|
+
| 'firebrick'
|
|
45
|
+
| 'floralwhite'
|
|
46
|
+
| 'forestgreen'
|
|
47
|
+
| 'fuchsia'
|
|
48
|
+
| 'gainsboro'
|
|
49
|
+
| 'ghostwhite'
|
|
50
|
+
| 'gold'
|
|
51
|
+
| 'goldenrod'
|
|
52
|
+
| 'gray'
|
|
53
|
+
| 'green'
|
|
54
|
+
| 'greenyellow'
|
|
55
|
+
| 'honeydew'
|
|
56
|
+
| 'hotpink'
|
|
57
|
+
| 'indianred '
|
|
58
|
+
| 'indigo '
|
|
59
|
+
| 'ivory'
|
|
60
|
+
| 'khaki'
|
|
61
|
+
| 'lavender'
|
|
62
|
+
| 'lavenderblush'
|
|
63
|
+
| 'lawngreen'
|
|
64
|
+
| 'lemonchiffon'
|
|
65
|
+
| 'lightblue'
|
|
66
|
+
| 'lightcoral'
|
|
67
|
+
| 'lightcyan'
|
|
68
|
+
| 'lightgoldenrodyellow'
|
|
69
|
+
| 'lightgrey'
|
|
70
|
+
| 'lightgreen'
|
|
71
|
+
| 'lightpink'
|
|
72
|
+
| 'lightsalmon'
|
|
73
|
+
| 'lightseagreen'
|
|
74
|
+
| 'lightskyblue'
|
|
75
|
+
| 'lightslategray'
|
|
76
|
+
| 'lightsteelblue'
|
|
77
|
+
| 'lightyellow'
|
|
78
|
+
| 'lime'
|
|
79
|
+
| 'limegreen'
|
|
80
|
+
| 'linen'
|
|
81
|
+
| 'magenta'
|
|
82
|
+
| 'maroon'
|
|
83
|
+
| 'mediumaquamarine'
|
|
84
|
+
| 'mediumblue'
|
|
85
|
+
| 'mediumorchid'
|
|
86
|
+
| 'mediumpurple'
|
|
87
|
+
| 'mediumseagreen'
|
|
88
|
+
| 'mediumslateblue'
|
|
89
|
+
| 'mediumspringgreen'
|
|
90
|
+
| 'mediumturquoise'
|
|
91
|
+
| 'mediumvioletred'
|
|
92
|
+
| 'midnightblue'
|
|
93
|
+
| 'mintcream'
|
|
94
|
+
| 'mistyrose'
|
|
95
|
+
| 'moccasin'
|
|
96
|
+
| 'navajowhite'
|
|
97
|
+
| 'navy'
|
|
98
|
+
| 'oldlace'
|
|
99
|
+
| 'olive'
|
|
100
|
+
| 'olivedrab'
|
|
101
|
+
| 'orange'
|
|
102
|
+
| 'orangered'
|
|
103
|
+
| 'orchid'
|
|
104
|
+
| 'palegoldenrod'
|
|
105
|
+
| 'palegreen'
|
|
106
|
+
| 'paleturquoise'
|
|
107
|
+
| 'palevioletred'
|
|
108
|
+
| 'papayawhip'
|
|
109
|
+
| 'peachpuff'
|
|
110
|
+
| 'peru'
|
|
111
|
+
| 'pink'
|
|
112
|
+
| 'plum'
|
|
113
|
+
| 'powderblue'
|
|
114
|
+
| 'purple'
|
|
115
|
+
| 'red'
|
|
116
|
+
| 'rosybrown'
|
|
117
|
+
| 'royalblue'
|
|
118
|
+
| 'saddlebrown'
|
|
119
|
+
| 'salmon'
|
|
120
|
+
| 'sandybrown'
|
|
121
|
+
| 'seagreen'
|
|
122
|
+
| 'seashell'
|
|
123
|
+
| 'sienna'
|
|
124
|
+
| 'silver'
|
|
125
|
+
| 'skyblue'
|
|
126
|
+
| 'slateblue'
|
|
127
|
+
| 'slategray'
|
|
128
|
+
| 'snow'
|
|
129
|
+
| 'springgreen'
|
|
130
|
+
| 'steelblue'
|
|
131
|
+
| 'tan'
|
|
132
|
+
| 'teal'
|
|
133
|
+
| 'thistle'
|
|
134
|
+
| 'tomato'
|
|
135
|
+
| 'turquoise'
|
|
136
|
+
| 'violet'
|
|
137
|
+
| 'wheat'
|
|
138
|
+
| 'white'
|
|
139
|
+
| 'whitesmoke'
|
|
140
|
+
| 'yellow'
|
|
141
|
+
| 'yellowgreen'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, JSXElementConstructor, Ref } from 'react'
|
|
2
|
+
|
|
3
|
+
import { TamaguiComponent } from '../types'
|
|
4
|
+
|
|
5
|
+
// gets the ref type of any type of react component
|
|
6
|
+
|
|
7
|
+
export type GetRef<C> = C extends TamaguiComponent<any, infer Ref>
|
|
8
|
+
? Ref
|
|
9
|
+
: C extends new (props: any) => Component
|
|
10
|
+
? InstanceType<C>
|
|
11
|
+
: C extends abstract new (...args: any) => any
|
|
12
|
+
? InstanceType<C>
|
|
13
|
+
: C extends Component
|
|
14
|
+
? C
|
|
15
|
+
: (
|
|
16
|
+
C extends JSXElementConstructor<{ ref?: infer R }>
|
|
17
|
+
? R
|
|
18
|
+
: C extends keyof JSX.IntrinsicElements
|
|
19
|
+
? JSX.IntrinsicElements[C]['ref']
|
|
20
|
+
: unknown
|
|
21
|
+
) extends Ref<infer T> | string | undefined
|
|
22
|
+
? T
|
|
23
|
+
: unknown
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// from react-native Accessibility.d.ts
|
|
2
|
+
|
|
3
|
+
export type Role =
|
|
4
|
+
| 'alert'
|
|
5
|
+
| 'alertdialog'
|
|
6
|
+
| 'application'
|
|
7
|
+
| 'article'
|
|
8
|
+
| 'banner'
|
|
9
|
+
| 'button'
|
|
10
|
+
| 'cell'
|
|
11
|
+
| 'checkbox'
|
|
12
|
+
| 'columnheader'
|
|
13
|
+
| 'combobox'
|
|
14
|
+
| 'complementary'
|
|
15
|
+
| 'contentinfo'
|
|
16
|
+
| 'definition'
|
|
17
|
+
| 'dialog'
|
|
18
|
+
| 'directory'
|
|
19
|
+
| 'document'
|
|
20
|
+
| 'feed'
|
|
21
|
+
| 'figure'
|
|
22
|
+
| 'form'
|
|
23
|
+
| 'grid'
|
|
24
|
+
| 'group'
|
|
25
|
+
| 'heading'
|
|
26
|
+
| 'img'
|
|
27
|
+
| 'link'
|
|
28
|
+
| 'list'
|
|
29
|
+
| 'listitem'
|
|
30
|
+
| 'log'
|
|
31
|
+
| 'main'
|
|
32
|
+
| 'marquee'
|
|
33
|
+
| 'math'
|
|
34
|
+
| 'menu'
|
|
35
|
+
| 'menubar'
|
|
36
|
+
| 'menuitem'
|
|
37
|
+
| 'meter'
|
|
38
|
+
| 'navigation'
|
|
39
|
+
| 'none'
|
|
40
|
+
| 'note'
|
|
41
|
+
| 'option'
|
|
42
|
+
| 'presentation'
|
|
43
|
+
| 'progressbar'
|
|
44
|
+
| 'radio'
|
|
45
|
+
| 'radiogroup'
|
|
46
|
+
| 'region'
|
|
47
|
+
| 'row'
|
|
48
|
+
| 'rowgroup'
|
|
49
|
+
| 'rowheader'
|
|
50
|
+
| 'scrollbar'
|
|
51
|
+
| 'searchbox'
|
|
52
|
+
| 'separator'
|
|
53
|
+
| 'slider'
|
|
54
|
+
| 'spinbutton'
|
|
55
|
+
| 'status'
|
|
56
|
+
| 'summary'
|
|
57
|
+
| 'switch'
|
|
58
|
+
| 'tab'
|
|
59
|
+
| 'table'
|
|
60
|
+
| 'tablist'
|
|
61
|
+
| 'tabpanel'
|
|
62
|
+
| 'term'
|
|
63
|
+
| 'timer'
|
|
64
|
+
| 'toolbar'
|
|
65
|
+
| 'tooltip'
|
|
66
|
+
| 'tree'
|
|
67
|
+
| 'treegrid'
|
|
68
|
+
| 'treeitem'
|
package/src/styled.tsx
CHANGED
|
@@ -3,10 +3,10 @@ import { stylePropsAll } from '@tamagui/helpers'
|
|
|
3
3
|
import { createComponent } from './createComponent'
|
|
4
4
|
import { StyledContext } from './helpers/createStyledContext'
|
|
5
5
|
import { mergeVariants } from './helpers/mergeVariants'
|
|
6
|
+
import type { GetRef } from './interfaces/GetRef'
|
|
6
7
|
import { getReactNativeConfig } from './setupReactNative'
|
|
7
8
|
import type {
|
|
8
9
|
GetProps,
|
|
9
|
-
GetRef,
|
|
10
10
|
GetVariantValues,
|
|
11
11
|
MediaProps,
|
|
12
12
|
PseudoProps,
|