ferns-ui 2.0.0-beta.4 → 2.0.0-beta.5

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/Common.d.ts CHANGED
@@ -504,6 +504,7 @@ export interface TextFieldProps extends BaseFieldProps, HelperTextProps, ErrorTe
504
504
  multiline?: boolean;
505
505
  rows?: number;
506
506
  inputRef?: any;
507
+ trimOnBlur?: boolean;
507
508
  }
508
509
  export interface TextAreaProps extends Omit<TextFieldProps, "multiline" | "type"> {
509
510
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AAoXA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;CACP,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,OAAyB,CAAC,CAAC;AAChD,CAAC;AAqBD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAE,EAAE;IAClD,OAAO;QACL,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;KACV,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AA+RF,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,GAAG;IACZ,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AAoXA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;CACP,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,OAAyB,CAAC,CAAC;AAChD,CAAC;AAqBD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAE,EAAE;IAClD,OAAO;QACL,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;KACV,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAgSF,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,GAAG;IACZ,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * The MIT License (MIT)
3
+ *
4
+ * Copyright © 2019 Arron Hunt <arronjhunt@gmail.com>
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person
7
+ * obtaining a copy of this software and associated documentation
8
+ * files (the “Software”), to deal in the Software without
9
+ * restriction, including without limitation the rights to use,
10
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the
12
+ * Software is furnished to do so, subject to the following
13
+ * conditions:
14
+ *
15
+ * The above copyright notice and this permission notice shall be
16
+ * included in all copies or substantial portions of the Software.
17
+ *
18
+ * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
19
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
+ * OTHER DEALINGS IN THE SOFTWARE.
26
+ */
27
+ import React from "react";
28
+ export declare const Categories: {
29
+ all: {
30
+ symbol: null;
31
+ name: string;
32
+ };
33
+ history: {
34
+ symbol: string;
35
+ name: string;
36
+ };
37
+ emotion: {
38
+ symbol: string;
39
+ name: string;
40
+ };
41
+ people: {
42
+ symbol: string;
43
+ name: string;
44
+ };
45
+ nature: {
46
+ symbol: string;
47
+ name: string;
48
+ };
49
+ food: {
50
+ symbol: string;
51
+ name: string;
52
+ };
53
+ activities: {
54
+ symbol: string;
55
+ name: string;
56
+ };
57
+ places: {
58
+ symbol: string;
59
+ name: string;
60
+ };
61
+ objects: {
62
+ symbol: string;
63
+ name: string;
64
+ };
65
+ symbols: {
66
+ symbol: string;
67
+ name: string;
68
+ };
69
+ flags: {
70
+ symbol: string;
71
+ name: string;
72
+ };
73
+ };
74
+ interface Emoji {
75
+ unified: string;
76
+ short_names: string[];
77
+ category: string;
78
+ sort_order: number;
79
+ obsoleted_by?: string;
80
+ [key: string]: unknown;
81
+ }
82
+ type CategoryKey = keyof typeof Categories;
83
+ type Category = (typeof Categories)[CategoryKey];
84
+ export declare const charFromEmojiObject: (obj: Emoji) => string;
85
+ interface EmojiSelectorProps {
86
+ theme: string;
87
+ category: Category;
88
+ showTabs: boolean;
89
+ showSearchBar: boolean;
90
+ showHistory: boolean;
91
+ showSectionTitles: boolean;
92
+ columns: number;
93
+ placeholder: string;
94
+ onEmojiSelected: (emoji: string) => void;
95
+ shouldInclude?: (emoji: Emoji) => boolean;
96
+ [key: string]: unknown;
97
+ }
98
+ declare const EmojiSelector: {
99
+ (props: EmojiSelectorProps): React.JSX.Element;
100
+ defaultProps: {
101
+ theme: string;
102
+ category: {
103
+ symbol: null;
104
+ name: string;
105
+ };
106
+ showTabs: boolean;
107
+ showSearchBar: boolean;
108
+ showHistory: boolean;
109
+ showSectionTitles: boolean;
110
+ columns: number;
111
+ placeholder: string;
112
+ };
113
+ };
114
+ export default EmojiSelector;
@@ -0,0 +1,332 @@
1
+ /**
2
+ * The MIT License (MIT)
3
+ *
4
+ * Copyright © 2019 Arron Hunt <arronjhunt@gmail.com>
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person
7
+ * obtaining a copy of this software and associated documentation
8
+ * files (the “Software”), to deal in the Software without
9
+ * restriction, including without limitation the rights to use,
10
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the
12
+ * Software is furnished to do so, subject to the following
13
+ * conditions:
14
+ *
15
+ * The above copyright notice and this permission notice shall be
16
+ * included in all copies or substantial portions of the Software.
17
+ *
18
+ * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
19
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
+ * OTHER DEALINGS IN THE SOFTWARE.
26
+ */
27
+ var __rest = (this && this.__rest) || function (s, e) {
28
+ var t = {};
29
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
30
+ t[p] = s[p];
31
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
32
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
33
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
34
+ t[p[i]] = s[p[i]];
35
+ }
36
+ return t;
37
+ };
38
+ import AsyncStorage from "@react-native-async-storage/async-storage";
39
+ import emoji from "emoji-datasource";
40
+ import React, { useCallback, useEffect, useRef, useState } from "react";
41
+ import { ActivityIndicator, FlatList, Platform, StyleSheet, Text, TextInput, TouchableOpacity, View, } from "react-native";
42
+ export const Categories = {
43
+ all: {
44
+ symbol: null,
45
+ name: "All",
46
+ },
47
+ history: {
48
+ symbol: "🕘",
49
+ name: "Recently used",
50
+ },
51
+ emotion: {
52
+ symbol: "😀",
53
+ name: "Smileys & Emotion",
54
+ },
55
+ people: {
56
+ symbol: "🧑",
57
+ name: "People & Body",
58
+ },
59
+ nature: {
60
+ symbol: "🦄",
61
+ name: "Animals & Nature",
62
+ },
63
+ food: {
64
+ symbol: "🍔",
65
+ name: "Food & Drink",
66
+ },
67
+ activities: {
68
+ symbol: "⚾️",
69
+ name: "Activities",
70
+ },
71
+ places: {
72
+ symbol: "✈️",
73
+ name: "Travel & Places",
74
+ },
75
+ objects: {
76
+ symbol: "💡",
77
+ name: "Objects",
78
+ },
79
+ symbols: {
80
+ symbol: "🔣",
81
+ name: "Symbols",
82
+ },
83
+ flags: {
84
+ symbol: "🏳️‍🌈",
85
+ name: "Flags",
86
+ },
87
+ };
88
+ const charFromUtf16 = (utf16) => String.fromCodePoint(...utf16.split("-").map((u) => Number(`0x${u}`)));
89
+ export const charFromEmojiObject = (obj) => charFromUtf16(obj.unified);
90
+ const filteredEmojis = emoji.filter((e) => !e.obsoleted_by);
91
+ const emojiByCategory = (category) => filteredEmojis.filter((e) => e.category === category);
92
+ const sortEmoji = (list) => list.sort((a, b) => a.sort_order - b.sort_order);
93
+ const categoryKeys = Object.keys(Categories);
94
+ const TabBar = ({ theme, activeCategory, onPress, width }) => {
95
+ const tabSize = width / categoryKeys.length;
96
+ return categoryKeys.map((c) => {
97
+ if (c === "all") {
98
+ return null;
99
+ }
100
+ const category = Categories[c];
101
+ return (React.createElement(TouchableOpacity, { key: category.name, onPress: () => onPress(category), style: {
102
+ flex: 1,
103
+ minHeight: 44,
104
+ maxHeight: 60,
105
+ borderColor: category === activeCategory ? theme : "#EEEEEE",
106
+ borderBottomWidth: 2,
107
+ alignItems: "center",
108
+ justifyContent: "center",
109
+ } },
110
+ React.createElement(Text, { style: {
111
+ textAlign: "center",
112
+ paddingBottom: 8,
113
+ fontSize: Math.max(tabSize - 24, 18),
114
+ } }, category.symbol)));
115
+ });
116
+ };
117
+ const EmojiCell = ({ emoji, colSize, onPress }) => (React.createElement(TouchableOpacity, { activeOpacity: 0.5, style: {
118
+ width: colSize,
119
+ height: colSize,
120
+ alignItems: "center",
121
+ justifyContent: "center",
122
+ }, onPress: onPress },
123
+ React.createElement(Text, { style: { color: "#FFFFFF", fontSize: Math.max(colSize - 12, 6) } }, charFromEmojiObject(emoji))));
124
+ const storage_key = "@react-native-emoji-selector:HISTORY";
125
+ const EmojiSelector = (props) => {
126
+ const { theme, columns, placeholder, showHistory, showSearchBar, showSectionTitles, showTabs, category: initialCategory, shouldInclude, onEmojiSelected } = props, other = __rest(props, ["theme", "columns", "placeholder", "showHistory", "showSearchBar", "showSectionTitles", "showTabs", "category", "shouldInclude", "onEmojiSelected"]);
127
+ const [searchQuery, setSearchQuery] = useState("");
128
+ const [category, setCategory] = useState(initialCategory);
129
+ const [isReady, setIsReady] = useState(false);
130
+ const [history, setHistory] = useState([]);
131
+ const [emojiList, setEmojiList] = useState(null);
132
+ const [colSize, setColSize] = useState(0);
133
+ const [width, setWidth] = useState(0);
134
+ const scrollview = useRef(null);
135
+ //
136
+ // HANDLER METHODS
137
+ //
138
+ const handleTabSelect = useCallback((nextCategory) => {
139
+ if (isReady) {
140
+ if (scrollview.current) {
141
+ scrollview.current.scrollToOffset({ offset: 0, animated: false });
142
+ }
143
+ setSearchQuery("");
144
+ setCategory(nextCategory);
145
+ }
146
+ }, [isReady]);
147
+ const handleEmojiSelect = useCallback((selectedEmoji) => {
148
+ if (showHistory) {
149
+ addToHistoryAsync(selectedEmoji);
150
+ }
151
+ onEmojiSelected(charFromEmojiObject(selectedEmoji));
152
+ }, [onEmojiSelected, showHistory]);
153
+ const handleSearch = useCallback((query) => {
154
+ setSearchQuery(query);
155
+ }, []);
156
+ const addToHistoryAsync = useCallback(async (selectedEmoji) => {
157
+ const stored = await AsyncStorage.getItem(storage_key);
158
+ let value = [];
159
+ if (!stored) {
160
+ // no history
161
+ const record = Object.assign({}, selectedEmoji, { count: 1 });
162
+ value.push(record);
163
+ }
164
+ else {
165
+ const json = JSON.parse(stored);
166
+ if (json.filter((r) => r.unified === selectedEmoji.unified).length > 0) {
167
+ value = json;
168
+ }
169
+ else {
170
+ const record = Object.assign({}, selectedEmoji, { count: 1 });
171
+ value = [record, ...json];
172
+ }
173
+ }
174
+ AsyncStorage.setItem(storage_key, JSON.stringify(value));
175
+ setHistory(value);
176
+ }, []);
177
+ const loadHistoryAsync = useCallback(async () => {
178
+ const result = await AsyncStorage.getItem(storage_key);
179
+ if (result) {
180
+ const parsed = JSON.parse(result);
181
+ setHistory(parsed);
182
+ }
183
+ }, []);
184
+ //
185
+ // RENDER METHODS
186
+ //
187
+ const renderEmojiCell = useCallback(({ item }) => (React.createElement(EmojiCell, { key: item.key, emoji: item.emoji, onPress: () => handleEmojiSelect(item.emoji), colSize: colSize })), [handleEmojiSelect, colSize]);
188
+ const returnSectionData = useCallback(() => {
189
+ const currentEmojiList = emojiList;
190
+ if (!currentEmojiList) {
191
+ return [];
192
+ }
193
+ const currentCategory = category;
194
+ const currentSearchQuery = searchQuery;
195
+ const currentHistory = history;
196
+ let emojiData;
197
+ if (currentCategory === Categories.all && currentSearchQuery === "") {
198
+ //TODO: OPTIMIZE THIS
199
+ const largeList = [];
200
+ for (const c of categoryKeys) {
201
+ const name = Categories[c].name;
202
+ const list = name === Categories.history.name ? currentHistory : currentEmojiList[name] || [];
203
+ if (c !== "all" && c !== "history") {
204
+ largeList.push(...list);
205
+ }
206
+ }
207
+ emojiData = largeList.map((e) => ({ key: e.unified, emoji: e }));
208
+ }
209
+ else {
210
+ let list;
211
+ const hasSearchQuery = currentSearchQuery !== "";
212
+ const name = currentCategory.name;
213
+ if (hasSearchQuery) {
214
+ const filtered = filteredEmojis.filter((e) => {
215
+ let display = false;
216
+ for (const shortName of e.short_names) {
217
+ if (shortName.includes(currentSearchQuery.toLowerCase())) {
218
+ display = true;
219
+ break;
220
+ }
221
+ }
222
+ return display;
223
+ });
224
+ list = sortEmoji(filtered);
225
+ }
226
+ else if (name === Categories.history.name) {
227
+ list = currentHistory;
228
+ }
229
+ else {
230
+ list = currentEmojiList[name] || [];
231
+ }
232
+ emojiData = list.map((e) => ({ key: e.unified, emoji: e }));
233
+ }
234
+ return shouldInclude ? emojiData.filter((e) => shouldInclude(e.emoji)) : emojiData;
235
+ }, [category, emojiList, history, searchQuery, shouldInclude]);
236
+ const prerenderEmojis = useCallback((callback) => {
237
+ const listByCategory = {};
238
+ for (const c of categoryKeys) {
239
+ const name = Categories[c].name;
240
+ listByCategory[name] = sortEmoji(emojiByCategory(name));
241
+ }
242
+ setEmojiList(listByCategory);
243
+ setColSize(Math.max(Math.floor(width / columns), 32));
244
+ if (callback) {
245
+ callback();
246
+ }
247
+ }, [columns, width]);
248
+ const handleLayout = useCallback(({ nativeEvent: { layout } }) => {
249
+ setWidth(layout.width);
250
+ prerenderEmojis(() => {
251
+ setIsReady(true);
252
+ });
253
+ }, [prerenderEmojis]);
254
+ //
255
+ // LIFECYCLE METHODS
256
+ //
257
+ useEffect(() => {
258
+ setCategory(initialCategory);
259
+ if (showHistory) {
260
+ loadHistoryAsync();
261
+ }
262
+ }, [initialCategory, loadHistoryAsync, showHistory]);
263
+ const Searchbar = (React.createElement(View, { style: styles.searchbar_container },
264
+ React.createElement(TextInput, { style: styles.search, placeholder: placeholder, clearButtonMode: "always", returnKeyType: "done", autoCorrect: false, underlineColorAndroid: theme, value: searchQuery, onChangeText: handleSearch })));
265
+ const title = searchQuery !== "" ? "Search Results" : category.name;
266
+ return (React.createElement(View, Object.assign({ style: styles.frame }, other, { onLayout: handleLayout }),
267
+ React.createElement(View, { style: styles.tabBar }, showTabs && (React.createElement(TabBar, { activeCategory: category, onPress: handleTabSelect, theme: theme, width: width }))),
268
+ React.createElement(View, { style: { flex: 1 } },
269
+ showSearchBar && Searchbar,
270
+ isReady ? (React.createElement(View, { style: { flex: 1 } },
271
+ React.createElement(View, { style: styles.container },
272
+ showSectionTitles && React.createElement(Text, { style: styles.sectionHeader }, title),
273
+ React.createElement(FlatList, { style: styles.scrollview, contentContainerStyle: { paddingBottom: colSize }, data: returnSectionData(), renderItem: renderEmojiCell, horizontal: false, numColumns: columns, keyboardShouldPersistTaps: "always", ref: scrollview, removeClippedSubviews: true })))) : (React.createElement(View, Object.assign({ style: styles.loader }, other),
274
+ React.createElement(ActivityIndicator, { size: "large", color: Platform.OS === "android" ? theme : "#000000" }))))));
275
+ };
276
+ EmojiSelector.defaultProps = {
277
+ theme: "#007AFF",
278
+ category: Categories.all,
279
+ showTabs: true,
280
+ showSearchBar: true,
281
+ showHistory: false,
282
+ showSectionTitles: true,
283
+ columns: 6,
284
+ placeholder: "Search...",
285
+ };
286
+ export default EmojiSelector;
287
+ const styles = StyleSheet.create({
288
+ frame: {
289
+ flex: 1,
290
+ width: "100%",
291
+ },
292
+ loader: {
293
+ flex: 1,
294
+ alignItems: "center",
295
+ justifyContent: "center",
296
+ },
297
+ tabBar: {
298
+ flexDirection: "row",
299
+ minHeight: 44,
300
+ maxHeight: 60,
301
+ },
302
+ scrollview: {
303
+ flex: 1,
304
+ overflow: "hidden",
305
+ },
306
+ searchbar_container: {
307
+ width: "100%",
308
+ zIndex: 1,
309
+ backgroundColor: "rgba(255,255,255,0.75)",
310
+ },
311
+ search: Object.assign(Object.assign({}, Platform.select({
312
+ ios: {
313
+ height: 36,
314
+ paddingLeft: 8,
315
+ borderRadius: 10,
316
+ backgroundColor: "#E5E8E9",
317
+ },
318
+ })), { margin: 8 }),
319
+ container: {
320
+ flex: 1,
321
+ flexDirection: "column",
322
+ alignItems: "flex-start",
323
+ overflow: "hidden",
324
+ },
325
+ sectionHeader: {
326
+ margin: 8,
327
+ fontSize: 17,
328
+ width: "100%",
329
+ color: "#8F8F8F",
330
+ },
331
+ });
332
+ //# sourceMappingURL=EmojiSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiSelector.js","sourceRoot":"","sources":["../src/EmojiSelector.tsx"],"names":[],"mappings":"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"}
package/dist/TextField.js CHANGED
@@ -39,7 +39,7 @@ const textContentMap = {
39
39
  }),
40
40
  username: "username",
41
41
  };
42
- export const TextField = ({ title, disabled, helperText, errorText, value, onChange, placeholder, blurOnSubmit = true, iconName, onIconClick, type = "text", autoComplete, inputRef, multiline, rows = 1, grow, returnKeyType, onBlur, onFocus, onEnter, onSubmitEditing, testID, }) => {
42
+ export const TextField = ({ title, disabled, helperText, errorText, value, onChange, placeholder, blurOnSubmit = true, iconName, onIconClick, trimOnBlur = true, type = "text", autoComplete, inputRef, multiline, rows = 1, grow, returnKeyType, onBlur, onFocus, onEnter, onSubmitEditing, testID, }) => {
43
43
  const { theme } = useTheme();
44
44
  const calendar = getCalendars()[0];
45
45
  const localTimeZone = calendar === null || calendar === void 0 ? void 0 : calendar.timeZone;
@@ -112,8 +112,15 @@ export const TextField = ({ title, disabled, helperText, errorText, value, onCha
112
112
  }, accessibilityHint: "Enter text here", accessibilityState: { disabled }, "aria-label": "Text input field", autoCapitalize: type === "text" ? "sentences" : "none", autoCorrect: shouldAutocorrect, blurOnSubmit: blurOnSubmit, enterKeyHint: returnKeyType, keyboardType: keyboardType, multiline: multiline, numberOfLines: rows || 4, placeholder: placeholder, placeholderTextColor: theme.text.secondaryLight, readOnly: disabled, secureTextEntry: type === "password", style: defaultTextInputStyles, testID: testID, textContentType: textContentType, underlineColorAndroid: "transparent", value: value, onBlur: () => {
113
113
  if (disabled)
114
114
  return;
115
+ let finalValue = value !== null && value !== void 0 ? value : "";
116
+ if (trimOnBlur && value) {
117
+ finalValue = finalValue.trim();
118
+ if (finalValue !== value) {
119
+ onChange(finalValue);
120
+ }
121
+ }
115
122
  if (onBlur) {
116
- onBlur(value !== null && value !== void 0 ? value : "");
123
+ onBlur(finalValue);
117
124
  }
118
125
  setFocused(false);
119
126
  }, onChangeText: onChange, onContentSizeChange: (event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../src/TextField.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export * from "./DateUtilities";
20
20
  export * from "./DecimalRangeActionSheet";
21
21
  export * from "./DismissButton";
22
22
  export * from "./EmailField";
23
+ export { default as EmojiSelector } from "./EmojiSelector";
23
24
  export * from "./ErrorBoundary";
24
25
  export * from "./ErrorPage";
25
26
  export * from "./FernsProvider";
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ export * from "./DateUtilities";
20
20
  export * from "./DecimalRangeActionSheet";
21
21
  export * from "./DismissButton";
22
22
  export * from "./EmailField";
23
+ export { default as EmojiSelector } from "./EmojiSelector";
23
24
  export * from "./ErrorBoundary";
24
25
  export * from "./ErrorPage";
25
26
  export * from "./FernsProvider";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC;AACzD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ferns-ui",
3
- "version": "2.0.0-beta.4",
3
+ "version": "2.0.0-beta.5",
4
4
  "main": "dist/index.js",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
@@ -86,9 +86,10 @@
86
86
  "@expo/vector-icons": "^15.0.3",
87
87
  "@react-native-async-storage/async-storage": "2.2.0",
88
88
  "@react-native-community/blur": "^4.4.0",
89
- "@react-native-community/datetimepicker": "8.4.4",
89
+ "@react-native-community/datetimepicker": "8.6.0",
90
90
  "@react-native-community/slider": "^5.0.1",
91
91
  "@react-native-picker/picker": "2.11.1",
92
+ "emoji-datasource": "^16.0.0",
92
93
  "expo-clipboard": "~8.0.8",
93
94
  "expo-font": "~14.0.10",
94
95
  "expo-haptics": "~15.0.8",
package/src/Common.ts CHANGED
@@ -640,6 +640,7 @@ export interface TextFieldProps extends BaseFieldProps, HelperTextProps, ErrorTe
640
640
  rows?: number;
641
641
 
642
642
  inputRef?: any;
643
+ trimOnBlur?: boolean;
643
644
  }
644
645
 
645
646
  export interface TextAreaProps extends Omit<TextFieldProps, "multiline" | "type"> {}
@@ -0,0 +1,61 @@
1
+ import React from "react";
2
+
3
+ import EmojiSelector, {Categories} from "./EmojiSelector";
4
+ import {renderWithTheme} from "./test-utils";
5
+
6
+ describe("EmojiSelector", () => {
7
+ it("renders search bar when showSearchBar is true", () => {
8
+ const {getByPlaceholderText} = renderWithTheme(
9
+ <EmojiSelector
10
+ category={Categories.all}
11
+ columns={6}
12
+ onEmojiSelected={jest.fn()}
13
+ placeholder="Search emojis"
14
+ showHistory={false}
15
+ showSearchBar
16
+ showSectionTitles
17
+ showTabs
18
+ theme="#007AFF"
19
+ />
20
+ );
21
+
22
+ expect(getByPlaceholderText("Search emojis")).toBeTruthy();
23
+ });
24
+
25
+ it("renders tab bar when showTabs is true", () => {
26
+ const {getByText} = renderWithTheme(
27
+ <EmojiSelector
28
+ category={Categories.people}
29
+ columns={6}
30
+ onEmojiSelected={jest.fn()}
31
+ placeholder="Search emojis"
32
+ showHistory={false}
33
+ showSearchBar
34
+ showSectionTitles
35
+ showTabs
36
+ theme="#007AFF"
37
+ />
38
+ );
39
+
40
+ // One of the known category symbols
41
+ expect(getByText("😀")).toBeTruthy();
42
+ });
43
+
44
+ it("matches snapshot", () => {
45
+ const tree = renderWithTheme(
46
+ <EmojiSelector
47
+ category={Categories.people}
48
+ columns={6}
49
+ onEmojiSelected={jest.fn()}
50
+ placeholder="Search emojis"
51
+ showHistory={false}
52
+ showSearchBar
53
+ showSectionTitles
54
+ showTabs
55
+ theme="#007AFF"
56
+ />
57
+ );
58
+
59
+ expect(tree.toJSON()).toMatchSnapshot();
60
+ });
61
+ });