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

119 lines
5.7 KiB
TypeScript

/* Metro module 12104; source: design/void/IconButton/native/IconButton.tsx; dependencies: [31, 33, 4501, 697, 6235, 5278, 1305, 2] */
function _fun92954(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12290:6, offset: 0x0209fcc3, size: 491 bytes, params: 8, frame: 25
var object7;
const env0_0 = require;
const closure = SquareIconButton;
const closure2 = CircularIconButton;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importAll(31) /* metro dependency 31 */;
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
object7 = {SMALL_24: 24};
object7[24] = 'SMALL_24';
object7.MEDIUM_32 = 32;
object7[32] = 'MEDIUM_32';
object7.LARGE_40 = 40;
object7[40] = 'LARGE_40';
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object8 = {};
const object9 = {'borderRadius': null, 'alignItems': 'center', 'justifyContent': 'center'};
object9.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xs;
const DARK_PRIMARY_700_LIGHT_PRIMARY_230 = (require(6235) /* metro dependency 6235: LegacyTokens */).DARK_PRIMARY_700_LIGHT_PRIMARY_230;
object9.backgroundColor = DARK_PRIMARY_700_LIGHT_PRIMARY_230;
object8.container = object9;
const object10 = {};
let SMALL_24 = object7.SMALL_24;
object10.height = SMALL_24;
SMALL_24 = object7.SMALL_24;
object10.width = SMALL_24;
object8.small = object10;
const object11 = {};
let MEDIUM_32 = object7.MEDIUM_32;
object11.height = MEDIUM_32;
MEDIUM_32 = object7.MEDIUM_32;
object11.width = MEDIUM_32;
object8.medium = object11;
const object12 = {};
let LARGE_40 = object7.LARGE_40;
object12.height = LARGE_40;
LARGE_40 = object7.LARGE_40;
object12.width = LARGE_40;
object8.large = object12;
SMALL_24 = object7.SMALL_24;
object8.smallCircular = {borderRadius: SMALL_24 / 2};
MEDIUM_32 = object7.MEDIUM_32;
object8.mediumCircular = {borderRadius: MEDIUM_32 / 2};
LARGE_40 = object7.LARGE_40;
object8.largeCircular = {borderRadius: LARGE_40 / 2};
const DARK_PRIMARY_300_LIGHT_PRIMARY_500 = (require(6235) /* metro dependency 6235: LegacyTokens */).DARK_PRIMARY_300_LIGHT_PRIMARY_500;
object8.icon = {tintColor: DARK_PRIMARY_300_LIGHT_PRIMARY_500};
const env0_5 = Reflect.apply(createStyles, createStylesModule, [object8]);
closure.Sizes = object7;
closure2.Sizes = object7;
(require(2) /* metro dependency 2 */).fileFinishedImporting('design/void/IconButton/native/IconButton.tsx');
exports.SquareIconButton = closure;
exports.CircularIconButton = closure2;
}
function SquareIconButton({onPress, source, style, iconStyle, size, disableColor, accessibilityLabel, accessibilityHidden, disabled}) { // fn#92955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12290:728, offset: 0x0209feae, size: 370 bytes, params: 2, frame: 27
const styles = useStyles();
const value3 = env0_2.useMemo(_fun92956, [size, styles]);
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const r15 = accessibilityHidden ? undefined : accessibilityLabel;
const items2 = [styles.container, style, value3];
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const LARGE_40 = env0_4.LARGE_40;
return (
<PressableOpacity
accessibilityRole="button"
accessibilityLabel={r15}
accessibilityElementsHidden={accessibilityHidden}
onPress={onPress}
disabled={disabled}
style={items2}
>
<Icon
size={size === LARGE_40 ? (require(1305) /* metro dependency 1305: native */).Icon.Sizes.MEDIUM : (require(1305) /* metro dependency 1305: native */).Icon.Sizes.REFRESH_SMALL_16}
style={[disableColor ? null : styles.icon, iconStyle]}
disableColor={disableColor}
source={source}
/>
</PressableOpacity>
);
}
function CircularIconButton(a0) { // fn#92957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12290:1349, offset: 0x020a0074, size: 190 bytes, params: 2, frame: 21
const style = a0.style;
const size = a0.size;
const disableColor = a0.disableColor;
const object3 = {'style': 0, 'size': 0, 'disableColor': 0};
silentSetPrototypeOf(object3, null, undefined);
const value = copyDataProperties({}, a0, object3, undefined);
const value3 = undefined;
const styles = useStyles();
const object4 = {};
const SMALL_24 = env0_4.SMALL_24;
object4.style = [SMALL_24 === size ? styles.smallCircular : env0_4.MEDIUM_32 === size ? styles.mediumCircular : env0_4.LARGE_40 !== size ? value3 : styles.largeCircular,
style];
object4.size = size;
copyDataProperties(object4, value, object3);
object4['disableColor'] = disableColor;
return <SquareIconButton {...object4} />;
}
function _fun92956() { // fn#92956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12290:895, offset: 0x020a0020, size: 84 bytes, params: 1, frame: 4
const sizeBinding = size;
const MEDIUM_32 = env1_4.MEDIUM_32;
if (MEDIUM_32 === sizeBinding) {
return styles.medium;
}
const LARGE_40 = env1_4.LARGE_40;
if (LARGE_40 === sizeBinding) {
return styles.large;
}
env1_4.SMALL_24;
return styles.small;
}