decord/source/design/components/TextField/native/TextAreaField.native.tsx
2026-07-24 07:16:23 +00:00

93 lines
3.6 KiB
TypeScript

// Module ID: 7646
// Function ID: 60825
// Name: getLengthRemainingTextColor
// Dependencies: [31, 27, 33, 4130, 689, 5780, 5774, 3836, 7647, 1212, 5783, 4126, 2]
// Module 7646 (getLengthRemainingTextColor)
import { View } from "get ActivityIndicator";
import jsxProd from "jsxProd";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
import importAllResult from "result";
let closure_3;
let closure_4;
const require = arg1;
function getLengthRemainingTextColor(maxLength, diff) {
let str = "text-muted";
let str2 = "text-muted";
if (null != maxLength) {
str2 = str;
if (null != diff) {
let str3 = "text-feedback-critical";
if (diff > 0) {
if (diff < maxLength / 9) {
str = "text-feedback-warning";
}
str3 = str;
}
str2 = str3;
}
}
return str2;
}
({ jsx: closure_3, jsxs: closure_4 } = jsxProd);
let obj = { area: { height: 128, textAlignVertical: "top" } };
obj = { position: "absolute", bottom: require("_createForOfIteratorHelperLoose").space.PX_4, right: require("_createForOfIteratorHelperLoose").space.PX_16 };
obj.maxLengthIndicator = obj;
let closure_5 = _createForOfIteratorHelperLoose.createStyles(obj);
const forwardRefResult = require("result").forwardRef((isDisabled) => {
let focusProps;
let innerRef;
let inputProps;
let isFocused;
let obj = require(5780) /* useInputStyles */;
obj = { size: "lg", isRound: false, isDisabled: isDisabled.isDisabled };
const inputStyles = obj.useInputStyles(obj);
const tmp2 = callback2();
const maxLength = isDisabled.maxLength;
let obj2 = require(5774) /* useTextFieldState */;
const textField = obj2.useTextField(isDisabled, arg1);
({ inputProps, innerRef } = textField);
let obj3 = require(3836) /* getNodeText */;
const focus = obj3.useFocus();
let diff;
({ focusProps, isFocused } = focus);
if (null != maxLength) {
diff = maxLength - iter.value.length;
}
let obj4 = require(7647) /* useCharacterLimitAnnouncement */;
obj = { currentLength: iter.value.length, maxLength };
const intl = require(1212) /* getSystemLocale */.intl;
obj.message = intl.string(require(1212) /* getSystemLocale */.t.c2Jqed);
const characterLimitAnnouncement = obj4.useCharacterLimitAnnouncement(obj);
const obj1 = {};
const merged = Object.assign(isDisabled);
obj1["isFocused"] = isFocused;
obj2 = {};
const merged1 = Object.assign(require(3836) /* getNodeText */.mergeProps(inputProps, focusProps));
obj2["ref"] = innerRef;
const items = [, , ];
({ padding: arr[0], text: arr[1] } = inputStyles);
items[2] = tmp2.area;
obj2["style"] = items;
obj2["placeholderTextColor"] = inputStyles.placeholderText.color;
obj2["multiline"] = true;
const items1 = [callback(require(5783) /* useKeyboardBlurring */.NativeTextInput, obj2), ];
let tmp10 = null;
if (null != diff) {
obj3 = { style: tmp2.maxLengthIndicator };
obj4 = { variant: "text-xs/semibold", color: getLengthRemainingTextColor(maxLength, diff) };
const intl2 = require(1212) /* getSystemLocale */.intl;
const obj5 = { remainingCharacters: diff };
obj4.accessibilityLabel = intl2.formatToPlainString(require(1212) /* getSystemLocale */.t.fR1cof, obj5);
obj4.children = diff;
obj3.children = callback(require(4126) /* Text */.Text, obj4);
tmp10 = callback(View, obj3);
}
items1[1] = tmp10;
obj1["children"] = items1;
return closure_4(require(5780) /* useInputStyles */.InputFieldContainer, obj1);
});
const result = require("jsxProd").fileFinishedImporting("design/components/TextField/native/TextAreaField.native.tsx");
export const TextAreaField = forwardRefResult;