react-native-system-ui 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/area/Area.js +4 -10
- package/dist/cjs/components/avatar/Avatar.js +3 -3
- package/dist/cjs/components/avatar/tokens.js +2 -1
- package/dist/cjs/components/badge/Badge.js +30 -38
- package/dist/cjs/components/button/Button.js +13 -13
- package/dist/cjs/components/button/ButtonGroup.js +8 -8
- package/dist/cjs/components/calendar/Calendar.js +10 -10
- package/dist/cjs/components/cascader/Cascader.js +4 -4
- package/dist/cjs/components/cascader/useCascaderExtend.js +5 -15
- package/dist/cjs/components/checkbox/CheckboxGroup.js +2 -2
- package/dist/cjs/components/circle/Circle.js +2 -2
- package/dist/cjs/components/collapse/Collapse.js +13 -16
- package/dist/cjs/components/config-provider/ConfigProvider.js +1 -1
- package/dist/cjs/components/datetime-picker/DatetimePicker.js +7 -7
- package/dist/cjs/components/dialog/Dialog.js +4 -6
- package/dist/cjs/components/dialog/tokens.js +2 -1
- package/dist/cjs/components/dropdown-menu/DropdownItem.js +53 -52
- package/dist/cjs/components/dropdown-menu/DropdownMenu.js +19 -23
- package/dist/cjs/components/dropdown-menu/tokens.js +20 -3
- package/dist/cjs/components/field/Field.js +6 -6
- package/dist/cjs/components/form/Form.js +5 -9
- package/dist/cjs/components/grid/Grid.js +4 -4
- package/dist/cjs/components/image/Image.js +19 -15
- package/dist/cjs/components/image-preview/ImagePreview.js +62 -60
- package/dist/cjs/components/image-preview/tokens.js +21 -2
- package/dist/cjs/components/index-bar/IndexAnchor.js +7 -6
- package/dist/cjs/components/index-bar/IndexBar.js +38 -44
- package/dist/cjs/components/index-bar/tokens.js +22 -13
- package/dist/cjs/components/index.js +343 -0
- package/dist/cjs/components/input/Input.js +7 -10
- package/dist/cjs/components/notice-bar/NoticeBar.js +69 -95
- package/dist/cjs/components/notify/Notify.js +46 -22
- package/dist/cjs/components/notify/defaults.js +2 -2
- package/dist/cjs/components/notify/imperative.js +1 -1
- package/dist/cjs/components/notify/tokens.js +5 -4
- package/dist/cjs/components/number-keyboard/NumberKeyboard.js +12 -12
- package/dist/cjs/components/number-keyboard/tokens.js +4 -2
- package/dist/cjs/components/overlay/useOverlayStack.js +5 -1
- package/dist/cjs/components/pagination/Pagination.js +2 -2
- package/dist/cjs/components/password-input/PasswordInput.js +35 -27
- package/dist/cjs/components/picker/Picker.js +11 -12
- package/dist/cjs/components/picker/WheelPicker.js +9 -9
- package/dist/cjs/components/picker/tokens.js +4 -2
- package/dist/cjs/components/popup/Popup.js +39 -54
- package/dist/cjs/components/popup/tokens.js +2 -1
- package/dist/cjs/components/portal/Portal.js +5 -0
- package/dist/cjs/components/portal/PortalHost.js +1 -13
- package/dist/cjs/components/pull-refresh/PullRefresh.js +46 -27
- package/dist/cjs/components/radio/RadioGroup.js +2 -2
- package/dist/cjs/components/search/Search.js +52 -67
- package/dist/cjs/components/search/tokens.js +2 -1
- package/dist/cjs/components/selector/Selector.js +3 -3
- package/dist/cjs/components/share-sheet/ShareSheet.js +64 -62
- package/dist/cjs/components/share-sheet/tokens.js +15 -2
- package/dist/cjs/components/sidebar/Sidebar.js +15 -19
- package/dist/cjs/components/sidebar/SidebarItem.js +0 -3
- package/dist/cjs/components/skeleton/Skeleton.js +44 -56
- package/dist/cjs/components/slider/Slider.js +55 -61
- package/dist/cjs/components/stepper/Stepper.js +13 -16
- package/dist/cjs/components/stepper/tokens.js +4 -2
- package/dist/cjs/components/swiper/Swiper.js +21 -42
- package/dist/cjs/components/swiper/useSwiperWeb.js +15 -18
- package/dist/cjs/components/tabbar/Tabbar.js +8 -11
- package/dist/cjs/components/tabbar/TabbarItem.js +0 -3
- package/dist/cjs/components/tabs/Tabs.js +33 -54
- package/dist/cjs/components/tabs/tokens.js +9 -1
- package/dist/cjs/components/tabs/useTabsScroll.js +4 -0
- package/dist/cjs/components/toast/Toast.js +10 -8
- package/dist/cjs/components/toast/tokens.js +5 -1
- package/dist/cjs/components/typography/Typography.js +17 -30
- package/dist/cjs/components/uploader/Uploader.js +49 -46
- package/dist/cjs/components/uploader/tokens.js +27 -1
- package/dist/cjs/components/water-mark/WaterMark.js +16 -16
- package/dist/cjs/hooks/usePresenceAnimation.js +12 -2
- package/dist/es/components/area/Area.js +5 -11
- package/dist/es/components/avatar/Avatar.js +3 -3
- package/dist/es/components/avatar/tokens.js +2 -1
- package/dist/es/components/badge/Badge.js +31 -39
- package/dist/es/components/button/Button.js +14 -14
- package/dist/es/components/button/ButtonGroup.js +7 -7
- package/dist/es/components/calendar/Calendar.js +11 -11
- package/dist/es/components/cascader/Cascader.js +5 -5
- package/dist/es/components/cascader/useCascaderExtend.js +5 -9
- package/dist/es/components/checkbox/CheckboxGroup.js +3 -3
- package/dist/es/components/circle/Circle.js +3 -3
- package/dist/es/components/collapse/Collapse.js +14 -17
- package/dist/es/components/config-provider/ConfigProvider.js +2 -2
- package/dist/es/components/datetime-picker/DatetimePicker.js +8 -8
- package/dist/es/components/dialog/Dialog.js +4 -6
- package/dist/es/components/dialog/tokens.js +2 -1
- package/dist/es/components/dropdown-menu/DropdownItem.js +53 -52
- package/dist/es/components/dropdown-menu/DropdownMenu.js +20 -24
- package/dist/es/components/dropdown-menu/tokens.js +20 -3
- package/dist/es/components/field/Field.js +7 -7
- package/dist/es/components/field/index.js +1 -1
- package/dist/es/components/form/Form.js +6 -10
- package/dist/es/components/grid/Grid.js +3 -3
- package/dist/es/components/image/Image.js +20 -16
- package/dist/es/components/image-preview/ImagePreview.js +63 -61
- package/dist/es/components/image-preview/tokens.js +21 -2
- package/dist/es/components/index-bar/IndexAnchor.js +7 -6
- package/dist/es/components/index-bar/IndexBar.js +39 -45
- package/dist/es/components/index-bar/tokens.js +22 -13
- package/dist/es/components/index.js +50 -1
- package/dist/es/components/input/Input.js +8 -11
- package/dist/es/components/notice-bar/NoticeBar.js +70 -96
- package/dist/es/components/notify/Notify.js +46 -23
- package/dist/es/components/notify/defaults.js +2 -2
- package/dist/es/components/notify/imperative.js +1 -1
- package/dist/es/components/notify/tokens.js +5 -4
- package/dist/es/components/number-keyboard/NumberKeyboard.js +13 -13
- package/dist/es/components/number-keyboard/tokens.js +4 -2
- package/dist/es/components/overlay/useOverlayStack.js +6 -2
- package/dist/es/components/pagination/Pagination.js +3 -3
- package/dist/es/components/password-input/PasswordInput.js +36 -28
- package/dist/es/components/picker/Picker.js +12 -13
- package/dist/es/components/picker/WheelPicker.js +10 -10
- package/dist/es/components/picker/tokens.js +4 -2
- package/dist/es/components/popup/Popup.js +41 -56
- package/dist/es/components/popup/tokens.js +2 -1
- package/dist/es/components/portal/Portal.js +5 -0
- package/dist/es/components/portal/PortalHost.js +1 -13
- package/dist/es/components/pull-refresh/PullRefresh.js +47 -28
- package/dist/es/components/radio/RadioGroup.js +3 -3
- package/dist/es/components/search/Search.js +53 -68
- package/dist/es/components/search/tokens.js +2 -1
- package/dist/es/components/selector/Selector.js +4 -4
- package/dist/es/components/share-sheet/ShareSheet.js +65 -63
- package/dist/es/components/share-sheet/tokens.js +15 -2
- package/dist/es/components/sidebar/Sidebar.js +14 -18
- package/dist/es/components/sidebar/SidebarItem.js +0 -3
- package/dist/es/components/skeleton/Skeleton.js +45 -57
- package/dist/es/components/slider/Slider.js +56 -62
- package/dist/es/components/stepper/Stepper.js +14 -17
- package/dist/es/components/stepper/tokens.js +4 -2
- package/dist/es/components/swiper/Swiper.js +22 -43
- package/dist/es/components/swiper/useSwiperWeb.js +16 -19
- package/dist/es/components/tabbar/Tabbar.js +9 -12
- package/dist/es/components/tabbar/TabbarItem.js +0 -3
- package/dist/es/components/tabs/Tabs.js +34 -55
- package/dist/es/components/tabs/tokens.js +9 -1
- package/dist/es/components/tabs/useTabsScroll.js +4 -0
- package/dist/es/components/toast/Toast.js +10 -8
- package/dist/es/components/toast/tokens.js +5 -1
- package/dist/es/components/typography/Typography.js +18 -31
- package/dist/es/components/uploader/Uploader.js +49 -46
- package/dist/es/components/uploader/tokens.js +27 -1
- package/dist/es/components/water-mark/WaterMark.js +17 -17
- package/dist/es/hooks/usePresenceAnimation.js +12 -2
- package/dist/types/components/dialog/tokens.d.ts +1 -0
- package/dist/types/components/dropdown-menu/tokens.d.ts +17 -0
- package/dist/types/components/field/index.d.ts +1 -1
- package/dist/types/components/image-preview/tokens.d.ts +16 -0
- package/dist/types/components/index-bar/tokens.d.ts +13 -4
- package/dist/types/components/index.d.ts +102 -0
- package/dist/types/components/notify/defaults.d.ts +2 -2
- package/dist/types/components/number-keyboard/tokens.d.ts +1 -0
- package/dist/types/components/password-input/PasswordInput.d.ts +4 -0
- package/dist/types/components/picker/tokens.d.ts +2 -0
- package/dist/types/components/popup/tokens.d.ts +1 -0
- package/dist/types/components/search/tokens.d.ts +1 -0
- package/dist/types/components/share-sheet/tokens.d.ts +13 -0
- package/dist/types/components/stepper/tokens.d.ts +2 -0
- package/dist/types/components/tabs/tokens.d.ts +8 -0
- package/dist/types/components/toast/tokens.d.ts +4 -0
- package/dist/types/components/uploader/tokens.d.ts +25 -0
- package/dist/types/hooks/usePresenceAnimation.d.ts +6 -1
- package/package.json +135 -135
|
@@ -53,19 +53,16 @@ const TabbarBase = props => {
|
|
|
53
53
|
const placeholder = placeholderProp ?? tokens.defaults.placeholder;
|
|
54
54
|
const iconSize = iconSizeProp ?? tokens.icon.size;
|
|
55
55
|
const enableSafeAreaInsetBottom = safeAreaInsetBottom ?? fixed;
|
|
56
|
-
const items =
|
|
57
|
-
const firstName =
|
|
56
|
+
const items = _react().default.Children.toArray(children).filter(_react().default.isValidElement);
|
|
57
|
+
const firstName = items.length ? items[0].props.name ?? 0 : undefined;
|
|
58
58
|
const [activeValue, setActiveValue] = (0, _hooks.useControllableValue)(props, {
|
|
59
59
|
defaultValue: firstName,
|
|
60
60
|
valuePropName: 'value',
|
|
61
61
|
defaultValuePropName: 'defaultValue',
|
|
62
62
|
trigger: 'onChange'
|
|
63
63
|
});
|
|
64
|
-
const itemNames =
|
|
65
|
-
const currentName =
|
|
66
|
-
if (activeValue === undefined || activeValue === null) return firstName;
|
|
67
|
-
return itemNames.some(name => name === activeValue) ? activeValue : firstName;
|
|
68
|
-
}, [activeValue, firstName, itemNames]);
|
|
64
|
+
const itemNames = items.map((item, index) => item.props.name ?? index);
|
|
65
|
+
const currentName = activeValue === undefined || activeValue === null ? firstName : itemNames.some(name => name === activeValue) ? activeValue : firstName;
|
|
69
66
|
const [barHeight, setBarHeight] = (0, _react().useState)(tokens.layout.height);
|
|
70
67
|
const enablePlaceholder = fixed && placeholder;
|
|
71
68
|
const handleLayout = (0, _react().useCallback)(event => {
|
|
@@ -74,15 +71,15 @@ const TabbarBase = props => {
|
|
|
74
71
|
setBarHeight(prev => Math.abs(prev - nextHeight) < 0.5 ? prev : nextHeight);
|
|
75
72
|
}, [enablePlaceholder]);
|
|
76
73
|
const onSelect = (0, _react().useCallback)((name, index) => setActiveValue(name, index), [setActiveValue]);
|
|
77
|
-
const contextValue =
|
|
74
|
+
const contextValue = {
|
|
78
75
|
activeValue: currentName,
|
|
79
76
|
activeColor: activeColor ?? tokens.colors.active,
|
|
80
77
|
inactiveColor: inactiveColor ?? tokens.colors.inactive,
|
|
81
78
|
fontSize: tokens.typography.fontSize,
|
|
82
79
|
fontWeight: tokens.typography.fontWeight,
|
|
83
80
|
onSelect
|
|
84
|
-
}
|
|
85
|
-
const clonedChildren =
|
|
81
|
+
};
|
|
82
|
+
const clonedChildren = items.map((item, index) => {
|
|
86
83
|
const name = item.props.name ?? index;
|
|
87
84
|
return /*#__PURE__*/_react().default.cloneElement(item, {
|
|
88
85
|
key: item.key ?? name,
|
|
@@ -91,7 +88,7 @@ const TabbarBase = props => {
|
|
|
91
88
|
iconSize,
|
|
92
89
|
tokensOverride: (0, _designSystem.mergeTokensOverride)(tokensOverride, item.props.tokensOverride)
|
|
93
90
|
});
|
|
94
|
-
})
|
|
91
|
+
});
|
|
95
92
|
if (items.length === 0) return null;
|
|
96
93
|
const ContentWrapper = enableSafeAreaInsetBottom ? _safeAreaView.SafeAreaView : _reactNative().View;
|
|
97
94
|
return /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, enablePlaceholder && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
@@ -46,9 +46,6 @@ const TabbarItem = props => {
|
|
|
46
46
|
const tokens = (0, _tokens.useTabbarTokens)(tokensOverride);
|
|
47
47
|
const context = (0, _TabbarContext.useTabbarContext)();
|
|
48
48
|
if (!context) {
|
|
49
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
50
|
-
console.warn('[TabbarItem] 需要作为 Tabbar 的子节点使用。');
|
|
51
|
-
}
|
|
52
49
|
return null;
|
|
53
50
|
}
|
|
54
51
|
const itemName = name ?? index ?? 0;
|
|
@@ -138,10 +138,10 @@ const TabBarItemInner = ({
|
|
|
138
138
|
}, ellipsis && !isJumbo ? styles.ellipsis : null, titleStyle],
|
|
139
139
|
numberOfLines: ellipsis && !isJumbo ? 1 : undefined
|
|
140
140
|
}, renderTitle), (0, _validate.isRenderable)(renderDescription) && ((0, _validate.isText)(renderDescription) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
141
|
-
style: [styles.
|
|
141
|
+
style: [styles.descriptionText, isJumbo ? {
|
|
142
142
|
color: descriptionColor,
|
|
143
143
|
fontSize: tokens.typography.descriptionSize,
|
|
144
|
-
marginTop:
|
|
144
|
+
marginTop: tokens.spacing.jumboDescriptionMarginTop,
|
|
145
145
|
textAlign: 'center',
|
|
146
146
|
backgroundColor: isActive ? tokens.colors.jumboDescriptionActiveBackground : tokens.colors.jumboDescriptionBackground,
|
|
147
147
|
paddingHorizontal: tokens.jumbo.descriptionPaddingHorizontal,
|
|
@@ -150,26 +150,29 @@ const TabBarItemInner = ({
|
|
|
150
150
|
} : {
|
|
151
151
|
color: descriptionColor,
|
|
152
152
|
fontSize: tokens.typography.descriptionSize,
|
|
153
|
-
marginTop:
|
|
153
|
+
marginTop: tokens.spacing.descriptionMarginTop,
|
|
154
154
|
textAlign: 'center'
|
|
155
155
|
}, descriptionStyle]
|
|
156
156
|
}, renderDescription) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
157
|
-
style: [styles.
|
|
158
|
-
marginTop:
|
|
157
|
+
style: [styles.descriptionView, isJumbo ? {
|
|
158
|
+
marginTop: tokens.spacing.jumboDescriptionMarginTop,
|
|
159
159
|
alignItems: 'center',
|
|
160
160
|
backgroundColor: isActive ? tokens.colors.jumboDescriptionActiveBackground : tokens.colors.jumboDescriptionBackground,
|
|
161
161
|
paddingHorizontal: tokens.jumbo.descriptionPaddingHorizontal,
|
|
162
162
|
paddingVertical: tokens.jumbo.descriptionPaddingVertical,
|
|
163
163
|
borderRadius: tokens.jumbo.descriptionRadius
|
|
164
164
|
} : {
|
|
165
|
-
marginTop:
|
|
165
|
+
marginTop: tokens.spacing.descriptionMarginTop,
|
|
166
166
|
alignItems: 'center'
|
|
167
167
|
}]
|
|
168
168
|
}, renderDescription)), (0, _validate.isRenderable)(pane.badge) && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
169
|
-
style: styles.badge
|
|
169
|
+
style: [styles.badge, {
|
|
170
|
+
marginTop: tokens.spacing.badgeMarginTop
|
|
171
|
+
}]
|
|
170
172
|
}, (0, _validate.isText)(pane.badge) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
171
173
|
style: [styles.badgeText, {
|
|
172
|
-
color: tokens.colors.badgeText
|
|
174
|
+
color: tokens.colors.badgeText,
|
|
175
|
+
fontSize: tokens.typography.badgeTextSize
|
|
173
176
|
}]
|
|
174
177
|
}, pane.badge) : pane.badge)));
|
|
175
178
|
};
|
|
@@ -231,7 +234,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
231
234
|
preventScroll: true
|
|
232
235
|
};
|
|
233
236
|
const isSwipeable = !!swipeableConfig;
|
|
234
|
-
const panes = (
|
|
237
|
+
const panes = (() => {
|
|
235
238
|
const result = [];
|
|
236
239
|
let paneIndex = 0;
|
|
237
240
|
const walk = nodes => {
|
|
@@ -243,11 +246,6 @@ const TabsBaseInner = (props, ref) => {
|
|
|
243
246
|
return;
|
|
244
247
|
}
|
|
245
248
|
if (!(0, _utils.isTabPaneElement)(element)) {
|
|
246
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
247
|
-
const type = element.type;
|
|
248
|
-
const childName = typeof type === 'string' ? type : type.displayName ?? type.name ?? 'Unknown';
|
|
249
|
-
console.warn('[Tabs] children 只能是 <Tabs.TabPane />,已忽略:', childName);
|
|
250
|
-
}
|
|
251
249
|
return;
|
|
252
250
|
}
|
|
253
251
|
const paneProps = element.props;
|
|
@@ -263,7 +261,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
263
261
|
};
|
|
264
262
|
walk(children);
|
|
265
263
|
return result;
|
|
266
|
-
}
|
|
264
|
+
})();
|
|
267
265
|
const firstPaneName = panes[0]?.name;
|
|
268
266
|
const [activeValue, setActiveValue] = (0, _hooks.useControllableValue)(props, {
|
|
269
267
|
defaultValue: firstPaneName,
|
|
@@ -276,13 +274,13 @@ const TabsBaseInner = (props, ref) => {
|
|
|
276
274
|
(0, _react().useEffect)(() => {
|
|
277
275
|
currentNameRef.current = currentName;
|
|
278
276
|
}, [currentName]);
|
|
279
|
-
const nameIndexMap = (
|
|
277
|
+
const nameIndexMap = (() => {
|
|
280
278
|
const map = new Map();
|
|
281
279
|
panes.forEach(pane => {
|
|
282
280
|
map.set(pane.name, pane.index);
|
|
283
281
|
});
|
|
284
282
|
return map;
|
|
285
|
-
}
|
|
283
|
+
})();
|
|
286
284
|
const activeIndex = currentName == null ? -1 : nameIndexMap.get(currentName) ?? -1;
|
|
287
285
|
const visitedRef = (0, _react().useRef)(new Set());
|
|
288
286
|
(0, _react().useEffect)(() => {
|
|
@@ -331,12 +329,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
331
329
|
navContentSizeSyncFrameRef.current = null;
|
|
332
330
|
};
|
|
333
331
|
}, []);
|
|
334
|
-
const scrollable = (0,
|
|
335
|
-
if ((0, _validate.isBoolean)(scrollableProp)) {
|
|
336
|
-
return scrollableProp;
|
|
337
|
-
}
|
|
338
|
-
return panes.length > resolvedSwipeThreshold || ellipsis === false;
|
|
339
|
-
}, [ellipsis, panes.length, resolvedSwipeThreshold, scrollableProp]);
|
|
332
|
+
const scrollable = (0, _validate.isBoolean)(scrollableProp) ? scrollableProp : panes.length > resolvedSwipeThreshold || ellipsis === false;
|
|
340
333
|
const indicatorColor = color ?? tokens.colors.indicator;
|
|
341
334
|
const indicatorCornerRadius = resolvedLineHeight ? resolvedLineHeight / 2 : tokens.indicator.radius;
|
|
342
335
|
const {
|
|
@@ -405,12 +398,8 @@ const TabsBaseInner = (props, ref) => {
|
|
|
405
398
|
const runBeforeChange = (0, _react().useCallback)(name => {
|
|
406
399
|
if (!beforeChange) return Promise.resolve(true);
|
|
407
400
|
try {
|
|
408
|
-
return Promise.resolve(beforeChange(name)).then(res => res !== false).catch(
|
|
409
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Tabs] beforeChange 抛出异常:', error);
|
|
410
|
-
return false;
|
|
411
|
-
});
|
|
401
|
+
return Promise.resolve(beforeChange(name)).then(res => res !== false).catch(() => false);
|
|
412
402
|
} catch (error) {
|
|
413
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Tabs] beforeChange 抛出异常:', error);
|
|
414
403
|
return Promise.resolve(false);
|
|
415
404
|
}
|
|
416
405
|
}, [beforeChange]);
|
|
@@ -509,15 +498,7 @@ const TabsBaseInner = (props, ref) => {
|
|
|
509
498
|
}, [currentName, scrollIntoView]);
|
|
510
499
|
const borderEnabled = border ?? false;
|
|
511
500
|
const showIndicator = type === 'line';
|
|
512
|
-
const navHeight =
|
|
513
|
-
if (type === 'jumbo') {
|
|
514
|
-
return tokens.jumbo.height;
|
|
515
|
-
}
|
|
516
|
-
if (type === 'card') {
|
|
517
|
-
return tokens.card.height;
|
|
518
|
-
}
|
|
519
|
-
return tokens.tabList.height;
|
|
520
|
-
}, [type, tokens]);
|
|
501
|
+
const navHeight = type === 'jumbo' ? tokens.jumbo.height : type === 'card' ? tokens.card.height : tokens.tabList.height;
|
|
521
502
|
const navPaddingBottom = _reactNative().Platform.OS === 'web' && type !== 'line' && type !== 'card' ? tokens.tabList.paddingBottom : 0;
|
|
522
503
|
const indicatorBottom = showIndicator ? type === 'line' ? 0 : tokens.indicator.offset : 0;
|
|
523
504
|
if (panes.length === 0) {
|
|
@@ -591,7 +572,9 @@ const TabsBaseInner = (props, ref) => {
|
|
|
591
572
|
backgroundColor: background
|
|
592
573
|
}, tabBarStyle]
|
|
593
574
|
}, navLeft && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
594
|
-
style: styles.navSide
|
|
575
|
+
style: [styles.navSide, {
|
|
576
|
+
paddingHorizontal: tokens.spacing.navSidePaddingHorizontal
|
|
577
|
+
}]
|
|
595
578
|
}, navLeft), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
596
579
|
style: [styles.nav, {
|
|
597
580
|
minHeight: navHeight + navPaddingBottom,
|
|
@@ -605,7 +588,9 @@ const TabsBaseInner = (props, ref) => {
|
|
|
605
588
|
} : null],
|
|
606
589
|
onLayout: handleNavContainerLayout
|
|
607
590
|
}, navBody), navRight && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
608
|
-
style: styles.navSide
|
|
591
|
+
style: [styles.navSide, {
|
|
592
|
+
paddingHorizontal: tokens.spacing.navSidePaddingHorizontal
|
|
593
|
+
}]
|
|
609
594
|
}, navRight));
|
|
610
595
|
const paneNodes = panes.map(pane => {
|
|
611
596
|
const isActive = pane.name === currentName;
|
|
@@ -648,7 +633,9 @@ const TabsBaseInner = (props, ref) => {
|
|
|
648
633
|
style: [styles.container, style],
|
|
649
634
|
onLayout: handleContainerLayout
|
|
650
635
|
}), navContent, navBottom && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
651
|
-
style: styles.navBottom
|
|
636
|
+
style: [styles.navBottom, {
|
|
637
|
+
marginTop: tokens.spacing.navBottomMarginTop
|
|
638
|
+
}]
|
|
652
639
|
}, navBottom), contentNode);
|
|
653
640
|
};
|
|
654
641
|
const styles = _reactNative().StyleSheet.create({
|
|
@@ -674,12 +661,8 @@ const styles = _reactNative().StyleSheet.create({
|
|
|
674
661
|
navContentStatic: {
|
|
675
662
|
flex: 1
|
|
676
663
|
},
|
|
677
|
-
navSide: {
|
|
678
|
-
|
|
679
|
-
},
|
|
680
|
-
navBottom: {
|
|
681
|
-
marginTop: 8
|
|
682
|
-
},
|
|
664
|
+
navSide: {},
|
|
665
|
+
navBottom: {},
|
|
683
666
|
labelWrapper: {
|
|
684
667
|
justifyContent: 'center',
|
|
685
668
|
alignItems: 'center',
|
|
@@ -707,20 +690,16 @@ const styles = _reactNative().StyleSheet.create({
|
|
|
707
690
|
title: {
|
|
708
691
|
includeFontPadding: false
|
|
709
692
|
},
|
|
710
|
-
|
|
711
|
-
marginTop: 2,
|
|
693
|
+
descriptionText: {
|
|
712
694
|
includeFontPadding: false
|
|
713
695
|
},
|
|
696
|
+
descriptionView: {},
|
|
714
697
|
ellipsis: {
|
|
715
698
|
maxWidth: '100%',
|
|
716
699
|
flexShrink: 1
|
|
717
700
|
},
|
|
718
|
-
badge: {
|
|
719
|
-
|
|
720
|
-
},
|
|
721
|
-
badgeText: {
|
|
722
|
-
fontSize: 10
|
|
723
|
-
},
|
|
701
|
+
badge: {},
|
|
702
|
+
badgeText: {},
|
|
724
703
|
indicator: {
|
|
725
704
|
position: 'absolute',
|
|
726
705
|
bottom: 0,
|
|
@@ -67,7 +67,15 @@ const createTokens = foundations => {
|
|
|
67
67
|
titleActiveWeight: foundations.typography.weight.semiBold,
|
|
68
68
|
descriptionSize: fontSize.xs,
|
|
69
69
|
jumboTitleSize: fontSize.md,
|
|
70
|
-
jumboLineHeight: Math.round(fontSize.md * 1.6)
|
|
70
|
+
jumboLineHeight: Math.round(fontSize.md * 1.6),
|
|
71
|
+
badgeTextSize: fontSize.xxs
|
|
72
|
+
},
|
|
73
|
+
spacing: {
|
|
74
|
+
navSidePaddingHorizontal: spacing.sm,
|
|
75
|
+
navBottomMarginTop: spacing.sm,
|
|
76
|
+
descriptionMarginTop: spacing.xxs,
|
|
77
|
+
jumboDescriptionMarginTop: spacing.sm,
|
|
78
|
+
badgeMarginTop: spacing.xs
|
|
71
79
|
},
|
|
72
80
|
indicator: {
|
|
73
81
|
height: 3,
|
|
@@ -87,7 +87,11 @@ const useTabsScroll = ({
|
|
|
87
87
|
const listenerId = navScrollX.addListener(({
|
|
88
88
|
value
|
|
89
89
|
}) => {
|
|
90
|
+
const prev = navLastScrollXRef.current;
|
|
90
91
|
navLastScrollXRef.current = value;
|
|
92
|
+
if (Math.abs(value - prev) < 0.5) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
91
95
|
navScrollRef.current?.scrollTo({
|
|
92
96
|
x: value,
|
|
93
97
|
y: 0,
|
|
@@ -84,7 +84,7 @@ const Toast = props => {
|
|
|
84
84
|
});
|
|
85
85
|
const prevVisibleRef = (0, _react().useRef)(visible);
|
|
86
86
|
const closingRef = (0, _react().useRef)(false);
|
|
87
|
-
const positionOffset = windowHeight > 0 ? Math.round(windowHeight *
|
|
87
|
+
const positionOffset = windowHeight > 0 ? Math.round(windowHeight * tokens.positionOffsetRatio) : tokens.positionOffsetMin;
|
|
88
88
|
const needsSafeAreaTop = safeAreaInsetTopProp !== undefined ? safeAreaInsetTopProp : position === 'top';
|
|
89
89
|
const needsSafeAreaBottom = safeAreaInsetBottomProp !== undefined ? safeAreaInsetBottomProp : position === 'bottom';
|
|
90
90
|
const positionStyle = position === 'top' ? {
|
|
@@ -185,7 +185,7 @@ const Toast = props => {
|
|
|
185
185
|
};
|
|
186
186
|
const toastStyle = {
|
|
187
187
|
borderRadius: tokens.radius,
|
|
188
|
-
opacity: closeOnClick && toastPress.states.pressed ?
|
|
188
|
+
opacity: closeOnClick && toastPress.states.pressed ? tokens.pressedOpacity : animated,
|
|
189
189
|
backgroundColor: tokens.colors.variants[type],
|
|
190
190
|
maxWidth: tokens.maxWidth,
|
|
191
191
|
...boxStyle
|
|
@@ -193,13 +193,17 @@ const Toast = props => {
|
|
|
193
193
|
if (!mounted) return null;
|
|
194
194
|
const hasMessage = message !== undefined && message !== null && message !== false && message !== '';
|
|
195
195
|
return /*#__PURE__*/_react().default.createElement(_Portal.default, null, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
196
|
-
style: [styles.backdrop,
|
|
196
|
+
style: [styles.backdrop, {
|
|
197
|
+
backgroundColor: tokens.colors.transparent
|
|
198
|
+
}, positionStyle, stackZIndex ? {
|
|
197
199
|
zIndex: stackZIndex
|
|
198
200
|
} : undefined],
|
|
199
201
|
pointerEvents: forbidClick || overlay || closeOnClick ? 'auto' : 'none'
|
|
200
202
|
}, overlay || forbidClick ? /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, {
|
|
201
203
|
testID: "rv-toast-overlay",
|
|
202
|
-
style: [styles.overlay,
|
|
204
|
+
style: [styles.overlay, {
|
|
205
|
+
backgroundColor: tokens.colors.transparent
|
|
206
|
+
}, overlay && {
|
|
203
207
|
backgroundColor: colors.backdrop
|
|
204
208
|
}, overlayStyle],
|
|
205
209
|
pointerEvents: "auto",
|
|
@@ -236,12 +240,10 @@ exports.Toast = Toast;
|
|
|
236
240
|
const styles = _reactNative().StyleSheet.create({
|
|
237
241
|
backdrop: {
|
|
238
242
|
flex: 1,
|
|
239
|
-
alignItems: 'center'
|
|
240
|
-
backgroundColor: 'transparent'
|
|
243
|
+
alignItems: 'center'
|
|
241
244
|
},
|
|
242
245
|
overlay: {
|
|
243
|
-
..._reactNative().StyleSheet.absoluteFillObject
|
|
244
|
-
backgroundColor: 'transparent'
|
|
246
|
+
..._reactNative().StyleSheet.absoluteFillObject
|
|
245
247
|
},
|
|
246
248
|
toast: {
|
|
247
249
|
alignItems: 'center',
|
|
@@ -17,7 +17,8 @@ const createToastTokens = foundations => {
|
|
|
17
17
|
success: backdrop,
|
|
18
18
|
fail: backdrop,
|
|
19
19
|
loading: backdrop
|
|
20
|
-
}
|
|
20
|
+
},
|
|
21
|
+
transparent: 'transparent'
|
|
21
22
|
},
|
|
22
23
|
fontSize: foundations.fontSize.sm,
|
|
23
24
|
lineHeight: Math.round(foundations.fontSize.sm * foundations.typography.lineHeightMultiplier),
|
|
@@ -31,6 +32,9 @@ const createToastTokens = foundations => {
|
|
|
31
32
|
defaultPadding: foundations.spacing.lg,
|
|
32
33
|
defaultWidth: 88,
|
|
33
34
|
defaultMinHeight: 88,
|
|
35
|
+
pressedOpacity: 0.85,
|
|
36
|
+
positionOffsetRatio: 0.2,
|
|
37
|
+
positionOffsetMin: 60,
|
|
34
38
|
animationDuration: 160
|
|
35
39
|
};
|
|
36
40
|
};
|
|
@@ -73,21 +73,18 @@ const TypographyTextBaseInner = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
73
73
|
}
|
|
74
74
|
const fontSize = level ? tokens.sizing.titles[level].fontSize : tokens.sizing.sizes[size];
|
|
75
75
|
const lineHeight = level ? tokens.sizing.titles[level].lineHeight : fontSize * tokens.sizing.lineHeightMultiplier;
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
};
|
|
89
|
-
return [computedStyle, style];
|
|
90
|
-
}, [resolvedColor, fontSize, lineHeight, tokens.typography.fontFamily, tokens.opacity.disabled, tokens.typography.weight.regular, tokens.typography.weight.strong, strong, center, disabled, underline, deleted, style]);
|
|
76
|
+
const textDecorationLine = underline && deleted ? 'underline line-through' : underline ? 'underline' : deleted ? 'line-through' : undefined;
|
|
77
|
+
const baseStyle = [{
|
|
78
|
+
color: resolvedColor,
|
|
79
|
+
fontSize,
|
|
80
|
+
lineHeight,
|
|
81
|
+
fontFamily: tokens.typography.fontFamily,
|
|
82
|
+
fontWeight: strong ? tokens.typography.weight.strong : tokens.typography.weight.regular,
|
|
83
|
+
includeFontPadding: false,
|
|
84
|
+
textDecorationLine,
|
|
85
|
+
textAlign: center ? 'center' : undefined,
|
|
86
|
+
opacity: disabled ? tokens.opacity.disabled : 1
|
|
87
|
+
}, style];
|
|
91
88
|
const hasActionText = !!ellipsisConfig && (ellipsisConfig.expandText || ellipsisConfig.collapseText);
|
|
92
89
|
const shouldShowAction = hasActionText && (isTruncated || expanded || isWeb);
|
|
93
90
|
const handleToggleEllipsis = (0, _react().useCallback)(() => {
|
|
@@ -98,21 +95,15 @@ const TypographyTextBaseInner = /*#__PURE__*/_react().default.forwardRef((props,
|
|
|
98
95
|
return next;
|
|
99
96
|
});
|
|
100
97
|
}, [ellipsisConfig]);
|
|
101
|
-
const actionLabel =
|
|
102
|
-
|
|
103
|
-
return expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
|
|
104
|
-
}, [ellipsisConfig, expanded]);
|
|
105
|
-
const actionTextStyle = (0, _react().useMemo)(() => ({
|
|
98
|
+
const actionLabel = !ellipsisConfig ? undefined : expanded ? ellipsisConfig.collapseText ?? ellipsisConfig.expandText : ellipsisConfig.expandText ?? ellipsisConfig.collapseText;
|
|
99
|
+
const actionTextStyle = {
|
|
106
100
|
color: tokens.colors.primary,
|
|
107
101
|
fontSize: tokens.sizing.sizes.sm,
|
|
108
102
|
fontWeight: tokens.typography.weight.medium,
|
|
109
103
|
marginLeft: tokens.sizing.actionMarginLeft,
|
|
110
104
|
includeFontPadding: false
|
|
111
|
-
}
|
|
112
|
-
const textStyle =
|
|
113
|
-
if (!shouldShowAction) return baseStyle;
|
|
114
|
-
return [baseStyle, FLEX_SHRINK_STYLE];
|
|
115
|
-
}, [shouldShowAction, baseStyle]);
|
|
105
|
+
};
|
|
106
|
+
const textStyle = shouldShowAction ? [baseStyle, FLEX_SHRINK_STYLE] : baseStyle;
|
|
116
107
|
const textNode = /*#__PURE__*/_react().default.createElement(_reactNative().Text, _extends({
|
|
117
108
|
ref: ref,
|
|
118
109
|
style: textStyle,
|
|
@@ -170,11 +161,7 @@ const TypographyLink = /*#__PURE__*/_react().default.forwardRef((props, ref) =>
|
|
|
170
161
|
if (href) {
|
|
171
162
|
try {
|
|
172
163
|
await _reactNative().Linking.openURL(href);
|
|
173
|
-
} catch
|
|
174
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) {
|
|
175
|
-
console.warn('[Typography.Link] Failed to open url', error);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
164
|
+
} catch {}
|
|
178
165
|
}
|
|
179
166
|
}, [onPress, href]);
|
|
180
167
|
return /*#__PURE__*/_react().default.createElement(TypographyTextBase, _extends({
|
|
@@ -278,9 +278,7 @@ const Uploader = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
278
278
|
if (available <= 0) return prev;
|
|
279
279
|
return [...prev, ...next.slice(0, available).map(item => normalizeItem(item))];
|
|
280
280
|
});
|
|
281
|
-
}).catch(
|
|
282
|
-
if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[Uploader] onUpload rejected:', error);
|
|
283
|
-
});
|
|
281
|
+
}).catch(() => {});
|
|
284
282
|
};
|
|
285
283
|
const closeImagePreview = () => setPreviewVisible(false);
|
|
286
284
|
(0, _react().useImperativeHandle)(ref, () => ({
|
|
@@ -326,7 +324,7 @@ const Uploader = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
326
324
|
};
|
|
327
325
|
const renderStatus = status => {
|
|
328
326
|
if (!status) return null;
|
|
329
|
-
const baseStyle = [
|
|
327
|
+
const baseStyle = [statusStyle, {
|
|
330
328
|
backgroundColor: tokens.colors.maskBackground
|
|
331
329
|
}];
|
|
332
330
|
if (status === 'pending') {
|
|
@@ -337,7 +335,8 @@ const Uploader = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
337
335
|
color: tokens.colors.maskText
|
|
338
336
|
}), /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
339
337
|
style: [styles.statusText, {
|
|
340
|
-
color: tokens.colors.maskText
|
|
338
|
+
color: tokens.colors.maskText,
|
|
339
|
+
fontSize: tokens.typography.statusTextSize
|
|
341
340
|
}]
|
|
342
341
|
}, statusTextRender?.(status) ?? statusDefaults.pending));
|
|
343
342
|
}
|
|
@@ -347,7 +346,8 @@ const Uploader = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
347
346
|
testID: "rv-uploader-status-failed"
|
|
348
347
|
}, /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
349
348
|
style: [styles.statusText, {
|
|
350
|
-
color: tokens.colors.failed
|
|
349
|
+
color: tokens.colors.failed,
|
|
350
|
+
fontSize: tokens.typography.statusTextSize
|
|
351
351
|
}]
|
|
352
352
|
}, statusTextRender?.(status) ?? statusDefaults.failed));
|
|
353
353
|
}
|
|
@@ -364,19 +364,38 @@ const Uploader = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
364
364
|
backgroundColor: tokens.colors.background,
|
|
365
365
|
borderColor: tokens.colors.border
|
|
366
366
|
};
|
|
367
|
+
const placeholderStyle = [styles.placeholder, {
|
|
368
|
+
paddingHorizontal: tokens.spacing.placeholderPaddingHorizontal
|
|
369
|
+
}];
|
|
367
370
|
const placeholderNameStyle = [styles.placeholderName, {
|
|
368
|
-
color: tokens.colors.text
|
|
371
|
+
color: tokens.colors.text,
|
|
372
|
+
fontSize: tokens.typography.placeholderNameSize,
|
|
373
|
+
marginTop: tokens.spacing.placeholderNameMarginTop
|
|
369
374
|
}];
|
|
370
375
|
const deleteStyle = [styles.delete, {
|
|
371
|
-
backgroundColor: tokens.colors.deleteBackground
|
|
376
|
+
backgroundColor: tokens.colors.deleteBackground,
|
|
377
|
+
borderRadius: tokens.radii.deleteButton,
|
|
378
|
+
top: tokens.spacing.deleteOffset,
|
|
379
|
+
right: tokens.spacing.deleteOffset,
|
|
380
|
+
minWidth: tokens.sizing.deleteMinSize,
|
|
381
|
+
minHeight: tokens.sizing.deleteMinSize,
|
|
382
|
+
paddingHorizontal: tokens.spacing.deletePaddingHorizontal
|
|
372
383
|
}];
|
|
373
384
|
const deleteIconStyle = {
|
|
374
385
|
color: tokens.colors.deleteIcon
|
|
375
386
|
};
|
|
387
|
+
const statusStyle = [styles.status, {
|
|
388
|
+
gap: tokens.spacing.statusGap
|
|
389
|
+
}];
|
|
390
|
+
const uploadContentStyle = [styles.uploadContent, {
|
|
391
|
+
gap: tokens.spacing.uploadContentGap
|
|
392
|
+
}];
|
|
376
393
|
const renderPlaceholder = name => /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
377
|
-
style:
|
|
394
|
+
style: placeholderStyle
|
|
378
395
|
}, /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
379
|
-
style: styles.placeholderIcon
|
|
396
|
+
style: [styles.placeholderIcon, {
|
|
397
|
+
fontSize: tokens.typography.placeholderIconSize
|
|
398
|
+
}]
|
|
380
399
|
}, "FILE"), name && /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
381
400
|
style: placeholderNameStyle,
|
|
382
401
|
numberOfLines: 1
|
|
@@ -414,7 +433,9 @@ const Uploader = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
414
433
|
}, /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, {
|
|
415
434
|
style: ({
|
|
416
435
|
pressed
|
|
417
|
-
}) => [styles.preview, frameStyle, pressed &&
|
|
436
|
+
}) => [styles.preview, frameStyle, pressed && {
|
|
437
|
+
opacity: tokens.opacity.pressed
|
|
438
|
+
}],
|
|
418
439
|
onPress: () => handlePreview(item, index),
|
|
419
440
|
testID: `rv-uploader-preview-${index}`
|
|
420
441
|
}, source ? /*#__PURE__*/_react().default.createElement(_image.default, {
|
|
@@ -444,19 +465,25 @@ const Uploader = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
|
|
|
444
465
|
}, renderDelete(() => removeTask(task.id), `rv-uploader-task-delete-${task.id}`)))))) : null, canShowUpload ? /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, {
|
|
445
466
|
style: ({
|
|
446
467
|
pressed
|
|
447
|
-
}) => [styles.upload, boxStyle, frameStyle, pressed &&
|
|
468
|
+
}) => [styles.upload, boxStyle, frameStyle, pressed && {
|
|
469
|
+
opacity: tokens.opacity.pressed
|
|
470
|
+
}, uploadDisabled && {
|
|
471
|
+
opacity: tokens.opacity.disabled
|
|
472
|
+
}],
|
|
448
473
|
onPress: handleUploadPress,
|
|
449
474
|
disabled: uploadDisabled,
|
|
450
475
|
testID: "rv-uploader-upload"
|
|
451
476
|
}, children ?? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
|
|
452
|
-
style:
|
|
477
|
+
style: uploadContentStyle
|
|
453
478
|
}, uploadIcon ?? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
454
479
|
style: [styles.uploadIcon, {
|
|
455
|
-
color: tokens.colors.icon
|
|
480
|
+
color: tokens.colors.icon,
|
|
481
|
+
fontSize: tokens.typography.uploadIconSize
|
|
456
482
|
}]
|
|
457
483
|
}, "+"), uploadText ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
|
|
458
484
|
style: [styles.uploadText, {
|
|
459
|
-
color: tokens.colors.text
|
|
485
|
+
color: tokens.colors.text,
|
|
486
|
+
fontSize: tokens.typography.uploadTextSize
|
|
460
487
|
}]
|
|
461
488
|
}, uploadText) : null)) : null), previewFullImage ? /*#__PURE__*/_react().default.createElement(_imagePreview.default, _extends({}, previewOptions, {
|
|
462
489
|
visible: previewVisible,
|
|
@@ -483,12 +510,6 @@ const styles = _reactNative().StyleSheet.create({
|
|
|
483
510
|
borderWidth: _reactNative().StyleSheet.hairlineWidth,
|
|
484
511
|
overflow: 'hidden'
|
|
485
512
|
},
|
|
486
|
-
pressed: {
|
|
487
|
-
opacity: 0.85
|
|
488
|
-
},
|
|
489
|
-
disabled: {
|
|
490
|
-
opacity: 0.65
|
|
491
|
-
},
|
|
492
513
|
image: {
|
|
493
514
|
width: '100%',
|
|
494
515
|
height: '100%'
|
|
@@ -496,17 +517,12 @@ const styles = _reactNative().StyleSheet.create({
|
|
|
496
517
|
placeholder: {
|
|
497
518
|
flex: 1,
|
|
498
519
|
justifyContent: 'center',
|
|
499
|
-
alignItems: 'center'
|
|
500
|
-
paddingHorizontal: 6
|
|
520
|
+
alignItems: 'center'
|
|
501
521
|
},
|
|
502
522
|
placeholderIcon: {
|
|
503
|
-
fontSize: 20,
|
|
504
523
|
fontWeight: '600'
|
|
505
524
|
},
|
|
506
|
-
placeholderName: {
|
|
507
|
-
marginTop: 6,
|
|
508
|
-
fontSize: 11
|
|
509
|
-
},
|
|
525
|
+
placeholderName: {},
|
|
510
526
|
cover: {
|
|
511
527
|
..._reactNative().StyleSheet.absoluteFillObject,
|
|
512
528
|
justifyContent: 'center',
|
|
@@ -515,22 +531,13 @@ const styles = _reactNative().StyleSheet.create({
|
|
|
515
531
|
status: {
|
|
516
532
|
..._reactNative().StyleSheet.absoluteFillObject,
|
|
517
533
|
justifyContent: 'center',
|
|
518
|
-
alignItems: 'center'
|
|
519
|
-
gap: 4
|
|
520
|
-
},
|
|
521
|
-
statusText: {
|
|
522
|
-
fontSize: 12
|
|
534
|
+
alignItems: 'center'
|
|
523
535
|
},
|
|
536
|
+
statusText: {},
|
|
524
537
|
delete: {
|
|
525
538
|
position: 'absolute',
|
|
526
|
-
top: 4,
|
|
527
|
-
right: 4,
|
|
528
|
-
minWidth: 20,
|
|
529
|
-
minHeight: 20,
|
|
530
|
-
borderRadius: 12,
|
|
531
539
|
justifyContent: 'center',
|
|
532
|
-
alignItems: 'center'
|
|
533
|
-
paddingHorizontal: 4
|
|
540
|
+
alignItems: 'center'
|
|
534
541
|
},
|
|
535
542
|
upload: {
|
|
536
543
|
borderWidth: _reactNative().StyleSheet.hairlineWidth,
|
|
@@ -539,16 +546,12 @@ const styles = _reactNative().StyleSheet.create({
|
|
|
539
546
|
},
|
|
540
547
|
uploadContent: {
|
|
541
548
|
justifyContent: 'center',
|
|
542
|
-
alignItems: 'center'
|
|
543
|
-
gap: 4
|
|
549
|
+
alignItems: 'center'
|
|
544
550
|
},
|
|
545
551
|
uploadIcon: {
|
|
546
|
-
fontSize: 24,
|
|
547
552
|
fontWeight: '600'
|
|
548
553
|
},
|
|
549
|
-
uploadText: {
|
|
550
|
-
fontSize: 12
|
|
551
|
-
}
|
|
554
|
+
uploadText: {}
|
|
552
555
|
});
|
|
553
556
|
Uploader.displayName = 'Uploader';
|
|
554
557
|
var _default = exports.default = Uploader;
|