@reown/appkit-ui-react-native 0.0.0-feat-multichain-20250818154639 → 0.0.0-feat-multichain-20250903132047
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/lib/commonjs/components/wui-card/index.js +1 -3
- package/lib/commonjs/components/wui-card/index.js.map +1 -1
- package/lib/commonjs/components/wui-modal/index.js +24 -28
- package/lib/commonjs/components/wui-modal/index.js.map +1 -1
- package/lib/commonjs/components/wui-modal/styles.js +2 -9
- package/lib/commonjs/components/wui-modal/styles.js.map +1 -1
- package/lib/commonjs/composites/wui-card-select/index.js +43 -41
- package/lib/commonjs/composites/wui-card-select/index.js.map +1 -1
- package/lib/commonjs/composites/wui-token-button/index.js +1 -1
- package/lib/commonjs/hooks/useCustomDimensions.js +12 -11
- package/lib/commonjs/hooks/useCustomDimensions.js.map +1 -1
- package/lib/module/components/wui-card/index.js +2 -4
- package/lib/module/components/wui-card/index.js.map +1 -1
- package/lib/module/components/wui-modal/index.js +26 -30
- package/lib/module/components/wui-modal/index.js.map +1 -1
- package/lib/module/components/wui-modal/styles.js +2 -9
- package/lib/module/components/wui-modal/styles.js.map +1 -1
- package/lib/module/composites/wui-card-select/index.js +44 -42
- package/lib/module/composites/wui-card-select/index.js.map +1 -1
- package/lib/module/composites/wui-token-button/index.js +1 -1
- package/lib/module/hooks/useCustomDimensions.js +13 -12
- package/lib/module/hooks/useCustomDimensions.js.map +1 -1
- package/lib/typescript/components/wui-card/index.d.ts.map +1 -1
- package/lib/typescript/components/wui-modal/index.d.ts.map +1 -1
- package/lib/typescript/components/wui-modal/styles.d.ts +2 -9
- package/lib/typescript/components/wui-modal/styles.d.ts.map +1 -1
- package/lib/typescript/composites/wui-card-select/index.d.ts.map +1 -1
- package/lib/typescript/hooks/useCustomDimensions.d.ts +1 -2
- package/lib/typescript/hooks/useCustomDimensions.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/wui-card/index.tsx +3 -5
- package/src/components/wui-modal/index.tsx +21 -27
- package/src/components/wui-modal/styles.ts +2 -9
- package/src/composites/wui-card-select/index.tsx +41 -45
- package/src/composites/wui-token-button/index.tsx +1 -1
- package/src/hooks/useCustomDimensions.ts +16 -13
|
@@ -14,9 +14,7 @@ function Card({
|
|
|
14
14
|
style
|
|
15
15
|
}) {
|
|
16
16
|
const Theme = (0, _useTheme.useTheme)();
|
|
17
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.
|
|
18
|
-
behavior: "padding",
|
|
19
|
-
enabled: _reactNative.Platform.OS === 'ios',
|
|
17
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
20
18
|
style: [_styles.default.container, {
|
|
21
19
|
backgroundColor: Theme['bg-100'],
|
|
22
20
|
borderColor: Theme['gray-glass-015']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_useTheme","_styles","_interopRequireDefault","_jsxRuntime","e","__esModule","default","Card","children","style","Theme","useTheme","jsx","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_useTheme","_styles","_interopRequireDefault","_jsxRuntime","e","__esModule","default","Card","children","style","Theme","useTheme","jsx","View","styles","container","backgroundColor","borderColor"],"sourceRoot":"../../../../src","sources":["components/wui-card/index.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8B,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOvB,SAASG,IAAIA,CAAC;EAAEC,QAAQ;EAAEC;AAAiB,CAAC,EAAE;EACnD,MAAMC,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAExB,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACd,YAAA,CAAAe,IAAI;IACHJ,KAAK,EAAE,CACLK,eAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAEN,KAAK,CAAC,QAAQ,CAAC;MAAEO,WAAW,EAAEP,KAAK,CAAC,gBAAgB;IAAE,CAAC,EAC1ED,KAAK,CACL;IAAAD,QAAA,EAEDA;EAAQ,CACL,CAAC;AAEX","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _useTheme = require("../../hooks/useTheme");
|
|
|
10
10
|
var _styles = _interopRequireDefault(require("./styles"));
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
const AnimatedPressable = _reactNative.Animated.createAnimatedComponent(_reactNative.Pressable);
|
|
13
14
|
function Modal({
|
|
14
15
|
visible,
|
|
15
16
|
onBackdropPress,
|
|
@@ -71,7 +72,7 @@ function Modal({
|
|
|
71
72
|
let modalAnimation;
|
|
72
73
|
if (visible && modalVisible) {
|
|
73
74
|
// Calculate the target position (screen height - card height)
|
|
74
|
-
const targetY = contentHeight > 0 ? height - contentHeight
|
|
75
|
+
const targetY = contentHeight > 0 ? height - contentHeight : height * 0.2; // fallback to 20% from bottom
|
|
75
76
|
|
|
76
77
|
modalAnimation = _reactNative.Animated.spring(translateY, {
|
|
77
78
|
toValue: targetY,
|
|
@@ -104,34 +105,29 @@ function Modal({
|
|
|
104
105
|
backdropOpacity.setValue(0);
|
|
105
106
|
}
|
|
106
107
|
}, [modalVisible, translateY, backdropOpacity, height]);
|
|
107
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Modal, {
|
|
109
|
+
visible: modalVisible,
|
|
110
|
+
transparent: true,
|
|
111
|
+
animationType: "none",
|
|
112
|
+
statusBarTranslucent: true,
|
|
113
|
+
onRequestClose: onRequestClose,
|
|
114
|
+
testID: testID,
|
|
115
|
+
children: [showBackdrop ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedPressable, {
|
|
116
|
+
style: [_styles.default.backdrop, {
|
|
110
117
|
opacity: backdropOpacity
|
|
111
|
-
}]
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
})
|
|
124
|
-
style: [_styles.default.modal, {
|
|
125
|
-
backgroundColor: Theme['bg-100'],
|
|
126
|
-
transform: [{
|
|
127
|
-
translateY
|
|
128
|
-
}]
|
|
129
|
-
}],
|
|
130
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
131
|
-
onLayout: onContentLayout,
|
|
132
|
-
children: children
|
|
133
|
-
})
|
|
134
|
-
})]
|
|
118
|
+
}],
|
|
119
|
+
onPress: onBackdropPress
|
|
120
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
121
|
+
style: [_styles.default.modal, {
|
|
122
|
+
backgroundColor: Theme['bg-100'],
|
|
123
|
+
transform: [{
|
|
124
|
+
translateY
|
|
125
|
+
}]
|
|
126
|
+
}],
|
|
127
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
128
|
+
onLayout: onContentLayout,
|
|
129
|
+
children: children
|
|
130
|
+
})
|
|
135
131
|
})]
|
|
136
132
|
});
|
|
137
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_useTheme","_styles","_interopRequireDefault","_jsxRuntime","e","__esModule","default","Modal","visible","onBackdropPress","onRequestClose","testID","children","Theme","useTheme","height","useWindowDimensions","backdropOpacity","useRef","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_useTheme","_styles","_interopRequireDefault","_jsxRuntime","e","__esModule","default","AnimatedPressable","Animated","createAnimatedComponent","Pressable","Modal","visible","onBackdropPress","onRequestClose","testID","children","Theme","useTheme","height","useWindowDimensions","backdropOpacity","useRef","Value","current","translateY","showBackdrop","setShowBackdrop","useState","modalVisible","setModalVisible","contentHeight","setContentHeight","onContentLayout","event","measuredHeight","nativeEvent","layout","useEffect","backdropAnimation","timing","toValue","duration","useNativeDriver","start","stop","modalAnimation","targetY","spring","damping","stiffness","mass","setValue","jsxs","transparent","animationType","statusBarTranslucent","jsx","style","styles","backdrop","opacity","onPress","View","modal","backgroundColor","transform","onLayout"],"sourceRoot":"../../../../src","sources":["components/wui-modal/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,17 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _ThemeUtil = require("../../utils/ThemeUtil");
|
|
9
9
|
var _default = exports.default = _reactNative.StyleSheet.create({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
top: 0,
|
|
13
|
-
left: 0,
|
|
14
|
-
right: 0,
|
|
15
|
-
bottom: 0,
|
|
10
|
+
backdrop: {
|
|
11
|
+
flexGrow: 1,
|
|
16
12
|
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
|
17
13
|
},
|
|
18
|
-
innerBackdropTouchable: {
|
|
19
|
-
flexGrow: 1
|
|
20
|
-
},
|
|
21
14
|
modal: {
|
|
22
15
|
borderTopLeftRadius: _ThemeUtil.BorderRadius.l,
|
|
23
16
|
borderTopRightRadius: _ThemeUtil.BorderRadius.l,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_ThemeUtil","_default","exports","default","StyleSheet","create","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_ThemeUtil","_default","exports","default","StyleSheet","create","backdrop","flexGrow","backgroundColor","modal","borderTopLeftRadius","BorderRadius","l","borderTopRightRadius","position","top","left","right","bottom"],"sourceRoot":"../../../../src","sources":["components/wui-modal/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAAqD,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEtCC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,QAAQ,EAAE;IACRC,QAAQ,EAAE,CAAC;IACXC,eAAe,EAAE;EACnB,CAAC;EACDC,KAAK,EAAE;IACLC,mBAAmB,EAAEC,uBAAY,CAACC,CAAC;IACnCC,oBAAoB,EAAEF,uBAAY,CAACC,CAAC;IACpCE,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ var _wuiNetworkImage = require("../wui-network-image");
|
|
|
14
14
|
var _wuiWalletImage = require("../wui-wallet-image");
|
|
15
15
|
var _styles = _interopRequireWildcard(require("./styles"));
|
|
16
16
|
var _UiUtil = require("../../utils/UiUtil");
|
|
17
|
+
var _wuiFlex = require("../../layout/wui-flex");
|
|
17
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
19
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -43,53 +44,54 @@ function _CardSelect({
|
|
|
43
44
|
disabled,
|
|
44
45
|
pressed: true
|
|
45
46
|
});
|
|
47
|
+
const Image = (0, _react.useMemo)(() => type === 'wallet' ? _wuiWalletImage.WalletImage : _wuiNetworkImage.NetworkImage, [type]);
|
|
46
48
|
const {
|
|
47
49
|
animatedValue,
|
|
48
50
|
setStartValue,
|
|
49
51
|
setEndValue
|
|
50
52
|
} = (0, _useAnimatedValue.default)(Theme[normalbackgroundColor], Theme[pressedBackgroundColor]);
|
|
51
53
|
const textColor = disabled ? 'fg-300' : selected ? 'accent-100' : 'fg-100';
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
})
|
|
54
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_wuiFlex.FlexView, {
|
|
55
|
+
style: style,
|
|
56
|
+
alignItems: "center",
|
|
57
|
+
justifyContent: "center",
|
|
58
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(AnimatedPressable, {
|
|
59
|
+
onPress: onPress,
|
|
60
|
+
onPressIn: setEndValue,
|
|
61
|
+
onPressOut: setStartValue,
|
|
62
|
+
disabled: disabled,
|
|
63
|
+
style: [_styles.default.container, {
|
|
64
|
+
backgroundColor: animatedValue
|
|
65
|
+
}],
|
|
66
|
+
testID: testID,
|
|
67
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
68
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Image, {
|
|
69
|
+
imageSrc: imageSrc,
|
|
70
|
+
imageHeaders: imageHeaders,
|
|
71
|
+
size: "md",
|
|
72
|
+
style: disabled ? _styles.default.disabledImage : null,
|
|
73
|
+
selected: selected,
|
|
74
|
+
disabled: disabled
|
|
75
|
+
}), installed ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_wuiIconBox.IconBox, {
|
|
76
|
+
icon: "checkmark",
|
|
77
|
+
iconSize: "xs",
|
|
78
|
+
iconColor: 'success-100',
|
|
79
|
+
border: true,
|
|
80
|
+
borderSize: 6,
|
|
81
|
+
borderColor: "bg-150",
|
|
82
|
+
background: true,
|
|
83
|
+
backgroundColor: "icon-box-bg-success-100",
|
|
84
|
+
size: "sm",
|
|
85
|
+
style: _styles.default.installedBox
|
|
86
|
+
}) : null]
|
|
87
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_wuiText.Text, {
|
|
88
|
+
variant: "tiny-500",
|
|
89
|
+
color: textColor,
|
|
90
|
+
style: _styles.default.text,
|
|
91
|
+
numberOfLines: 1,
|
|
92
|
+
children: _UiUtil.UiUtil.getWalletName(name)
|
|
93
|
+
})]
|
|
94
|
+
})
|
|
93
95
|
});
|
|
94
96
|
}
|
|
95
97
|
const CardSelect = exports.CardSelect = /*#__PURE__*/(0, _react.memo)(_CardSelect, (prevProps, nextProps) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_wuiText","_wuiIconBox","_useAnimatedValue","_interopRequireDefault","_useTheme","_wuiNetworkImage","_wuiWalletImage","_styles","_interopRequireWildcard","_UiUtil","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedPressable","Animated","createAnimatedComponent","Pressable","CardSelectHeight","exports","ITEM_HEIGHT","CardSelectWidth","ITEM_WIDTH","_CardSelect","name","type","imageSrc","imageHeaders","onPress","disabled","installed","selected","style","testID","Theme","useTheme","normalbackgroundColor","getBackgroundColor","pressed","pressedBackgroundColor","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_wuiText","_wuiIconBox","_useAnimatedValue","_interopRequireDefault","_useTheme","_wuiNetworkImage","_wuiWalletImage","_styles","_interopRequireWildcard","_UiUtil","_wuiFlex","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedPressable","Animated","createAnimatedComponent","Pressable","CardSelectHeight","exports","ITEM_HEIGHT","CardSelectWidth","ITEM_WIDTH","_CardSelect","name","type","imageSrc","imageHeaders","onPress","disabled","installed","selected","style","testID","Theme","useTheme","normalbackgroundColor","getBackgroundColor","pressed","pressedBackgroundColor","Image","useMemo","WalletImage","NetworkImage","animatedValue","setStartValue","setEndValue","useAnimatedValue","textColor","jsx","FlexView","alignItems","justifyContent","children","jsxs","onPressIn","onPressOut","styles","container","backgroundColor","View","size","disabledImage","IconBox","icon","iconSize","iconColor","border","borderSize","borderColor","background","installedBox","Text","variant","color","text","numberOfLines","UiUtil","getWalletName","CardSelect","memo","prevProps","nextProps"],"sourceRoot":"../../../../src","sources":["composites/wui-card-select/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,30 +8,31 @@ var _react = require("react");
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
/**
|
|
10
10
|
* Hook used to get the width of the screen and the padding needed to accomplish portrait and landscape modes.
|
|
11
|
-
* @returns {
|
|
11
|
+
* @returns { maxHeight: number, isPortrait: boolean, isLandscape: boolean, padding: number }
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const MAX_PORTRAIT_PERCENTAGE = 0.9;
|
|
15
|
+
const MAX_LANDSCAPE_PERCENTAGE = 0.85;
|
|
16
|
+
const IOS_STATUS_BAR_HEIGHT = 20;
|
|
17
|
+
const getMaxHeight = (height, isPortrait) => {
|
|
18
|
+
const percentage = isPortrait ? MAX_PORTRAIT_PERCENTAGE : MAX_LANDSCAPE_PERCENTAGE;
|
|
19
|
+
return height * percentage - (_reactNative.StatusBar.currentHeight ?? IOS_STATUS_BAR_HEIGHT);
|
|
17
20
|
};
|
|
18
21
|
function useCustomDimensions() {
|
|
19
22
|
const {
|
|
20
23
|
width,
|
|
21
24
|
height
|
|
22
25
|
} = (0, _reactNative.useWindowDimensions)();
|
|
23
|
-
const [maxWidth, setMaxWidth] = (0, _react.useState)(Math.min(width, height));
|
|
24
|
-
const [maxHeight, setMaxHeight] = (0, _react.useState)(getMaxHeight(width, height));
|
|
25
26
|
const [isPortrait, setIsPortrait] = (0, _react.useState)(height > width);
|
|
27
|
+
const [maxHeight, setMaxHeight] = (0, _react.useState)(getMaxHeight(height, height > width));
|
|
26
28
|
const [padding, setPadding] = (0, _react.useState)(0);
|
|
27
29
|
(0, _react.useEffect)(() => {
|
|
28
|
-
|
|
29
|
-
setMaxHeight(getMaxHeight(
|
|
30
|
-
setIsPortrait(
|
|
31
|
-
setPadding(
|
|
30
|
+
const _isPortrait = height > width;
|
|
31
|
+
setMaxHeight(getMaxHeight(height, _isPortrait));
|
|
32
|
+
setIsPortrait(_isPortrait);
|
|
33
|
+
setPadding(_isPortrait ? 0 : (width - height) / 2);
|
|
32
34
|
}, [width, height]);
|
|
33
35
|
return {
|
|
34
|
-
maxWidth,
|
|
35
36
|
maxHeight,
|
|
36
37
|
isPortrait,
|
|
37
38
|
isLandscape: !isPortrait,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","MAX_PORTRAIT_PERCENTAGE","MAX_LANDSCAPE_PERCENTAGE","IOS_STATUS_BAR_HEIGHT","getMaxHeight","height","isPortrait","percentage","StatusBar","currentHeight","useCustomDimensions","width","useWindowDimensions","setIsPortrait","useState","maxHeight","setMaxHeight","padding","setPadding","useEffect","_isPortrait","isLandscape"],"sourceRoot":"../../../src","sources":["hooks/useCustomDimensions.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;;AASA,MAAME,uBAAuB,GAAG,GAAG;AACnC,MAAMC,wBAAwB,GAAG,IAAI;AACrC,MAAMC,qBAAqB,GAAG,EAAE;AAEhC,MAAMC,YAAY,GAAGA,CAACC,MAAc,EAAEC,UAAmB,KAAK;EAC5D,MAAMC,UAAU,GAAGD,UAAU,GAAGL,uBAAuB,GAAGC,wBAAwB;EAElF,OAAOG,MAAM,GAAGE,UAAU,IAAIC,sBAAS,CAACC,aAAa,IAAIN,qBAAqB,CAAC;AACjF,CAAC;AAEM,SAASO,mBAAmBA,CAAA,EAAyB;EAC1D,MAAM;IAAEC,KAAK;IAAEN;EAAO,CAAC,GAAG,IAAAO,gCAAmB,EAAC,CAAC;EAC/C,MAAM,CAACN,UAAU,EAAEO,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAUT,MAAM,GAAGM,KAAK,CAAC;EACrE,MAAM,CAACI,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAASV,YAAY,CAACC,MAAM,EAAEA,MAAM,GAAGM,KAAK,CAAC,CAAC;EACxF,MAAM,CAACM,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAJ,eAAQ,EAAS,CAAC,CAAC;EAEjD,IAAAK,gBAAS,EAAC,MAAM;IACd,MAAMC,WAAW,GAAGf,MAAM,GAAGM,KAAK;IAElCK,YAAY,CAACZ,YAAY,CAACC,MAAM,EAAEe,WAAW,CAAC,CAAC;IAC/CP,aAAa,CAACO,WAAW,CAAC;IAC1BF,UAAU,CAACE,WAAW,GAAG,CAAC,GAAG,CAACT,KAAK,GAAGN,MAAM,IAAI,CAAC,CAAC;EACpD,CAAC,EAAE,CAACM,KAAK,EAAEN,MAAM,CAAC,CAAC;EAEnB,OAAO;IAAEU,SAAS;IAAET,UAAU;IAAEe,WAAW,EAAE,CAACf,UAAU;IAAEW;EAAQ,CAAC;AACrE","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { View } from 'react-native';
|
|
4
4
|
import { useTheme } from '../../hooks/useTheme';
|
|
5
5
|
import styles from './styles';
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -9,9 +9,7 @@ export function Card({
|
|
|
9
9
|
style
|
|
10
10
|
}) {
|
|
11
11
|
const Theme = useTheme();
|
|
12
|
-
return /*#__PURE__*/_jsx(
|
|
13
|
-
behavior: "padding",
|
|
14
|
-
enabled: Platform.OS === 'ios',
|
|
12
|
+
return /*#__PURE__*/_jsx(View, {
|
|
15
13
|
style: [styles.container, {
|
|
16
14
|
backgroundColor: Theme['bg-100'],
|
|
17
15
|
borderColor: Theme['gray-glass-015']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["View","useTheme","styles","jsx","_jsx","Card","children","style","Theme","container","backgroundColor","borderColor"],"sourceRoot":"../../../../src","sources":["components/wui-card/index.tsx"],"mappings":";;AACA,SAAyCA,IAAI,QAAQ,cAAc;AAEnE,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,OAAOC,MAAM,MAAM,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO9B,OAAO,SAASC,IAAIA,CAAC;EAAEC,QAAQ;EAAEC;AAAiB,CAAC,EAAE;EACnD,MAAMC,KAAK,GAAGP,QAAQ,CAAC,CAAC;EAExB,oBACEG,IAAA,CAACJ,IAAI;IACHO,KAAK,EAAE,CACLL,MAAM,CAACO,SAAS,EAChB;MAAEC,eAAe,EAAEF,KAAK,CAAC,QAAQ,CAAC;MAAEG,WAAW,EAAEH,KAAK,CAAC,gBAAgB;IAAE,CAAC,EAC1ED,KAAK,CACL;IAAAD,QAAA,EAEDA;EAAQ,CACL,CAAC;AAEX","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { useWindowDimensions, Modal as RNModal,
|
|
4
|
+
import { useWindowDimensions, Modal as RNModal, Animated, Pressable } from 'react-native';
|
|
5
5
|
import { useTheme } from '../../hooks/useTheme';
|
|
6
6
|
import styles from './styles';
|
|
7
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
|
|
8
9
|
export function Modal({
|
|
9
10
|
visible,
|
|
10
11
|
onBackdropPress,
|
|
@@ -66,7 +67,7 @@ export function Modal({
|
|
|
66
67
|
let modalAnimation;
|
|
67
68
|
if (visible && modalVisible) {
|
|
68
69
|
// Calculate the target position (screen height - card height)
|
|
69
|
-
const targetY = contentHeight > 0 ? height - contentHeight
|
|
70
|
+
const targetY = contentHeight > 0 ? height - contentHeight : height * 0.2; // fallback to 20% from bottom
|
|
70
71
|
|
|
71
72
|
modalAnimation = Animated.spring(translateY, {
|
|
72
73
|
toValue: targetY,
|
|
@@ -99,34 +100,29 @@ export function Modal({
|
|
|
99
100
|
backdropOpacity.setValue(0);
|
|
100
101
|
}
|
|
101
102
|
}, [modalVisible, translateY, backdropOpacity, height]);
|
|
102
|
-
return /*#__PURE__*/_jsxs(
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
return /*#__PURE__*/_jsxs(RNModal, {
|
|
104
|
+
visible: modalVisible,
|
|
105
|
+
transparent: true,
|
|
106
|
+
animationType: "none",
|
|
107
|
+
statusBarTranslucent: true,
|
|
108
|
+
onRequestClose: onRequestClose,
|
|
109
|
+
testID: testID,
|
|
110
|
+
children: [showBackdrop ? /*#__PURE__*/_jsx(AnimatedPressable, {
|
|
111
|
+
style: [styles.backdrop, {
|
|
105
112
|
opacity: backdropOpacity
|
|
106
|
-
}]
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
})
|
|
119
|
-
style: [styles.modal, {
|
|
120
|
-
backgroundColor: Theme['bg-100'],
|
|
121
|
-
transform: [{
|
|
122
|
-
translateY
|
|
123
|
-
}]
|
|
124
|
-
}],
|
|
125
|
-
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
126
|
-
onLayout: onContentLayout,
|
|
127
|
-
children: children
|
|
128
|
-
})
|
|
129
|
-
})]
|
|
113
|
+
}],
|
|
114
|
+
onPress: onBackdropPress
|
|
115
|
+
}) : null, /*#__PURE__*/_jsx(Animated.View, {
|
|
116
|
+
style: [styles.modal, {
|
|
117
|
+
backgroundColor: Theme['bg-100'],
|
|
118
|
+
transform: [{
|
|
119
|
+
translateY
|
|
120
|
+
}]
|
|
121
|
+
}],
|
|
122
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
123
|
+
onLayout: onContentLayout,
|
|
124
|
+
children: children
|
|
125
|
+
})
|
|
130
126
|
})]
|
|
131
127
|
});
|
|
132
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","useState","useWindowDimensions","Modal","RNModal","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","useWindowDimensions","Modal","RNModal","Animated","Pressable","useTheme","styles","jsx","_jsx","jsxs","_jsxs","AnimatedPressable","createAnimatedComponent","visible","onBackdropPress","onRequestClose","testID","children","Theme","height","backdropOpacity","Value","current","translateY","showBackdrop","setShowBackdrop","modalVisible","setModalVisible","contentHeight","setContentHeight","onContentLayout","event","measuredHeight","nativeEvent","layout","backdropAnimation","timing","toValue","duration","useNativeDriver","start","stop","modalAnimation","targetY","spring","damping","stiffness","mass","setValue","transparent","animationType","statusBarTranslucent","style","backdrop","opacity","onPress","View","modal","backgroundColor","transform","onLayout"],"sourceRoot":"../../../../src","sources":["components/wui-modal/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,17 +3,10 @@
|
|
|
3
3
|
import { StyleSheet } from 'react-native';
|
|
4
4
|
import { BorderRadius } from '../../utils/ThemeUtil';
|
|
5
5
|
export default StyleSheet.create({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
top: 0,
|
|
9
|
-
left: 0,
|
|
10
|
-
right: 0,
|
|
11
|
-
bottom: 0,
|
|
6
|
+
backdrop: {
|
|
7
|
+
flexGrow: 1,
|
|
12
8
|
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
|
13
9
|
},
|
|
14
|
-
innerBackdropTouchable: {
|
|
15
|
-
flexGrow: 1
|
|
16
|
-
},
|
|
17
10
|
modal: {
|
|
18
11
|
borderTopLeftRadius: BorderRadius.l,
|
|
19
12
|
borderTopRightRadius: BorderRadius.l,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","BorderRadius","create","
|
|
1
|
+
{"version":3,"names":["StyleSheet","BorderRadius","create","backdrop","flexGrow","backgroundColor","modal","borderTopLeftRadius","l","borderTopRightRadius","position","top","left","right","bottom"],"sourceRoot":"../../../../src","sources":["components/wui-modal/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,eAAeD,UAAU,CAACE,MAAM,CAAC;EAC/BC,QAAQ,EAAE;IACRC,QAAQ,EAAE,CAAC;IACXC,eAAe,EAAE;EACnB,CAAC;EACDC,KAAK,EAAE;IACLC,mBAAmB,EAAEN,YAAY,CAACO,CAAC;IACnCC,oBAAoB,EAAER,YAAY,CAACO,CAAC;IACpCE,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { memo } from 'react';
|
|
3
|
+
import { memo, useMemo } from 'react';
|
|
4
4
|
import { Animated, Pressable, View } from 'react-native';
|
|
5
5
|
import { Text } from '../../components/wui-text';
|
|
6
6
|
import { IconBox } from '../wui-icon-box';
|
|
@@ -10,6 +10,7 @@ import { NetworkImage } from '../wui-network-image';
|
|
|
10
10
|
import { WalletImage } from '../wui-wallet-image';
|
|
11
11
|
import styles, { getBackgroundColor, ITEM_HEIGHT, ITEM_WIDTH } from './styles';
|
|
12
12
|
import { UiUtil } from '../../utils/UiUtil';
|
|
13
|
+
import { FlexView } from '../../layout/wui-flex';
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
|
|
15
16
|
export const CardSelectHeight = ITEM_HEIGHT;
|
|
@@ -37,53 +38,54 @@ function _CardSelect({
|
|
|
37
38
|
disabled,
|
|
38
39
|
pressed: true
|
|
39
40
|
});
|
|
41
|
+
const Image = useMemo(() => type === 'wallet' ? WalletImage : NetworkImage, [type]);
|
|
40
42
|
const {
|
|
41
43
|
animatedValue,
|
|
42
44
|
setStartValue,
|
|
43
45
|
setEndValue
|
|
44
46
|
} = useAnimatedValue(Theme[normalbackgroundColor], Theme[pressedBackgroundColor]);
|
|
45
47
|
const textColor = disabled ? 'fg-300' : selected ? 'accent-100' : 'fg-100';
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}),
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
})
|
|
48
|
+
return /*#__PURE__*/_jsx(FlexView, {
|
|
49
|
+
style: style,
|
|
50
|
+
alignItems: "center",
|
|
51
|
+
justifyContent: "center",
|
|
52
|
+
children: /*#__PURE__*/_jsxs(AnimatedPressable, {
|
|
53
|
+
onPress: onPress,
|
|
54
|
+
onPressIn: setEndValue,
|
|
55
|
+
onPressOut: setStartValue,
|
|
56
|
+
disabled: disabled,
|
|
57
|
+
style: [styles.container, {
|
|
58
|
+
backgroundColor: animatedValue
|
|
59
|
+
}],
|
|
60
|
+
testID: testID,
|
|
61
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
62
|
+
children: [/*#__PURE__*/_jsx(Image, {
|
|
63
|
+
imageSrc: imageSrc,
|
|
64
|
+
imageHeaders: imageHeaders,
|
|
65
|
+
size: "md",
|
|
66
|
+
style: disabled ? styles.disabledImage : null,
|
|
67
|
+
selected: selected,
|
|
68
|
+
disabled: disabled
|
|
69
|
+
}), installed ? /*#__PURE__*/_jsx(IconBox, {
|
|
70
|
+
icon: "checkmark",
|
|
71
|
+
iconSize: "xs",
|
|
72
|
+
iconColor: 'success-100',
|
|
73
|
+
border: true,
|
|
74
|
+
borderSize: 6,
|
|
75
|
+
borderColor: "bg-150",
|
|
76
|
+
background: true,
|
|
77
|
+
backgroundColor: "icon-box-bg-success-100",
|
|
78
|
+
size: "sm",
|
|
79
|
+
style: styles.installedBox
|
|
80
|
+
}) : null]
|
|
81
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
82
|
+
variant: "tiny-500",
|
|
83
|
+
color: textColor,
|
|
84
|
+
style: styles.text,
|
|
85
|
+
numberOfLines: 1,
|
|
86
|
+
children: UiUtil.getWalletName(name)
|
|
87
|
+
})]
|
|
88
|
+
})
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
91
|
export const CardSelect = /*#__PURE__*/memo(_CardSelect, (prevProps, nextProps) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","Animated","Pressable","View","Text","IconBox","useAnimatedValue","useTheme","NetworkImage","WalletImage","styles","getBackgroundColor","ITEM_HEIGHT","ITEM_WIDTH","UiUtil","jsx","_jsx","jsxs","_jsxs","AnimatedPressable","createAnimatedComponent","CardSelectHeight","CardSelectWidth","_CardSelect","name","type","imageSrc","imageHeaders","onPress","disabled","installed","selected","style","testID","Theme","normalbackgroundColor","pressed","pressedBackgroundColor","animatedValue","setStartValue","setEndValue","textColor","
|
|
1
|
+
{"version":3,"names":["memo","useMemo","Animated","Pressable","View","Text","IconBox","useAnimatedValue","useTheme","NetworkImage","WalletImage","styles","getBackgroundColor","ITEM_HEIGHT","ITEM_WIDTH","UiUtil","FlexView","jsx","_jsx","jsxs","_jsxs","AnimatedPressable","createAnimatedComponent","CardSelectHeight","CardSelectWidth","_CardSelect","name","type","imageSrc","imageHeaders","onPress","disabled","installed","selected","style","testID","Theme","normalbackgroundColor","pressed","pressedBackgroundColor","Image","animatedValue","setStartValue","setEndValue","textColor","alignItems","justifyContent","children","onPressIn","onPressOut","container","backgroundColor","size","disabledImage","icon","iconSize","iconColor","border","borderSize","borderColor","background","installedBox","variant","color","text","numberOfLines","getWalletName","CardSelect","prevProps","nextProps"],"sourceRoot":"../../../../src","sources":["composites/wui-card-select/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useState, useEffect } from 'react';
|
|
4
|
-
import { useWindowDimensions } from 'react-native';
|
|
4
|
+
import { StatusBar, useWindowDimensions } from 'react-native';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Hook used to get the width of the screen and the padding needed to accomplish portrait and landscape modes.
|
|
8
|
-
* @returns {
|
|
8
|
+
* @returns { maxHeight: number, isPortrait: boolean, isLandscape: boolean, padding: number }
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
11
|
+
const MAX_PORTRAIT_PERCENTAGE = 0.9;
|
|
12
|
+
const MAX_LANDSCAPE_PERCENTAGE = 0.85;
|
|
13
|
+
const IOS_STATUS_BAR_HEIGHT = 20;
|
|
14
|
+
const getMaxHeight = (height, isPortrait) => {
|
|
15
|
+
const percentage = isPortrait ? MAX_PORTRAIT_PERCENTAGE : MAX_LANDSCAPE_PERCENTAGE;
|
|
16
|
+
return height * percentage - (StatusBar.currentHeight ?? IOS_STATUS_BAR_HEIGHT);
|
|
14
17
|
};
|
|
15
18
|
export function useCustomDimensions() {
|
|
16
19
|
const {
|
|
17
20
|
width,
|
|
18
21
|
height
|
|
19
22
|
} = useWindowDimensions();
|
|
20
|
-
const [maxWidth, setMaxWidth] = useState(Math.min(width, height));
|
|
21
|
-
const [maxHeight, setMaxHeight] = useState(getMaxHeight(width, height));
|
|
22
23
|
const [isPortrait, setIsPortrait] = useState(height > width);
|
|
24
|
+
const [maxHeight, setMaxHeight] = useState(getMaxHeight(height, height > width));
|
|
23
25
|
const [padding, setPadding] = useState(0);
|
|
24
26
|
useEffect(() => {
|
|
25
|
-
|
|
26
|
-
setMaxHeight(getMaxHeight(
|
|
27
|
-
setIsPortrait(
|
|
28
|
-
setPadding(
|
|
27
|
+
const _isPortrait = height > width;
|
|
28
|
+
setMaxHeight(getMaxHeight(height, _isPortrait));
|
|
29
|
+
setIsPortrait(_isPortrait);
|
|
30
|
+
setPadding(_isPortrait ? 0 : (width - height) / 2);
|
|
29
31
|
}, [width, height]);
|
|
30
32
|
return {
|
|
31
|
-
maxWidth,
|
|
32
33
|
maxHeight,
|
|
33
34
|
isPortrait,
|
|
34
35
|
isLandscape: !isPortrait,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","
|
|
1
|
+
{"version":3,"names":["useState","useEffect","StatusBar","useWindowDimensions","MAX_PORTRAIT_PERCENTAGE","MAX_LANDSCAPE_PERCENTAGE","IOS_STATUS_BAR_HEIGHT","getMaxHeight","height","isPortrait","percentage","currentHeight","useCustomDimensions","width","setIsPortrait","maxHeight","setMaxHeight","padding","setPadding","_isPortrait","isLandscape"],"sourceRoot":"../../../src","sources":["hooks/useCustomDimensions.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAASC,SAAS,EAAEC,mBAAmB,QAAQ,cAAc;;AAE7D;AACA;AACA;AACA;;AASA,MAAMC,uBAAuB,GAAG,GAAG;AACnC,MAAMC,wBAAwB,GAAG,IAAI;AACrC,MAAMC,qBAAqB,GAAG,EAAE;AAEhC,MAAMC,YAAY,GAAGA,CAACC,MAAc,EAAEC,UAAmB,KAAK;EAC5D,MAAMC,UAAU,GAAGD,UAAU,GAAGL,uBAAuB,GAAGC,wBAAwB;EAElF,OAAOG,MAAM,GAAGE,UAAU,IAAIR,SAAS,CAACS,aAAa,IAAIL,qBAAqB,CAAC;AACjF,CAAC;AAED,OAAO,SAASM,mBAAmBA,CAAA,EAAyB;EAC1D,MAAM;IAAEC,KAAK;IAAEL;EAAO,CAAC,GAAGL,mBAAmB,CAAC,CAAC;EAC/C,MAAM,CAACM,UAAU,EAAEK,aAAa,CAAC,GAAGd,QAAQ,CAAUQ,MAAM,GAAGK,KAAK,CAAC;EACrE,MAAM,CAACE,SAAS,EAAEC,YAAY,CAAC,GAAGhB,QAAQ,CAASO,YAAY,CAACC,MAAM,EAAEA,MAAM,GAAGK,KAAK,CAAC,CAAC;EACxF,MAAM,CAACI,OAAO,EAAEC,UAAU,CAAC,GAAGlB,QAAQ,CAAS,CAAC,CAAC;EAEjDC,SAAS,CAAC,MAAM;IACd,MAAMkB,WAAW,GAAGX,MAAM,GAAGK,KAAK;IAElCG,YAAY,CAACT,YAAY,CAACC,MAAM,EAAEW,WAAW,CAAC,CAAC;IAC/CL,aAAa,CAACK,WAAW,CAAC;IAC1BD,UAAU,CAACC,WAAW,GAAG,CAAC,GAAG,CAACN,KAAK,GAAGL,MAAM,IAAI,CAAC,CAAC;EACpD,CAAC,EAAE,CAACK,KAAK,EAAEL,MAAM,CAAC,CAAC;EAEnB,OAAO;IAAEO,SAAS;IAAEN,UAAU;IAAEW,WAAW,EAAE,CAACX,UAAU;IAAEQ;EAAQ,CAAC;AACrE","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/wui-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/wui-card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAQ,MAAM,cAAc,CAAC;AAKpE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,2CAclD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/wui-modal/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAGL,KAAK,UAAU,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/wui-modal/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAGL,KAAK,UAAU,IAAI,YAAY,EAGhC,MAAM,cAAc,CAAC;AAItB,MAAM,MAAM,UAAU,GAAG,IAAI,CAC3B,YAAY,EACZ,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,CACtD,GAAG;IACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAIF,wBAAgB,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,UAAU,2CAkH/F"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
-
|
|
3
|
-
position: "absolute";
|
|
4
|
-
top: number;
|
|
5
|
-
left: number;
|
|
6
|
-
right: number;
|
|
7
|
-
bottom: number;
|
|
8
|
-
backgroundColor: string;
|
|
9
|
-
};
|
|
10
|
-
innerBackdropTouchable: {
|
|
2
|
+
backdrop: {
|
|
11
3
|
flexGrow: number;
|
|
4
|
+
backgroundColor: string;
|
|
12
5
|
};
|
|
13
6
|
modal: {
|
|
14
7
|
borderTopLeftRadius: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/wui-modal/styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/wui-modal/styles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,wBAcG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/composites/wui-card-select/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/composites/wui-card-select/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,eAAO,MAAM,gBAAgB,KAAc,CAAC;AAC5C,eAAO,MAAM,eAAe,KAAa,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,WAAW,CAAC,EACnB,IAAI,EACJ,IAAe,EACf,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EACP,EAAE,eAAe,2CAqDjB;AAED,eAAO,MAAM,UAAU,yDAErB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hook used to get the width of the screen and the padding needed to accomplish portrait and landscape modes.
|
|
3
|
-
* @returns {
|
|
3
|
+
* @returns { maxHeight: number, isPortrait: boolean, isLandscape: boolean, padding: number }
|
|
4
4
|
*/
|
|
5
5
|
type CustomDimensionsType = {
|
|
6
|
-
maxWidth: number;
|
|
7
6
|
maxHeight: number;
|
|
8
7
|
isPortrait: boolean;
|
|
9
8
|
isLandscape: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCustomDimensions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCustomDimensions.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,KAAK,oBAAoB,GAAG;IAC1B,
|
|
1
|
+
{"version":3,"file":"useCustomDimensions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useCustomDimensions.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAYF,wBAAgB,mBAAmB,IAAI,oBAAoB,CAe1D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-ui-react-native",
|
|
3
|
-
"version": "0.0.0-feat-multichain-
|
|
3
|
+
"version": "0.0.0-feat-multichain-20250903132047",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"types": "lib/typescript/index.d.ts",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@reown/appkit-common-react-native": "0.0.0-feat-multichain-
|
|
42
|
+
"@reown/appkit-common-react-native": "0.0.0-feat-multichain-20250903132047",
|
|
43
43
|
"polished": "4.3.1",
|
|
44
44
|
"qrcode": "1.5.3"
|
|
45
45
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import { type StyleProp, type ViewStyle,
|
|
2
|
+
import { type StyleProp, type ViewStyle, View } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import { useTheme } from '../../hooks/useTheme';
|
|
5
5
|
import styles from './styles';
|
|
@@ -13,9 +13,7 @@ export function Card({ children, style }: CardProps) {
|
|
|
13
13
|
const Theme = useTheme();
|
|
14
14
|
|
|
15
15
|
return (
|
|
16
|
-
<
|
|
17
|
-
behavior="padding"
|
|
18
|
-
enabled={Platform.OS === 'ios'}
|
|
16
|
+
<View
|
|
19
17
|
style={[
|
|
20
18
|
styles.container,
|
|
21
19
|
{ backgroundColor: Theme['bg-100'], borderColor: Theme['gray-glass-015'] },
|
|
@@ -23,6 +21,6 @@ export function Card({ children, style }: CardProps) {
|
|
|
23
21
|
]}
|
|
24
22
|
>
|
|
25
23
|
{children}
|
|
26
|
-
</
|
|
24
|
+
</View>
|
|
27
25
|
);
|
|
28
26
|
}
|
|
@@ -3,9 +3,8 @@ import {
|
|
|
3
3
|
useWindowDimensions,
|
|
4
4
|
Modal as RNModal,
|
|
5
5
|
type ModalProps as RNModalProps,
|
|
6
|
-
TouchableOpacity,
|
|
7
6
|
Animated,
|
|
8
|
-
|
|
7
|
+
Pressable
|
|
9
8
|
} from 'react-native';
|
|
10
9
|
import { useTheme } from '../../hooks/useTheme';
|
|
11
10
|
import styles from './styles';
|
|
@@ -18,6 +17,8 @@ export type ModalProps = Pick<
|
|
|
18
17
|
onBackdropPress?: () => void;
|
|
19
18
|
};
|
|
20
19
|
|
|
20
|
+
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
|
|
21
|
+
|
|
21
22
|
export function Modal({ visible, onBackdropPress, onRequestClose, testID, children }: ModalProps) {
|
|
22
23
|
const Theme = useTheme();
|
|
23
24
|
const { height } = useWindowDimensions();
|
|
@@ -75,8 +76,7 @@ export function Modal({ visible, onBackdropPress, onRequestClose, testID, childr
|
|
|
75
76
|
|
|
76
77
|
if (visible && modalVisible) {
|
|
77
78
|
// Calculate the target position (screen height - card height)
|
|
78
|
-
const targetY =
|
|
79
|
-
contentHeight > 0 ? height - contentHeight + (StatusBar.currentHeight ?? 0) : height * 0.2; // fallback to 20% from bottom
|
|
79
|
+
const targetY = contentHeight > 0 ? height - contentHeight : height * 0.2; // fallback to 20% from bottom
|
|
80
80
|
|
|
81
81
|
modalAnimation = Animated.spring(translateY, {
|
|
82
82
|
toValue: targetY,
|
|
@@ -112,31 +112,25 @@ export function Modal({ visible, onBackdropPress, onRequestClose, testID, childr
|
|
|
112
112
|
}, [modalVisible, translateY, backdropOpacity, height]);
|
|
113
113
|
|
|
114
114
|
return (
|
|
115
|
-
|
|
115
|
+
<RNModal
|
|
116
|
+
visible={modalVisible}
|
|
117
|
+
transparent
|
|
118
|
+
animationType="none"
|
|
119
|
+
statusBarTranslucent
|
|
120
|
+
onRequestClose={onRequestClose}
|
|
121
|
+
testID={testID}
|
|
122
|
+
>
|
|
116
123
|
{showBackdrop ? (
|
|
117
|
-
<
|
|
124
|
+
<AnimatedPressable
|
|
125
|
+
style={[styles.backdrop, { opacity: backdropOpacity }]}
|
|
126
|
+
onPress={onBackdropPress}
|
|
127
|
+
/>
|
|
118
128
|
) : null}
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
transparent
|
|
122
|
-
animationType="none"
|
|
123
|
-
statusBarTranslucent
|
|
124
|
-
onRequestClose={onRequestClose}
|
|
125
|
-
testID={testID}
|
|
129
|
+
<Animated.View
|
|
130
|
+
style={[styles.modal, { backgroundColor: Theme['bg-100'], transform: [{ translateY }] }]}
|
|
126
131
|
>
|
|
127
|
-
{
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
activeOpacity={1}
|
|
131
|
-
onPress={onBackdropPress}
|
|
132
|
-
/>
|
|
133
|
-
) : null}
|
|
134
|
-
<Animated.View
|
|
135
|
-
style={[styles.modal, { backgroundColor: Theme['bg-100'], transform: [{ translateY }] }]}
|
|
136
|
-
>
|
|
137
|
-
<Animated.View onLayout={onContentLayout}>{children}</Animated.View>
|
|
138
|
-
</Animated.View>
|
|
139
|
-
</RNModal>
|
|
140
|
-
</>
|
|
132
|
+
<Animated.View onLayout={onContentLayout}>{children}</Animated.View>
|
|
133
|
+
</Animated.View>
|
|
134
|
+
</RNModal>
|
|
141
135
|
);
|
|
142
136
|
}
|
|
@@ -2,17 +2,10 @@ import { StyleSheet } from 'react-native';
|
|
|
2
2
|
import { BorderRadius } from '../../utils/ThemeUtil';
|
|
3
3
|
|
|
4
4
|
export default StyleSheet.create({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
top: 0,
|
|
8
|
-
left: 0,
|
|
9
|
-
right: 0,
|
|
10
|
-
bottom: 0,
|
|
5
|
+
backdrop: {
|
|
6
|
+
flexGrow: 1,
|
|
11
7
|
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
|
12
8
|
},
|
|
13
|
-
innerBackdropTouchable: {
|
|
14
|
-
flexGrow: 1
|
|
15
|
-
},
|
|
16
9
|
modal: {
|
|
17
10
|
borderTopLeftRadius: BorderRadius.l,
|
|
18
11
|
borderTopRightRadius: BorderRadius.l,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { memo } from 'react';
|
|
1
|
+
import { memo, useMemo } from 'react';
|
|
2
2
|
import { Animated, Pressable, View, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
import { Text } from '../../components/wui-text';
|
|
4
4
|
import { IconBox } from '../wui-icon-box';
|
|
@@ -9,6 +9,7 @@ import { NetworkImage } from '../wui-network-image';
|
|
|
9
9
|
import { WalletImage } from '../wui-wallet-image';
|
|
10
10
|
import styles, { getBackgroundColor, ITEM_HEIGHT, ITEM_WIDTH } from './styles';
|
|
11
11
|
import { UiUtil } from '../../utils/UiUtil';
|
|
12
|
+
import { FlexView } from '../../layout/wui-flex';
|
|
12
13
|
|
|
13
14
|
const AnimatedPressable = Animated.createAnimatedComponent(Pressable);
|
|
14
15
|
|
|
@@ -43,6 +44,7 @@ function _CardSelect({
|
|
|
43
44
|
const Theme = useTheme();
|
|
44
45
|
const normalbackgroundColor = getBackgroundColor({ selected, disabled, pressed: false });
|
|
45
46
|
const pressedBackgroundColor = getBackgroundColor({ selected, disabled, pressed: true });
|
|
47
|
+
const Image = useMemo(() => (type === 'wallet' ? WalletImage : NetworkImage), [type]);
|
|
46
48
|
|
|
47
49
|
const { animatedValue, setStartValue, setEndValue } = useAnimatedValue(
|
|
48
50
|
Theme[normalbackgroundColor],
|
|
@@ -51,51 +53,45 @@ function _CardSelect({
|
|
|
51
53
|
|
|
52
54
|
const textColor = disabled ? 'fg-300' : selected ? 'accent-100' : 'fg-100';
|
|
53
55
|
|
|
54
|
-
const Image = type === 'wallet' ? WalletImage : NetworkImage;
|
|
55
|
-
|
|
56
|
-
const templateInstalled = () => {
|
|
57
|
-
if (!installed) return null;
|
|
58
|
-
|
|
59
|
-
return (
|
|
60
|
-
<IconBox
|
|
61
|
-
icon="checkmark"
|
|
62
|
-
iconSize="xs"
|
|
63
|
-
iconColor={'success-100'}
|
|
64
|
-
border
|
|
65
|
-
borderSize={6}
|
|
66
|
-
borderColor="bg-150"
|
|
67
|
-
background
|
|
68
|
-
backgroundColor="icon-box-bg-success-100"
|
|
69
|
-
size="sm"
|
|
70
|
-
style={styles.installedBox}
|
|
71
|
-
/>
|
|
72
|
-
);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
56
|
return (
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
57
|
+
<FlexView style={style} alignItems="center" justifyContent="center">
|
|
58
|
+
<AnimatedPressable
|
|
59
|
+
onPress={onPress}
|
|
60
|
+
onPressIn={setEndValue}
|
|
61
|
+
onPressOut={setStartValue}
|
|
62
|
+
disabled={disabled}
|
|
63
|
+
style={[styles.container, { backgroundColor: animatedValue }]}
|
|
64
|
+
testID={testID}
|
|
65
|
+
>
|
|
66
|
+
<View>
|
|
67
|
+
<Image
|
|
68
|
+
imageSrc={imageSrc}
|
|
69
|
+
imageHeaders={imageHeaders}
|
|
70
|
+
size="md"
|
|
71
|
+
style={disabled ? styles.disabledImage : null}
|
|
72
|
+
selected={selected}
|
|
73
|
+
disabled={disabled}
|
|
74
|
+
/>
|
|
75
|
+
{installed ? (
|
|
76
|
+
<IconBox
|
|
77
|
+
icon="checkmark"
|
|
78
|
+
iconSize="xs"
|
|
79
|
+
iconColor={'success-100'}
|
|
80
|
+
border
|
|
81
|
+
borderSize={6}
|
|
82
|
+
borderColor="bg-150"
|
|
83
|
+
background
|
|
84
|
+
backgroundColor="icon-box-bg-success-100"
|
|
85
|
+
size="sm"
|
|
86
|
+
style={styles.installedBox}
|
|
87
|
+
/>
|
|
88
|
+
) : null}
|
|
89
|
+
</View>
|
|
90
|
+
<Text variant="tiny-500" color={textColor} style={styles.text} numberOfLines={1}>
|
|
91
|
+
{UiUtil.getWalletName(name)}
|
|
92
|
+
</Text>
|
|
93
|
+
</AnimatedPressable>
|
|
94
|
+
</FlexView>
|
|
99
95
|
);
|
|
100
96
|
}
|
|
101
97
|
|
|
@@ -1,38 +1,41 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
|
-
import { useWindowDimensions } from 'react-native';
|
|
2
|
+
import { StatusBar, useWindowDimensions } from 'react-native';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Hook used to get the width of the screen and the padding needed to accomplish portrait and landscape modes.
|
|
6
|
-
* @returns {
|
|
6
|
+
* @returns { maxHeight: number, isPortrait: boolean, isLandscape: boolean, padding: number }
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
type CustomDimensionsType = {
|
|
10
|
-
maxWidth: number;
|
|
11
10
|
maxHeight: number;
|
|
12
11
|
isPortrait: boolean;
|
|
13
12
|
isLandscape: boolean;
|
|
14
13
|
padding: number;
|
|
15
14
|
};
|
|
16
15
|
|
|
17
|
-
const
|
|
16
|
+
const MAX_PORTRAIT_PERCENTAGE = 0.9;
|
|
17
|
+
const MAX_LANDSCAPE_PERCENTAGE = 0.85;
|
|
18
|
+
const IOS_STATUS_BAR_HEIGHT = 20;
|
|
18
19
|
|
|
19
|
-
const getMaxHeight = (
|
|
20
|
-
|
|
20
|
+
const getMaxHeight = (height: number, isPortrait: boolean) => {
|
|
21
|
+
const percentage = isPortrait ? MAX_PORTRAIT_PERCENTAGE : MAX_LANDSCAPE_PERCENTAGE;
|
|
22
|
+
|
|
23
|
+
return height * percentage - (StatusBar.currentHeight ?? IOS_STATUS_BAR_HEIGHT);
|
|
21
24
|
};
|
|
22
25
|
|
|
23
26
|
export function useCustomDimensions(): CustomDimensionsType {
|
|
24
27
|
const { width, height } = useWindowDimensions();
|
|
25
|
-
const [maxWidth, setMaxWidth] = useState<number>(Math.min(width, height));
|
|
26
|
-
const [maxHeight, setMaxHeight] = useState<number>(getMaxHeight(width, height));
|
|
27
28
|
const [isPortrait, setIsPortrait] = useState<boolean>(height > width);
|
|
29
|
+
const [maxHeight, setMaxHeight] = useState<number>(getMaxHeight(height, height > width));
|
|
28
30
|
const [padding, setPadding] = useState<number>(0);
|
|
29
31
|
|
|
30
32
|
useEffect(() => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const _isPortrait = height > width;
|
|
34
|
+
|
|
35
|
+
setMaxHeight(getMaxHeight(height, _isPortrait));
|
|
36
|
+
setIsPortrait(_isPortrait);
|
|
37
|
+
setPadding(_isPortrait ? 0 : (width - height) / 2);
|
|
35
38
|
}, [width, height]);
|
|
36
39
|
|
|
37
|
-
return {
|
|
40
|
+
return { maxHeight, isPortrait, isLandscape: !isPortrait, padding };
|
|
38
41
|
}
|