@unif/react-native-design 0.35.0 → 0.36.0
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/module/components/ui/TextField/TextFieldBase.js +20 -6
- package/lib/module/components/ui/TextField/TextFieldBase.js.map +1 -1
- package/lib/module/components/ui/TextField/constants.js +2 -2
- package/lib/module/components/ui/TextField/constants.js.map +1 -1
- package/lib/module/components/ui/TextField/styles.js +10 -0
- package/lib/module/components/ui/TextField/styles.js.map +1 -1
- package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/constants.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/styles.d.ts +16 -0
- package/lib/typescript/src/components/ui/TextField/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/types.d.ts +2 -0
- package/lib/typescript/src/components/ui/TextField/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Textarea/types.d.ts +2 -0
- package/lib/typescript/src/components/ui/Textarea/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ui/TextField/TextFieldBase.tsx +24 -5
- package/src/components/ui/TextField/constants.ts +2 -2
- package/src/components/ui/TextField/styles.ts +5 -0
- package/src/components/ui/TextField/types.ts +2 -0
- package/src/components/ui/Textarea/types.ts +2 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { forwardRef, useEffect, useImperativeHandle, useState } from 'react';
|
|
4
|
-
import { Platform, Text, TextInput, View } from 'react-native';
|
|
4
|
+
import { Platform, Pressable, Text, TextInput, View } from 'react-native';
|
|
5
5
|
import { fixed, useColors, useThemedStyles } from "../../../theme/index.js";
|
|
6
6
|
import { childTestID } from "../../../utils/testID/index.js";
|
|
7
7
|
import { createLogger } from "../../../utils/logger/index.js";
|
|
@@ -26,6 +26,7 @@ export const TextFieldBase = /*#__PURE__*/forwardRef(function TextFieldBase(prop
|
|
|
26
26
|
maxHeight,
|
|
27
27
|
searchLayout,
|
|
28
28
|
plainSurface,
|
|
29
|
+
contentAlignment = 'start',
|
|
29
30
|
leading,
|
|
30
31
|
trailing,
|
|
31
32
|
error,
|
|
@@ -76,12 +77,14 @@ export const TextFieldBase = /*#__PURE__*/forwardRef(function TextFieldBase(prop
|
|
|
76
77
|
const normalizedInputHeight = normalizeInputHeight(height === undefined ? fixed.hitTarget : height);
|
|
77
78
|
const normalizedTextareaHeights = normalizeTextareaHeights(minHeight, maxHeight);
|
|
78
79
|
const plain = multiline && plainSurface === true;
|
|
80
|
+
const centered = multiline && contentAlignment === 'center';
|
|
81
|
+
const verticalInset = plain ? TEXTAREA_PLAIN_VERTICAL_INSET : TEXTAREA_VERTICAL_INSET;
|
|
79
82
|
const multilineLayout = useMultilineLayout({
|
|
80
83
|
enabled: multiline,
|
|
81
84
|
value: controller.value,
|
|
82
|
-
minHeight: normalizedTextareaHeights.minHeight,
|
|
85
|
+
minHeight: centered ? verticalInset : normalizedTextareaHeights.minHeight,
|
|
83
86
|
maxHeight: normalizedTextareaHeights.maxHeight,
|
|
84
|
-
verticalInset
|
|
87
|
+
verticalInset,
|
|
85
88
|
fontSize: styles.input.fontSize,
|
|
86
89
|
placeholder: allowedNativeProps.placeholder,
|
|
87
90
|
inputRef: nativeRef
|
|
@@ -120,7 +123,7 @@ export const TextFieldBase = /*#__PURE__*/forwardRef(function TextFieldBase(prop
|
|
|
120
123
|
}],
|
|
121
124
|
testID: testID,
|
|
122
125
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
123
|
-
style: [styles.wrap, multiline && styles.wrapMultiline, searchLayout === undefined && !plain && wrapStateStyles, searchLayout !== undefined && styles.searchInteractiveRow, plain && styles.wrapPlain, multiline ? {
|
|
126
|
+
style: [styles.wrap, multiline && styles.wrapMultiline, centered && styles.wrapCentered, searchLayout === undefined && !plain && wrapStateStyles, searchLayout !== undefined && styles.searchInteractiveRow, plain && styles.wrapPlain, multiline ? {
|
|
124
127
|
minHeight: normalizedHeight,
|
|
125
128
|
...(normalizedTextareaHeights.maxHeight !== undefined && {
|
|
126
129
|
maxHeight: normalizedTextareaHeights.maxHeight
|
|
@@ -128,7 +131,18 @@ export const TextFieldBase = /*#__PURE__*/forwardRef(function TextFieldBase(prop
|
|
|
128
131
|
} : {
|
|
129
132
|
height: interactiveHeight
|
|
130
133
|
}],
|
|
131
|
-
children: [
|
|
134
|
+
children: [centered ? /*#__PURE__*/_jsx(Pressable, {
|
|
135
|
+
accessible: false,
|
|
136
|
+
focusable: false,
|
|
137
|
+
tabIndex: -1,
|
|
138
|
+
importantForAccessibility: "no",
|
|
139
|
+
style: styles.focusSurface,
|
|
140
|
+
disabled: !effectiveEditable,
|
|
141
|
+
onPress: () => {
|
|
142
|
+
if (effectiveEditable) nativeRef.current?.focus();
|
|
143
|
+
},
|
|
144
|
+
testID: childTestID(testID, 'focus-surface')
|
|
145
|
+
}) : null, searchLayout ? /*#__PURE__*/_jsx(View, {
|
|
132
146
|
pointerEvents: "none",
|
|
133
147
|
style: [styles.searchVisibleSurface, ...wrapStateStyles, {
|
|
134
148
|
top: searchLayout.verticalInset,
|
|
@@ -159,7 +173,7 @@ export const TextFieldBase = /*#__PURE__*/forwardRef(function TextFieldBase(prop
|
|
|
159
173
|
setFocused(false);
|
|
160
174
|
onBlur?.(event);
|
|
161
175
|
},
|
|
162
|
-
style: [styles.input, multiline && styles.inputMultiline, multiline && (multilineLayout.scrollEnabled ? styles.inputScrolling : styles.inputClipped), multiline && multilineLayout.inputStyle, searchLayout !== undefined && {
|
|
176
|
+
style: [styles.input, centered && styles.inputCentered, multiline && styles.inputMultiline, multiline && (multilineLayout.scrollEnabled ? styles.inputScrolling : styles.inputClipped), multiline && multilineLayout.inputStyle, searchLayout !== undefined && {
|
|
163
177
|
minHeight: searchLayout.interactiveHeight
|
|
164
178
|
}],
|
|
165
179
|
placeholderTextColor: callerPlaceholder ?? colors.foregroundSubtle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useState","Platform","Text","TextInput","View","fixed","useColors","useThemedStyles","childTestID","createLogger","normalizeInputHeight","normalizeTextareaHeights","sanitizeTextFieldContainerStyle","makeStyles","TextFieldSlot","useErrorAnnouncement","useTextFieldValue","useMultilineLayout","TEXTAREA_PLAIN_VERTICAL_INSET","TEXTAREA_VERTICAL_INSET","jsx","_jsx","jsxs","_jsxs","log","TextFieldBase","props","forwardedRef","multiline","height","minHeight","maxHeight","searchLayout","plainSurface","leading","trailing","error","disabled","editable","containerStyle","value","defaultValue","onChangeText","accessibilityState","accessibilityRole","placeholderTextColor","callerPlaceholder","underlineColorAndroid","callerUnderline","onFocus","onBlur","onContentSizeChange","onLayout","scrollEnabled","testID","style","_style","numberOfLines","_numberOfLines","_ariaDisabled","readOnly","_readOnly","role","_role","enterKeyHint","_enterKeyHint","clearTextOnFocus","_clearTextOnFocus","allowedNativeProps","removedNativeAliasKey","Object","entries","filter","entry","undefined","map","name","join","colors","styles","focused","setFocused","nativeRef","useRef","scope","controller","normalizedInputHeight","hitTarget","normalizedTextareaHeights","plain","
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useState","Platform","Pressable","Text","TextInput","View","fixed","useColors","useThemedStyles","childTestID","createLogger","normalizeInputHeight","normalizeTextareaHeights","sanitizeTextFieldContainerStyle","makeStyles","TextFieldSlot","useErrorAnnouncement","useTextFieldValue","useMultilineLayout","TEXTAREA_PLAIN_VERTICAL_INSET","TEXTAREA_VERTICAL_INSET","jsx","_jsx","jsxs","_jsxs","log","TextFieldBase","props","forwardedRef","multiline","height","minHeight","maxHeight","searchLayout","plainSurface","contentAlignment","leading","trailing","error","disabled","editable","containerStyle","value","defaultValue","onChangeText","accessibilityState","accessibilityRole","placeholderTextColor","callerPlaceholder","underlineColorAndroid","callerUnderline","onFocus","onBlur","onContentSizeChange","onLayout","scrollEnabled","testID","style","_style","numberOfLines","_numberOfLines","_ariaDisabled","readOnly","_readOnly","role","_role","enterKeyHint","_enterKeyHint","clearTextOnFocus","_clearTextOnFocus","allowedNativeProps","removedNativeAliasKey","Object","entries","filter","entry","undefined","map","name","join","colors","styles","focused","setFocused","nativeRef","useRef","scope","controller","normalizedInputHeight","hitTarget","normalizedTextareaHeights","plain","centered","verticalInset","multilineLayout","enabled","fontSize","input","placeholder","inputRef","sanitizedContainer","effectiveEditable","mergedAccessibilityState","normalizedHeight","filled","length","diagnostics","diagnosticKey","warn","focus","current","blur","wrapStateStyles","wrapActive","wrapError","wrapFocus","wrapFilled","wrapIdle","interactiveHeight","containerDisabled","rootCentered","minWidth","children","wrap","wrapMultiline","wrapCentered","searchInteractiveRow","wrapPlain","accessible","focusable","tabIndex","importantForAccessibility","focusSurface","onPress","pointerEvents","searchVisibleSurface","top","bottom","slot","ref","event","inputCentered","inputMultiline","inputScrolling","inputClipped","inputStyle","foregroundSubtle","errorMsg","accessibilityLiveRegion","OS","displayName"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/TextFieldBase.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
import { space } from "../../../theme/index.js";
|
|
4
4
|
export const TEXT_FIELD_BORDER_WIDTH = 1;
|
|
5
5
|
export const TEXTAREA_VERTICAL_PADDING = space[4];
|
|
6
|
-
export const TEXTAREA_PLAIN_VERTICAL_INSET = 2 *
|
|
7
|
-
export const TEXTAREA_VERTICAL_INSET =
|
|
6
|
+
export const TEXTAREA_PLAIN_VERTICAL_INSET = 2 * space[3];
|
|
7
|
+
export const TEXTAREA_VERTICAL_INSET = 2 * TEXTAREA_VERTICAL_PADDING + 2 * TEXT_FIELD_BORDER_WIDTH;
|
|
8
8
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["space","TEXT_FIELD_BORDER_WIDTH","TEXTAREA_VERTICAL_PADDING","TEXTAREA_PLAIN_VERTICAL_INSET","TEXTAREA_VERTICAL_INSET"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/constants.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,yBAAgB;AAEtC,OAAO,MAAMC,uBAAuB,GAAG,CAAC;AACxC,OAAO,MAAMC,yBAAyB,GAAGF,KAAK,CAAC,CAAC,CAAC;AACjD,OAAO,MAAMG,6BAA6B,GAAG,CAAC,
|
|
1
|
+
{"version":3,"names":["space","TEXT_FIELD_BORDER_WIDTH","TEXTAREA_VERTICAL_PADDING","TEXTAREA_PLAIN_VERTICAL_INSET","TEXTAREA_VERTICAL_INSET"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/constants.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,yBAAgB;AAEtC,OAAO,MAAMC,uBAAuB,GAAG,CAAC;AACxC,OAAO,MAAMC,yBAAyB,GAAGF,KAAK,CAAC,CAAC,CAAC;AACjD,OAAO,MAAMG,6BAA6B,GAAG,CAAC,GAAGH,KAAK,CAAC,CAAC,CAAC;AACzD,OAAO,MAAMI,uBAAuB,GAClC,CAAC,GAAGF,yBAAyB,GAAG,CAAC,GAAGD,uBAAuB","ignoreList":[]}
|
|
@@ -18,7 +18,17 @@ export const makeStyles = c => StyleSheet.create({
|
|
|
18
18
|
paddingVertical: TEXTAREA_VERTICAL_PADDING,
|
|
19
19
|
alignItems: 'flex-start'
|
|
20
20
|
},
|
|
21
|
+
wrapCentered: {
|
|
22
|
+
alignItems: 'center'
|
|
23
|
+
},
|
|
24
|
+
focusSurface: StyleSheet.absoluteFill,
|
|
25
|
+
inputCentered: {
|
|
26
|
+
position: 'relative',
|
|
27
|
+
zIndex: 1
|
|
28
|
+
},
|
|
21
29
|
wrapPlain: {
|
|
30
|
+
paddingHorizontal: space[3],
|
|
31
|
+
paddingVertical: space[3],
|
|
22
32
|
backgroundColor: 'transparent',
|
|
23
33
|
borderWidth: 0,
|
|
24
34
|
borderRadius: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","fw","radius","space","type","t","TEXTAREA_VERTICAL_PADDING","TEXT_FIELD_BORDER_WIDTH","makeStyles","c","create","wrap","flexDirection","alignItems","gap","paddingHorizontal","borderRadius","md","borderWidth","wrapMultiline","paddingVertical","wrapPlain","backgroundColor","searchInteractiveRow","searchVisibleSurface","
|
|
1
|
+
{"version":3,"names":["StyleSheet","fw","radius","space","type","t","TEXTAREA_VERTICAL_PADDING","TEXT_FIELD_BORDER_WIDTH","makeStyles","c","create","wrap","flexDirection","alignItems","gap","paddingHorizontal","borderRadius","md","borderWidth","wrapMultiline","paddingVertical","wrapCentered","focusSurface","absoluteFill","inputCentered","position","zIndex","wrapPlain","backgroundColor","searchInteractiveRow","searchVisibleSurface","left","right","wrapIdle","surfaceContainerHigh","borderColor","wrapActive","surface","wrapFocus","primary","wrapFilled","outline","wrapError","error","input","flex","minWidth","fontSize","body","color","foreground","padding","margin","outlineWidth","inputMultiline","textAlignVertical","inputScrolling","overflow","inputClipped","slotDisplay","justifyContent","minHeight","slotText","foregroundMuted","sm","slotActionLabel","xs","fontWeight","medium","slotActionLabelDisabled","foregroundSubtle","actionFrame","height","errorMsg","micro","marginTop","regular","containerDisabled","opacity","rootCentered"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/styles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldBase.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/TextFieldBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAcnE,0EAA0E;AAC1E,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"TextFieldBase.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/TextFieldBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAcnE,0EAA0E;AAC1E,eAAO,MAAM,aAAa,4FAmQzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAClD,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAClD,eAAO,MAAM,6BAA6B,QAAe,CAAC;AAC1D,eAAO,MAAM,uBAAuB,QACyB,CAAC"}
|
|
@@ -13,7 +13,23 @@ export declare const makeStyles: (c: ColorTokens) => Readonly<{
|
|
|
13
13
|
paddingVertical: number;
|
|
14
14
|
alignItems: "flex-start";
|
|
15
15
|
};
|
|
16
|
+
wrapCentered: {
|
|
17
|
+
alignItems: "center";
|
|
18
|
+
};
|
|
19
|
+
focusSurface: Readonly<{
|
|
20
|
+
position: "absolute";
|
|
21
|
+
left: 0;
|
|
22
|
+
right: 0;
|
|
23
|
+
top: 0;
|
|
24
|
+
bottom: 0;
|
|
25
|
+
}>;
|
|
26
|
+
inputCentered: {
|
|
27
|
+
position: "relative";
|
|
28
|
+
zIndex: number;
|
|
29
|
+
};
|
|
16
30
|
wrapPlain: {
|
|
31
|
+
paddingHorizontal: number;
|
|
32
|
+
paddingVertical: number;
|
|
17
33
|
backgroundColor: string;
|
|
18
34
|
borderWidth: number;
|
|
19
35
|
borderRadius: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,yDAAyD;AACzD,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,yDAAyD;AACzD,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBrC,+BAA+B;;;;;;;;;;;;;;;IAe/B,qEAAqE;;;;;;;;;;;;;;;;;;;;;;IAuBrE,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDtC,CAAC"}
|
|
@@ -111,6 +111,8 @@ export type TextFieldBaseProps = Omit<TextInputProps, RemovedTextInputProps> & T
|
|
|
111
111
|
searchLayout?: SearchFieldLayout;
|
|
112
112
|
/** internal:仅由 Textarea 的公开 surface 选择,无独立表面的多行输入。 */
|
|
113
113
|
plainSurface?: boolean;
|
|
114
|
+
/** internal:Textarea 的文字对齐;不改变单行控件。 */
|
|
115
|
+
contentAlignment?: 'start' | 'center';
|
|
114
116
|
};
|
|
115
117
|
export interface MultilineLayoutInput {
|
|
116
118
|
enabled: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export type TextareaProps = Omit<TextInputProps, RemovedTextInputProps> & TextFi
|
|
|
10
10
|
interface TextareaLayoutProps {
|
|
11
11
|
/** default 绘制独立输入表面;plain 嵌入复合输入,保留文字内边距但不绘制表面。 */
|
|
12
12
|
surface?: 'default' | 'plain';
|
|
13
|
+
/** start 顶对齐;center 以原生自然文字高度居中,保留外层最小触达范围。 */
|
|
14
|
+
contentAlignment?: 'start' | 'center';
|
|
13
15
|
/** 最小高度,默认 96(约 5 行) */
|
|
14
16
|
minHeight?: number;
|
|
15
17
|
/** 最大高度(超过后内部滚动),默认不限制 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Textarea/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,GACrE,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AAEtB,UAAU,mBAAmB;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Textarea/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,GACrE,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AAEtB,UAAU,mBAAmB;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACtC,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@ import React, {
|
|
|
5
5
|
useImperativeHandle,
|
|
6
6
|
useState,
|
|
7
7
|
} from 'react';
|
|
8
|
-
import { Platform, Text, TextInput, View } from 'react-native';
|
|
8
|
+
import { Platform, Pressable, Text, TextInput, View } from 'react-native';
|
|
9
9
|
import type { TextInputProps } from 'react-native';
|
|
10
10
|
import { fixed, useColors, useThemedStyles } from '../../../theme';
|
|
11
11
|
import { childTestID } from '../../../utils/testID';
|
|
@@ -41,6 +41,7 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
41
41
|
maxHeight,
|
|
42
42
|
searchLayout,
|
|
43
43
|
plainSurface,
|
|
44
|
+
contentAlignment = 'start',
|
|
44
45
|
leading,
|
|
45
46
|
trailing,
|
|
46
47
|
error,
|
|
@@ -105,14 +106,16 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
105
106
|
maxHeight
|
|
106
107
|
);
|
|
107
108
|
const plain = multiline && plainSurface === true;
|
|
109
|
+
const centered = multiline && contentAlignment === 'center';
|
|
110
|
+
const verticalInset = plain
|
|
111
|
+
? TEXTAREA_PLAIN_VERTICAL_INSET
|
|
112
|
+
: TEXTAREA_VERTICAL_INSET;
|
|
108
113
|
const multilineLayout = useMultilineLayout({
|
|
109
114
|
enabled: multiline,
|
|
110
115
|
value: controller.value,
|
|
111
|
-
minHeight: normalizedTextareaHeights.minHeight,
|
|
116
|
+
minHeight: centered ? verticalInset : normalizedTextareaHeights.minHeight,
|
|
112
117
|
maxHeight: normalizedTextareaHeights.maxHeight,
|
|
113
|
-
verticalInset
|
|
114
|
-
? TEXTAREA_PLAIN_VERTICAL_INSET
|
|
115
|
-
: TEXTAREA_VERTICAL_INSET,
|
|
118
|
+
verticalInset,
|
|
116
119
|
fontSize: styles.input.fontSize,
|
|
117
120
|
placeholder: allowedNativeProps.placeholder as string | undefined,
|
|
118
121
|
inputRef: nativeRef,
|
|
@@ -179,6 +182,7 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
179
182
|
style={[
|
|
180
183
|
styles.wrap,
|
|
181
184
|
multiline && styles.wrapMultiline,
|
|
185
|
+
centered && styles.wrapCentered,
|
|
182
186
|
searchLayout === undefined && !plain && wrapStateStyles,
|
|
183
187
|
searchLayout !== undefined && styles.searchInteractiveRow,
|
|
184
188
|
plain && styles.wrapPlain,
|
|
@@ -192,6 +196,20 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
192
196
|
: { height: interactiveHeight },
|
|
193
197
|
]}
|
|
194
198
|
>
|
|
199
|
+
{centered ? (
|
|
200
|
+
<Pressable
|
|
201
|
+
accessible={false}
|
|
202
|
+
focusable={false}
|
|
203
|
+
tabIndex={-1}
|
|
204
|
+
importantForAccessibility="no"
|
|
205
|
+
style={styles.focusSurface}
|
|
206
|
+
disabled={!effectiveEditable}
|
|
207
|
+
onPress={() => {
|
|
208
|
+
if (effectiveEditable) nativeRef.current?.focus();
|
|
209
|
+
}}
|
|
210
|
+
testID={childTestID(testID, 'focus-surface')}
|
|
211
|
+
/>
|
|
212
|
+
) : null}
|
|
195
213
|
{searchLayout ? (
|
|
196
214
|
<View
|
|
197
215
|
pointerEvents="none"
|
|
@@ -236,6 +254,7 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
236
254
|
}}
|
|
237
255
|
style={[
|
|
238
256
|
styles.input,
|
|
257
|
+
centered && styles.inputCentered,
|
|
239
258
|
multiline && styles.inputMultiline,
|
|
240
259
|
multiline &&
|
|
241
260
|
(multilineLayout.scrollEnabled
|
|
@@ -2,6 +2,6 @@ import { space } from '../../../theme';
|
|
|
2
2
|
|
|
3
3
|
export const TEXT_FIELD_BORDER_WIDTH = 1;
|
|
4
4
|
export const TEXTAREA_VERTICAL_PADDING = space[4];
|
|
5
|
-
export const TEXTAREA_PLAIN_VERTICAL_INSET = 2 *
|
|
5
|
+
export const TEXTAREA_PLAIN_VERTICAL_INSET = 2 * space[3];
|
|
6
6
|
export const TEXTAREA_VERTICAL_INSET =
|
|
7
|
-
|
|
7
|
+
2 * TEXTAREA_VERTICAL_PADDING + 2 * TEXT_FIELD_BORDER_WIDTH;
|
|
@@ -21,7 +21,12 @@ export const makeStyles = (c: ColorTokens) =>
|
|
|
21
21
|
paddingVertical: TEXTAREA_VERTICAL_PADDING,
|
|
22
22
|
alignItems: 'flex-start',
|
|
23
23
|
},
|
|
24
|
+
wrapCentered: { alignItems: 'center' },
|
|
25
|
+
focusSurface: StyleSheet.absoluteFill,
|
|
26
|
+
inputCentered: { position: 'relative', zIndex: 1 },
|
|
24
27
|
wrapPlain: {
|
|
28
|
+
paddingHorizontal: space[3],
|
|
29
|
+
paddingVertical: space[3],
|
|
25
30
|
backgroundColor: 'transparent',
|
|
26
31
|
borderWidth: 0,
|
|
27
32
|
borderRadius: 0,
|
|
@@ -135,6 +135,8 @@ export type TextFieldBaseProps = Omit<TextInputProps, RemovedTextInputProps> &
|
|
|
135
135
|
searchLayout?: SearchFieldLayout;
|
|
136
136
|
/** internal:仅由 Textarea 的公开 surface 选择,无独立表面的多行输入。 */
|
|
137
137
|
plainSurface?: boolean;
|
|
138
|
+
/** internal:Textarea 的文字对齐;不改变单行控件。 */
|
|
139
|
+
contentAlignment?: 'start' | 'center';
|
|
138
140
|
};
|
|
139
141
|
|
|
140
142
|
export interface MultilineLayoutInput {
|
|
@@ -19,6 +19,8 @@ export type TextareaProps = Omit<TextInputProps, RemovedTextInputProps> &
|
|
|
19
19
|
interface TextareaLayoutProps {
|
|
20
20
|
/** default 绘制独立输入表面;plain 嵌入复合输入,保留文字内边距但不绘制表面。 */
|
|
21
21
|
surface?: 'default' | 'plain';
|
|
22
|
+
/** start 顶对齐;center 以原生自然文字高度居中,保留外层最小触达范围。 */
|
|
23
|
+
contentAlignment?: 'start' | 'center';
|
|
22
24
|
/** 最小高度,默认 96(约 5 行) */
|
|
23
25
|
minHeight?: number;
|
|
24
26
|
/** 最大高度(超过后内部滚动),默认不限制 */
|