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

143 lines
10 KiB
TypeScript

/* Metro module 6238; source: design/components/TableRow/native/TableRow.native.tsx; dependencies: [31, 27, 33, 4501, 697, 1357, 6236, 3860, 6239, 6232, 6242, 6243, 6246, 4584, 477, 6247, 4573, 2] */
function _fun49314(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#49314, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6416:6, offset: 0x011f4dd6, size: 318 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = TableRow;
const closure2 = TableRowInner;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_4 = value.Pressable;
const env0_5 = value.View;
value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.Fragment;
const env0_8 = value.jsxs;
object = {padding: 0};
const env0_10 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun49317);
const TableRowIcon = (require(6242) /* metro dependency 6242: TableRowIconNative */).TableRowIcon;
closure.Icon = TableRowIcon;
const TableRowArrow = (require(6243) /* metro dependency 6243: TableRowArrowNative */).TableRowArrow;
closure.Arrow = TableRowArrow;
const TableRowTrailingText = (require(6246) /* metro dependency 6246: TableRowTrailingTextNative */).TableRowTrailingText;
closure.TrailingText = TableRowTrailingText;
(require(2) /* metro dependency 2 */).fileFinishedImporting('design/components/TableRow/native/TableRow.native.tsx');
exports.TableRow = closure;
exports.TableRowInner = closure2;
}
function TableRow(a0) { // fn#49315, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6416:899, offset: 0x011f4f14, size: 579 bytes, params: 2, frame: 36
const label = a0.label;
const subLabel = a0.subLabel;
const icon = a0.icon;
const trailing = a0.trailing;
const arrow = a0.arrow;
const onPress = a0.onPress;
let disabled = a0.disabled;
const value = undefined;
disabled = !(disabled === value) && disabled;
const start = a0.start;
const end = a0.end;
const labelLineClamp = a0.labelLineClamp;
const subLabelLineClamp = a0.subLabelLineClamp;
let variant = a0.variant;
variant = variant === value ? 'default' : variant;
const draggable = a0.draggable;
const dragHandlePressableProps = a0.dragHandlePressableProps;
const object2 = {'label': 0, 'subLabel': 0, 'icon': 0, 'trailing': 0, 'arrow': 0, 'onPress': 0, 'disabled': 0,
'start': 0, 'end': 0, 'labelLineClamp': 0, 'subLabelLineClamp': 0, 'variant': 0, 'draggable': 0,
'dragHandlePressableProps': 0};
silentSetPrototypeOf(object2, null, undefined);
const value4 = copyDataProperties({}, a0, object2, undefined);
const MobileVisualRefreshExperiment = (require(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */).MobileVisualRefreshExperiment;
const useConfig = MobileVisualRefreshExperiment.useConfig;
const enabled = Reflect.apply(useConfig, MobileVisualRefreshExperiment, [{location: 'TableRow'}]).enabled;
const binding = env0_3;
const useContext = binding.useContext;
const TableRowGroupContext = (require(6236) /* metro dependency 6236: TableRowGroupContextNative */).TableRowGroupContext;
const value6 = Reflect.apply(useContext, binding, [TableRowGroupContext]);
const value7 = !value6;
const r1 = value6 ? value7 : end === true;
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
const useToken = useTokenModule.useToken;
const TABLE_ROW_BORDER_RADIUS = (importDefault(697) /* metro dependency 697: native */).modules.mobile.TABLE_ROW_BORDER_RADIUS;
const value9 = Reflect.apply(useToken, useTokenModule, [TABLE_ROW_BORDER_RADIUS]);
const InternalCard = (require(6239) /* metro dependency 6239: CardNative */).InternalCard;
const internalCard = <InternalCard radius={value9} shadow="none" border="none" variant={enabled ? 'muted' : value} start={value6 ? value7 : start === true} end={r1} onPress={onPress} disabled={disabled} style={env0_9} {...value4}><TableRowInner label={label} subLabel={subLabel} icon={icon} trailing={trailing} arrow={arrow} disabled={disabled} labelLineClamp={labelLineClamp} subLabelLineClamp={subLabelLineClamp} variant={variant} draggable={draggable} dragHandlePressableProps={dragHandlePressableProps} isRefreshEnabled={enabled} /></InternalCard>;
return value6 || r1 ? internalCard : <>{internalCard}{((TableRowDivider) => <TableRowDivider adjustSpacingForIcon={icon != null} />)((require(6232) /* metro dependency 6232: TableRowDividerNative */).TableRowDivider)}</>;
}
function TableRowInner({label, labelLineClamp, subLabel, subLabelLineClamp, icon, trailing, arrow, disabled, variant, draggable, dragHandlePressableProps, borderRadius, height}) { // fn#49316, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6416:1742, offset: 0x011f5157, size: 1043 bytes, params: 2, frame: 40
variant = variant === undefined ? 'default' : variant;
draggable = !(draggable === undefined) && draggable;
const value5 = (importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('TableRowInner');
let binding = env0_3;
const r9 = binding.isValidElement(trailing) ? trailing.type !== (require(6246) /* metro dependency 6246: TableRowTrailingTextNative */).TableRowTrailingText ? undefined : trailing : undefined;
const value6 = (require(4584) /* metro dependency 4584: useFontScale */).useFontScale();
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
const styles = useStyles(disabled === true, r9 != null,
platformUtilsModule.isAndroid() ? value6 > 1.2 : value6 > 1.5, value5);
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
let useToken = useTokenModule.useToken;
const TABLE_ROW_LABEL_TEXT_STYLE = (importDefault(697) /* metro dependency 697: native */).modules.mobile.TABLE_ROW_LABEL_TEXT_STYLE;
const value9 = Reflect.apply(useToken, useTokenModule, [TABLE_ROW_LABEL_TEXT_STYLE]);
const moduleValue4 = useTokenModule;
useToken = moduleValue4.useToken;
const TABLE_ROW_LABEL_COLOR = (importDefault(697) /* metro dependency 697: native */).modules.mobile.TABLE_ROW_LABEL_COLOR;
const value10 = Reflect.apply(useToken, moduleValue4, [TABLE_ROW_LABEL_COLOR]);
const items4 = [styles.row];
items4[1] = {borderRadius: borderRadius, height: height};
const items2 = [draggable && <Pressable {...dragHandlePressableProps}>{((DragIcon) => <DragIcon size="xs" style={styles.dragHandle} />)((require(6247) /* metro dependency 6247: DragIcon */).DragIcon)}</Pressable>];
items2[1] = icon != null && <View style={styles.iconContainer}>{icon}</View>;
binding = env0_3;
const items3 = [binding.isValidElement(label) ? label : ((Text) => <Text variant={value9} color={variant === 'danger' ? 'text-feedback-critical' : value10} lineClamp={labelLineClamp}>{label}</Text>)((require(4573) /* metro dependency 4573: Text */).Text)];
items3[1] = subLabel != null && (env0_3.isValidElement(subLabel) ? subLabel : ((Text) => <Text variant="text-xs/medium" color={variant !== 'danger' ? 'text-subtle' : 'text-feedback-critical'} lineClamp={subLabelLineClamp}>{subLabel}</Text>)((require(4573) /* metro dependency 4573: Text */).Text));
items2[2] = <View style={styles.content}><View style={styles.labels}>{items3}</View>{r9 != null && <View style={[styles.trailing,
styles.trailingText]}>{r9}</View>}</View>;
items2[3] = trailing != null && r9 == null && <View style={styles.trailing}>{trailing}</View>;
items2[4] = arrow && ((TableRowArrow) => <TableRowArrow />)((require(6243) /* metro dependency 6243: TableRowArrowNative */).TableRowArrow);
return (
<View style={items4}>
{items2}
</View>
);
}
function _fun49317(a0, a1, a2) { // fn#49317, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6416:217, offset: 0x011f556a, size: 419 bytes, params: 4, frame: 21
let value = a3;
const value2 = undefined;
const r11 = value !== value2 ? value : false;
const object4 = {};
const object5 = {};
let TABLE_ROW_PADDING = (importDefault(697) /* metro dependency 697: native */).modules.mobile.TABLE_ROW_PADDING;
object5.padding = TABLE_ROW_PADDING;
const TABLE_ROW_HEIGHT = (importDefault(697) /* metro dependency 697: native */).modules.mobile.TABLE_ROW_HEIGHT;
object5.minHeight = TABLE_ROW_HEIGHT;
const value3 = 'row';
object5.flexDirection = value3;
const value4 = 'center';
object5.alignItems = value4;
const value5 = 1;
object5.opacity = a0 ? 0.5 : value5;
object5.borderRadius = r11 ? (importDefault(697) /* metro dependency 697: native */).radii.md : value2;
object4.row = object5;
const object6 = {};
const TABLE_ROW_ICON_SIZE = (importDefault(697) /* metro dependency 697: native */).modules.mobile.TABLE_ROW_ICON_SIZE;
object6.minWidth = TABLE_ROW_ICON_SIZE;
TABLE_ROW_PADDING = (importDefault(697) /* metro dependency 697: native */).modules.mobile.TABLE_ROW_PADDING;
object6.marginEnd = TABLE_ROW_PADDING;
object6.alignItems = value4;
object6.justifyContent = value4;
object4.iconContainer = object6;
value = 18;
object4.trailing = {marginStart: value};
object4.content = {'flexShrink': 1, 'flexGrow': 1, 'flexDirection': null, 'alignItems': null,
'justifyContent': 'space-between', flexDirection: a2 ? 'column' : value3, alignItems: a2 ? 'stretch' : value4};
object4.labels = {flexGrow: value5, flexShrink: a1 ? a2 ? value5 : value2 : value5,
maxWidth: a1 ? a2 ? value2 : '70%' : value2};
object4.trailingText = {flexShrink: value5, marginStart: a2 ? 0 : value};
object4.dragHandle = {marginEnd: 8};
return object4;
}