@tamagui/core 1.0.1-beta.193 → 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 +194 -289
- 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 +212 -93
- 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/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/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 +77 -84
- 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 +3 -4
- 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 +193 -291
- 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 +221 -94
- 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/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/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 +74 -83
- 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 +3 -4
- 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 +248 -418
- 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/extendStaticConfig.ts +0 -1
- package/src/helpers/getSplitStyles.tsx +257 -151
- package/src/helpers/getStylesAtomic.ts +14 -34
- 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/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 +80 -87
- package/src/hooks/useSafeRef.ts +17 -18
- package/src/hooks/useTheme.tsx +4 -4
- 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/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
|
@@ -22,7 +22,6 @@ __export(getSplitStyles_exports, {
|
|
|
22
22
|
getSplitStyles: () => getSplitStyles,
|
|
23
23
|
getSubStyle: () => getSubStyle,
|
|
24
24
|
insertSplitStyles: () => insertSplitStyles,
|
|
25
|
-
pseudoCNInverse: () => pseudoCNInverse,
|
|
26
25
|
useSplitStyles: () => useSplitStyles
|
|
27
26
|
});
|
|
28
27
|
module.exports = __toCommonJS(getSplitStyles_exports);
|
|
@@ -45,11 +44,12 @@ const skipProps = {
|
|
|
45
44
|
animation: true,
|
|
46
45
|
animateOnly: true,
|
|
47
46
|
debug: true,
|
|
48
|
-
componentName: true
|
|
47
|
+
componentName: true,
|
|
48
|
+
role: true,
|
|
49
|
+
tag: true
|
|
49
50
|
};
|
|
50
51
|
if (process.env.TAMAGUI_TARGET === "native") {
|
|
51
52
|
Object.assign(skipProps, {
|
|
52
|
-
tag: true,
|
|
53
53
|
whiteSpace: true,
|
|
54
54
|
wordWrap: true,
|
|
55
55
|
textOverflow: true,
|
|
@@ -62,15 +62,67 @@ if (process.env.TAMAGUI_TARGET === "native") {
|
|
|
62
62
|
boxShadow: true
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
+
const accessibilityDirectMap = {};
|
|
66
|
+
if (process.env.TAMAGUI_TARGET === "web") {
|
|
67
|
+
const items = {
|
|
68
|
+
Hidden: true,
|
|
69
|
+
ActiveDescendant: true,
|
|
70
|
+
Atomic: true,
|
|
71
|
+
AutoComplete: true,
|
|
72
|
+
Busy: true,
|
|
73
|
+
Checked: true,
|
|
74
|
+
ColumnCount: "colcount",
|
|
75
|
+
ColumnIndex: "colindex",
|
|
76
|
+
ColumnSpan: "colspan",
|
|
77
|
+
Current: true,
|
|
78
|
+
Details: true,
|
|
79
|
+
ErrorMessage: true,
|
|
80
|
+
Expanded: true,
|
|
81
|
+
HasPopup: true,
|
|
82
|
+
Invalid: true,
|
|
83
|
+
Label: true,
|
|
84
|
+
Level: true,
|
|
85
|
+
Modal: true,
|
|
86
|
+
Multiline: true,
|
|
87
|
+
MultiSelectable: true,
|
|
88
|
+
Orientation: true,
|
|
89
|
+
Owns: true,
|
|
90
|
+
Placeholder: true,
|
|
91
|
+
PosInSet: true,
|
|
92
|
+
Pressed: true,
|
|
93
|
+
RoleDescription: true,
|
|
94
|
+
RowCount: true,
|
|
95
|
+
RowIndex: true,
|
|
96
|
+
RowSpan: true,
|
|
97
|
+
Selected: true,
|
|
98
|
+
SetSize: true,
|
|
99
|
+
Sort: true,
|
|
100
|
+
ValueMax: true,
|
|
101
|
+
ValueMin: true,
|
|
102
|
+
ValueNow: true,
|
|
103
|
+
ValueText: true
|
|
104
|
+
};
|
|
105
|
+
for (const key in items) {
|
|
106
|
+
let val = items[key];
|
|
107
|
+
if (val === true) {
|
|
108
|
+
val = key.toLowerCase();
|
|
109
|
+
}
|
|
110
|
+
accessibilityDirectMap[`accessibility${key}`] = `aria-${val}`;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
65
113
|
let conf;
|
|
66
114
|
const PROP_SPLIT = "-";
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
115
|
+
const accessibilityRoleToWebRole = {
|
|
116
|
+
adjustable: "slider",
|
|
117
|
+
header: "heading",
|
|
118
|
+
image: "img",
|
|
119
|
+
link: "link",
|
|
120
|
+
none: "presentation",
|
|
121
|
+
summary: "region"
|
|
71
122
|
};
|
|
72
|
-
const
|
|
73
|
-
|
|
123
|
+
const isMediaKey = (key) => Boolean(key[0] === "$" && import_useMedia.mediaQueryConfig[key.slice(1)]);
|
|
124
|
+
const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, languageContext, elementType, debug) => {
|
|
125
|
+
var _a, _b, _c, _d, _e;
|
|
74
126
|
conf = conf || (0, import_config.getConfig)();
|
|
75
127
|
const validStyleProps = staticConfig.isText ? import_helpers.stylePropsText : import_helpers.validStyles;
|
|
76
128
|
const mediaKeys = [];
|
|
@@ -78,15 +130,12 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
78
130
|
const pseudos = {};
|
|
79
131
|
const medias = {};
|
|
80
132
|
const mediaState = state.mediaState || import_useMedia.mediaState;
|
|
81
|
-
const usedKeys =
|
|
133
|
+
const usedKeys = {};
|
|
82
134
|
const propKeys = Object.keys(props);
|
|
83
|
-
const shouldDoClasses = staticConfig.acceptsClassName && (import_constants.isWeb || process.env.IS_STATIC === "is_static") && !state.noClassNames
|
|
135
|
+
const shouldDoClasses = staticConfig.acceptsClassName && (import_constants.isWeb || process.env.IS_STATIC === "is_static") && !state.noClassNames;
|
|
84
136
|
const len = propKeys.length;
|
|
85
137
|
const rulesToInsert = [];
|
|
86
138
|
const style = {};
|
|
87
|
-
if (state.hasTextAncestor) {
|
|
88
|
-
style.display = "inline-flex";
|
|
89
|
-
}
|
|
90
139
|
const classNames = {};
|
|
91
140
|
const transforms = {};
|
|
92
141
|
let fontFamily;
|
|
@@ -97,7 +146,7 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
97
146
|
if (expandedKey) {
|
|
98
147
|
keyInit = expandedKey;
|
|
99
148
|
}
|
|
100
|
-
if (usedKeys
|
|
149
|
+
if (usedKeys[keyInit])
|
|
101
150
|
continue;
|
|
102
151
|
if (skipProps[keyInit])
|
|
103
152
|
continue;
|
|
@@ -106,24 +155,97 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
106
155
|
if (keyInit === "style" || keyInit.startsWith("_style")) {
|
|
107
156
|
if (!valInit)
|
|
108
157
|
continue;
|
|
109
|
-
|
|
110
|
-
|
|
158
|
+
const styles = Array.isArray(valInit) ? valInit : [valInit];
|
|
159
|
+
const styleLen = styles.length;
|
|
160
|
+
for (let j = styleLen; j >= 0; j--) {
|
|
161
|
+
const cur = styles[j];
|
|
162
|
+
if (!cur)
|
|
111
163
|
continue;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
style[skey] = valInit[skey];
|
|
118
|
-
}
|
|
119
|
-
} else {
|
|
120
|
-
usedKeys.add(key);
|
|
121
|
-
style[key] = valInit;
|
|
164
|
+
for (const key in cur) {
|
|
165
|
+
if (usedKeys[key])
|
|
166
|
+
continue;
|
|
167
|
+
usedKeys[key] = 1;
|
|
168
|
+
style[key] = cur[key];
|
|
122
169
|
}
|
|
123
170
|
}
|
|
124
171
|
continue;
|
|
125
172
|
}
|
|
126
173
|
if (process.env.TAMAGUI_TARGET === "web") {
|
|
174
|
+
if (keyInit === "disabled" && valInit === true) {
|
|
175
|
+
usedKeys[keyInit] = 1;
|
|
176
|
+
viewProps["aria-disabled"] = true;
|
|
177
|
+
if (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") {
|
|
178
|
+
viewProps.disabled = true;
|
|
179
|
+
}
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (accessibilityDirectMap[keyInit]) {
|
|
183
|
+
viewProps[accessibilityDirectMap[keyInit]] = valInit;
|
|
184
|
+
usedKeys[keyInit] = 1;
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
let didUseKeyInit = true;
|
|
188
|
+
switch (keyInit) {
|
|
189
|
+
case "nativeID": {
|
|
190
|
+
viewProps.id = valInit;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
case "accessibilityRole": {
|
|
194
|
+
if (valInit === "none") {
|
|
195
|
+
viewProps.role = "presentation";
|
|
196
|
+
} else {
|
|
197
|
+
viewProps.role = accessibilityRoleToWebRole[valInit] || valInit;
|
|
198
|
+
}
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
case "accessibilityControls": {
|
|
202
|
+
viewProps["aria-controls"] = processIDRefList(valInit);
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
case "accessibilityDescribedBy": {
|
|
206
|
+
viewProps["aria-describedby"] = processIDRefList(valInit);
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
case "accessibilityFlowTo": {
|
|
210
|
+
viewProps["aria-flowto"] = processIDRefList(valInit);
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
case "accessibilityLabelledBy": {
|
|
214
|
+
viewProps["aria-labelledby"] = processIDRefList(valInit);
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
case "accessibilityKeyShortcuts": {
|
|
218
|
+
if (Array.isArray(valInit)) {
|
|
219
|
+
viewProps["aria-keyshortcuts"] = valInit.join(" ");
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
case "accessibilityLiveRegion": {
|
|
224
|
+
viewProps["aria-live"] = valInit === "none" ? "off" : valInit;
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
case "accessibilityReadOnly": {
|
|
228
|
+
viewProps["aria-readonly"] = valInit;
|
|
229
|
+
if (elementType === "input" || elementType === "select" || elementType === "textarea") {
|
|
230
|
+
viewProps.readOnly = true;
|
|
231
|
+
}
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
case "accessibilityRequired": {
|
|
235
|
+
viewProps["aria-required"] = valInit;
|
|
236
|
+
if (elementType === "input" || elementType === "select" || elementType === "textarea") {
|
|
237
|
+
viewProps.required = true;
|
|
238
|
+
}
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
default: {
|
|
242
|
+
didUseKeyInit = false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
if (didUseKeyInit) {
|
|
246
|
+
usedKeys[keyInit] = 1;
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
127
249
|
if (keyInit === "className") {
|
|
128
250
|
let nonTamaguis = "";
|
|
129
251
|
if (!valInit)
|
|
@@ -133,7 +255,7 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
133
255
|
const [shorthand, mediaOrPseudo] = cn.slice(1).split("-");
|
|
134
256
|
const isMedia2 = mediaOrPseudo[0] === "_";
|
|
135
257
|
const isPseudo2 = mediaOrPseudo[0] === "0";
|
|
136
|
-
const
|
|
258
|
+
const isMediaOrPseudo = isMedia2 || isPseudo2;
|
|
137
259
|
let fullKey = conf.shorthands[shorthand];
|
|
138
260
|
if (isMedia2) {
|
|
139
261
|
let mediaShortKey = mediaOrPseudo.slice(1);
|
|
@@ -143,24 +265,24 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
143
265
|
const pseudoShortKey = mediaOrPseudo.slice(1);
|
|
144
266
|
fullKey += `${PROP_SPLIT}${pseudoShortKey}`;
|
|
145
267
|
}
|
|
146
|
-
usedKeys
|
|
147
|
-
mergeClassName(transforms, classNames, fullKey, cn,
|
|
268
|
+
usedKeys[fullKey] = 1;
|
|
269
|
+
mergeClassName(transforms, classNames, fullKey, cn, isMediaOrPseudo);
|
|
148
270
|
} else {
|
|
149
271
|
nonTamaguis += " " + cn;
|
|
150
272
|
}
|
|
151
273
|
}
|
|
152
274
|
if (nonTamaguis) {
|
|
153
|
-
usedKeys
|
|
275
|
+
usedKeys[keyInit] = 1;
|
|
154
276
|
mergeClassName(transforms, classNames, keyInit, nonTamaguis);
|
|
155
277
|
}
|
|
156
278
|
continue;
|
|
157
279
|
}
|
|
158
280
|
if (valInit && valInit[0] === "_") {
|
|
159
281
|
const isValidClassName = import_helpers.validStyles[keyInit];
|
|
160
|
-
const
|
|
161
|
-
if (isValidClassName ||
|
|
162
|
-
usedKeys
|
|
163
|
-
mergeClassName(transforms, classNames, keyInit, valInit,
|
|
282
|
+
const isMediaOrPseudo = !isValidClassName && keyInit.includes(PROP_SPLIT) && import_helpers.validStyles[keyInit.split(PROP_SPLIT)[0]];
|
|
283
|
+
if (isValidClassName || isMediaOrPseudo) {
|
|
284
|
+
usedKeys[keyInit] = 1;
|
|
285
|
+
mergeClassName(transforms, classNames, keyInit, valInit, isMediaOrPseudo);
|
|
164
286
|
continue;
|
|
165
287
|
}
|
|
166
288
|
}
|
|
@@ -170,11 +292,10 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
170
292
|
viewProps[keyInit] = valInit;
|
|
171
293
|
}
|
|
172
294
|
}
|
|
173
|
-
let isMedia = keyInit
|
|
295
|
+
let isMedia = isMediaKey(keyInit);
|
|
174
296
|
let isPseudo = import_helpers.validPseudoKeys[keyInit];
|
|
175
|
-
let isMediaOrPseudo = isMedia || isPseudo;
|
|
176
297
|
if (!isMedia && !isPseudo && !((_a = staticConfig.variants) == null ? void 0 : _a[keyInit]) && !validStyleProps[keyInit] && !conf.shorthands[keyInit]) {
|
|
177
|
-
usedKeys
|
|
298
|
+
usedKeys[keyInit] = 1;
|
|
178
299
|
viewProps[keyInit] = valInit;
|
|
179
300
|
continue;
|
|
180
301
|
}
|
|
@@ -195,25 +316,25 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
195
316
|
fontFamily = (0, import_createPropMapper.getPropMappedFontFamily)(expanded);
|
|
196
317
|
}
|
|
197
318
|
if (process.env.NODE_ENV === "development" && debug === "verbose") {
|
|
198
|
-
|
|
199
|
-
|
|
319
|
+
if (import_constants.isClient) {
|
|
320
|
+
console.log("expanded", expanded);
|
|
321
|
+
console.log("usedKeys", usedKeys);
|
|
322
|
+
}
|
|
200
323
|
console.groupEnd();
|
|
201
324
|
}
|
|
202
|
-
if (!expanded)
|
|
325
|
+
if (!expanded)
|
|
203
326
|
continue;
|
|
204
|
-
}
|
|
205
327
|
for (const [key, val] of expanded) {
|
|
206
328
|
if (val === void 0)
|
|
207
329
|
continue;
|
|
208
|
-
isMedia = key
|
|
330
|
+
isMedia = isMediaKey(key);
|
|
209
331
|
isPseudo = import_helpers.validPseudoKeys[key];
|
|
210
|
-
isMediaOrPseudo = isMedia || isPseudo;
|
|
211
|
-
if (!isMediaOrPseudo) {
|
|
212
|
-
|
|
213
|
-
continue;
|
|
332
|
+
const isMediaOrPseudo = isMedia || isPseudo;
|
|
333
|
+
if (!isMediaOrPseudo && usedKeys[key]) {
|
|
334
|
+
continue;
|
|
214
335
|
}
|
|
215
|
-
if (staticConfig.deoptProps
|
|
216
|
-
usedKeys
|
|
336
|
+
if (((_b = staticConfig.deoptProps) == null ? void 0 : _b.has(key)) || ((_c = staticConfig.inlineProps) == null ? void 0 : _c.has(key)) || ((_d = staticConfig.inlineWhenUnflattened) == null ? void 0 : _d.has(key))) {
|
|
337
|
+
usedKeys[key] = 1;
|
|
217
338
|
viewProps[key] = props[key] ?? val;
|
|
218
339
|
}
|
|
219
340
|
if (isPseudo) {
|
|
@@ -222,7 +343,7 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
222
343
|
if (key === "enterStyle" && state.mounted) {
|
|
223
344
|
continue;
|
|
224
345
|
}
|
|
225
|
-
pseudos[key]
|
|
346
|
+
pseudos[key] ?? (pseudos[key] = {});
|
|
226
347
|
const pseudoStyleObject = getSubStyle(
|
|
227
348
|
key,
|
|
228
349
|
val,
|
|
@@ -238,17 +359,21 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
238
359
|
...pseudoStyleObject,
|
|
239
360
|
...pseudos[key]
|
|
240
361
|
};
|
|
241
|
-
if (
|
|
362
|
+
if (key === "enterStyle" || key === "exitStyle") {
|
|
363
|
+
continue;
|
|
364
|
+
}
|
|
365
|
+
if (shouldDoClasses) {
|
|
242
366
|
const pseudoStyles = (0, import_getStylesAtomic.getAtomicStyle)(pseudoStyleObject, import_pseudoDescriptors.pseudoDescriptors[key]);
|
|
243
367
|
for (const style2 of pseudoStyles) {
|
|
244
|
-
const postfix = ((
|
|
368
|
+
const postfix = ((_e = import_pseudoDescriptors.pseudoDescriptors[key]) == null ? void 0 : _e.name) || key;
|
|
245
369
|
const fullKey = `${style2.property}${PROP_SPLIT}${postfix}`;
|
|
246
|
-
if (!usedKeys
|
|
247
|
-
usedKeys
|
|
370
|
+
if (!usedKeys[fullKey]) {
|
|
371
|
+
usedKeys[fullKey] = 1;
|
|
248
372
|
addStyleToInsertRules(rulesToInsert, style2);
|
|
249
373
|
mergeClassName(transforms, classNames, fullKey, style2.identifier, isMediaOrPseudo);
|
|
250
374
|
}
|
|
251
375
|
}
|
|
376
|
+
} else {
|
|
252
377
|
}
|
|
253
378
|
continue;
|
|
254
379
|
}
|
|
@@ -256,18 +381,6 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
256
381
|
const mediaKey = key;
|
|
257
382
|
const mediaKeyShort = mediaKey.slice(1);
|
|
258
383
|
mediaKeys.push(mediaKeyShort);
|
|
259
|
-
if (!import_useMedia.mediaQueryConfig[mediaKeyShort]) {
|
|
260
|
-
if (process.env.NODE_ENV === "development" && debug) {
|
|
261
|
-
console.warn(
|
|
262
|
-
`Warning: using a $ prefixed prop that doesn't match to a media query, may be an error`,
|
|
263
|
-
key
|
|
264
|
-
);
|
|
265
|
-
}
|
|
266
|
-
if (!usedKeys.has(key)) {
|
|
267
|
-
viewProps[key] = val;
|
|
268
|
-
}
|
|
269
|
-
continue;
|
|
270
|
-
}
|
|
271
384
|
const mediaStyle = getSubStyle(
|
|
272
385
|
key,
|
|
273
386
|
val,
|
|
@@ -286,34 +399,24 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
286
399
|
for (const style2 of mediaStyles) {
|
|
287
400
|
const out = (0, import_createMediaStyle.createMediaStyle)(style2, mediaKeyShort, import_useMedia.mediaQueryConfig);
|
|
288
401
|
const fullKey = `${style2.property}${PROP_SPLIT}${mediaKeyShort}`;
|
|
289
|
-
if (!usedKeys
|
|
290
|
-
usedKeys
|
|
402
|
+
if (!usedKeys[fullKey]) {
|
|
403
|
+
usedKeys[fullKey] = 1;
|
|
291
404
|
addStyleToInsertRules(rulesToInsert, out);
|
|
292
405
|
mergeClassName(transforms, classNames, fullKey, out.identifier, true);
|
|
293
406
|
}
|
|
294
407
|
}
|
|
295
|
-
} else {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (shouldDoClasses) {
|
|
301
|
-
Object.assign(medias, mediaStyle);
|
|
302
|
-
} else {
|
|
303
|
-
for (const key2 in mediaStyle) {
|
|
304
|
-
usedKeys.add(key2);
|
|
305
|
-
style[key2] = mediaStyle[key2];
|
|
306
|
-
if (key2 === "fontFamily") {
|
|
307
|
-
fontFamily = mediaStyle[key2];
|
|
308
|
-
}
|
|
309
|
-
}
|
|
408
|
+
} else if (mediaState[mediaKeyShort]) {
|
|
409
|
+
for (const key2 in mediaStyle) {
|
|
410
|
+
const didMerge = (0, import_useMedia.mergeMediaByImportance)(style, key2, mediaStyle[key2], usedKeys);
|
|
411
|
+
if (didMerge && key2 === "fontFamily") {
|
|
412
|
+
fontFamily = mediaStyle[key2];
|
|
310
413
|
}
|
|
311
414
|
}
|
|
312
415
|
}
|
|
313
416
|
continue;
|
|
314
417
|
}
|
|
315
418
|
if (!import_constants.isWeb && key === "pointerEvents") {
|
|
316
|
-
usedKeys
|
|
419
|
+
usedKeys[key] = 1;
|
|
317
420
|
viewProps[key] = val;
|
|
318
421
|
continue;
|
|
319
422
|
}
|
|
@@ -321,7 +424,7 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
321
424
|
fontFamily = valInit[0] === "$" ? valInit : val;
|
|
322
425
|
}
|
|
323
426
|
if (validStyleProps[key]) {
|
|
324
|
-
usedKeys
|
|
427
|
+
usedKeys[key] = 1;
|
|
325
428
|
if (val && val[0] === "_") {
|
|
326
429
|
classNames[key] = val;
|
|
327
430
|
} else if (key in import_helpers.stylePropsTransform) {
|
|
@@ -334,7 +437,7 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
334
437
|
if (!staticConfig.variants || !(key in staticConfig.variants)) {
|
|
335
438
|
if (!skipProps[key]) {
|
|
336
439
|
viewProps[key] = val;
|
|
337
|
-
usedKeys
|
|
440
|
+
usedKeys[key] = 1;
|
|
338
441
|
}
|
|
339
442
|
}
|
|
340
443
|
}
|
|
@@ -343,10 +446,26 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
343
446
|
if (import_constants.isWeb) {
|
|
344
447
|
(0, import_getStylesAtomic.styleToCSS)(style);
|
|
345
448
|
}
|
|
346
|
-
if (
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
449
|
+
if (parentSplitStyles) {
|
|
450
|
+
if (process.env.TAMAGUI_TARGET === "web") {
|
|
451
|
+
for (const key in parentSplitStyles.classNames) {
|
|
452
|
+
if (key in classNames)
|
|
453
|
+
continue;
|
|
454
|
+
if (key in style)
|
|
455
|
+
continue;
|
|
456
|
+
const val = parentSplitStyles.classNames[key];
|
|
457
|
+
if (!shouldDoClasses) {
|
|
458
|
+
style[key] = (0, import_normalizeValueWithProperty.reverseMapClassNameToValue)(key, val);
|
|
459
|
+
} else {
|
|
460
|
+
classNames[key] = val;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
if (!shouldDoClasses) {
|
|
465
|
+
for (const key in parentSplitStyles.style) {
|
|
466
|
+
if (key in style)
|
|
467
|
+
continue;
|
|
468
|
+
style[key] = parentSplitStyles.style[key];
|
|
350
469
|
}
|
|
351
470
|
}
|
|
352
471
|
}
|
|
@@ -359,8 +478,6 @@ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, la
|
|
|
359
478
|
mergeClassName(transforms, classNames, key, atomicStyle.identifier);
|
|
360
479
|
}
|
|
361
480
|
}
|
|
362
|
-
}
|
|
363
|
-
if (process.env.TAMAGUI_TARGET === "web") {
|
|
364
481
|
if (transforms) {
|
|
365
482
|
for (const namespace in transforms) {
|
|
366
483
|
if (!transforms[namespace]) {
|
|
@@ -511,13 +628,15 @@ function addStyleToInsertRules(rulesToInsert, styleObject) {
|
|
|
511
628
|
rulesToInsert.push(styleObject);
|
|
512
629
|
}
|
|
513
630
|
}
|
|
631
|
+
function processIDRefList(idRefList) {
|
|
632
|
+
return Array.isArray(idRefList) ? idRefList.join(" ") : idRefList;
|
|
633
|
+
}
|
|
514
634
|
// Annotate the CommonJS export names for ESM import in node:
|
|
515
635
|
0 && (module.exports = {
|
|
516
636
|
PROP_SPLIT,
|
|
517
637
|
getSplitStyles,
|
|
518
638
|
getSubStyle,
|
|
519
639
|
insertSplitStyles,
|
|
520
|
-
pseudoCNInverse,
|
|
521
640
|
useSplitStyles
|
|
522
641
|
});
|
|
523
642
|
//# sourceMappingURL=getSplitStyles.js.map
|