mirror of
https://github.com/luxfi/safe-wallet.git
synced 2026-11-03 10:22:58 +00:00
* chore(mobile): upgrade Tamagui from v1 to v2 Upgrade all @tamagui/* packages from v1 (^1.126.3) to v2 (2.0.0-rc.26). Replace deprecated @tamagui/animations-moti with animations-reanimated. Rewrite SafeButton to use v2 compound component pattern (Button.Text) with correct font weight, disabled state, and icon coloring. Patch @tamagui/image for style override bug (upstream fix merged but not yet on npm: https://github.com/tamagui/tamagui/pull/3966). * fix(mobile): resolve Tamagui tokens in Loader before passing to SVG The Loader component passes color directly to react-native-progress (CircleSnail), which uses react-native-svg internally. SVG doesn't understand Tamagui theme tokens like "$color", causing repeated "not a valid color or brush" console warnings. * fix(mobile): center nav bar title in scrollable headers Remove flex: 1 from headerTitle Animated.View so the native stack header centers the title element itself. Add headerTitleAlign: 'center' and match right spacer width (40px) to the back button circle. * fix(mobile): fix Tamagui v2 component API breakages - SafeButton: rewrite with Button.Text compound pattern, add textColor prop for forced light-mode overrides, restore fontWeight 700 default - SafeInput: replace removed `editable` prop with `readOnly`, use GetProps<StyledInput> to fix type conflicts, cast theme tokens - SafeCard: use `src` instead of `source`, `objectFit` instead of `resizeMode` for Tamagui v2 Image - ParametersButton: migrate from raw Button to SafeButton - Badge: fix dark mode background token (backgroundMain → borderLight) - Raw Buttons: move fontWeight to Button.Text in ImportSigner/Ledger - Onboarding: migrate color prop to textColor for dark mode fix - Assets errors: use secondary variant + textColor instead of inline bg * fix(mobile): preserve element children and text-button accent color in SafeButton - Only wrap string/number children in Button.Text; render element children (ActivityIndicator, Loader) directly to avoid invalid text-child nesting on native. - Use theme.primary for the text variant so text-style buttons retain their accent color instead of blending with body text. * fix(mobile): replace raw Tamagui Button with SafeButton in ImportSuccess The Copy button on the signer import success screen was broken after the Tamagui v2 upgrade because it used a raw Tamagui Button. Replace it with SafeButton (secondary, $sm) for consistent styling and v2 compatibility. * fix(mobile): fix Jest transform config for Tamagui v2 and update snapshots Add tamagui and @tamagui/* to transformIgnorePatterns so Jest can parse the ESM exports in Tamagui v2. Update 22 snapshots reflecting the new style output and remove stale fontFamily assertion in DataRow test. --------- Co-authored-by: Hanzo Dev <[email protected]>
226 lines
10 KiB
Diff
226 lines
10 KiB
Diff
diff --git a/dist/cjs/createImage.cjs b/dist/cjs/createImage.cjs
|
|
index d4d0550500cc84bb13ab80f599123371f183312c..67e792fc52beb443546df0fe6b093dbbbfb8c3ed 100644
|
|
--- a/dist/cjs/createImage.cjs
|
|
+++ b/dist/cjs/createImage.cjs
|
|
@@ -91,13 +91,14 @@ function createImage(options) {
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
}),
|
|
- finalProps = {
|
|
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
- }
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
+ }
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = e => {
|
|
const source = e?.nativeEvent?.source || e?.source || {};
|
|
diff --git a/dist/cjs/createImage.js b/dist/cjs/createImage.js
|
|
index 073a8c03b5e5d0701ed87765a335407499bbe275..128eac42ba2b1956b0dc92aacf6241eed67c39eb 100644
|
|
--- a/dist/cjs/createImage.js
|
|
+++ b/dist/cjs/createImage.js
|
|
@@ -93,12 +93,13 @@ function createImage(options) {
|
|
src,
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
- }), finalProps = {
|
|
+ }), incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
}
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = (e) => {
|
|
diff --git a/dist/cjs/createImage.native.js b/dist/cjs/createImage.native.js
|
|
index 839195922d44c18092c247925a963c68ce93233c..f54af00d0e8ce02296c599e4646036e3b3cf6ec8 100644
|
|
--- a/dist/cjs/createImage.native.js
|
|
+++ b/dist/cjs/createImage.native.js
|
|
@@ -95,13 +95,14 @@ function createImage(options) {
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
}),
|
|
- finalProps = {
|
|
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
- }
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
+ }
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = function (e) {
|
|
var _e_nativeEvent,
|
|
diff --git a/dist/esm/createImage.js b/dist/esm/createImage.js
|
|
index 7401224bcd8e726dd0c79971ea00ea8bed538138..aa79f6a19ee64714e28210cbf5024c5532f968e1 100644
|
|
--- a/dist/esm/createImage.js
|
|
+++ b/dist/esm/createImage.js
|
|
@@ -75,12 +75,13 @@ function createImage(options) {
|
|
src,
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
- }), finalProps = {
|
|
+ }), incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
}
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = (e) => {
|
|
diff --git a/dist/esm/createImage.mjs b/dist/esm/createImage.mjs
|
|
index 2e3d292cda135e86bbbe97e0f8e1d4407ec0f97e..7c0d596733e9c08a1b5fe7095c1786b29720114d 100644
|
|
--- a/dist/esm/createImage.mjs
|
|
+++ b/dist/esm/createImage.mjs
|
|
@@ -66,13 +66,14 @@ function createImage(options) {
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
}),
|
|
- finalProps = {
|
|
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
- }
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
+ }
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = e => {
|
|
const source = e?.nativeEvent?.source || e?.source || {};
|
|
diff --git a/dist/esm/createImage.native.js b/dist/esm/createImage.native.js
|
|
index 9e593153bc537861b92dfae9c9d8c1d7a49957a4..1ab4b891bd72c4e45b1f80685da07531c21cd4bb 100644
|
|
--- a/dist/esm/createImage.native.js
|
|
+++ b/dist/esm/createImage.native.js
|
|
@@ -68,13 +68,14 @@ function createImage(options) {
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
}),
|
|
- finalProps = {
|
|
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
- }
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
+ }
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = function (e) {
|
|
var _e_nativeEvent,
|
|
diff --git a/dist/jsx/createImage.js b/dist/jsx/createImage.js
|
|
index 7401224bcd8e726dd0c79971ea00ea8bed538138..aa79f6a19ee64714e28210cbf5024c5532f968e1 100644
|
|
--- a/dist/jsx/createImage.js
|
|
+++ b/dist/jsx/createImage.js
|
|
@@ -75,12 +75,13 @@ function createImage(options) {
|
|
src,
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
- }), finalProps = {
|
|
+ }), incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
}
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = (e) => {
|
|
diff --git a/dist/jsx/createImage.mjs b/dist/jsx/createImage.mjs
|
|
index 2e3d292cda135e86bbbe97e0f8e1d4407ec0f97e..7c0d596733e9c08a1b5fe7095c1786b29720114d 100644
|
|
--- a/dist/jsx/createImage.mjs
|
|
+++ b/dist/jsx/createImage.mjs
|
|
@@ -66,13 +66,14 @@ function createImage(options) {
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
}),
|
|
- finalProps = {
|
|
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
- }
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
+ }
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = e => {
|
|
const source = e?.nativeEvent?.source || e?.source || {};
|
|
diff --git a/dist/jsx/createImage.native.js b/dist/jsx/createImage.native.js
|
|
index 839195922d44c18092c247925a963c68ce93233c..f54af00d0e8ce02296c599e4646036e3b3cf6ec8 100644
|
|
--- a/dist/jsx/createImage.native.js
|
|
+++ b/dist/jsx/createImage.native.js
|
|
@@ -95,13 +95,14 @@ function createImage(options) {
|
|
width: resolvedWidth,
|
|
height: resolvedHeight
|
|
}),
|
|
- finalProps = {
|
|
+ incomingStyle = Array.isArray(rest.style) ? Object.assign({}, ...rest.style.flat()) : rest.style, finalProps = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight
|
|
- }
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight })
|
|
+ }
|
|
};
|
|
return objectFit && (finalProps[resizeModePropName] = mapObjectFitToResizeMode(objectFit)), objectPositionPropName && objectPosition && (finalProps[objectPositionPropName] = objectPosition), onLoad && (finalProps.onLoad = function (e) {
|
|
var _e_nativeEvent,
|
|
diff --git a/src/createImage.tsx b/src/createImage.tsx
|
|
index 33b55b3cbc8947b6f73f099f7a93db125ca9cf5d..ad63cec21b6bbcd65e7af9508dbca6d83eb485ae 100644
|
|
--- a/src/createImage.tsx
|
|
+++ b/src/createImage.tsx
|
|
@@ -172,12 +172,17 @@ export function createImage<C extends ComponentType<any>>(
|
|
height: resolvedHeight,
|
|
})
|
|
|
|
+ const incomingStyle = Array.isArray(rest.style)
|
|
+ ? Object.assign({}, ...rest.style.flat())
|
|
+ : rest.style
|
|
+
|
|
const finalProps: any = {
|
|
...rest,
|
|
source: finalSource,
|
|
style: {
|
|
- width: resolvedWidth,
|
|
- height: resolvedHeight,
|
|
+ ...incomingStyle,
|
|
+ ...(resolvedWidth !== undefined && { width: resolvedWidth }),
|
|
+ ...(resolvedHeight !== undefined && { height: resolvedHeight }),
|
|
},
|
|
}
|
|
|