@wavemaker/app-rn-runtime 11.15.5-rc.259 → 11.15.6-1.647697
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 +10 -131
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.styles.js +3 -0
- package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
- package/components/basic/button/button.component.js +4 -6
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +1 -3
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/container/container.component.js +1 -23
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +0 -1
- package/components/container/container.props.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +1 -25
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +0 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +0 -1
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form-field/form-field.props.js +0 -1
- package/components/data/form/form-field/form-field.props.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +0 -7
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/calendar/calendar.component.js +0 -4
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/calendar/views/month-view.js +1 -8
- package/components/input/calendar/views/month-view.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +2 -2
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.props.js +0 -1
- package/components/input/checkboxset/checkboxset.props.js.map +1 -1
- package/components/input/checkboxset/checkboxset.styles.js +0 -6
- package/components/input/checkboxset/checkboxset.styles.js.map +1 -1
- package/components/input/chips/chips.component.js +1 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.props.js +0 -1
- package/components/input/chips/chips.props.js.map +1 -1
- package/components/input/currency/currency.component.js +0 -1
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/number/number.component.js +0 -1
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/radioset/radioset.component.js +2 -2
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/radioset/radioset.props.js +0 -1
- package/components/input/radioset/radioset.props.js.map +1 -1
- package/components/input/radioset/radioset.styles.js +0 -6
- package/components/input/radioset/radioset.styles.js.map +1 -1
- package/components/input/text/text.component.js +0 -10
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +0 -1
- package/components/input/text/text.props.js.map +1 -1
- package/components/input/text/text.styles.js +1 -7
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +0 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/components/textinput.component.js +3 -20
- package/core/components/textinput.component.js.map +1 -1
- package/core/tappable.component.js +15 -109
- package/core/tappable.component.js.map +1 -1
- package/npm-shrinkwrap.json +151 -132
- package/package-lock.json +151 -132
- package/package.json +2 -2
- package/runtime/navigator/drawer.navigator.js +0 -1
- package/runtime/navigator/drawer.navigator.js.map +1 -1
- package/runtime/navigator/stack.navigator.js +1 -13
- package/runtime/navigator/stack.navigator.js.map +1 -1
- package/runtime/services/device/scan-service.js +34 -12
- package/runtime/services/device/scan-service.js.map +1 -1
- package/styles/theme.js +10 -20
- package/styles/theme.js.map +1 -1
- package/styles/theme.variables.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
|
3
|
-
"version": "11.15.
|
|
3
|
+
"version": "11.15.6-1.647697",
|
|
4
4
|
"description": "''",
|
|
5
5
|
"main": "index",
|
|
6
6
|
"module": "index",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@react-navigation/drawer": "7.5.8",
|
|
60
60
|
"@react-navigation/native": "7.1.18",
|
|
61
61
|
"@react-navigation/stack": "7.4.8",
|
|
62
|
-
"@wavemaker/variables": "11.15.
|
|
62
|
+
"@wavemaker/variables": "11.15.6-1.647697",
|
|
63
63
|
"axios": "1.8.3",
|
|
64
64
|
"color": "4.2.3",
|
|
65
65
|
"colorjs.io": "^0.5.2",
|
|
@@ -23,7 +23,6 @@ class AppDrawerNavigator extends React.Component {
|
|
|
23
23
|
drawerType: this.props.type,
|
|
24
24
|
headerShown: false,
|
|
25
25
|
overlayColor: ThemeVariables.INSTANCE.leftPanelOverlayColor,
|
|
26
|
-
swipeEnabled: !this.props.hide,
|
|
27
26
|
gestureHandlerProps: {
|
|
28
27
|
enabled: !this.props.hide
|
|
29
28
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createDrawerNavigator","getDrawerStatusFromState","ThemeVariables","Drawer","AppDrawerNavigator","Component","constructor","props","render","createElement","Navigator","initialRouteName","drawerContent","content","screenOptions","navigation","widthStyle","drawerWidth","getState","width","maxWidth","drawerType","type","headerShown","overlayColor","INSTANCE","leftPanelOverlayColor","
|
|
1
|
+
{"version":3,"names":["React","createDrawerNavigator","getDrawerStatusFromState","ThemeVariables","Drawer","AppDrawerNavigator","Component","constructor","props","render","createElement","Navigator","initialRouteName","drawerContent","content","screenOptions","navigation","widthStyle","drawerWidth","getState","width","maxWidth","drawerType","type","headerShown","overlayColor","INSTANCE","leftPanelOverlayColor","gestureHandlerProps","enabled","hide","drawerStyle","backgroundColor","pageContentBgColor","Screen","name","_props","rootComponent"],"sources":["drawer.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { createDrawerNavigator, getDrawerStatusFromState } from '@react-navigation/drawer';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nconst Drawer = createDrawerNavigator();\n\ninterface AppDrawerNavigatorProps {\n content: (props: any) => ReactNode;\n hide: boolean,\n drawerWidth: any;\n type: any;\n rootComponent: React.ReactNode;\n}\n\nclass AppDrawerNavigator extends React.Component<AppDrawerNavigatorProps, any, any> {\n\n constructor(props: AppDrawerNavigatorProps) {\n super(props);\n }\n\n render(){\n return (<Drawer.Navigator\n initialRouteName=\"pages\"\n drawerContent={this.props.content}\n // useLegacyImplementation={false}\n screenOptions={({navigation})=> {\n const widthStyle = (this.props.drawerWidth && getDrawerStatusFromState(navigation.getState()) === 'open' ? {width: this.props.drawerWidth, maxWidth: null} : {})\n return {\n drawerType: this.props.type,\n headerShown: false,\n overlayColor: ThemeVariables.INSTANCE.leftPanelOverlayColor,\n gestureHandlerProps: { enabled: !this.props.hide },\n drawerStyle: { backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor, ...widthStyle}}\n }}>\n <Drawer.Screen name=\"pages\">\n {(_props) => this.props.rootComponent}\n </Drawer.Screen>\n </Drawer.Navigator>);\n }\n}\n\nexport default AppDrawerNavigator;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SAASC,qBAAqB,EAAEC,wBAAwB,QAAQ,0BAA0B;AAC1F,OAAOC,cAAc,MAAM,kDAAkD;AAC7E,MAAMC,MAAM,GAAGH,qBAAqB,CAAC,CAAC;AAUtC,MAAMI,kBAAkB,SAASL,KAAK,CAACM,SAAS,CAAoC;EAElFC,WAAWA,CAACC,KAA8B,EAAE;IAC1C,KAAK,CAACA,KAAK,CAAC;EACd;EAEAC,MAAMA,CAAA,EAAE;IACN,oBAAQT,KAAA,CAAAU,aAAA,CAACN,MAAM,CAACO,SAAS;MACvBC,gBAAgB,EAAC,OAAO;MACxBC,aAAa,EAAE,IAAI,CAACL,KAAK,CAACM;MAC1B;MAAA;MACAC,aAAa,EAAEA,CAAC;QAACC;MAAU,CAAC,KAAI;QAC9B,MAAMC,UAAU,GAAI,IAAI,CAACT,KAAK,CAACU,WAAW,IAAIhB,wBAAwB,CAACc,UAAU,CAACG,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG;UAACC,KAAK,EAAE,IAAI,CAACZ,KAAK,CAACU,WAAW;UAAEG,QAAQ,EAAE;QAAI,CAAC,GAAG,CAAC,CAAE;QAChK,OAAO;UACLC,UAAU,EAAE,IAAI,CAACd,KAAK,CAACe,IAAI;UAC3BC,WAAW,EAAE,KAAK;UAClBC,YAAY,EAAEtB,cAAc,CAACuB,QAAQ,CAACC,qBAAqB;UAC3DC,mBAAmB,EAAE;YAAEC,OAAO,EAAE,CAAC,IAAI,CAACrB,KAAK,CAACsB;UAAK,CAAC;UAClDC,WAAW,EAAE;YAAEC,eAAe,EAAG7B,cAAc,CAACuB,QAAQ,CAACO,kBAAkB;YAAE,GAAGhB;UAAU;QAAC,CAAC;MAChG;IAAE,gBACFjB,KAAA,CAAAU,aAAA,CAACN,MAAM,CAAC8B,MAAM;MAACC,IAAI,EAAC;IAAO,GACvBC,MAAM,IAAK,IAAI,CAAC5B,KAAK,CAAC6B,aACX,CACC,CAAC;EACrB;AACF;AAEA,eAAehC,kBAAkB","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
2
2
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import React from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { View } from 'react-native';
|
|
6
6
|
import { createStackNavigator } from '@react-navigation/stack';
|
|
7
7
|
import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
|
8
8
|
import ErrorBoundary from '@wavemaker/app-rn-runtime/core/error-boundary.component';
|
|
@@ -57,19 +57,7 @@ const getPageId = (pageName, pageParams) => {
|
|
|
57
57
|
const AppStackNavigator = props => {
|
|
58
58
|
const appConfig = injector.get('APP_CONFIG');
|
|
59
59
|
const disablePageAnimation = (appConfig === null || appConfig === void 0 ? void 0 : appConfig.disableNavigationAnimation) || false;
|
|
60
|
-
/*
|
|
61
|
-
Setting detachInactiveScreens={false} for Android.
|
|
62
|
-
With Fabric + React Navigation, navigating to an existing stack screen
|
|
63
|
-
can cause a view reattachment conflict, throwing errors like:
|
|
64
|
-
- removeViewAt tried to remove a React View that was actually reused.
|
|
65
|
-
- addViewAt: cannot insert view [1944] into parent [666]: View already has a parent: [-1]
|
|
66
|
-
This breaks the touch responder system (scroll works but touch events stop).
|
|
67
|
-
refer : https://github.com/facebook/react-native/blob/7f1a1e6c93ec1acd34b5756656210ccea97fb4a6/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.kt#L363
|
|
68
|
-
Until fixed in future React Native versions, disabling screen detaching is the workaround.
|
|
69
|
-
*/
|
|
70
|
-
const detachInactiveScreens = Platform.OS === 'android' && (appConfig === null || appConfig === void 0 ? void 0 : appConfig.detachInactiveScreens) === false ? false : true;
|
|
71
60
|
return /*#__PURE__*/React.createElement(Stack.Navigator, {
|
|
72
|
-
detachInactiveScreens: detachInactiveScreens,
|
|
73
61
|
initialRouteName: props.landingPage
|
|
74
62
|
}, props.pages.map(p => {
|
|
75
63
|
pages[p.name] = p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","View","createStackNavigator","ThemeVariables","ErrorBoundary","injector","Stack","pages","Screen","Component","constructor","props","_defineProperty","state","renew","page","createPage","navigation","cleanUp","push","addListener","setState","createElement","route","name","component","destroyMe","setTimeout","componentWillUnmount","forEach","fn","render","getPageId","pageName","pageParams","pageParamsStr","Object","keys","sort","map","k","join","AppStackNavigator","appConfig","get","disablePageAnimation","disableNavigationAnimation","Navigator","initialRouteName","landingPage","p","key","getId","params","options","animation","headerShown","cardStyle","backgroundColor","INSTANCE","pageContentBgColor"],"sources":["stack.navigator.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { createStackNavigator } from '@react-navigation/stack';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport ErrorBoundary from '@wavemaker/app-rn-runtime/core/error-boundary.component';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nconst Stack = createStackNavigator();\n\ninterface AppStackNavigatorProps {\n pages: any[];\n landingPage: string; \n}\n\nconst pages = {} as any;\n\nclass Screen extends React.Component {\n\n private cleanUp = [] as Function[];\n\n constructor(props: any) {\n super(props);\n this.state = {\n renew: false,\n page: this.createPage()\n };\n const navigation = (this.props as any).navigation as any;\n this.cleanUp.push(navigation.addListener('focus', () => {\n const state = (this.state as any);\n if (state.renew) {\n state.page = this.createPage();\n this.setState(() => ({\n renew: false,\n page: state.page\n }));\n }\n }));\n }\n\n private createPage() {\n const props = this.props as any;\n return (\n <ErrorBoundary>\n {React.createElement(pages[props.route.name].component, {...props, destroyMe: () => {\n setTimeout(() => {\n this.setState(() => ({renew: true, page: null}));\n }, 100);\n }})}\n </ErrorBoundary>\n );\n }\n\n componentWillUnmount() {\n this.cleanUp.forEach(fn => fn && fn());\n }\n\n render() {\n return (this.state as any).page || (<View/>);\n }\n}\n\nconst getPageId = (pageName: string, pageParams: any) => {\n const pageParamsStr = pageParams ? Object.keys(pageParams)\n .sort()\n .map((k: string) => `${k}=${pageParams[k]}`)\n .join('&') : '';\n return `${pageName}?${pageParamsStr}`;\n}\n\nconst AppStackNavigator = (props: AppStackNavigatorProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const disablePageAnimation = appConfig?.disableNavigationAnimation || false\n return (<Stack.Navigator initialRouteName={props.landingPage}>\n {props.pages.map(p => {\n pages[p.name] = p;\n return (\n <Stack.Screen key={p.name}\n \n name={p.name}\n component={Screen}\n getId={({params}) => getPageId(p.name, params)}\n options={{\n ...(disablePageAnimation && { animation: 'none' }),\n headerShown: false,\n cardStyle: {\n backgroundColor: ThemeVariables.INSTANCE.pageContentBgColor\n }\n }}\n />);\n })}\n </Stack.Navigator>);\n};\n\nexport default AppStackNavigator;"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,7 +56,33 @@ const styles = StyleSheet.create({
|
|
|
56
56
|
backgroundColor: opacity
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
|
-
const
|
|
59
|
+
const BarCodeType = [{
|
|
60
|
+
0: 'aztec'
|
|
61
|
+
}, {
|
|
62
|
+
1: 'ean13'
|
|
63
|
+
}, {
|
|
64
|
+
2: 'ean8'
|
|
65
|
+
}, {
|
|
66
|
+
3: 'qr'
|
|
67
|
+
}, {
|
|
68
|
+
4: 'pdf417'
|
|
69
|
+
}, {
|
|
70
|
+
5: 'upc_e'
|
|
71
|
+
}, {
|
|
72
|
+
6: 'datamatrix'
|
|
73
|
+
}, {
|
|
74
|
+
7: 'code39'
|
|
75
|
+
}, {
|
|
76
|
+
8: 'code93'
|
|
77
|
+
}, {
|
|
78
|
+
9: 'itf14'
|
|
79
|
+
}, {
|
|
80
|
+
10: 'codabar'
|
|
81
|
+
}, {
|
|
82
|
+
11: 'code128'
|
|
83
|
+
}, {
|
|
84
|
+
12: 'upc_a'
|
|
85
|
+
}];
|
|
60
86
|
export class ScanService {
|
|
61
87
|
constructor(displayManager) {
|
|
62
88
|
this.displayManager = displayManager;
|
|
@@ -79,19 +105,14 @@ export class ScanService {
|
|
|
79
105
|
const format = (params === null || params === void 0 ? void 0 : params.barcodeFormat) || 'ALL';
|
|
80
106
|
const barcodeFormat = Platform.OS === 'ios' ? undefined : barcodeFormatOptions[format];
|
|
81
107
|
const CameraView = params === null || params === void 0 || (_params$scanPluginSer = params.scanPluginService) === null || _params$scanPluginSer === void 0 ? void 0 : _params$scanPluginSer.CameraView;
|
|
82
|
-
/**
|
|
83
|
-
* 'ALL' means any barcode in WaveMaker; the camera SDK does not accept the string 'ALL' as a barcode type.
|
|
84
|
-
* Omit scanner settings so the SDK scans every supported format.
|
|
85
|
-
*/
|
|
86
|
-
const scannerBarcodeSettings = barcodeFormat && barcodeFormat !== 'ALL' ? {
|
|
87
|
-
barcodeTypes: [barcodeFormat]
|
|
88
|
-
} : undefined;
|
|
89
108
|
return new Promise((resolve, reject) => {
|
|
90
109
|
var _params$permissionSer;
|
|
91
110
|
(params === null || params === void 0 || (_params$permissionSer = params.permissionService) === null || _params$permissionSer === void 0 ? void 0 : _params$permissionSer.requestPermissions) && params.permissionService.requestPermissions('camera').then(() => {
|
|
92
111
|
const destroy = this.displayManager.show({
|
|
93
112
|
content: /*#__PURE__*/React.createElement(CameraView, {
|
|
94
|
-
barcodeScannerSettings:
|
|
113
|
+
barcodeScannerSettings: barcodeFormat ? {
|
|
114
|
+
barcodeTypes: [BarCodeType[barcodeFormat]]
|
|
115
|
+
} : undefined,
|
|
95
116
|
onBarcodeScanned: result => {
|
|
96
117
|
destroy.call(this.displayManager);
|
|
97
118
|
resolve(result);
|
|
@@ -123,10 +144,11 @@ export class ScanService {
|
|
|
123
144
|
});
|
|
124
145
|
}, reject);
|
|
125
146
|
}).then(response => {
|
|
126
|
-
let format
|
|
147
|
+
let format;
|
|
127
148
|
if (response.type) {
|
|
128
|
-
const
|
|
129
|
-
|
|
149
|
+
const values = Object.values(BarCodeType);
|
|
150
|
+
const index = values.indexOf(response.type);
|
|
151
|
+
format = index > -1 ? Object.keys(BarCodeType)[index] : '';
|
|
130
152
|
}
|
|
131
153
|
return Promise.resolve({
|
|
132
154
|
text: response.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Ionicons","Platform","StyleSheet","TouchableOpacity","View","React","appDisplayManagerService","barcodeFormatOptions","opacity","styles","create","container","flex","flexDirection","closeWrapper","justifyContent","alignItems","paddingBottom","topWrapper","backgroundColor","centerWrapper","leftWrapper","focused","rightWrapper","bottomWrapper","
|
|
1
|
+
{"version":3,"names":["Ionicons","Platform","StyleSheet","TouchableOpacity","View","React","appDisplayManagerService","barcodeFormatOptions","opacity","styles","create","container","flex","flexDirection","closeWrapper","justifyContent","alignItems","paddingBottom","topWrapper","backgroundColor","centerWrapper","leftWrapper","focused","rightWrapper","bottomWrapper","BarCodeType","ScanService","constructor","displayManager","getTestProps","suffix","id","OS","accessibilityLabel","testID","accessible","scanBarcode","params","_params$scanPluginSer","format","barcodeFormat","undefined","CameraView","scanPluginService","Promise","resolve","reject","_params$permissionSer","permissionService","requestPermissions","then","destroy","show","content","createElement","barcodeScannerSettings","barcodeTypes","onBarcodeScanned","result","call","style","absoluteFillObject","_extends","onPress","name","size","color","response","type","values","Object","index","indexOf","keys","text","data","cancelled","scanService"],"sources":["scan-service.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';\nimport React from 'react';\nimport { ScanInput, ScanOutput } from '@wavemaker/app-rn-runtime/variables/device/scan/scan.operation';\nimport { DisplayManager } from '@wavemaker/app-rn-runtime/core/display.manager';\nimport appDisplayManagerService from '@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service';\n\ninterface objectMap {\n [key: string]: string\n}\n\nconst barcodeFormatOptions: objectMap = {\n 'ALL': 'ALL',\n 'CODABAR': 'codabar',\n 'CODE_39': 'code39',\n 'CODE_93': 'code93',\n 'CODE_128': 'code128',\n 'DATA_MATRIX': 'datamatrix',\n 'EAN_8': 'ean8',\n 'EAN_13': 'ean13',\n 'ITF': 'itf14',\n 'PDF_417': 'pdf417',\n 'QR_CODE': 'qr',\n 'RSS14': 'rss14',\n 'RSS_EXPANDED': 'rssexpanded',\n 'UPC_E': 'upc_e',\n 'UPC_A': 'upc_a'\n};\nconst opacity = 'rgba(0, 0, 0, 0.6)';\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column'\n },\n closeWrapper: {\n flex: 1,\n justifyContent: 'flex-end',\n alignItems: 'center',\n paddingBottom: 32\n },\n topWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n centerWrapper: {\n flex: 2,\n flexDirection: 'row'\n },\n leftWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n focused: {\n flex: 10\n },\n rightWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n bottomWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n});\n\nconst BarCodeType: any = [\n { 0: 'aztec' },\n { 1: 'ean13' },\n { 2: 'ean8' },\n { 3: 'qr' },\n { 4: 'pdf417' },\n { 5: 'upc_e' },\n { 6: 'datamatrix' },\n { 7: 'code39' },\n { 8: 'code93' },\n { 9: 'itf14' },\n { 10: 'codabar' },\n { 11: 'code128' },\n { 12: 'upc_a' }\n];\n\n\nexport class ScanService {\n\n constructor(private displayManager: DisplayManager) {}\n\n getTestProps(suffix: string) {\n const id = \"scan\" + (suffix ? '_' + suffix : '');\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n public scanBarcode(params: ScanInput): Promise<ScanOutput> {\n const format = params?.barcodeFormat || 'ALL';\n const barcodeFormat: string | undefined = Platform.OS === 'ios' ? undefined : barcodeFormatOptions[format];\n const CameraView = params?.scanPluginService?.CameraView;\n return new Promise((resolve, reject) => {\n params?.permissionService?.requestPermissions && params.permissionService.requestPermissions('camera').then(() => {\n const destroy = this.displayManager.show({\n content: (<CameraView\n barcodeScannerSettings={barcodeFormat ? {\n barcodeTypes: [BarCodeType[barcodeFormat]],\n }: undefined}\n onBarcodeScanned={(result: any) => {\n destroy.call(this.displayManager);\n resolve(result);\n }}\n style={StyleSheet.absoluteFillObject}\n >\n <View style={styles.topWrapper}>\n </View>\n <View style={styles.centerWrapper}>\n <View style={styles.leftWrapper}/>\n <View style={styles.focused}/>\n <View style={styles.rightWrapper}/>\n </View>\n <View style={styles.bottomWrapper}>\n \n <View style={styles.closeWrapper}>\n <TouchableOpacity\n {... this.getTestProps('close_button')}\n onPress={() => {\n destroy.call(this.displayManager);\n }}>\n <Ionicons name='close-circle' size={48} color='white' />\n </TouchableOpacity>\n </View>\n </View>\n </CameraView>)\n });\n }, reject)\n }).then((response: any) => {\n let format;\n if (response.type) {\n const values = Object.values(BarCodeType);\n const index = values.indexOf(response.type);\n format = index > -1 ? Object.keys(BarCodeType)[index] : '';\n }\n return Promise.resolve({\n text: response.data,\n format : format || response.type,\n cancelled : false\n });\n });\n }\n}\nconst scanService = new ScanService(appDisplayManagerService);\nexport default scanService;"],"mappings":"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","ignoreList":[]}
|
package/styles/theme.js
CHANGED
|
@@ -268,25 +268,8 @@ export class Theme {
|
|
|
268
268
|
style['opacity'] = percentage / 100;
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
|
-
const isViewportUnit = value => value.endsWith('vw') || value.endsWith('vh');
|
|
272
|
-
const convertViewportUnitToPx = value => {
|
|
273
|
-
if (value.endsWith('vw')) {
|
|
274
|
-
const screenWidth = Dimensions.get('window').width;
|
|
275
|
-
const stylePropertyValue = value.replace('vw', '');
|
|
276
|
-
return Number(stylePropertyValue) / 100 * screenWidth;
|
|
277
|
-
}
|
|
278
|
-
if (value.endsWith('vh')) {
|
|
279
|
-
const screenHeight = Dimensions.get('window').height;
|
|
280
|
-
const stylePropertyValue = value.replace('vh', '');
|
|
281
|
-
return Number(stylePropertyValue) / 100 * screenHeight;
|
|
282
|
-
}
|
|
283
|
-
return value;
|
|
284
|
-
};
|
|
285
271
|
const processStyleValue = value => {
|
|
286
272
|
if (typeof value === 'string') {
|
|
287
|
-
if (isViewportUnit(value)) {
|
|
288
|
-
return convertViewportUnitToPx(value);
|
|
289
|
-
}
|
|
290
273
|
const num = parseFloat(value);
|
|
291
274
|
return isNaN(num) ? value : num;
|
|
292
275
|
}
|
|
@@ -473,10 +456,17 @@ export class Theme {
|
|
|
473
456
|
if (!isNil(style['color']) && style['color'] === 'transparent') {
|
|
474
457
|
style['color'] = 'rgba(255, 255, 255, 0)';
|
|
475
458
|
}
|
|
459
|
+
let screenWidth = Dimensions.get('window').width;
|
|
460
|
+
let screenHeight = Dimensions.get('window').height;
|
|
476
461
|
Object.keys(style).forEach((k, i) => {
|
|
477
|
-
|
|
478
|
-
if (typeof stylePropertyValue === 'string' &&
|
|
479
|
-
|
|
462
|
+
let stylePropertyValue = style[k];
|
|
463
|
+
if (typeof stylePropertyValue === 'string' && stylePropertyValue.endsWith('vw')) {
|
|
464
|
+
stylePropertyValue = stylePropertyValue.replace('vw', '');
|
|
465
|
+
style[k] = Number(stylePropertyValue) / 100 * screenWidth;
|
|
466
|
+
}
|
|
467
|
+
if (typeof stylePropertyValue === 'string' && stylePropertyValue.endsWith('vh')) {
|
|
468
|
+
stylePropertyValue = stylePropertyValue.replace('vh', '');
|
|
469
|
+
style[k] = Number(stylePropertyValue) / 100 * screenHeight;
|
|
480
470
|
}
|
|
481
471
|
});
|
|
482
472
|
return style;
|