@wavemaker/app-rn-runtime 11.6.1-rc.5513 → 11.6.1-rc.5518
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.
- app-rn-runtime/components/advanced/carousel/carousel.component.js +7 -9
- app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.component.js +11 -27
- app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
- app-rn-runtime/components/advanced/webview/webview.props.js +1 -0
- app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.component.js +1 -2
- app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
- app-rn-runtime/components/basic/anchor/anchor.props.js +0 -1
- app-rn-runtime/components/basic/anchor/anchor.props.js.map +1 -1
- app-rn-runtime/components/basic/button/button.component.js +15 -2
- app-rn-runtime/components/basic/button/button.component.js.map +1 -1
- app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js +4 -9
- app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +29 -41
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.styles.js +4 -1
- app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
- app-rn-runtime/components/basic/search/search.component.js +2 -8
- app-rn-runtime/components/basic/search/search.component.js.map +1 -1
- app-rn-runtime/components/basic/search/search.props.js +0 -1
- app-rn-runtime/components/basic/search/search.props.js.map +1 -1
- app-rn-runtime/components/basic/skeleton/skeleton.component.js +0 -1
- app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +8 -11
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +0 -6
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.props.js +2 -0
- app-rn-runtime/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +6 -19
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +2 -4
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.styles.js +1 -7
- app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +3 -5
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +16 -44
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js +0 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js.map +1 -1
- app-rn-runtime/components/container/container.component.js +1 -10
- app-rn-runtime/components/container/container.component.js.map +1 -1
- app-rn-runtime/components/container/container.props.js +0 -1
- app-rn-runtime/components/container/container.props.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +1 -1
- app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +12 -2
- app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +8 -13
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +2 -24
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +0 -6
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
- app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
- app-rn-runtime/components/data/form/form-action/form-action.props.js +1 -0
- app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
- app-rn-runtime/components/data/form/form-field/form-field.component.js +1 -5
- app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +64 -8
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/data/list/list.props.js +1 -0
- app-rn-runtime/components/data/list/list.props.js.map +1 -1
- app-rn-runtime/components/data/list/list.styles.js +0 -3
- app-rn-runtime/components/data/list/list.styles.js.map +1 -1
- app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -2
- app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +5 -5
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +5 -5
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.styles.js +35 -5
- app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js +9 -18
- app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js +0 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +39 -10
- app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.component.js +1 -1
- app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
- app-rn-runtime/components/input/composite/composite.props.js +1 -1
- app-rn-runtime/components/input/composite/composite.props.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +17 -3
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.props.js +1 -0
- app-rn-runtime/components/input/currency/currency.props.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.styles.js +19 -1
- app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +68 -6
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/date/date.component.js +8 -0
- app-rn-runtime/components/input/epoch/date/date.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/date/date.styles.js +16 -0
- app-rn-runtime/components/input/epoch/date/date.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.component.js +8 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js +1 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +49 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/time/time.component.js +8 -0
- app-rn-runtime/components/input/epoch/time/time.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/time/time.styles.js +16 -0
- app-rn-runtime/components/input/epoch/time/time.styles.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +11 -1
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.props.js +1 -0
- app-rn-runtime/components/input/number/number.props.js.map +1 -1
- app-rn-runtime/components/input/number/number.styles.js +17 -0
- app-rn-runtime/components/input/number/number.styles.js.map +1 -1
- app-rn-runtime/components/input/radioset/radioset.component.js +2 -6
- app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
- app-rn-runtime/components/input/slider/slider.component.js +3 -2
- app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.component.js +11 -0
- app-rn-runtime/components/input/text/text.component.js.map +1 -1
- app-rn-runtime/components/input/text/text.props.js +1 -0
- app-rn-runtime/components/input/text/text.props.js.map +1 -1
- app-rn-runtime/components/input/text/text.styles.js +17 -0
- app-rn-runtime/components/input/text/text.styles.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.component.js +11 -0
- app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.props.js +1 -0
- app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
- app-rn-runtime/components/input/textarea/textarea.styles.js +17 -0
- app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +3 -2
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +1 -6
- app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.props.js +0 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
- app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js +0 -6
- app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
- app-rn-runtime/components/navigation/navbar/navbar.props.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
- app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
- app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
- app-rn-runtime/components/page/page-content/page-content.component.js +2 -0
- app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/curve.js +84 -0
- app-rn-runtime/components/page/tabbar/curve.js.map +1 -0
- app-rn-runtime/components/page/tabbar/tabbar.component.js +43 -9
- app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
- app-rn-runtime/components/page/tabbar/tabbar.styles.js +54 -1
- app-rn-runtime/components/page/tabbar/tabbar.styles.js.map +1 -1
- app-rn-runtime/core/base.component.js +17 -5
- app-rn-runtime/core/base.component.js.map +1 -1
- app-rn-runtime/core/components/floatinglabel.component.js +45 -0
- app-rn-runtime/core/components/floatinglabel.component.js.map +1 -0
- app-rn-runtime/core/components/textinput.component.js +9 -1
- app-rn-runtime/core/components/textinput.component.js.map +1 -1
- app-rn-runtime/core/formatters.js +1 -14
- app-rn-runtime/core/formatters.js.map +1 -1
- app-rn-runtime/core/tappable.component.js +36 -49
- app-rn-runtime/core/tappable.component.js.map +1 -1
- app-rn-runtime/gestures/swipe.animation.js +34 -1
- app-rn-runtime/gestures/swipe.animation.js.map +1 -1
- app-rn-runtime/package.json +5 -3
- app-rn-runtime/runtime/App.js +13 -7
- app-rn-runtime/runtime/App.js.map +1 -1
- app-rn-runtime/runtime/base-fragment.component.js +2 -1
- app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
- app-rn-runtime/runtime/base-page.component.js +11 -3
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
- app-rn-runtime/runtime/services/app-security.service.js +23 -8
- app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
- app-rn-runtime/runtime/services/webprocess.service.js +1 -0
- app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
- app-rn-runtime/styles/background.component.js +12 -1
- app-rn-runtime/styles/background.component.js.map +1 -1
- app-rn-runtime/styles/theme.js +32 -12
- app-rn-runtime/styles/theme.js.map +1 -1
- app-rn-runtime/styles/theme.variables.js +7 -3
- app-rn-runtime/styles/theme.variables.js.map +1 -1
- app-rn-runtime/variables/device/device/network-info.operation.js +23 -3
- app-rn-runtime/variables/device/device/network-info.operation.js.map +1 -1
- app-rn-runtime/variables/device/operation.provider.js.map +1 -1
- app-rn-runtime/variables/device-variable.js +1 -1
- app-rn-runtime/variables/device-variable.js.map +1 -1
- app-rn-runtime/variables/model-variable.js +1 -2
- app-rn-runtime/variables/model-variable.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","BackHandler","
|
|
1
|
+
{"version":3,"names":["React","Text","View","BackHandler","isAndroid","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderWidget","createElement","style","styles","root","_background","leftSection","showDrawerButton","id","getTestId","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","_extends","content","getTestPropsForLabel","title","rightSection","searchbutton","searchbuttoniconclass","children"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { isAndroid } 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';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {\n\n}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\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()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n renderWidget(props: WmAppNavbarProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\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 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')}>{props.title}</Text>\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 }\n}\n"],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ export default class WmAppNavbarProps extends BaseProps {
|
|
|
15
15
|
_defineProperty(this, "imgsrc", null);
|
|
16
16
|
_defineProperty(this, "searchbutton", false);
|
|
17
17
|
_defineProperty(this, "searchbuttoniconclass", 'wm-sl-l sl-search');
|
|
18
|
-
_defineProperty(this, "badgevalue", void 0);
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
20
|
//# sourceMappingURL=appnavbar.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","arguments","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search'
|
|
1
|
+
{"version":3,"names":["BaseProps","WmAppNavbarProps","constructor","arguments","_defineProperty"],"sources":["appnavbar.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmAppNavbarProps extends BaseProps {\n children?: any;\n title: string = '';\n backbutton = true;\n backbuttonlabel = '';\n showDrawerButton = false;\n leftnavpaneliconclass = 'wm-sl-l sl-hamburger-menu';\n backbuttoniconclass = 'wi wi-back';\n imgsrc = null as any;\n searchbutton = false;\n searchbuttoniconclass = 'wm-sl-l sl-search'\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA,gBAEpC,EAAE;IAAAA,eAAA,qBACL,IAAI;IAAAA,eAAA,0BACC,EAAE;IAAAA,eAAA,2BACD,KAAK;IAAAA,eAAA,gCACA,2BAA2B;IAAAA,eAAA,8BAC7B,YAAY;IAAAA,eAAA,iBACzB,IAAI;IAAAA,eAAA,uBACE,KAAK;IAAAA,eAAA,gCACI,mBAAmB;EAAA;AAC/C"}
|
|
@@ -55,12 +55,6 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
55
55
|
fontWeight: '500',
|
|
56
56
|
textAlign: 'center'
|
|
57
57
|
},
|
|
58
|
-
badge: {
|
|
59
|
-
backgroundColor: themeVariables.titleBadgeBackgroundColor,
|
|
60
|
-
color: themeVariables.titleBadgeTextColor,
|
|
61
|
-
alignSelf: 'flex-start',
|
|
62
|
-
marginLeft: 4
|
|
63
|
-
},
|
|
64
58
|
middleSection: {
|
|
65
59
|
alignItems: 'center',
|
|
66
60
|
flexDirection: 'row'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","backgroundColor","navitemActiveBackgroundColor","height","padding","paddingHorizontal","alignItems","text","action","leftSection","flex","leftnavIcon","icon","fontSize","navbarIconSize","color","navbarTextColor","backIcon","navbarFontSize","image","width","navbarImageSize","picture","resizeMode","content","textTransform","fontFamily","baseFont","fontWeight","textAlign","
|
|
1
|
+
{"version":3,"names":["Color","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","backgroundColor","navitemActiveBackgroundColor","height","padding","paddingHorizontal","alignItems","text","action","leftSection","flex","leftnavIcon","icon","fontSize","navbarIconSize","color","navbarTextColor","backIcon","navbarFontSize","image","width","navbarImageSize","picture","resizeMode","content","textTransform","fontFamily","baseFont","fontWeight","textAlign","middleSection","rightSection","justifyContent","paddingRight","textDecorationStyle","undefined","badge","fade","rgb","toString","transparent","alignSelf","link"],"sources":["appnavbar.styles.ts"],"sourcesContent":["import Color from 'color';\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { ViewStyle } from 'react-native';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmMenuStyles } from '@wavemaker/app-rn-runtime/components/navigation/menu/menu.styles';\nimport { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmPopoverStyles } from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.styles';\nimport { WmPictureStyles } from '@wavemaker/app-rn-runtime/components/basic/picture/picture.styles';\n\nexport type WmAppNavbarStyles = BaseStyles & {\n action: WmIconStyles,\n image: WmPictureStyles,\n leftnavIcon: WmIconStyles,\n backIcon: WmIconStyles,\n leftSection: ViewStyle,\n middleSection: ViewStyle,\n rightSection: ViewStyle,\n content: ViewStyle\n};\n\nexport const DEFAULT_CLASS = 'app-appnavbar';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmAppNavbarStyles = defineStyles({\n root: {\n flexDirection: 'row',\n backgroundColor: themeVariables.navitemActiveBackgroundColor,\n height: 80,\n padding: 12,\n paddingHorizontal: 12,\n alignItems: 'center'\n },\n text: {},\n action: {} as WmIconStyles,\n leftSection: {\n flex: 1,\n flexDirection: 'row'\n },\n leftnavIcon: {\n root: {\n alignItems: 'flex-start'\n },\n icon: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n } as WmIconStyles,\n backIcon: {\n root: {},\n text: {\n fontSize: themeVariables.navbarFontSize,\n color: themeVariables.navbarTextColor\n },\n icon: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n } as WmIconStyles,\n image: {\n root: {\n width: themeVariables.navbarImageSize,\n height: themeVariables.navbarImageSize,\n },\n picture: {\n resizeMode: 'contain'\n }\n } as WmPictureStyles,\n content: {\n textTransform: 'capitalize',\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize,\n fontFamily: themeVariables.baseFont,\n fontWeight: '500',\n textAlign: 'center'\n },\n middleSection: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n rightSection: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'flex-end'\n },\n } as WmAppNavbarStyles);\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('navbarAnchorItem', '', {\n root: {\n paddingRight: 8,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize,\n textDecorationStyle: undefined\n },\n badge: {\n backgroundColor: Color(themeVariables.navbarTextColor).fade(0.8).rgb().toString(),\n color: themeVariables.navbarTextColor,\n },\n icon: {\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarIconSize\n },\n icon : {\n color: themeVariables.navbarTextColor\n }\n }\n } as WmAnchorStyles);\n addStyle('navbarButton', '', {\n root: {\n backgroundColor: themeVariables.transparent,\n paddingRight: 8,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'center'\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n },\n icon: {\n root: {\n color: themeVariables.navbarTextColor\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarIconSize\n }\n }\n } as WmAnchorStyles);\n addStyle('navbarMenu', '', {\n root: {\n paddingRight: 8,\n height: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n },\n link: {\n icon: {\n root: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n }\n }\n } as any as WmMenuStyles);\n addStyle('navbarPopover', '', {\n root: {\n height: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center'\n },\n link: {\n icon: {\n root: {\n fontSize: themeVariables.navbarIconSize,\n color: themeVariables.navbarTextColor\n }\n },\n text: {\n color: themeVariables.navbarTextColor,\n fontSize: themeVariables.navbarFontSize\n }\n }\n } as any as WmPopoverStyles);\n});"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseNavProps","WmNavbarProps","constructor","arguments","_defineProperty","$event","target","$item"],"sources":["navbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport {
|
|
1
|
+
{"version":3,"names":["BaseNavProps","WmNavbarProps","constructor","arguments","_defineProperty","$event","target","$item"],"sources":["navbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.props';\nimport { TapEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\nimport {\n NavigationDataItem\n} from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\n\nexport default class WmNavbarProps extends BaseNavProps {\n type: string = 'pills';\n layout: string = '';\n children?: any = [] as any;\n indent = 0;\n onSelect? = ($event: TapEvent, target: any, $item: NavigationDataItem) => {}; ischildnav? = false;\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,uEAAuE;AAMpG,eAAe,MAAMC,aAAa,SAASD,YAAY,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,eACvC,OAAO;IAAAA,eAAA,iBACL,EAAE;IAAAA,eAAA,mBACF,EAAE;IAAAA,eAAA,iBACV,CAAC;IAAAA,eAAA,mBACE,CAACC,MAAgB,EAAEC,MAAW,EAAEC,KAAyB,KAAK,CAAC,CAAC;IAAAH,eAAA,qBAAiB,KAAK;EAAA;AACpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","WmNavItemState","constructor","arguments","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","id","getTestId","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","root","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport {
|
|
1
|
+
{"version":3,"names":["React","View","TouchableOpacity","BaseComponent","BaseComponentState","WmAnchor","WmIcon","WmNavItemProps","DEFAULT_CLASS","WmNavItemState","constructor","arguments","_defineProperty","WmNavItem","props","onSelectItem","cb","$item","$event","data","renderWidget","getDisplayLabel","getDisplayExpression","label","child","children","view","createElement","id","getTestId","styles","navAnchorItem","caption","item","hyperlink","link","badgevalue","badge","iconclass","icon","onTap","bind","onSelect","Fragment","onPress","updateState","collapsed","state","style","dropdownNav","caretIcon","root","_background"],"sources":["navitem.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmNavItemProps from './navitem.props';\nimport { DEFAULT_CLASS, WmNavItemStyles } from './navitem.styles';\nimport { NavigationDataItem } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport { TapEvent } from \"@wavemaker/app-rn-runtime/core/tappable.component\";\n\nexport class WmNavItemState extends BaseComponentState<WmNavItemProps> {\n collapsed = true;\n}\n\nexport default class WmNavItem extends BaseComponent<WmNavItemProps, WmNavItemState, WmNavItemStyles> {\n\n constructor(props: WmNavItemProps) {\n super(props, DEFAULT_CLASS, new WmNavItemProps(), new WmNavItemState());\n }\n\n onSelectItem(cb: any, $item: NavigationDataItem, $event: TapEvent) {\n cb && cb($event, this, $item?.data);\n }\n\n renderWidget(props: WmNavItemProps) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n let child = props.children;\n if (props.view === 'anchor') {\n child = <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} hyperlink={props.item.link}\n badgevalue={props.item.badge} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}></WmAnchor>\n }\n if (props.view === 'dropdown') {\n child = (\n <>\n <TouchableOpacity \n id={this.getTestId('navlink')}\n onPress={() => {\n this.updateState({collapsed: !this.state.collapsed} as WmNavItemState);\n }}>\n <View style={this.styles.dropdownNav}>\n <WmAnchor id={this.getTestId('navlink')} styles={this.styles.navAnchorItem} caption={getDisplayLabel(props.item.label)} iconclass={props.item.icon} onTap={this.onSelectItem.bind(this, props.onSelect, props.item)}></WmAnchor>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.caretIcon} iconclass={this.state.collapsed ? 'fa fa-sort-down' : 'fa fa-sort-up'}></WmIcon>\n </View>\n </TouchableOpacity>\n {!this.state.collapsed && props.children}\n </>\n );\n }\n return (\n <View style={this.styles.root}>{this._background}{child}</View>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmNavItemProps","constructor","arguments","_defineProperty","$event","target","$item","label"],"sources":["navitem.props.ts"],"sourcesContent":["import {BaseComponent, BaseProps} from '@wavemaker/app-rn-runtime/core/base.component';\nimport {NavigationDataItem} from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport {
|
|
1
|
+
{"version":3,"names":["BaseProps","WmNavItemProps","constructor","arguments","_defineProperty","$event","target","$item","label"],"sources":["navitem.props.ts"],"sourcesContent":["import {BaseComponent, BaseProps} from '@wavemaker/app-rn-runtime/core/base.component';\nimport {NavigationDataItem} from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component\";\nimport {TapEvent} from \"@wavemaker/app-rn-runtime/core/tappable.component\";\n\nexport default class WmNavItemProps extends BaseProps {\n children?: any;\n caption?: string;\n item: any = [];\n view: 'default' | 'dropdown' | 'anchor' = 'default';\n onSelect? = ($event: TapEvent, target: any, $item: NavigationDataItem) => {};\n getDisplayExpression? = (label: string) => null as any;\n}\n"],"mappings":";;;AAAA,SAAuBA,SAAS,QAAO,+CAA+C;AAItF,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,eAGxC,EAAE;IAAAA,eAAA,eAC4B,SAAS;IAAAA,eAAA,mBACvC,CAACC,MAAgB,EAAEC,MAAW,EAAEC,KAAyB,KAAK,CAAC,CAAC;IAAAH,eAAA,+BACnDI,KAAa,IAAK,IAAW;EAAA;AACxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","style","root","onLayout","computePosition","ref","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","link","onTap","showPopover","showModal","popover","onScroll","event","notify","scrollEventThrottle","title","_extends","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: SyntheticEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n styles={styles.link}\n onTap={this.showPopover}></WmAnchor>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","style","root","onLayout","computePosition","ref","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","link","onTap","showPopover","showModal","popover","onScroll","event","notify","scrollEventThrottle","title","_extends","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n styles={styles.link}\n onTap={this.showPopover}></WmAnchor>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export default class WmPageContent extends BaseComponent {
|
|
|
12
12
|
this.hideMode = HideMode.DONOT_ADD_TO_DOM;
|
|
13
13
|
}
|
|
14
14
|
renderWidget(props) {
|
|
15
|
+
const showScrollbar = this.styles.root.scrollbarColor != 'transparent';
|
|
15
16
|
return props.scrollable || isWebPreviewMode() ? /*#__PURE__*/React.createElement(View, {
|
|
16
17
|
style: {
|
|
17
18
|
height: '100%',
|
|
@@ -22,6 +23,7 @@ export default class WmPageContent extends BaseComponent {
|
|
|
22
23
|
contentContainerStyle: [this.styles.root, {
|
|
23
24
|
backgroundColor: 'transparent'
|
|
24
25
|
}],
|
|
26
|
+
showsVerticalScrollIndicator: showScrollbar,
|
|
25
27
|
onScroll: event => {
|
|
26
28
|
this.notify('scroll', [event]);
|
|
27
29
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ScrollView","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","WmPageContentState","WmPageContent","constructor","props","hideMode","DONOT_ADD_TO_DOM","renderWidget","scrollable","createElement","style","height","width","backgroundColor","
|
|
1
|
+
{"version":3,"names":["React","ScrollView","View","isWebPreviewMode","HideMode","BaseComponent","BaseComponentState","WmPageContentProps","DEFAULT_CLASS","WmPageContentState","WmPageContent","constructor","props","hideMode","DONOT_ADD_TO_DOM","renderWidget","showScrollbar","styles","root","scrollbarColor","scrollable","createElement","style","height","width","backgroundColor","_background","contentContainerStyle","showsVerticalScrollIndicator","onScroll","event","notify","scrollEventThrottle","children"],"sources":["page-content.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView, 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';\n\nexport class WmPageContentState extends BaseComponentState<WmPageContentProps> {\n\n}\n\nexport default class WmPageContent extends BaseComponent<WmPageContentProps, WmPageContentState, WmPageContentStyles> {\n\n constructor(props: WmPageContentProps) {\n super(props, DEFAULT_CLASS, new WmPageContentProps());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n }\n\n renderWidget(props: WmPageContentProps) {\n const showScrollbar = (this.styles.root as any).scrollbarColor != 'transparent';\n return props.scrollable || isWebPreviewMode() ? (\n <View style={{height: '100%', width: '100%', backgroundColor: this.styles.root.backgroundColor}}>\n {this._background}\n <ScrollView contentContainerStyle={[this.styles.root, {backgroundColor: 'transparent'}]}\n showsVerticalScrollIndicator={showScrollbar}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}>\n {props.children}\n </ScrollView>\n </View>\n ) : (\n <View style={this.styles.root}>\n {this._background}\n {props.children}\n </View>\n ); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,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;AAE1E,OAAO,MAAMC,kBAAkB,SAASH,kBAAkB,CAAqB;AAI/E,eAAe,MAAMI,aAAa,SAASL,aAAa,CAA8D;EAEpHM,WAAWA,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;IACrD,IAAI,CAACM,QAAQ,GAAGT,QAAQ,CAACU,gBAAgB;EAC3C;EAEAC,YAAYA,CAACH,KAAyB,EAAE;IACtC,MAAMI,aAAa,GAAI,IAAI,CAACC,MAAM,CAACC,IAAI,CAASC,cAAc,IAAI,aAAa;IAC/E,OAAOP,KAAK,CAACQ,UAAU,IAAIjB,gBAAgB,CAAC,CAAC,gBAC3CH,KAAA,CAAAqB,aAAA,CAACnB,IAAI;MAACoB,KAAK,EAAE;QAACC,MAAM,EAAE,MAAM;QAAEC,KAAK,EAAE,MAAM;QAAEC,eAAe,EAAE,IAAI,CAACR,MAAM,CAACC,IAAI,CAACO;MAAe;IAAE,GAC7F,IAAI,CAACC,WAAW,eACjB1B,KAAA,CAAAqB,aAAA,CAACpB,UAAU;MAAC0B,qBAAqB,EAAE,CAAC,IAAI,CAACV,MAAM,CAACC,IAAI,EAAE;QAACO,eAAe,EAAE;MAAa,CAAC,CAAE;MACtFG,4BAA4B,EAAEZ,aAAc;MAC5Ca,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE;IAAG,GACvBpB,KAAK,CAACqB,QACG,CACR,CAAC,gBAEPjC,KAAA,CAAAqB,aAAA,CAACnB,IAAI;MAACoB,KAAK,EAAE,IAAI,CAACL,MAAM,CAACC;IAAK,GAC3B,IAAI,CAACQ,WAAW,EAChBd,KAAK,CAACqB,QACH,CACP;EACH;AACF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import * as d3Shape from "d3-shape";
|
|
2
|
+
// import { scale } from "react-native-size-scaling";
|
|
3
|
+
const scale = n => n;
|
|
4
|
+
//** Path Line */
|
|
5
|
+
const line = (width, height) => {
|
|
6
|
+
const path = d3Shape.line().x(d => d.x).y(d => d.y)([{
|
|
7
|
+
x: width / 2,
|
|
8
|
+
y: 0
|
|
9
|
+
}, {
|
|
10
|
+
x: width,
|
|
11
|
+
y: 0
|
|
12
|
+
}, {
|
|
13
|
+
x: width,
|
|
14
|
+
y: height
|
|
15
|
+
}, {
|
|
16
|
+
x: 0,
|
|
17
|
+
y: height
|
|
18
|
+
}, {
|
|
19
|
+
x: 0,
|
|
20
|
+
y: 0
|
|
21
|
+
}, {
|
|
22
|
+
x: width / 2,
|
|
23
|
+
y: 0
|
|
24
|
+
}]);
|
|
25
|
+
return path;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
//** Path Curved*/
|
|
29
|
+
const lineCurvedDown = (iPosition, height, circle) => {
|
|
30
|
+
const position = iPosition;
|
|
31
|
+
const circleWidth = circle + position;
|
|
32
|
+
const trim = (position + circleWidth) / 2;
|
|
33
|
+
const curved = d3Shape.line().x(d => d.x).y(d => d.y).curve(d3Shape.curveBasis)([{
|
|
34
|
+
x: position - scale(20),
|
|
35
|
+
y: 0
|
|
36
|
+
},
|
|
37
|
+
// border center left
|
|
38
|
+
{
|
|
39
|
+
x: position - scale(10),
|
|
40
|
+
y: scale(2)
|
|
41
|
+
}, {
|
|
42
|
+
x: position - scale(2),
|
|
43
|
+
y: scale(10)
|
|
44
|
+
}, {
|
|
45
|
+
x: position,
|
|
46
|
+
y: scale(17)
|
|
47
|
+
}, {
|
|
48
|
+
x: trim - scale(25),
|
|
49
|
+
y: height / 2 + scale(2)
|
|
50
|
+
}, {
|
|
51
|
+
x: trim - scale(10),
|
|
52
|
+
y: height / 2 + scale(10)
|
|
53
|
+
}, {
|
|
54
|
+
x: trim,
|
|
55
|
+
y: height / 2 + scale(10)
|
|
56
|
+
}, {
|
|
57
|
+
x: trim + scale(10),
|
|
58
|
+
y: height / 2 + scale(10)
|
|
59
|
+
}, {
|
|
60
|
+
x: trim + scale(25),
|
|
61
|
+
y: height / 2 + scale(2)
|
|
62
|
+
}, {
|
|
63
|
+
x: circleWidth,
|
|
64
|
+
y: scale(17)
|
|
65
|
+
},
|
|
66
|
+
// border center right
|
|
67
|
+
{
|
|
68
|
+
x: circleWidth + scale(2),
|
|
69
|
+
y: scale(10)
|
|
70
|
+
}, {
|
|
71
|
+
x: circleWidth + scale(10),
|
|
72
|
+
y: 0
|
|
73
|
+
}, {
|
|
74
|
+
x: circleWidth + scale(20),
|
|
75
|
+
y: 0
|
|
76
|
+
}]);
|
|
77
|
+
return curved;
|
|
78
|
+
};
|
|
79
|
+
export const getPathDown = (width, iHeight, centerWidth, clippedTabbarHeight) => {
|
|
80
|
+
const height = scale(iHeight);
|
|
81
|
+
const circleWidth = scale(centerWidth) + scale(16);
|
|
82
|
+
return `${line(width, clippedTabbarHeight)} ${lineCurvedDown(width / 2 - circleWidth / 2, height, circleWidth)}`;
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=curve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["d3Shape","scale","n","line","width","height","path","x","d","y","lineCurvedDown","iPosition","circle","position","circleWidth","trim","curved","curve","curveBasis","getPathDown","iHeight","centerWidth","clippedTabbarHeight"],"sources":["curve.tsx"],"sourcesContent":["import * as d3Shape from \"d3-shape\";\n// import { scale } from \"react-native-size-scaling\";\nconst scale = (n: number) => n;\n\ninterface LineDatum {\n x: number;\n y: number;\n missing?: boolean;\n}\n\n//** Path Line */\nconst line = (width : number, height: number) => {\n const path: any = d3Shape\n .line<LineDatum>()\n .x((d) => d.x)\n .y((d) => d.y)([\n { x: width / 2, y: 0 },\n { x: width, y: 0 },\n { x: width, y: height },\n { x: 0, y: height},\n { x: 0, y: 0 },\n { x: width / 2, y: 0 },\n ]);\n \nreturn path;\n};\n\n//** Path Curved*/\nconst lineCurvedDown = (iPosition: number, height: number, circle: number) => {\n const position = iPosition;\n const circleWidth = circle + position;\n const trim = (position + circleWidth) / 2;\n \n const curved: any = d3Shape\n .line<LineDatum>()\n .x((d) => d.x)\n .y((d) => d.y)\n .curve(d3Shape.curveBasis)([\n { x: position - scale(20), y: 0 }, // border center left\n { x: position - scale(10), y: scale(2) },\n { x: position - scale(2), y: scale(10) },\n { x: position, y: scale(17) },\n \n { x: trim - scale(25), y: height / 2 + scale(2) },\n { x: trim - scale(10), y: height / 2 + scale(10) },\n { x: trim, y: height / 2 + scale(10) },\n { x: trim + scale(10), y: height / 2 + scale(10) },\n { x: trim + scale(25), y: height / 2 + scale(2) },\n \n { x: circleWidth, y: scale(17) }, // border center right\n { x: circleWidth + scale(2), y: scale(10) },\n { x: circleWidth + scale(10), y: 0 },\n { x: circleWidth + scale(20), y: 0 },\n ]);\n return curved;\n};\n\nexport const getPathDown = (width: number, iHeight: number, centerWidth: number, clippedTabbarHeight: number) => {\n const height = scale(iHeight);\n const circleWidth = scale(centerWidth) + scale(16);\n return `${line(width, clippedTabbarHeight)} ${lineCurvedDown(\n width / 2 - circleWidth / 2,\n height,\n circleWidth\n )}`;\n};\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
3
3
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
4
4
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
5
5
|
import React from 'react';
|
|
6
|
-
import { Text, View, TouchableOpacity } from 'react-native';
|
|
6
|
+
import { Text, View, TouchableOpacity, Dimensions } from 'react-native';
|
|
7
7
|
import { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';
|
|
8
8
|
import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
|
|
9
9
|
import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
|
|
@@ -11,32 +11,47 @@ import { NavigationServiceConsumer } from '@wavemaker/app-rn-runtime/core/naviga
|
|
|
11
11
|
import { BaseNavComponent, BaseNavState } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.component';
|
|
12
12
|
import WmTabbarProps from './tabbar.props';
|
|
13
13
|
import { DEFAULT_CLASS } from './tabbar.styles';
|
|
14
|
+
import Svg, { Path } from 'react-native-svg';
|
|
15
|
+
import { getPathDown } from './curve';
|
|
16
|
+
// import { scale } from 'react-native-size-scaling';
|
|
17
|
+
import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
|
18
|
+
const scale = n => n;
|
|
14
19
|
class WmTabbarState extends BaseNavState {
|
|
15
20
|
constructor() {
|
|
16
21
|
super(...arguments);
|
|
17
22
|
_defineProperty(this, "showMore", false);
|
|
18
23
|
_defineProperty(this, "modalOptions", {});
|
|
24
|
+
_defineProperty(this, "dataItems", []);
|
|
19
25
|
}
|
|
20
26
|
}
|
|
21
27
|
export default class WmTabbar extends BaseNavComponent {
|
|
22
28
|
constructor(props) {
|
|
23
29
|
super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());
|
|
24
30
|
_defineProperty(this, "tabbarHeight", 0);
|
|
31
|
+
_defineProperty(this, "maxWidth", Dimensions.get("window").width);
|
|
32
|
+
_defineProperty(this, "returnpathDown", void 0);
|
|
25
33
|
}
|
|
26
34
|
renderTabItem(item, testId, props, onSelect) {
|
|
35
|
+
let floating = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
27
36
|
const isActive = props.isActive && props.isActive(item);
|
|
28
37
|
const getDisplayLabel = this.props.getDisplayExpression || (label => label);
|
|
29
|
-
|
|
38
|
+
let increasedGap = Number(testId) === (item === null || item === void 0 ? void 0 : item.indexBeforeMid) && this.state.dataItems.length % 2 != 0 && (props.classname || '').indexOf('clipped-tabbar') >= 0 ? [this.styles.tabItem, {
|
|
39
|
+
paddingRight: 70
|
|
40
|
+
}] : [this.styles.tabItem];
|
|
41
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
42
|
+
style: [increasedGap, floating ? this.styles.centerHubItem : {}],
|
|
43
|
+
key: `${item.label}_${testId}`
|
|
44
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('item' + testId), {
|
|
30
45
|
onPress: () => onSelect && onSelect(),
|
|
31
46
|
key: item.key
|
|
32
47
|
}), /*#__PURE__*/React.createElement(View, {
|
|
33
|
-
style: [
|
|
48
|
+
style: [isActive && !floating ? this.styles.activeTabItem : {}]
|
|
34
49
|
}, /*#__PURE__*/React.createElement(WmIcon, {
|
|
35
|
-
styles: this.theme.mergeStyle({}, this.styles.tabIcon, isActive ? this.styles.activeTabIcon : {}),
|
|
50
|
+
styles: this.theme.mergeStyle({}, this.styles.tabIcon, floating ? this.styles.centerHubIcon : {}, isActive && !floating ? this.styles.activeTabIcon : {}),
|
|
36
51
|
iconclass: item.icon
|
|
37
52
|
}), /*#__PURE__*/React.createElement(Text, {
|
|
38
|
-
style: [this.styles.tabLabel, isActive ? this.styles.activeTabLabel : {}]
|
|
39
|
-
}, getDisplayLabel(item.label))));
|
|
53
|
+
style: [this.styles.tabLabel, floating ? this.styles.centerHubLabel : {}, isActive && !floating ? this.styles.activeTabLabel : {}]
|
|
54
|
+
}, getDisplayLabel(item.label)))));
|
|
40
55
|
}
|
|
41
56
|
onItemSelect(item, navigationService) {
|
|
42
57
|
item.link && navigationService.openUrl(item.link);
|
|
@@ -54,6 +69,14 @@ export default class WmTabbar extends BaseNavComponent {
|
|
|
54
69
|
renderWidget(props) {
|
|
55
70
|
let max = 5;
|
|
56
71
|
const tabItems = this.state.dataItems;
|
|
72
|
+
const tabItemsLength = tabItems.length;
|
|
73
|
+
const isClippedTabbar = (props.classname || '').indexOf('clipped-tabbar') >= 0 && tabItemsLength % 2 !== 0;
|
|
74
|
+
if (tabItemsLength % 2 !== 0) {
|
|
75
|
+
const middleIndex = Math.floor(tabItemsLength / 2);
|
|
76
|
+
tabItems[middleIndex]['floating'] = true;
|
|
77
|
+
tabItems[middleIndex - 1]['indexBeforeMid'] = middleIndex - 1;
|
|
78
|
+
}
|
|
79
|
+
this.returnpathDown = getPathDown(this.maxWidth, 65, 60, this.styles.root.height);
|
|
57
80
|
const moreItems = [];
|
|
58
81
|
if (tabItems.length > max) {
|
|
59
82
|
const moreItemsCount = Math.ceil((tabItems.length + 1 - max) / max) * max;
|
|
@@ -71,7 +94,18 @@ export default class WmTabbar extends BaseNavComponent {
|
|
|
71
94
|
}
|
|
72
95
|
return /*#__PURE__*/React.createElement(NavigationServiceConsumer, null, navigationService => /*#__PURE__*/React.createElement(View, {
|
|
73
96
|
style: this.styles.root
|
|
74
|
-
}, /*#__PURE__*/React.createElement(
|
|
97
|
+
}, isClippedTabbar ? /*#__PURE__*/React.createElement(Svg, {
|
|
98
|
+
width: this.maxWidth,
|
|
99
|
+
height: scale(this.styles.root.height),
|
|
100
|
+
style: {
|
|
101
|
+
zIndex: -1,
|
|
102
|
+
position: 'absolute',
|
|
103
|
+
backgroundColor: ThemeVariables.INSTANCE.transparent
|
|
104
|
+
}
|
|
105
|
+
}, /*#__PURE__*/React.createElement(Path, {
|
|
106
|
+
fill: ThemeVariables.INSTANCE.tabbarBackgroundColor,
|
|
107
|
+
d: this.returnpathDown
|
|
108
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
|
|
75
109
|
if (this.state.showMore) {
|
|
76
110
|
modalService.showModal(this.prepareModalOptions( /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
77
111
|
value: this.theme
|
|
@@ -80,7 +114,7 @@ export default class WmTabbar extends BaseNavComponent {
|
|
|
80
114
|
}, moreItems.map((a, i) => /*#__PURE__*/React.createElement(View, {
|
|
81
115
|
key: i,
|
|
82
116
|
style: this.styles.moreMenuRow
|
|
83
|
-
}, a.map(item => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))))))));
|
|
117
|
+
}, a.map((item, index) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService)))))))));
|
|
84
118
|
} else {
|
|
85
119
|
modalService.hideModal(this.state.modalOptions);
|
|
86
120
|
}
|
|
@@ -90,7 +124,7 @@ export default class WmTabbar extends BaseNavComponent {
|
|
|
90
124
|
onLayout: e => {
|
|
91
125
|
this.tabbarHeight = e.nativeEvent.layout.height;
|
|
92
126
|
}
|
|
93
|
-
}, tabItems.filter((item, i) => i < max).map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService))), tabItems.length > max && this.renderTabItem({
|
|
127
|
+
}, tabItems.filter((item, i) => i < max).map((item, i) => this.renderTabItem(item, i + '', props, () => this.onItemSelect(item, navigationService), item.floating)), tabItems.length > max && this.renderTabItem({
|
|
94
128
|
label: props.morebuttonlabel,
|
|
95
129
|
icon: props.morebuttoniconclass
|
|
96
130
|
}, 6666 + '', props, () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","WmTabbarState","constructor","arguments","_defineProperty","WmTabbar","props","renderTabItem","item","testId","onSelect","isActive","getDisplayLabel","getDisplayExpression","label","createElement","_extends","getTestPropsForAction","onPress","key","style","styles","tabItem","activeTabItem","theme","mergeStyle","tabIcon","activeTabIcon","iconclass","icon","tabLabel","activeTabLabel","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","state","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","renderWidget","max","tabItems","dataItems","moreItems","length","moreItemsCount","Math","ceil","j","i","row","push","root","modalService","showMore","showModal","value","moreMenu","map","a","moreMenuRow","hideModal","menu","onLayout","e","nativeEvent","layout","height","filter","morebuttonlabel","morebuttoniconclass","updateState"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\n\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';\n\nclass WmTabbarState<T extends BaseNavProps> extends BaseNavState<T>{\n showMore = false;\n modalOptions = {} as ModalOptions;\n}\n\nexport default class WmTabbar extends BaseNavComponent<WmTabbarProps, WmTabbarState<WmTabbarProps>, WmTabbarStyles> {\n\n private tabbarHeight = 0;\n\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n }\n\n renderTabItem(item: NavigationDataItem, testId: string, props: WmTabbarProps, onSelect: Function) {\n const isActive = props.isActive && props.isActive(item);\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n return (\n <TouchableOpacity {...this.getTestPropsForAction('item' + testId)} onPress={() => onSelect && onSelect()} key={item.key}>\n <View style={[this.styles.tabItem, isActive ? this.styles.activeTabItem: {}]}>\n <WmIcon styles={this.theme.mergeStyle({}, this.styles.tabIcon, isActive ? this.styles.activeTabIcon: {})} iconclass={item.icon}></WmIcon>\n <Text style={[this.styles.tabLabel, isActive ? this.styles.activeTabLabel: {}]}>{getDisplayLabel(item.label)}</Text>\n </View>\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 renderWidget(props: WmTabbarProps) {\n let max = 5;\n const tabItems = this.state.dataItems;\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 NavigationDataItem;\n }\n moreItems.push(row);\n }\n max = max - 1;\n }\n return (\n <NavigationServiceConsumer>\n {(navigationService) =>\n (<View style={this.styles.root}>\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 => 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)))}\n {tabItems.length > max && (\n this.renderTabItem({\n label: props.morebuttonlabel,\n icon: props.morebuttoniconclass\n } as NavigationDataItem, 6666 +'', props, () => {\n this.updateState({showMore: !this.state.showMore} as WmTabbarState<WmTabbarProps>);\n })\n )}\n </View>\n </View>)}\n </NavigationServiceConsumer>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Dimensions","ThemeProvider","ModalConsumer","WmIcon","NavigationServiceConsumer","BaseNavComponent","BaseNavState","WmTabbarProps","DEFAULT_CLASS","Svg","Path","getPathDown","ThemeVariables","scale","n","WmTabbarState","constructor","arguments","_defineProperty","WmTabbar","props","get","width","renderTabItem","item","testId","onSelect","floating","length","undefined","isActive","getDisplayLabel","getDisplayExpression","label","increasedGap","Number","indexBeforeMid","state","dataItems","classname","indexOf","styles","tabItem","paddingRight","createElement","style","centerHubItem","key","_extends","getTestPropsForAction","onPress","activeTabItem","theme","mergeStyle","tabIcon","centerHubIcon","activeTabIcon","iconclass","icon","tabLabel","centerHubLabel","activeTabLabel","onItemSelect","navigationService","link","openUrl","invokeEventCallback","proxy","prepareModalOptions","content","o","modalOptions","modalStyle","bottom","tabbarHeight","contentStyle","modalContent","renderWidget","max","tabItems","tabItemsLength","isClippedTabbar","middleIndex","Math","floor","returnpathDown","maxWidth","root","height","moreItems","moreItemsCount","ceil","j","i","row","push","zIndex","position","backgroundColor","INSTANCE","transparent","fill","tabbarBackgroundColor","d","Fragment","modalService","showMore","showModal","value","moreMenu","map","a","moreMenuRow","index","hideModal","menu","onLayout","e","nativeEvent","layout","filter","morebuttonlabel","morebuttoniconclass","updateState"],"sources":["tabbar.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Text, View, TouchableOpacity, Dimensions } from 'react-native';\n\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';\n\ninterface TabDataItem extends NavigationDataItem {\n floating: boolean;\n indexBeforeMid: 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\n constructor(props: WmTabbarProps) {\n super(props, DEFAULT_CLASS, new WmTabbarProps(), new WmTabbarState());\n }\n\n private maxWidth = Dimensions.get(\"window\").width; \n private returnpathDown: any;\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 <View style={[increasedGap, floating? this.styles.centerHubItem: {}]} key={`${item.label}_${testId}`}>\n <TouchableOpacity {...this.getTestPropsForAction('item' + testId)} onPress={() => onSelect && onSelect()} key={item.key}>\n <View style={[isActive && !floating ? this.styles.activeTabItem : {}]}>\n <WmIcon styles={this.theme.mergeStyle({}, this.styles.tabIcon ,floating? this.styles.centerHubIcon: {}, isActive && !floating ? this.styles.activeTabIcon : {})}\n iconclass={item.icon}></WmIcon>\n <Text style={[this.styles.tabLabel,floating? this.styles.centerHubLabel: {}, isActive && !floating ? this.styles.activeTabLabel: {}]}>{getDisplayLabel(item.label)}</Text>\n </View>\n </TouchableOpacity>\n </View>\n );\n}\n\n onItemSelect(item: TabDataItem, 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 renderWidget(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 (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 <NavigationServiceConsumer>\n {(navigationService) =>\n (<View style={this.styles.root}>\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 }\n}\n"],"mappings":"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"}
|