@fovestta2/mobile-react-native 1.0.1
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/dist/components/FvCheckbox.d.ts +14 -0
- package/dist/components/FvCheckbox.d.ts.map +1 -0
- package/dist/components/FvCheckbox.js +73 -0
- package/dist/components/FvCheckbox.js.map +1 -0
- package/dist/components/FvDateField.d.ts +22 -0
- package/dist/components/FvDateField.d.ts.map +1 -0
- package/dist/components/FvDateField.js +117 -0
- package/dist/components/FvDateField.js.map +1 -0
- package/dist/components/FvDropdown.d.ts +25 -0
- package/dist/components/FvDropdown.d.ts.map +1 -0
- package/dist/components/FvDropdown.js +213 -0
- package/dist/components/FvDropdown.js.map +1 -0
- package/dist/components/FvEntryField.d.ts +21 -0
- package/dist/components/FvEntryField.d.ts.map +1 -0
- package/dist/components/FvEntryField.js +124 -0
- package/dist/components/FvEntryField.js.map +1 -0
- package/dist/components/FvFileSelector.d.ts +28 -0
- package/dist/components/FvFileSelector.d.ts.map +1 -0
- package/dist/components/FvFileSelector.js +205 -0
- package/dist/components/FvFileSelector.js.map +1 -0
- package/dist/components/FvImageSelector.d.ts +32 -0
- package/dist/components/FvImageSelector.d.ts.map +1 -0
- package/dist/components/FvImageSelector.js +268 -0
- package/dist/components/FvImageSelector.js.map +1 -0
- package/dist/components/FvMonthYearField.d.ts +22 -0
- package/dist/components/FvMonthYearField.d.ts.map +1 -0
- package/dist/components/FvMonthYearField.js +115 -0
- package/dist/components/FvMonthYearField.js.map +1 -0
- package/dist/components/FvNumberField.d.ts +23 -0
- package/dist/components/FvNumberField.d.ts.map +1 -0
- package/dist/components/FvNumberField.js +140 -0
- package/dist/components/FvNumberField.js.map +1 -0
- package/dist/components/FvRadioGroup.d.ts +20 -0
- package/dist/components/FvRadioGroup.d.ts.map +1 -0
- package/dist/components/FvRadioGroup.js +95 -0
- package/dist/components/FvRadioGroup.js.map +1 -0
- package/dist/components/FvRichTextEditor.d.ts +25 -0
- package/dist/components/FvRichTextEditor.d.ts.map +1 -0
- package/dist/components/FvRichTextEditor.js +246 -0
- package/dist/components/FvRichTextEditor.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.FvRichTextEditor = void 0;
|
|
27
|
+
const react_1 = __importStar(require("react"));
|
|
28
|
+
const react_native_1 = require("react-native");
|
|
29
|
+
const validation_engine_1 = require("@fovestta2/validation-engine");
|
|
30
|
+
const FvRichTextEditor = ({ label, placeholder = "Enter text...", value, schema, disabled = false, readonly = false, minHeight = 150, maxHeight = 400, showToolbar = true, onChange, onBlur, onFocus, containerStyle, editorStyle, labelStyle, errorStyle, toolbarStyle, }) => {
|
|
31
|
+
const [errorMessage, setErrorMessage] = (0, react_1.useState)(null);
|
|
32
|
+
const [isFocused, setIsFocused] = (0, react_1.useState)(false);
|
|
33
|
+
(0, react_1.useEffect)(() => {
|
|
34
|
+
if (schema) {
|
|
35
|
+
const result = validation_engine_1.Validator.validate(value, schema);
|
|
36
|
+
setErrorMessage(result.errorKey);
|
|
37
|
+
}
|
|
38
|
+
}, [value, schema]);
|
|
39
|
+
const handleChange = (text) => {
|
|
40
|
+
onChange(text);
|
|
41
|
+
};
|
|
42
|
+
const handleBlur = () => {
|
|
43
|
+
setIsFocused(false);
|
|
44
|
+
onBlur?.();
|
|
45
|
+
};
|
|
46
|
+
const handleFocus = () => {
|
|
47
|
+
setIsFocused(true);
|
|
48
|
+
onFocus?.();
|
|
49
|
+
};
|
|
50
|
+
const insertText = (before, after = before) => {
|
|
51
|
+
// Simple text wrapping for demonstration
|
|
52
|
+
// In a real implementation, you'd track cursor position
|
|
53
|
+
const wrappedText = `${before}${value}${after}`;
|
|
54
|
+
onChange(wrappedText);
|
|
55
|
+
};
|
|
56
|
+
const handleBulletList = () => {
|
|
57
|
+
const lines = value.split("\n");
|
|
58
|
+
const bulletedLines = lines.map((line) => line.trim() ? `• ${line}` : line);
|
|
59
|
+
onChange(bulletedLines.join("\n"));
|
|
60
|
+
};
|
|
61
|
+
const handleNumberedList = () => {
|
|
62
|
+
const lines = value.split("\n").filter((line) => line.trim());
|
|
63
|
+
const numberedLines = lines.map((line, index) => `${index + 1}. ${line}`);
|
|
64
|
+
onChange(numberedLines.join("\n"));
|
|
65
|
+
};
|
|
66
|
+
const handleClear = () => {
|
|
67
|
+
onChange("");
|
|
68
|
+
};
|
|
69
|
+
const getErrorMessage = () => {
|
|
70
|
+
if (!errorMessage)
|
|
71
|
+
return "";
|
|
72
|
+
const errorMessages = {
|
|
73
|
+
ERR_REQUIRED: "This field is required",
|
|
74
|
+
ERR_MIN_LENGTH: "Text is too short",
|
|
75
|
+
ERR_MAX_LENGTH: "Text is too long",
|
|
76
|
+
};
|
|
77
|
+
return errorMessages[errorMessage] || errorMessage;
|
|
78
|
+
};
|
|
79
|
+
const isRequired = schema?.rules?.some((r) => r.name === "required" && r.params.enabled);
|
|
80
|
+
const characterCount = value.length;
|
|
81
|
+
const wordCount = value.trim() ? value.trim().split(/\s+/).length : 0;
|
|
82
|
+
return (<react_native_1.View style={[styles.container, containerStyle]}>
|
|
83
|
+
{label && (<react_native_1.View style={styles.labelContainer}>
|
|
84
|
+
<react_native_1.Text style={[styles.label, labelStyle]}>
|
|
85
|
+
{label}
|
|
86
|
+
{isRequired && <react_native_1.Text style={styles.requiredAsterisk}> *</react_native_1.Text>}
|
|
87
|
+
</react_native_1.Text>
|
|
88
|
+
</react_native_1.View>)}
|
|
89
|
+
|
|
90
|
+
{showToolbar && !disabled && !readonly && (<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={false} style={[styles.toolbar, toolbarStyle]} contentContainerStyle={styles.toolbarContent}>
|
|
91
|
+
<react_native_1.TouchableOpacity style={styles.toolbarButton} onPress={() => insertText("**", "**")}>
|
|
92
|
+
<react_native_1.Text style={[styles.toolbarButtonText, styles.bold]}>B</react_native_1.Text>
|
|
93
|
+
</react_native_1.TouchableOpacity>
|
|
94
|
+
|
|
95
|
+
<react_native_1.TouchableOpacity style={styles.toolbarButton} onPress={() => insertText("*", "*")}>
|
|
96
|
+
<react_native_1.Text style={[styles.toolbarButtonText, styles.italic]}>I</react_native_1.Text>
|
|
97
|
+
</react_native_1.TouchableOpacity>
|
|
98
|
+
|
|
99
|
+
<react_native_1.TouchableOpacity style={styles.toolbarButton} onPress={() => insertText("__", "__")}>
|
|
100
|
+
<react_native_1.Text style={[styles.toolbarButtonText, styles.underline]}>U</react_native_1.Text>
|
|
101
|
+
</react_native_1.TouchableOpacity>
|
|
102
|
+
|
|
103
|
+
<react_native_1.TouchableOpacity style={styles.toolbarButton} onPress={() => insertText("~~", "~~")}>
|
|
104
|
+
<react_native_1.Text style={[styles.toolbarButtonText, styles.strikethrough]}>
|
|
105
|
+
S
|
|
106
|
+
</react_native_1.Text>
|
|
107
|
+
</react_native_1.TouchableOpacity>
|
|
108
|
+
|
|
109
|
+
<react_native_1.View style={styles.toolbarDivider}/>
|
|
110
|
+
|
|
111
|
+
<react_native_1.TouchableOpacity style={styles.toolbarButton} onPress={handleBulletList}>
|
|
112
|
+
<react_native_1.Text style={styles.toolbarButtonText}>• List</react_native_1.Text>
|
|
113
|
+
</react_native_1.TouchableOpacity>
|
|
114
|
+
|
|
115
|
+
<react_native_1.TouchableOpacity style={styles.toolbarButton} onPress={handleNumberedList}>
|
|
116
|
+
<react_native_1.Text style={styles.toolbarButtonText}>1. List</react_native_1.Text>
|
|
117
|
+
</react_native_1.TouchableOpacity>
|
|
118
|
+
|
|
119
|
+
<react_native_1.View style={styles.toolbarDivider}/>
|
|
120
|
+
|
|
121
|
+
<react_native_1.TouchableOpacity style={styles.toolbarButton} onPress={handleClear}>
|
|
122
|
+
<react_native_1.Text style={[styles.toolbarButtonText, { color: "#dc3545" }]}>
|
|
123
|
+
Clear
|
|
124
|
+
</react_native_1.Text>
|
|
125
|
+
</react_native_1.TouchableOpacity>
|
|
126
|
+
</react_native_1.ScrollView>)}
|
|
127
|
+
|
|
128
|
+
<react_native_1.TextInput style={[
|
|
129
|
+
styles.editor,
|
|
130
|
+
{ minHeight, maxHeight },
|
|
131
|
+
errorMessage && styles.editorError,
|
|
132
|
+
disabled && styles.editorDisabled,
|
|
133
|
+
isFocused && styles.editorFocused,
|
|
134
|
+
editorStyle,
|
|
135
|
+
]} value={value} placeholder={placeholder} onChangeText={handleChange} onBlur={handleBlur} onFocus={handleFocus} editable={!disabled && !readonly} multiline textAlignVertical="top" placeholderTextColor="#999999"/>
|
|
136
|
+
|
|
137
|
+
<react_native_1.View style={styles.footer}>
|
|
138
|
+
<react_native_1.View style={styles.stats}>
|
|
139
|
+
<react_native_1.Text style={styles.statsText}>
|
|
140
|
+
{characterCount} characters • {wordCount} words
|
|
141
|
+
</react_native_1.Text>
|
|
142
|
+
</react_native_1.View>
|
|
143
|
+
</react_native_1.View>
|
|
144
|
+
|
|
145
|
+
{errorMessage && (<react_native_1.Text style={[styles.errorText, errorStyle]}>
|
|
146
|
+
⚠ {getErrorMessage()}
|
|
147
|
+
</react_native_1.Text>)}
|
|
148
|
+
</react_native_1.View>);
|
|
149
|
+
};
|
|
150
|
+
exports.FvRichTextEditor = FvRichTextEditor;
|
|
151
|
+
const styles = react_native_1.StyleSheet.create({
|
|
152
|
+
container: {
|
|
153
|
+
marginBottom: 16,
|
|
154
|
+
width: "100%",
|
|
155
|
+
},
|
|
156
|
+
labelContainer: {
|
|
157
|
+
marginBottom: 6,
|
|
158
|
+
},
|
|
159
|
+
label: {
|
|
160
|
+
fontSize: 14,
|
|
161
|
+
fontWeight: "500",
|
|
162
|
+
color: "#333333",
|
|
163
|
+
},
|
|
164
|
+
requiredAsterisk: {
|
|
165
|
+
color: "#dc3545",
|
|
166
|
+
fontWeight: "bold",
|
|
167
|
+
},
|
|
168
|
+
toolbar: {
|
|
169
|
+
marginBottom: 8,
|
|
170
|
+
borderWidth: 1,
|
|
171
|
+
borderColor: "#dee2e6",
|
|
172
|
+
borderRadius: 4,
|
|
173
|
+
backgroundColor: "#f8f9fa",
|
|
174
|
+
},
|
|
175
|
+
toolbarContent: {
|
|
176
|
+
padding: 4,
|
|
177
|
+
gap: 4,
|
|
178
|
+
},
|
|
179
|
+
toolbarButton: {
|
|
180
|
+
paddingVertical: 6,
|
|
181
|
+
paddingHorizontal: 10,
|
|
182
|
+
backgroundColor: "#ffffff",
|
|
183
|
+
borderRadius: 4,
|
|
184
|
+
borderWidth: 1,
|
|
185
|
+
borderColor: "#dee2e6",
|
|
186
|
+
},
|
|
187
|
+
toolbarButtonText: {
|
|
188
|
+
fontSize: 14,
|
|
189
|
+
fontWeight: "500",
|
|
190
|
+
color: "#333333",
|
|
191
|
+
},
|
|
192
|
+
bold: {
|
|
193
|
+
fontWeight: "bold",
|
|
194
|
+
},
|
|
195
|
+
italic: {
|
|
196
|
+
fontStyle: "italic",
|
|
197
|
+
},
|
|
198
|
+
underline: {
|
|
199
|
+
textDecorationLine: "underline",
|
|
200
|
+
},
|
|
201
|
+
strikethrough: {
|
|
202
|
+
textDecorationLine: "line-through",
|
|
203
|
+
},
|
|
204
|
+
toolbarDivider: {
|
|
205
|
+
width: 1,
|
|
206
|
+
backgroundColor: "#dee2e6",
|
|
207
|
+
marginHorizontal: 4,
|
|
208
|
+
},
|
|
209
|
+
editor: {
|
|
210
|
+
padding: 10,
|
|
211
|
+
borderWidth: 1,
|
|
212
|
+
borderColor: "#cccccc",
|
|
213
|
+
borderRadius: 4,
|
|
214
|
+
fontSize: 14,
|
|
215
|
+
backgroundColor: "#ffffff",
|
|
216
|
+
color: "#333333",
|
|
217
|
+
},
|
|
218
|
+
editorError: {
|
|
219
|
+
borderColor: "#dc3545",
|
|
220
|
+
},
|
|
221
|
+
editorDisabled: {
|
|
222
|
+
backgroundColor: "#f5f5f5",
|
|
223
|
+
opacity: 0.6,
|
|
224
|
+
},
|
|
225
|
+
editorFocused: {
|
|
226
|
+
borderColor: "#007bff",
|
|
227
|
+
borderWidth: 2,
|
|
228
|
+
},
|
|
229
|
+
footer: {
|
|
230
|
+
marginTop: 4,
|
|
231
|
+
},
|
|
232
|
+
stats: {
|
|
233
|
+
flexDirection: "row",
|
|
234
|
+
justifyContent: "flex-end",
|
|
235
|
+
},
|
|
236
|
+
statsText: {
|
|
237
|
+
fontSize: 12,
|
|
238
|
+
color: "#6c757d",
|
|
239
|
+
},
|
|
240
|
+
errorText: {
|
|
241
|
+
marginTop: 4,
|
|
242
|
+
fontSize: 12,
|
|
243
|
+
color: "#dc3545",
|
|
244
|
+
},
|
|
245
|
+
});
|
|
246
|
+
//# sourceMappingURL=FvRichTextEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FvRichTextEditor.js","sourceRoot":"","sources":["../../src/components/FvRichTextEditor.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./components/FvEntryField";
|
|
2
|
+
export * from "./components/FvNumberField";
|
|
3
|
+
export * from "./components/FvCheckbox";
|
|
4
|
+
export * from "./components/FvRadioGroup";
|
|
5
|
+
export * from "./components/FvDateField";
|
|
6
|
+
export * from "./components/FvMonthYearField";
|
|
7
|
+
export * from "./components/FvDropdown";
|
|
8
|
+
export * from "./components/FvFileSelector";
|
|
9
|
+
export * from "./components/FvImageSelector";
|
|
10
|
+
export * from "./components/FvRichTextEditor";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./components/FvEntryField"), exports);
|
|
18
|
+
__exportStar(require("./components/FvNumberField"), exports);
|
|
19
|
+
__exportStar(require("./components/FvCheckbox"), exports);
|
|
20
|
+
__exportStar(require("./components/FvRadioGroup"), exports);
|
|
21
|
+
__exportStar(require("./components/FvDateField"), exports);
|
|
22
|
+
__exportStar(require("./components/FvMonthYearField"), exports);
|
|
23
|
+
__exportStar(require("./components/FvDropdown"), exports);
|
|
24
|
+
__exportStar(require("./components/FvFileSelector"), exports);
|
|
25
|
+
__exportStar(require("./components/FvImageSelector"), exports);
|
|
26
|
+
__exportStar(require("./components/FvRichTextEditor"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,6DAA2C;AAC3C,0DAAwC;AACxC,4DAA0C;AAC1C,2DAAyC;AACzC,gEAA8C;AAC9C,0DAAwC;AACxC,8DAA4C;AAC5C,+DAA6C;AAC7C,gEAA8C"}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fovestta2/mobile-react-native",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "React Native UI controls for Fovestta",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"watch": "tsc --watch",
|
|
10
|
+
"clean": "rm -rf dist"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"react-native",
|
|
14
|
+
"fovestta",
|
|
15
|
+
"ui-controls"
|
|
16
|
+
],
|
|
17
|
+
"author": "Fovestta Team",
|
|
18
|
+
"license": "UNLICENSED",
|
|
19
|
+
"peerDependencies": {
|
|
20
|
+
"react": ">=18.0.0",
|
|
21
|
+
"react-native": ">=0.70.0",
|
|
22
|
+
"expo-document-picker": "~12.0.0",
|
|
23
|
+
"expo-image-picker": "~15.0.0"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@fovestta2/validation-engine": "^1.0.1"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"typescript": "^5.3.0",
|
|
30
|
+
"@types/react": "~19.1.0",
|
|
31
|
+
"@types/react-native": "^0.72.0"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"dist"
|
|
35
|
+
]
|
|
36
|
+
}
|