/* Metro module 7939; source: components_native/common/Carousel.tsx; dependencies: [6, 7, 15, 17, 18, 31, 27, 33, 4501, 697, 1305, 3868, 2] */
function _fun63352(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63352, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:6, offset: 0x01b7bc06, size: 528 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(6) /* metro dependency 6 */;
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importDefault(15) /* metro dependency 15 */;
const env0_5 = importDefault(17) /* metro dependency 17 */;
const env0_6 = importDefault(18) /* metro dependency 18 */;
let value = importAll(31) /* metro dependency 31 */;
const value2 = require(27) /* metro dependency 27 */;
const env0_7 = value2.View;
const env0_8 = value2.ScrollView;
const value3 = require(33) /* metro dependency 33 */;
const env0_9 = value3.jsx;
const env0_10 = value3.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createLegacyClassComponentStyles = createStylesModule.createLegacyClassComponentStyles;
object2 = {};
object2.container = {alignItems: 'center'};
object2.carouselContentWrapper = {flexDirection: 'row'};
object2.pageIndicator = {'flexDirection': 'row', 'justifyContent': 'space-around', 'alignItems': 'center'};
const ICON_STRONG = (importDefault(697) /* metro dependency 697: native */).colors.ICON_STRONG;
object2.activeIndicator = {color: ICON_STRONG};
const ICON_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.ICON_SUBTLE;
object2.inactiveIndicator = {color: ICON_SUBTLE};
const env0_11 = Reflect.apply(createLegacyClassComponentStyles, createStylesModule, [object2]);
let Component = value.Component;
const value5 = _fun63357(Component);
const ThemeContext = (require(3868) /* metro dependency 3868: native */).ThemeContext;
value5.contextType = ThemeContext;
value5.defaultProps = {'indicatorSpace': 10, 'indicatorSize': 20};
Component = value.Component;
value = _fun63360(Component);
value.contextType = ThemeContext;
value.defaultProps = {'pageIndictor': true, 'width': 375};
(require(2) /* metro dependency 2 */).fileFinishedImporting('components_native/common/Carousel.tsx');
exports.default = value;
}
function _callSuper_63353(a0, a1, a2) { // fn#63353, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:225, offset: 0x01b7be16, size: 100 bytes, params: 4, frame: 20
var r0;
var Reflect;
let value = a2;
const value3 = env0_5(a1);
const binding = env0_4;
if (_isNativeReflectConstruct_63354()) {
Reflect = global.Reflect;
value = Reflect.construct(value3, value || [], env0_5(a0).constructor);
r0 = value;
} else {
value = value3.apply(a0, value);
r0 = value;
}
return binding(a0, r0);
}
function _isNativeReflectConstruct_63354() { // fn#63354, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:356, offset: 0x01b7be7a, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_63354_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun63357(a0) { // fn#63357, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:870, offset: 0x01b7bed8, size: 68 bytes, params: 2, frame: 15
const closure = PageIndicator;
env0_6(closure, a0);
return env0_3(closure, [{key: 'render', value: value_63359}]);
}
function _fun63360(a0) { // fn#63360, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:1483, offset: 0x01b7c02e, size: 68 bytes, params: 2, frame: 15
const closure = Carousel;
env0_6(closure, a0);
return env0_3(closure, [{key: 'render', value: value_63363}]);
}
function PageIndicator() { // fn#63358, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:882, offset: 0x01b7bf1c, size: 42 bytes, params: 1, frame: 16
env1_2(this, PageIndicator);
return _callSuper_63353(this, PageIndicator, arguments);
}
function value_63359() { // fn#63359, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:1040, offset: 0x01b7bf46, size: 232 bytes, params: 1, frame: 29
var r7;
var r17;
var push;
var jsxRuntimeEnv1_9Binding;
var LegacyText;
var inactiveIndicator;
var activeIndicator;
var value4;
const value2 = env1_11(this.context);
const {count, activeIndex, indicatorSpace, indicatorSize, pageIndicatorStyle} = this.props;
const items2 = [];
const value3 = 0;
if (value3 < count) {
r7 = value3;
while (true) {
push = items2.push;
jsxRuntimeEnv1_9Binding = jsxRuntimeEnv1_9;
LegacyText = (require(1305) /* metro dependency 1305: native */).LegacyText;
if (r7 === activeIndex) {
activeIndicator = value2.activeIndicator;
r17 = activeIndicator;
} else {
inactiveIndicator = value2.inactiveIndicator;
r17 = inactiveIndicator;
}
Reflect.apply(push, items2, [{'•'}]);
value4 = typeof r7 === 'bigint' ? r7 + 1n : +r7 + 1;
if (value4 < count) {
r7 = value4;
continue;
}
break;
}
}
return (
{items2}
);
}
function Carousel(a0) { // fn#63361, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:1495, offset: 0x01b7c072, size: 92 bytes, params: 2, frame: 18
let value = copyRestArgs(0, undefined);
env1_2(this, Carousel);
const _callSuper_63353Binding = _callSuper_63353;
const items = [];
arraySpread(items, value, 0, value);
value = _callSuper_63353Binding(this, Carousel, items);
value.state = {activeIndex: 0};
value.onAnimationEnd = onAnimationEnd;
return value;
}
function value_63363() { // fn#63363, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:1827, offset: 0x01b7c144, size: 320 bytes, params: 1, frame: 22
var environment;
let value = environment.__proto__;
const binding = env1_11;
const context = this.context;
const value2 = undefined;
const value3 = binding(context);
const pageIndicatorStyle = this.props.pageIndicatorStyle;
const length = this.props.children.length;
const r5 = this.props.pageIndictor === true && length > 1 ? ((Component) => )(env1_12) : value2;
const r8 = this.props.scrollViewProps ?? ({});
const items2 = [value3.container];
items2[1] = this.props.style;
const scrollViewBindingProps2 = {'automaticallyAdjustContentInsets': false, 'horizontal': true,
'pagingEnabled': true, 'scrollEnabled': null, 'nestedScrollEnabled': true,
'showsHorizontalScrollIndicator': false, scrollEnabled: length > 1, onMomentumScrollEnd: this.onAnimationEnd,
...r8};
value = {this.props.children};
value = {value};
return (
{value}
{r5}
);
}
function onAnimationEnd({nativeEvent}) { // fn#63362, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8117:1625, owner: Carousel.onAnimationEnd, offset: 0x01b7c0ce, size: 118 bytes, params: 2, frame: 14
const Math = global.Math;
const round = Math.round;
const x = nativeEvent.contentOffset.x;
const binding = env0_0;
const value2 = Reflect.apply(round, Math, [x / binding.props.width]);
binding.setState({activeIndex: value2});
if (binding.props.onPageChange != null) {
env0_0.props.onPageChange(value2);
}
}