@tamagui/web 1.89.5 → 1.89.7

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.
Files changed (37) hide show
  1. package/dist/cjs/createComponent.js +4 -4
  2. package/dist/cjs/createComponent.js.map +1 -1
  3. package/dist/cjs/createComponent.native.js +5 -4
  4. package/dist/cjs/createComponent.native.js.map +2 -2
  5. package/dist/cjs/helpers/getSplitStyles.js +48 -48
  6. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  7. package/dist/cjs/helpers/getSplitStyles.native.js +37 -34
  8. package/dist/cjs/helpers/getSplitStyles.native.js.map +2 -2
  9. package/dist/cjs/hooks/useProps.js +3 -2
  10. package/dist/cjs/hooks/useProps.js.map +1 -1
  11. package/dist/cjs/hooks/useProps.native.js +3 -2
  12. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  13. package/dist/esm/createComponent.js +4 -4
  14. package/dist/esm/createComponent.js.map +1 -1
  15. package/dist/esm/createComponent.mjs +4 -4
  16. package/dist/esm/createComponent.native.js +5 -4
  17. package/dist/esm/createComponent.native.js.map +2 -2
  18. package/dist/esm/helpers/getSplitStyles.js +48 -48
  19. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  20. package/dist/esm/helpers/getSplitStyles.mjs +53 -54
  21. package/dist/esm/helpers/getSplitStyles.native.js +37 -34
  22. package/dist/esm/helpers/getSplitStyles.native.js.map +2 -2
  23. package/dist/esm/hooks/useProps.js +3 -2
  24. package/dist/esm/hooks/useProps.js.map +1 -1
  25. package/dist/esm/hooks/useProps.mjs +3 -2
  26. package/dist/esm/hooks/useProps.native.js +3 -2
  27. package/dist/esm/hooks/useProps.native.js.map +1 -1
  28. package/package.json +11 -11
  29. package/src/createComponent.tsx +5 -3
  30. package/src/helpers/getSplitStyles.tsx +62 -47
  31. package/src/hooks/useProps.tsx +3 -2
  32. package/src/types.tsx +3 -2
  33. package/types/createComponent.d.ts.map +1 -1
  34. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  35. package/types/hooks/useProps.d.ts.map +1 -1
  36. package/types/types.d.ts +3 -2
  37. package/types/types.d.ts.map +1 -1
@@ -629,6 +629,7 @@ export function createComponent<
629
629
 
630
630
  // hide strategy will set this opacity = 0 until measured
631
631
  if (props.group && props.untilMeasured === 'hide' && !curState.hasMeasured) {
632
+ splitStyles.style ||= {}
632
633
  splitStyles.style.opacity = 0
633
634
  }
634
635
 
@@ -715,7 +716,7 @@ export function createComponent<
715
716
  const animations = useAnimations({
716
717
  props: propsWithAnimation,
717
718
  // if hydrating, send empty style
718
- style: splitStylesStyle,
719
+ style: splitStylesStyle || {},
719
720
  presence,
720
721
  componentState: state,
721
722
  styleProps,
@@ -1072,6 +1073,7 @@ export function createComponent<
1072
1073
  staticConfig
1073
1074
  )
1074
1075
  }
1076
+
1075
1077
  if (useChildrenResult) {
1076
1078
  content = useChildrenResult
1077
1079
  } else {
@@ -1108,8 +1110,8 @@ export function createComponent<
1108
1110
  // capture just initial width and height if they exist
1109
1111
  // will have top, left, width, height (not x, y)
1110
1112
  layout: {
1111
- width: fromPx(splitStyles.style.width as any),
1112
- height: fromPx(splitStyles.style.height as any),
1113
+ width: fromPx(splitStyles.style?.width as any),
1114
+ height: fromPx(splitStyles.style?.height as any),
1113
1115
  } as any,
1114
1116
  },
1115
1117
  },
@@ -189,7 +189,6 @@ export const getSplitStyles: StyleSplitter = (
189
189
  let dynamicThemeAccess: boolean | undefined
190
190
  let pseudoGroups: Set<string> | undefined
191
191
  let mediaGroups: Set<string> | undefined
192
- let style: ViewStyleWithPseudos = {}
193
192
  let className = (props.className as string) || '' // existing classNames
194
193
  let mediaStylesSeen = 0
195
194
 
@@ -204,7 +203,7 @@ export const getSplitStyles: StyleSplitter = (
204
203
  styleProps,
205
204
  componentState,
206
205
  staticConfig,
207
- style,
206
+ style: null,
208
207
  theme,
209
208
  usedKeys,
210
209
  viewProps,
@@ -295,9 +294,12 @@ export const getSplitStyles: StyleSplitter = (
295
294
  if (isValidClassName || isMediaOrPseudo) {
296
295
  if (shouldDoClasses) {
297
296
  mergeClassName(transforms, classNames, keyInit, valInit, isMediaOrPseudo)
298
- delete style[keyInit]
297
+ if (styleState.style) {
298
+ delete styleState.style[keyInit]
299
+ }
299
300
  } else {
300
- style[keyInit] = reverseMapClassNameToValue(keyInit, valInit)
301
+ styleState.style ||= {}
302
+ styleState.style[keyInit] = reverseMapClassNameToValue(keyInit, valInit)
301
303
  delete classNames[keyInit]
302
304
  }
303
305
  continue
@@ -374,6 +376,7 @@ export const getSplitStyles: StyleSplitter = (
374
376
 
375
377
  if (!isValidStyleKeyInit) {
376
378
  if (keyInit.startsWith('_style') && isObj(valInit)) {
379
+ styleState.style ||= {}
377
380
  Object.assign(styleState.style, valInit)
378
381
  continue
379
382
  }
@@ -613,7 +616,8 @@ export const getSplitStyles: StyleSplitter = (
613
616
  valInit !== 'unset' &&
614
617
  (valInitType === 'number' || (valInitType === 'string' && valInit[0] !== '$'))
615
618
  ) {
616
- style[keyInit] = valInit
619
+ styleState.style ||= {}
620
+ styleState.style[keyInit] = valInit
617
621
  continue
618
622
  }
619
623
 
@@ -645,7 +649,7 @@ export const getSplitStyles: StyleSplitter = (
645
649
  curProps: { ...styleState.curProps },
646
650
  })
647
651
  log('expanded', expanded, '\nusedKeys', { ...usedKeys }, '\ncurrent', {
648
- ...style,
652
+ ...styleState.style,
649
653
  })
650
654
  }
651
655
  } catch {
@@ -789,7 +793,7 @@ export const getSplitStyles: StyleSplitter = (
789
793
  if (
790
794
  defaultValues != null &&
791
795
  !(pkey in usedKeys) &&
792
- !(pkey in styleState.style)
796
+ (!styleState.style || !(pkey in styleState.style))
793
797
  ) {
794
798
  mergeStyle(styleState, pkey, defaultValues)
795
799
  }
@@ -996,8 +1000,9 @@ export const getSplitStyles: StyleSplitter = (
996
1000
  space = valInit.space
997
1001
  continue
998
1002
  }
1003
+ styleState.style ||= {}
999
1004
  mergeMediaByImportance(
1000
- style,
1005
+ styleState.style,
1001
1006
  mediaKeyShort,
1002
1007
  subKey,
1003
1008
  mediaStyle[subKey],
@@ -1040,7 +1045,7 @@ export const getSplitStyles: StyleSplitter = (
1040
1045
  if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
1041
1046
  try {
1042
1047
  log(` ✔️ expand complete`, keyInit)
1043
- log('style', { ...style })
1048
+ log('style', { ...styleState.style })
1044
1049
  log('transforms', { ...transforms })
1045
1050
  log('viewProps', { ...viewProps })
1046
1051
  } catch {
@@ -1066,6 +1071,7 @@ export const getSplitStyles: StyleSplitter = (
1066
1071
  if (style['$$css']) {
1067
1072
  Object.assign(styleState.classNames, style)
1068
1073
  } else {
1074
+ styleState.style ||= {}
1069
1075
  Object.assign(styleState.style, style)
1070
1076
  }
1071
1077
  }
@@ -1076,12 +1082,14 @@ export const getSplitStyles: StyleSplitter = (
1076
1082
  const avoidNormalize = styleProps.noNormalize === false
1077
1083
 
1078
1084
  if (!avoidNormalize) {
1079
- fixStyles(style)
1085
+ if (styleState.style) {
1086
+ fixStyles(styleState.style)
1080
1087
 
1081
- // shouldn't this be better? but breaks some tests weirdly, need to check
1082
- // if (isWeb && !staticConfig.isReactNative) {
1083
- if (isWeb && !staticConfig.isReactNative) {
1084
- styleToCSS(style)
1088
+ // shouldn't this be better? but breaks some tests weirdly, need to check
1089
+ // if (isWeb && !staticConfig.isReactNative) {
1090
+ if (isWeb && !staticConfig.isReactNative) {
1091
+ styleToCSS(styleState.style)
1092
+ }
1085
1093
  }
1086
1094
 
1087
1095
  // these are only the flat transforms
@@ -1097,10 +1105,11 @@ export const getSplitStyles: StyleSplitter = (
1097
1105
  // so basically we sort until we get to a duplicate... we could sort even smarter but
1098
1106
  // this should work for most (all?) of our cases since the order preservation really only needs to apply
1099
1107
  // to the "flat" transform props
1108
+ styleState.style ||= {}
1100
1109
  Object.entries(styleState.transforms)
1101
1110
  .sort(([a], [b]) => a.localeCompare(b))
1102
1111
  .forEach(([key, val]) => {
1103
- mergeTransform(style, key, val, true)
1112
+ mergeTransform(styleState.style!, key, val, true)
1104
1113
  })
1105
1114
  }
1106
1115
 
@@ -1110,9 +1119,9 @@ export const getSplitStyles: StyleSplitter = (
1110
1119
  !staticConfig.isReactNative &&
1111
1120
  !staticConfig.isHOC &&
1112
1121
  (styleProps.isAnimated && !conf.animations.supportsCSSVars ? false : true) &&
1113
- Array.isArray(style.transform)
1122
+ Array.isArray(styleState.style?.transform)
1114
1123
  ) {
1115
- style.transform = transformsToString(style.transform) as any
1124
+ styleState.style.transform = transformsToString(styleState.style.transform) as any
1116
1125
  }
1117
1126
  }
1118
1127
 
@@ -1122,29 +1131,31 @@ export const getSplitStyles: StyleSplitter = (
1122
1131
  if (shouldDoClasses) {
1123
1132
  for (const key in parentSplitStyles.classNames) {
1124
1133
  const val = parentSplitStyles.classNames[key]
1125
- if (key in style || key in classNames) continue
1134
+ if ((styleState.style && key in styleState.style) || key in classNames)
1135
+ continue
1126
1136
  classNames[key] = val
1127
1137
  }
1128
1138
  }
1129
1139
  }
1130
1140
  if (!shouldDoClasses) {
1131
1141
  for (const key in parentSplitStyles.style) {
1132
- if (key in classNames || key in style) continue
1133
- style[key] = parentSplitStyles.style[key]
1142
+ if (key in classNames || (styleState.style && key in styleState.style)) continue
1143
+ styleState.style ||= {}
1144
+ styleState.style[key] = parentSplitStyles.style[key]
1134
1145
  }
1135
1146
  }
1136
1147
  }
1137
1148
  }
1138
1149
 
1139
1150
  if (process.env.TAMAGUI_TARGET === 'web') {
1140
- if (shouldDoClasses) {
1151
+ if (styleState.style && shouldDoClasses) {
1141
1152
  let retainedStyles: ViewStyleWithPseudos | undefined
1142
1153
  let shouldRetain = false
1143
1154
 
1144
- if (style['$$css']) {
1155
+ if (styleState.style['$$css']) {
1145
1156
  // avoid re-processing for rnw
1146
1157
  } else {
1147
- const atomic = getStylesAtomic(style)
1158
+ const atomic = getStylesAtomic(styleState.style)
1148
1159
 
1149
1160
  for (const atomicStyle of atomic) {
1150
1161
  const key = atomicStyle.property
@@ -1162,7 +1173,7 @@ export const getSplitStyles: StyleSplitter = (
1162
1173
 
1163
1174
  if (isAnimatedAndAnimateOnly) {
1164
1175
  retainedStyles ||= {}
1165
- retainedStyles[key] = style[key]
1176
+ retainedStyles[key] = styleState.style[key]
1166
1177
  } else if (nonAnimatedAnimateOnly) {
1167
1178
  retainedStyles ||= {}
1168
1179
  retainedStyles[key] = atomicStyle.value
@@ -1182,12 +1193,12 @@ export const getSplitStyles: StyleSplitter = (
1182
1193
 
1183
1194
  if (process.env.NODE_ENV === 'development' && props.debug === 'verbose') {
1184
1195
  console.groupCollapsed(`🔹 getSplitStyles final style object`)
1185
- console.info(style)
1196
+ console.info(styleState.style)
1186
1197
  console.groupEnd()
1187
1198
  }
1188
1199
 
1189
1200
  if (shouldRetain || !IS_STATIC) {
1190
- style = retainedStyles || {}
1201
+ styleState.style = retainedStyles || {}
1191
1202
  }
1192
1203
  }
1193
1204
 
@@ -1265,8 +1276,7 @@ export const getSplitStyles: StyleSplitter = (
1265
1276
  hasMedia,
1266
1277
  fontFamily: styleState.fontFamily,
1267
1278
  viewProps,
1268
- // @ts-expect-error
1269
- style,
1279
+ style: styleState.style as any,
1270
1280
  pseudos,
1271
1281
  classNames,
1272
1282
  rulesToInsert,
@@ -1277,7 +1287,8 @@ export const getSplitStyles: StyleSplitter = (
1277
1287
 
1278
1288
  // native: swap out the right family based on weight/style
1279
1289
  if (process.env.TAMAGUI_TARGET === 'native') {
1280
- if (style.fontFamily) {
1290
+ const style = styleState.style
1291
+ if (style?.fontFamily) {
1281
1292
  const faceInfo = getFont(style.fontFamily as string)?.face
1282
1293
  if (faceInfo) {
1283
1294
  const overrideFace =
@@ -1296,21 +1307,23 @@ export const getSplitStyles: StyleSplitter = (
1296
1307
  }
1297
1308
  }
1298
1309
 
1299
- // merge className and style back into viewProps:
1300
- let fontFamily =
1301
- isText || isInput
1302
- ? styleState.fontFamily || staticConfig.defaultProps?.fontFamily
1303
- : null
1304
- if (fontFamily && fontFamily[0] === '$') {
1305
- fontFamily = fontFamily.slice(1)
1306
- }
1307
- const fontFamilyClassName = fontFamily ? `font_${fontFamily}` : ''
1308
1310
  const asChild = props.asChild
1309
1311
  const asChildExceptStyleLike =
1310
1312
  asChild === 'except-style' || asChild === 'except-style-web'
1311
1313
 
1312
1314
  if (!asChildExceptStyleLike) {
1315
+ const style = styleState.style
1316
+
1313
1317
  if (process.env.TAMAGUI_TARGET === 'web') {
1318
+ // merge className and style back into viewProps:
1319
+ let fontFamily =
1320
+ isText || isInput
1321
+ ? styleState.fontFamily || staticConfig.defaultProps?.fontFamily
1322
+ : null
1323
+ if (fontFamily && fontFamily[0] === '$') {
1324
+ fontFamily = fontFamily.slice(1)
1325
+ }
1326
+ const fontFamilyClassName = fontFamily ? `font_${fontFamily}` : ''
1314
1327
  const groupClassName = props.group ? `t_group_${props.group}` : ''
1315
1328
  const componentNameFinal = props.componentName || staticConfig.componentName
1316
1329
  const componentClassName =
@@ -1324,9 +1337,8 @@ export const getSplitStyles: StyleSplitter = (
1324
1337
  if (props.className) classList.push(props.className)
1325
1338
  const finalClassName = classList.join(' ')
1326
1339
 
1327
- if (styleProps.noExpand) {
1340
+ if (styleProps.noMergeStyle) {
1328
1341
  // this is passed in by useProps() and we want to avoid all .style setting then
1329
- // TODO make it its own attribute
1330
1342
  if (finalClassName) {
1331
1343
  viewProps.className = finalClassName
1332
1344
  }
@@ -1335,7 +1347,9 @@ export const getSplitStyles: StyleSplitter = (
1335
1347
  !conf.animations.supportsCSSVars &&
1336
1348
  isReactNative
1337
1349
  ) {
1338
- viewProps.style = style as any
1350
+ if (style) {
1351
+ viewProps.style = style as any
1352
+ }
1339
1353
  } else if (isReactNative) {
1340
1354
  const cnStyles = { $$css: true }
1341
1355
  for (const name of finalClassName.split(' ')) {
@@ -1346,12 +1360,13 @@ export const getSplitStyles: StyleSplitter = (
1346
1360
  if (finalClassName) {
1347
1361
  viewProps.className = finalClassName
1348
1362
  }
1349
- viewProps.style = style as any
1363
+ if (style) {
1364
+ viewProps.style = style as any
1365
+ }
1350
1366
  }
1351
1367
  } else {
1352
1368
  // this is passed in by useProps() and we want to avoid all .style setting then
1353
- // TODO make it its own attribute
1354
- if (!styleProps.noExpand) {
1369
+ if (style && !styleProps.noMergeStyle) {
1355
1370
  // native assign styles
1356
1371
  viewProps.style = style as any
1357
1372
  }
@@ -1369,7 +1384,6 @@ export const getSplitStyles: StyleSplitter = (
1369
1384
  componentState,
1370
1385
  transforms,
1371
1386
  viewProps,
1372
- viewPropsOrder: Object.keys(viewProps),
1373
1387
  rulesToInsert,
1374
1388
  parentSplitStyles,
1375
1389
  }
@@ -1425,7 +1439,7 @@ function mergeStyle(
1425
1439
  val: any,
1426
1440
  disableNormalize = false
1427
1441
  ) {
1428
- const { classNames, viewProps, style, usedKeys, styleProps } = styleState
1442
+ const { classNames, viewProps, usedKeys, styleProps } = styleState
1429
1443
  if (isWeb && val?.[0] === '_') {
1430
1444
  classNames[key] = val
1431
1445
  usedKeys[key] ||= 1
@@ -1438,7 +1452,8 @@ function mergeStyle(
1438
1452
  if (key in validStylesOnBaseProps) {
1439
1453
  viewProps[key] = out
1440
1454
  } else {
1441
- style[key] = out
1455
+ styleState.style ||= {}
1456
+ styleState.style[key] = out
1442
1457
  }
1443
1458
  }
1444
1459
  }
@@ -61,7 +61,7 @@ export function useStyle<A extends StyleLikeObject>(
61
61
  props: A,
62
62
  opts?: UsePropsOptions
63
63
  ): PropsWithoutMediaStyles<A> {
64
- return usePropsAndStyle(props, opts)[1]
64
+ return usePropsAndStyle(props, opts)[1] || {}
65
65
  }
66
66
 
67
67
  /**
@@ -90,6 +90,7 @@ export function usePropsAndStyle<A extends StyleLikeObject>(
90
90
  isAnimated: false,
91
91
  mediaState: media,
92
92
  noSkip: true,
93
+ noMergeStyle: true,
93
94
  noClassNames: true,
94
95
  resolveValues: 'auto',
95
96
  ...opts,
@@ -97,5 +98,5 @@ export function usePropsAndStyle<A extends StyleLikeObject>(
97
98
  null,
98
99
  componentContext
99
100
  )
100
- return [splitStyles.viewProps, splitStyles.style, theme, media] as any
101
+ return [splitStyles.viewProps, splitStyles.style || {}, theme, media] as any
101
102
  }
package/src/types.tsx CHANGED
@@ -1519,7 +1519,7 @@ export type PropMappedValue = [string, any][] | undefined
1519
1519
  type FlatTransforms = Record<string, any>
1520
1520
 
1521
1521
  export type GetStyleState = {
1522
- style: TextStyleProps
1522
+ style: TextStyleProps | null
1523
1523
  usedKeys: Record<string, number>
1524
1524
  classNames: ClassNamesObject
1525
1525
  staticConfig: StaticConfig
@@ -1871,6 +1871,7 @@ export type SplitStyleProps = {
1871
1871
  noExpand?: boolean
1872
1872
  noNormalize?: boolean | 'values'
1873
1873
  noSkip?: boolean
1874
+ noMergeStyle?: boolean
1874
1875
  resolveValues?: ResolveVariableAs
1875
1876
  disableExpandShorthands?: boolean
1876
1877
  fallbackProps?: Record<string, any>
@@ -2002,7 +2003,7 @@ export type RulesToInsert = StyleObject[]
2002
2003
 
2003
2004
  export type GetStyleResult = {
2004
2005
  pseudos?: PseudoStyles | null
2005
- style: ViewStyle
2006
+ style: ViewStyle | null
2006
2007
  classNames: ClassNamesObject
2007
2008
  rulesToInsert: RulesToInsert
2008
2009
  viewProps: StackProps & Record<string, any>
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAYN,MAAM,OAAO,CAAA;AAuBd,OAAO,KAAK,EAEV,SAAS,EAMT,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAElB,YAAY,EAEZ,gBAAgB,EAEhB,cAAc,EAMf,MAAM,SAAS,CAAA;AAiBhB,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA6D3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACnD,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,SAAS,GAAG,KAAK,EACjB,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,YAAY,EAAE,YAAY,wEAopC3B;AAsBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,OAEjD;yBAFe,QAAQ;;;AAkBxB,eAAO,MAAM,MAAM,yFA0CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAA;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAiGxD"}
1
+ {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,KAYN,MAAM,OAAO,CAAA;AAuBd,OAAO,KAAK,EAEV,SAAS,EAMT,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAElB,YAAY,EAEZ,gBAAgB,EAEhB,cAAc,EAMf,MAAM,SAAS,CAAA;AAiBhB,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA6D3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACnD,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,SAAS,GAAG,KAAK,EACjB,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,YAAY,EAAE,YAAY,wEAspC3B;AAsBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,OAEjD;yBAFe,QAAQ;;;AAkBxB,eAAO,MAAM,MAAM,yFA0CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,GAAG,OAAO,CAAA;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAiGxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAOb,eAAe,EACf,YAAY,EAGZ,cAAc,EACd,WAAW,EAEZ,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AA6BhF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAE3B,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,KACd,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AA8B7B,eAAO,MAAM,cAAc,EAAE,aAiuC5B,CAAA;AA2DD,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,wBACO,OAAO,KAC5B,cA2BF,CAAA;AAQD,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAA"}
1
+ {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAEV,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAOb,eAAe,EACf,YAAY,EAGZ,cAAc,EACd,WAAW,EAEZ,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AA6BhF,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,KAAK,aAAa,GAAG,CACnB,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,qBAAqB,EACrC,UAAU,EAAE,eAAe,EAC3B,iBAAiB,CAAC,EAAE,cAAc,GAAG,IAAI,EACzC,OAAO,CAAC,EAAE,iBAAiB,EAE3B,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,SAAS,KACd,cAAc,CAAA;AAEnB,eAAO,MAAM,UAAU,MAAM,CAAA;AA8B7B,eAAO,MAAM,cAAc,EAAE,aA+uC5B,CAAA;AA4DD,eAAO,MAAM,WAAW,eACV,aAAa,UACjB,MAAM,WACL,MAAM,wBACO,OAAO,KAC5B,cA2BF,CAAA;AAQD,eAAO,MAAM,cAAc,EAAE,aAU5B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useProps.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,UAAU,CAAA;AAKjB,KAAK,eAAe,GAAG,IAAI,CACzB,eAAe,EACf,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAC9D,GAAG;IACF,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,YAAY,CAAC,EAAE;QAAE,YAAY,EAAE,YAAY,CAAA;KAAE,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;KAEtC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;CACjE,CAAA;AAED,KAAK,eAAe,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAA;AAElE;;;;;KAKK;AACL,wBAAgB,QAAQ,CAAC,CAAC,SAAS,eAAe,EAChD,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE,eAAe,GACrB,uBAAuB,CAAC,CAAC,CAAC,CAW5B;AAED;;;;;KAKK;AACL,wBAAgB,QAAQ,CAAC,CAAC,SAAS,eAAe,EAChD,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE,eAAe,GACrB,uBAAuB,CAAC,CAAC,CAAC,CAE5B;AAED;;;;;KAKK;AACL,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,EACxD,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE,eAAe,GACrB,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CAyBtF"}
1
+ {"version":3,"file":"useProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useProps.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACd,MAAM,UAAU,CAAA;AAKjB,KAAK,eAAe,GAAG,IAAI,CACzB,eAAe,EACf,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CAC9D,GAAG;IACF,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,YAAY,CAAC,EAAE;QAAE,YAAY,EAAE,YAAY,CAAA;KAAE,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;KAEtC,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;CACjE,CAAA;AAED,KAAK,eAAe,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAA;AAElE;;;;;KAKK;AACL,wBAAgB,QAAQ,CAAC,CAAC,SAAS,eAAe,EAChD,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE,eAAe,GACrB,uBAAuB,CAAC,CAAC,CAAC,CAW5B;AAED;;;;;KAKK;AACL,wBAAgB,QAAQ,CAAC,CAAC,SAAS,eAAe,EAChD,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE,eAAe,GACrB,uBAAuB,CAAC,CAAC,CAAC,CAE5B;AAED;;;;;KAKK;AACL,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,eAAe,EACxD,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE,eAAe,GACrB,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,CA0BtF"}
package/types/types.d.ts CHANGED
@@ -776,7 +776,7 @@ export type TamaguiProviderProps = Partial<Omit<ThemeProviderProps, 'children'>>
776
776
  export type PropMappedValue = [string, any][] | undefined;
777
777
  type FlatTransforms = Record<string, any>;
778
778
  export type GetStyleState = {
779
- style: TextStyleProps;
779
+ style: TextStyleProps | null;
780
780
  usedKeys: Record<string, number>;
781
781
  classNames: ClassNamesObject;
782
782
  staticConfig: StaticConfig;
@@ -960,6 +960,7 @@ export type SplitStyleProps = {
960
960
  noExpand?: boolean;
961
961
  noNormalize?: boolean | 'values';
962
962
  noSkip?: boolean;
963
+ noMergeStyle?: boolean;
963
964
  resolveValues?: ResolveVariableAs;
964
965
  disableExpandShorthands?: boolean;
965
966
  fallbackProps?: Record<string, any>;
@@ -1063,7 +1064,7 @@ export type GestureReponderEvent = Exclude<View['props']['onResponderMove'], voi
1063
1064
  export type RulesToInsert = StyleObject[];
1064
1065
  export type GetStyleResult = {
1065
1066
  pseudos?: PseudoStyles | null;
1066
- style: ViewStyle;
1067
+ style: ViewStyle | null;
1067
1068
  classNames: ClassNamesObject;
1068
1069
  rulesToInsert: RulesToInsert;
1069
1070
  viewProps: StackProps & Record<string, any>;