/* Metro module 12055; source: design/components/Tabs/native/TabsGradient.native.tsx; dependencies: [31, 661, 33, 4017, 4589, 4501, 4577, 2] */ function _fun92593(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92593, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:6, offset: 0x02090d83, size: 378 bytes, params: 8, frame: 21 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_2 = importAll(31) /* metro dependency 31 */; const env0_3 = (require(661) /* metro dependency 661: Constants */).HorizontalGradient; const value = require(33) /* metro dependency 33 */; const env0_4 = value.jsx; const env0_5 = value.Fragment; const env0_6 = value.jsxs; const env0_7 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).createAnimatedComponent(importDefault(4589) /* metro dependency 4589 */); const env0_8 = {'mass': 1, 'damping': 30, 'stiffness': 250}; const env0_9 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({gradient: {'width': 50, 'position': 'absolute', 'top': 0, 'bottom': 0, 'zIndex': 100}, left: {left: 0}, right: {right: 0}}); object = {code: 'function TabsGradientNativeTsx1(){const{withSpring,visible,SPRING_CONFIG}=this.__closure;return{opacity:withSpring(visible.get()?1:0,SPRING_CONFIG)};}'}; object = {code: 'function TabsGradientNativeTsx2(){const{itemDimensions,state}=this.__closure;const items=itemDimensions.get();const itemWidths=items.reduce(function(s,layout){var _layout$width;return s+((_layout$width=layout===null||layout===void 0?void 0:layout.width)!==null&&_layout$width!==void 0?_layout$width:0);},0);const itemsSpacing=items.length*state.itemSpacing;return itemWidths+itemsSpacing;}'}; object = {code: 'function TabsGradientNativeTsx3(){const{scrollOffset,totalItemWidth,pageWidth}=this.__closure;return scrollOffset.get()>0&&totalItemWidth.get()>pageWidth;}'}; object = {code: 'function TabsGradientNativeTsx4(){const{scrollOffset,totalItemWidth,pageWidth}=this.__closure;return scrollOffset.get()pageWidth;}'}; (require(2) /* metro dependency 2 */).fileFinishedImporting('design/components/Tabs/native/TabsGradient.native.tsx'); exports.default = TabsGradient; } function useGradientAnimatedStyle(a0) { // fn#92594, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:538, offset: 0x02090efd, size: 123 bytes, params: 2, frame: 18 const env0_0 = a0; const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */; const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle; const closure = useGradientAnimatedStyleS; const object2 = {}; object2.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring; object2.visible = a0; object2.SPRING_CONFIG = env0_8; closure.__closure = object2; closure.__workletHash = 14959306962615; closure.__initData = env0_10; return Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]); } function TabsGradient({state, colors}) { // fn#92596, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:1650, offset: 0x02090fc0, size: 533 bytes, params: 2, frame: 25 const scrollOffset = state.scrollOffset; const env0_2 = scrollOffset; const itemDimensions = state.itemDimensions; const pageWidth = state.pageWidth; const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */; let useDerivedValue = reanimatedRexportModule.useDerivedValue; let closure = function() { var value2 = itemDimensions.get(); return value2.reduce(_fun92598, 0) + value2.length * state.itemSpacing; }; closure.__closure = {itemDimensions: itemDimensions, state: state}; closure.__workletHash = 456613763143; closure.__initData = env0_11; let value2 = Reflect.apply(useDerivedValue, reanimatedRexportModule, [closure]); const moduleValue2 = reanimatedRexportModule; useDerivedValue = moduleValue2.useDerivedValue; closure = TabsGradientY; closure.__closure = {scrollOffset: scrollOffset, totalItemWidth: value2, pageWidth: pageWidth}; closure.__workletHash = 13237586618288; closure.__initData = env0_12; const value3 = useGradientAnimatedStyle(Reflect.apply(useDerivedValue, moduleValue2, [closure])); const moduleValue3 = reanimatedRexportModule; useDerivedValue = moduleValue3.useDerivedValue; closure = TabsGradientW; closure.__closure = {scrollOffset: scrollOffset, totalItemWidth: value2, pageWidth: pageWidth}; closure.__workletHash = 13808489302165; closure.__initData = env0_13; const value4 = useGradientAnimatedStyle(Reflect.apply(useDerivedValue, moduleValue3, [closure])); const styles = useStyles(); let binding = env0_2; const value5 = binding.useMemo(function() { var r2; var colorsBinding = colors; var items = []; arraySpread(items, colorsBinding, 0, r2); return items.reverse(); }, [colors]); const jsxRuntimeEnv0_5Binding = jsxRuntimeEnv0_5; binding = env0_7; let START = HorizontalGradient.START; let END = HorizontalGradient.END; const binding2 = ((Component) => )(binding); START = HorizontalGradient.START; END = HorizontalGradient.END; return ( <> {binding2} {((Component) => )(binding)} ); } function useGradientAnimatedStyleS() { // fn#92595, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:611, owner: useGradientAnimatedStyle.s, offset: 0x02090f78, size: 72 bytes, params: 1, frame: 15 const object2 = {}; const springModule = require(4577) /* metro dependency 4577: spring */; object2.opacity = springModule.withSpring(env0_0.get() ? 1 : 0, env1_8); return object2; } function TabsGradientF() { // fn#92597, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:1782, owner: TabsGradient.f, offset: 0x020911d5, size: 64 bytes, params: 1, frame: 14 const value2 = itemDimensions.get(); return value2.reduce(function(a0, a1) { return a0 + (a1?.width ?? 0); }, 0) + value2.length * state.itemSpacing; } function TabsGradientY() { // fn#92599, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:2056, owner: TabsGradient.y, offset: 0x02091215, size: 48 bytes, params: 1, frame: 11 return scrollOffset.get() > 0 && env0_5.get() > pageWidth; } function TabsGradientW() { // fn#92600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:2243, owner: TabsGradient.W, offset: 0x02091245, size: 67 bytes, params: 1, frame: 11 return scrollOffset.get() < env0_5.get() - pageWidth && env0_5.get() > pageWidth; }