Files
discord-decomp/sources/by-id/module-01839.jsx
T
2026-07-27 16:20:00 +03:00

640 lines
36 KiB
React

/* Metro module 1839; source: unknown; dependencies: [1610, 1821, 1804, 1840] */
function _fun19954(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#19954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1966:6, offset: 0x00eb9fb4, size: 137 bytes, params: 8, frame: 16
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object = {code: 'function pnpm_indexTs1(effective,totalPaddingForMaxScroll){const{size,layout,scroll,scrollTo,scrollViewRef}=this.__closure;const paddingForMax=totalPaddingForMaxScroll!==undefined?totalPaddingForMaxScroll:effective;const maxScroll=Math.max(size.value.height-layout.value.height+paddingForMax,0);if(scroll.value>maxScroll){scrollTo(scrollViewRef,0,maxScroll,false);}}'};
object = {code: 'function pnpm_indexTs2(e){const{freeze,targetKeyboardHeight,closing,getEffectiveHeight,offset,isScrollAtEnd,scroll,layout,size,inverted,getVisibleMinimumPaddingFraction,blankSpace,getMinimumPaddingAbsorbed,extraContentPadding,getScrollEffective,minimumPaddingFractionOnOpen,padding,offsetBeforeScroll,keyboardLiftBehavior,actualOpenShift}=this.__closure;if(freeze.value){return;}if(e.height>0){targetKeyboardHeight.value=e.height;closing.value=false;}else{closing.value=true;}const effective=getEffectiveHeight(e.height,targetKeyboardHeight.value,offset);const atEnd=isScrollAtEnd(scroll.value,layout.value.height,size.value.height,inverted);const visibleFraction=getVisibleMinimumPaddingFraction(scroll.value,layout.value.height,size.value.height,blankSpace.value,inverted);const minimumPaddingAbsorbed=visibleFraction>=1?getMinimumPaddingAbsorbed(blankSpace.value,extraContentPadding.value):0;const scrollEffective=getScrollEffective(effective,minimumPaddingAbsorbed);if(inverted&&e.duration===-1){return;}else if(e.height>0){minimumPaddingFractionOnOpen.value=visibleFraction>=1?1:0;padding.value=effective;offsetBeforeScroll.value=scroll.value;if(!inverted&&keyboardLiftBehavior==="whenAtEnd"&&!atEnd){offsetBeforeScroll.value=-1;}else if(!inverted&&scrollEffective===0){offsetBeforeScroll.value=-1;}else if(inverted&&scrollEffective===0){offsetBeforeScroll.value=scroll.value;}}else{if(inverted){offsetBeforeScroll.value=scroll.value;}else{if(offsetBeforeScroll.value!==-1){offsetBeforeScroll.value=scroll.value-actualOpenShift.value;}}}}'};
object = {code: 'function pnpm_indexTs3(e){const{freeze,currentHeight,inverted,getEffectiveHeight,targetKeyboardHeight,offset,getMinimumPaddingAbsorbed,blankSpace,extraContentPadding,minimumPaddingFractionOnOpen,getScrollEffective,isScrollAtEnd,offsetBeforeScroll,layout,size,keyboardLiftBehavior,padding,scrollTo,scrollViewRef,shouldShiftContent,closing,clampScrollIfNeeded,scroll,clampedScrollTarget,actualOpenShift}=this.__closure;if(freeze.value){return;}currentHeight.value=e.height;if(inverted){if(e.duration===-1){return;}const effective=getEffectiveHeight(e.height,targetKeyboardHeight.value,offset);const minimumPaddingAbsorbed=getMinimumPaddingAbsorbed(blankSpace.value,extraContentPadding.value)*minimumPaddingFractionOnOpen.value;const scrollEffective=getScrollEffective(effective,minimumPaddingAbsorbed);const actualTotalPadding=Math.max(blankSpace.value,effective+extraContentPadding.value);const wasAtEnd=isScrollAtEnd(offsetBeforeScroll.value,layout.value.height,size.value.height,inverted);if(keyboardLiftBehavior==="never"&&wasAtEnd&&effective<padding.value){padding.value=effective;if(scrollEffective===0&&minimumPaddingAbsorbed>0){return;}scrollTo(scrollViewRef,0,0,false);return;}if(!shouldShiftContent(keyboardLiftBehavior,wasAtEnd)){if(closing.value&&effective<padding.value){padding.value=effective;clampScrollIfNeeded(effective,actualTotalPadding);}return;}if(scrollEffective===0&&minimumPaddingAbsorbed>0){return;}if(keyboardLiftBehavior==="persistent"){const currentShift=offsetBeforeScroll.value+padding.value-scroll.value;if(effective<currentShift){if(wasAtEnd){padding.value=effective;scrollTo(scrollViewRef,0,0,false);}else if(closing.value){padding.value=effective;clampScrollIfNeeded(effective,actualTotalPadding);}return;}}const target=offsetBeforeScroll.value+padding.value-scrollEffective;scrollTo(scrollViewRef,0,target,false);}else{const effective=getEffectiveHeight(e.height,targetKeyboardHeight.value,offset);const minimumPaddingAbsorbed=getMinimumPaddingAbsorbed(blankSpace.value,extraContentPadding.value)*minimumPaddingFractionOnOpen.value;const scrollEffective=getScrollEffective(effective,minimumPaddingAbsorbed);const actualTotalPadding=Math.max(blankSpace.value,effective+extraContentPadding.value);if(keyboardLiftBehavior==="never"&&closing.value&&effective<padding.value){clampScrollIfNeeded(effective,actualTotalPadding);return;}if(!shouldShiftContent(keyboardLiftBehavior,true)){return;}if(offsetBeforeScroll.value===-1){if(closing.value){clampScrollIfNeeded(effective,actualTotalPadding);}return;}if(keyboardLiftBehavior==="persistent"&&closing.value){const keepAt=offsetBeforeScroll.value+padding.value;const maxScroll=Math.max(size.value.height-layout.value.height+actualTotalPadding,0);scrollTo(scrollViewRef,0,Math.min(keepAt,maxScroll),false);return;}const target=clampedScrollTarget(offsetBeforeScroll.value,scrollEffective,size.value.height,layout.value.height,actualTotalPadding);scrollTo(scrollViewRef,0,target,false);if(!closing.value){actualOpenShift.value=target-offsetBeforeScroll.value;}}}'};
object = {code: 'function pnpm_indexTs4(e){const{freeze,getEffectiveHeight,targetKeyboardHeight,offset,padding,offsetBeforeScroll,actualOpenShift,scroll}=this.__closure;if(freeze.value){return;}const effective=getEffectiveHeight(e.height,targetKeyboardHeight.value,offset);padding.value=effective;if(effective>0&&offsetBeforeScroll.value!==-1){actualOpenShift.value=scroll.value-offsetBeforeScroll.value;}}'};
exports.useChatKeyboard = useChatKeyboard;
}
function useChatKeyboard(a0, {inverted, keyboardLiftBehavior, freeze, offset, blankSpace, extraContentPadding}) { // fn#19955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1966:5501, offset: 0x00eba03d, size: 1077 bytes, params: 3, frame: 42
const env0_0 = a0;
const env0_3 = freeze;
const env0_4 = offset;
const env0_5 = blankSpace;
const env0_6 = extraContentPadding;
const value2 = (require(1610) /* metro dependency 1610 */).useSharedValue(0);
const value3 = (require(1610) /* metro dependency 1610 */).useSharedValue(0);
const value4 = (require(1610) /* metro dependency 1610 */).useSharedValue(0);
const value5 = (require(1610) /* metro dependency 1610 */).useSharedValue(0);
const value6 = (require(1610) /* metro dependency 1610 */).useSharedValue(false);
const value7 = (require(1610) /* metro dependency 1610 */).useSharedValue(0);
const value8 = (require(1610) /* metro dependency 1610 */).useSharedValue(0);
const value9 = (importDefault(1821) /* metro dependency 1821 */)(a0);
const layout = value9.layout;
const size = value9.size;
const offset2 = value9.offset;
const onLayout = value9.onLayout;
const onContentSizeChange = value9.onContentSizeChange;
let closure = clampScrollIfNeeded;
let object4 = {size: size, layout: layout, scroll: offset2};
const scrollTo = (require(1610) /* metro dependency 1610 */).scrollTo;
object4.scrollTo = scrollTo;
object4.scrollViewRef = a0;
closure.__closure = object4;
closure.__workletHash = 2908292579657;
closure.__initData = env0_3;
const moduleValue8 = require(1804) /* metro dependency 1804 */;
const useKeyboardHandler = moduleValue8.useKeyboardHandler;
object4 = {};
const closure2 = onStart_19957;
const object5 = {freeze: freeze, targetKeyboardHeight: value5, closing: value6};
const getEffectiveHeight = (require(1840) /* metro dependency 1840 */).getEffectiveHeight;
object5.getEffectiveHeight = getEffectiveHeight;
object5.offset = offset;
const isScrollAtEnd = (require(1840) /* metro dependency 1840 */).isScrollAtEnd;
object5.isScrollAtEnd = isScrollAtEnd;
object5.scroll = offset2;
object5.layout = layout;
object5.size = size;
object5.inverted = inverted;
const getVisibleMinimumPaddingFraction = (require(1840) /* metro dependency 1840 */).getVisibleMinimumPaddingFraction;
object5.getVisibleMinimumPaddingFraction = getVisibleMinimumPaddingFraction;
object5.blankSpace = blankSpace;
const getMinimumPaddingAbsorbed = (require(1840) /* metro dependency 1840 */).getMinimumPaddingAbsorbed;
object5.getMinimumPaddingAbsorbed = getMinimumPaddingAbsorbed;
object5.extraContentPadding = extraContentPadding;
const getScrollEffective = (require(1840) /* metro dependency 1840 */).getScrollEffective;
object5.getScrollEffective = getScrollEffective;
object5.minimumPaddingFractionOnOpen = value7;
object5.padding = value2;
object5.offsetBeforeScroll = value4;
object5.keyboardLiftBehavior = keyboardLiftBehavior;
object5.actualOpenShift = value8;
closure2.__closure = object5;
closure2.__workletHash = 16814590881167;
closure2.__initData = env0_4;
object4.onStart = closure2;
const closure3 = onMove_19958;
const object6 = {freeze: freeze, currentHeight: value3, inverted: inverted};
object6.getEffectiveHeight = getEffectiveHeight;
object6.targetKeyboardHeight = value5;
object6.offset = offset;
object6.getMinimumPaddingAbsorbed = getMinimumPaddingAbsorbed;
object6.blankSpace = blankSpace;
object6.extraContentPadding = extraContentPadding;
object6.minimumPaddingFractionOnOpen = value7;
object6.getScrollEffective = getScrollEffective;
object6.isScrollAtEnd = isScrollAtEnd;
object6.offsetBeforeScroll = value4;
object6.layout = layout;
object6.size = size;
object6.keyboardLiftBehavior = keyboardLiftBehavior;
object6.padding = value2;
object6.scrollTo = scrollTo;
object6.scrollViewRef = a0;
object6.shouldShiftContent = (require(1840) /* metro dependency 1840 */).shouldShiftContent;
object6.closing = value6;
object6.clampScrollIfNeeded = closure;
object6.scroll = offset2;
object6.clampedScrollTarget = (require(1840) /* metro dependency 1840 */).clampedScrollTarget;
object6.actualOpenShift = value8;
closure3.__closure = object6;
closure3.__workletHash = 6317221970795;
closure3.__initData = env0_5;
object4.onMove = closure3;
closure = onEnd_19959;
closure.__closure = {freeze: freeze, getEffectiveHeight: getEffectiveHeight, targetKeyboardHeight: value5,
offset: offset, padding: value2, offsetBeforeScroll: value4, actualOpenShift: value8, scroll: offset2};
closure.__workletHash = 1904796451086;
closure.__initData = env0_6;
object4.onEnd = closure;
Reflect.apply(useKeyboardHandler, moduleValue8, [object4, [inverted, keyboardLiftBehavior, offset]]);
return {padding: value2, currentHeight: value3, contentOffsetY: undefined, scroll: offset2, layout: layout,
size: size, onLayout: onLayout, onContentSizeChange: onContentSizeChange};
}
function clampScrollIfNeeded(a0, a1) { // fn#19956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1966:5926, owner: useChatKeyboard.clampScrollIfNeeded, offset: 0x00eba472, size: 134 bytes, params: 3, frame: 18
var value7;
const value = a0;
const value2 = a1;
const r5 = value2 === undefined ? value : value2;
const Math = global.Math;
const value5 = Math.max(size.value.height - layout.value.height + r5, 0);
if (offset.value > value5) {
value7 = environment.__proto__;
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, value5, false);
}
}
function useChatKeyboardOnStart(a0) { // fn#19957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1966:6234, owner: useChatKeyboard.onStart, offset: 0x00eba4f8, size: 606 bytes, params: 2, frame: 30
var r9;
var height;
var value3;
var binding;
var value4;
var moduleValue;
var getEffectiveHeight;
var offsetBinding;
var value6;
var moduleValue2;
var isScrollAtEnd;
var value7;
var layoutBinding;
var sizeBinding;
var height2;
var invertedBinding;
var isScrollAtEnd2;
var moduleValue3;
var getVisibleMinimumPaddingFraction;
var value10;
var value14;
var value15;
var moduleValue4;
var scrollEffective;
if (!freeze.value) {
height = a0.height;
value3 = 0;
if (height > value3) {
env0_10.value = a0.height;
env0_11.value = false;
} else {
env0_11.value = true;
}
value4 = environment.__proto__;
moduleValue = require(1840) /* metro dependency 1840 */;
getEffectiveHeight = moduleValue.getEffectiveHeight;
height = a0.height;
value6 = Reflect.apply(getEffectiveHeight, moduleValue, [height, env0_10.value, offset]);
moduleValue2 = require(1840) /* metro dependency 1840 */;
isScrollAtEnd = moduleValue2.isScrollAtEnd;
offsetBinding = offset;
value7 = offsetBinding.value;
layoutBinding = layout;
height = layoutBinding.value.height;
sizeBinding = size;
height2 = sizeBinding.value.height;
invertedBinding = inverted;
isScrollAtEnd2 = Reflect.apply(isScrollAtEnd, moduleValue2, [value7, height, height2, invertedBinding]);
moduleValue3 = require(1840) /* metro dependency 1840 */;
getVisibleMinimumPaddingFraction = moduleValue3.getVisibleMinimumPaddingFraction;
value10 = offsetBinding.value;
height = layoutBinding.value.height;
value14 = Reflect.apply(getVisibleMinimumPaddingFraction, moduleValue3, [value10, height,
sizeBinding.value.height,
blankSpace.value, invertedBinding]);
value15 = 1;
if (value14 >= value15) {
moduleValue4 = require(1840) /* metro dependency 1840 */;
r9 = moduleValue4.getMinimumPaddingAbsorbed(blankSpace.value, extraContentPadding.value);
} else {
r9 = value3;
}
scrollEffective = (require(1840) /* metro dependency 1840 */).getScrollEffective(value6, r9);
invertedBinding = inverted;
if (!(invertedBinding && a0.duration === -1)) {
if (a0.height > value3) {
binding = env0_12;
binding.value = value14 >= value15 ? value15 : value3;
env0_7.value = value6;
binding = env0_9;
binding.value = offset.value;
if (inverted) {
if (inverted) {
if (inverted && value3 === scrollEffective) {
env0_9.value = offset.value;
}
} else if (value3 !== scrollEffective) {
if (inverted && value3 === scrollEffective) {
env0_9.value = offset.value;
}
} else {
env0_9.value = -1;
}
} else if (keyboardLiftBehavior !== 'whenAtEnd') {
if (inverted) {
if (inverted && value3 === scrollEffective) {
env0_9.value = offset.value;
}
} else if (value3 !== scrollEffective) {
if (inverted && value3 === scrollEffective) {
env0_9.value = offset.value;
}
} else {
env0_9.value = -1;
}
} else if (isScrollAtEnd2) {
if (inverted) {
if (inverted && value3 === scrollEffective) {
env0_9.value = offset.value;
}
} else if (value3 !== scrollEffective) {
if (inverted && value3 === scrollEffective) {
env0_9.value = offset.value;
}
} else {
env0_9.value = -1;
}
} else {
env0_9.value = -1;
}
} else {
invertedBinding = inverted;
binding = env0_9;
if (invertedBinding) {
binding.value = offset.value;
} else if (binding.value !== -1) {
env0_9.value = offset.value - env0_13.value;
}
}
}
}
}
function useChatKeyboardOnMove(a0) { // fn#19958, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1966:7400, owner: useChatKeyboard.onMove, offset: 0x00eba756, size: 1341 bytes, params: 2, frame: 27
var getEffectiveHeight;
var getMinimumPaddingAbsorbed;
var blankSpaceBinding;
var extraContentPaddingBinding;
var Math;
var moduleValue4;
var moduleValue5;
var value22;
var scrollTo;
var value26;
var value29;
var moduleValue7;
var value31;
var moduleValue8;
var value33;
var moduleValue9;
var value34;
var value38;
var scrollEffective;
var value42;
var moduleValue11;
var isScrollAtEnd;
var value43;
var isScrollAtEnd2;
var moduleValue12;
if (!freeze.value) {
var binding = env0_8;
var height = a0.height;
binding.value = height;
if (inverted) {
if (a0.duration === -1) {
return undefined;
}
value31 = environment.__proto__;
moduleValue8 = require(1840) /* metro dependency 1840 */;
getEffectiveHeight = moduleValue8.getEffectiveHeight;
height = a0.height;
value33 = Reflect.apply(getEffectiveHeight, moduleValue8, [height, env0_10.value, offset]);
moduleValue9 = require(1840) /* metro dependency 1840 */;
getMinimumPaddingAbsorbed = moduleValue9.getMinimumPaddingAbsorbed;
blankSpaceBinding = blankSpace;
value34 = blankSpaceBinding.value;
extraContentPaddingBinding = extraContentPadding;
value38 = Reflect.apply(getMinimumPaddingAbsorbed, moduleValue9, [value34,
extraContentPaddingBinding.value]) * env0_12.value;
scrollEffective = (require(1840) /* metro dependency 1840 */).getScrollEffective(value33, value38);
Math = global.Math;
value42 = Math.max(blankSpaceBinding.value, value33 + extraContentPaddingBinding.value);
moduleValue11 = require(1840) /* metro dependency 1840 */;
isScrollAtEnd = moduleValue11.isScrollAtEnd;
value43 = env0_9.value;
height = layout.value.height;
isScrollAtEnd2 = Reflect.apply(isScrollAtEnd, moduleValue11, [value43, height, size.value.height,
inverted]);
if (keyboardLiftBehavior !== 'never') {
moduleValue12 = require(1840) /* metro dependency 1840 */;
if (moduleValue12.shouldShiftContent(keyboardLiftBehavior, isScrollAtEnd2)) {
if (scrollEffective !== 0) {
if (keyboardLiftBehavior !== 'persistent') {
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value33 < env0_9.value + env0_7.value - offset.value) {
if (isScrollAtEnd2) {
env0_7.value = value33;
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
} else if (env0_11.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value38 > 0) {
return undefined;
}
if (keyboardLiftBehavior !== 'persistent') {
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value33 < env0_9.value + env0_7.value - offset.value) {
if (isScrollAtEnd2) {
env0_7.value = value33;
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
} else if (env0_11.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (env0_11.value && value33 < env0_7.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
if (isScrollAtEnd2) {
if (value33 < env0_7.value) {
env0_7.value = value33;
if (scrollEffective !== 0) {
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
return undefined;
}
if (value38 > 0) {
return undefined;
}
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
return undefined;
}
moduleValue12 = require(1840) /* metro dependency 1840 */;
if (moduleValue12.shouldShiftContent(keyboardLiftBehavior, isScrollAtEnd2)) {
if (scrollEffective !== 0) {
if (keyboardLiftBehavior !== 'persistent') {
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value33 < env0_9.value + env0_7.value - offset.value) {
if (isScrollAtEnd2) {
env0_7.value = value33;
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
} else if (env0_11.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value38 > 0) {
return undefined;
}
if (keyboardLiftBehavior !== 'persistent') {
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value33 < env0_9.value + env0_7.value - offset.value) {
if (isScrollAtEnd2) {
env0_7.value = value33;
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
} else if (env0_11.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (env0_11.value && value33 < env0_7.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
moduleValue12 = require(1840) /* metro dependency 1840 */;
if (moduleValue12.shouldShiftContent(keyboardLiftBehavior, isScrollAtEnd2)) {
if (scrollEffective !== 0) {
if (keyboardLiftBehavior !== 'persistent') {
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value33 < env0_9.value + env0_7.value - offset.value) {
if (isScrollAtEnd2) {
env0_7.value = value33;
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
} else if (env0_11.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value38 > 0) {
return undefined;
}
if (keyboardLiftBehavior !== 'persistent') {
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (value33 < env0_9.value + env0_7.value - offset.value) {
if (isScrollAtEnd2) {
env0_7.value = value33;
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, 0, false);
} else if (env0_11.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0,
env0_9.value + env0_7.value - scrollEffective,
false);
return undefined;
}
if (env0_11.value && value33 < env0_7.value) {
env0_7.value = value33;
clampScrollIfNeeded(value33, value42);
}
return undefined;
}
var moduleValue = require(1840) /* metro dependency 1840 */;
getEffectiveHeight = moduleValue.getEffectiveHeight;
height = a0.height;
var value5 = Reflect.apply(getEffectiveHeight, moduleValue, [height, env0_10.value, offset]);
var moduleValue2 = require(1840) /* metro dependency 1840 */;
getMinimumPaddingAbsorbed = moduleValue2.getMinimumPaddingAbsorbed;
blankSpaceBinding = blankSpace;
var value6 = blankSpaceBinding.value;
extraContentPaddingBinding = extraContentPadding;
var scrollEffective2 = (require(1840) /* metro dependency 1840 */).getScrollEffective(value5,
Reflect.apply(getMinimumPaddingAbsorbed, moduleValue2, [value6,
extraContentPaddingBinding.value]) * env0_12.value);
Math = global.Math;
var value14 = Math.max(blankSpaceBinding.value, value5 + extraContentPaddingBinding.value);
if (keyboardLiftBehavior !== 'never') {
moduleValue4 = require(1840) /* metro dependency 1840 */;
if (moduleValue4.shouldShiftContent(keyboardLiftBehavior, true)) {
if (env0_9.value === -1) {
if (env0_11.value) {
clampScrollIfNeeded(value5, value14);
}
return undefined;
}
if (keyboardLiftBehavior !== 'persistent') {
moduleValue5 = require(1840) /* metro dependency 1840 */;
value22 = moduleValue5.clampedScrollTarget(env0_9.value, scrollEffective2, size.value.height,
layout.value.height,
value14);
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, value22, false);
if (!env0_11.value) {
env0_13.value = value22 - env0_9.value;
}
return undefined;
}
if (env0_11.value) {
value26 = env0_9.value + env0_7.value;
Math = global.Math;
value29 = Math.max(size.value.height - layout.value.height + value14, 0);
moduleValue7 = require(1610) /* metro dependency 1610 */;
scrollTo = moduleValue7.scrollTo;
binding = env0_0;
Math = global.Math;
Reflect.apply(scrollTo, moduleValue7, [binding, 0, Math.min(value26, value29), false]);
return undefined;
}
moduleValue5 = require(1840) /* metro dependency 1840 */;
value22 = moduleValue5.clampedScrollTarget(env0_9.value, scrollEffective2, size.value.height,
layout.value.height,
value14);
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, value22, false);
if (!env0_11.value) {
env0_13.value = value22 - env0_9.value;
}
return undefined;
}
return undefined;
}
if (env0_11.value) {
if (value5 < env0_7.value) {
clampScrollIfNeeded(value5, value14);
return undefined;
}
moduleValue4 = require(1840) /* metro dependency 1840 */;
if (moduleValue4.shouldShiftContent(keyboardLiftBehavior, true)) {
if (env0_9.value === -1) {
if (env0_11.value) {
clampScrollIfNeeded(value5, value14);
}
return undefined;
}
if (keyboardLiftBehavior !== 'persistent') {
moduleValue5 = require(1840) /* metro dependency 1840 */;
value22 = moduleValue5.clampedScrollTarget(env0_9.value, scrollEffective2, size.value.height,
layout.value.height,
value14);
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, value22, false);
if (!env0_11.value) {
env0_13.value = value22 - env0_9.value;
}
return undefined;
}
if (env0_11.value) {
value26 = env0_9.value + env0_7.value;
Math = global.Math;
value29 = Math.max(size.value.height - layout.value.height + value14, 0);
moduleValue7 = require(1610) /* metro dependency 1610 */;
scrollTo = moduleValue7.scrollTo;
binding = env0_0;
Math = global.Math;
Reflect.apply(scrollTo, moduleValue7, [binding, 0, Math.min(value26, value29), false]);
return undefined;
}
moduleValue5 = require(1840) /* metro dependency 1840 */;
value22 = moduleValue5.clampedScrollTarget(env0_9.value, scrollEffective2, size.value.height,
layout.value.height,
value14);
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, value22, false);
if (!env0_11.value) {
env0_13.value = value22 - env0_9.value;
}
return undefined;
}
return undefined;
}
moduleValue4 = require(1840) /* metro dependency 1840 */;
if (moduleValue4.shouldShiftContent(keyboardLiftBehavior, true)) {
if (env0_9.value === -1) {
if (env0_11.value) {
clampScrollIfNeeded(value5, value14);
}
return undefined;
}
if (keyboardLiftBehavior !== 'persistent') {
moduleValue5 = require(1840) /* metro dependency 1840 */;
value22 = moduleValue5.clampedScrollTarget(env0_9.value, scrollEffective2, size.value.height,
layout.value.height,
value14);
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, value22, false);
if (!env0_11.value) {
env0_13.value = value22 - env0_9.value;
}
return undefined;
}
if (env0_11.value) {
value26 = env0_9.value + env0_7.value;
Math = global.Math;
value29 = Math.max(size.value.height - layout.value.height + value14, 0);
moduleValue7 = require(1610) /* metro dependency 1610 */;
scrollTo = moduleValue7.scrollTo;
binding = env0_0;
Math = global.Math;
Reflect.apply(scrollTo, moduleValue7, [binding, 0, Math.min(value26, value29), false]);
return undefined;
}
moduleValue5 = require(1840) /* metro dependency 1840 */;
value22 = moduleValue5.clampedScrollTarget(env0_9.value, scrollEffective2, size.value.height,
layout.value.height,
value14);
(require(1610) /* metro dependency 1610 */).scrollTo(env0_0, 0, value22, false);
if (!env0_11.value) {
env0_13.value = value22 - env0_9.value;
}
return undefined;
}
}
}
function useChatKeyboardOnEnd(a0) { // fn#19959, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1966:9387, owner: useChatKeyboard.onEnd, offset: 0x00ebac93, size: 154 bytes, params: 2, frame: 16
var value3;
var moduleValue;
var value5;
if (!freeze.value) {
value3 = environment.__proto__;
moduleValue = require(1840) /* metro dependency 1840 */;
value5 = moduleValue.getEffectiveHeight(a0.height, env0_10.value, offset);
env0_7.value = value5;
if (value5 > 0 && env0_9.value !== -1) {
env0_13.value = offset.value - env0_9.value;
}
}
}