Files
discord-decomp/sources/design/components/TextField/native/TextAreaField.native.tsx
T
2026-07-27 16:20:00 +03:00

79 lines
4.7 KiB
TypeScript

/* Metro module 7687; source: design/components/TextField/native/TextAreaField.native.tsx; dependencies: [31, 27, 33, 4501, 697, 6992, 6986, 3862, 7688, 1244, 6995, 4573, 2] */
function _fun61368(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61368, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7865:6, offset: 0x01b3d186, size: 294 bytes, params: 8, frame: 23
const env0_0 = require;
const getLengthRemainingTextColor = function(a0, a1) {
var value = 'text-muted';
return a0 == null || a1 == null ? value : a1 <= 0 ? 'text-feedback-critical' : a1 < a0 / 9 ? 'text-feedback-warning' : value;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const env0_2 = (require(27) /* metro dependency 27 */).View;
const value2 = require(33) /* metro dependency 33 */;
const env0_3 = value2.jsx;
const env0_4 = value2.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {position: 'absolute'};
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object.bottom = PX_4;
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object.right = PX_16;
const env0_5 = Reflect.apply(createStyles, createStylesModule, [{area: {'height': 128, 'textAlignVertical': 'top'},
maxLengthIndicator: object}]);
value = value.forwardRef(_fun61370);
(require(2) /* metro dependency 2 */).fileFinishedImporting('design/components/TextField/native/TextAreaField.native.tsx');
exports.TextAreaField = value;
}
function _fun61370(a0, a1) { // fn#61370, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7865:481, offset: 0x01b3d2f9, size: 651 bytes, params: 3, frame: 32
var object4;
var r4;
var Text;
const value2 = undefined;
const value3 = (require(6992) /* metro dependency 6992: InputFieldContainerNative */).useInputStyles({'size': 'lg',
'isRound': false, isDisabled: a0.isDisabled});
const styles = useStyles();
const maxLength = a0.maxLength;
const {inputProps, innerRef,
state} = (require(6986) /* metro dependency 6986: useTextFieldNative */).useTextField(a0, a1);
const {focusProps, isFocused} = (require(3862) /* metro dependency 3862: native */).useFocus();
const value6 = null;
const r11 = value6 != maxLength ? maxLength - state.value.length : value2;
const useCharacterLimitAnnouncementModule = require(7688) /* metro dependency 7688: useCharacterLimitAnnouncement */;
const useCharacterLimitAnnouncement = useCharacterLimitAnnouncementModule.useCharacterLimitAnnouncement;
object4 = {currentLength: state.value.length, maxLength: maxLength};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object4.message = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.c2Jqed);
Reflect.apply(useCharacterLimitAnnouncement, useCharacterLimitAnnouncementModule, [object4]);
const InputFieldContainer = (require(6992) /* metro dependency 6992: InputFieldContainerNative */).InputFieldContainer;
const inputFieldContainerProps = {...a0};
inputFieldContainerProps['isFocused'] = isFocused;
const NativeTextInput = (require(6995) /* metro dependency 6995: NativeTextInputNative */).NativeTextInput;
const object3 = {};
const nativeModule = require(3862) /* metro dependency 3862: native */;
copyDataProperties(object3, nativeModule.mergeProps(inputProps, focusProps), intl);
object3['ref'] = innerRef;
object3['style'] = [value3.padding, value3.text, styles.area];
object3['placeholderTextColor'] = value3.placeholderText.color;
object3['multiline'] = true;
const nativeTextInput = <NativeTextInput {...object3} />;
if (value6 == r11) {
r4 = value6;
} else {
var viewBindingProps = {style: styles.maxLengthIndicator};
Text = (require(4573) /* metro dependency 4573: Text */).Text;
r4 = <View {...viewBindingProps}><Text variant="text-xs/semibold" color={getLengthRemainingTextColor(maxLength,
r11)} accessibilityLabel={intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.fR1cof,
{remainingCharacters: r11})}>{r11}</Text></View>;
}
return (
<InputFieldContainer {...inputFieldContainerProps}>
{nativeTextInput}
{r4}
</InputFieldContainer>
);
}