@fto-consult/expo-ui 6.23.9 → 6.23.11

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/app.config.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@FTO-CONSULT/EXPO-UI",
3
- "version": "6.21.23",
3
+ "version": "6.23.10",
4
4
  "description": "Bibliothèque de composants UI Expo,react-native",
5
5
  "bin": {
6
6
  "expo-ui": "./bin/index.js"
package/app.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "expo": {
3
+ "name": "@fto-consult/expo-ui",
4
+ "slug": "fto-consult-expo-ui",
5
+ "version": "1.0.0",
6
+ "orientation": "portrait",
7
+ "web": {
8
+ "bundler": "metro"
9
+ }
10
+ },
11
+ "userInterfaceStyle": "automatic"
12
+ }
package/index.js CHANGED
@@ -50,10 +50,14 @@ export default function registerApp (opts){
50
50
 
51
51
  registerRootComponent(MainAppEntry);
52
52
 
53
- /***
53
+
54
54
  registerApp({
55
- init : ()=>{
55
+ navigation : {
56
+ screens : require("./src/test-screens").default
57
+ },
58
+ init : ({appConfig})=>{
59
+ appConfig.set("isAuthSingleUserAllowed",true);
60
+ appConfig.set("authDefaultUser",{code:"root",password:"admin123",label:"Master admin"})
56
61
  return Promise.resolve("test ted")
57
62
  }
58
- })
59
- */
63
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fto-consult/expo-ui",
3
- "version": "6.23.9",
3
+ "version": "6.23.11",
4
4
  "description": "Bibliothèque de composants UI Expo,react-native",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -118,6 +118,7 @@
118
118
  },
119
119
  "devDependencies": {
120
120
  "@expo/metro-config": "latest",
121
+ "@faker-js/faker": "^8.0.2",
121
122
  "babel-plugin-inline-dotenv": "^1.7.0",
122
123
  "babel-plugin-module-resolver": "^5.0.0"
123
124
  }
package/src/App.js CHANGED
@@ -5,6 +5,7 @@ import Index from './index';
5
5
  import notify from "$notify";
6
6
  import { SafeAreaProvider } from 'react-native-safe-area-context';
7
7
  import {GestureHandlerRootView} from "react-native-gesture-handler";
8
+ import KeyboardAvoidingViewComponent from '$ecomponents/KeyboardAvoidingView';
8
9
  import APP from "$app";
9
10
  import {isMobileNative} from "$cplatform";
10
11
  import {setDeviceIdRef} from "$capp";
@@ -144,9 +145,11 @@ export default function getIndex({onMount,onUnmount,render,onRender,init}){
144
145
  }}
145
146
  >
146
147
  <GestureHandlerRootView style={{ flex: 1,flexGrow:1,flexShrink:1}} testID={"RN_GestureHandlerRootView"}>
147
- <SafeAreaProvider>
148
- <Index onMount={onMount} render={render} onUnmount={onUnmount} onRender={onRender} init={init}/>
149
- </SafeAreaProvider>
148
+ <KeyboardAvoidingViewComponent>
149
+ <SafeAreaProvider>
150
+ <Index onMount={onMount} render={render} onUnmount={onUnmount} onRender={onRender} init={init}/>
151
+ </SafeAreaProvider>
152
+ </KeyboardAvoidingViewComponent>
150
153
  </GestureHandlerRootView>
151
154
  </SWRConfig>
152
155
  );
@@ -35,11 +35,17 @@ const DatagridFactory = (Factory)=>{
35
35
  super(props);
36
36
  this.autobind();
37
37
  this.frozenItems = 0;
38
- this.listRef = React.createRef(null);
38
+ Object.defineProperties(this,{
39
+ listRef : {
40
+ value : React.createRef(),
41
+ },
42
+ backToTopRef : {
43
+ value : React.createRef(),
44
+ },
45
+ });
39
46
  this.state.refreshing = false;
40
47
  //this.state.isReady = !this.bindResizeEvents();
41
48
  this.updateLayout = this.updateLayout.bind(this);
42
- this.backToTopRef = React.createRef(null);
43
49
  }
44
50
  isDatagrid(){
45
51
  return true;
@@ -1,150 +1,6 @@
1
1
  // Copyright 2023 @fto-consult/Boris Fouomene. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style
3
3
  // license that can be found in the LICENSE file.
4
- import i18n from "$i18n";
5
4
  export default {
6
- type : {
7
- text : 'Type',
8
- type : 'select',
9
- required : true,
10
- width : 150,
11
- items : {
12
- PSA : {code:'PSA',index:0,piece:'RVE',label:i18n.lang("payments_sales","Vente")},
13
- PPU : {code:'PPU',index:0,piece:'RAC',label:i18n.lang("payments_purchases","Achat")},
14
- PIN : {code:'PIN',index : 0,piece:'REN', label:i18n.lang("payments_increases","Encaissement")},
15
- PDE : {code:'PDE',index:0,piece:'RDE',label:i18n.lang("payments_decreases","Décaissement")},
16
- PTR : {code:'PTR',index:0,piece:'RTR',label:i18n.lang("payments_transfers","Transfert")},
17
- },
18
- },
19
- date : {
20
- text : 'Date',
21
- tooltip : 'La date',
22
- type : 'date',
23
- defaultValue : new Date(),
24
- },
25
- from : {
26
- tooltip : 'Le compte source',
27
- idfield : 'code',
28
- //le point d'origine
29
- text : 'Du/De',
30
- },
31
- to : {
32
- idfield : 'code',
33
- tooltip : 'Le compte destination',
34
- text : 'Au/A',
35
- },
36
- amount : {
37
- text : 'Montant',
38
- type : 'number',
39
- format : 'money',
40
- defaultValue : 0,
41
- },
42
- mode : {
43
- type : 'selectstructdata',
44
- text : 'Mode',
45
- tableName : 'payments_methods',
46
- required : true,
47
- defaultValue : 'ESPECE',
48
- },
49
- cost : {
50
- text : 'Coût',
51
- type : 'number',
52
- format : 'money',
53
- defaultValue : 0,
54
- validType : 'numberGreaterThanOrEquals[0]',
55
- },
56
- totalAmount : {
57
- text : 'Montant Total',
58
- type : 'number',
59
- format : 'money',
60
- defaultValue : 0,
61
- form : false,
62
- },
63
- imputedAmount : {
64
- text : 'Montant Imputé',
65
- form : false,
66
- type : 'number',
67
- format : 'money',
68
- import : false,
69
- },
70
- restToImpute :{
71
- text : 'Reste à Imputer',
72
- form : false,
73
- type : 'number',
74
- format : 'money',
75
- import : false,
76
- },
77
- code : {
78
- text : 'Numéro/pièce',
79
- type : 'piece',
80
- tableName : 'PAYMENTS',
81
- dbName : 'default',
82
- piece : '',
83
- width : 200,
84
- },
85
- reference : {
86
- tooltip : 'La référence ',
87
- text : 'Référence',
88
- width : 300,
89
- sortable : false,
90
- filter : false,
91
- import : false,
92
- },
93
- category : {
94
- text : 'Catégorie',
95
- type : 'selectStructData',
96
- table : 'payments_categories',
97
- width : 200
98
- },
99
- label : {
100
- text : 'Objet/Motif',
101
- tooltip : "L'objet ou le motif du règlement",
102
- format : 'hashtag',
103
- maxLength : 500,
104
- rows : 1,
105
- width : 300
106
- },
107
- approved : {
108
- type : 'switch',
109
- form : false,
110
- width : 100,
111
- text : 'Approuvé',
112
- defaultValue : 0,
113
- checkedTooltip : 'Oui',
114
- uncheckedTooltip : 'Non'
115
- },
116
- transferredAmount : {
117
- text : 'Montant transféré',
118
- title : "Le montant transféré dans le fichier de donné, si le document a été transféré",
119
- type : "number",
120
- format : 'money',
121
- visible : false,
122
- form : false,
123
- },
124
- netAmount : {
125
- text : 'Montant net',
126
- title : "Le montant net représente la différence entre le montant réglé et le montant transféré",
127
- type : "number",
128
- format : 'money',
129
- visible : false,
130
- filter : false,
131
- sortable : false,
132
- form : false,
133
- },
134
- tags : {
135
- text : 'Etiquettes',
136
- type : 'selectstructdata',
137
- table : 'tags',
138
- multiple : true,
139
- display : 'tags',
140
- width : 200
141
- },
142
- comment : {
143
- text : 'Note complémentaire',
144
- tootile : 'Note complémentaire au règlement',
145
- maxLength : 120,
146
- format : 'hashtag',
147
- rows : 1,
148
- width : 200
149
- },
5
+
150
6
  }
@@ -4,7 +4,50 @@
4
4
 
5
5
  import fields from "./fields";
6
6
  import Table from "../Table";
7
- const data = require("./data.json");
8
- export default function TestDatagridComponent({...props}){
9
- return <Table columns={fields} data={data.docs} {...props}/>
10
- }
7
+ import React from "$react";
8
+ import { faker } from '@faker-js/faker';
9
+ export default function TestDatagridComponent({count,...props}){
10
+ const data = React.useMemo(()=>{
11
+ count = typeof count =='number' && count > 10 ? count : 5000;
12
+ return faker.helpers.multiple(createRandomUser, {
13
+ count,
14
+ });
15
+ },[count])
16
+ return <Table
17
+ title = "Utilisateurs"
18
+ columns={{
19
+ userId : {
20
+ primaryKey : true,
21
+ text :"Id",
22
+ width : 100,
23
+ },
24
+ username : {
25
+ text : "Name",
26
+ width : 220,
27
+ },
28
+ email : {
29
+ type : "email",
30
+ label : 'Email',
31
+ },
32
+ avatar : {
33
+ type : "image",
34
+ label: 'Avatar',
35
+ },
36
+ birthdate : {
37
+ type : "date",
38
+ label : "Date",
39
+ },
40
+ }} data={data} {...props}/>
41
+ }
42
+
43
+ export function createRandomUser (){
44
+ return {
45
+ userId: faker.string.uuid(),
46
+ username: faker.internet.userName(),
47
+ email: faker.internet.email(),
48
+ avatar: faker.image.avatar(),
49
+ password: faker.internet.password(),
50
+ birthdate: faker.date.birthdate(),
51
+ registeredAt: faker.date.past(),
52
+ };
53
+ }
@@ -3,7 +3,7 @@ import {defaultStr,isObj} from "$cutils";
3
3
  import {Dialog} from "react-native-paper";
4
4
  import {isNonNullString,defaultVal,defaultNumber,defaultObj,defaultBool } from "$cutils";
5
5
  import {StyleSheet,ScrollView} from "react-native";
6
- //import ScrollView from "$ecomponents/ScrollView";
6
+ import View from "$ecomponents/View";
7
7
  import Modal from "$ecomponents/Modal";
8
8
  import PropTypes from "prop-types";
9
9
  import React from "$react";
@@ -20,6 +20,7 @@ import {ACTION_ICON_SIZE} from "$ecomponents/AppBar";
20
20
  import DialogFooter from "./DialogFooter";
21
21
  import { Dimensions } from "react-native";
22
22
  import Surface from "$ecomponents/Surface";
23
+ import KeyboardAvoidingView from "$ecomponents/KeyboardAvoidingView";
23
24
 
24
25
  export const FOOTER_HEIGHT = 50;
25
26
  export const HEADER_HEIGHT = 50;
@@ -172,9 +173,9 @@ const DialogComponent = React.forwardRef((props,ref)=>{
172
173
  paddingVertical : borderRadius?10:0,
173
174
  };
174
175
  const alertContentStyle = isAlert ? {paddingHorizontal:15} : null;
175
- content = <Surface ref={contentRef} testID = {testID+"_Content11"} {...contentProps} style={[fullScreen? {flex:1}:{maxWidth,maxHeight:maxHeight-Math.min(SCREEN_INDENT*2+50,100)},isPreloader && {paddingHorizontal:10},{backgroundColor},alertContentStyle,contentProps.style]}>
176
+ content = <View ref={contentRef} testID = {testID+"_Content11"} {...contentProps} style={[fullScreen? {flex:1}:{maxWidth,maxHeight:maxHeight-Math.min(SCREEN_INDENT*2+50,100)},isPreloader && {paddingHorizontal:10},{backgroundColor},alertContentStyle,contentProps.style]}>
176
177
  {content}
177
- </Surface>
178
+ </View>
178
179
  if(withScrollView){
179
180
  content = <ScrollView centerContent
180
181
  contentContainerStyle={{ flexGrow: 0, justifyContent: 'flex-start' }}
@@ -197,78 +198,80 @@ const DialogComponent = React.forwardRef((props,ref)=>{
197
198
  testID = {testID}
198
199
  contentContainerProps = {contentContainerProps}
199
200
  >
200
- <Surface
201
- testID = {testID+"_Overlay"}
202
- ref={overlayRef}
203
- {...overlayProps}
204
- style={[styles.overlay,isAlert && styles.overlayAlert,{backgroundColor},overlayProps.style,fullScreenStyle]}
205
- >
206
- {(!isAlert && (actions || title || subtitle)) ? <AppBarDialog
207
- actionsProps = {actionsProps}
208
- testID = {testID+"_AppBar"}
209
- {...appBarProps}
210
- actions = {actions}
211
- actionMutator = {actionMutator}
212
- ref = {appBarRef}
213
- responsive = {isResponsive}
214
- isFullScreen = {isFullScreenDialog}
215
- fullScreen = {customFullScreen}
216
- backAction = {backAction}
217
- backActionProps = {{...backActionProps,onPress:(a)=>{
218
- handleBack(a,true);
219
- }}}
220
- title = {title}
221
- subtitle = {subtitle}
222
- titleProps = {titleProps}
223
- />:null}
224
- <DialogTitle
225
- testID = {testID+"_Title"}
226
- {...titleProps}
227
- ref = {titleRef}
228
- title = {title}
229
- responsive = {isResponsive}
230
- isFullScreen = {isFullScreenDialog}
231
- fullScreen = {customFullScreen}
232
- />
233
- {content}
234
- {actions ? <DialogActions
235
- testID = {testID+"_Footer"}
236
- {...footerProps}
237
- ref = {footerRef}
238
- isAlert = {isAlert}
239
- onAlertRequestClose = {onAlertRequestClose}
240
- actionsProps = {actionsProps}
241
- responsive = {isResponsive}
242
- isFullScreen = {isFullScreenDialog}
243
- fullScreen = {customFullScreen}
244
- actions = {actions}
245
- style = {[{backgroundColor},footerProps.style]}
246
- actionMutator = {actionMutator}
247
- cancelButton = {isAlert || !cancelButton || isPreloader ? null : {
248
- icon : 'cancel',
249
- mode : 'contained',
250
- error : true,
251
- canSave : false,
252
- ...cancelButton,
253
- text : undefined,
254
- label : defaultVal(cancelButton.label,cancelButton.text,"Annuler"),
255
- onPress : (a1,a2)=>{
256
- return handleBack(a1,true);
257
- }
258
- }}
259
- menuProps = {defaultObj(appBarProps.menuProps)}
260
- /> : null}
261
- {(!isAlert && footer) ? <DialogFooter
262
- {...footerProps}
263
- style = {[{backgroundColor},footerProps.style]}
264
- testID = {testID+"_FullPageFooter"}
265
- ref = {footerContentRef}
266
- responsive = {isResponsive}
267
- isFullScreen = {isFullScreenDialog}
268
- fullScreen = {customFullScreen}
269
- children = {footer}
270
- /> : null}
271
- </Surface>
201
+ <KeyboardAvoidingView>
202
+ <Surface
203
+ testID = {testID+"_Overlay"}
204
+ ref={overlayRef}
205
+ {...overlayProps}
206
+ style={[styles.overlay,isAlert && styles.overlayAlert,{backgroundColor},overlayProps.style,fullScreenStyle]}
207
+ >
208
+ {(!isAlert && (actions || title || subtitle)) ? <AppBarDialog
209
+ actionsProps = {actionsProps}
210
+ testID = {testID+"_AppBar"}
211
+ {...appBarProps}
212
+ actions = {actions}
213
+ actionMutator = {actionMutator}
214
+ ref = {appBarRef}
215
+ responsive = {isResponsive}
216
+ isFullScreen = {isFullScreenDialog}
217
+ fullScreen = {customFullScreen}
218
+ backAction = {backAction}
219
+ backActionProps = {{...backActionProps,onPress:(a)=>{
220
+ handleBack(a,true);
221
+ }}}
222
+ title = {title}
223
+ subtitle = {subtitle}
224
+ titleProps = {titleProps}
225
+ />:null}
226
+ <DialogTitle
227
+ testID = {testID+"_Title"}
228
+ {...titleProps}
229
+ ref = {titleRef}
230
+ title = {title}
231
+ responsive = {isResponsive}
232
+ isFullScreen = {isFullScreenDialog}
233
+ fullScreen = {customFullScreen}
234
+ />
235
+ {content}
236
+ {actions ? <DialogActions
237
+ testID = {testID+"_Footer"}
238
+ {...footerProps}
239
+ ref = {footerRef}
240
+ isAlert = {isAlert}
241
+ onAlertRequestClose = {onAlertRequestClose}
242
+ actionsProps = {actionsProps}
243
+ responsive = {isResponsive}
244
+ isFullScreen = {isFullScreenDialog}
245
+ fullScreen = {customFullScreen}
246
+ actions = {actions}
247
+ style = {[{backgroundColor},footerProps.style]}
248
+ actionMutator = {actionMutator}
249
+ cancelButton = {isAlert || !cancelButton || isPreloader ? null : {
250
+ icon : 'cancel',
251
+ mode : 'contained',
252
+ error : true,
253
+ canSave : false,
254
+ ...cancelButton,
255
+ text : undefined,
256
+ label : defaultVal(cancelButton.label,cancelButton.text,"Annuler"),
257
+ onPress : (a1,a2)=>{
258
+ return handleBack(a1,true);
259
+ }
260
+ }}
261
+ menuProps = {defaultObj(appBarProps.menuProps)}
262
+ /> : null}
263
+ {(!isAlert && footer) ? <DialogFooter
264
+ {...footerProps}
265
+ style = {[{backgroundColor},footerProps.style]}
266
+ testID = {testID+"_FullPageFooter"}
267
+ ref = {footerContentRef}
268
+ responsive = {isResponsive}
269
+ isFullScreen = {isFullScreenDialog}
270
+ fullScreen = {customFullScreen}
271
+ children = {footer}
272
+ /> : null}
273
+ </Surface>
274
+ </KeyboardAvoidingView>
272
275
  </ModalComponent>
273
276
  </Portal>
274
277
  });
@@ -902,8 +902,7 @@ class DropdownComponent extends AppComponent {
902
902
  label = {labelTextField}
903
903
  style = {[inputProps.style,textInputProps.style,{pointerEvents:"none"}]}
904
904
  disabled = {disabled}
905
- readOnly = {readOnly}
906
- //divider = {canHandle}
905
+ readOnly = {true}
907
906
  alwaysUseLabel = {renderTag?true : false}
908
907
  contentContainerProps = {{
909
908
  ...contentContainerProps,
@@ -3,7 +3,6 @@ import React from "$react";
3
3
  import {classExtends,isFunction,isNonNullString,defaultStr,defaultObj,defaultVal,extendObj} from "$cutils";
4
4
  import {warning,Forms} from "./utils";
5
5
  import Action from "./Action";
6
- import View from "$ecomponents/View";
7
6
  import KeyboardAvoidingView from "$ecomponents/KeyboardAvoidingView";
8
7
  import { StyleSheet } from "react-native";
9
8
  import APP from "$capp/instance";
@@ -106,11 +105,9 @@ export default class FormComponent extends React.AppComponent {
106
105
  ...rest
107
106
  } = this.props;
108
107
  testID = defaultStr(testID,"RN_FormComponent");
109
- return (<KeyboardAvoidingView testID={testID+"_KeyboardAvoidingView"}>
110
- <View {...rest} testID={testID} style={[styles.container,rest.style]}>
111
- {this.props.children}
112
- </View>
113
- </KeyboardAvoidingView>);
108
+ return <KeyboardAvoidingView {...rest} testID={testID+"_FormKeyboardAvoidingView"} style={[styles.container,rest.style]}>
109
+ {this.props.children}
110
+ </KeyboardAvoidingView>
114
111
  }
115
112
  }
116
113
  const isField = (Component)=>{
@@ -1,4 +1,8 @@
1
+ import View from "$ecomponents/View";
2
+ import React from "$react";
3
+ const KeyboardAvoidingViewComponent = React.forwardRef(({children,...props},ref)=>{
4
+ return <View {...props}>{children}</View>
5
+ });
1
6
 
2
- export default function KeyboardAvoidingViewComponent({ children}){
3
- return children;
4
- }
7
+ KeyboardAvoidingViewComponent.displayName = "KeyboardAvoidingViewComponent";
8
+ KeyboardAvoidingViewComponent.propTypes = Object.assign({},View.propTypes);
@@ -1,10 +1,11 @@
1
- import {KeyboardAvoidingView,StyleSheet} from 'react-native';
1
+ import {KeyboardAvoidingView,Platform,StyleSheet} from 'react-native';
2
+ import {isAndroid} from "$platform";
2
3
 
3
4
  export default function KeyboardAvoidingViewComponent({ children,...rest }){
4
5
  return (
5
6
  <KeyboardAvoidingView
6
- behavior="padding"
7
- keyboardVerticalOffset={80}
7
+ behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
8
+ keyboardVerticalOffset={isAndroid()?0:80}
8
9
  {...rest}
9
10
  style = {[styles.wrapper,rest.style]}
10
11
  >
@@ -106,10 +106,11 @@ const SwitchComponent = React.forwardRef((props,ref)=>{
106
106
  disabled = {disabled}
107
107
  readOnly = {readOnly || !isEditable}
108
108
  pointerEvents={pointerEvents}
109
- style = {[{paddingHorizontal:0,['margin'+(isLeftPosition?'Right':'Left')]:10},style,disabledStyle]}
109
+ style = {[{['margin'+(isLeftPosition?'Right':'Left')]:10},style,styles.switch,disabledStyle]}
110
110
  value = {isSwitchOn}
111
111
  onValueChange = {setIsSwitchOn}
112
112
  color = {Colors.isValid(p.color)? p.color : theme.colors.primaryOnSurface}
113
+ testID={testID+"_MainSwitchComponent"}
113
114
  />
114
115
  return <Tooltip
115
116
  {...p}
@@ -164,6 +165,10 @@ const styles = StyleSheet.create({
164
165
  flexShrink: 1,
165
166
  flexGrow: 1,
166
167
  },
168
+ switch : {
169
+ backgroundColor : "transparent",
170
+ paddingHorizontal:0,
171
+ }
167
172
  });
168
173
 
169
174
  export default SwitchComponent;
@@ -2,15 +2,7 @@ import React from "$react";
2
2
  import {Vertical as AutoSizeVertical} from "$ecomponents/AutoSizer";
3
3
  import List from "$ecomponents/List/Virtuoso";
4
4
  import {defaultStr,isObj,defaultObj} from "$cutils";
5
- const normalize = (size)=>{
6
- if(isObj(size)){
7
- ["padding","paddingBottom","paddingTop","paddingLeft","paddingRight"].map(p=>{
8
- delete size[p];
9
- })
10
- return size;
11
- }
12
- return {};
13
- }
5
+
14
6
  const AutoSizeVerticalList = React.forwardRef(({testID,autoSizerProps,...props},ref)=>{
15
7
  testID = defaultStr(testID,"RN_AutoSizeVerticalListComponent")
16
8
  autoSizerProps = defaultObj(autoSizerProps);
@@ -0,0 +1 @@
1
+ export {default} from "$ecomponents/List/FlashList";
@@ -1,6 +1,6 @@
1
1
  import {defaultStr,defaultObj,defaultBool,isNumber,isDecimal,isFunction,defaultVal,defaultNumber,isNonNullString} from "$cutils";
2
2
  import { TextInput} from "react-native-paper";
3
- import { TextInput as RNTextInput,KeyboardAvoidingView,StyleSheet} from "react-native";
3
+ import { TextInput as RNTextInput,StyleSheet} from "react-native";
4
4
  import React from "$react";
5
5
  import theme,{Colors,DISABLED_OPACITY,READONLY_OPACITY} from "$theme";
6
6
  import PropTypes from "prop-types";
@@ -541,11 +541,11 @@ const TextFieldComponent = React.forwardRef((componentProps,inputRef)=>{
541
541
  {label}
542
542
  </Label> : null}
543
543
  <>
544
- <Surface testID={testID+"_ContentContainer"} {...contentContainerProps} elevation={elevation} style={[styles.contentContainer,{pointerEvents},!left? styles.paddingLeft:null,styles.row,contentContainerStyle,contentContainerProps.style]}>
544
+ <Surface testID={testID+"_ContentContainer"} {...contentContainerProps} elevation={0} style={[styles.contentContainer,{pointerEvents},!left? styles.paddingLeft:null,styles.row,contentContainerStyle,contentContainerProps.style]}>
545
545
  {left ? (<View testID={testID+"_Left"} {...leftContainerProps} style={[styles.AdornmentContainer,styles.leftAdornment,leftContainerProps.style,disabledStyle]}>
546
546
  {left}
547
547
  </View>) : null}
548
- <KeyboardAvoidingView testID={testID+"_Content"} {...contentProps} style={[styles.inputWrapper,contentProps.style,disabledStyle]}>
548
+ <View testID={testID+"_Content"} {...contentProps} style={[styles.inputWrapper,contentProps.style,disabledStyle]}>
549
549
  {
550
550
  typeof render ==="function"? render(inputProps):
551
551
  <RNTextInput
@@ -553,7 +553,7 @@ const TextFieldComponent = React.forwardRef((componentProps,inputRef)=>{
553
553
  ref = {componentRef}
554
554
  />
555
555
  }
556
- </KeyboardAvoidingView>
556
+ </View>
557
557
  {right ? (<View testID={testID+"_Right"} {...rightContainerProps} style={[styles.AdornmentContainer,styles.rightAdornment,rightContainerProps.style,disabledStyle]}>
558
558
  {right}
559
559
  </View>) : null}
@@ -59,7 +59,8 @@ export const keyboardTypes = {
59
59
  }
60
60
 
61
61
  export const inputModes = {
62
- default : 'none',
62
+ default : 'text',
63
+ none : "none",
63
64
  number : "numeric",
64
65
  decimal : "decimal",
65
66
  numeric : "numeric",