/* Metro module 12055; source: design/components/Tabs/native/TabsGradient.native.tsx; dependencies: [31, 661, 33, 4017, 4589, 4501, 4577, 2] */ import ReanimatedRexport from '../../../../modules/reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import LinearGradient from '../../../../by-id/module-04589-LinearGradient.js'; /* Metro dependency 4589 */ import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */ import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */ import * as ReanimatedRexportModule from '../../../../modules/reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import * as CreateStylesModule from '../../Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as SpringModule from '../../../animation/reanimated/spring/spring.tsx'; /* Metro dependency 4577 */ 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_7 = (ReanimatedRexport).createAnimatedComponent(LinearGradient); const env0_8 = {'mass': 1, 'damping': 30, 'stiffness': 250}; const env0_9 = (CreateStylesModule).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;}'}; (FileImportTrackerModule).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 useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; const useGradientAnimatedStyleS2 = useGradientAnimatedStyleS; const object = {}; object.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring; object.visible = a0; object.SPRING_CONFIG = env0_8; useGradientAnimatedStyleS2.__closure = object; useGradientAnimatedStyleS2.__workletHash = 14959306962615; useGradientAnimatedStyleS2.__initData = env0_10; return Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [useGradientAnimatedStyleS2]); 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 object = {}; object.opacity = SpringModule.withSpring(env0_0.get() ? 1 : 0, env1_8); return object; } } 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 scrollOffset2 = scrollOffset; const itemDimensions = state.itemDimensions; const pageWidth = state.pageWidth; 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]); useDerivedValue = ReanimatedRexportModule.useDerivedValue; closure = TabsGradientY; closure.__closure = {scrollOffset: scrollOffset, totalItemWidth: value2, pageWidth: pageWidth}; closure.__workletHash = 13237586618288; closure.__initData = env0_12; const value3 = useGradientAnimatedStyle(Reflect.apply(useDerivedValue, ReanimatedRexportModule, [closure])); useDerivedValue = ReanimatedRexportModule.useDerivedValue; closure = TabsGradientW; closure.__closure = {scrollOffset: scrollOffset, totalItemWidth: value2, pageWidth: pageWidth}; closure.__workletHash = 13808489302165; closure.__initData = env0_13; const value4 = useGradientAnimatedStyle(Reflect.apply(useDerivedValue, ReanimatedRexportModule, [closure])); const styles = useStyles(); let binding = scrollOffset2; 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 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 && JsxRuntimeModule.Fragment.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() < JsxRuntimeModule.Fragment.get() - pageWidth && JsxRuntimeModule.Fragment.get() > pageWidth; } } } function _fun92598(a0, a1) { // fn#92598, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12241:1824, offset: 0x01c673f5, size: 40 bytes, params: 3, frame: 4 return a0 + (a1?.width ?? 0); } global.__d(_fun92593, 12055, [31, 661, 33, 4017, 4589, 4501, 4577, 2]) /* metro module 12055, dependencies: [31, 661, 33, 4017, 4589, 4501, 4577, 2] */;