147 lines
7.5 KiB
TypeScript
147 lines
7.5 KiB
TypeScript
/* Metro module 9844; source: components_native/common/TabBar.tsx; dependencies: [57, 31, 27, 661, 33, 4501, 697, 5321, 1244, 2] */
|
|
function _fun77151(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77151, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:6, offset: 0x01df36f9, size: 356 bytes, params: 8, frame: 22
|
|
const env0_0 = require;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const env0_2 = importDefault(57) /* metro dependency 57 */;
|
|
const env0_3 = importAll(31) /* metro dependency 31 */;
|
|
let value = require(27) /* metro dependency 27 */;
|
|
const env0_4 = value.View;
|
|
const env0_5 = value.TouchableWithoutFeedback;
|
|
const env0_6 = value.FlatList;
|
|
const env0_7 = (require(661) /* metro dependency 661: Constants */).NOOP;
|
|
const env0_8 = (require(33) /* metro dependency 33 */).jsx;
|
|
value = require(4501) /* metro dependency 4501: createStyles */;
|
|
const createStyles = value.createStyles;
|
|
const BRAND_600 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BRAND_600;
|
|
const env0_9 = Reflect.apply(createStyles, value, [{innerContainer: {'flexDirection': 'row',
|
|
'alignItems': 'stretch'}, tab: {'flexGrow': 1, 'flexBasis': 'auto', 'flexShrink': 0, 'alignItems': 'center',
|
|
'justifyContent': 'center', 'marginBottom': 1, 'marginHorizontal': 1, 'padding': 10, 'borderBottomWidth': 2,
|
|
'borderBottomColor': 'transparent'}, tabActive: {backgroundColor: 'rgba(0,0,0,0.1)'},
|
|
tabSelected: {borderBottomColor: BRAND_600}, container: {flex: 0}}]);
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('components_native/common/TabBar.tsx');
|
|
exports.default = _default_77157;
|
|
}
|
|
|
|
function Tab({children, index, isSelected, tabStyle, tabStyleActive, tabStyleSelected, onSelect}) { // fn#77152, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:610, offset: 0x01df385d, size: 351 bytes, params: 2, frame: 26
|
|
const styles = useStyles();
|
|
const [property, property2] = env0_2(env0_3.useState(function() {
|
|
return false;
|
|
}), 2);
|
|
return (
|
|
<TouchableWithoutFeedback
|
|
accessibilityRole="tab"
|
|
onPressIn={env0_3.useCallback(_fun77154, [property2])}
|
|
onPressOut={env0_3.useCallback(_fun77155, [property2])}
|
|
onPress={env0_3.useCallback(function() {
|
|
return onSelect(index);
|
|
}, [onSelect, index])}
|
|
>
|
|
<View
|
|
style={[styles.tab, tabStyle, isSelected ? styles.tabSelected : null,
|
|
property ? styles.tabActive : null, isSelected ? tabStyleSelected : null,
|
|
property ? tabStyleActive : null]}
|
|
>
|
|
{children}
|
|
</View>
|
|
</TouchableWithoutFeedback>
|
|
);
|
|
}
|
|
|
|
function _default_77157({initialNumTabsToRender, tabs, tabIndexSelected, tabStyle, tabStyleActive, tabStyleSelected, onSelect, containerStyle, hideHorizontalScrollbar, scrollToSelectedIndex}) { // fn#77157, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:1059, offset: 0x01df39e0, size: 581 bytes, params: 2, frame: 29
|
|
const env0_3 = tabStyleSelected;
|
|
hideHorizontalScrollbar = !(hideHorizontalScrollbar === undefined) && hideHorizontalScrollbar;
|
|
scrollToSelectedIndex = !(scrollToSelectedIndex === undefined) && scrollToSelectedIndex;
|
|
const styles = useStyles();
|
|
const value2 = env0_3.useRef(null);
|
|
const env0_7 = env0_3.useRef(tabIndexSelected);
|
|
env0_3.useEffect(_fun77158, [tabIndexSelected]);
|
|
const value3 = env0_3.useCallback(_fun77159, [value2, onSelect]);
|
|
const value4 = _fun77160(tabIndexSelected);
|
|
const value5 = env0_3.useCallback(function(a0, a1) {
|
|
return 'tab-' + a1;
|
|
}, []);
|
|
const value6 = env0_3.useCallback(_fun77166, [tabIndexSelected, tabStyle, tabStyleActive, tabStyleSelected,
|
|
scrollToSelectedIndex, onSelect, value3]);
|
|
const value7 = env0_3.useMemo(_fun77167, []);
|
|
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
|
|
const string = intl.string;
|
|
const t1qXlK = (require(1244) /* metro dependency 1244: indexNative */).t.t1qXlK;
|
|
const GestureDetector = (require(5321) /* metro dependency 5321 */).GestureDetector;
|
|
return (
|
|
<View
|
|
style={styles.container}
|
|
accessibilityRole="tablist"
|
|
accessibilityLabel={Reflect.apply(string, intl, [t1qXlK])}
|
|
>
|
|
<GestureDetector gesture={value7}>
|
|
<FlatList
|
|
ref={value4}
|
|
contentContainerStyle={[containerStyle, styles.innerContainer]}
|
|
horizontal
|
|
data={tabs}
|
|
renderItem={value6}
|
|
keyExtractor={value5}
|
|
initialNumToRender={initialNumTabsToRender}
|
|
onScrollToIndexFailed={NOOP}
|
|
showsHorizontalScrollIndicator={!hideHorizontalScrollbar}
|
|
/>
|
|
</GestureDetector>
|
|
</View>
|
|
);
|
|
}
|
|
|
|
function _fun77159(a0) { // fn#77159, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:1346, offset: 0x01df3c3a, size: 51 bytes, params: 2, frame: 13
|
|
onSelect(a0);
|
|
const current = env0_6.current;
|
|
if (current != null) {
|
|
current.scrollToIndex({index: a0});
|
|
}
|
|
}
|
|
|
|
function _fun77160(a0) { // fn#77160, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:1421, offset: 0x01df3c6d, size: 97 bytes, params: 2, frame: 15
|
|
let env0_0 = a0;
|
|
env1_3.useEffect(function() {
|
|
var env0_0 = global.setTimeout(_fun77163, 500);
|
|
return _fun77164;
|
|
}, [env1_2(env1_3.useState(_fun77161), 1)[0]]);
|
|
return env0_6;
|
|
}
|
|
|
|
function _fun77166({item, index}) { // fn#77166, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:1703, offset: 0x01df3d5e, size: 109 bytes, params: 2, frame: 16
|
|
return (
|
|
<Tab
|
|
index={index}
|
|
isSelected={index === tabIndexSelected}
|
|
tabStyle={tabStyle}
|
|
tabStyleActive={tabStyleActive}
|
|
tabStyleSelected={tabStyleSelected}
|
|
onSelect={scrollToSelectedIndex ? env0_8 : onSelect}
|
|
>
|
|
{item}
|
|
</Tab>
|
|
);
|
|
}
|
|
|
|
function _fun77167() { // fn#77167, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:1861, offset: 0x01df3dcb, size: 56 bytes, params: 1, frame: 11
|
|
const value = environment.__proto__;
|
|
const Gesture = (require(5321) /* metro dependency 5321 */).Gesture;
|
|
return Gesture.Native().disallowInterruption(true);
|
|
}
|
|
|
|
function _fun77162() { // fn#77162, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:1483, offset: 0x01df3cce, size: 44 bytes, params: 1, frame: 14
|
|
const env0_0 = global.setTimeout(_fun77163, 500);
|
|
return _fun77164;
|
|
}
|
|
|
|
function _fun77163() { // fn#77163, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10030:1506, offset: 0x01df3cfa, size: 71 bytes, params: 1, frame: 12
|
|
let current = env2_7.current;
|
|
if (current === env1_1) {
|
|
current = env2_6.current;
|
|
if (current != null) {
|
|
current.scrollToIndex({index: env1_1, viewPosition: 1});
|
|
}
|
|
}
|
|
}
|
|
|