@wavemaker/app-rn-runtime 11.11.7-rc.6211 → 11.12.0-next.28182
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.
- package/components/advanced/carousel/carousel.component.js +4 -2
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/basic/anchor/anchor.component.js +11 -5
- package/components/basic/anchor/anchor.component.js.map +1 -1
- package/components/basic/anchor/anchor.props.js +1 -0
- package/components/basic/anchor/anchor.props.js.map +1 -1
- package/components/basic/audio/audio.component.js +52 -47
- package/components/basic/audio/audio.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
- package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
- package/components/basic/button/button.component.js +2 -1
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/button/button.props.js +1 -0
- package/components/basic/button/button.props.js.map +1 -1
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/label/label.props.js +1 -0
- package/components/basic/label/label.props.js.map +1 -1
- package/components/basic/message/message.component.js +15 -7
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/picture/picture.component.js +2 -2
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/video/video.component.js +69 -42
- package/components/basic/video/video.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/container/container.component.js +107 -27
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +3 -1
- package/components/container/container.props.js.map +1 -1
- package/components/container/container.styles.js +1 -3
- package/components/container/container.styles.js.map +1 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +11 -2
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.props.js +1 -0
- package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
- package/components/container/tabs/tabpane/tabpane.props.js +3 -0
- package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
- package/components/container/tabs/tabs.component.js +11 -2
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -0
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/data/list/list.component.js +23 -13
- package/components/data/list/list.component.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.component.js +33 -18
- package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.props.js +2 -1
- package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
- package/components/device/camera/camera.component.js +35 -22
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/device/camera/camera.props.js +2 -1
- package/components/device/camera/camera.props.js.map +1 -1
- package/components/input/basedataset/basedataset.props.js +1 -0
- package/components/input/basedataset/basedataset.props.js.map +1 -1
- package/components/input/calendar/calendar.component.js +12 -4
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/calendar/views/month-view.js +9 -2
- package/components/input/calendar/views/month-view.js.map +1 -1
- package/components/input/checkbox/checkbox.component.js +5 -5
- package/components/input/checkbox/checkbox.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +15 -11
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/chips/chips.component.js +25 -12
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/currency/currency.component.js +5 -2
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +9 -9
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/epoch/datetime/datetime.props.js +1 -0
- package/components/input/epoch/datetime/datetime.props.js.map +1 -1
- package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
- package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +23 -14
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/input/fileupload/fileupload.props.js +2 -0
- package/components/input/fileupload/fileupload.props.js.map +1 -1
- package/components/input/radioset/radioset.component.js +15 -5
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/rating/rating.component.js +11 -3
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/rating/rating.props.js +4 -0
- package/components/input/rating/rating.props.js.map +1 -1
- package/components/input/select/select.component.js +7 -5
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/slider/slider.component.js +2 -1
- package/components/input/slider/slider.component.js.map +1 -1
- package/components/input/switch/switch.component.js +11 -9
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +8 -4
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/input/toggle/toggle.props.js +1 -0
- package/components/input/toggle/toggle.props.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +19 -61
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/navitem/navitem.component.js +3 -1
- package/components/navigation/navitem/navitem.component.js.map +1 -1
- package/components/navigation/popover/popover.component.js +2 -1
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/navigation/popover/popover.props.js +2 -1
- package/components/navigation/popover/popover.props.js.map +1 -1
- package/components/page/page-content/page-content.component.js +74 -20
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +1 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page.component.js +29 -44
- package/components/page/page.component.js.map +1 -1
- package/components/page/page.props.js +4 -2
- package/components/page/page.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +24 -13
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/accessibility.js +51 -32
- package/core/accessibility.js.map +1 -1
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +140 -0
- package/core/components/error-fallback/error-fallback.component.js.map +1 -0
- package/core/components/error-fallback/error-fallback.styles.js +224 -0
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
- package/core/components/sticky-base.component.js +54 -0
- package/core/components/sticky-base.component.js.map +1 -0
- package/core/components/sticky-container.component.js +34 -0
- package/core/components/sticky-container.component.js.map +1 -0
- package/core/components/sticky-container.styles.js +98 -0
- package/core/components/sticky-container.styles.js.map +1 -0
- package/core/components/sticky-nav.component.js +28 -0
- package/core/components/sticky-nav.component.js.map +1 -0
- package/core/device/av-service.js +8 -0
- package/core/device/av-service.js.map +1 -0
- package/core/device/calendar-service.js +7 -1
- package/core/device/calendar-service.js.map +1 -1
- package/core/device/camera-service.js +6 -0
- package/core/device/camera-service.js.map +1 -1
- package/core/device/contacts-service.js +7 -1
- package/core/device/contacts-service.js.map +1 -1
- package/core/device/fileupload-service.js +8 -0
- package/core/device/fileupload-service.js.map +1 -0
- package/core/device/location-service.js +7 -1
- package/core/device/location-service.js.map +1 -1
- package/core/device/scan-service.js +6 -0
- package/core/device/scan-service.js.map +1 -1
- package/core/error-boundary.component.js +1 -1
- package/core/error-boundary.component.js.map +1 -1
- package/core/event-notifier.js +4 -3
- package/core/event-notifier.js.map +1 -1
- package/core/fixed-view.component.js +2 -1
- package/core/fixed-view.component.js.map +1 -1
- package/core/responsive.utils.js +8 -5
- package/core/responsive.utils.js.map +1 -1
- package/core/sticky-view.component.js +50 -0
- package/core/sticky-view.component.js.map +1 -0
- package/core/sticky-wrapper.js +129 -0
- package/core/sticky-wrapper.js.map +1 -0
- package/core/utils.js +0 -6
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +48 -47
- package/package-lock.json +48 -47
- package/package.json +2 -2
- package/runtime/App.js +3 -5
- package/runtime/App.js.map +1 -1
- package/runtime/services/device/calendar-service.js +9 -5
- package/runtime/services/device/calendar-service.js.map +1 -1
- package/runtime/services/device/camera-service.js +39 -22
- package/runtime/services/device/camera-service.js.map +1 -1
- package/runtime/services/device/contacts-service.js +6 -5
- package/runtime/services/device/contacts-service.js.map +1 -1
- package/runtime/services/device/location-service.js +4 -4
- package/runtime/services/device/location-service.js.map +1 -1
- package/runtime/services/device/permission-service.js +5 -0
- package/runtime/services/device/permission-service.js.map +1 -0
- package/runtime/services/device/permissions.js +34 -39
- package/runtime/services/device/permissions.js.map +1 -1
- package/runtime/services/device/scan-service.js +4 -3
- package/runtime/services/device/scan-service.js.map +1 -1
- package/styles/theme.js +24 -18
- package/styles/theme.js.map +1 -1
- package/variables/device/calendar/create-event.operation.js +12 -1
- package/variables/device/calendar/create-event.operation.js.map +1 -1
- package/variables/device/calendar/delete-event.operation.js +12 -1
- package/variables/device/calendar/delete-event.operation.js.map +1 -1
- package/variables/device/calendar/get-events.operation.js +12 -1
- package/variables/device/calendar/get-events.operation.js.map +1 -1
- package/variables/device/camera/capture-image.operation.js +8 -1
- package/variables/device/camera/capture-image.operation.js.map +1 -1
- package/variables/device/camera/capture-video.operation.js +7 -1
- package/variables/device/camera/capture-video.operation.js.map +1 -1
- package/variables/device/contacts/get-contacts.operation.js +12 -1
- package/variables/device/contacts/get-contacts.operation.js.map +1 -1
- package/variables/device/device/current-geo-position.operation.js +12 -1
- package/variables/device/device/current-geo-position.operation.js.map +1 -1
- package/variables/device/file/upload-file.operation.js +17 -3
- package/variables/device/file/upload-file.operation.js.map +1 -1
- package/variables/device/scan/scan.operation.js +12 -1
- package/variables/device/scan/scan.operation.js.map +1 -1
- package/variables/http.service.js +6 -1
- package/variables/http.service.js.map +1 -1
- package/core/components/error-fallback.component.js +0 -264
- package/core/components/error-fallback.component.js.map +0 -1
- package/core/sticky-container.component.js +0 -175
- package/core/sticky-container.component.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","ScrollView","WmLottie","SafeAreaInsetsContext","WmPageContentState","WmPageContent","constructor","props","_defineProperty","event","scrollPosition","nativeEvent","contentOffset","y","Math","abs","previousScrollPosition","e","scrollDirection","invokeEventCallback","proxy","notify","hideMode","DONOT_ADD_TO_DOM","scrollRef","subscribe","args","scrollTo","_this$scrollRef","current","scrollToEnd","position","_this$scrollRef2","x","Animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","behavior","undefined","keyboardVerticalOffset","flex","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","ref","contentContainerStyle","showsVerticalScrollIndicator","onScroll","handleScroll","alwaysBounceVertical","alwaysBounceHorizontal","bounces","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject } from 'react';\nimport { KeyboardAvoidingView, Platform, View, NativeSyntheticEvent, NativeScrollEvent } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {}\n\nexport interface CustomScrollEvent {\n scrollDirection: number;\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n private previousScrollPosition: number = 0;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current.scrollToEnd();\n });\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n Animated: true\n });\n }\n\n private handleScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const scrollPosition = event.nativeEvent.contentOffset.y;\n if(Math.abs(scrollPosition - this.previousScrollPosition) >= 8 && scrollPosition >=0){\n const e = event as unknown as CustomScrollEvent;\n if (scrollPosition > this.previousScrollPosition) {\n e.scrollDirection = 1;\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n } else if (scrollPosition === this.previousScrollPosition) {\n e.scrollDirection = 0;\n } else {\n e.scrollDirection = -1;\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n this.previousScrollPosition = scrollPosition;\n this.notify('scroll', [e]);\n }\n };\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n } \n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n};\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n \n }}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <ScrollView \n keyboardShouldPersistTaps={props.keyboardpersisttaps}\n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={this.handleScroll}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAmB,OAAO;AACnD,SAASC,oBAAoB,EAAEC,QAAQ,EAAEC,IAAI,QAAiD,cAAc;AAC5G,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,QAAQ,QAAQ,6CAA6C;AACtE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAC1E,SAASC,UAAU,QAAQ,8BAA8B;AACzD,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,OAAO,MAAMC,kBAAkB,SAASN,kBAAkB,CAAqB;AAM/E,eAAe,MAAMO,aAAa,SAASR,aAAa,CAA8D;EAIpHS,WAAWA,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;IAACS,eAAA;IAAAA,eAAA,iCAHf,CAAC;IAAAA,eAAA,uBAwBlBC,KAA8C,IAAK;MACzE,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,CAACC,aAAa,CAACC,CAAC;MACxD,IAAGC,IAAI,CAACC,GAAG,CAACL,cAAc,GAAG,IAAI,CAACM,sBAAsB,CAAC,IAAI,CAAC,IAAIN,cAAc,IAAG,CAAC,EAAC;QACnF,MAAMO,CAAC,GAAGR,KAAqC;QAC/C,IAAIC,cAAc,GAAG,IAAI,CAACM,sBAAsB,EAAE;UAChDC,CAAC,CAACC,eAAe,GAAG,CAAC;UACrB,IAAI,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAC3D,CAAC,MAAM,IAAIV,cAAc,KAAK,IAAI,CAACM,sBAAsB,EAAE;UACzDC,CAAC,CAACC,eAAe,GAAG,CAAC;QACvB,CAAC,MAAM;UACLD,CAAC,CAACC,eAAe,GAAG,CAAC,CAAC;UACtB,IAAI,CAACC,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAC7D;QACA,IAAI,CAACJ,sBAAsB,GAAGN,cAAc;QAC5C,IAAI,CAACW,MAAM,CAAC,QAAQ,EAAE,CAACJ,CAAC,CAAC,CAAC;MAC5B;IACF,CAAC;IApCC,IAAI,CAACK,QAAQ,GAAG1B,QAAQ,CAAC2B,gBAAgB;IACzC,IAAI,CAACC,SAAS,gBAAGjC,SAAS,CAAC,CAAC;IAE5B,IAAI,CAACkC,SAAS,CAAC,kBAAkB,EAAGC,IAAS,IAAK;MAChD,IAAI,CAACC,QAAQ,CAACD,IAAI,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,CAACD,SAAS,CAAC,aAAa,EAAE,MAAM;MAAA,IAAAG,eAAA;MAClC,CAAAA,eAAA,OAAI,CAACJ,SAAS,cAAAI,eAAA,eAAdA,eAAA,CAAgBC,OAAO,CAACC,WAAW,CAAC,CAAC;IACvC,CAAC,CAAC;EACJ;EAEOH,QAAQA,CAACI,QAAgC,EAAC;IAAA,IAAAC,gBAAA;IAC/C,CAAAA,gBAAA,OAAI,CAACR,SAAS,cAAAQ,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBH,OAAO,cAAAG,gBAAA,eAAvBA,gBAAA,CAAyBL,QAAQ,CAAC;MAChCM,CAAC,EAAEF,QAAQ,CAACE,CAAC;MACbpB,CAAC,EAAEkB,QAAQ,CAAClB,CAAC;MACbqB,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EAoBOC,cAAcA,CAAC5B,KAAyB,EAAmB;IAChE,IAAG,IAAI,CAACA,KAAK,CAAC6B,yBAAyB,EAAE;MACvC,oBAAO9C,KAAA,CAAA+C,aAAA,CAAC3C,IAAI;QAAC4C,KAAK,EAAE,CAAC;UAACC,KAAK,EAAE;QAAM,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,IAAI;MAAE,gBACvDnD,KAAA,CAAA+C,aAAA,CAACnC,QAAQ;QAACsC,MAAM,EAAE;UAAEE,OAAO,EAAE;YAAC,GAAG,IAAI,CAACF,MAAM,CAACC,IAAI;YAAE,GAAG,IAAI,CAACD,MAAM,CAACG,QAAQ,CAACF;UAAI;QAAE,CAAE;QAACG,MAAM,EAAE,IAAI,CAACrC,KAAK,CAAC6B,yBAA0B;QAACS,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAACxC,KAAK,CAACyC;MAAuB,CAAC,CACnM,CAAC;IACT;IACA,OAAO,IAAI;EACb;EAEAC,YAAYA,CAAC1C,KAAyB,EAAE;IACtC,MAAM2C,aAAa,GAAI,IAAI,CAACV,MAAM,CAACC,IAAI,CAASU,cAAc,IAAI,aAAa;IAC/E,MAAMC,kBAAkB,GAAG;MAC7BC,YAAY,EAAE,IAAI,CAACb,MAAM,CAACC,IAAI,CAACY,YAAY;MAC3CC,mBAAmB,EAAE,IAAI,CAACd,MAAM,CAACC,IAAI,CAACa,mBAAmB;MACzDC,oBAAoB,EAAE,IAAI,CAACf,MAAM,CAACC,IAAI,CAACc,oBAAoB;MAC3DC,sBAAsB,EAAE,IAAI,CAAChB,MAAM,CAACC,IAAI,CAACe,sBAAsB;MAC/DC,uBAAuB,EAAE,IAAI,CAACjB,MAAM,CAACC,IAAI,CAACgB;IAC5C,CAAC;IACG,OAAQlD,KAAK,CAACmD,UAAU,IAAI/D,gBAAgB,CAAC,CAAC,gBAC5CL,KAAA,CAAA+C,aAAA,CAAC3C,IAAI;MAAC4C,KAAK,EAAE;QAACqB,MAAM,EAAE,MAAM;QAAEpB,KAAK,EAAE,MAAM;QACxC,GAAGa,kBAAkB;QACvBQ,eAAe,EAAE,IAAI,CAACC,aAAa,IAAI,IAAI,CAACrB,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACmB,eAAe,GAAG,IAAI,CAACpB,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACmB,eAAe,GAAG,IAAI,CAACpB,MAAM,CAACC,IAAI,CAACmB;MAEhJ;IAAE,GACA,IAAI,CAACE,WAAW,eACjBxE,KAAA,CAAA+C,aAAA,CAAClC,qBAAqB,CAAC4D,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,MAAMC,cAAc,GAAG9D,KAAK,CAAC+D,YAAY,GAAI,CAAAN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC,GAAI,CAAC;MACrE,MAAMK,cAAc,GAAG9E,QAAQ,CAAC+E,EAAE,KAAK,KAAK,GAAGH,cAAc,GAAG9D,KAAK,CAACkE,sBAAsB,GAAGJ,cAAc;MAC7G,oBACE/E,KAAA,CAAA+C,aAAA,CAAC7C,oBAAoB;QACnBkF,QAAQ,EAAEjF,QAAQ,CAAC+E,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGG,SAAU;QACxDC,sBAAsB,EAAEL,cAAe;QACvCjC,KAAK,EAAE;UAAEuC,IAAI,EAAE;QAAE;MAAE,gBACnBvF,KAAA,CAAA+C,aAAA,CAACpC,UAAU;QACT6E,yBAAyB,EAAEvE,KAAK,CAACwE,mBAAoB;QACrDC,MAAM,EAAE,IAAI,CAACC,SAAS,CAAC,yBAAyB,CAAE;QAClDC,GAAG,EAAE,IAAI,CAAC1D,SAAU;QACpB2D,qBAAqB,EAAE,CAAC,IAAI,CAAC3C,MAAM,CAACC,IAAI,EAAE;UAACmB,eAAe,EAAE;QAAa,CAAC,CAAE;QAC5EwB,4BAA4B,EAAElC,aAAc;QAC5CmC,QAAQ,EAAE,IAAI,CAACC,YAAa;QAC5BC,oBAAoB,EAAE,KAAM;QAC5BC,sBAAsB,EAAE,KAAM;QAC9BC,OAAO,EAAE,KAAM;QACfC,mBAAmB,EAAE;MAAG,GACvBnF,KAAK,CAACoF,QACG,CACQ,CAAC;IACxB,CAC2B,CAC5B,CAAC,gBAEPrG,KAAA,CAAA+C,aAAA,CAAC3C,IAAI;MAAC4C,KAAK,EAAE,CAAC,IAAI,CAACE,MAAM,CAACC,IAAI,EAC1B;QAACmB,eAAe,EAAE,IAAI,CAACC,aAAa,GAClC,IAAI,CAACrB,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACmB,eAAe,GACzC,IAAI,CAACpB,MAAM,CAACC,IAAI,CAACmB;MAAe,CAAC;IAAE,gBACvCtE,KAAA,CAAA+C,aAAA,CAAClC,qBAAqB,CAAC4D,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,MAAMC,cAAc,GAAG9D,KAAK,CAAC+D,YAAY,GAAI,CAAAN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC,GAAI,CAAC;MACrE,MAAMK,cAAc,GAAG9E,QAAQ,CAAC+E,EAAE,KAAK,KAAK,GAAGH,cAAc,GAAG9D,KAAK,CAACkE,sBAAsB,GAAGJ,cAAc;MAC7G,oBACE/E,KAAA,CAAA+C,aAAA,CAAC7C,oBAAoB;QACnBkF,QAAQ,EAAEjF,QAAQ,CAAC+E,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGG,SAAU;QACxDC,sBAAsB,EAAEL,cAAe;QACvCjC,KAAK,EAAE;UAAEuC,IAAI,EAAE;QAAE;MAAE,GAClB,IAAI,CAACf,WAAW,EAChBvD,KAAK,CAACoF,QACa,CAAC;IACxB,CAC2B,CAC5B,CACP;EACH;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","createRef","KeyboardAvoidingView","Platform","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","WmLottie","SafeAreaInsetsContext","Animated","StickyWrapperContext","isNumber","WmPageContentState","constructor","args","_defineProperty","WmPageContent","props","event","_event$nativeEvent","onScrollEndDrag","scrollDirection","context","scrollPosition","nativeEvent","contentOffset","y","value","invokeEventCallback","proxy","scrollRef","requestAnimationFrame","notify","hideMode","DONOT_ADD_TO_DOM","state","navHeightForRender","subscribe","scrollTo","_this$scrollRef","current","scrollToEnd","componentDidMount","navHeight","_unsubscribeNavHeight","navHeightValue","setState","componentWillUnmount","position","_this$scrollRef2","x","animated","renderSkeleton","skeletonanimationresource","createElement","style","width","styles","root","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","renderWidget","showScrollbar","scrollbarColor","bottomTabHeight","onScroll","borderRadiusStyles","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","scrollable","height","backgroundColor","_showSkeleton","_background","Consumer","insets","top","bottom","left","right","_this$styles","_this$styles2","_this$styles3","_this$styles4","keyboardOffset","consumenotch","verticalOffset","OS","keyboardverticaloffset","paddingTop","padding","paddingBottom","paddingTopVal","paddingBottomVal","navHeightVal","onscroll","behavior","undefined","keyboardVerticalOffset","flex","ScrollView","keyboardShouldPersistTaps","keyboardpersisttaps","testID","getTestId","ref","contentContainerStyle","onLayout","handleScrollViewLayout","showsVerticalScrollIndicator","alwaysBounceVertical","alwaysBounceHorizontal","bounces","overScrollMode","removeClippedSubviews","handleOnScrollEndDrag","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React, { createRef, RefObject, useEffect, useState } from 'react';\nimport { KeyboardAvoidingView, Platform, View } from 'react-native';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageContentProps from './page-content.props';\nimport { DEFAULT_CLASS, WmPageContentStyles } from './page-content.styles';\nimport WmLottie from '@wavemaker/app-rn-runtime/components/basic/lottie/lottie.component';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport Animated from 'react-native-reanimated';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { isNumber } from 'lodash-es';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n navHeightForRender = 0;\n}\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n private scrollRef: RefObject<any>;\n static contextType = StickyWrapperContext;\n private _unsubscribeNavHeight : any;\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.scrollRef = createRef();\n \n this.state = {\n ...this.state,\n navHeightForRender: 0,\n };\n\n this.subscribe('scrollToPosition', (args: any) => {\n this.scrollTo(args);\n });\n\n this.subscribe('scrollToEnd', () => {\n this.scrollRef?.current?.scrollToEnd();\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n const { navHeight } = this.context as StickyWrapperContextType;\n this._unsubscribeNavHeight = this.subscribe('updateNavHeight', (navHeightValue: number) => {\n if (this.state.navHeightForRender !== navHeightValue) {\n this.setState({ navHeightForRender: navHeightValue });\n }\n return null;\n });\n if (navHeight) {\n this.setState({ navHeightForRender: navHeight.value });\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n if (this._unsubscribeNavHeight) this._unsubscribeNavHeight();\n }\n\n public scrollTo(position: {x: number, y: number}){\n this.scrollRef?.current?.scrollTo({\n x: position.x,\n y: position.y,\n animated: true\n });\n }\n\n private handleOnScrollEndDrag = (event: any) => {\n const { onScrollEndDrag, scrollDirection } = this.context as StickyWrapperContextType;\n const scrollPosition = event?.nativeEvent?.contentOffset?.y;\n if (scrollPosition >= 0) {\n if(scrollDirection.value > 0) {\n this.invokeEventCallback('onSwipeup', [null, this.proxy]);\n }else {\n this.invokeEventCallback('onSwipedown', [null, this.proxy]);\n }\n onScrollEndDrag(this.scrollRef);\n }\n }\n\n public renderSkeleton(props: WmPageContentProps): React.ReactNode {\n if(this.props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles.root]}>\n <WmLottie styles={{ content: {...this.styles.root, ...this.styles.skeleton.root} }} source={this.props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n } \n return null;\n }\n\n private handleScrollViewLayout = () => {\n requestAnimationFrame(() => {\n this.notify('updateStickyHeaders', []);\n });\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n const { bottomTabHeight, onScroll } = this.context as StickyWrapperContextType;\n const borderRadiusStyles = {\n borderRadius: this.styles.root.borderRadius,\n borderTopLeftRadius: this.styles.root.borderTopLeftRadius,\n borderTopRightRadius: this.styles.root.borderTopRightRadius,\n borderBottomLeftRadius: this.styles.root.borderBottomLeftRadius,\n borderBottomRightRadius: this.styles.root.borderBottomRightRadius,\n };\n return (props.scrollable || isWebPreviewMode()) ? (\n <View style={{height: '100%', width: '100%',\n ...borderRadiusStyles,\n backgroundColor: this._showSkeleton && this.styles.skeleton.root.backgroundColor ? this.styles.skeleton.root.backgroundColor : this.styles.root.backgroundColor\n \n }}>\n {this._background}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n const paddingTop = this.styles?.root?.paddingTop || this.styles?.root?.padding;\n const paddingBottom = this.styles?.root?.paddingBottom || this.styles?.root?.padding;\n const paddingTopVal = isNumber(paddingTop) ? paddingTop : 0;\n const paddingBottomVal = isNumber(paddingBottom) ? paddingBottom : 0;\n const navHeightVal = (this.props.onscroll == 'topnav' || this.props.onscroll == 'topnav-bottomnav') ? this.state.navHeightForRender : 0;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n <Animated.ScrollView\n keyboardShouldPersistTaps={props.keyboardpersisttaps}\n testID={this.getTestId(\"page_content_scrollview\")}\n ref={this.scrollRef}\n contentContainerStyle={[\n this.styles.root, {backgroundColor: 'transparent', \n paddingTop: navHeightVal + paddingTopVal, \n paddingBottom: bottomTabHeight.value + paddingBottomVal\n }\n ]}\n onLayout={this.handleScrollViewLayout}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={onScroll}\n alwaysBounceVertical={false}\n alwaysBounceHorizontal={false}\n bounces={false}\n overScrollMode=\"never\"\n removeClippedSubviews={Platform.OS == 'android'}\n onScrollEndDrag={this.handleOnScrollEndDrag}\n >\n {props.children}\n </Animated.ScrollView>\n </KeyboardAvoidingView>\n )\n }}\n </SafeAreaInsetsContext.Consumer>\n </View> \n ) : (\n <View style={[this.styles.root,\n {backgroundColor: this._showSkeleton ?\n this.styles.skeleton.root.backgroundColor : \n this.styles.root.backgroundColor}]}>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const keyboardOffset = props.consumenotch ? (insets?.bottom || 0) : 0;\n const verticalOffset = Platform.OS === 'ios' ? keyboardOffset + props.keyboardverticaloffset : keyboardOffset;\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n keyboardVerticalOffset={verticalOffset}\n style={{ flex: 1 }}>\n {this._background}\n {props.children}\n </KeyboardAvoidingView>\n )}}\n </SafeAreaInsetsContext.Consumer>\n </View>\n );\n }\n}"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAwC,OAAO;AACxE,SAASC,oBAAoB,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AACnE,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,QAAQ,QAAQ,6CAA6C;AACtE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAC1E,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAAmCC,oBAAoB,QAAQ,+CAA+C;AAC9G,SAASC,QAAQ,QAAQ,WAAW;AAEpC,OAAO,MAAMC,kBAAkB,SAASR,kBAAkB,CAAqB;EAAAS,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,6BACxD,CAAC;EAAA;AACxB;AACA,eAAe,MAAMC,aAAa,SAASb,aAAa,CAA8D;EAKpHU,WAAWA,CAACI,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEX,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;IAACU,eAAA;IAAAA,eAAA;IAAAA,eAAA,gCA6CvBG,KAAU,IAAK;MAAA,IAAAC,kBAAA;MAC9C,MAAM;QAAEC,eAAe;QAAEC;MAAgB,CAAC,GAAG,IAAI,CAACC,OAAmC;MACrF,MAAMC,cAAc,GAAGL,KAAK,aAALA,KAAK,gBAAAC,kBAAA,GAALD,KAAK,CAAEM,WAAW,cAAAL,kBAAA,gBAAAA,kBAAA,GAAlBA,kBAAA,CAAoBM,aAAa,cAAAN,kBAAA,uBAAjCA,kBAAA,CAAmCO,CAAC;MAC3D,IAAIH,cAAc,IAAI,CAAC,EAAE;QACvB,IAAGF,eAAe,CAACM,KAAK,GAAG,CAAC,EAAE;UAC5B,IAAI,CAACC,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAC3D,CAAC,MAAK;UACJ,IAAI,CAACD,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;QAC7D;QACAT,eAAe,CAAC,IAAI,CAACU,SAAS,CAAC;MACjC;IACF,CAAC;IAAAf,eAAA,iCAWgC,MAAM;MACrCgB,qBAAqB,CAAC,MAAM;QACxB,IAAI,CAACC,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC;MAC1C,CAAC,CAAC;IACJ,CAAC;IAtEC,IAAI,CAACC,QAAQ,GAAG/B,QAAQ,CAACgC,gBAAgB;IACzC,IAAI,CAACJ,SAAS,gBAAGjC,SAAS,CAAC,CAAC;IAE5B,IAAI,CAACsC,KAAK,GAAG;MACX,GAAG,IAAI,CAACA,KAAK;MACbC,kBAAkB,EAAE;IACtB,CAAC;IAED,IAAI,CAACC,SAAS,CAAC,kBAAkB,EAAGvB,IAAS,IAAK;MAChD,IAAI,CAACwB,QAAQ,CAACxB,IAAI,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,CAACuB,SAAS,CAAC,aAAa,EAAE,MAAM;MAAA,IAAAE,eAAA;MAClC,CAAAA,eAAA,OAAI,CAACT,SAAS,cAAAS,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBC,OAAO,cAAAD,eAAA,eAAvBA,eAAA,CAAyBE,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC;EACJ;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACrB,OAAmC;IAC9D,IAAI,CAACsB,qBAAqB,GAAG,IAAI,CAACP,SAAS,CAAC,iBAAiB,EAAGQ,cAAsB,IAAK;MACzF,IAAI,IAAI,CAACV,KAAK,CAACC,kBAAkB,KAAKS,cAAc,EAAE;QACpD,IAAI,CAACC,QAAQ,CAAC;UAAEV,kBAAkB,EAAES;QAAe,CAAC,CAAC;MACvD;MACA,OAAO,IAAI;IACb,CAAC,CAAC;IACF,IAAIF,SAAS,EAAE;MACb,IAAI,CAACG,QAAQ,CAAC;QAAEV,kBAAkB,EAAEO,SAAS,CAAChB;MAAM,CAAC,CAAC;IACxD;EACF;EAEAoB,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,IAAI,CAACH,qBAAqB,EAAE,IAAI,CAACA,qBAAqB,CAAC,CAAC;EAC9D;EAEON,QAAQA,CAACU,QAAgC,EAAC;IAAA,IAAAC,gBAAA;IAC/C,CAAAA,gBAAA,OAAI,CAACnB,SAAS,cAAAmB,gBAAA,gBAAAA,gBAAA,GAAdA,gBAAA,CAAgBT,OAAO,cAAAS,gBAAA,eAAvBA,gBAAA,CAAyBX,QAAQ,CAAC;MAChCY,CAAC,EAAEF,QAAQ,CAACE,CAAC;MACbxB,CAAC,EAAEsB,QAAQ,CAACtB,CAAC;MACbyB,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EAeOC,cAAcA,CAACnC,KAAyB,EAAmB;IAChE,IAAG,IAAI,CAACA,KAAK,CAACoC,yBAAyB,EAAE;MACvC,oBAAOzD,KAAA,CAAA0D,aAAA,CAACtD,IAAI;QAACuD,KAAK,EAAE,CAAC;UAACC,KAAK,EAAE;QAAM,CAAC,EAAE,IAAI,CAACC,MAAM,CAACC,IAAI;MAAE,gBACvD9D,KAAA,CAAA0D,aAAA,CAAC/C,QAAQ;QAACkD,MAAM,EAAE;UAAEE,OAAO,EAAE;YAAC,GAAG,IAAI,CAACF,MAAM,CAACC,IAAI;YAAE,GAAG,IAAI,CAACD,MAAM,CAACG,QAAQ,CAACF;UAAI;QAAE,CAAE;QAACG,MAAM,EAAE,IAAI,CAAC5C,KAAK,CAACoC,yBAA0B;QAACS,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAAC/C,KAAK,CAACgD;MAAuB,CAAC,CACnM,CAAC;IACT;IACA,OAAO,IAAI;EACb;EAQAC,YAAYA,CAACjD,KAAyB,EAAE;IACtC,MAAMkD,aAAa,GAAI,IAAI,CAACV,MAAM,CAACC,IAAI,CAASU,cAAc,IAAI,aAAa;IAC/E,MAAM;MAAEC,eAAe;MAAEC;IAAS,CAAC,GAAG,IAAI,CAAChD,OAAmC;IAC9E,MAAMiD,kBAAkB,GAAG;MACzBC,YAAY,EAAE,IAAI,CAACf,MAAM,CAACC,IAAI,CAACc,YAAY;MAC3CC,mBAAmB,EAAE,IAAI,CAAChB,MAAM,CAACC,IAAI,CAACe,mBAAmB;MACzDC,oBAAoB,EAAE,IAAI,CAACjB,MAAM,CAACC,IAAI,CAACgB,oBAAoB;MAC3DC,sBAAsB,EAAE,IAAI,CAAClB,MAAM,CAACC,IAAI,CAACiB,sBAAsB;MAC/DC,uBAAuB,EAAE,IAAI,CAACnB,MAAM,CAACC,IAAI,CAACkB;IAC5C,CAAC;IACD,OAAQ3D,KAAK,CAAC4D,UAAU,IAAI5E,gBAAgB,CAAC,CAAC,gBAC5CL,KAAA,CAAA0D,aAAA,CAACtD,IAAI;MAACuD,KAAK,EAAE;QAACuB,MAAM,EAAE,MAAM;QAAEtB,KAAK,EAAE,MAAM;QACxC,GAAGe,kBAAkB;QACvBQ,eAAe,EAAE,IAAI,CAACC,aAAa,IAAI,IAAI,CAACvB,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACqB,eAAe,GAAG,IAAI,CAACtB,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACqB,eAAe,GAAG,IAAI,CAACtB,MAAM,CAACC,IAAI,CAACqB;MAEhJ;IAAE,GACA,IAAI,CAACE,WAAW,eACjBrF,KAAA,CAAA0D,aAAA,CAAC9C,qBAAqB,CAAC0E,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA,EAAAC,aAAA;MACtD,MAAMC,cAAc,GAAG3E,KAAK,CAAC4E,YAAY,GAAI,CAAAV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC,GAAI,CAAC;MACrE,MAAMS,cAAc,GAAG/F,QAAQ,CAACgG,EAAE,KAAK,KAAK,GAAGH,cAAc,GAAG3E,KAAK,CAAC+E,sBAAsB,GAAGJ,cAAc;MAC7G,MAAMK,UAAU,GAAG,EAAAT,YAAA,OAAI,CAAC/B,MAAM,cAAA+B,YAAA,gBAAAA,YAAA,GAAXA,YAAA,CAAa9B,IAAI,cAAA8B,YAAA,uBAAjBA,YAAA,CAAmBS,UAAU,OAAAR,aAAA,GAAI,IAAI,CAAChC,MAAM,cAAAgC,aAAA,gBAAAA,aAAA,GAAXA,aAAA,CAAa/B,IAAI,cAAA+B,aAAA,uBAAjBA,aAAA,CAAmBS,OAAO;MAC9E,MAAMC,aAAa,GAAG,EAAAT,aAAA,OAAI,CAACjC,MAAM,cAAAiC,aAAA,gBAAAA,aAAA,GAAXA,aAAA,CAAahC,IAAI,cAAAgC,aAAA,uBAAjBA,aAAA,CAAmBS,aAAa,OAAAR,aAAA,GAAI,IAAI,CAAClC,MAAM,cAAAkC,aAAA,gBAAAA,aAAA,GAAXA,aAAA,CAAajC,IAAI,cAAAiC,aAAA,uBAAjBA,aAAA,CAAmBO,OAAO;MACpF,MAAME,aAAa,GAAGzF,QAAQ,CAACsF,UAAU,CAAC,GAAGA,UAAU,GAAG,CAAC;MAC3D,MAAMI,gBAAgB,GAAG1F,QAAQ,CAACwF,aAAa,CAAC,GAAGA,aAAa,GAAG,CAAC;MACpE,MAAMG,YAAY,GAAI,IAAI,CAACrF,KAAK,CAACsF,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAACtF,KAAK,CAACsF,QAAQ,IAAI,kBAAkB,GAAI,IAAI,CAACpE,KAAK,CAACC,kBAAkB,GAAG,CAAC;MACvI,oBACExC,KAAA,CAAA0D,aAAA,CAACxD,oBAAoB;QACnB0G,QAAQ,EAAEzG,QAAQ,CAACgG,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGU,SAAU;QACxDC,sBAAsB,EAAEZ,cAAe;QACvCvC,KAAK,EAAE;UAAEoD,IAAI,EAAE;QAAE;MAAE,gBACjB/G,KAAA,CAAA0D,aAAA,CAAC7C,QAAQ,CAACmG,UAAU;QAClBC,yBAAyB,EAAE5F,KAAK,CAAC6F,mBAAoB;QACrDC,MAAM,EAAE,IAAI,CAACC,SAAS,CAAC,yBAAyB,CAAE;QAClDC,GAAG,EAAE,IAAI,CAACnF,SAAU;QACpBoF,qBAAqB,EAAE,CACrB,IAAI,CAACzD,MAAM,CAACC,IAAI,EAAE;UAACqB,eAAe,EAAE,aAAa;UAC/CkB,UAAU,EAAEK,YAAY,GAAGF,aAAa;UACxCD,aAAa,EAAE9B,eAAe,CAAC1C,KAAK,GAAG0E;QACzC,CAAC,CACD;QACFc,QAAQ,EAAE,IAAI,CAACC,sBAAuB;QACtCC,4BAA4B,EAAElD,aAAc;QAC5CG,QAAQ,EAAEA,QAAS;QACnBgD,oBAAoB,EAAE,KAAM;QAC5BC,sBAAsB,EAAE,KAAM;QAC9BC,OAAO,EAAE,KAAM;QACfC,cAAc,EAAC,OAAO;QACtBC,qBAAqB,EAAE3H,QAAQ,CAACgG,EAAE,IAAI,SAAU;QAChD3E,eAAe,EAAE,IAAI,CAACuG;MAAsB,GAE3C1G,KAAK,CAAC2G,QACY,CACH,CAAC;IAE3B,CAC8B,CAC5B,CAAC,gBAEPhI,KAAA,CAAA0D,aAAA,CAACtD,IAAI;MAACuD,KAAK,EAAE,CAAC,IAAI,CAACE,MAAM,CAACC,IAAI,EAC1B;QAACqB,eAAe,EAAE,IAAI,CAACC,aAAa,GAClC,IAAI,CAACvB,MAAM,CAACG,QAAQ,CAACF,IAAI,CAACqB,eAAe,GACzC,IAAI,CAACtB,MAAM,CAACC,IAAI,CAACqB;MAAe,CAAC;IAAE,gBACvCnF,KAAA,CAAA0D,aAAA,CAAC9C,qBAAqB,CAAC0E,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,MAAMK,cAAc,GAAG3E,KAAK,CAAC4E,YAAY,GAAI,CAAAV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,MAAM,KAAI,CAAC,GAAI,CAAC;MACrE,MAAMS,cAAc,GAAG/F,QAAQ,CAACgG,EAAE,KAAK,KAAK,GAAGH,cAAc,GAAG3E,KAAK,CAAC+E,sBAAsB,GAAGJ,cAAc;MAC7G,oBACEhG,KAAA,CAAA0D,aAAA,CAACxD,oBAAoB;QACnB0G,QAAQ,EAAEzG,QAAQ,CAACgG,EAAE,KAAK,KAAK,GAAG,SAAS,GAAGU,SAAU;QACxDC,sBAAsB,EAAEZ,cAAe;QACvCvC,KAAK,EAAE;UAAEoD,IAAI,EAAE;QAAE;MAAE,GAClB,IAAI,CAAC1B,WAAW,EAChBhE,KAAK,CAAC2G,QACa,CAAC;IACxB,CAC2B,CAC5B,CACP;EACH;AACF;AAAC7G,eAAA,CA/JoBC,aAAa,iBAEXN,oBAAoB","ignoreList":[]}
|
@@ -12,6 +12,7 @@ export default class WmPageContentProps extends SkeletonAnimationProps {
|
|
12
12
|
_defineProperty(this, "keyboardverticaloffset", 100);
|
13
13
|
_defineProperty(this, "keyboardpersisttaps", 'never');
|
14
14
|
_defineProperty(this, "consumenotch", true);
|
15
|
+
_defineProperty(this, "onscroll", '');
|
15
16
|
}
|
16
17
|
}
|
17
18
|
//# sourceMappingURL=page-content.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\n\nexport default class WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n scrollable: boolean = true;\n onSwipeup?: Function = null as any; \n onSwipedown?: Function = null as any;\n keyboardverticaloffset: number = 100;\n keyboardpersisttaps: 'never'| 'always' | 'handled' = 'never';\n consumenotch: boolean = true;\n}"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAElG,eAAe,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,IAAI;IAAAA,eAAA,qBACA,IAAI;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,sBACF,IAAI;IAAAA,eAAA,iCACI,GAAG;IAAAA,eAAA,8BACiB,OAAO;IAAAA,eAAA,uBACpC,IAAI;EAAA;
|
1
|
+
{"version":3,"names":["SkeletonAnimationProps","WmPageContentProps","constructor","args","_defineProperty"],"sources":["page-content.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { SkeletonAnimationProps } from '@wavemaker/app-rn-runtime/runtime/base-fragment.component';\n\nexport default class WmPageContentProps extends SkeletonAnimationProps {\n children: any[] = null as any;\n scrollable: boolean = true;\n onSwipeup?: Function = null as any; \n onSwipedown?: Function = null as any;\n keyboardverticaloffset: number = 100;\n keyboardpersisttaps: 'never'| 'always' | 'handled' = 'never';\n consumenotch: boolean = true;\n onscroll: string = '';\n}"],"mappings":";;;AACA,SAASA,sBAAsB,QAAQ,2DAA2D;AAElG,eAAe,MAAMC,kBAAkB,SAASD,sBAAsB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBACjD,IAAI;IAAAA,eAAA,qBACA,IAAI;IAAAA,eAAA,oBACH,IAAI;IAAAA,eAAA,sBACF,IAAI;IAAAA,eAAA,iCACI,GAAG;IAAAA,eAAA,8BACiB,OAAO;IAAAA,eAAA,uBACpC,IAAI;IAAAA,eAAA,mBACT,EAAE;EAAA;AACzB","ignoreList":[]}
|
@@ -3,19 +3,18 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
3
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import React from 'react';
|
6
|
-
import { PanResponder,
|
6
|
+
import { PanResponder, View, StatusBar, Platform } from 'react-native';
|
7
7
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
8
8
|
import { DEFAULT_CLASS } from './page.styles';
|
9
9
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
10
|
-
import {
|
10
|
+
import { StickyViewComponents } from '@wavemaker/app-rn-runtime/core/sticky-view.component';
|
11
11
|
import { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
12
12
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
13
|
+
import * as NavigationBar from 'expo-navigation-bar';
|
13
14
|
export class WmPageState extends BaseComponentState {}
|
14
15
|
export default class WmPage extends BaseComponent {
|
15
16
|
constructor(props) {
|
16
17
|
super(props, DEFAULT_CLASS);
|
17
|
-
_defineProperty(this, "scrollRef", void 0);
|
18
|
-
_defineProperty(this, "previousScrollPosition", 0);
|
19
18
|
_defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
|
20
19
|
_defineProperty(this, "panResponder", PanResponder.create({
|
21
20
|
onStartShouldSetPanResponderCapture: e => {
|
@@ -23,59 +22,45 @@ export default class WmPage extends BaseComponent {
|
|
23
22
|
return false;
|
24
23
|
}
|
25
24
|
}));
|
26
|
-
_defineProperty(this, "onScroll", event => {
|
27
|
-
const scrollPosition = event.nativeEvent.contentOffset.y;
|
28
|
-
const scrollDelta = Math.abs(scrollPosition - this.previousScrollPosition);
|
29
|
-
if (scrollPosition >= 0) {
|
30
|
-
const e = event;
|
31
|
-
if (scrollPosition > this.previousScrollPosition) {
|
32
|
-
e.scrollDirection = 1;
|
33
|
-
} else if (scrollPosition === this.previousScrollPosition) {
|
34
|
-
e.scrollDirection = 0;
|
35
|
-
} else {
|
36
|
-
e.scrollDirection = -1;
|
37
|
-
}
|
38
|
-
e.scrollDelta = scrollDelta;
|
39
|
-
this.previousScrollPosition = scrollPosition;
|
40
|
-
this.notify('scroll', [e]);
|
41
|
-
}
|
42
|
-
});
|
43
|
-
this.scrollRef = /*#__PURE__*/React.createRef();
|
44
25
|
}
|
45
|
-
|
46
|
-
|
47
|
-
(_this$scrollRef = this.scrollRef) === null || _this$scrollRef === void 0 || (_this$scrollRef = _this$scrollRef.current) === null || _this$scrollRef === void 0 || _this$scrollRef.scrollTo({
|
48
|
-
x: position.x,
|
49
|
-
y: position.y,
|
50
|
-
Animated: true
|
51
|
-
});
|
26
|
+
componentDidMount() {
|
27
|
+
this.setNavigationBarColor();
|
52
28
|
}
|
53
|
-
|
29
|
+
componentDidUpdate(prevProps) {
|
30
|
+
if (prevProps.navigationbarstyle !== this.props.navigationbarstyle) {
|
31
|
+
this.setNavigationBarColor();
|
32
|
+
}
|
33
|
+
}
|
34
|
+
setNavigationBarColor() {
|
54
35
|
var _this$appConfig;
|
55
36
|
const isEdgeToEdgeApp = !!((_this$appConfig = this.appConfig) !== null && _this$appConfig !== void 0 && (_this$appConfig = _this$appConfig.edgeToEdgeConfig) !== null && _this$appConfig !== void 0 && _this$appConfig.isEdgeToEdgeApp);
|
56
|
-
|
57
|
-
|
37
|
+
if (Platform.OS !== 'android' || !isEdgeToEdgeApp) return;
|
38
|
+
const isDark = this.props.navigationbarstyle === 'dark';
|
39
|
+
const navbarColor = isDark ? 'rgba(0,0,0,0.2)' : 'rgba(255,255,255,0.5)';
|
40
|
+
const buttonStyle = isDark ? 'light' : 'dark';
|
41
|
+
NavigationBar.setBackgroundColorAsync(navbarColor);
|
42
|
+
NavigationBar.setButtonStyleAsync(buttonStyle);
|
43
|
+
}
|
44
|
+
renderWidget(props) {
|
45
|
+
var _this$appConfig2;
|
46
|
+
const isEdgeToEdgeApp = !!((_this$appConfig2 = this.appConfig) !== null && _this$appConfig2 !== void 0 && (_this$appConfig2 = _this$appConfig2.edgeToEdgeConfig) !== null && _this$appConfig2 !== void 0 && _this$appConfig2.isEdgeToEdgeApp);
|
47
|
+
return /*#__PURE__*/React.createElement(StickyViewComponents, {
|
48
|
+
hasAppnavbar: props.hasappnavbar,
|
49
|
+
onscroll: props.onscroll,
|
50
|
+
notifier: this.notifier
|
51
|
+
}, /*#__PURE__*/React.createElement(FixedViewContainer, null, isEdgeToEdgeApp && Platform.OS === "android" ? /*#__PURE__*/React.createElement(StatusBar, {
|
52
|
+
barStyle: props.statusbarstyle
|
58
53
|
}) : null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
59
54
|
top: 0,
|
60
55
|
bottom: 0,
|
61
56
|
left: 0,
|
62
57
|
right: 0
|
63
58
|
}) => {
|
64
|
-
return
|
65
|
-
ref: this.scrollRef
|
66
|
-
}, this.panResponder.panHandlers, {
|
67
|
-
style: [{
|
68
|
-
width: '100%',
|
69
|
-
height: '100%',
|
70
|
-
paddingTop: !(props !== null && props !== void 0 && props.hasappnavbar) && isEdgeToEdgeApp ? insets === null || insets === void 0 ? void 0 : insets.top : 0
|
71
|
-
}, this.styles.root],
|
72
|
-
onScroll: this.onScroll,
|
73
|
-
scrollEventThrottle: 16
|
74
|
-
}), this._background, props.children) : /*#__PURE__*/React.createElement(View, {
|
59
|
+
return /*#__PURE__*/React.createElement(View, _extends({}, this.getTestProps(), {
|
75
60
|
style: [{
|
76
61
|
paddingTop: !(props !== null && props !== void 0 && props.hasappnavbar) && isEdgeToEdgeApp ? insets === null || insets === void 0 ? void 0 : insets.top : 0
|
77
62
|
}, this.styles.root]
|
78
|
-
}, this._background, props.children);
|
63
|
+
}, this.panResponder.panHandlers), this._background, props.children);
|
79
64
|
})));
|
80
65
|
}
|
81
66
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","PanResponder","
|
1
|
+
{"version":3,"names":["React","PanResponder","View","StatusBar","Platform","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewComponents","FixedViewContainer","injector","NavigationBar","WmPageState","WmPage","constructor","props","_defineProperty","get","create","onStartShouldSetPanResponderCapture","e","notify","componentDidMount","setNavigationBarColor","componentDidUpdate","prevProps","navigationbarstyle","_this$appConfig","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","OS","isDark","navbarColor","buttonStyle","setBackgroundColorAsync","setButtonStyleAsync","renderWidget","_this$appConfig2","createElement","hasAppnavbar","hasappnavbar","onscroll","notifier","barStyle","statusbarstyle","Consumer","insets","top","bottom","left","right","_extends","getTestProps","style","paddingTop","styles","root","panResponder","panHandlers","_background","children"],"sources":["page.component.tsx"],"sourcesContent":["import React from 'react';\nimport { PanResponder, ScrollView, View, NativeSyntheticEvent, NativeScrollEvent ,StatusBar, Platform} from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmPageProps from './page.props';\nimport { DEFAULT_CLASS, WmPageStyles } from './page.styles';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyViewComponents } from '@wavemaker/app-rn-runtime/core/sticky-view.component';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport * as NavigationBar from 'expo-navigation-bar';\n\nexport class WmPageState extends BaseComponentState<WmPageProps> {}\n\nexport default class WmPage extends BaseComponent<WmPageProps, WmPageState, WmPageStyles> {\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n panResponder = PanResponder.create({\n onStartShouldSetPanResponderCapture: (e) => {\n this.notify('globaltouch', [e]);\n return false;\n },\n });\n constructor(props: WmPageProps) {\n super(props, DEFAULT_CLASS);\n }\n\n componentDidMount() {\n this.setNavigationBarColor();\n }\n\n componentDidUpdate(prevProps: WmPageProps) {\n if (prevProps.navigationbarstyle !== this.props.navigationbarstyle) {\n this.setNavigationBarColor();\n }\n }\n\n setNavigationBarColor() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n if (Platform.OS !== 'android' || !isEdgeToEdgeApp) return;\n \n const isDark = this.props.navigationbarstyle === 'dark';\n const navbarColor = isDark ? 'rgba(0,0,0,0.2)' : 'rgba(255,255,255,0.5)';\n \n const buttonStyle = isDark ? 'light' : 'dark';\n\n NavigationBar.setBackgroundColorAsync(navbarColor);\n NavigationBar.setButtonStyleAsync(buttonStyle);\n }\n\n renderWidget(props: WmPageProps) {\n\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n return (\n <StickyViewComponents hasAppnavbar={props.hasappnavbar} onscroll={props.onscroll} notifier={this.notifier}>\n <FixedViewContainer>\n {isEdgeToEdgeApp && Platform.OS ===\"android\" ? <StatusBar barStyle={props.statusbarstyle}/> : null}\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n return (\n <View \n {...this.getTestProps()}\n style={[{paddingTop : !props?.hasappnavbar && isEdgeToEdgeApp ? insets?.top : 0 },this.styles.root]} \n {...this.panResponder.panHandlers}\n > \n {this._background}\n {props.children}\n </View> \n )\n }}\n </SafeAreaInsetsContext.Consumer>\n </FixedViewContainer>\n </StickyViewComponents>\n ); \n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -6,9 +6,11 @@ export default class WmPageProps extends BaseProps {
|
|
6
6
|
constructor(...args) {
|
7
7
|
super(...args);
|
8
8
|
_defineProperty(this, "children", []);
|
9
|
-
_defineProperty(this, "scrollable", false);
|
10
9
|
_defineProperty(this, "hasappnavbar", true);
|
11
|
-
_defineProperty(this, "
|
10
|
+
_defineProperty(this, "onscroll", '');
|
11
|
+
// none, topnav, topnav-bottomnav
|
12
|
+
_defineProperty(this, "statusbarstyle", 'default');
|
13
|
+
_defineProperty(this, "navigationbarstyle", "light");
|
12
14
|
}
|
13
15
|
}
|
14
16
|
//# sourceMappingURL=page.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmPageProps","constructor","args","_defineProperty"],"sources":["page.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nexport default class WmPageProps extends BaseProps{\n children: any[] = [];\n
|
1
|
+
{"version":3,"names":["BaseProps","WmPageProps","constructor","args","_defineProperty"],"sources":["page.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nexport default class WmPageProps extends BaseProps{\n children: any[] = [];\n hasappnavbar:boolean = true;\n onscroll: string = ''; // none, topnav, topnav-bottomnav\n statusbarstyle:'default'|'dark-content'|'light-content' = 'default';\n navigationbarstyle:'dark'|'light' = \"light\";\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AACzE,eAAe,MAAMC,WAAW,SAASD,SAAS;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,mBAC9B,EAAE;IAAAA,eAAA,uBACG,IAAI;IAAAA,eAAA,mBACR,EAAE;IAAE;IAAAA,eAAA,yBACmC,SAAS;IAAAA,eAAA,6BAC/B,OAAO;EAAA;AAC7C","ignoreList":[]}
|
@@ -18,6 +18,7 @@ import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
|
18
18
|
import { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';
|
19
19
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
20
20
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
21
|
+
import { StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';
|
21
22
|
const scale = n => n;
|
22
23
|
class WmTabbarState extends BaseNavState {
|
23
24
|
constructor(...args) {
|
@@ -117,13 +118,13 @@ export default class WmTabbar extends BaseNavComponent {
|
|
117
118
|
const scrollPosition = contentOffset.y;
|
118
119
|
this.tabbarHeightWithInsets = this.tabbarHeightWithInsets ? this.tabbarHeightWithInsets : (_this$getLayout = this.getLayout()) === null || _this$getLayout === void 0 ? void 0 : _this$getLayout.height;
|
119
120
|
const visibleContentHeight = layoutMeasurement.height;
|
120
|
-
const endReached = scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets >= contentSize.height;
|
121
|
+
const endReached = scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets + 8 >= contentSize.height;
|
121
122
|
const bottomInsets = ((_this$insets = this.insets) === null || _this$insets === void 0 ? void 0 : _this$insets.bottom) || 0;
|
122
|
-
const e = event;
|
123
|
-
if (e.scrollDelta >= 2) {
|
124
|
-
if (e.scrollDirection
|
123
|
+
const e = event.nativeEvent;
|
124
|
+
if (Math.abs(e === null || e === void 0 ? void 0 : e.scrollDelta) >= 2) {
|
125
|
+
if ((e === null || e === void 0 ? void 0 : e.scrollDirection) > 0) {
|
125
126
|
this.animateWithTiming(0, 100);
|
126
|
-
} else if (e.scrollDirection
|
127
|
+
} else if ((e === null || e === void 0 ? void 0 : e.scrollDirection) < 0) {
|
127
128
|
this.animateWithTiming(this.tabbarHeightWithInsets + bottomInsets, 100);
|
128
129
|
}
|
129
130
|
}
|
@@ -139,6 +140,7 @@ export default class WmTabbar extends BaseNavComponent {
|
|
139
140
|
let max = 5;
|
140
141
|
const tabItems = this.state.dataItems;
|
141
142
|
const tabItemsLength = tabItems.length;
|
143
|
+
let bottomTabHeightValue;
|
142
144
|
const isClippedTabbar = (props.classname || '').indexOf('clipped-tabbar') >= 0 && tabItemsLength % 2 !== 0;
|
143
145
|
if (isClippedTabbar && tabItemsLength % 2 !== 0) {
|
144
146
|
const middleIndex = Math.floor(tabItemsLength / 2);
|
@@ -161,6 +163,9 @@ export default class WmTabbar extends BaseNavComponent {
|
|
161
163
|
}
|
162
164
|
max = max - 1;
|
163
165
|
}
|
166
|
+
const {
|
167
|
+
bottomTabHeight
|
168
|
+
} = this.context;
|
164
169
|
return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
165
170
|
top: 0,
|
166
171
|
bottom: 0,
|
@@ -181,7 +186,13 @@ export default class WmTabbar extends BaseNavComponent {
|
|
181
186
|
ref: ref => {
|
182
187
|
this.baseView = ref;
|
183
188
|
},
|
184
|
-
onLayout: event =>
|
189
|
+
onLayout: event => {
|
190
|
+
if (bottomTabHeight && this.props.hideonscroll) {
|
191
|
+
bottomTabHeightValue = event.nativeEvent.layout.height || 0;
|
192
|
+
bottomTabHeight.value = bottomTabHeightValue;
|
193
|
+
}
|
194
|
+
this.handleLayout(event);
|
195
|
+
}
|
185
196
|
}, isClippedTabbar ? /*#__PURE__*/React.createElement(Svg, {
|
186
197
|
width: this.maxWidth,
|
187
198
|
height: scale(this.styles.root.height),
|
@@ -208,6 +219,7 @@ export default class WmTabbar extends BaseNavComponent {
|
|
208
219
|
}
|
209
220
|
return null;
|
210
221
|
}), /*#__PURE__*/React.createElement(View, {
|
222
|
+
testID: "test_tabbar-menu",
|
211
223
|
style: this.styles.menu,
|
212
224
|
onLayout: e => {
|
213
225
|
this.tabbarHeight = e.nativeEvent.layout.height;
|
@@ -229,21 +241,20 @@ export default class WmTabbar extends BaseNavComponent {
|
|
229
241
|
translateY: this.translateY
|
230
242
|
}]
|
231
243
|
} : {};
|
232
|
-
return /*#__PURE__*/React.createElement(
|
244
|
+
return /*#__PURE__*/React.createElement(FixedView, {
|
245
|
+
name: this.props.name,
|
233
246
|
style: {
|
234
247
|
...{
|
235
248
|
bottom: 0,
|
236
|
-
width: '100%'
|
249
|
+
width: '100%',
|
250
|
+
zIndex: 11
|
237
251
|
},
|
238
252
|
...animateStyle
|
239
253
|
},
|
240
254
|
theme: this.theme,
|
241
255
|
animated: props.hideonscroll || false
|
242
|
-
}, this._background, this.renderContent(props))
|
243
|
-
style: {
|
244
|
-
opacity: 0
|
245
|
-
}
|
246
|
-
}, this.renderContent(props)));
|
256
|
+
}, this._background, this.renderContent(props));
|
247
257
|
}
|
248
258
|
}
|
259
|
+
_defineProperty(WmTabbar, "contextType", StickyWrapperContext);
|
249
260
|
//# sourceMappingURL=tabbar.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","tabbarHeightWithInsets","subscribe","event","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","getLayout","height","visibleContentHeight","endReached","bottomInsets","insets","e","scrollDelta","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","isClippedTabbar","middleIndex","Math","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","backgroundColor","menu","ref","baseView","onLayout","handleLayout","zIndex","position","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","layout","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","hideonscroll","transform","animated","_background","opacity"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent, \n NativeSyntheticEvent, NativeScrollEvent\n} from 'react-native';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: number;\n}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\nconst scale = (n: number) => n;\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T> {\n showMore = false;\n modalOptions = {} as ModalOptions;\n dataItems: TabDataItem[] = [];\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n private keyBoardShown = false;\n private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private tabbarHeightWithInsets: number = 0;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [this.styles.tabItem];\n \n return (\n <TouchableOpacity \n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {getDisplayLabel(item.label)}\n </Text>\n </TouchableOpacity>\n );\n }\n \n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value, \n easing: Easing.linear,\n duration: duratiion, \n useNativeDriver: false\n }).start()\n }\n\n subscribeToPageScroll(){\n this.tabbarHeightWithInsets = 0;\n this.destroyScrollListner = this.subscribe('scroll', (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const { contentOffset, layoutMeasurement, contentSize } = event.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n this.tabbarHeightWithInsets = this.tabbarHeightWithInsets ? this.tabbarHeightWithInsets : this.getLayout()?.height ;\n const visibleContentHeight = layoutMeasurement.height ;\n const endReached = (scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets) >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n const e = event as unknown as CustomScrollEvent;\n if(e.scrollDelta >= 2){\n if(e.scrollDirection < 0){\n this.animateWithTiming(0, 100)\n }else if(e.scrollDirection > 0) {\n this.animateWithTiming(this.tabbarHeightWithInsets + bottomInsets, 100)\n }\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number, \n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number , backgroundColor: this.styles.root.backgroundColor || this.styles.menu.backgroundColor} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]} \n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => this.handleLayout(event)} \n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>} \n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}> \n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return <>\n <FixedView \n style={{...{bottom: 0, width:'100%'}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this._background}\n {this.renderContent(props)}\n </FixedView>\n <View style={{ opacity: 0}}>\n {this.renderContent(props)}\n </View>\n </>\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","Keyboard","Animated","Easing","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","FixedView","SafeAreaInsetsContext","injector","StickyWrapperContext","scale","n","WmTabbarState","constructor","args","_defineProperty","WmTabbar","props","Value","get","width","cleanup","push","addListener","keyBoardShown","forceUpdate","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","renderTabItem","item","testId","onSelect","floating","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","length","classname","indexOf","styles","tabItem","paddingRight","createElement","_extends","getTestPropsForAction","style","centerHubItem","key","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","numberOfLines","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","isVisible","animateWithTiming","value","duratiion","timing","translateY","toValue","easing","linear","duration","useNativeDriver","start","tabbarHeightWithInsets","subscribe","event","_this$getLayout","_this$insets","contentOffset","layoutMeasurement","contentSize","nativeEvent","scrollPosition","y","getLayout","height","visibleContentHeight","endReached","bottomInsets","insets","e","Math","abs","scrollDelta","scrollDirection","componentWillUnmount","renderContent","max","tabItems","tabItemsLength","bottomTabHeightValue","isClippedTabbar","middleIndex","floor","returnpathDown","maxWidth","root","moreItems","moreItemsCount","ceil","j","i","row","bottomTabHeight","context","Consumer","top","left","right","_this$appConfig","paddingBottomVal","paddingBottom","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","backgroundColor","menu","ref","baseView","onLayout","hideonscroll","layout","handleLayout","zIndex","position","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","testID","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","transform","animated","_background"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions, Keyboard, Animated, Easing, LayoutChangeEvent, \n NativeSyntheticEvent, NativeScrollEvent\n} from 'react-native';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport NavigationService, { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/navigation.service';\nimport { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';\n\nimport WmTabbarProps from './tabbar.props';\nimport { DEFAULT_CLASS, WmTabbarStyles } from './tabbar.styles';\nimport Svg, { Path } from 'react-native-svg';\nimport { getPathDown } from './curve';\n// import { scale } from 'react-native-size-scaling';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { StickyWrapperContext, StickyWrapperContextType } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: number;\n}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\nconst scale = (n: number) => n;\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T> {\n showMore = false;\n modalOptions = {} as ModalOptions;\n dataItems: TabDataItem[] = [];\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n private keyBoardShown = false;\n private destroyScrollListner: Function = null as any;\n private translateY = new Animated.Value(0);\n private insets: EdgeInsets | null = null;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private tabbarHeightWithInsets: number = 0;\n static contextType = StickyWrapperContext;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n this.cleanup.push(Keyboard.addListener('keyboardWillShow', () => {\n this.keyBoardShown = true;\n this.forceUpdate();\n }).remove);\n this.cleanup.push(Keyboard.addListener('keyboardWillHide', () => {\n this.keyBoardShown = false;\n this.forceUpdate();\n }).remove);\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name){\n case 'hideonscroll':\n this.destroyScrollListner && this.destroyScrollListner();\n if($new) {\n this.subscribeToPageScroll();\n }\n break;\n }\n }\n\n renderTabItem(item: TabDataItem, testId: string, props: WmTabbarProps, onSelect: Function, floating = false) {\n\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let increasedGap = Number(testId) === item?.indexBeforeMid && (this.state.dataItems.length % 2!=0) && ((props.classname || '').indexOf('clipped-tabbar') >= 0)\n ? [this.styles.tabItem, { paddingRight: 70 }]\n : [this.styles.tabItem];\n \n return (\n <TouchableOpacity \n {...this.getTestPropsForAction('item' + testId)}\n style={[increasedGap, floating? this.styles.centerHubItem: {}]}\n key={`${item.label}_${testId}`}\n onPress={() => onSelect && onSelect()}>\n <View key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon\n styles={this.theme.mergeStyle({}, this.styles.tabIcon, floating? this.styles.centerHubIcon: {}, isActive ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}\n ></WmIcon>\n </View>\n </View>\n <Text style={[this.styles.tabLabel, floating? this.styles.centerHubLabel: {}, isActive ? this.styles.activeTabLabel : {}]} numberOfLines={1}>\n {getDisplayLabel(item.label)}\n </Text>\n </TouchableOpacity>\n );\n }\n \n onItemSelect(item: NavigationDataItem, navigationService: NavigationService) {\n item.link && navigationService.openUrl(item.link);\n this.invokeEventCallback('onSelect', [null, this.proxy, item]);\n }\n\n prepareModalOptions(content: ReactNode) {\n const o = this.state.modalOptions;\n o.content = content;\n o.modalStyle = {\n bottom: this.tabbarHeight\n };\n o.contentStyle = this.styles.modalContent; \n return o;\n }\n\n isVisible(): boolean {\n return super.isVisible() && !this.keyBoardShown;\n }\n\n animateWithTiming(value: number, duratiion: number): void {\n Animated.timing(this.translateY, {\n toValue: value, \n easing: Easing.linear,\n duration: duratiion, \n useNativeDriver: false\n }).start()\n }\n\n subscribeToPageScroll(){\n this.tabbarHeightWithInsets = 0;\n this.destroyScrollListner = this.subscribe('scroll', (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const { contentOffset, layoutMeasurement, contentSize } = event.nativeEvent ;\n const scrollPosition = contentOffset.y ;\n this.tabbarHeightWithInsets = this.tabbarHeightWithInsets ? this.tabbarHeightWithInsets : this.getLayout()?.height ;\n const visibleContentHeight = layoutMeasurement.height ;\n const endReached = (scrollPosition + visibleContentHeight + this.tabbarHeightWithInsets) + 8 >= contentSize.height ;\n const bottomInsets = this.insets?.bottom || 0\n const e = event.nativeEvent as any as CustomScrollEvent;\n if(Math.abs(e?.scrollDelta) >= 2){\n if(e?.scrollDirection > 0){\n this.animateWithTiming(0, 100)\n }else if(e?.scrollDirection < 0) {\n this.animateWithTiming(this.tabbarHeightWithInsets + bottomInsets, 100)\n }\n }\n if(endReached){\n this.animateWithTiming(0, 0)\n }\n })\n }\n\n componentWillUnmount(): void {\n this.destroyScrollListner && this.destroyScrollListner();\n }\n\n renderContent(props: WmTabbarProps){\n let max = 5;\n const tabItems = this.state.dataItems;\n const tabItemsLength = tabItems.length;\n let bottomTabHeightValue;\n const isClippedTabbar = ((props.classname || '').indexOf('clipped-tabbar') >= 0) && (tabItemsLength % 2 !== 0);\n if (isClippedTabbar && tabItemsLength % 2 !== 0) {\n const middleIndex = Math.floor(tabItemsLength / 2);\n tabItems[middleIndex]['floating'] = true;\n tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex-1;\n }\n this.returnpathDown = getPathDown(this.maxWidth, 65 ,60,this.styles.root.height as number);\n const moreItems = [] as any[][];\n if (tabItems.length > max) {\n const moreItemsCount = Math.ceil((tabItems.length + 1 - max)/ max) * max;\n let j = 0;\n for (let i = max-1; i < moreItemsCount;) {\n const row = [];\n for (let j = 0; j < max; j++) {\n row[j] = tabItems[i++] || {key: 'tabItem' + i} as TabDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n const { bottomTabHeight } = this.context as StickyWrapperContextType;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number, \n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number , backgroundColor: this.styles.root.backgroundColor || this.styles.menu.backgroundColor} : {}\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>(\n <View style={[this.styles.root, stylesWithFs]} \n ref={(ref)=> {this.baseView = ref as any}}\n onLayout={(event: LayoutChangeEvent) => {\n if(bottomTabHeight && this.props.hideonscroll) {\n bottomTabHeightValue = event.nativeEvent.layout.height || 0;\n bottomTabHeight.value = bottomTabHeightValue;\n }\n this.handleLayout(event);\n }}\n >\n {isClippedTabbar ? (\n <Svg width={this.maxWidth} height={scale(this.styles.root.height as number)} style={{zIndex: -1,position: 'absolute',backgroundColor: ThemeVariables.INSTANCE.transparent}}>\n <Path fill={ThemeVariables.INSTANCE.tabbarBackgroundColor} {...{ d: this.returnpathDown }}/>\n </Svg>\n ): <></>} \n <ModalConsumer>\n {(modalService: ModalService) => {\n if (this.state.showMore) {\n modalService.showModal(this.prepareModalOptions((\n <ThemeProvider value={this.theme} >\n <View style={this.styles.moreMenu}>\n {moreItems.map((a, i) =>\n (<View key={i} style={this.styles.moreMenuRow}>\n {a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))}\n </View>)\n )}\n </View>\n </ThemeProvider>)));\n } else {\n modalService.hideModal(this.state.modalOptions);\n }\n return null;\n }}\n </ModalConsumer>\n <View \n testID=\"test_tabbar-menu\"\n style={this.styles.menu}\n onLayout={e => { this.tabbarHeight = e.nativeEvent.layout.height}}> \n {tabItems.filter((item, i) => i < max)\n .map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as TabDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmTabbarProps) {\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n return (\n <FixedView \n name={this.props.name}\n style={{...{bottom: 0, width:'100%', zIndex: 11}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\n {this._background}\n {this.renderContent(props)}\n </FixedView>\n ) \n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/core/AppConfig.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n preferences:any;\n getServiceDefinitions: any;\n loggedInUser: any;\n selectedLocale: string;\n revertLayoutToExpo50: boolean,\n diagnostics: {\n appStartTime: number,\n appReadyTime: number,\n pageStartTime: number,\n pageReadyTime: number\n }, \n
|
1
|
+
{"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n preferences:any;\n getServiceDefinitions: any;\n loggedInUser: any;\n selectedLocale: string;\n revertLayoutToExpo50: boolean,\n diagnostics: {\n appStartTime: number,\n appReadyTime: number,\n pageStartTime: number,\n pageReadyTime: number\n }, \n edgeToEdgeConfig:any;\n prefabs?: {\n partials?: any[]\n }\n}"],"mappings":"","ignoreList":[]}
|