zkit-ui 2.0.12 → 2.0.14
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/services/ActionDialogService/ActionDialog.d.ts.map +1 -1
- package/dist/services/ActionDialogService/ActionDialog.js +8 -6
- package/dist/ui/Switch/index.d.ts.map +1 -1
- package/dist/ui/Switch/index.js +6 -14
- package/dist/ui/TextInput/index.d.ts +1 -0
- package/dist/ui/TextInput/index.d.ts.map +1 -1
- package/dist/ui/TextInput/index.js +6 -3
- package/package.json +12 -10
- package/src/services/ActionDialogService/ActionDialog.tsx +8 -6
- package/src/ui/Switch/index.tsx +7 -19
- package/src/ui/TextInput/README.md +3 -0
- package/src/ui/TextInput/index.tsx +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionDialog.d.ts","sourceRoot":"","sources":["../../../src/services/ActionDialogService/ActionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyC/B,OAAO,KAAK,EAIV,iBAAiB,EACjB,eAAe,EAGhB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ActionDialog.d.ts","sourceRoot":"","sources":["../../../src/services/ActionDialogService/ActionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyC/B,OAAO,KAAK,EAIV,iBAAiB,EACjB,eAAe,EAGhB,MAAM,SAAS,CAAC;AA0oBjB,eAAO,MAAM,YAAY,sFAA+B,CAAC"}
|
|
@@ -425,16 +425,12 @@ const ActionDialogRoot = React.forwardRef(function ActionDialog({ accessibilityL
|
|
|
425
425
|
if (resolvedDismiss.backPress)
|
|
426
426
|
dismissWithReason('back');
|
|
427
427
|
}, pointerEvents: actualOpen ? 'auto' : 'none', style: [
|
|
428
|
-
hostMode === 'inline' ?
|
|
428
|
+
hostMode === 'inline' ? styles.inlineRoot : styles.modalRoot,
|
|
429
429
|
{
|
|
430
430
|
elevation: react_native_1.Platform.OS === 'android' ? (_b = layer === null || layer === void 0 ? void 0 : layer.zIndex) !== null && _b !== void 0 ? _b : shared_1.ACTION_DIALOG_DEFAULT_Z_INDEX : 0,
|
|
431
431
|
zIndex: (_c = layer === null || layer === void 0 ? void 0 : layer.zIndex) !== null && _c !== void 0 ? _c : shared_1.ACTION_DIALOG_DEFAULT_Z_INDEX,
|
|
432
432
|
},
|
|
433
|
-
], testID: testID, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessible: false, onPress: handleOverlayPress, style: react_native_1.StyleSheet.absoluteFill, children: (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { pointerEvents: "none", style: [
|
|
434
|
-
react_native_1.StyleSheet.absoluteFill,
|
|
435
|
-
{ backgroundColor: resolvedColors.backdrop },
|
|
436
|
-
overlayStyle,
|
|
437
|
-
] }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "box-none", style: [
|
|
433
|
+
], testID: testID, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessible: false, onPress: handleOverlayPress, style: react_native_1.StyleSheet.absoluteFill, children: (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { pointerEvents: "none", style: [styles.backdrop, { backgroundColor: resolvedColors.backdrop }, overlayStyle] }) }), (0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "box-none", style: [
|
|
438
434
|
styles.center,
|
|
439
435
|
{
|
|
440
436
|
paddingBottom: Math.max(insets.bottom, (0, zkit_tools_1.wp)(16)),
|
|
@@ -482,6 +478,12 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
482
478
|
modalRoot: {
|
|
483
479
|
flex: 1,
|
|
484
480
|
},
|
|
481
|
+
inlineRoot: {
|
|
482
|
+
...react_native_1.StyleSheet.absoluteFillObject,
|
|
483
|
+
},
|
|
484
|
+
backdrop: {
|
|
485
|
+
...react_native_1.StyleSheet.absoluteFillObject,
|
|
486
|
+
},
|
|
485
487
|
center: {
|
|
486
488
|
alignItems: 'center',
|
|
487
489
|
flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/Switch/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/Switch/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/ui/Switch/index.js
CHANGED
|
@@ -563,25 +563,20 @@ function SwitchImpl({ checked: checkedProp, defaultChecked = false, onCheckedCha
|
|
|
563
563
|
},
|
|
564
564
|
focusRingAnimatedStyle,
|
|
565
565
|
] }), (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
|
|
566
|
-
react_native_1.StyleSheet.
|
|
566
|
+
react_native_1.StyleSheet.absoluteFillObject,
|
|
567
567
|
{
|
|
568
568
|
borderRadius: trackRadius,
|
|
569
569
|
backgroundColor: visualUncheckedTrackColor,
|
|
570
570
|
},
|
|
571
571
|
trackStyle,
|
|
572
572
|
] }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { pointerEvents: "none", style: [
|
|
573
|
-
react_native_1.StyleSheet.
|
|
573
|
+
react_native_1.StyleSheet.absoluteFillObject,
|
|
574
574
|
{
|
|
575
575
|
borderRadius: trackRadius,
|
|
576
576
|
backgroundColor: visualCheckedTrackColor,
|
|
577
577
|
},
|
|
578
578
|
checkedTrackAnimatedStyle,
|
|
579
|
-
] }), hasStateText ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { pointerEvents: "none", style:
|
|
580
|
-
react_native_1.StyleSheet.absoluteFill,
|
|
581
|
-
styles.stateTextSlot,
|
|
582
|
-
checkedTextSlotStyle,
|
|
583
|
-
checkedTextAnimatedStyle,
|
|
584
|
-
], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
|
|
579
|
+
] }), hasStateText ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { pointerEvents: "none", style: styles.stateTextLayer, children: [(0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [styles.stateTextSlot, checkedTextSlotStyle, checkedTextAnimatedStyle], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
|
|
585
580
|
styles.stateText,
|
|
586
581
|
{
|
|
587
582
|
color: visualCheckedTextColor,
|
|
@@ -589,12 +584,7 @@ function SwitchImpl({ checked: checkedProp, defaultChecked = false, onCheckedCha
|
|
|
589
584
|
lineHeight: stateTextLineHeight,
|
|
590
585
|
},
|
|
591
586
|
stateTextStyle,
|
|
592
|
-
], children: (_d = stateText === null || stateText === void 0 ? void 0 : stateText.checked) !== null && _d !== void 0 ? _d : '' }) }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [
|
|
593
|
-
react_native_1.StyleSheet.absoluteFill,
|
|
594
|
-
styles.stateTextSlot,
|
|
595
|
-
uncheckedTextSlotStyle,
|
|
596
|
-
uncheckedTextAnimatedStyle,
|
|
597
|
-
], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
|
|
587
|
+
], children: (_d = stateText === null || stateText === void 0 ? void 0 : stateText.checked) !== null && _d !== void 0 ? _d : '' }) }), (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, { style: [styles.stateTextSlot, uncheckedTextSlotStyle, uncheckedTextAnimatedStyle], children: (0, jsx_runtime_1.jsx)(Text_1.Text, { allowFontScaling: false, ellipsizeMode: "clip", numberOfLines: 1, style: [
|
|
598
588
|
styles.stateText,
|
|
599
589
|
{
|
|
600
590
|
color: visualUncheckedTextColor,
|
|
@@ -657,10 +647,12 @@ const styles = react_native_1.StyleSheet.create({
|
|
|
657
647
|
position: 'absolute',
|
|
658
648
|
},
|
|
659
649
|
stateTextLayer: {
|
|
650
|
+
...react_native_1.StyleSheet.absoluteFillObject,
|
|
660
651
|
alignItems: 'center',
|
|
661
652
|
justifyContent: 'center',
|
|
662
653
|
},
|
|
663
654
|
stateTextSlot: {
|
|
655
|
+
...react_native_1.StyleSheet.absoluteFillObject,
|
|
664
656
|
alignItems: 'center',
|
|
665
657
|
justifyContent: 'center',
|
|
666
658
|
overflow: 'hidden',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/TextInput/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/TextInput/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -266,7 +266,7 @@ function assignRef(ref, value) {
|
|
|
266
266
|
ref.current = value;
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
|
-
const TextInputBase = React.forwardRef(function TextInput({ value, defaultValue = '', onChange, onNativeChange, onSubmit, disabled = false, readOnly = false, required = false, invalid, variant = 'outline', tone = 'primary', status = 'default', size = 'md', color, colors, layout, label, labelAction, description, error, prefix, suffix, clearable = false, clearIcon, clearAccessibilityLabel, onClear, minRows, maxRows, showCount = false, renderCount, style, fieldStyle, inputStyle, labelStyle, descriptionStyle, errorStyle, countStyle, prefixStyle, suffixStyle, clearButtonStyle, maxFontSizeMultiplier, placeholderTextColor, selectionColor, cursorColor, selectionHandleColor, onBlur, onFocus, onSubmitEditing, accessibilityLabel, accessibilityHint, accessibilityState, maxLength, multiline = false, numberOfLines, testID, underlineColorAndroid, ...nativeProps }, forwardedRef) {
|
|
269
|
+
const TextInputBase = React.forwardRef(function TextInput({ value, defaultValue = '', onChange, onNativeChange, onSubmit, disabled = false, readOnly = false, required = false, invalid, hidePlaceholderOnFocus = true, variant = 'outline', tone = 'primary', status = 'default', size = 'md', color, colors, layout, label, labelAction, description, error, prefix, suffix, clearable = false, clearIcon, clearAccessibilityLabel, onClear, minRows, maxRows, showCount = false, renderCount, style, fieldStyle, inputStyle, labelStyle, descriptionStyle, errorStyle, countStyle, prefixStyle, suffixStyle, clearButtonStyle, maxFontSizeMultiplier, placeholderTextColor, selectionColor, cursorColor, selectionHandleColor, onBlur, onFocus, onSubmitEditing, accessibilityLabel, accessibilityHint, accessibilityState, maxLength, multiline = false, numberOfLines, placeholder, testID, underlineColorAndroid, ...nativeProps }, forwardedRef) {
|
|
270
270
|
var _a, _b, _c;
|
|
271
271
|
const theme = (0, useTheme_1.useTheme)();
|
|
272
272
|
const { t } = (0, useI18n_1.useI18n)();
|
|
@@ -276,6 +276,7 @@ const TextInputBase = React.forwardRef(function TextInput({ value, defaultValue
|
|
|
276
276
|
const currentValueRef = React.useRef(isControlled ? value !== null && value !== void 0 ? value : '' : initialValueRef.current);
|
|
277
277
|
const shouldTrackValue = clearable || showCount || renderCount != null;
|
|
278
278
|
const hasSyncedUncontrolledValueRef = React.useRef(false);
|
|
279
|
+
const [isFocused, setIsFocused] = React.useState(false);
|
|
279
280
|
const [, scheduleValueRender] = React.useReducer((revision) => revision + 1, 0);
|
|
280
281
|
if (isControlled) {
|
|
281
282
|
currentValueRef.current = value !== null && value !== void 0 ? value : '';
|
|
@@ -389,7 +390,7 @@ const TextInputBase = React.forwardRef(function TextInput({ value, defaultValue
|
|
|
389
390
|
const finalCursorColor = cursorColor !== null && cursorColor !== void 0 ? cursorColor : finalSelectionColor;
|
|
390
391
|
const finalHandleColor = selectionHandleColor !== null && selectionHandleColor !== void 0 ? selectionHandleColor : finalSelectionColor;
|
|
391
392
|
const webCaretStyle = React.useMemo(() => (IS_WEB ? { caretColor: finalCursorColor } : null), [finalCursorColor]);
|
|
392
|
-
const computedAccessibilityLabel = (_b = accessibilityLabel !== null && accessibilityLabel !== void 0 ? accessibilityLabel : extractReadableText(label)) !== null && _b !== void 0 ? _b :
|
|
393
|
+
const computedAccessibilityLabel = (_b = accessibilityLabel !== null && accessibilityLabel !== void 0 ? accessibilityLabel : extractReadableText(label)) !== null && _b !== void 0 ? _b : placeholder;
|
|
393
394
|
const computedAccessibilityHint = accessibilityHint !== null && accessibilityHint !== void 0 ? accessibilityHint : extractReadableText(resolvedStatus === 'error' ? error : description);
|
|
394
395
|
const finalClearAccessibilityLabel = clearAccessibilityLabel !== null && clearAccessibilityLabel !== void 0 ? clearAccessibilityLabel : t('textInput.clear');
|
|
395
396
|
const commitValue = React.useCallback((nextValue) => {
|
|
@@ -406,9 +407,11 @@ const TextInputBase = React.forwardRef(function TextInput({ value, defaultValue
|
|
|
406
407
|
onNativeChange === null || onNativeChange === void 0 ? void 0 : onNativeChange(event);
|
|
407
408
|
}, [onNativeChange]);
|
|
408
409
|
const handleFocus = React.useCallback((event) => {
|
|
410
|
+
setIsFocused(true);
|
|
409
411
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
410
412
|
}, [onFocus]);
|
|
411
413
|
const handleBlur = React.useCallback((event) => {
|
|
414
|
+
setIsFocused(false);
|
|
412
415
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
413
416
|
}, [onBlur]);
|
|
414
417
|
const handleSubmitEditing = React.useCallback((event) => {
|
|
@@ -455,7 +458,7 @@ const TextInputBase = React.forwardRef(function TextInput({ value, defaultValue
|
|
|
455
458
|
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.root, rootSizeStyle, style], children: [labelNode || labelAction ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.labelRow, { marginBottom: metrics.labelGap }], children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.labelContent, children: [labelNode, required && labelNode ? ((0, jsx_runtime_1.jsx)(Text_1.Text, { accessibilityElementsHidden: true, tone: "danger", importantForAccessibility: "no", style: styles.requiredMark, children: "*" })) : null] }), labelAction ? (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.labelAction, children: labelAction }) : null] })) : null, (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.field, fieldSizeStyle, fieldVisualStyle, fieldStyle], children: [prefixNode, (0, jsx_runtime_1.jsx)(TextInputPrimitive_1.TextInputPrimitive, { ref: setInputRef, ...nativeProps, accessibilityHint: computedAccessibilityHint, accessibilityLabel: computedAccessibilityLabel, accessibilityState: {
|
|
456
459
|
...accessibilityState,
|
|
457
460
|
disabled,
|
|
458
|
-
}, cursorColor: finalCursorColor, defaultValue: nativeDefaultValue, editable: interactive, maxFontSizeMultiplier: maxFontSizeMultiplier, maxLength: maxLength, multiline: multiline, numberOfLines: multiline ? resolvedMinRows : numberOfLines, onBlur: handleBlur, onChange: handleNativeChange, onChangeText: handleChangeText, onFocus: handleFocus, onSubmitEditing: handleSubmitEditing, placeholderTextColor: placeholderTextColor !== null && placeholderTextColor !== void 0 ? placeholderTextColor : visualColors.placeholderColor, readOnly: readOnly || disabled, selectionColor: finalSelectionColor, selectionHandleColor: finalHandleColor, style: [styles.input, inputBaseStyle, WEB_INPUT_RESET_STYLE, webCaretStyle, inputStyle], testID: testID, underlineColorAndroid: underlineColorAndroid !== null && underlineColorAndroid !== void 0 ? underlineColorAndroid : 'transparent', value: nativeValue }), showClearButton ? ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityLabel: finalClearAccessibilityLabel, accessibilityRole: "button", hitSlop: {
|
|
461
|
+
}, cursorColor: finalCursorColor, defaultValue: nativeDefaultValue, editable: interactive, maxFontSizeMultiplier: maxFontSizeMultiplier, maxLength: maxLength, multiline: multiline, numberOfLines: multiline ? resolvedMinRows : numberOfLines, onBlur: handleBlur, onChange: handleNativeChange, onChangeText: handleChangeText, onFocus: handleFocus, onSubmitEditing: handleSubmitEditing, placeholder: hidePlaceholderOnFocus && isFocused ? undefined : placeholder, placeholderTextColor: placeholderTextColor !== null && placeholderTextColor !== void 0 ? placeholderTextColor : visualColors.placeholderColor, readOnly: readOnly || disabled, selectionColor: finalSelectionColor, selectionHandleColor: finalHandleColor, style: [styles.input, inputBaseStyle, WEB_INPUT_RESET_STYLE, webCaretStyle, inputStyle], testID: testID, underlineColorAndroid: underlineColorAndroid !== null && underlineColorAndroid !== void 0 ? underlineColorAndroid : 'transparent', value: nativeValue }), showClearButton ? ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, { accessibilityLabel: finalClearAccessibilityLabel, accessibilityRole: "button", hitSlop: {
|
|
459
462
|
bottom: (0, zkit_tools_1.wp)(8),
|
|
460
463
|
left: (0, zkit_tools_1.wp)(8),
|
|
461
464
|
right: (0, zkit_tools_1.wp)(8),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zkit-ui",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.14",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -197,6 +197,14 @@
|
|
|
197
197
|
"publishConfig": {
|
|
198
198
|
"registry": "https://registry.npmjs.org/"
|
|
199
199
|
},
|
|
200
|
+
"scripts": {
|
|
201
|
+
"build": "node scripts/build.cjs",
|
|
202
|
+
"verify:entrypoints": "node scripts/verify-entrypoints.cjs",
|
|
203
|
+
"verify": "pnpm run build && pnpm run verify:entrypoints",
|
|
204
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
205
|
+
"prepack": "pnpm run build",
|
|
206
|
+
"prepublishOnly": "pnpm run build"
|
|
207
|
+
},
|
|
200
208
|
"dependencies": {
|
|
201
209
|
"@vant/area-data": "^2.1.0",
|
|
202
210
|
"dayjs": "^1.11.13",
|
|
@@ -223,6 +231,7 @@
|
|
|
223
231
|
},
|
|
224
232
|
"devDependencies": {
|
|
225
233
|
"@expo/vector-icons": "^15.1.1",
|
|
234
|
+
"@lodev09/react-native-true-sheet": "workspace:*",
|
|
226
235
|
"@shopify/flash-list": "^2.3.1",
|
|
227
236
|
"@types/react": "~19.1.17",
|
|
228
237
|
"dayjs": "^1.11.13",
|
|
@@ -239,13 +248,6 @@
|
|
|
239
248
|
"react-native-svg": "^15.12.1",
|
|
240
249
|
"react-native-worklets": "0.5.1",
|
|
241
250
|
"sonner-native": "^0.22.2",
|
|
242
|
-
"typescript": "~5.9.3"
|
|
243
|
-
"@lodev09/react-native-true-sheet": "3.10.0"
|
|
244
|
-
},
|
|
245
|
-
"scripts": {
|
|
246
|
-
"build": "node scripts/build.cjs",
|
|
247
|
-
"verify:entrypoints": "node scripts/verify-entrypoints.cjs",
|
|
248
|
-
"verify": "pnpm run build && pnpm run verify:entrypoints",
|
|
249
|
-
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
251
|
+
"typescript": "~5.9.3"
|
|
250
252
|
}
|
|
251
|
-
}
|
|
253
|
+
}
|
|
@@ -573,7 +573,7 @@ const ActionDialogRoot = React.forwardRef<ActionDialogRef, ActionDialogProps>(fu
|
|
|
573
573
|
}}
|
|
574
574
|
pointerEvents={actualOpen ? 'auto' : 'none'}
|
|
575
575
|
style={[
|
|
576
|
-
hostMode === 'inline' ?
|
|
576
|
+
hostMode === 'inline' ? styles.inlineRoot : styles.modalRoot,
|
|
577
577
|
{
|
|
578
578
|
elevation: Platform.OS === 'android' ? layer?.zIndex ?? ACTION_DIALOG_DEFAULT_Z_INDEX : 0,
|
|
579
579
|
zIndex: layer?.zIndex ?? ACTION_DIALOG_DEFAULT_Z_INDEX,
|
|
@@ -584,11 +584,7 @@ const ActionDialogRoot = React.forwardRef<ActionDialogRef, ActionDialogProps>(fu
|
|
|
584
584
|
<Pressable accessible={false} onPress={handleOverlayPress} style={StyleSheet.absoluteFill}>
|
|
585
585
|
<Animated.View
|
|
586
586
|
pointerEvents="none"
|
|
587
|
-
style={[
|
|
588
|
-
StyleSheet.absoluteFill,
|
|
589
|
-
{ backgroundColor: resolvedColors.backdrop },
|
|
590
|
-
overlayStyle,
|
|
591
|
-
]}
|
|
587
|
+
style={[styles.backdrop, { backgroundColor: resolvedColors.backdrop }, overlayStyle]}
|
|
592
588
|
/>
|
|
593
589
|
</Pressable>
|
|
594
590
|
|
|
@@ -707,6 +703,12 @@ const styles = StyleSheet.create({
|
|
|
707
703
|
modalRoot: {
|
|
708
704
|
flex: 1,
|
|
709
705
|
},
|
|
706
|
+
inlineRoot: {
|
|
707
|
+
...StyleSheet.absoluteFillObject,
|
|
708
|
+
},
|
|
709
|
+
backdrop: {
|
|
710
|
+
...StyleSheet.absoluteFillObject,
|
|
711
|
+
},
|
|
710
712
|
center: {
|
|
711
713
|
alignItems: 'center',
|
|
712
714
|
flex: 1,
|
package/src/ui/Switch/index.tsx
CHANGED
|
@@ -897,7 +897,7 @@ function SwitchImpl(
|
|
|
897
897
|
/>
|
|
898
898
|
<View
|
|
899
899
|
style={[
|
|
900
|
-
StyleSheet.
|
|
900
|
+
StyleSheet.absoluteFillObject,
|
|
901
901
|
{
|
|
902
902
|
borderRadius: trackRadius,
|
|
903
903
|
backgroundColor: visualUncheckedTrackColor,
|
|
@@ -908,7 +908,7 @@ function SwitchImpl(
|
|
|
908
908
|
<Animated.View
|
|
909
909
|
pointerEvents="none"
|
|
910
910
|
style={[
|
|
911
|
-
StyleSheet.
|
|
911
|
+
StyleSheet.absoluteFillObject,
|
|
912
912
|
{
|
|
913
913
|
borderRadius: trackRadius,
|
|
914
914
|
backgroundColor: visualCheckedTrackColor,
|
|
@@ -918,15 +918,8 @@ function SwitchImpl(
|
|
|
918
918
|
/>
|
|
919
919
|
|
|
920
920
|
{hasStateText ? (
|
|
921
|
-
<View pointerEvents="none" style={
|
|
922
|
-
<Animated.View
|
|
923
|
-
style={[
|
|
924
|
-
StyleSheet.absoluteFill,
|
|
925
|
-
styles.stateTextSlot,
|
|
926
|
-
checkedTextSlotStyle,
|
|
927
|
-
checkedTextAnimatedStyle,
|
|
928
|
-
]}
|
|
929
|
-
>
|
|
921
|
+
<View pointerEvents="none" style={styles.stateTextLayer}>
|
|
922
|
+
<Animated.View style={[styles.stateTextSlot, checkedTextSlotStyle, checkedTextAnimatedStyle]}>
|
|
930
923
|
<Text
|
|
931
924
|
allowFontScaling={false}
|
|
932
925
|
ellipsizeMode="clip"
|
|
@@ -944,14 +937,7 @@ function SwitchImpl(
|
|
|
944
937
|
{stateText?.checked ?? ''}
|
|
945
938
|
</Text>
|
|
946
939
|
</Animated.View>
|
|
947
|
-
<Animated.View
|
|
948
|
-
style={[
|
|
949
|
-
StyleSheet.absoluteFill,
|
|
950
|
-
styles.stateTextSlot,
|
|
951
|
-
uncheckedTextSlotStyle,
|
|
952
|
-
uncheckedTextAnimatedStyle,
|
|
953
|
-
]}
|
|
954
|
-
>
|
|
940
|
+
<Animated.View style={[styles.stateTextSlot, uncheckedTextSlotStyle, uncheckedTextAnimatedStyle]}>
|
|
955
941
|
<Text
|
|
956
942
|
allowFontScaling={false}
|
|
957
943
|
ellipsizeMode="clip"
|
|
@@ -1083,10 +1069,12 @@ const styles = StyleSheet.create({
|
|
|
1083
1069
|
position: 'absolute',
|
|
1084
1070
|
},
|
|
1085
1071
|
stateTextLayer: {
|
|
1072
|
+
...StyleSheet.absoluteFillObject,
|
|
1086
1073
|
alignItems: 'center',
|
|
1087
1074
|
justifyContent: 'center',
|
|
1088
1075
|
},
|
|
1089
1076
|
stateTextSlot: {
|
|
1077
|
+
...StyleSheet.absoluteFillObject,
|
|
1090
1078
|
alignItems: 'center',
|
|
1091
1079
|
justifyContent: 'center',
|
|
1092
1080
|
overflow: 'hidden',
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
- 对外统一使用 `value / defaultValue / onChange`,`onChange` 直接返回字符串
|
|
10
10
|
- 非受控输入默认不在每次键入时触发内部 re-render;只有 `clearable / showCount / renderCount` 需要同步 UI 时才追踪值
|
|
11
11
|
- `disabled` 与 `readOnly` 分离:禁用会进入禁用视觉,只读保持普通信息层级但不可编辑
|
|
12
|
+
- 默认在聚焦时隐藏 placeholder,避免 Android 原生 hint 与空输入光标重叠;需要保留原生行为时使用 `hidePlaceholderOnFocus={false}`
|
|
12
13
|
- 原生键盘能力继续作为顶层 props 透传,例如 `keyboardType / inputMode / autoComplete / enterKeyHint / submitBehavior`
|
|
13
14
|
- 焦点态不额外高亮边框;边框颜色只表达默认、禁用和显式状态反馈
|
|
14
15
|
- `style` 作用于根容器,原生输入样式使用 `inputStyle`
|
|
@@ -149,6 +150,7 @@ export function Demo() {
|
|
|
149
150
|
- `readOnly?: boolean`
|
|
150
151
|
- `required?: boolean`
|
|
151
152
|
- `invalid?: boolean`
|
|
153
|
+
- `hidePlaceholderOnFocus?: boolean`
|
|
152
154
|
- `variant?: 'outline' | 'filled' | 'plain'`
|
|
153
155
|
- `tone?: 'primary' | 'neutral' | 'success' | 'warning' | 'danger' | 'info'`
|
|
154
156
|
- `status?: 'default' | 'success' | 'warning' | 'error'`
|
|
@@ -193,5 +195,6 @@ export function Demo() {
|
|
|
193
195
|
|
|
194
196
|
- Android 默认设置 `underlineColorAndroid="transparent"`,避免系统下划线破坏组件视觉
|
|
195
197
|
- 高级 `TextInput` 会清零原生输入层 padding,由外层 Field 统一管理间距,避免 Android 默认输入内边距被圆角容器裁切
|
|
198
|
+
- 高级 `TextInput` 默认在聚焦时移除原生 placeholder,避免空输入光标与 hint 首字符重叠;原始 placeholder 仍用于自动推导无障碍标签
|
|
196
199
|
- 光标、选区和选择手柄默认使用主题强调色;Android 会按光标色设置稳定 key,规避部分 OEM/Fabric 下光标颜色首次提交不稳定的问题
|
|
197
200
|
- Web 会移除输入框默认 outline,焦点态不额外改变组件边框颜色
|
|
@@ -95,6 +95,7 @@ export interface TextInputProps extends NativeTextInputProps {
|
|
|
95
95
|
readOnly?: boolean;
|
|
96
96
|
required?: boolean;
|
|
97
97
|
invalid?: boolean;
|
|
98
|
+
hidePlaceholderOnFocus?: boolean;
|
|
98
99
|
|
|
99
100
|
variant?: TextInputVariant;
|
|
100
101
|
tone?: TextInputTone;
|
|
@@ -439,6 +440,7 @@ const TextInputBase = React.forwardRef<TextInputRef, TextInputProps>(function Te
|
|
|
439
440
|
readOnly = false,
|
|
440
441
|
required = false,
|
|
441
442
|
invalid,
|
|
443
|
+
hidePlaceholderOnFocus = true,
|
|
442
444
|
variant = 'outline',
|
|
443
445
|
tone = 'primary',
|
|
444
446
|
status = 'default',
|
|
@@ -484,6 +486,7 @@ const TextInputBase = React.forwardRef<TextInputRef, TextInputProps>(function Te
|
|
|
484
486
|
maxLength,
|
|
485
487
|
multiline = false,
|
|
486
488
|
numberOfLines,
|
|
489
|
+
placeholder,
|
|
487
490
|
testID,
|
|
488
491
|
underlineColorAndroid,
|
|
489
492
|
...nativeProps
|
|
@@ -498,6 +501,7 @@ const TextInputBase = React.forwardRef<TextInputRef, TextInputProps>(function Te
|
|
|
498
501
|
const currentValueRef = React.useRef(isControlled ? value ?? '' : initialValueRef.current);
|
|
499
502
|
const shouldTrackValue = clearable || showCount || renderCount != null;
|
|
500
503
|
const hasSyncedUncontrolledValueRef = React.useRef(false);
|
|
504
|
+
const [isFocused, setIsFocused] = React.useState(false);
|
|
501
505
|
const [, scheduleValueRender] = React.useReducer((revision: number) => revision + 1, 0);
|
|
502
506
|
|
|
503
507
|
if (isControlled) {
|
|
@@ -655,7 +659,7 @@ const TextInputBase = React.forwardRef<TextInputRef, TextInputProps>(function Te
|
|
|
655
659
|
[finalCursorColor]
|
|
656
660
|
);
|
|
657
661
|
const computedAccessibilityLabel =
|
|
658
|
-
accessibilityLabel ?? extractReadableText(label) ??
|
|
662
|
+
accessibilityLabel ?? extractReadableText(label) ?? placeholder;
|
|
659
663
|
const computedAccessibilityHint =
|
|
660
664
|
accessibilityHint ??
|
|
661
665
|
extractReadableText(resolvedStatus === 'error' ? error : description);
|
|
@@ -688,6 +692,7 @@ const TextInputBase = React.forwardRef<TextInputRef, TextInputProps>(function Te
|
|
|
688
692
|
|
|
689
693
|
const handleFocus = React.useCallback(
|
|
690
694
|
(event: Parameters<NonNullable<TextInputPrimitiveProps['onFocus']>>[0]) => {
|
|
695
|
+
setIsFocused(true);
|
|
691
696
|
onFocus?.(event);
|
|
692
697
|
},
|
|
693
698
|
[onFocus]
|
|
@@ -695,6 +700,7 @@ const TextInputBase = React.forwardRef<TextInputRef, TextInputProps>(function Te
|
|
|
695
700
|
|
|
696
701
|
const handleBlur = React.useCallback(
|
|
697
702
|
(event: Parameters<NonNullable<TextInputPrimitiveProps['onBlur']>>[0]) => {
|
|
703
|
+
setIsFocused(false);
|
|
698
704
|
onBlur?.(event);
|
|
699
705
|
},
|
|
700
706
|
[onBlur]
|
|
@@ -811,6 +817,7 @@ const TextInputBase = React.forwardRef<TextInputRef, TextInputProps>(function Te
|
|
|
811
817
|
onChangeText={handleChangeText}
|
|
812
818
|
onFocus={handleFocus}
|
|
813
819
|
onSubmitEditing={handleSubmitEditing}
|
|
820
|
+
placeholder={hidePlaceholderOnFocus && isFocused ? undefined : placeholder}
|
|
814
821
|
placeholderTextColor={placeholderTextColor ?? visualColors.placeholderColor}
|
|
815
822
|
readOnly={readOnly || disabled}
|
|
816
823
|
selectionColor={finalSelectionColor}
|