@wavemaker/app-rn-runtime 11.11.2-rc.6152 → 11.11.3-rc.6164
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/basic/bottomsheet/bottomsheet.component.js +315 -0
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -0
- package/components/basic/bottomsheet/bottomsheet.props.js +16 -0
- package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -0
- package/components/basic/bottomsheet/bottomsheet.styles.js +79 -0
- package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -0
- package/components/basic/progress-bar/progress-bar.component.js +36 -1
- package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- package/components/basic/progress-bar/progress-bar.props.js +3 -0
- package/components/basic/progress-bar/progress-bar.props.js.map +1 -1
- package/components/basic/progress-bar/progress-bar.styles.js +18 -2
- package/components/basic/progress-bar/progress-bar.styles.js.map +1 -1
- package/components/basic/tooltip/tooltip.component.js +2 -2
- package/components/basic/tooltip/tooltip.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +7 -7
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.styles.js +12 -0
- package/components/container/wizard/wizard.styles.js.map +1 -1
- package/components/data/list/list.component.js +15 -12
- package/components/data/list/list.component.js.map +1 -1
- package/components/input/slider/slider.component.js +1 -3
- package/components/input/slider/slider.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +2 -3
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/page/left-panel/left-panel.component.js +2 -3
- package/components/page/left-panel/left-panel.component.js.map +1 -1
- package/components/page/page.component.js +3 -4
- package/components/page/page.component.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +2 -3
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/accessibility.js +2 -0
- package/core/accessibility.js.map +1 -1
- package/npm-shrinkwrap.json +116 -86
- package/package-lock.json +116 -86
- package/package.json +2 -2
- package/runtime/App.js +17 -16
- package/runtime/App.js.map +1 -1
- package/styles/theme.variables.js +3 -0
- package/styles/theme.variables.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","BackHandler","Animated","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","SafeAreaInsetsContext","injector","FixedView","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","Value","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","subscribe","e","contentOffset","nativeEvent","scrollY","setValue","y","updateTranslateY","insets","_this$getLayout","navbarHeight","getLayout","height","topInsets","top","navbarRange","translateY","diffClamp","interpolate","inputRange","outputRange","extrapolate","forceUpdate","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","statusBarCustomisation","appConfig","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","ref","baseView","onLayout","event","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","isFixed","animateStyle","hideonscroll","transform","Fragment","width","animated","opacity"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler, Animated } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.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 { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private insets: EdgeInsets | null = null;\n private destroyScrollListner: Function = null as any;\n private scrollY: Animated.Value = new Animated.Value(0);\n private translateY: Animated.AnimatedInterpolation<number> = new Animated.Value(0);\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\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 subscribeToPageScroll(){\n this.destroyScrollListner = this.subscribe('scroll', (e: any)=>{\n const { contentOffset } = e.nativeEvent ;\n this.scrollY.setValue(contentOffset.y);\n })\n }\n\n updateTranslateY(insets: any):void {\n const navbarHeight = this.getLayout()?.height ;\n const topInsets = insets?.top || 0\n if(navbarHeight){\n const navbarRange = navbarHeight + topInsets;\n this.translateY = Animated.diffClamp(this.scrollY, 0, navbarRange).interpolate({\n inputRange: [0, navbarRange],\n outputRange: [0, -1 * navbarRange],\n extrapolate: 'clamp',\n });\n this.forceUpdate();\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n this.handleLayout(event);\n this.updateTranslateY(insets);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n\n return <>\n <FixedView \n style={{...{top: 0, width:'100%'}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\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","BackHandler","Animated","Badge","isAndroid","isWebPreviewMode","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","SafeAreaInsetsContext","injector","FixedView","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","get","Value","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","onPropertyChange","name","$new","$old","destroyScrollListner","subscribeToPageScroll","subscribe","e","contentOffset","nativeEvent","scrollY","setValue","y","updateTranslateY","insets","_this$getLayout","navbarHeight","getLayout","height","topInsets","top","navbarRange","translateY","diffClamp","interpolate","inputRange","outputRange","extrapolate","forceUpdate","renderContent","badge","badgevalue","undefined","createElement","_extends","style","styles","getTestProps","Consumer","bottom","left","right","_this$appConfig","paddingTopVal","root","paddingTop","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","ref","baseView","onLayout","event","handleLayout","_background","leftSection","showDrawerButton","id","getTestId","hint","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children","renderWidget","isFixed","animateStyle","hideonscroll","transform","Fragment","width","animated","opacity"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler, Animated } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\nimport { StickyView } from '@wavemaker/app-rn-runtime/core/sticky-container.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 { FixedView } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n private insets: EdgeInsets | null = null;\n private destroyScrollListner: Function = null as any;\n private scrollY: Animated.Value = new Animated.Value(0);\n private translateY: Animated.AnimatedInterpolation<number> = new Animated.Value(0);\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid() && !isWebPreviewMode()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\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 subscribeToPageScroll(){\n this.destroyScrollListner = this.subscribe('scroll', (e: any)=>{\n const { contentOffset } = e.nativeEvent ;\n this.scrollY.setValue(contentOffset.y);\n })\n }\n\n updateTranslateY(insets: any):void {\n const navbarHeight = this.getLayout()?.height ;\n const topInsets = insets?.top || 0\n if(navbarHeight){\n const navbarRange = navbarHeight + topInsets;\n this.translateY = Animated.diffClamp(this.scrollY, 0, navbarRange).interpolate({\n inputRange: [0, navbarRange],\n outputRange: [0, -1 * navbarRange],\n extrapolate: 'clamp',\n });\n this.forceUpdate();\n }\n }\n\n renderContent(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge} {...this.getTestProps('badge')}>{props.badgevalue}</Badge>): null;\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n const stylesWithFs = isEdgeToEdgeApp ? {height: this.styles.root.height as number + (insets?.top || 0) as number, \n paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <View style={[this.styles.root, stylesWithFs]} ref={ref => {this.baseView = ref as View}} onLayout={(event) => {\n this.handleLayout(event);\n this.updateTranslateY(insets);\n }}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n hint={'menu'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n hint={'back'}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n )}}\n </SafeAreaInsetsContext.Consumer>\n )\n }\n\n renderWidget(props: WmAppNavbarProps){\n this.isFixed = true;\n const animateStyle = props.hideonscroll ? {transform: [{translateY: this.translateY}]} : {};\n\n return <>\n <FixedView \n style={{...{top: 0, width:'100%'}, ...animateStyle}} \n theme={this.theme}\n animated={props.hideonscroll || false}>\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":[]}
|
@@ -45,9 +45,8 @@ export default class WmLeftPanel extends BaseComponent {
|
|
45
45
|
}) => {
|
46
46
|
var _this$appConfig;
|
47
47
|
const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;
|
48
|
-
const
|
49
|
-
const
|
50
|
-
const stylesWithFs = isFullScreenMode ? {
|
48
|
+
const isEdgeToEdgeApp = !!((_this$appConfig = this.appConfig) !== null && _this$appConfig !== void 0 && (_this$appConfig = _this$appConfig.edgeToEdgeConfig) !== null && _this$appConfig !== void 0 && _this$appConfig.isEdgeToEdgeApp);
|
49
|
+
const stylesWithFs = isEdgeToEdgeApp ? {
|
51
50
|
paddingTop: (paddingTopVal || 0) + ((insets === null || insets === void 0 ? void 0 : insets.top) || 0)
|
52
51
|
} : {};
|
53
52
|
return /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(ScrollView, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","FixedViewContainer","SafeAreaInsetsContext","injector","WmLeftPanelState","constructor","args","_defineProperty","WmLeftPanel","props","get","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","styles","root","paddingTop","padding","
|
1
|
+
{"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","FixedViewContainer","SafeAreaInsetsContext","injector","WmLeftPanelState","constructor","args","_defineProperty","WmLeftPanel","props","get","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","Consumer","insets","top","bottom","left","right","_this$appConfig","paddingTopVal","styles","root","paddingTop","padding","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","stylesWithFs","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","width","maxWidth","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { FixedViewContainer } from '@wavemaker/app-rn-runtime/core/fixed-view.component';\nimport { 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\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n \n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <SafeAreaInsetsContext.Consumer>{(insets = { top: 0, bottom: 0, left: 0, right: 0 })=>{\n const paddingTopVal = this.styles.root.paddingTop || this.styles.root.padding;\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n const stylesWithFs = isEdgeToEdgeApp ? {paddingTop: (paddingTopVal || 0) as number + (insets?.top || 0) as number} : {}\n return (\n <FixedViewContainer>\n <ScrollView \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n contentContainerStyle={[this.styles.root, {width: \"100%\", maxWidth: \"100%\"},stylesWithFs]}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n </FixedViewContainer>)\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,kBAAkB,QAAQ,qDAAqD;AACxF,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,OAAOC,QAAQ,MAAM,yCAAyC;AAG9D,OAAO,MAAMC,gBAAgB,SAASP,kBAAkB,CAAmB;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAASZ,aAAa,CAAwD;EAG5GS,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEV,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;IAACS,eAAA,oBAHlCJ,QAAQ,CAACO,GAAG,CAAY,YAAY,CAAC;EAIzD;EAEAC,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACJ,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACK,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAOP,KAAK,CAACK,aAAa,CAACL,KAAK,EAAE,IAAI,CAACE,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOV,KAAK,CAACW,QAAQ;EACvB;EAEAC,YAAYA,CAACZ,KAAuB,EAAE;IACpC,oBACEd,KAAA,CAAA2B,aAAA,CAACpB,qBAAqB,CAACqB,QAAQ,QAAE,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAG;MAAA,IAAAC,eAAA;MACpF,MAAMC,aAAa,GAAG,IAAI,CAACC,MAAM,CAACC,IAAI,CAACC,UAAU,IAAI,IAAI,CAACF,MAAM,CAACC,IAAI,CAACE,OAAO;MAC7E,MAAMC,eAAe,GAAG,CAAC,GAAAN,eAAA,GAAC,IAAI,CAACO,SAAS,cAAAP,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBQ,gBAAgB,cAAAR,eAAA,eAAhCA,eAAA,CAAkCM,eAAe;MAC3E,MAAMG,YAAY,GAAGH,eAAe,GAAG;QAACF,UAAU,EAAE,CAACH,aAAa,IAAI,CAAC,KAAe,CAAAN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,GAAG,KAAI,CAAC;MAAW,CAAC,GAAG,CAAC,CAAC;MACxH,oBACC9B,KAAA,CAAA2B,aAAA,CAACrB,kBAAkB,qBACjBN,KAAA,CAAA2B,aAAA,CAACtB,UAAU;QACTuC,QAAQ,EAAGC,KAAK,IAAK;UAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;QAAA,CAAE;QACtDE,mBAAmB,EAAE,EAAG;QACxBC,qBAAqB,EAAE,CAAC,IAAI,CAACZ,MAAM,CAACC,IAAI,EAAE;UAACY,KAAK,EAAE,MAAM;UAAEC,QAAQ,EAAE;QAAM,CAAC,EAACP,YAAY;MAAE,GACzF,IAAI,CAACQ,WAAW,EAChB,IAAI,CAACjC,aAAa,CAACJ,KAAK,CACf,CACM,CAAC;IACvB,CACgC,CAAC;EAErC;AACF","ignoreList":[]}
|
@@ -52,8 +52,7 @@ export default class WmPage extends BaseComponent {
|
|
52
52
|
}
|
53
53
|
renderWidget(props) {
|
54
54
|
var _this$appConfig;
|
55
|
-
const
|
56
|
-
const isFullScreenMode = !!(statusBarCustomisation !== null && statusBarCustomisation !== void 0 && statusBarCustomisation.translucent);
|
55
|
+
const isEdgeToEdgeApp = !!((_this$appConfig = this.appConfig) !== null && _this$appConfig !== void 0 && (_this$appConfig = _this$appConfig.edgeToEdgeConfig) !== null && _this$appConfig !== void 0 && _this$appConfig.isEdgeToEdgeApp);
|
57
56
|
return /*#__PURE__*/React.createElement(StickyViewContainer, null, /*#__PURE__*/React.createElement(FixedViewContainer, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
58
57
|
top: 0,
|
59
58
|
bottom: 0,
|
@@ -66,13 +65,13 @@ export default class WmPage extends BaseComponent {
|
|
66
65
|
style: [{
|
67
66
|
width: '100%',
|
68
67
|
height: '100%',
|
69
|
-
paddingTop: !(props !== null && props !== void 0 && props.hasappnavbar) &&
|
68
|
+
paddingTop: !(props !== null && props !== void 0 && props.hasappnavbar) && isEdgeToEdgeApp ? insets === null || insets === void 0 ? void 0 : insets.top : 0
|
70
69
|
}, this.styles.root],
|
71
70
|
onScroll: this.onScroll,
|
72
71
|
scrollEventThrottle: 16
|
73
72
|
}), this._background, props.children) : /*#__PURE__*/React.createElement(View, {
|
74
73
|
style: [{
|
75
|
-
paddingTop: !(props !== null && props !== void 0 && props.hasappnavbar) &&
|
74
|
+
paddingTop: !(props !== null && props !== void 0 && props.hasappnavbar) && isEdgeToEdgeApp ? insets === null || insets === void 0 ? void 0 : insets.top : 0
|
76
75
|
}, this.styles.root]
|
77
76
|
}, this._background, props.children);
|
78
77
|
})));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","PanResponder","ScrollView","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewContainer","FixedViewContainer","injector","WmPageState","WmPage","constructor","props","_defineProperty","get","create","onStartShouldSetPanResponderCapture","e","notify","event","scrollPosition","nativeEvent","contentOffset","y","scrollDelta","Math","abs","previousScrollPosition","scrollDirection","scrollRef","createRef","scrollTo","position","_this$scrollRef","current","x","Animated","renderWidget","_this$appConfig","
|
1
|
+
{"version":3,"names":["React","PanResponder","ScrollView","View","BaseComponent","BaseComponentState","DEFAULT_CLASS","SafeAreaInsetsContext","StickyViewContainer","FixedViewContainer","injector","WmPageState","WmPage","constructor","props","_defineProperty","get","create","onStartShouldSetPanResponderCapture","e","notify","event","scrollPosition","nativeEvent","contentOffset","y","scrollDelta","Math","abs","previousScrollPosition","scrollDirection","scrollRef","createRef","scrollTo","position","_this$scrollRef","current","x","Animated","renderWidget","_this$appConfig","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","createElement","Consumer","insets","top","bottom","left","right","scrollable","_extends","ref","panResponder","panHandlers","style","width","height","paddingTop","hasappnavbar","styles","root","onScroll","scrollEventThrottle","_background","children"],"sources":["page.component.tsx"],"sourcesContent":["import React from 'react';\nimport { PanResponder, ScrollView, View, NativeSyntheticEvent, NativeScrollEvent} from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmPageProps from './page.props';\nimport { DEFAULT_CLASS, WmPageStyles } from './page.styles';\nimport { SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyViewContainer } from '@wavemaker/app-rn-runtime/core/sticky-container.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';\n\nexport class WmPageState extends BaseComponentState<WmPageProps> {}\n\ninterface CustomScrollEvent {\n scrollDirection: number;\n scrollDelta: number;\n}\n\n\nexport default class WmPage extends BaseComponent<WmPageProps, WmPageState, WmPageStyles> {\n private scrollRef: React.RefObject<any>;\n private previousScrollPosition: number = 0;\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 this.scrollRef = React.createRef();\n }\n\n private onScroll = (event: NativeSyntheticEvent<NativeScrollEvent>)=>{\n const scrollPosition = event.nativeEvent.contentOffset.y;\n const scrollDelta = Math.abs(scrollPosition - this.previousScrollPosition) \n if(scrollPosition >=0){\n const e = event as unknown as CustomScrollEvent;\n if (scrollPosition > this.previousScrollPosition) {\n e.scrollDirection = 1;\n } else if (scrollPosition === this.previousScrollPosition) {\n e.scrollDirection = 0;\n } else {\n e.scrollDirection = -1;\n }\n e.scrollDelta = scrollDelta;\n this.previousScrollPosition = scrollPosition;\n this.notify('scroll', [e]);\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 renderWidget(props: WmPageProps) {\n\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n return (\n <StickyViewContainer>\n <FixedViewContainer>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n return props.scrollable ? \n <ScrollView\n ref={this.scrollRef}\n {...this.panResponder.panHandlers}\n style={[{ width:'100%', height:'100%', paddingTop : !props?.hasappnavbar && isEdgeToEdgeApp ? insets?.top : 0 }, this.styles.root]}\n onScroll={this.onScroll}\n scrollEventThrottle={16}\n >\n {this._background}\n {props.children}\n </ScrollView> : \n <View style={[{paddingTop : !props?.hasappnavbar && isEdgeToEdgeApp ? insets?.top : 0 },this.styles.root]}> \n {this._background}\n {props.children}\n </View>\n }}\n </SafeAreaInsetsContext.Consumer>\n </FixedViewContainer>\n </StickyViewContainer>\n ); \n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,UAAU,EAAEC,IAAI,QAAiD,cAAc;AAEtG,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAGjG,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,mBAAmB,QAAQ,2DAA2D;AAC/F,SAASC,kBAAkB,QAAQ,qDAAqD;AACxF,OAAOC,QAAQ,MAAM,yCAAyC;AAG9D,OAAO,MAAMC,WAAW,SAASN,kBAAkB,CAAc;AAQjE,eAAe,MAAMO,MAAM,SAASR,aAAa,CAAyC;EAWxFS,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAER,aAAe,CAAC;IAACS,eAAA;IAAAA,eAAA,iCAVS,CAAC;IAAAA,eAAA,oBACtBL,QAAQ,CAACM,GAAG,CAAY,YAAY,CAAC;IAAAD,eAAA,uBAE1Cd,YAAY,CAACgB,MAAM,CAAC;MACjCC,mCAAmC,EAAGC,CAAC,IAAK;QAC1C,IAAI,CAACC,MAAM,CAAC,aAAa,EAAE,CAACD,CAAC,CAAC,CAAC;QAC/B,OAAO,KAAK;MACd;IACF,CAAC,CAAC;IAAAJ,eAAA,mBAMkBM,KAA8C,IAAG;MACnE,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,CAACC,aAAa,CAACC,CAAC;MACxD,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACN,cAAc,GAAG,IAAI,CAACO,sBAAsB,CAAC;MAC1E,IAAGP,cAAc,IAAG,CAAC,EAAC;QACpB,MAAMH,CAAC,GAAGE,KAAqC;QAC/C,IAAIC,cAAc,GAAG,IAAI,CAACO,sBAAsB,EAAE;UAChDV,CAAC,CAACW,eAAe,GAAG,CAAC;QACvB,CAAC,MAAM,IAAIR,cAAc,KAAK,IAAI,CAACO,sBAAsB,EAAE;UACzDV,CAAC,CAACW,eAAe,GAAG,CAAC;QACvB,CAAC,MAAM;UACLX,CAAC,CAACW,eAAe,GAAG,CAAC,CAAC;QACxB;QACAX,CAAC,CAACO,WAAW,GAAGA,WAAW;QAC3B,IAAI,CAACG,sBAAsB,GAAGP,cAAc;QAC5C,IAAI,CAACF,MAAM,CAAC,QAAQ,EAAE,CAACD,CAAC,CAAC,CAAC;MAC5B;IACF,CAAC;IAnBC,IAAI,CAACY,SAAS,gBAAG/B,KAAK,CAACgC,SAAS,CAAC,CAAC;EACpC;EAoBOC,QAAQA,CAACC,QAAgC,EAAC;IAAA,IAAAC,eAAA;IAC/C,CAAAA,eAAA,OAAI,CAACJ,SAAS,cAAAI,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBC,OAAO,cAAAD,eAAA,eAAvBA,eAAA,CAAyBF,QAAQ,CAAC;MAChCI,CAAC,EAAEH,QAAQ,CAACG,CAAC;MACbZ,CAAC,EAAES,QAAQ,CAACT,CAAC;MACba,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EAEAC,YAAYA,CAACzB,KAAkB,EAAE;IAAA,IAAA0B,eAAA;IAE/B,MAAMC,eAAe,GAAG,CAAC,GAAAD,eAAA,GAAC,IAAI,CAACE,SAAS,cAAAF,eAAA,gBAAAA,eAAA,GAAdA,eAAA,CAAgBG,gBAAgB,cAAAH,eAAA,eAAhCA,eAAA,CAAkCC,eAAe;IAE3E,oBACEzC,KAAA,CAAA4C,aAAA,CAACpC,mBAAmB,qBAClBR,KAAA,CAAA4C,aAAA,CAACnC,kBAAkB,qBACnBT,KAAA,CAAA4C,aAAA,CAACrC,qBAAqB,CAACsC,QAAQ,QAC5B,CAACC,MAAM,GAAG;MAAEC,GAAG,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC,KAAK;MACtD,OAAOpC,KAAK,CAACqC,UAAU,gBACvBnD,KAAA,CAAA4C,aAAA,CAAC1C,UAAU,EAAAkD,QAAA;QACTC,GAAG,EAAE,IAAI,CAACtB;MAAU,GAChB,IAAI,CAACuB,YAAY,CAACC,WAAW;QACjCC,KAAK,EAAE,CAAC;UAAEC,KAAK,EAAC,MAAM;UAAEC,MAAM,EAAC,MAAM;UAAEC,UAAU,EAAG,EAAC7C,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE8C,YAAY,KAAInB,eAAe,GAAGK,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,GAAG,GAAG;QAAE,CAAC,EAAE,IAAI,CAACc,MAAM,CAACC,IAAI,CAAE;QACnIC,QAAQ,EAAE,IAAI,CAACA,QAAS;QACxBC,mBAAmB,EAAE;MAAG,IAEvB,IAAI,CAACC,WAAW,EAChBnD,KAAK,CAACoD,QACG,CAAC,gBACblE,KAAA,CAAA4C,aAAA,CAACzC,IAAI;QAACqD,KAAK,EAAE,CAAC;UAACG,UAAU,EAAG,EAAC7C,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE8C,YAAY,KAAInB,eAAe,GAAGK,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEC,GAAG,GAAG;QAAE,CAAC,EAAC,IAAI,CAACc,MAAM,CAACC,IAAI;MAAE,GACvG,IAAI,CAACG,WAAW,EAChBnD,KAAK,CAACoD,QACH,CAAC;IACT,CAC8B,CACZ,CACF,CAAC;EAEzB;AACF","ignoreList":[]}
|
@@ -170,9 +170,8 @@ export default class WmTabbar extends BaseNavComponent {
|
|
170
170
|
var _this$appConfig;
|
171
171
|
this.insets = insets;
|
172
172
|
const paddingBottomVal = this.styles.root.paddingBottom || this.styles.root.padding;
|
173
|
-
const
|
174
|
-
const
|
175
|
-
const stylesWithFs = isFullScreenMode ? {
|
173
|
+
const isEdgeToEdgeApp = !!((_this$appConfig = this.appConfig) !== null && _this$appConfig !== void 0 && (_this$appConfig = _this$appConfig.edgeToEdgeConfig) !== null && _this$appConfig !== void 0 && _this$appConfig.isEdgeToEdgeApp);
|
174
|
+
const stylesWithFs = isEdgeToEdgeApp ? {
|
176
175
|
height: this.styles.root.height + ((insets === null || insets === void 0 ? void 0 : insets.bottom) || 0),
|
177
176
|
paddingBottom: (paddingBottomVal || 0) + ((insets === null || insets === void 0 ? void 0 : insets.bottom) || 0)
|
178
177
|
} : {};
|
@@ -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","statusBarCustomisation","appConfig","preferences","statusbarStyles","isFullScreenMode","translucent","stylesWithFs","ref","baseView","onLayout","handleLayout","zIndex","position","backgroundColor","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","menu","layout","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","hideonscroll","transform","animated","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 statusBarCustomisation = this.appConfig?.preferences?.statusbarStyles;\n const isFullScreenMode = !!statusBarCustomisation?.translucent;\n const stylesWithFs = isFullScreenMode ? {height: this.styles.root.height as number + (insets?.bottom || 0) as number, \n paddingBottom: (paddingBottomVal || 0) as number + (insets?.bottom || 0) as number} : {}\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.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","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","ref","baseView","onLayout","handleLayout","zIndex","position","backgroundColor","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","moreMenu","map","a","moreMenuRow","index","hideModal","menu","layout","filter","morebuttonlabel","morebuttoniconclass","updateState","renderWidget","isFixed","animateStyle","hideonscroll","transform","animated","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} : {}\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.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":[]}
|
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 pageScrollTopThreshold: number;\n}"],"mappings":"","ignoreList":[]}
|
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 pageScrollTopThreshold: number;\n edgeToEdgeConfig:any;\n}"],"mappings":"","ignoreList":[]}
|
package/core/accessibility.js
CHANGED
@@ -36,6 +36,7 @@ export let AccessibilityWidgetType = /*#__PURE__*/function (AccessibilityWidgetT
|
|
36
36
|
AccessibilityWidgetType["WEBVIEW"] = "webview";
|
37
37
|
AccessibilityWidgetType["LINECHART"] = "linechart";
|
38
38
|
AccessibilityWidgetType["SLIDER"] = "slider";
|
39
|
+
AccessibilityWidgetType["BOTTOMSHEET"] = "bottomsheet";
|
39
40
|
return AccessibilityWidgetType;
|
40
41
|
}({});
|
41
42
|
;
|
@@ -63,6 +64,7 @@ export const getAccessibilityProps = (widgetType, accessibilityProps) => {
|
|
63
64
|
case AccessibilityWidgetType.ICON:
|
64
65
|
case AccessibilityWidgetType.NAV:
|
65
66
|
case AccessibilityWidgetType.POVOVER:
|
67
|
+
case AccessibilityWidgetType.BOTTOMSHEET:
|
66
68
|
case AccessibilityWidgetType.WEBVIEW:
|
67
69
|
case AccessibilityWidgetType.LINECHART:
|
68
70
|
case AccessibilityWidgetType.SLIDER:
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["AccessibilityInfo","isAndroid","isWebPreviewMode","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","props","accessible","BUTTON","TEXT","NUMBER","TEXTAREA","SELECT","CURRENCY","TOGGLE","DATE","LABEL","ANCHOR","MESSAGE","SEARCH","PICTURE","ICON","NAV","POVOVER","WEBVIEW","LINECHART","SLIDER","VIDEO","_accessibilityProps$c","accessibilityLabel","accessibilitylabel","caption","toString","accessibilityHint","hint","accessibilityRole","accessibilityrole","accessibilityState","disabled","accessibilityLabelledBy","accessibilitylabelledby","accessibilityValue","min","minvalue","max","maxvalue","expanded","selected","CHIPS","_accessibilityProps$c2","RADIOSET","readonly","CHECKBOX","_accessibilityProps$c3","checked","SWITCH","_accessibilityProps$c4","PROGRESSBAR","PROGRESSCIRCLE","_accessibilityProps$c5","finalProps"],"sources":["accessibility.ts"],"sourcesContent":["import { AccessibilityInfo } from 'react-native';\nimport { isAndroid, isWebPreviewMode, removeUndefinedKeys } from './utils';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener(\n 'screenReaderChanged',\n flag => {\n _isScreenReaderEnabled = flag;\n },\n);\n\nexport const isScreenReaderEnabled = () => _isScreenReaderEnabled;\n\nasync function getScreenReaderStatus() {\n _isScreenReaderEnabled = (!isWebPreviewMode() && await AccessibilityInfo.isScreenReaderEnabled());\n}\n\ngetScreenReaderStatus();\n\nexport enum AccessibilityWidgetType {\n BUTTON = 'button',\n PICTURE = 'picture',\n TEXT = 'text',\n NUMBER = 'number',\n TEXTAREA = 'textarea',\n SELECT = 'select',\n CHIPS = 'chips',\n CURRENCY = 'currency',\n RADIOSET = 'radioset',\n CHECKBOX = 'checkbox',\n TOGGLE = 'toggle',\n SWITCH = 'switch',\n DATE = 'date',\n VIDEO = 'video',\n PROGRESSBAR = 'progressbar',\n PROGRESSCIRCLE = 'progresscircle',\n LABEL = 'label',\n ANCHOR = 'anchor',\n MESSAGE = 'message',\n SEARCH = 'search',\n ICON = 'icon',\n NAV = 'nav',\n POVOVER = 'popover',\n WEBVIEW = 'webview',\n LINECHART = 'linechart',\n SLIDER = 'slider',\n};\n\n \nexport type AccessibilityPropsType = {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityLabelledBy?: string;\n accessibilityHint?: string;\n accessibilityRole?: 'button' | 'link' | 'header' | 'search' | 'image' | 'imagebutton' | 'none' | 'summary' | 'text' | 'progressbar' | 'grid' | 'alert';\n accessibilityState?: {\n disabled?: boolean;\n selected?: boolean;\n checked?: boolean;\n expanded?: boolean;\n };\n accessibilityValue?: {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n };\n accessibilityActions?: Array<{\n name: string;\n label?: string;\n }>;\n accessibilityLiveRegion?: 'none' | 'polite' | 'assertive';\n accessibilityLanguage?: any;\n accessibilityElementsHidden?: boolean;\n accessibilityViewIsModal?: boolean;\n};\n \n\nexport const getAccessibilityProps = (widgetType: AccessibilityWidgetType, accessibilityProps: AccessibilityPropsType | any) => {\n let props: AccessibilityPropsType = {accessible: true};\n if (!_isScreenReaderEnabled || isWebPreviewMode()) {\n return {};\n }\n switch (widgetType) {\n case AccessibilityWidgetType.BUTTON:\n case AccessibilityWidgetType.TEXT:\n case AccessibilityWidgetType.NUMBER:\n case AccessibilityWidgetType.TEXTAREA:\n case AccessibilityWidgetType.SELECT:\n case AccessibilityWidgetType.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\n case AccessibilityWidgetType.ANCHOR:\n case AccessibilityWidgetType.MESSAGE: \n case AccessibilityWidgetType.SEARCH: \n case AccessibilityWidgetType.PICTURE: \n case AccessibilityWidgetType.ICON:\n case AccessibilityWidgetType.NAV:\n case AccessibilityWidgetType.POVOVER:\n case AccessibilityWidgetType.WEBVIEW:\n case AccessibilityWidgetType.LINECHART:\n case AccessibilityWidgetType.SLIDER:\n case AccessibilityWidgetType.VIDEO: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n\n if (\n widgetType === AccessibilityWidgetType.BUTTON ||\n widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.TOGGLE ||\n widgetType === AccessibilityWidgetType.DATE\n ) {\n props.accessibilityState = { disabled: accessibilityProps.disabled };\n }\n if (\n (widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.CURRENCY ||\n widgetType === AccessibilityWidgetType.TOGGLE) &&\n isAndroid()\n ) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n if (\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.CURRENCY\n ) {\n props.accessibilityValue = {\n min: accessibilityProps.minvalue,\n max: accessibilityProps.maxvalue,\n };\n }\n if (widgetType === AccessibilityWidgetType.SELECT) {\n props.accessibilityState = {\n ...props.accessibilityState,\n expanded: accessibilityProps.expanded,\n };\n }\n if (widgetType === AccessibilityWidgetType.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.CHIPS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n case AccessibilityWidgetType.PROGRESSBAR:\n case AccessibilityWidgetType.PROGRESSCIRCLE: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n break;\n }\n default:\n break;\n }\n\n const finalProps = removeUndefinedKeys(props);\n // console.log('finalProps', finalProps)\n\n return finalProps;\n}"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["AccessibilityInfo","isAndroid","isWebPreviewMode","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","props","accessible","BUTTON","TEXT","NUMBER","TEXTAREA","SELECT","CURRENCY","TOGGLE","DATE","LABEL","ANCHOR","MESSAGE","SEARCH","PICTURE","ICON","NAV","POVOVER","BOTTOMSHEET","WEBVIEW","LINECHART","SLIDER","VIDEO","_accessibilityProps$c","accessibilityLabel","accessibilitylabel","caption","toString","accessibilityHint","hint","accessibilityRole","accessibilityrole","accessibilityState","disabled","accessibilityLabelledBy","accessibilitylabelledby","accessibilityValue","min","minvalue","max","maxvalue","expanded","selected","CHIPS","_accessibilityProps$c2","RADIOSET","readonly","CHECKBOX","_accessibilityProps$c3","checked","SWITCH","_accessibilityProps$c4","PROGRESSBAR","PROGRESSCIRCLE","_accessibilityProps$c5","finalProps"],"sources":["accessibility.ts"],"sourcesContent":["import { AccessibilityInfo } from 'react-native';\nimport { isAndroid, isWebPreviewMode, removeUndefinedKeys } from './utils';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener(\n 'screenReaderChanged',\n flag => {\n _isScreenReaderEnabled = flag;\n },\n);\n\nexport const isScreenReaderEnabled = () => _isScreenReaderEnabled;\n\nasync function getScreenReaderStatus() {\n _isScreenReaderEnabled = (!isWebPreviewMode() && await AccessibilityInfo.isScreenReaderEnabled());\n}\n\ngetScreenReaderStatus();\n\nexport enum AccessibilityWidgetType {\n BUTTON = 'button',\n PICTURE = 'picture',\n TEXT = 'text',\n NUMBER = 'number',\n TEXTAREA = 'textarea',\n SELECT = 'select',\n CHIPS = 'chips',\n CURRENCY = 'currency',\n RADIOSET = 'radioset',\n CHECKBOX = 'checkbox',\n TOGGLE = 'toggle',\n SWITCH = 'switch',\n DATE = 'date',\n VIDEO = 'video',\n PROGRESSBAR = 'progressbar',\n PROGRESSCIRCLE = 'progresscircle',\n LABEL = 'label',\n ANCHOR = 'anchor',\n MESSAGE = 'message',\n SEARCH = 'search',\n ICON = 'icon',\n NAV = 'nav',\n POVOVER = 'popover',\n WEBVIEW = 'webview',\n LINECHART = 'linechart',\n SLIDER = 'slider',\n BOTTOMSHEET='bottomsheet'\n};\n\n \nexport type AccessibilityPropsType = {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityLabelledBy?: string;\n accessibilityHint?: string;\n accessibilityRole?: 'button' | 'link' | 'header' | 'search' | 'image' | 'imagebutton' | 'none' | 'summary' | 'text' | 'progressbar' | 'grid' | 'alert';\n accessibilityState?: {\n disabled?: boolean;\n selected?: boolean;\n checked?: boolean;\n expanded?: boolean;\n };\n accessibilityValue?: {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n };\n accessibilityActions?: Array<{\n name: string;\n label?: string;\n }>;\n accessibilityLiveRegion?: 'none' | 'polite' | 'assertive';\n accessibilityLanguage?: any;\n accessibilityElementsHidden?: boolean;\n accessibilityViewIsModal?: boolean;\n};\n \n\nexport const getAccessibilityProps = (widgetType: AccessibilityWidgetType, accessibilityProps: AccessibilityPropsType | any) => {\n let props: AccessibilityPropsType = {accessible: true};\n if (!_isScreenReaderEnabled || isWebPreviewMode()) {\n return {};\n }\n switch (widgetType) {\n case AccessibilityWidgetType.BUTTON:\n case AccessibilityWidgetType.TEXT:\n case AccessibilityWidgetType.NUMBER:\n case AccessibilityWidgetType.TEXTAREA:\n case AccessibilityWidgetType.SELECT:\n case AccessibilityWidgetType.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\n case AccessibilityWidgetType.ANCHOR:\n case AccessibilityWidgetType.MESSAGE: \n case AccessibilityWidgetType.SEARCH: \n case AccessibilityWidgetType.PICTURE: \n case AccessibilityWidgetType.ICON:\n case AccessibilityWidgetType.NAV:\n case AccessibilityWidgetType.POVOVER:\n case AccessibilityWidgetType.BOTTOMSHEET:\n case AccessibilityWidgetType.WEBVIEW:\n case AccessibilityWidgetType.LINECHART:\n case AccessibilityWidgetType.SLIDER:\n case AccessibilityWidgetType.VIDEO: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n\n if (\n widgetType === AccessibilityWidgetType.BUTTON ||\n widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.TOGGLE ||\n widgetType === AccessibilityWidgetType.DATE\n ) {\n props.accessibilityState = { disabled: accessibilityProps.disabled };\n }\n if (\n (widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.CURRENCY ||\n widgetType === AccessibilityWidgetType.TOGGLE) &&\n isAndroid()\n ) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n if (\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.CURRENCY\n ) {\n props.accessibilityValue = {\n min: accessibilityProps.minvalue,\n max: accessibilityProps.maxvalue,\n };\n }\n if (widgetType === AccessibilityWidgetType.SELECT) {\n props.accessibilityState = {\n ...props.accessibilityState,\n expanded: accessibilityProps.expanded,\n };\n }\n if (widgetType === AccessibilityWidgetType.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.CHIPS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n case AccessibilityWidgetType.PROGRESSBAR:\n case AccessibilityWidgetType.PROGRESSCIRCLE: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n break;\n }\n default:\n break;\n }\n\n const finalProps = removeUndefinedKeys(props);\n // console.log('finalProps', finalProps)\n\n return finalProps;\n}"],"mappings":"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","ignoreList":[]}
|