@tamagui/web 3.0.0-beta.1562.1 → 3.0.0-beta.1564.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/web",
3
- "version": "3.0.0-beta.1562.1",
3
+ "version": "3.0.0-beta.1564.1",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "Nate Wienert"
@@ -100,23 +100,23 @@
100
100
  "test:web": "vitest --typecheck --run"
101
101
  },
102
102
  "dependencies": {
103
- "@tamagui/animation-helpers": "3.0.0-beta.1562.1",
104
- "@tamagui/compose-refs": "3.0.0-beta.1562.1",
105
- "@tamagui/constants": "3.0.0-beta.1562.1",
106
- "@tamagui/dom": "3.0.0-beta.1562.1",
107
- "@tamagui/helpers": "3.0.0-beta.1562.1",
108
- "@tamagui/is-equal-shallow": "3.0.0-beta.1562.1",
109
- "@tamagui/native": "3.0.0-beta.1562.1",
110
- "@tamagui/normalize-css-color": "3.0.0-beta.1562.1",
111
- "@tamagui/react-native-types": "3.0.0-beta.1562.1",
112
- "@tamagui/style-grammar": "3.0.0-beta.1562.1",
113
- "@tamagui/types": "3.0.0-beta.1562.1",
114
- "@tamagui/use-did-finish-ssr": "3.0.0-beta.1562.1",
115
- "@tamagui/use-event": "3.0.0-beta.1562.1",
116
- "@tamagui/use-force-update": "3.0.0-beta.1562.1"
103
+ "@tamagui/animation-helpers": "3.0.0-beta.1564.1",
104
+ "@tamagui/compose-refs": "3.0.0-beta.1564.1",
105
+ "@tamagui/constants": "3.0.0-beta.1564.1",
106
+ "@tamagui/dom": "3.0.0-beta.1564.1",
107
+ "@tamagui/helpers": "3.0.0-beta.1564.1",
108
+ "@tamagui/is-equal-shallow": "3.0.0-beta.1564.1",
109
+ "@tamagui/native": "3.0.0-beta.1564.1",
110
+ "@tamagui/normalize-css-color": "3.0.0-beta.1564.1",
111
+ "@tamagui/react-native-types": "3.0.0-beta.1564.1",
112
+ "@tamagui/style-grammar": "3.0.0-beta.1564.1",
113
+ "@tamagui/types": "3.0.0-beta.1564.1",
114
+ "@tamagui/use-did-finish-ssr": "3.0.0-beta.1564.1",
115
+ "@tamagui/use-event": "3.0.0-beta.1564.1",
116
+ "@tamagui/use-force-update": "3.0.0-beta.1564.1"
117
117
  },
118
118
  "devDependencies": {
119
- "@tamagui/build": "3.0.0-beta.1562.1",
119
+ "@tamagui/build": "3.0.0-beta.1564.1",
120
120
  "@testing-library/react": "^16.1.0",
121
121
  "csstype": "^3.0.10",
122
122
  "react": "19.2.3",
@@ -1730,10 +1730,8 @@ export const getSplitStyles: StyleSplitter = (
1730
1730
  }
1731
1731
  }
1732
1732
 
1733
- // native style stability: the inline per-key compare during mergeStyle found
1734
- // no value changes. fixStyles/transforms/parent defaults are all deterministic
1735
- // on those same values, so if key count matches the style is identical — swap
1736
- // in the prev ref so RN skips diffNestedProperty entirely.
1733
+ // native style stability: mergeStyle compares scalar values inline, but
1734
+ // transforms finalize later and need their own value comparison.
1737
1735
  if (process.env.TAMAGUI_TARGET === 'native') {
1738
1736
  const direct = styleState as DirectState
1739
1737
  const prevStyle = direct.flatPrevStyle
@@ -1743,7 +1741,56 @@ export const getSplitStyles: StyleSplitter = (
1743
1741
  !direct.flatStyleChanged &&
1744
1742
  Object.keys(prevStyle).length === Object.keys(styleState.style).length
1745
1743
  ) {
1746
- styleState.style = prevStyle as any
1744
+ const previousTransform = prevStyle.transform
1745
+ const nextTransform = styleState.style.transform
1746
+ let transformMatches = previousTransform === nextTransform
1747
+ if (
1748
+ !transformMatches &&
1749
+ Array.isArray(previousTransform) &&
1750
+ Array.isArray(nextTransform) &&
1751
+ previousTransform.length === nextTransform.length
1752
+ ) {
1753
+ transformMatches = true
1754
+ for (let index = 0; index < nextTransform.length; index++) {
1755
+ const previousPart = previousTransform[index]
1756
+ const nextPart = nextTransform[index]
1757
+ if (previousPart === nextPart) continue
1758
+ if (
1759
+ !previousPart ||
1760
+ !nextPart ||
1761
+ typeof previousPart !== 'object' ||
1762
+ typeof nextPart !== 'object'
1763
+ ) {
1764
+ transformMatches = false
1765
+ break
1766
+ }
1767
+ const keys = Object.keys(nextPart)
1768
+ if (keys.length !== Object.keys(previousPart).length) {
1769
+ transformMatches = false
1770
+ break
1771
+ }
1772
+ for (const key of keys) {
1773
+ const previousValue = previousPart[key]
1774
+ const nextValue = nextPart[key]
1775
+ if (
1776
+ previousValue !== nextValue &&
1777
+ !(
1778
+ Array.isArray(previousValue) &&
1779
+ Array.isArray(nextValue) &&
1780
+ previousValue.length === nextValue.length &&
1781
+ nextValue.every(
1782
+ (value, valueIndex) => value === previousValue[valueIndex]
1783
+ )
1784
+ )
1785
+ ) {
1786
+ transformMatches = false
1787
+ break
1788
+ }
1789
+ }
1790
+ if (!transformMatches) break
1791
+ }
1792
+ }
1793
+ if (transformMatches) styleState.style = prevStyle as any
1747
1794
  }
1748
1795
  }
1749
1796
 
@@ -1 +1 @@
1
- {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAGb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAqB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,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,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AA6U1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;AA2rBD,eAAO,MAAM,cAAc,EAAE,aAwrB5B,CAAA;AAoYD,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,gBAAgB,CAAC,EAAE,OAAO,EAC1B,aAAa,CAAC,EAAE,GAAG,KAChB,IAAI,CAAA;AA63CT,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;AAgCnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,QAAQ,SAAI,EACZ,WAAW,UAAQ,WA4OpB;AA6HD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,QAyBlB;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAgBtF;AAMD,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"getSplitStyles.d.ts","sourceRoot":"","sources":["../../src/helpers/getSplitStyles.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EAGb,eAAe,EACf,YAAY,EAGZ,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EAGZ,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKlF,OAAO,EAAE,oBAAoB,EAAE,CAAA;AAqB/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAe3D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AACvF,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAK3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAMhE,MAAM,MAAM,aAAa,GAAG,CAC1B,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,EAC3B,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAEtC,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,OAAO,EAC3B,KAAK,CAAC,EAAE,SAAS,EAEjB,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAC5C,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,IAAI,GAAG,cAAc,CAAA;AA6U1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAEhF;AA2rBD,eAAO,MAAM,cAAc,EAAE,aAuuB5B,CAAA;AAoYD,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,gBAAgB,CAAC,EAAE,OAAO,EAC1B,aAAa,CAAC,EAAE,GAAG,KAChB,IAAI,CAAA;AA63CT,KAAK,oBAAoB,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAA;AAgCnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,oBAAoB,GAAG,IAAI,EACjC,QAAQ,SAAI,EACZ,WAAW,UAAQ,WA4OpB;AA6HD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO,QAyBlB;AAID,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAgBtF;AAMD,cAAc,mBAAmB,CAAA"}