@tamagui/web 1.129.12 → 1.129.13
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/contexts/ComponentContext.cjs +1 -6
- package/dist/cjs/contexts/ComponentContext.js +1 -6
- package/dist/cjs/contexts/ComponentContext.js.map +1 -1
- package/dist/cjs/contexts/ComponentContext.native.js +1 -6
- package/dist/cjs/contexts/ComponentContext.native.js.map +2 -2
- package/dist/cjs/contexts/GroupContext.cjs +27 -0
- package/dist/cjs/contexts/GroupContext.js +22 -0
- package/dist/cjs/contexts/GroupContext.js.map +6 -0
- package/dist/cjs/contexts/GroupContext.native.js +26 -0
- package/dist/cjs/contexts/GroupContext.native.js.map +6 -0
- package/dist/cjs/createComponent.cjs +131 -90
- package/dist/cjs/createComponent.js +139 -94
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createComponent.native.js +156 -106
- package/dist/cjs/createComponent.native.js.map +2 -2
- package/dist/cjs/helpers/createStyledContext.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +68 -49
- package/dist/cjs/helpers/getSplitStyles.js +64 -55
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.native.js +82 -63
- package/dist/cjs/helpers/getSplitStyles.native.js.map +2 -2
- package/dist/cjs/helpers/pseudoDescriptors.cjs +12 -12
- package/dist/cjs/helpers/pseudoDescriptors.js +12 -12
- package/dist/cjs/helpers/pseudoDescriptors.js.map +1 -1
- package/dist/cjs/helpers/pseudoDescriptors.native.js +12 -12
- package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -1
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +48 -31
- package/dist/cjs/helpers/subscribeToContextGroup.js +36 -20
- package/dist/cjs/helpers/subscribeToContextGroup.js.map +1 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +48 -20
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +2 -2
- package/dist/cjs/hooks/useComponentState.cjs +2 -40
- package/dist/cjs/hooks/useComponentState.js +2 -30
- package/dist/cjs/hooks/useComponentState.js.map +2 -2
- package/dist/cjs/hooks/useComponentState.native.js +3 -43
- package/dist/cjs/hooks/useComponentState.native.js.map +2 -2
- package/dist/cjs/hooks/useConfiguration.cjs +1 -17
- package/dist/cjs/hooks/useConfiguration.js +2 -9
- package/dist/cjs/hooks/useConfiguration.js.map +1 -1
- package/dist/cjs/hooks/useConfiguration.native.js +2 -7
- package/dist/cjs/hooks/useConfiguration.native.js.map +2 -2
- package/dist/cjs/hooks/useMedia.cjs +4 -3
- package/dist/cjs/hooks/useMedia.js +3 -3
- package/dist/cjs/hooks/useMedia.js.map +1 -1
- package/dist/cjs/hooks/useMedia.native.js +3 -3
- package/dist/cjs/hooks/useMedia.native.js.map +2 -2
- package/dist/cjs/hooks/useProps.cjs +7 -6
- package/dist/cjs/hooks/useProps.js +13 -11
- package/dist/cjs/hooks/useProps.js.map +1 -1
- package/dist/cjs/hooks/useProps.native.js +11 -10
- package/dist/cjs/hooks/useProps.native.js.map +2 -2
- package/dist/cjs/hooks/useThemeState.cjs +2 -2
- package/dist/cjs/hooks/useThemeState.js +2 -2
- package/dist/cjs/hooks/useThemeState.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.native.js +2 -2
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/contexts/ComponentContext.js +1 -6
- package/dist/esm/contexts/ComponentContext.js.map +1 -1
- package/dist/esm/contexts/ComponentContext.mjs +1 -6
- package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
- package/dist/esm/contexts/ComponentContext.native.js +1 -6
- package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
- package/dist/esm/contexts/GroupContext.js +6 -0
- package/dist/esm/contexts/GroupContext.js.map +6 -0
- package/dist/esm/contexts/GroupContext.mjs +4 -0
- package/dist/esm/contexts/GroupContext.mjs.map +1 -0
- package/dist/esm/contexts/GroupContext.native.js +4 -0
- package/dist/esm/contexts/GroupContext.native.js.map +1 -0
- package/dist/esm/createComponent.js +141 -94
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createComponent.mjs +132 -91
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +152 -102
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/helpers/createStyledContext.js.map +1 -1
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +68 -56
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.mjs +68 -49
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +72 -53
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/pseudoDescriptors.js +12 -12
- package/dist/esm/helpers/pseudoDescriptors.js.map +1 -1
- package/dist/esm/helpers/pseudoDescriptors.mjs +12 -12
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +1 -1
- package/dist/esm/helpers/pseudoDescriptors.native.js +12 -12
- package/dist/esm/helpers/pseudoDescriptors.native.js.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.js +36 -20
- package/dist/esm/helpers/subscribeToContextGroup.js.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.mjs +47 -30
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js +64 -36
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/esm/hooks/useComponentState.js +2 -30
- package/dist/esm/hooks/useComponentState.js.map +2 -2
- package/dist/esm/hooks/useComponentState.mjs +2 -40
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +3 -46
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useConfiguration.js +1 -9
- package/dist/esm/hooks/useConfiguration.js.map +1 -1
- package/dist/esm/hooks/useConfiguration.mjs +1 -17
- package/dist/esm/hooks/useConfiguration.mjs.map +1 -1
- package/dist/esm/hooks/useConfiguration.native.js +1 -15
- package/dist/esm/hooks/useConfiguration.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.js +3 -3
- package/dist/esm/hooks/useMedia.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +4 -3
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +4 -3
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useProps.js +13 -10
- package/dist/esm/hooks/useProps.js.map +1 -1
- package/dist/esm/hooks/useProps.mjs +7 -6
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +7 -6
- package/dist/esm/hooks/useProps.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.js +2 -2
- package/dist/esm/hooks/useThemeState.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +2 -2
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +2 -2
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/package.json +12 -12
- package/src/contexts/ComponentContext.tsx +0 -5
- package/src/contexts/GroupContext.tsx +4 -0
- package/src/createComponent.tsx +251 -107
- package/src/helpers/createStyledContext.tsx +1 -1
- package/src/helpers/getSplitStyles.tsx +77 -56
- package/src/helpers/pseudoDescriptors.ts +15 -19
- package/src/helpers/subscribeToContextGroup.tsx +70 -34
- package/src/hooks/useComponentState.ts +2 -46
- package/src/hooks/useConfiguration.tsx +1 -9
- package/src/hooks/useMedia.tsx +4 -2
- package/src/hooks/useProps.tsx +15 -10
- package/src/hooks/useThemeState.ts +2 -2
- package/src/index.ts +1 -0
- package/src/interfaces/TamaguiComponentState.tsx +4 -3
- package/src/types.tsx +33 -36
- package/src/views/TamaguiProvider.tsx +1 -0
- package/types/contexts/ComponentContext.d.ts.map +1 -1
- package/types/contexts/GroupContext.d.ts +3 -0
- package/types/contexts/GroupContext.d.ts.map +1 -0
- package/types/createComponent.d.ts +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +2 -2
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/pseudoDescriptors.d.ts +14 -13
- package/types/helpers/pseudoDescriptors.d.ts.map +1 -1
- package/types/helpers/subscribeToContextGroup.d.ts +7 -6
- package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts +3 -3
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useConfiguration.d.ts +1 -121
- package/types/hooks/useConfiguration.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +2 -2
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useProps.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/TamaguiComponentState.d.ts +2 -2
- package/types/interfaces/TamaguiComponentState.d.ts.map +1 -1
- package/types/types.d.ts +22 -33
- package/types/types.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
|
@@ -65,7 +65,7 @@ const PROP_SPLIT = "-";
|
|
|
65
65
|
function isValidStyleKey(key, validStyles, accept) {
|
|
66
66
|
return key in validStyles ? !0 : accept && key in accept;
|
|
67
67
|
}
|
|
68
|
-
const getSplitStyles = (props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, componentContext, elementType, startedUnhydrated, debug) => {
|
|
68
|
+
const getSplitStyles = (props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, componentContext, groupContext, elementType, startedUnhydrated, debug) => {
|
|
69
69
|
conf = conf || (0, import_config.getConfig)();
|
|
70
70
|
const animationDriver = componentContext?.animationDriver || conf.animations;
|
|
71
71
|
import_constants.isWeb && styleProps.isAnimated && animationDriver.isReactNative && !styleProps.noNormalize && (styleProps.noNormalize = "values");
|
|
@@ -85,7 +85,6 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
85
85
|
} = staticConfig,
|
|
86
86
|
viewProps = {},
|
|
87
87
|
mediaState = styleProps.mediaState || import_useMedia.mediaState,
|
|
88
|
-
usedKeys = {},
|
|
89
88
|
shouldDoClasses = acceptsClassName && import_constants.isWeb && !styleProps.noClass && !styleProps.isAnimated,
|
|
90
89
|
rulesToInsert = {},
|
|
91
90
|
classNames = {};
|
|
@@ -108,7 +107,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
108
107
|
staticConfig,
|
|
109
108
|
style: null,
|
|
110
109
|
theme,
|
|
111
|
-
usedKeys,
|
|
110
|
+
usedKeys: {},
|
|
112
111
|
viewProps,
|
|
113
112
|
context: componentContext,
|
|
114
113
|
debug
|
|
@@ -123,7 +122,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
123
122
|
}
|
|
124
123
|
}));
|
|
125
124
|
}
|
|
126
|
-
process.env.NODE_ENV === "development" && debug === "profile" && time`style-state`, process.env.NODE_ENV === "development" && debug && debug !== "profile" && import_constants.isClient && (console.groupCollapsed("getSplitStyles
|
|
125
|
+
process.env.NODE_ENV === "development" && debug === "profile" && time`style-state`, process.env.NODE_ENV === "development" && debug && debug !== "profile" && import_constants.isClient && import_isDevTools.isDevTools && (console.groupCollapsed("\u{1F539} getSplitStyles \u{1F447}"), (0, import_log.log)({
|
|
127
126
|
props,
|
|
128
127
|
staticConfig,
|
|
129
128
|
shouldDoClasses,
|
|
@@ -134,7 +133,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
134
133
|
theme: {
|
|
135
134
|
...theme
|
|
136
135
|
}
|
|
137
|
-
})
|
|
136
|
+
}));
|
|
138
137
|
const {
|
|
139
138
|
asChild
|
|
140
139
|
} = props,
|
|
@@ -165,7 +164,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
165
164
|
continue;
|
|
166
165
|
}
|
|
167
166
|
}
|
|
168
|
-
if (process.env.NODE_ENV, disableExpandShorthands || keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === "className" ||
|
|
167
|
+
if (process.env.NODE_ENV, disableExpandShorthands || keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === "className" || asChild && import_constants2.webViewFlexCompatStyles[keyInit] === valInit) continue;
|
|
169
168
|
if (keyInit in import_skipProps.skipProps && !noSkip && !isHOC) {
|
|
170
169
|
if (keyInit === "group") {
|
|
171
170
|
const identifier = `t_group_${valInit}`,
|
|
@@ -174,7 +173,6 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
174
173
|
}
|
|
175
174
|
continue;
|
|
176
175
|
}
|
|
177
|
-
const valInitType = typeof valInit;
|
|
178
176
|
let isValidStyleKeyInit = isValidStyleKey(keyInit, validStyles, accept);
|
|
179
177
|
if (staticConfig.isReactNative && keyInit.startsWith("data-")) {
|
|
180
178
|
keyInit = keyInit.replace("data-", ""), viewProps.dataSet ||= {}, viewProps.dataSet[keyInit] = valInit;
|
|
@@ -251,12 +249,13 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
251
249
|
isMedia = !isStyleLikeKey && !isPseudo && (0, import_useMedia.isMediaKey)(keyInit),
|
|
252
250
|
isMediaOrPseudo = !!(isMedia || isPseudo);
|
|
253
251
|
if (isMediaOrPseudo && keyInit.startsWith("$group-")) {
|
|
254
|
-
const parts = keyInit.split("-")
|
|
252
|
+
const parts = keyInit.split("-"),
|
|
253
|
+
plen = parts.length;
|
|
255
254
|
if (
|
|
256
255
|
// check if its actually a simple group selector to avoid breaking selectors
|
|
257
|
-
|
|
256
|
+
plen === 2 || plen === 3 && import_pseudoDescriptors.pseudoPriorities[parts[parts.length - 1]]) {
|
|
258
257
|
const name = parts[1];
|
|
259
|
-
|
|
258
|
+
groupContext && !groupContext?.[name] && (keyInit = keyInit.replace("$group-", "$group-true-"));
|
|
260
259
|
}
|
|
261
260
|
}
|
|
262
261
|
const isStyleProp = isValidStyleKeyInit || isMediaOrPseudo || isVariant && !noExpand;
|
|
@@ -276,6 +275,9 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
276
275
|
variant: variants?.[keyInit],
|
|
277
276
|
isVariant,
|
|
278
277
|
isHOCShouldPassThrough,
|
|
278
|
+
usedKeys: {
|
|
279
|
+
...styleState.usedKeys
|
|
280
|
+
},
|
|
279
281
|
parentStaticConfig
|
|
280
282
|
})), shouldPassThrough && (passDownProp(viewProps, keyInit, valInit, isMediaOrPseudo), !isVariant) || !noSkip && keyInit in import_skipProps.skipProps) continue;
|
|
281
283
|
(isText || isInput) && valInit && (keyInit === "fontFamily" || keyInit === shorthands.fontFamily) && valInit in conf.fontsParsed && (styleState.fontFamily = valInit);
|
|
@@ -286,9 +288,9 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
286
288
|
viewProps[key] = val;
|
|
287
289
|
return;
|
|
288
290
|
}
|
|
289
|
-
if (process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(" \u{1F4A0} expanded", keyInit, "=>", key), (0, import_log.log)(val), console.groupEnd()), val == null
|
|
291
|
+
if (process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(" \u{1F4A0} expanded", keyInit, "=>", key), (0, import_log.log)(val), console.groupEnd()), val == null) return;
|
|
290
292
|
if (!isHOC && isValidStyleKey(key, validStyles, accept)) {
|
|
291
|
-
mergeStyle(styleState, key, val);
|
|
293
|
+
mergeStyle(styleState, key, val, 1);
|
|
292
294
|
return;
|
|
293
295
|
}
|
|
294
296
|
if (isPseudo = key in import_helpers.validPseudoKeys, isMedia = !isPseudo && (0, import_useMedia.isMediaKey)(key), isMediaOrPseudo = !!(isMedia || isPseudo), isVariant = variants && key in variants, (inlineProps?.has(key) || process.env.IS_STATIC === "is_static" && inlineWhenUnflattened?.has(key)) && (viewProps[key] = props[key] ?? val), styleProps.noExpand && isPseudo || isHOC && (isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit])) {
|
|
@@ -316,7 +318,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
316
318
|
process.env.NODE_ENV === "development" && debug === "verbose" && console.info("pseudo:", key, pseudoStyleObject, pseudoStyles);
|
|
317
319
|
for (const psuedoStyle of pseudoStyles) {
|
|
318
320
|
const fullKey = `${psuedoStyle[import_helpers.StyleObjectProperty]}${PROP_SPLIT}${descriptor.name}`;
|
|
319
|
-
|
|
321
|
+
addStyleToInsertRules(rulesToInsert, psuedoStyle), classNames[fullKey] = psuedoStyle[import_helpers.StyleObjectIdentifier];
|
|
320
322
|
}
|
|
321
323
|
}
|
|
322
324
|
if (!shouldDoClasses || isExit || isEnter) {
|
|
@@ -334,9 +336,9 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
334
336
|
for (const pkey in pseudoStyleObject) {
|
|
335
337
|
const val2 = pseudoStyleObject[pkey];
|
|
336
338
|
if (isDisabled) applyDefaultStyle(pkey, styleState);else {
|
|
337
|
-
const curImportance = usedKeys[pkey] || 0,
|
|
339
|
+
const curImportance = styleState.usedKeys[pkey] || 0,
|
|
338
340
|
shouldMerge = importance >= curImportance;
|
|
339
|
-
shouldMerge && (process.env.IS_STATIC === "is_static" && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2), mergeStyle(styleState, pkey, val2)), process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(" subKey", pkey, shouldMerge, {
|
|
341
|
+
shouldMerge && (process.env.IS_STATIC === "is_static" && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2), mergeStyle(styleState, pkey, val2, importance)), process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(" subKey", pkey, shouldMerge, {
|
|
340
342
|
importance,
|
|
341
343
|
curImportance,
|
|
342
344
|
pkey,
|
|
@@ -346,7 +348,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
346
348
|
}
|
|
347
349
|
if (!isDisabled) for (const key2 in val) {
|
|
348
350
|
const k = shorthands[key2] || key2;
|
|
349
|
-
usedKeys[k] = Math.max(importance, usedKeys[k] || 0);
|
|
351
|
+
styleState.usedKeys[k] = Math.max(importance, styleState.usedKeys[k] || 0);
|
|
350
352
|
}
|
|
351
353
|
}
|
|
352
354
|
return;
|
|
@@ -356,7 +358,7 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
356
358
|
const hasSpace = val.space,
|
|
357
359
|
mediaKeyShort = key.slice(isMedia == "theme" ? 7 : 1);
|
|
358
360
|
if (hasMedia ||= !0, (hasSpace || !shouldDoClasses || styleProps.willBeAnimated) && ((!hasMedia || typeof hasMedia == "boolean") && (hasMedia = /* @__PURE__ */new Set()), hasMedia.add(mediaKeyShort)), isMedia === "platform" && !(0, import_isActivePlatform.isActivePlatform)(key)) return;
|
|
359
|
-
|
|
361
|
+
process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(` \u{1F4FA} ${key}`, {
|
|
360
362
|
key,
|
|
361
363
|
val,
|
|
362
364
|
props,
|
|
@@ -364,15 +366,15 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
364
366
|
acceptsClassName,
|
|
365
367
|
componentState,
|
|
366
368
|
mediaState
|
|
367
|
-
})
|
|
369
|
+
});
|
|
370
|
+
const priority = mediaStylesSeen;
|
|
371
|
+
if (mediaStylesSeen += 1, shouldDoClasses) {
|
|
368
372
|
const mediaStyle = getSubStyle(styleState, key, val, !1);
|
|
369
373
|
if (hasSpace && (delete mediaStyle.space, mediaState[mediaKeyShort])) {
|
|
370
|
-
const importance = (0, import_useMedia.getMediaImportanceIfMoreImportant)(mediaKeyShort, "space",
|
|
371
|
-
importance && (space = val.space, usedKeys.space = importance, process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(`Found more important space for current media ${mediaKeyShort}: ${val} (importance: ${importance})`));
|
|
374
|
+
const importance = (0, import_useMedia.getMediaImportanceIfMoreImportant)(mediaKeyShort, "space", styleState, !0);
|
|
375
|
+
importance && (space = val.space, styleState.usedKeys.space = importance, process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(`Found more important space for current media ${mediaKeyShort}: ${val} (importance: ${importance})`));
|
|
372
376
|
}
|
|
373
|
-
const mediaStyles = (0, import_getCSSStylesAtomic.getCSSStylesAtomic)(mediaStyle)
|
|
374
|
-
priority = mediaStylesSeen;
|
|
375
|
-
mediaStylesSeen += 1;
|
|
377
|
+
const mediaStyles = (0, import_getCSSStylesAtomic.getCSSStylesAtomic)(mediaStyle);
|
|
376
378
|
for (const style of mediaStyles) {
|
|
377
379
|
const property = style[import_helpers.StyleObjectProperty],
|
|
378
380
|
isSubStyle = property[0] === "$";
|
|
@@ -381,11 +383,11 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
381
383
|
process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)("\u{1F4FA} media style:", out);
|
|
382
384
|
const subKey = isSubStyle ? style[2] : "",
|
|
383
385
|
fullKey = `${style[import_helpers.StyleObjectProperty]}${subKey}${PROP_SPLIT}${mediaKeyShort}${style[import_helpers.StyleObjectPseudo] || ""}`;
|
|
384
|
-
|
|
386
|
+
addStyleToInsertRules(rulesToInsert, out), classNames[fullKey] = out[import_helpers.StyleObjectIdentifier];
|
|
385
387
|
}
|
|
386
388
|
} else {
|
|
387
389
|
let mergeMediaStyle = function (key2, val2) {
|
|
388
|
-
styleState.style ||= {}, mergeMediaByImportance(styleState, mediaKeyShort, key2, val2,
|
|
390
|
+
styleState.style ||= {}, mergeMediaByImportance(styleState, mediaKeyShort, key2, val2, mediaState[mediaKeyShort], importanceBump, debug) && key2 === "fontFamily" && (styleState.fontFamily = mediaStyle.fontFamily);
|
|
389
391
|
};
|
|
390
392
|
const isThemeMedia = isMedia === "theme",
|
|
391
393
|
isGroupMedia = isMedia === "group";
|
|
@@ -410,14 +412,14 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
410
412
|
scheme,
|
|
411
413
|
val: val2,
|
|
412
414
|
oppositeVal
|
|
413
|
-
}), mergeStyle(styleState, subKey, mediaStyle[subKey]);
|
|
415
|
+
}), mergeStyle(styleState, subKey, mediaStyle[subKey], priority);
|
|
414
416
|
}
|
|
415
417
|
} else if (!(themeName === mediaKeyShort || themeName.startsWith(mediaKeyShort))) return;
|
|
416
418
|
} else if (isGroupMedia) {
|
|
417
419
|
const groupInfo = (0, import_getGroupPropParts.getGroupPropParts)(mediaKeyShort),
|
|
418
420
|
groupName = groupInfo.name,
|
|
419
|
-
|
|
420
|
-
if (!
|
|
421
|
+
groupState = groupContext?.[groupName]?.state;
|
|
422
|
+
if (!groupState) {
|
|
421
423
|
process.env.NODE_ENV === "development" && debug && (0, import_log.log)(`No parent with group prop, skipping styles: ${groupName}`);
|
|
422
424
|
return;
|
|
423
425
|
}
|
|
@@ -428,7 +430,12 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
428
430
|
mediaGroups ||= /* @__PURE__ */new Set(), mediaGroups.add(groupMediaKey);
|
|
429
431
|
const mediaState2 = componentGroupState?.media;
|
|
430
432
|
let isActive = mediaState2?.[groupMediaKey];
|
|
431
|
-
if (!mediaState2 &&
|
|
433
|
+
if (!mediaState2 && groupState.layout && (isActive = (0, import_useMedia.mediaKeyMatch)(groupMediaKey, groupState.layout)), process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(` \u{1F3D8}\uFE0F GROUP media ${groupMediaKey} active? ${isActive}`, {
|
|
434
|
+
...mediaState2,
|
|
435
|
+
usedKeys: {
|
|
436
|
+
...styleState.usedKeys
|
|
437
|
+
}
|
|
438
|
+
}), !isActive) {
|
|
432
439
|
for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);
|
|
433
440
|
return;
|
|
434
441
|
}
|
|
@@ -436,15 +443,23 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
436
443
|
}
|
|
437
444
|
if (groupPseudoKey) {
|
|
438
445
|
pseudoGroups ||= /* @__PURE__ */new Set(), pseudoGroups.add(groupName);
|
|
439
|
-
const
|
|
446
|
+
const componentGroupPseudoState = (componentGroupState ||
|
|
440
447
|
// fallback to context initially
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
448
|
+
groupContext?.[groupName].state)?.pseudo,
|
|
449
|
+
isActive = componentGroupPseudoState?.[groupPseudoKey],
|
|
450
|
+
priority2 = import_pseudoDescriptors.pseudoPriorities[groupPseudoKey];
|
|
451
|
+
if (process.env.NODE_ENV === "development" && debug === "verbose" && (0, import_log.log)(` \u{1F3D8}\uFE0F GROUP pseudo ${groupMediaKey} active? ${isActive}, priority ${priority2}`, {
|
|
452
|
+
componentGroupPseudoState: {
|
|
453
|
+
...componentGroupPseudoState
|
|
454
|
+
},
|
|
455
|
+
usedKeys: {
|
|
456
|
+
...styleState.usedKeys
|
|
457
|
+
}
|
|
458
|
+
}), !isActive) {
|
|
444
459
|
for (const pkey in mediaStyle) applyDefaultStyle(pkey, styleState);
|
|
445
460
|
return;
|
|
446
461
|
}
|
|
447
|
-
importanceBump =
|
|
462
|
+
importanceBump = priority2;
|
|
448
463
|
}
|
|
449
464
|
}
|
|
450
465
|
for (const subKey in mediaStyle) {
|
|
@@ -470,6 +485,8 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
470
485
|
...styleState.style
|
|
471
486
|
}), (0, import_log.log)("viewProps", {
|
|
472
487
|
...viewProps
|
|
488
|
+
}), (0, import_log.log)("transforms", {
|
|
489
|
+
...styleState.flatTransforms
|
|
473
490
|
});
|
|
474
491
|
} catch {}
|
|
475
492
|
console.groupEnd();
|
|
@@ -553,8 +570,8 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
|
|
|
553
570
|
} else finalClassName && (viewProps.className = finalClassName), style && (viewProps.style = style);
|
|
554
571
|
}
|
|
555
572
|
}
|
|
556
|
-
if (process.env.NODE_ENV === "development" && debug
|
|
557
|
-
console.groupCollapsed("\u{1F539} getSplitStyles ===>");
|
|
573
|
+
if (process.env.NODE_ENV === "development" && debug && debug !== "profile" && import_constants.isClient && import_isDevTools.isDevTools) {
|
|
574
|
+
console.groupEnd(), console.groupCollapsed("\u{1F539} getSplitStyles ===>");
|
|
558
575
|
try {
|
|
559
576
|
const logs = {
|
|
560
577
|
...result,
|
|
@@ -575,16 +592,17 @@ function mergeFlatTransforms(target, flatTransforms) {
|
|
|
575
592
|
mergeTransform(target, key, val, !0);
|
|
576
593
|
});
|
|
577
594
|
}
|
|
578
|
-
function mergeStyle(styleState, key, val, disableNormalize = !1) {
|
|
595
|
+
function mergeStyle(styleState, key, val, importance, disableNormalize = !1) {
|
|
579
596
|
const {
|
|
580
597
|
viewProps,
|
|
581
598
|
styleProps,
|
|
582
|
-
staticConfig
|
|
599
|
+
staticConfig,
|
|
600
|
+
usedKeys
|
|
583
601
|
} = styleState;
|
|
584
|
-
if (key in import_helpers.stylePropsTransform) styleState.flatTransforms ||= {}, styleState.flatTransforms[key] = val;else {
|
|
602
|
+
if (!((usedKeys[key] || 0) > importance)) if (key in import_helpers.stylePropsTransform) styleState.flatTransforms ||= {}, usedKeys[key] = importance, styleState.flatTransforms[key] = val;else {
|
|
585
603
|
const out = import_constants.isWeb && !disableNormalize && !styleProps.noNormalize ? (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(val, key) : val;
|
|
586
604
|
// accept is for props not styles
|
|
587
|
-
staticConfig.accept && key in staticConfig.accept ? viewProps[key] = out : (styleState.style ||= {}, styleState.style[key] =
|
|
605
|
+
staticConfig.accept && key in staticConfig.accept ? viewProps[key] = out : (styleState.style ||= {}, usedKeys[key] = importance, styleState.style[key] =
|
|
588
606
|
// if you dont do this you'll be passing props.transform arrays directly here and then mutating them
|
|
589
607
|
// if theres any flatTransforms later, causing issues (mutating props is bad, in strict mode styles get borked)
|
|
590
608
|
key === "transform" && Array.isArray(out) ? [...out] : out);
|
|
@@ -613,8 +631,8 @@ const getSubStyle = (styleState, subKey, styleIn, avoidMergeTransform) => {
|
|
|
613
631
|
return styleProps.noNormalize || (0, import_expandStyles.fixStyles)(styleOut), styleOut;
|
|
614
632
|
},
|
|
615
633
|
useInsertEffectCompat = import_constants.isWeb ? import_react.default.useInsertionEffect || import_constants.useIsomorphicLayoutEffect : () => {},
|
|
616
|
-
useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k) => {
|
|
617
|
-
const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k);
|
|
634
|
+
useSplitStyles = (a, b, c, d, e, f, g, h, i, j, k, l) => {
|
|
635
|
+
const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l);
|
|
618
636
|
return useInsertEffectCompat(() => {
|
|
619
637
|
(0, import_insertStyleRule.insertStyleRules)(res.rulesToInsert);
|
|
620
638
|
}, [res.rulesToInsert]), res;
|
|
@@ -668,15 +686,16 @@ function passDownProp(viewProps, key, val, shouldMergeObject = !1) {
|
|
|
668
686
|
delete viewProps[key], viewProps[key] = next;
|
|
669
687
|
} else viewProps[key] = val;
|
|
670
688
|
}
|
|
671
|
-
function mergeMediaByImportance(styleState, mediaKey, key, value,
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
if (
|
|
689
|
+
function mergeMediaByImportance(styleState, mediaKey, key, value, isSizeMedia, importanceBump, debugProp) {
|
|
690
|
+
const usedKeys = styleState.usedKeys;
|
|
691
|
+
let importance = (0, import_useMedia.getMediaImportanceIfMoreImportant)(mediaKey, key, styleState, isSizeMedia);
|
|
692
|
+
if (importanceBump && (importance = (importance || 0) + importanceBump), process.env.NODE_ENV === "development" && debugProp === "verbose" && (0, import_log.log)(`mergeMediaByImportance ${key} importance usedKey ${usedKeys[key]} next ${importance}`), importance === null) return !1;
|
|
693
|
+
if (key in import_pseudoDescriptors.pseudoDescriptors) {
|
|
675
694
|
const descriptor = import_pseudoDescriptors.pseudoDescriptors[key],
|
|
676
695
|
descriptorKey = descriptor.stateKey || descriptor.name;
|
|
677
696
|
if (styleState.componentState[descriptorKey] === !1) return !1;
|
|
678
|
-
for (const subKey in value) mergeStyle(styleState, subKey, value[subKey]);
|
|
679
|
-
} else mergeStyle(styleState, key, value);
|
|
697
|
+
for (const subKey in value) mergeStyle(styleState, subKey, value[subKey], importance);
|
|
698
|
+
} else mergeStyle(styleState, key, value, importance);
|
|
680
699
|
return !0;
|
|
681
700
|
}
|
|
682
701
|
function normalizeStyle(style) {
|
|
@@ -689,5 +708,5 @@ function normalizeStyle(style) {
|
|
|
689
708
|
}
|
|
690
709
|
function applyDefaultStyle(pkey, styleState) {
|
|
691
710
|
const defaultValues = animatableDefaults[pkey];
|
|
692
|
-
defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style)) && mergeStyle(styleState, pkey, defaultValues);
|
|
711
|
+
defaultValues != null && !(pkey in styleState.usedKeys) && (!styleState.style || !(pkey in styleState.style)) && mergeStyle(styleState, pkey, defaultValues, 1);
|
|
693
712
|
}
|