react-crud-mobile 1.0.439 → 1.0.440

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/package.json CHANGED
@@ -1,72 +1,72 @@
1
- {
2
- "version": "1.0.439",
3
- "license": "MIT",
4
- "description": "Uma biblioteca de componentes para React Native",
5
- "main": "dist/index.js",
6
- "module": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "react-native": "src/index.ts",
9
- "scripts": {
10
- "start": "tsdx watch",
11
- "build": "tsdx build",
12
- "test": "tsdx test --passWithNoTests",
13
- "lint": "tsdx lint",
14
- "prepare": "tsdx build",
15
- "deploy": "npm version patch && npm publish"
16
- },
17
- "husky": {
18
- "hooks": {
19
- "pre-commit": "tsdx lint"
20
- }
21
- },
22
- "prettier": {
23
- "printWidth": 80,
24
- "semi": true,
25
- "singleQuote": true,
26
- "trailingComma": "es5"
27
- },
28
- "name": "react-crud-mobile",
29
- "author": "juarez",
30
- "keywords": [
31
- "react-native",
32
- "components",
33
- "library",
34
- "ui"
35
- ],
36
- "peerDependencies": {
37
- "react": "^18.3.1",
38
- "react-dom": "^18.3.1",
39
- "react-native": "0.76.9"
40
- },
41
- "dependencies": {
42
- "@babel/core": "^7.24.0",
43
- "@babel/preset-env": "^7.24.0",
44
- "@babel/preset-react": "^7.26.3",
45
- "@babel/preset-typescript": "^7.24.0",
46
- "@expo/vector-icons": "^14.0.4",
47
- "@react-native-vector-icons/ionicons": "^7.4.0",
48
- "@react-native-vector-icons/material-icons": "^0.0.1",
49
- "@types/react": "^18.0.38",
50
- "@types/react-native": "^0.72.0",
51
- "babel-plugin-module-resolver": "^5.0.0",
52
- "react": "^18.3.1",
53
- "react-crud-utils": "^0.1.146",
54
- "react-dom": "^18.3.1",
55
- "react-native": "0.76.9",
56
- "react-native-safe-area-context": "^5.4.0",
57
- "react-native-screens": "^4.10.0",
58
- "react-native-vector-icons": "^10.2.0",
59
- "tsdx": "^0.14.1",
60
- "tslib": "^2.8.1",
61
- "tsup": "^7.3.0",
62
- "typescript": "^5.4.0"
63
- },
64
- "files": [
65
- "dist",
66
- "src"
67
- ],
68
- "devDependencies": {
69
- "expo-status-bar": "^2.0.1",
70
- "metro": "^0.82.1"
71
- }
72
- }
1
+ {
2
+ "version": "1.0.440",
3
+ "license": "MIT",
4
+ "description": "Uma biblioteca de componentes para React Native",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "react-native": "src/index.ts",
9
+ "scripts": {
10
+ "start": "tsdx watch",
11
+ "build": "tsdx build",
12
+ "test": "tsdx test --passWithNoTests",
13
+ "lint": "tsdx lint",
14
+ "prepare": "tsdx build",
15
+ "deploy": "npm version patch && npm publish"
16
+ },
17
+ "husky": {
18
+ "hooks": {
19
+ "pre-commit": "tsdx lint"
20
+ }
21
+ },
22
+ "prettier": {
23
+ "printWidth": 80,
24
+ "semi": true,
25
+ "singleQuote": true,
26
+ "trailingComma": "es5"
27
+ },
28
+ "name": "react-crud-mobile",
29
+ "author": "juarez",
30
+ "keywords": [
31
+ "react-native",
32
+ "components",
33
+ "library",
34
+ "ui"
35
+ ],
36
+ "peerDependencies": {
37
+ "react": "^18.3.1",
38
+ "react-dom": "^18.3.1",
39
+ "react-native": "0.76.9"
40
+ },
41
+ "dependencies": {
42
+ "@babel/core": "^7.24.0",
43
+ "@babel/preset-env": "^7.24.0",
44
+ "@babel/preset-react": "^7.26.3",
45
+ "@babel/preset-typescript": "^7.24.0",
46
+ "@expo/vector-icons": "^14.0.4",
47
+ "@react-native-vector-icons/ionicons": "^7.4.0",
48
+ "@react-native-vector-icons/material-icons": "^0.0.1",
49
+ "@types/react": "^18.0.38",
50
+ "@types/react-native": "^0.72.0",
51
+ "babel-plugin-module-resolver": "^5.0.0",
52
+ "react": "^18.3.1",
53
+ "react-crud-utils": "^0.1.146",
54
+ "react-dom": "^18.3.1",
55
+ "react-native": "0.76.9",
56
+ "react-native-safe-area-context": "^5.4.0",
57
+ "react-native-screens": "^4.10.0",
58
+ "react-native-vector-icons": "^10.2.0",
59
+ "tsdx": "^0.14.1",
60
+ "tslib": "^2.8.1",
61
+ "tsup": "^7.3.0",
62
+ "typescript": "^5.4.0"
63
+ },
64
+ "files": [
65
+ "dist",
66
+ "src"
67
+ ],
68
+ "devDependencies": {
69
+ "expo-status-bar": "^2.0.1",
70
+ "metro": "^0.82.1"
71
+ }
72
+ }
@@ -1,65 +1,65 @@
1
- import { ListType } from 'react-crud-utils';
2
- import { UserType } from 'react-crud-utils';
3
- import { InputType } from 'react-crud-utils';
4
- import { ChartType } from 'react-crud-utils';
5
- import { ContainerType } from 'react-crud-utils';
6
- import { ListInputType } from 'react-crud-utils';
7
- import UIElement from './UIElement';
8
- import { TabsType } from 'react-crud-utils';
9
- import { DefineType } from 'react-crud-utils';
10
- import { ButtonType } from 'react-crud-utils';
11
- import { LinkType } from 'react-crud-utils';
12
- import UIInclude from './core/UIInclude';
13
-
14
- const UI = {
15
- List: (props: ListType) => <UIElement {...props} type="list" />,
16
- Row: (props: UserType) => <UIElement {...props} type="row" />,
17
- Value: (props: UserType) => <UIElement {...props} type="value" />,
18
- Label: (props: UserType) => <UIElement {...props} type="label" />,
19
- Repeat: (props: ListType) => (
20
- <UIElement {...props} type="repeat" props={{ search: false }} />
21
- ),
22
- Define: (props: DefineType) => <UIElement {...props} type="define" />,
23
- Include: (props: DefineType) => <UIInclude {...props} />,
24
- Column: ({ type = 'column', ...props }: UserType) => (
25
- <UIElement {...props} type="column" />
26
- ),
27
- Input: (props: InputType) => <UIElement {...props} />,
28
- Text: (props: InputType) => <UIElement {...props} type="text" />,
29
- Email: (props: InputType) => <UIElement {...props} type="email" />,
30
- Button: (props: ButtonType) => <UIElement {...props} type="button" />,
31
- Link: (props: LinkType) => <UIElement {...props} type="link" />,
32
- Icon: (props: ButtonType) => <UIElement {...props} type="icon" />,
33
- Output: (props: ContainerType) => <UIElement {...props} type="output" />,
34
- Form: (props: ContainerType) => <UIElement {...props} type="form" />,
35
- Crud: (props: ContainerType) => <UIElement {...props} type="crud" />,
36
- View: (props: ContainerType) => (
37
- <UIElement {...props} type="view" transient />
38
- ),
39
- Bottom: (props: ContainerType) => <UIElement {...props} type="bottom" />,
40
- Dialog: (props: ContainerType) => <UIElement {...props} type="dialog" />,
41
- Content: (props: ContainerType) => <UIElement {...props} type="content" />,
42
- Top: (props: ContainerType) => <UIElement {...props} type="top" />,
43
- Card: (props: ContainerType) => <UIElement {...props} type="card" />,
44
- Tab: (props: ContainerType) => <UIElement {...props} type="tab" />,
45
- Tabs: (props: TabsType) => <UIElement {...props} type="tabs" />,
46
- Step: (props: ContainerType) => (
47
- <UIElement {...props} type="tab" layout="step" />
48
- ),
49
- Stepper: (props: TabsType) => (
50
- <UIElement {...props} type="tabs" layout="stepper" />
51
- ),
52
- Money: (props: InputType) => <UIElement {...props} type="money" />,
53
- Chart: (props: ChartType) => <UIElement {...props} type="chart" />,
54
- Password: (props: InputType) => <UIElement {...props} type="password" />,
55
- Complete: (props: InputType) => <UIElement {...props} type="complete" />,
56
- Checkbox: (props: InputType) => <UIElement {...props} type="switch" />,
57
- Switch: (props: InputType) => <UIElement {...props} type="switch" />,
58
- Radio: (props: ListInputType) => <UIElement {...props} type="radio" />,
59
- Select: (props: ListInputType) => <UIElement {...props} type="select" />,
60
- Toggle: (props: ListInputType) => <UIElement {...props} type="toggle" />,
61
- Entity: (props: ListInputType) => <UIElement {...props} type="entity" />,
62
- Element: (props: ListInputType) => <UIElement {...props} type="element" />,
63
- Quantity: (props: ListInputType) => <UIElement {...props} type="quantity" />,
64
- };
65
- export default UI;
1
+ import { ListType } from 'react-crud-utils';
2
+ import { UserType } from 'react-crud-utils';
3
+ import { InputType } from 'react-crud-utils';
4
+ import { ChartType } from 'react-crud-utils';
5
+ import { ContainerType } from 'react-crud-utils';
6
+ import { ListInputType } from 'react-crud-utils';
7
+ import UIElement from './UIElement';
8
+ import { TabsType } from 'react-crud-utils';
9
+ import { DefineType } from 'react-crud-utils';
10
+ import { ButtonType } from 'react-crud-utils';
11
+ import { LinkType } from 'react-crud-utils';
12
+ import UIInclude from './core/UIInclude';
13
+
14
+ const UI = {
15
+ List: (props: ListType) => <UIElement {...props} type="list" />,
16
+ Row: (props: UserType) => <UIElement {...props} type="row" />,
17
+ Value: (props: UserType) => <UIElement {...props} type="value" />,
18
+ Label: (props: UserType) => <UIElement {...props} type="label" />,
19
+ Repeat: (props: ListType) => (
20
+ <UIElement {...props} type="repeat" props={{ search: false }} />
21
+ ),
22
+ Define: (props: DefineType) => <UIElement {...props} type="define" />,
23
+ Include: (props: DefineType) => <UIInclude {...props} />,
24
+ Column: ({ type = 'column', ...props }: UserType) => (
25
+ <UIElement {...props} type="column" />
26
+ ),
27
+ Input: (props: InputType) => <UIElement {...props} />,
28
+ Text: (props: InputType) => <UIElement {...props} type="text" />,
29
+ Email: (props: InputType) => <UIElement {...props} type="email" />,
30
+ Button: (props: ButtonType) => <UIElement {...props} type="button" />,
31
+ Link: (props: LinkType) => <UIElement {...props} type="link" />,
32
+ Icon: (props: ButtonType) => <UIElement {...props} type="icon" />,
33
+ Output: (props: ContainerType) => <UIElement {...props} type="output" />,
34
+ Form: (props: ContainerType) => <UIElement {...props} type="form" />,
35
+ Crud: (props: ContainerType) => <UIElement {...props} type="crud" />,
36
+ View: (props: ContainerType) => (
37
+ <UIElement {...props} type="view" transient />
38
+ ),
39
+ Bottom: (props: ContainerType) => <UIElement {...props} type="bottom" />,
40
+ Dialog: (props: ContainerType) => <UIElement {...props} type="dialog" />,
41
+ Content: (props: ContainerType) => <UIElement {...props} type="content" />,
42
+ Top: (props: ContainerType) => <UIElement {...props} type="top" />,
43
+ Card: (props: ContainerType) => <UIElement {...props} type="card" />,
44
+ Tab: (props: ContainerType) => <UIElement {...props} type="tab" />,
45
+ Tabs: (props: TabsType) => <UIElement {...props} type="tabs" />,
46
+ Step: (props: ContainerType) => (
47
+ <UIElement {...props} type="tab" layout="step" />
48
+ ),
49
+ Stepper: (props: TabsType) => (
50
+ <UIElement {...props} type="tabs" layout="stepper" />
51
+ ),
52
+ Money: (props: InputType) => <UIElement {...props} type="money" />,
53
+ Chart: (props: ChartType) => <UIElement {...props} type="chart" />,
54
+ Password: (props: InputType) => <UIElement {...props} type="password" />,
55
+ Complete: (props: InputType) => <UIElement {...props} type="complete" />,
56
+ Checkbox: (props: InputType) => <UIElement {...props} type="switch" />,
57
+ Switch: (props: InputType) => <UIElement {...props} type="switch" />,
58
+ Radio: (props: ListInputType) => <UIElement {...props} type="radio" />,
59
+ Select: (props: ListInputType) => <UIElement {...props} type="select" />,
60
+ Toggle: (props: ListInputType) => <UIElement {...props} type="toggle" />,
61
+ Entity: (props: ListInputType) => <UIElement {...props} type="entity" />,
62
+ Element: (props: ListInputType) => <UIElement {...props} type="element" />,
63
+ Quantity: (props: ListInputType) => <UIElement {...props} type="quantity" />,
64
+ };
65
+ export default UI;
@@ -1,127 +1,127 @@
1
- import React, { useState } from 'react';
2
- import UIElement from './UIElement';
3
- import { Crud, Scope, ScopeUtils, Utils } from 'react-crud-utils';
4
- import { StyleSheet, View } from 'react-native';
5
-
6
- interface UIChildrenType {
7
- scope: Scope;
8
- crud?: Crud;
9
- validateScope?: String;
10
- children?: any;
11
- elements?: any;
12
- transient?: boolean;
13
- part?: string;
14
- style?: any;
15
- childProps?: any;
16
- }
17
-
18
- export default function UIChildren(props: UIChildrenType) {
19
- let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));
20
- let crud = Utils.nvl(props.crud, scope.crud);
21
- let validateScope = Utils.nvl(props.validateScope, 'global');
22
- let name = Utils.nvl(props.part, 'child');
23
-
24
- if (scope.isInput()) {
25
- return <></>;
26
- }
27
-
28
- let Paint = ({ child }: any) => {
29
- if (!child) {
30
- return <></>;
31
- }
32
- if (typeof child === 'string') {
33
- return <>{child}</>;
34
- }
35
-
36
- let Custom = child.type;
37
- let pps = { ...child.props };
38
-
39
- delete pps.children;
40
-
41
- if (typeof Custom === 'string') {
42
- if (Utils.isEmpty(child.props.children)) {
43
- return <Custom {...pps} />;
44
- }
45
- return (
46
- <Custom {...pps}>
47
- <UIChildren
48
- transient
49
- validateScope={validateScope}
50
- {...child.props}
51
- scope={scope}
52
- crud={crud}
53
- ></UIChildren>
54
- </Custom>
55
- );
56
- } else if (typeof Custom === 'function') {
57
- return (
58
- <Custom
59
- validateScope={validateScope}
60
- {...child.props}
61
- parent={scope}
62
- crud={crud}
63
- ></Custom>
64
- );
65
- }
66
-
67
- if (!Utils.isEmpty(child.props.children)) {
68
- return (
69
- <UIChildren
70
- validateScope={validateScope}
71
- {...child.props}
72
- scope={scope}
73
- crud={crud}
74
- transient
75
- ></UIChildren>
76
- );
77
- }
78
- return <></>;
79
- };
80
-
81
- const Draw = () => {
82
- if (props.elements) {
83
- return (
84
- <>
85
- {Object.entries(props.elements).map((t: any, k) => {
86
- return <UIElement crud={crud} {...t[1]} />;
87
- })}
88
- </>
89
- );
90
- }
91
- return (
92
- <>
93
- {React.Children.map(props.children, child => {
94
- return <Paint child={child}></Paint>;
95
- })}
96
- </>
97
- );
98
- };
99
-
100
- if (props.transient) {
101
- return <Draw />;
102
- }
103
-
104
- if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {
105
- return <></>;
106
- }
107
-
108
- const getStyle = (part?: string) => {
109
- let key = Utils.nvl(part, 'root');
110
- let def = styles[key];
111
-
112
- return { ...def, ...props.style, ...scope.getStyle(part) };
113
- };
114
-
115
- return (
116
- <>
117
- <View style={getStyle(name)}>
118
- <Draw />
119
- </View>
120
- </>
121
- );
122
- }
123
-
124
- const styles = StyleSheet.create({
125
- child: { width: '100%' },
126
- inner: { width: '100%' },
127
- });
1
+ import React, { useState } from 'react';
2
+ import UIElement from './UIElement';
3
+ import { Crud, Scope, ScopeUtils, Utils } from 'react-crud-utils';
4
+ import { StyleSheet, View } from 'react-native';
5
+
6
+ interface UIChildrenType {
7
+ scope: Scope;
8
+ crud?: Crud;
9
+ validateScope?: String;
10
+ children?: any;
11
+ elements?: any;
12
+ transient?: boolean;
13
+ part?: string;
14
+ style?: any;
15
+ childProps?: any;
16
+ }
17
+
18
+ export default function UIChildren(props: UIChildrenType) {
19
+ let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));
20
+ let crud = Utils.nvl(props.crud, scope.crud);
21
+ let validateScope = Utils.nvl(props.validateScope, 'global');
22
+ let name = Utils.nvl(props.part, 'child');
23
+
24
+ if (scope.isInput()) {
25
+ return <></>;
26
+ }
27
+
28
+ let Paint = ({ child }: any) => {
29
+ if (!child) {
30
+ return <></>;
31
+ }
32
+ if (typeof child === 'string') {
33
+ return <>{child}</>;
34
+ }
35
+
36
+ let Custom = child.type;
37
+ let pps = { ...child.props };
38
+
39
+ delete pps.children;
40
+
41
+ if (typeof Custom === 'string') {
42
+ if (Utils.isEmpty(child.props.children)) {
43
+ return <Custom {...pps} />;
44
+ }
45
+ return (
46
+ <Custom {...pps}>
47
+ <UIChildren
48
+ transient
49
+ validateScope={validateScope}
50
+ {...child.props}
51
+ scope={scope}
52
+ crud={crud}
53
+ ></UIChildren>
54
+ </Custom>
55
+ );
56
+ } else if (typeof Custom === 'function') {
57
+ return (
58
+ <Custom
59
+ validateScope={validateScope}
60
+ {...child.props}
61
+ parent={scope}
62
+ crud={crud}
63
+ ></Custom>
64
+ );
65
+ }
66
+
67
+ if (!Utils.isEmpty(child.props.children)) {
68
+ return (
69
+ <UIChildren
70
+ validateScope={validateScope}
71
+ {...child.props}
72
+ scope={scope}
73
+ crud={crud}
74
+ transient
75
+ ></UIChildren>
76
+ );
77
+ }
78
+ return <></>;
79
+ };
80
+
81
+ const Draw = () => {
82
+ if (props.elements) {
83
+ return (
84
+ <>
85
+ {Object.entries(props.elements).map((t: any, k) => {
86
+ return <UIElement crud={crud} {...t[1]} />;
87
+ })}
88
+ </>
89
+ );
90
+ }
91
+ return (
92
+ <>
93
+ {React.Children.map(props.children, child => {
94
+ return <Paint child={child}></Paint>;
95
+ })}
96
+ </>
97
+ );
98
+ };
99
+
100
+ if (props.transient) {
101
+ return <Draw />;
102
+ }
103
+
104
+ if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {
105
+ return <></>;
106
+ }
107
+
108
+ const getStyle = (part?: string) => {
109
+ let key = Utils.nvl(part, 'root');
110
+ let def = styles[key];
111
+
112
+ return { ...def, ...props.style, ...scope.getStyle(part) };
113
+ };
114
+
115
+ return (
116
+ <>
117
+ <View style={getStyle(name)}>
118
+ <Draw />
119
+ </View>
120
+ </>
121
+ );
122
+ }
123
+
124
+ const styles = StyleSheet.create({
125
+ child: { width: '100%' },
126
+ inner: { width: '100%' },
127
+ });
@@ -1,14 +1,14 @@
1
- import { ChildType } from 'react-crud-utils';
2
- import AutoComplete from './core/UIAutoComplete';
3
-
4
- export default function UIComplete({
5
- defaultsInput,
6
- defaultsUI,
7
- scope,
8
- }: ChildType) {
9
- return (
10
- <>
11
- <AutoComplete {...defaultsInput} {...defaultsUI} />
12
- </>
13
- );
14
- }
1
+ import { ChildType } from 'react-crud-utils';
2
+ import AutoComplete from './core/UIAutoComplete';
3
+
4
+ export default function UIComplete({
5
+ defaultsInput,
6
+ defaultsUI,
7
+ scope,
8
+ }: ChildType) {
9
+ return (
10
+ <>
11
+ <AutoComplete {...defaultsInput} {...defaultsUI} />
12
+ </>
13
+ );
14
+ }