@wavemaker/app-rn-runtime 11.14.1-26.647686 → 11.14.1-29.647719

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/components/advanced/carousel/carousel.component.js +1 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.component.js +33 -240
  4. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  5. package/components/basic/bottomsheet/bottomsheet.styles.js +3 -0
  6. package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
  7. package/components/basic/label/label.component.js +22 -11
  8. package/components/basic/label/label.component.js.map +1 -1
  9. package/components/basic/label/label.props.js +0 -1
  10. package/components/basic/label/label.props.js.map +1 -1
  11. package/components/basic/progress-circle/progress-circle.component.js +3 -3
  12. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  13. package/components/chart/area-chart/area-chart.component.js +10 -27
  14. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  15. package/components/chart/bar-chart/bar-chart.component.js +7 -39
  16. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  17. package/components/chart/bar-chart/bar-chart.props.js +0 -1
  18. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  19. package/components/chart/basechart.component.js +15 -8
  20. package/components/chart/basechart.component.js.map +1 -1
  21. package/components/chart/basechart.props.js +0 -1
  22. package/components/chart/basechart.props.js.map +1 -1
  23. package/components/chart/bubble-chart/bubble-chart.component.js +6 -23
  24. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  25. package/components/chart/line-chart/line-chart.component.js +5 -22
  26. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  27. package/components/chart/pie-chart/pie-chart.component.js +4 -15
  28. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  29. package/components/chart/stack-chart/stack-chart.component.js +1 -1
  30. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  31. package/components/container/accordion/accordionpane/accordionpane.component.js +4 -6
  32. package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  33. package/components/container/container.component.js +14 -207
  34. package/components/container/container.component.js.map +1 -1
  35. package/components/container/container.props.js +0 -6
  36. package/components/container/container.props.js.map +1 -1
  37. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +4 -32
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +0 -1
  40. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
  41. package/components/container/panel/panel.component.js +1 -1
  42. package/components/container/panel/panel.component.js.map +1 -1
  43. package/components/container/tabs/tabpane/tabpane.component.js +1 -1
  44. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  45. package/components/container/tabs/tabs.component.js +29 -62
  46. package/components/container/tabs/tabs.component.js.map +1 -1
  47. package/components/container/tabs/tabs.props.js +0 -1
  48. package/components/container/tabs/tabs.props.js.map +1 -1
  49. package/components/container/wizard/wizard.component.js +5 -3
  50. package/components/container/wizard/wizard.component.js.map +1 -1
  51. package/components/container/wizard/wizard.props.js +1 -0
  52. package/components/container/wizard/wizard.props.js.map +1 -1
  53. package/components/container/wizard/wizard.styles.js +1 -3
  54. package/components/container/wizard/wizard.styles.js.map +1 -1
  55. package/components/container/wizard/wizardstep/wizardstep.component.js +23 -4
  56. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  57. package/components/container/wizard/wizardstep/wizardstep.props.js +2 -0
  58. package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  59. package/components/data/form/form-field/form-field.component.js +0 -20
  60. package/components/data/form/form-field/form-field.component.js.map +1 -1
  61. package/components/data/form/form-field/form-field.props.js +0 -3
  62. package/components/data/form/form-field/form-field.props.js.map +1 -1
  63. package/components/data/form/form.component.js +3 -11
  64. package/components/data/form/form.component.js.map +1 -1
  65. package/components/data/form/form.props.js +0 -1
  66. package/components/data/form/form.props.js.map +1 -1
  67. package/components/data/list/list.component.js +1 -1
  68. package/components/data/list/list.component.js.map +1 -1
  69. package/components/dialogs/dialogcontent/dialogcontent.component.js +2 -1
  70. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  71. package/components/input/baseinput/baseinput.component.js +3 -30
  72. package/components/input/baseinput/baseinput.component.js.map +1 -1
  73. package/components/input/baseinput/baseinput.props.js +0 -1
  74. package/components/input/baseinput/baseinput.props.js.map +1 -1
  75. package/components/input/basenumber/basenumber.component.js +3 -18
  76. package/components/input/basenumber/basenumber.component.js.map +1 -1
  77. package/components/input/basenumber/basenumber.props.js +0 -2
  78. package/components/input/basenumber/basenumber.props.js.map +1 -1
  79. package/components/input/calendar/calendar.component.js +1 -5
  80. package/components/input/calendar/calendar.component.js.map +1 -1
  81. package/components/input/calendar/views/month-view.js +1 -8
  82. package/components/input/calendar/views/month-view.js.map +1 -1
  83. package/components/input/checkboxset/checkboxset.component.js +2 -2
  84. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  85. package/components/input/currency/currency.component.js +0 -2
  86. package/components/input/currency/currency.component.js.map +1 -1
  87. package/components/input/currency/currency.styles.js +1 -10
  88. package/components/input/currency/currency.styles.js.map +1 -1
  89. package/components/input/number/number.component.js +0 -2
  90. package/components/input/number/number.component.js.map +1 -1
  91. package/components/input/number/number.styles.js +0 -4
  92. package/components/input/number/number.styles.js.map +1 -1
  93. package/components/input/radioset/radioset.component.js +6 -4
  94. package/components/input/radioset/radioset.component.js.map +1 -1
  95. package/components/input/text/text.component.js +2 -13
  96. package/components/input/text/text.component.js.map +1 -1
  97. package/components/input/text/text.props.js +1 -1
  98. package/components/input/text/text.props.js.map +1 -1
  99. package/components/input/text/text.styles.js +0 -17
  100. package/components/input/text/text.styles.js.map +1 -1
  101. package/components/input/textarea/textarea.component.js +2 -3
  102. package/components/input/textarea/textarea.component.js.map +1 -1
  103. package/components/input/textarea/textarea.styles.js +0 -4
  104. package/components/input/textarea/textarea.styles.js.map +1 -1
  105. package/components/page/left-panel/left-panel.component.js +1 -1
  106. package/components/page/left-panel/left-panel.component.js.map +1 -1
  107. package/core/AppConfig.js.map +1 -1
  108. package/core/advanced-promise-rejection-tracker.js +207 -0
  109. package/core/advanced-promise-rejection-tracker.js.map +1 -0
  110. package/core/base.component.js +5 -23
  111. package/core/base.component.js.map +1 -1
  112. package/core/components/error-fallback/error-fallback.component.js +50 -18
  113. package/core/components/error-fallback/error-fallback.component.js.map +1 -1
  114. package/core/components/error-fallback/error-fallback.styles.js +4 -1
  115. package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
  116. package/core/components/textinput.component.js +8 -27
  117. package/core/components/textinput.component.js.map +1 -1
  118. package/core/error-boundary.component.js +46 -2
  119. package/core/error-boundary.component.js.map +1 -1
  120. package/core/fixed-view.component.js +2 -19
  121. package/core/fixed-view.component.js.map +1 -1
  122. package/core/global-error-handler.service.js +177 -0
  123. package/core/global-error-handler.service.js.map +1 -0
  124. package/core/tappable.component.js +16 -110
  125. package/core/tappable.component.js.map +1 -1
  126. package/core/viewport.js +8 -13
  127. package/core/viewport.js.map +1 -1
  128. package/gestures/carousel-swipe.animation.js +1 -0
  129. package/gestures/carousel-swipe.animation.js.map +1 -1
  130. package/npm-shrinkwrap.json +396 -383
  131. package/package-lock.json +396 -383
  132. package/package.json +2 -2
  133. package/runtime/App.js +174 -13
  134. package/runtime/App.js.map +1 -1
  135. package/runtime/base-fragment.component.js +5 -28
  136. package/runtime/base-fragment.component.js.map +1 -1
  137. package/runtime/base-page.component.js +12 -4
  138. package/runtime/base-page.component.js.map +1 -1
  139. package/runtime/navigator/drawer.navigator.js +0 -2
  140. package/runtime/navigator/drawer.navigator.js.map +1 -1
  141. package/runtime/navigator/stack.navigator.js +4 -13
  142. package/runtime/navigator/stack.navigator.js.map +1 -1
  143. package/runtime/services/device/scan-service.js +34 -12
  144. package/runtime/services/device/scan-service.js.map +1 -1
  145. package/styles/theme.js +2 -27
  146. package/styles/theme.js.map +1 -1
  147. package/styles/theme.variables.js +0 -2
  148. package/styles/theme.variables.js.map +1 -1
  149. package/core/environment.js +0 -25
  150. package/core/environment.js.map +0 -1
@@ -306,7 +306,7 @@ export default class WmCarousel extends BaseComponent {
306
306
  return /*#__PURE__*/React.createElement(View, {
307
307
  style: styles.root,
308
308
  onLayout: event => this.handleLayout(event)
309
- }, this.showSpinner(), this._background, /*#__PURE__*/React.createElement(SwipeAnimation.View, {
309
+ }, this._background, /*#__PURE__*/React.createElement(SwipeAnimation.View, {
310
310
  enableGestures: props.enablegestures && this.noOfSlides > 1,
311
311
  style: {
312
312
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["React","isArray","isUndefined","isObject","Animated","Easing","View","DefaultKeyExtractor","WmIcon","BaseComponent","BaseComponentState","SwipeAnimation","Tappable","WmCarouselProps","DEFAULT_CLASS","WmCarouselState","constructor","args","_defineProperty","WmCarousel","props","Value","bounds","e","_this$slidesLayout","_this$slidesLayout$ac","activeTabIndex","state","activeIndex","lower","slidesLayout","filter","l","i","reduce","s","width","center","upper","computePhase","value","_this$slidesLayout$ac2","w","Math","abs","onLower","onSlideChange","onUpper","noOfSlides","stopatlast","_this$animationView","currentSlideIndex","currentPosition","animationView","setPosition","_this$animationView2","index","prevIndex","updateState","invokeEventCallback","animatePagination","item","type","renderSlide","data","extractChildrenData","children","dataset","length","_this$animationView3","_this$animationView4","goToUpper","_this$animationView5","goToLower","Array","Object","keys","cleanup","push","stopPlay","addSlideLayout","nativeEvent","layout","forceUpdate","generateItemKey","itemkey","_showSkeleton","keyExtractor","getKey","autoPlay","initialized","animation","animationinterval","intervalId","setInterval","next","clearInterval","setTimeout","_this$animationView6","stopAnimation","startAnimation","onPropertyChange","name","$new","$old","_this$keyExtractor","clear","min","_this$styles$dotStyle","_this$styles$dotStyle2","_this$styles$dotStyle3","maxNoOfDots","maxnoofdots","margin","styles","dotStyle","marginLeft","marginRight","size","multiplier","isRTL","options","useNativeDriver","duration","easing","out","linear","shouldAnimate","newTranslateX","timing","wrapperPosition","toValue","start","dotPosition","max","renderPagination","_this$styles$dotStyle4","_this$styles$dotStyle5","dotMargin","wrapperWidth","minIndex","maxIndex","dotSkeleton","root","createElement","style","justifyContent","alignItems","dotsWrapperStyle","flexDirection","transform","translateX","map","isActive","scale","animatedScale","ease","_extends","key","getTestPropsForAction","activeDotStyle","renderSkeleton","skeleton","renderItem","componentDidMount","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","undefined","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","onLayout","event","handleLayout","showSpinner","_background","enableGestures","enablegestures","flex","direction","threshold","ref","r","handlers","animationHandlers","slideMinWidth","_this$animationView7","_this$animationView8","animationPhase","interpolate","inputRange","outputRange","bind","testID","height","firstSlide","lastSlide","activeSlide","onTap","_this$animationView9","position","rippleColor","disableTouchEffect","disabletoucheffect","btnPanel","id","getTestId","iconclass","prevBtn","prev","accessibilitylabel","accessibilityrole","nextBtn"],"sources":["carousel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isArray, isUndefined, isObject } from 'lodash-es';\nimport { Animated, Easing, View, LayoutChangeEvent, LayoutRectangle } from 'react-native';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/carousel-swipe.animation';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmCarouselProps from './carousel.props';\nimport { DEFAULT_CLASS, WmCarouselStyles } from './carousel.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmCarouselState extends BaseComponentState<WmCarouselProps> {\n activeIndex = 1;\n}\n\nexport default class WmCarousel extends BaseComponent<WmCarouselProps, WmCarouselState, WmCarouselStyles> {\n\n noOfSlides: number = 0;\n private slidesLayout: LayoutRectangle[] = [];\n private keyExtractor = new DefaultKeyExtractor();\n stopPlay: Function = null as any;\n private dotPosition = new Animated.Value(0);\n private wrapperPosition = new Animated.Value(0);\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.activeIndex - 1;\n let lower = 0;\n if (activeTabIndex > 0) {\n lower = this.slidesLayout\n .filter((l , i) => i < activeTabIndex - 1)\n .reduce((s, l) => s + l.width, 0);\n }\n let center = lower + (this.slidesLayout[activeTabIndex - 1]?.width || 0);\n let upper = center + (this.slidesLayout[activeTabIndex]?.width || 0);\n return {\n lower: -1 * lower,\n center: -1 * center,\n upper: -1 * upper\n };\n },\n computePhase: (value) => {\n const activeTabIndex = this.state.activeIndex - 1;\n const w = this.slidesLayout[activeTabIndex]?.width || 0;\n return w && Math.abs(value / w);\n },\n onLower: (e) => {\n this.onSlideChange(this.state.activeIndex - 1);\n },\n onUpper: (e) => {\n if(this.noOfSlides < this.state.activeIndex + 1){\n if (this.state.props.stopatlast) {\n const currentSlideIndex = this.state.activeIndex - 1;\n const currentPosition = this.slidesLayout\n .filter((l, i) => i < currentSlideIndex)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * currentPosition);\n return;\n } else {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n } else {\n this.onSlideChange(this.state.activeIndex + 1);\n }\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmCarouselProps) {\n super(props, DEFAULT_CLASS, new WmCarouselProps(), new WmCarouselState());\n this.cleanup.push(() => {\n this.stopPlay && this.stopPlay();\n })\n }\n\n addSlideLayout(index: number, nativeEvent: LayoutChangeEvent) {\n this.slidesLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.state.activeIndex) {\n this.forceUpdate();\n }\n }\n\n private generateItemKey(item: any, index: number, props: WmCarouselProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n autoPlay() {\n if(!this.initialized){\n return;\n }\n const props = this.state.props;\n this.stopPlay && this.stopPlay();\n if (props.animation === 'auto' && props.animationinterval) {\n const intervalId = setInterval(() => {\n if (props.stopatlast && this.state.activeIndex >= this.noOfSlides) {\n return; \n }\n this.next();\n }, props.animationinterval * 1000);\n this.stopPlay = () => clearInterval(intervalId);\n } else {\n setTimeout(() => {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }, 1000);\n }\n }\n\n stopAnimation(){ \n this.stopPlay();\n }\n startAnimation() {\n this.autoPlay();\n }\n \n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'dataset': {\n this.keyExtractor?.clear();\n this.updateState({\n activeIndex: Math.min(this.state.activeIndex, $new?.length || 1)\n } as WmCarouselState);\n break;\n }\n case 'animation':\n case 'animationinterval' : {\n this.autoPlay();\n }\n }\n }\n\n animatePagination(index: number) {\n const prevIndex = this.state.activeIndex;\n const props = this.state.props;\n const maxNoOfDots = this.state.props.maxnoofdots;\n const margin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0)\n const width = (this.styles.dotStyle?.width as number)|| 2;\n const size = margin + width;\n const multiplier = this.isRTL ? -1 : 1;\n const options = {\n useNativeDriver: true,\n duration: 100,\n easing: Easing.out(Easing.linear),\n };\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n const shouldAnimate = !(maxNoOfDots >= data?.length) && index > 3 && index <= data?.length - 2;\n if (shouldAnimate) {\n const newTranslateX = multiplier * -(index - 3) * (width + margin);\n Animated.timing(this.wrapperPosition, {\n toValue: newTranslateX,\n ...options,\n }).start();\n }\n if (index == 1 && prevIndex == data?.length) {\n Animated.timing(this.wrapperPosition, {\n toValue: 0,\n ...options,\n }).start();\n } \n if (prevIndex < index || prevIndex > index) {\n Animated.timing(this.dotPosition, {\n toValue: multiplier * size * Math.max(index - 1, 0),\n ...options,\n }).start();\n } \n }\n\n onSlideChange = (index: number) => {\n const prevIndex = this.state.activeIndex;\n this.updateState({\n activeIndex: index\n } as WmCarouselState,\n () => this.invokeEventCallback('onChange', [this, index, prevIndex]));\n this.animatePagination(index);\n }\n\n renderItem = (item: any, index: number) => {\n const props = this.state.props;\n if (props.type === 'dynamic') {\n return props.renderSlide ? props.renderSlide(item, index, this) : null;\n }\n const data= this.extractChildrenData(props.children)\n return data[index];\n \n }\n\n next = () => {\n const props = this.state.props;\n const data = props.type === 'dynamic' ? props.dataset : props.children;\n if (this.state.activeIndex >= data?.length || 0) {\n if (props.stopatlast) {\n return; \n } else {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n } else {\n this.animationView?.goToUpper();\n }\n }\n\n prev = () => {\n this.animationView?.goToLower();\n }\n\n renderPagination(data: any) {\n const maxNoOfDots = data.length > 5 ? this.state.props.maxnoofdots : data.length;\n const activeIndex = this.state.activeIndex - 1;\n const dotMargin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0);\n const wrapperWidth = (this.styles.dotStyle.width as any * maxNoOfDots) + (dotMargin * maxNoOfDots);\n let minIndex = Math.max(this.state.activeIndex - maxNoOfDots + 1, 0);\n let maxIndex = Math.min(minIndex + maxNoOfDots - 1, data.length);\n if (maxIndex === data.length) {\n minIndex = maxIndex - maxNoOfDots;\n }\n const dotStyle = this._showSkeleton ? {\n ...this.styles.dotStyle,\n ...this.styles.dotSkeleton.root\n } : this.styles.dotStyle\n return (<View style={{ width: '100%', justifyContent: 'center', alignItems: 'center' }}>\n <View style={[this.styles.dotsWrapperStyle, { width: wrapperWidth }]}>\n <Animated.View\n style={{\n flexDirection: this.isRTL ? 'row-reverse' : 'row',\n alignItems: 'center',\n transform: [{ translateX: this.wrapperPosition }],\n }}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === activeIndex;\n let scale = 1;\n if (activeIndex <= 2) {\n scale = index <= 2 ? 1 : 1 - 0.1 * (index - 2);\n } else if (activeIndex >= data.length - 3) {\n scale = index >= data.length - 3 ? 1 : 1 - 0.1 * ((data.length - 3) - index);\n } else {\n scale = index === activeIndex ? 1 : (Math.abs(index - activeIndex) === 1 ? 0.9 : 0.8);\n }\n const animatedScale = new Animated.Value(scale);\n Animated.timing(animatedScale, {\n toValue: scale,\n duration: 100,\n easing: Easing.out(Easing.ease),\n useNativeDriver: true,\n }).start();\n return (\n <Animated.View\n key={'dots_' + this.generateItemKey(item, index, this.state.props)}\n {...this.getTestPropsForAction('indicator' + index)}\n style={[dotStyle,\n isActive && this.styles.activeDotStyle,\n { \n transform: [{scale: animatedScale}]\n },\n ]}\n />\n );\n })}\n </Animated.View>\n </View>\n </View>);\n }\n\n public renderSkeleton(props: WmCarouselProps): React.ReactNode | null {\n return <View style={[this.styles.root, {...this.styles.skeleton.root}]}>\n {this.renderItem({}, 0)}\n {this.renderPagination([{}, {}, {}])}\n </View>\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.autoPlay();\n }\n //Added below function to handle the case if the props.children has one object https://wavemaker.atlassian.net/browse/WMS-25986\n extractChildrenData = (data: any) => {\n if(Array.isArray(data)){\n return data;\n }\n if(data && isObject(data) && Object.keys(data).length > 0){\n return [data]\n }\n return [];\n }\n\n renderWidget(props: WmCarouselProps) {\n const hasNavs = props.controls === 'both' || props.controls ==='navs';\n const hasDots = props.controls === 'both' || props.controls ==='indicators';\n let styles = this.styles;\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n data = this.extractChildrenData(data); \n this.noOfSlides = data?.length || 0;\n let slideScale = undefined as any;\n let slideTranslateX = undefined as any;\n if (isArray(this.styles.slide?.transform)) {\n slideScale = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).scale)) as any)?.scale;\n slideTranslateX = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).translateX)) as any)?.translateX;\n }\n // TODO: loop prop on Carousel is not working Refer: https://github.com/meliorence/react-native-snap-carousel/issues/608\n return (\n <View \n style={styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.showSpinner()}\n {this._background}\n <SwipeAnimation.View \n enableGestures={props.enablegestures && this.noOfSlides > 1}\n style={{\n flex: 1\n }}\n direction='horizontal'\n threshold={this.state.props.threshold}\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n slideMinWidth={this.styles.slide.width}\n slidesLayout={this.slidesLayout}\n activeIndex={this.state.activeIndex}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === this.state.activeIndex - 1;\n let scale = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [slideScale, slideScale, 1, slideScale, slideScale]\n });\n let translateX = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [-56, -56, 0, 56, 56]\n });\n return (\n <Animated.View key={this.generateItemKey(item, index, props)}\n onLayout={this.addSlideLayout.bind(this, index)}\n testID={`carousel_item_${index}`}\n style={[\n {height: props.type === 'dynamic' ? undefined : '100%'},\n this.styles.slide,\n index === 0 ? this.styles.firstSlide : null,\n index === data.length - 1 ? this.styles.lastSlide: null,\n isActive ? this.styles.activeSlide: null,\n translateX && scale ? {\n transform: [\n {\n translateX: !isUndefined(slideTranslateX) ? slideTranslateX : translateX\n }, {\n scale: scale\n }\n ]\n } : null]}>\n <Tappable onTap={() => {\n this.onSlideChange(index + 1);\n const position = this.slidesLayout\n .filter((l , i) => i < index)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * position);\n }} rippleColor={this.styles.root.rippleColor} styles={{height: \"100%\"}}\n disableTouchEffect={this.state.props.disabletoucheffect}>\n {this.renderItem(item, index)}\n </Tappable>\n </Animated.View>\n );\n })}\n </SwipeAnimation.View>\n {hasNavs ? (\n <View style={styles.btnPanel}>\n <WmIcon\n id={this.getTestId('prev_icon')}\n iconclass=\"wi wi-chevron-left fa-2x\"\n styles={styles.prevBtn}\n onTap={this.prev}\n accessibilitylabel='back'\n accessibilityrole='button'/>\n <WmIcon\n id={this.getTestId('next_icon')}\n iconclass=\"wi wi-chevron-right fa-2x\"\n styles={styles.nextBtn}\n onTap={this.next}\n accessibilitylabel='next'\n accessibilityrole='button'/>\n </View>): null}\n {hasDots && data ? this.renderPagination(data) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","isArray","isUndefined","isObject","Animated","Easing","View","DefaultKeyExtractor","WmIcon","BaseComponent","BaseComponentState","SwipeAnimation","Tappable","WmCarouselProps","DEFAULT_CLASS","WmCarouselState","constructor","args","_defineProperty","WmCarousel","props","Value","bounds","e","_this$slidesLayout","_this$slidesLayout$ac","activeTabIndex","state","activeIndex","lower","slidesLayout","filter","l","i","reduce","s","width","center","upper","computePhase","value","_this$slidesLayout$ac2","w","Math","abs","onLower","onSlideChange","onUpper","noOfSlides","stopatlast","_this$animationView","currentSlideIndex","currentPosition","animationView","setPosition","_this$animationView2","index","prevIndex","updateState","invokeEventCallback","animatePagination","item","type","renderSlide","data","extractChildrenData","children","dataset","length","_this$animationView3","_this$animationView4","goToUpper","_this$animationView5","goToLower","Array","Object","keys","cleanup","push","stopPlay","addSlideLayout","nativeEvent","layout","forceUpdate","generateItemKey","itemkey","_showSkeleton","keyExtractor","getKey","autoPlay","initialized","animation","animationinterval","intervalId","setInterval","next","clearInterval","setTimeout","_this$animationView6","stopAnimation","startAnimation","onPropertyChange","name","$new","$old","_this$keyExtractor","clear","min","_this$styles$dotStyle","_this$styles$dotStyle2","_this$styles$dotStyle3","maxNoOfDots","maxnoofdots","margin","styles","dotStyle","marginLeft","marginRight","size","multiplier","isRTL","options","useNativeDriver","duration","easing","out","linear","shouldAnimate","newTranslateX","timing","wrapperPosition","toValue","start","dotPosition","max","renderPagination","_this$styles$dotStyle4","_this$styles$dotStyle5","dotMargin","wrapperWidth","minIndex","maxIndex","dotSkeleton","root","createElement","style","justifyContent","alignItems","dotsWrapperStyle","flexDirection","transform","translateX","map","isActive","scale","animatedScale","ease","_extends","key","getTestPropsForAction","activeDotStyle","renderSkeleton","skeleton","renderItem","componentDidMount","renderWidget","_data","_this$styles$slide","hasNavs","controls","hasDots","slideScale","undefined","slideTranslateX","slide","_this$styles$slide2","_this$styles$slide3","find","o","onLayout","event","handleLayout","_background","enableGestures","enablegestures","flex","direction","threshold","ref","r","handlers","animationHandlers","slideMinWidth","_this$animationView7","_this$animationView8","animationPhase","interpolate","inputRange","outputRange","bind","testID","height","firstSlide","lastSlide","activeSlide","onTap","_this$animationView9","position","rippleColor","disableTouchEffect","disabletoucheffect","btnPanel","id","getTestId","iconclass","prevBtn","prev","accessibilitylabel","accessibilityrole","nextBtn"],"sources":["carousel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isArray, isUndefined, isObject } from 'lodash-es';\nimport { Animated, Easing, View, LayoutChangeEvent, LayoutRectangle } from 'react-native';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport * as SwipeAnimation from '@wavemaker/app-rn-runtime/gestures/carousel-swipe.animation';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmCarouselProps from './carousel.props';\nimport { DEFAULT_CLASS, WmCarouselStyles } from './carousel.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmCarouselState extends BaseComponentState<WmCarouselProps> {\n activeIndex = 1;\n}\n\nexport default class WmCarousel extends BaseComponent<WmCarouselProps, WmCarouselState, WmCarouselStyles> {\n\n noOfSlides: number = 0;\n private slidesLayout: LayoutRectangle[] = [];\n private keyExtractor = new DefaultKeyExtractor();\n stopPlay: Function = null as any;\n private dotPosition = new Animated.Value(0);\n private wrapperPosition = new Animated.Value(0);\n private animationView: SwipeAnimation.View | null = null as any;\n private animationHandlers = {\n bounds: (e) => {\n const activeTabIndex = this.state.activeIndex - 1;\n let lower = 0;\n if (activeTabIndex > 0) {\n lower = this.slidesLayout\n .filter((l , i) => i < activeTabIndex - 1)\n .reduce((s, l) => s + l.width, 0);\n }\n let center = lower + (this.slidesLayout[activeTabIndex - 1]?.width || 0);\n let upper = center + (this.slidesLayout[activeTabIndex]?.width || 0);\n return {\n lower: -1 * lower,\n center: -1 * center,\n upper: -1 * upper\n };\n },\n computePhase: (value) => {\n const activeTabIndex = this.state.activeIndex - 1;\n const w = this.slidesLayout[activeTabIndex]?.width || 0;\n return w && Math.abs(value / w);\n },\n onLower: (e) => {\n this.onSlideChange(this.state.activeIndex - 1);\n },\n onUpper: (e) => {\n if(this.noOfSlides < this.state.activeIndex + 1){\n if (this.state.props.stopatlast) {\n const currentSlideIndex = this.state.activeIndex - 1;\n const currentPosition = this.slidesLayout\n .filter((l, i) => i < currentSlideIndex)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * currentPosition);\n return;\n } else {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n } else {\n this.onSlideChange(this.state.activeIndex + 1);\n }\n }\n } as SwipeAnimation.Handlers;\n\n constructor(props: WmCarouselProps) {\n super(props, DEFAULT_CLASS, new WmCarouselProps(), new WmCarouselState());\n this.cleanup.push(() => {\n this.stopPlay && this.stopPlay();\n })\n }\n\n addSlideLayout(index: number, nativeEvent: LayoutChangeEvent) {\n this.slidesLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.state.activeIndex) {\n this.forceUpdate();\n }\n }\n\n private generateItemKey(item: any, index: number, props: WmCarouselProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n autoPlay() {\n if(!this.initialized){\n return;\n }\n const props = this.state.props;\n this.stopPlay && this.stopPlay();\n if (props.animation === 'auto' && props.animationinterval) {\n const intervalId = setInterval(() => {\n if (props.stopatlast && this.state.activeIndex >= this.noOfSlides) {\n return; \n }\n this.next();\n }, props.animationinterval * 1000);\n this.stopPlay = () => clearInterval(intervalId);\n } else {\n setTimeout(() => {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }, 1000);\n }\n }\n\n stopAnimation(){ \n this.stopPlay();\n }\n startAnimation() {\n this.autoPlay();\n }\n \n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'dataset': {\n this.keyExtractor?.clear();\n this.updateState({\n activeIndex: Math.min(this.state.activeIndex, $new?.length || 1)\n } as WmCarouselState);\n break;\n }\n case 'animation':\n case 'animationinterval' : {\n this.autoPlay();\n }\n }\n }\n\n animatePagination(index: number) {\n const prevIndex = this.state.activeIndex;\n const props = this.state.props;\n const maxNoOfDots = this.state.props.maxnoofdots;\n const margin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0)\n const width = (this.styles.dotStyle?.width as number)|| 2;\n const size = margin + width;\n const multiplier = this.isRTL ? -1 : 1;\n const options = {\n useNativeDriver: true,\n duration: 100,\n easing: Easing.out(Easing.linear),\n };\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n const shouldAnimate = !(maxNoOfDots >= data?.length) && index > 3 && index <= data?.length - 2;\n if (shouldAnimate) {\n const newTranslateX = multiplier * -(index - 3) * (width + margin);\n Animated.timing(this.wrapperPosition, {\n toValue: newTranslateX,\n ...options,\n }).start();\n }\n if (index == 1 && prevIndex == data?.length) {\n Animated.timing(this.wrapperPosition, {\n toValue: 0,\n ...options,\n }).start();\n } \n if (prevIndex < index || prevIndex > index) {\n Animated.timing(this.dotPosition, {\n toValue: multiplier * size * Math.max(index - 1, 0),\n ...options,\n }).start();\n } \n }\n\n onSlideChange = (index: number) => {\n const prevIndex = this.state.activeIndex;\n this.updateState({\n activeIndex: index\n } as WmCarouselState,\n () => this.invokeEventCallback('onChange', [this, index, prevIndex]));\n this.animatePagination(index);\n }\n\n renderItem = (item: any, index: number) => {\n const props = this.state.props;\n if (props.type === 'dynamic') {\n return props.renderSlide ? props.renderSlide(item, index, this) : null;\n }\n const data= this.extractChildrenData(props.children)\n return data[index];\n \n }\n\n next = () => {\n const props = this.state.props;\n const data = props.type === 'dynamic' ? props.dataset : props.children;\n if (this.state.activeIndex >= data?.length || 0) {\n if (props.stopatlast) {\n return; \n } else {\n this.onSlideChange(1);\n this.animationView?.setPosition(0);\n }\n } else {\n this.animationView?.goToUpper();\n }\n }\n\n prev = () => {\n this.animationView?.goToLower();\n }\n\n renderPagination(data: any) {\n const maxNoOfDots = data.length > 5 ? this.state.props.maxnoofdots : data.length;\n const activeIndex = this.state.activeIndex - 1;\n const dotMargin = ((this.styles.dotStyle?.marginLeft as number)|| 0) + \n ((this.styles.dotStyle?.marginRight as number)|| 0);\n const wrapperWidth = (this.styles.dotStyle.width as any * maxNoOfDots) + (dotMargin * maxNoOfDots);\n let minIndex = Math.max(this.state.activeIndex - maxNoOfDots + 1, 0);\n let maxIndex = Math.min(minIndex + maxNoOfDots - 1, data.length);\n if (maxIndex === data.length) {\n minIndex = maxIndex - maxNoOfDots;\n }\n const dotStyle = this._showSkeleton ? {\n ...this.styles.dotStyle,\n ...this.styles.dotSkeleton.root\n } : this.styles.dotStyle\n return (<View style={{ width: '100%', justifyContent: 'center', alignItems: 'center' }}>\n <View style={[this.styles.dotsWrapperStyle, { width: wrapperWidth }]}>\n <Animated.View\n style={{\n flexDirection: this.isRTL ? 'row-reverse' : 'row',\n alignItems: 'center',\n transform: [{ translateX: this.wrapperPosition }],\n }}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === activeIndex;\n let scale = 1;\n if (activeIndex <= 2) {\n scale = index <= 2 ? 1 : 1 - 0.1 * (index - 2);\n } else if (activeIndex >= data.length - 3) {\n scale = index >= data.length - 3 ? 1 : 1 - 0.1 * ((data.length - 3) - index);\n } else {\n scale = index === activeIndex ? 1 : (Math.abs(index - activeIndex) === 1 ? 0.9 : 0.8);\n }\n const animatedScale = new Animated.Value(scale);\n Animated.timing(animatedScale, {\n toValue: scale,\n duration: 100,\n easing: Easing.out(Easing.ease),\n useNativeDriver: true,\n }).start();\n return (\n <Animated.View\n key={'dots_' + this.generateItemKey(item, index, this.state.props)}\n {...this.getTestPropsForAction('indicator' + index)}\n style={[dotStyle,\n isActive && this.styles.activeDotStyle,\n { \n transform: [{scale: animatedScale}]\n },\n ]}\n />\n );\n })}\n </Animated.View>\n </View>\n </View>);\n }\n\n public renderSkeleton(props: WmCarouselProps): React.ReactNode | null {\n return <View style={[this.styles.root, {...this.styles.skeleton.root}]}>\n {this.renderItem({}, 0)}\n {this.renderPagination([{}, {}, {}])}\n </View>\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.autoPlay();\n }\n //Added below function to handle the case if the props.children has one object https://wavemaker.atlassian.net/browse/WMS-25986\n extractChildrenData = (data: any) => {\n if(Array.isArray(data)){\n return data;\n }\n if(data && isObject(data) && Object.keys(data).length > 0){\n return [data]\n }\n return [];\n }\n\n renderWidget(props: WmCarouselProps) {\n const hasNavs = props.controls === 'both' || props.controls ==='navs';\n const hasDots = props.controls === 'both' || props.controls ==='indicators';\n let styles = this.styles;\n let data = props.type === 'dynamic' ? props.dataset : props.children;\n data = this.extractChildrenData(data); \n this.noOfSlides = data?.length || 0;\n let slideScale = undefined as any;\n let slideTranslateX = undefined as any;\n if (isArray(this.styles.slide?.transform)) {\n slideScale = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).scale)) as any)?.scale;\n slideTranslateX = (this.styles.slide?.transform?.find(o => !isUndefined((o as any).translateX)) as any)?.translateX;\n }\n // TODO: loop prop on Carousel is not working Refer: https://github.com/meliorence/react-native-snap-carousel/issues/608\n return (\n <View \n style={styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <SwipeAnimation.View \n enableGestures={props.enablegestures && this.noOfSlides > 1}\n style={{\n flex: 1\n }}\n direction='horizontal'\n threshold={this.state.props.threshold}\n ref={(r) => {this.animationView = r}}\n handlers = {this.animationHandlers}\n slideMinWidth={this.styles.slide.width}\n slidesLayout={this.slidesLayout}\n activeIndex={this.state.activeIndex}\n >\n {data.map((item: any, index: number) => {\n const isActive = index === this.state.activeIndex - 1;\n let scale = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [slideScale, slideScale, 1, slideScale, slideScale]\n });\n let translateX = this.animationView?.animationPhase.interpolate({\n inputRange: [-2000, index - 1, index, index + 1, 2000],\n outputRange: [-56, -56, 0, 56, 56]\n });\n return (\n <Animated.View key={this.generateItemKey(item, index, props)}\n onLayout={this.addSlideLayout.bind(this, index)}\n testID={`carousel_item_${index}`}\n style={[\n {height: props.type === 'dynamic' ? undefined : '100%'},\n this.styles.slide,\n index === 0 ? this.styles.firstSlide : null,\n index === data.length - 1 ? this.styles.lastSlide: null,\n isActive ? this.styles.activeSlide: null,\n translateX && scale ? {\n transform: [\n {\n translateX: !isUndefined(slideTranslateX) ? slideTranslateX : translateX\n }, {\n scale: scale\n }\n ]\n } : null]}>\n <Tappable onTap={() => {\n this.onSlideChange(index + 1);\n const position = this.slidesLayout\n .filter((l , i) => i < index)\n .reduce((s, l) => s + l.width, 0);\n this.animationView?.setPosition(-1 * position);\n }} rippleColor={this.styles.root.rippleColor} styles={{height: \"100%\"}}\n disableTouchEffect={this.state.props.disabletoucheffect}>\n {this.renderItem(item, index)}\n </Tappable>\n </Animated.View>\n );\n })}\n </SwipeAnimation.View>\n {hasNavs ? (\n <View style={styles.btnPanel}>\n <WmIcon\n id={this.getTestId('prev_icon')}\n iconclass=\"wi wi-chevron-left fa-2x\"\n styles={styles.prevBtn}\n onTap={this.prev}\n accessibilitylabel='back'\n accessibilityrole='button'/>\n <WmIcon\n id={this.getTestId('next_icon')}\n iconclass=\"wi wi-chevron-right fa-2x\"\n styles={styles.nextBtn}\n onTap={this.next}\n accessibilitylabel='next'\n accessibilityrole='button'/>\n </View>): null}\n {hasDots && data ? this.renderPagination(data) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,45 +5,14 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
5
5
  import React, { createRef } from 'react';
6
6
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
7
7
  import { View, PanResponder, Dimensions, TouchableWithoutFeedback, Platform, StatusBar, BackHandler, KeyboardAvoidingView, Keyboard, Modal, Pressable } from 'react-native';
8
- import { Gesture, GestureDetector, GestureHandlerRootView, ScrollView } from 'react-native-gesture-handler';
8
+ import { ScrollView } from 'react-native-gesture-handler';
9
9
  import Animated, { useAnimatedStyle, withTiming, runOnJS, Easing, makeMutable, cancelAnimation } from 'react-native-reanimated';
10
- import * as Animatable from 'react-native-animatable';
11
10
  import WmBottomsheetProps from './bottomsheet.props';
12
11
  import { DEFAULT_CLASS } from './bottomsheet.styles';
13
12
  import { createSkeleton } from '../skeleton/skeleton.component';
14
13
  import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
15
14
  import { ModalProvider } from '@wavemaker/app-rn-runtime/core/modal.service';
16
- import { SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';
17
-
18
- // Web-only: Runs all bottom sheet animations on the JS thread (sets useNativeDriver to false)
19
- // Prevents errors on web where native driver animations are not supported
20
- // Web - Animated api is used from animation
21
- if (Platform.OS === 'web') {
22
- try {
23
- const RN = require('react-native');
24
- const RNAnimated = RN && RN.Animated;
25
- if (RNAnimated && !RNAnimated.__wmPatchedNoNativeDriver) {
26
- const wrap = name => {
27
- const original = RNAnimated[name];
28
- if (typeof original === 'function') {
29
- RNAnimated[name] = (value, config) => {
30
- const patched = {
31
- ...(config || {}),
32
- useNativeDriver: false
33
- };
34
- return original(value, patched);
35
- };
36
- }
37
- };
38
- wrap('timing');
39
- wrap('spring');
40
- wrap('decay');
41
- RNAnimated.__wmPatchedNoNativeDriver = true;
42
- }
43
- } catch (_) {
44
- // noop
45
- }
46
- }
15
+ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
47
16
  const {
48
17
  height: SCREEN_HEIGHT
49
18
  } = Dimensions.get('screen');
@@ -58,8 +27,6 @@ export class WmBottomsheetState extends BaseComponentState {
58
27
  _defineProperty(this, "keyboardHeight", 0);
59
28
  _defineProperty(this, "localModalsOpened", []);
60
29
  _defineProperty(this, "lastGestureDy", 0);
61
- _defineProperty(this, "contentAnimationId", 0);
62
- _defineProperty(this, "contentAnimatableProps", undefined);
63
30
  }
64
31
  }
65
32
 
@@ -77,32 +44,8 @@ const AnimatedBottomsheetContent = ({
77
44
  onBackdropPress,
78
45
  onDragHandlePress,
79
46
  getTestProps,
80
- enabledragsettle,
81
- scrollRef,
82
- containerScrollRef,
83
- configurePanGesture
47
+ enabledragsettle
84
48
  }) => {
85
- // Simple RNGH GestureDetector attached to the same view as the PanResponder (panHandlers).
86
- // No thresholds/validation: logs translationY directly during pan.
87
- const panGesture = React.useMemo(() => {
88
- // Create base Pan gesture
89
- const pan = Gesture.Pan().runOnJS(true);
90
-
91
- // Add external gestures for ScrollViews (container widget scrollview)
92
- if (scrollRef && containerScrollRef) {
93
- pan.simultaneousWithExternalGesture(scrollRef, containerScrollRef);
94
- } else if (scrollRef) {
95
- pan.simultaneousWithExternalGesture(scrollRef);
96
- } else if (containerScrollRef) {
97
- pan.simultaneousWithExternalGesture(containerScrollRef);
98
- }
99
-
100
- // Apply custom logic from parent BottomSheet class
101
- if (configurePanGesture) {
102
- configurePanGesture(pan);
103
- }
104
- return pan;
105
- }, [scrollRef, containerScrollRef, configurePanGesture]);
106
49
  const backdropAnimatedStyle = useAnimatedStyle(() => ({
107
50
  opacity: backdropOpacity.value
108
51
  }));
@@ -124,18 +67,15 @@ const AnimatedBottomsheetContent = ({
124
67
  onPress: onBackdropPress
125
68
  }, /*#__PURE__*/React.createElement(Animated.View, _extends({
126
69
  style: [styles.backdrop, backdropAnimatedStyle]
127
- }, getTestProps('backdrop'), getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)))), /*#__PURE__*/React.createElement(Animated.View, {
70
+ }, getTestProps('backdrop'), getAccessibilityProps(AccessibilityWidgetType.BOTTOMSHEET, props)))), /*#__PURE__*/React.createElement(Animated.View, _extends({
128
71
  style: [styles.container, containerAnimatedStyle]
129
- // {...panHandlers}
130
- }, /*#__PURE__*/React.createElement(View, _extends({
72
+ }, panHandlers), /*#__PURE__*/React.createElement(View, _extends({
131
73
  style: styles.dragHandleContainer
132
74
  }, dragHandlePanHandlers), /*#__PURE__*/React.createElement(Pressable, {
133
75
  onPress: onDragHandlePress
134
76
  }, /*#__PURE__*/React.createElement(View, _extends({
135
77
  style: styles.dragIconHandle
136
- }, getTestProps('draghandle'))))), /*#__PURE__*/React.createElement(GestureDetector, {
137
- gesture: panGesture
138
- }, children(contentStyle))));
78
+ }, getTestProps('draghandle'))))), children(contentStyle)));
139
79
  };
140
80
  export default class WmBottomsheet extends BaseComponent {
141
81
  // Helper method to calculate animation duration based on distance and velocity
@@ -176,12 +116,6 @@ export default class WmBottomsheet extends BaseComponent {
176
116
  this.closeSheet();
177
117
  }
178
118
  }
179
- animate(props) {
180
- this.updateState({
181
- contentAnimationId: Date.now(),
182
- contentAnimatableProps: props
183
- });
184
- }
185
119
  constructor(_props) {
186
120
  super(_props, DEFAULT_CLASS, new WmBottomsheetProps(), new WmBottomsheetState());
187
121
  _defineProperty(this, "calculatedHeight", void 0);
@@ -204,9 +138,6 @@ export default class WmBottomsheet extends BaseComponent {
204
138
  _defineProperty(this, "isIosKeyboardHeightSet", false);
205
139
  _defineProperty(this, "sheetModalService", void 0);
206
140
  _defineProperty(this, "isDragHandleExpanding", false);
207
- //container widget scrollview ref and y offset value
208
- _defineProperty(this, "containerscrollViewRef", null);
209
- _defineProperty(this, "containerscrollYoffset", 0);
210
141
  // Reanimated shared values - created once and reused
211
142
  _defineProperty(this, "translateY", void 0);
212
143
  _defineProperty(this, "backdropOpacity", void 0);
@@ -361,20 +292,6 @@ export default class WmBottomsheet extends BaseComponent {
361
292
  if (this.state.isExpanded || this.props.disableswipedownclose) {
362
293
  if (gestureState.dy < this.expandedHeight / 4 || this.props.disableswipedownclose) {
363
294
  var _this$sheetHeight;
364
- //reseting bottom sheet scrollview offset value to fix scrollview automatic scroll issue while collpsing the bottom sheet
365
- setTimeout(() => {
366
- var _this$state$scrollVie;
367
- if ((_this$state$scrollVie = this.state.scrollViewRef) !== null && _this$state$scrollVie !== void 0 && _this$state$scrollVie.current) {
368
- this.state.scrollViewRef.current.scrollTo({
369
- x: 0,
370
- y: 0,
371
- animated: false
372
- });
373
- this.updateState({
374
- scrollOffset: 0
375
- });
376
- }
377
- }, this.animationDuration);
378
295
  let sheetMinimumHeight = this.props.bottomsheetminimumheight || 0.1;
379
296
  const targetHeight = this.props.disableswipedownclose ? sheetMinimumHeight * SCREEN_HEIGHT : this.calculatedHeight;
380
297
  const currentHeight = ((_this$sheetHeight = this.sheetHeight) === null || _this$sheetHeight === void 0 ? void 0 : _this$sheetHeight.value) || this.expandedHeight;
@@ -416,60 +333,13 @@ export default class WmBottomsheet extends BaseComponent {
416
333
  }
417
334
  }
418
335
  });
419
- _defineProperty(this, "configurePanGesture", pan => {
420
- pan.enabled(true).onUpdate(event => {
421
- // ← Add : any
422
- const gestureState = {
423
- dy: event.translationY,
424
- vy: event.velocityY,
425
- moveX: event.x,
426
- moveY: event.y,
427
- vx: event.velocityX
428
- };
429
- if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared && this.state.scrollOffset <= 0 && this.containerscrollYoffset <= 0) {
430
- const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);
431
- this.translateY.value = newTranslateY;
432
- // Reset expand flag if dragging down
433
- this.isDragHandleExpanding = false;
434
- } else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded && this.props.disablescrollonrest) {
435
- // Only trigger expand once with threshold of -50px upward drag
436
- this.isDragHandleExpanding = true;
437
- this.expandBottomSheet();
438
- }
439
- // ... rest of logic
440
- }).onEnd(event => {
441
- // ← Add : any
442
- const gestureState = {
443
- dy: event.translationY,
444
- vy: event.velocityY,
445
- moveX: event.x,
446
- moveY: event.y,
447
- vx: event.velocityX
448
- };
449
- if (gestureState.dy > 0 && this.state.scrollOffset <= 0 && this.containerscrollYoffset <= 0) {
450
- this.handleSwipeGesture(gestureState);
451
- }
452
- }).onFinalize((event, success) => {
453
- // ← Add types
454
- if (!success) {
455
- this.openSheet();
456
- }
457
- });
458
- return pan;
459
- });
460
336
  // panResponder for bottom sheet scroll view
461
337
  _defineProperty(this, "panResponder", PanResponder.create({
462
338
  onStartShouldSetPanResponder: (_, gestureState) => {
463
- if (this.props.disablescrollonrest && !this.state.isExpanded) {
464
- return true;
465
- }
466
339
  // Only handle the gesture if we're at the top and swiping down
467
340
  return gestureState.dy > 0 && this.state.scrollOffset <= 0;
468
341
  },
469
342
  onMoveShouldSetPanResponder: (_, gestureState) => {
470
- if (this.props.disablescrollonrest && !this.state.isExpanded) {
471
- return Math.abs(gestureState.dy) > 2;
472
- }
473
343
  // Only handle the gesture if we're at the top and swiping down
474
344
  return gestureState.dy > 0 && this.state.scrollOffset <= 0;
475
345
  },
@@ -483,12 +353,6 @@ export default class WmBottomsheet extends BaseComponent {
483
353
  if (gestureState.dy > 0 && this.translateY && this.lastGestureDyShared) {
484
354
  const newTranslateY = Math.max(0, this.lastGestureDyShared.value + gestureState.dy);
485
355
  this.translateY.value = newTranslateY;
486
- // Reset expand flag if dragging down
487
- this.isDragHandleExpanding = false;
488
- } else if (gestureState.dy < 0 && this.props.expand && this.props.bottomsheetheightratio !== 1 && !this.isDragHandleExpanding && !this.state.isExpanded) {
489
- // Only trigger expand once with threshold of -50px upward drag
490
- this.isDragHandleExpanding = true;
491
- this.expandBottomSheet();
492
356
  }
493
357
  },
494
358
  onPanResponderRelease: (_, gestureState) => {
@@ -577,12 +441,8 @@ export default class WmBottomsheet extends BaseComponent {
577
441
  }
578
442
  this.updateState({
579
443
  isExpanded: false,
580
- localModalsOpened: [],
581
- scrollOffset: 0,
582
- contentAnimationId: 0,
583
- contentAnimatableProps: undefined
444
+ localModalsOpened: []
584
445
  });
585
- this.containerscrollYoffset = 0;
586
446
  this.handleClose();
587
447
  };
588
448
  if (this.translateY && this.backdropOpacity) {
@@ -611,9 +471,7 @@ export default class WmBottomsheet extends BaseComponent {
611
471
  lastGestureDy: 0,
612
472
  isExpanded: false,
613
473
  isBottomsheetVisible: false,
614
- localModalsOpened: [],
615
- contentAnimationId: 0,
616
- contentAnimatableProps: undefined
474
+ localModalsOpened: []
617
475
  });
618
476
  requestAnimationFrame(() => {
619
477
  if (this.sheetHeight) {
@@ -630,14 +488,6 @@ export default class WmBottomsheet extends BaseComponent {
630
488
  _defineProperty(this, "handleDragHandlePress", () => {
631
489
  this.invokeEventCallback('onDraghandleiconclick', [null, this]);
632
490
  });
633
- _defineProperty(this, "renderAnimatedSheetChildren", children => {
634
- if (!this.state.contentAnimatableProps) {
635
- return children;
636
- }
637
- return /*#__PURE__*/React.createElement(Animatable.View, _extends({
638
- key: this.state.contentAnimationId
639
- }, this.state.contentAnimatableProps), children);
640
- });
641
491
  _defineProperty(this, "renderContent", props => {
642
492
  // Don't render if shared values aren't initialized yet
643
493
  if (!this.translateY || !this.backdropOpacity || !this.sheetHeight || !this.lastGestureDyShared) {
@@ -651,21 +501,14 @@ export default class WmBottomsheet extends BaseComponent {
651
501
  }) => {
652
502
  // Store topInset for later use (avoid mutation during render)
653
503
  const topInset = (insets === null || insets === void 0 ? void 0 : insets.top) || 0;
654
- const bottomInset = (insets === null || insets === void 0 ? void 0 : insets.bottom) || 0;
655
504
  // Update the instance variable outside of render cycle
656
505
  if (this.topInset !== topInset) {
657
506
  requestAnimationFrame(() => {
658
507
  this.topInset = topInset;
659
508
  });
660
509
  }
661
- const absoluteStyle = {
662
- top: 0,
663
- left: 0,
664
- right: 0
665
- };
666
- const rootStyle = props.modal ? [this.styles.root, absoluteStyle] : this.styles.root;
667
510
  return /*#__PURE__*/React.createElement(View, _extends({
668
- style: rootStyle
511
+ style: this.styles.root
669
512
  }, this.getTestProps('keyboardview')), this._background, /*#__PURE__*/React.createElement(AnimatedBottomsheetContent, {
670
513
  translateY: this.translateY,
671
514
  backdropOpacity: this.backdropOpacity,
@@ -678,21 +521,8 @@ export default class WmBottomsheet extends BaseComponent {
678
521
  onBackdropPress: this.handleBackdropPress,
679
522
  onDragHandlePress: this.handleDragHandlePress,
680
523
  getTestProps: this.getTestProps.bind(this),
681
- enabledragsettle: props.enabledragsettle,
682
- scrollRef: this.state.scrollViewRef,
683
- containerScrollRef: this.containerscrollViewRef,
684
- configurePanGesture: this.configurePanGesture
685
- }, contentStyle => props.issticky ? props.enablemodalsupport ? /*#__PURE__*/React.createElement(ModalProvider, {
686
- value: this.sheetModalService
687
- }, /*#__PURE__*/React.createElement(Animated.View, {
688
- style: [contentStyle, this.styles.sheetContentContainer, {
689
- overflow: 'hidden'
690
- }]
691
- }, props.children)) : /*#__PURE__*/React.createElement(Animated.View, {
692
- style: [contentStyle, this.styles.sheetContentContainer, {
693
- overflow: 'hidden'
694
- }]
695
- }, props.children) : /*#__PURE__*/React.createElement(ScrollView, _extends({
524
+ enabledragsettle: props.enabledragsettle
525
+ }, contentStyle => /*#__PURE__*/React.createElement(ScrollView, _extends({
696
526
  ref: this.state.scrollViewRef,
697
527
  style: this.styles.sheetContentContainer,
698
528
  contentContainerStyle: [this.styles.sheetScrollContent],
@@ -710,9 +540,7 @@ export default class WmBottomsheet extends BaseComponent {
710
540
  style: contentStyle
711
541
  }, props.children)) : /*#__PURE__*/React.createElement(Animated.View, {
712
542
  style: contentStyle
713
- }, props.children))), Platform.OS === 'android' && !this.props.modal && bottomInset > 40 && /*#__PURE__*/React.createElement(SafeAreaView, {
714
- edges: ['bottom']
715
- }), props.enablemodalsupport && this.state.localModalsOpened && this.state.localModalsOpened.map((o, i) => /*#__PURE__*/React.createElement(View, {
543
+ }, props.children))), props.enablemodalsupport && this.state.localModalsOpened && this.state.localModalsOpened.map((o, i) => /*#__PURE__*/React.createElement(View, {
716
544
  key: (o.name || '') + i,
717
545
  onStartShouldSetResponder: () => true,
718
546
  onResponderEnd: () => o.isModal && this.sheetModalService.hideModal(o),
@@ -728,18 +556,7 @@ export default class WmBottomsheet extends BaseComponent {
728
556
  });
729
557
  });
730
558
  this.calculatedHeight = this.calculateSheetHeight(_props.bottomsheetheightratio);
731
- //container srollview ref
732
- this.subscribe('containerScrollViewReady', ref => {
733
- if (ref && ref.current && this.containerscrollViewRef !== ref) {
734
- this.containerscrollViewRef = ref;
735
- this.forceUpdate();
736
- }
737
- });
738
- //container scrollview y offset value
739
- this.subscribe('scroll', e => {
740
- const offsetY = e.nativeEvent.contentOffset.y;
741
- this.containerscrollYoffset = offsetY;
742
- });
559
+
743
560
  // Use bottomsheetexpandedheightratio if provided, otherwise use expandedDefaultHeight
744
561
  const expandedRatio = _props.bottomsheetexpandedheightratio || this.expandedDefaultHeight;
745
562
  const effectiveExpandedRatio = Math.max(this.minimumExpandedHeight, Math.min(expandedRatio, this.maxHeight));
@@ -864,51 +681,27 @@ export default class WmBottomsheet extends BaseComponent {
864
681
  }
865
682
  renderWidget(props) {
866
683
  if (!this.state.isBottomsheetVisible) return null;
867
- return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
868
- top: 0,
869
- bottom: 0,
870
- left: 0,
871
- right: 0
872
- }) => {
873
- // Use SafeAreaView on Android with button navigation to render the bottom sheet above the nav bar (when modal props is true)
874
- // Button navigation is identified when bottom inset >= 40
875
- const hasButtonNavigation = Platform.OS === 'android' && ((insets === null || insets === void 0 ? void 0 : insets.bottom) || 0) >= 40;
876
- const wrapWithSafeArea = children => {
877
- if (hasButtonNavigation) {
878
- return /*#__PURE__*/React.createElement(SafeAreaView, {
879
- style: {
880
- flex: 1
881
- }
882
- }, children);
883
- }
884
- return children;
885
- };
886
- if (props.modal) {
887
- return /*#__PURE__*/React.createElement(Modal, {
888
- visible: this.state.isBottomsheetVisible,
889
- transparent: true,
890
- animationType: "none",
891
- onRequestClose: () => {
892
- if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {
893
- this.closeSheet();
894
- }
895
- },
896
- statusBarTranslucent: false
897
- }, /*#__PURE__*/React.createElement(GestureHandlerRootView, {
898
- style: {
899
- flex: 1
684
+ if (props.modal) {
685
+ return /*#__PURE__*/React.createElement(Modal, {
686
+ visible: this.state.isBottomsheetVisible,
687
+ transparent: true,
688
+ animationType: "none",
689
+ onRequestClose: () => {
690
+ if (!this.props.disableswipedownclose && this.props.autoclose !== 'disabled') {
691
+ this.closeSheet();
900
692
  }
901
- }, wrapWithSafeArea(/*#__PURE__*/React.createElement(KeyboardAvoidingView, {
902
- style: {
903
- flex: 1
904
- },
905
- behavior: 'padding',
906
- keyboardVerticalOffset: Platform.OS === 'ios' ? 0 : undefined
907
- }, this.renderContent(props)))));
908
- } else {
909
- return this.renderContent(props);
910
- }
911
- });
693
+ },
694
+ statusBarTranslucent: false
695
+ }, /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
696
+ style: {
697
+ flex: 1
698
+ },
699
+ behavior: 'padding',
700
+ keyboardVerticalOffset: Platform.OS === 'ios' ? 0 : undefined
701
+ }, this.renderContent(props)));
702
+ } else {
703
+ return this.renderContent(props);
704
+ }
912
705
  }
913
706
  }
914
707
  //# sourceMappingURL=bottomsheet.component.js.map