@draftbit/core 46.2.4-dedb7a.0 → 46.2.4-f941fc.0

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.
Files changed (46) hide show
  1. package/lib/commonjs/components/Accordion/AccordionItem.js +25 -5
  2. package/lib/commonjs/components/DeprecatedButton.js +4 -22
  3. package/lib/commonjs/components/TabView/TabView.js +102 -0
  4. package/lib/commonjs/components/TabView/TabViewItem.js +26 -0
  5. package/lib/commonjs/components/TabView/index.js +23 -0
  6. package/lib/commonjs/index.js +14 -0
  7. package/lib/commonjs/mappings/NumberInput.js +149 -146
  8. package/lib/commonjs/mappings/TabView.js +79 -0
  9. package/lib/commonjs/mappings/TextArea.js +193 -188
  10. package/lib/commonjs/mappings/TextField.js +8 -3
  11. package/lib/commonjs/mappings/TextInput.js +180 -178
  12. package/lib/module/components/TabView/TabView.js +87 -0
  13. package/lib/module/components/TabView/TabViewItem.js +18 -0
  14. package/lib/module/components/TabView/index.js +2 -0
  15. package/lib/module/index.js +1 -0
  16. package/lib/module/mappings/NumberInput.js +149 -146
  17. package/lib/module/mappings/TabView.js +70 -0
  18. package/lib/module/mappings/TextArea.js +193 -188
  19. package/lib/module/mappings/TextField.js +8 -3
  20. package/lib/module/mappings/TextInput.js +180 -178
  21. package/lib/typescript/src/components/TabView/TabView.d.ts +19 -0
  22. package/lib/typescript/src/components/TabView/TabViewItem.d.ts +10 -0
  23. package/lib/typescript/src/components/TabView/index.d.ts +2 -0
  24. package/lib/typescript/src/index.d.ts +1 -0
  25. package/lib/typescript/src/mappings/TabView.d.ts +111 -0
  26. package/lib/typescript/src/mappings/TextArea.d.ts +42 -42
  27. package/lib/typescript/src/mappings/TextField.d.ts +118 -118
  28. package/package.json +4 -2
  29. package/src/components/TabView/TabView.js +34 -0
  30. package/src/components/TabView/TabView.tsx +97 -0
  31. package/src/components/TabView/TabViewItem.js +5 -0
  32. package/src/components/TabView/TabViewItem.tsx +21 -0
  33. package/src/components/TabView/index.js +2 -0
  34. package/src/components/TabView/index.ts +2 -0
  35. package/src/index.js +1 -0
  36. package/src/index.tsx +1 -0
  37. package/src/mappings/NumberInput.js +163 -160
  38. package/src/mappings/NumberInput.ts +168 -165
  39. package/src/mappings/TabView.js +73 -0
  40. package/src/mappings/TabView.ts +80 -0
  41. package/src/mappings/TextArea.js +220 -213
  42. package/src/mappings/TextArea.ts +227 -219
  43. package/src/mappings/TextField.js +9 -2
  44. package/src/mappings/TextField.ts +11 -3
  45. package/src/mappings/TextInput.js +208 -205
  46. package/src/mappings/TextInput.ts +215 -212
@@ -7,6 +7,185 @@ exports.SEED_DATA_PROPS = exports.SEED_DATA = void 0;
7
7
 
8
8
  var _types = require("@draftbit/types");
9
9
 
10
+ const TEXT_INPUT_PROPS = {
11
+ allowFontScaling: {
12
+ group: _types.GROUPS.advanced,
13
+ label: "Allow Font Scaling",
14
+ description: "Whether fonts should scale to respect Text Size in the user's accessibility settings. (Default: true)",
15
+ editable: true,
16
+ required: false,
17
+ defaultValue: null,
18
+ formType: _types.FORM_TYPES.boolean,
19
+ propType: _types.PROP_TYPES.BOOLEAN
20
+ },
21
+ autoCapitalize: {
22
+ group: _types.GROUPS.advanced,
23
+ label: "Auto Capitalize",
24
+ description: "Can automatically capitalize sentences, words, and characters (Default: none).",
25
+ editable: true,
26
+ required: false,
27
+ defaultValue: null,
28
+ options: ["none", "sentences", "words", "characters"],
29
+ formType: _types.FORM_TYPES.flatArray,
30
+ propType: _types.PROP_TYPES.STRING
31
+ },
32
+ autoCorrect: {
33
+ group: _types.GROUPS.advanced,
34
+ label: "Auto Correct",
35
+ description: "Enables auto correction",
36
+ editable: true,
37
+ required: false,
38
+ defaultValue: null,
39
+ formType: _types.FORM_TYPES.boolean,
40
+ propType: _types.PROP_TYPES.BOOLEAN
41
+ },
42
+ autoFocus: {
43
+ group: _types.GROUPS.basic,
44
+ label: "Auto Focus",
45
+ description: "Focuses the input on load in and brings up the keyboard",
46
+ editable: true,
47
+ required: false,
48
+ defaultValue: null,
49
+ formType: _types.FORM_TYPES.boolean,
50
+ propType: _types.PROP_TYPES.BOOLEAN
51
+ },
52
+ caretHidden: {
53
+ group: _types.GROUPS.advanced,
54
+ label: "Hide Caret",
55
+ description: "Hides the caret(the line small line underneath each showing where you're editing/typing",
56
+ editable: true,
57
+ required: false,
58
+ defaultValue: null,
59
+ formType: _types.FORM_TYPES.boolean,
60
+ propType: _types.PROP_TYPES.BOOLEAN
61
+ },
62
+ contextMenuHidden: {
63
+ group: _types.GROUPS.advanced,
64
+ label: "Hide Context Menu",
65
+ description: "Hides the system context menu (Default: false)",
66
+ editable: true,
67
+ required: false,
68
+ defaultValue: null,
69
+ formType: _types.FORM_TYPES.boolean,
70
+ propType: _types.PROP_TYPES.BOOLEAN
71
+ },
72
+ editable: {
73
+ group: _types.GROUPS.advanced,
74
+ label: "Editable",
75
+ description: "If false, the text is not editable",
76
+ editable: true,
77
+ required: false,
78
+ defaultValue: true,
79
+ formType: _types.FORM_TYPES.boolean,
80
+ propType: _types.PROP_TYPES.BOOLEAN
81
+ },
82
+ keyboardAppearance: {
83
+ group: _types.GROUPS.advanced,
84
+ label: "Keyboard Appearance",
85
+ description: "Determines the color of the keyboard.(iOS Only)",
86
+ editable: true,
87
+ required: false,
88
+ defaultValue: null,
89
+ options: ["default", "light", "dark"],
90
+ formType: _types.FORM_TYPES.flatArray,
91
+ propType: _types.PROP_TYPES.STRING
92
+ },
93
+ keyboardType: {
94
+ group: _types.GROUPS.advanced,
95
+ label: "Keyboard Type",
96
+ description: "Determines what keyboard is given to the user.",
97
+ editable: true,
98
+ required: false,
99
+ defaultValue: null,
100
+ options: ["default", "email-address", "numeric", "phone-pad", "ascii-capable", "numbers-and-punctuation", "url", "number-pad", "name-phone-pad", "decimal-pad", "twitter", "web-search", "visible-password"],
101
+ formType: _types.FORM_TYPES.flatArray,
102
+ propType: _types.PROP_TYPES.STRING
103
+ },
104
+ maxLength: {
105
+ group: _types.GROUPS.basic,
106
+ label: "Max Length",
107
+ description: "Limits the input to a set number of characters.",
108
+ editable: true,
109
+ required: false,
110
+ defaultValue: null,
111
+ min: 0,
112
+ step: 1,
113
+ precision: 0,
114
+ formType: _types.FORM_TYPES.number,
115
+ propType: _types.PROP_TYPES.NUMBER
116
+ },
117
+ placeholder: {
118
+ group: _types.GROUPS.data,
119
+ label: "Placeholder Text",
120
+ description: "The text that is shown on load when no value is available.",
121
+ editable: true,
122
+ required: false,
123
+ defaultValue: "Enter a value...",
124
+ formType: _types.FORM_TYPES.string,
125
+ propType: _types.PROP_TYPES.STRING
126
+ },
127
+ placeholderTextColor: {
128
+ group: _types.GROUPS.basic,
129
+ label: "Placeholder Text Color",
130
+ description: "The color of the placeholder text.",
131
+ editable: true,
132
+ required: false,
133
+ defaultValue: null,
134
+ formType: _types.FORM_TYPES.color,
135
+ propType: _types.PROP_TYPES.STRING
136
+ },
137
+ returnKeyLabel: {
138
+ group: _types.GROUPS.advanced,
139
+ label: "Return Key Label",
140
+ description: "(Android Only) Sets the label on the return key (use this instead of rewturnKeyType)",
141
+ editable: true,
142
+ required: false,
143
+ defaultValue: null,
144
+ formType: _types.FORM_TYPES.string,
145
+ propType: _types.PROP_TYPES.STRING
146
+ },
147
+ returnKeyType: {
148
+ group: _types.GROUPS.advanced,
149
+ label: "Return Key Type",
150
+ description: "Determines how the return key should look like",
151
+ editable: true,
152
+ required: false,
153
+ defaultValue: null,
154
+ options: ["done", "go", "next", "search", "send", "none", "previous", "default", "emergency-call", "google", "join", "route", "yahoo"],
155
+ formType: _types.FORM_TYPES.flatArray,
156
+ propType: _types.PROP_TYPES.STRING
157
+ },
158
+ secureTextEntry: {
159
+ group: _types.GROUPS.basic,
160
+ label: "Password Input?",
161
+ description: "Hides the characters with a *, useful for passwords and other sensitive information.",
162
+ editable: true,
163
+ required: false,
164
+ defaultValue: null,
165
+ formType: _types.FORM_TYPES.boolean,
166
+ propType: _types.PROP_TYPES.BOOLEAN
167
+ },
168
+ selectionColor: {
169
+ group: _types.GROUPS.advanced,
170
+ label: "Selection Color",
171
+ description: "Color of the highlighted portion when selecting.",
172
+ editable: true,
173
+ required: false,
174
+ defaultValue: null,
175
+ formType: _types.FORM_TYPES.color,
176
+ propType: _types.PROP_TYPES.STRING
177
+ },
178
+ selectTextOnFocus: {
179
+ group: _types.GROUPS.advanced,
180
+ label: "Select Text on Focus",
181
+ description: "If true, all the text will automatically be selected on focus",
182
+ editable: true,
183
+ required: false,
184
+ defaultValue: null,
185
+ formType: _types.FORM_TYPES.boolean,
186
+ propType: _types.PROP_TYPES.BOOLEAN
187
+ }
188
+ };
10
189
  const SEED_DATA_PROPS = {
11
190
  style: {
12
191
  group: _types.GROUPS.basic,
@@ -86,184 +265,7 @@ const SEED_DATA = [{
86
265
  borderRadius: 8
87
266
  },
88
267
  triggers: [_types.Triggers.OnChangeText],
89
- props: {
90
- allowFontScaling: {
91
- group: _types.GROUPS.advanced,
92
- label: "Allow Font Scaling",
93
- description: "Whether fonts should scale to respect Text Size in the user's accessibility settings. (Default: true)",
94
- editable: true,
95
- required: false,
96
- defaultValue: null,
97
- formType: _types.FORM_TYPES.boolean,
98
- propType: _types.PROP_TYPES.BOOLEAN
99
- },
100
- autoCapitalize: {
101
- group: _types.GROUPS.advanced,
102
- label: "Auto Capitalize",
103
- description: "Can automatically capitalize sentences, words, and characters (Default: none).",
104
- editable: true,
105
- required: false,
106
- defaultValue: null,
107
- options: ["none", "sentences", "words", "characters"],
108
- formType: _types.FORM_TYPES.flatArray,
109
- propType: _types.PROP_TYPES.STRING
110
- },
111
- autoCorrect: {
112
- group: _types.GROUPS.advanced,
113
- label: "Auto Correct",
114
- description: "Enables auto correction",
115
- editable: true,
116
- required: false,
117
- defaultValue: null,
118
- formType: _types.FORM_TYPES.boolean,
119
- propType: _types.PROP_TYPES.BOOLEAN
120
- },
121
- autoFocus: {
122
- group: _types.GROUPS.basic,
123
- label: "Auto Focus",
124
- description: "Focuses the input on load in and brings up the keyboard",
125
- editable: true,
126
- required: false,
127
- defaultValue: null,
128
- formType: _types.FORM_TYPES.boolean,
129
- propType: _types.PROP_TYPES.BOOLEAN
130
- },
131
- caretHidden: {
132
- group: _types.GROUPS.advanced,
133
- label: "Hide Caret",
134
- description: "Hides the caret(the line small line underneath each showing where you're editing/typing",
135
- editable: true,
136
- required: false,
137
- defaultValue: null,
138
- formType: _types.FORM_TYPES.boolean,
139
- propType: _types.PROP_TYPES.BOOLEAN
140
- },
141
- contextMenuHidden: {
142
- group: _types.GROUPS.advanced,
143
- label: "Hide Context Menu",
144
- description: "Hides the system context menu (Default: false)",
145
- editable: true,
146
- required: false,
147
- defaultValue: null,
148
- formType: _types.FORM_TYPES.boolean,
149
- propType: _types.PROP_TYPES.BOOLEAN
150
- },
151
- editable: {
152
- group: _types.GROUPS.advanced,
153
- label: "Editable",
154
- description: "If false, the text is not editable",
155
- editable: true,
156
- required: false,
157
- defaultValue: true,
158
- formType: _types.FORM_TYPES.boolean,
159
- propType: _types.PROP_TYPES.BOOLEAN
160
- },
161
- keyboardAppearance: {
162
- group: _types.GROUPS.advanced,
163
- label: "Keyboard Appearance",
164
- description: "Determines the color of the keyboard.(iOS Only)",
165
- editable: true,
166
- required: false,
167
- defaultValue: null,
168
- options: ["default", "light", "dark"],
169
- formType: _types.FORM_TYPES.flatArray,
170
- propType: _types.PROP_TYPES.STRING
171
- },
172
- keyboardType: {
173
- group: _types.GROUPS.advanced,
174
- label: "Keyboard Type",
175
- description: "Determines what keyboard is given to the user.",
176
- editable: true,
177
- required: false,
178
- defaultValue: null,
179
- options: ["default", "email-address", "numeric", "phone-pad", "ascii-capable", "numbers-and-punctuation", "url", "number-pad", "name-phone-pad", "decimal-pad", "twitter", "web-search", "visible-password"],
180
- formType: _types.FORM_TYPES.flatArray,
181
- propType: _types.PROP_TYPES.STRING
182
- },
183
- maxLength: {
184
- group: _types.GROUPS.basic,
185
- label: "Max Length",
186
- description: "Limits the input to a set number of characters.",
187
- editable: true,
188
- required: false,
189
- defaultValue: null,
190
- min: 0,
191
- step: 1,
192
- precision: 0,
193
- formType: _types.FORM_TYPES.number,
194
- propType: _types.PROP_TYPES.NUMBER
195
- },
196
- placeholder: {
197
- group: _types.GROUPS.data,
198
- label: "Placeholder Text",
199
- description: "The text that is shown on load when no value is available.",
200
- editable: true,
201
- required: false,
202
- defaultValue: "Enter a value...",
203
- formType: _types.FORM_TYPES.string,
204
- propType: _types.PROP_TYPES.STRING
205
- },
206
- placeholderTextColor: {
207
- group: _types.GROUPS.basic,
208
- label: "Placeholder Text Color",
209
- description: "The color of the placeholder text.",
210
- editable: true,
211
- required: false,
212
- defaultValue: null,
213
- formType: _types.FORM_TYPES.color,
214
- propType: _types.PROP_TYPES.STRING
215
- },
216
- returnKeyLabel: {
217
- group: _types.GROUPS.advanced,
218
- label: "Return Key Label",
219
- description: "(Android Only) Sets the label on the return key (use this instead of rewturnKeyType)",
220
- editable: true,
221
- required: false,
222
- defaultValue: null,
223
- formType: _types.FORM_TYPES.string,
224
- propType: _types.PROP_TYPES.STRING
225
- },
226
- returnKeyType: {
227
- group: _types.GROUPS.advanced,
228
- label: "Return Key Type",
229
- description: "Determines how the return key should look like",
230
- editable: true,
231
- required: false,
232
- defaultValue: null,
233
- options: ["done", "go", "next", "search", "send", "none", "previous", "default", "emergency-call", "google", "join", "route", "yahoo"],
234
- formType: _types.FORM_TYPES.flatArray,
235
- propType: _types.PROP_TYPES.STRING
236
- },
237
- secureTextEntry: {
238
- group: _types.GROUPS.basic,
239
- label: "Password Input?",
240
- description: "Hides the characters with a *, useful for passwords and other sensitive information.",
241
- editable: true,
242
- required: false,
243
- defaultValue: null,
244
- formType: _types.FORM_TYPES.boolean,
245
- propType: _types.PROP_TYPES.BOOLEAN
246
- },
247
- selectionColor: {
248
- group: _types.GROUPS.advanced,
249
- label: "Selection Color",
250
- description: "Color of the highlighted portion when selecting.",
251
- editable: true,
252
- required: false,
253
- defaultValue: null,
254
- formType: _types.FORM_TYPES.color,
255
- propType: _types.PROP_TYPES.STRING
256
- },
257
- selectTextOnFocus: {
258
- group: _types.GROUPS.advanced,
259
- label: "Select Text on Focus",
260
- description: "If true, all the text will automatically be selected on focus",
261
- editable: true,
262
- required: false,
263
- defaultValue: null,
264
- formType: _types.FORM_TYPES.boolean,
265
- propType: _types.PROP_TYPES.BOOLEAN
266
- },
268
+ props: { ...TEXT_INPUT_PROPS,
267
269
  ...SEED_DATA_PROPS,
268
270
  multiline: {
269
271
  group: _types.GROUPS.basic,
@@ -0,0 +1,87 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import * as React from "react";
4
+ import { TabView, TabBar, SceneMap } from "react-native-tab-view"; // import { withTheme } from "../../theming";
5
+
6
+ import TabViewItem from "./TabViewItem";
7
+
8
+ const TabViewComponent = _ref => {
9
+ let {
10
+ Icon,
11
+ tabBarPosition,
12
+ keyboardDismissMode,
13
+ swipeEnabled,
14
+ scrollEnabled,
15
+ activeColor,
16
+ inactiveColor,
17
+ pressColor,
18
+ indicatorColor,
19
+ style,
20
+ children
21
+ } = _ref;
22
+ const [index, setIndex] = React.useState(0);
23
+ const [routes, setRoutes] = React.useState([]);
24
+ const [tabScenes, setTabScenes] = React.useState({});
25
+ React.useEffect(() => {
26
+ const newRoutes = [];
27
+ const scenes = {};
28
+ React.Children.toArray(children).filter(child => child.type === TabViewItem).forEach(child => {
29
+ var _child$props;
30
+
31
+ if (child !== null && child !== void 0 && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.id) {
32
+ var _child$props2, _child$props3;
33
+
34
+ newRoutes.push({
35
+ key: child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.id,
36
+ ...(child === null || child === void 0 ? void 0 : child.props)
37
+ });
38
+
39
+ scenes[child === null || child === void 0 ? void 0 : (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.id] = () => child;
40
+ }
41
+ });
42
+ setRoutes(newRoutes);
43
+ setTabScenes(scenes);
44
+ }, [children]);
45
+
46
+ const indexChangeHandler = i => setIndex(i);
47
+
48
+ const renderTabBar = props => {
49
+ console.log(props);
50
+ return /*#__PURE__*/React.createElement(TabBar, _extends({}, props, {
51
+ activeColor: activeColor,
52
+ inactiveColor: inactiveColor,
53
+ pressColor: pressColor,
54
+ scrollEnabled: scrollEnabled,
55
+ indicatorStyle: {
56
+ backgroundColor: indicatorColor
57
+ },
58
+ renderIcon: _ref2 => {
59
+ let {
60
+ route,
61
+ color
62
+ } = _ref2;
63
+ return route !== null && route !== void 0 && route.icon ? /*#__PURE__*/React.createElement(Icon, {
64
+ name: route.icon,
65
+ color: color,
66
+ size: 36
67
+ }) : null;
68
+ },
69
+ style: style
70
+ }));
71
+ };
72
+
73
+ return /*#__PURE__*/React.createElement(TabView, {
74
+ navigationState: {
75
+ index,
76
+ routes
77
+ },
78
+ renderScene: SceneMap(tabScenes),
79
+ renderTabBar: renderTabBar,
80
+ onIndexChange: indexChangeHandler,
81
+ tabBarPosition: tabBarPosition,
82
+ keyboardDismissMode: keyboardDismissMode,
83
+ swipeEnabled: swipeEnabled
84
+ });
85
+ };
86
+
87
+ export default TabViewComponent;
@@ -0,0 +1,18 @@
1
+ const TabViewItem = _ref => {
2
+ let {
3
+ title,
4
+ id,
5
+ icon,
6
+ children,
7
+ accessibilityLabel
8
+ } = _ref;
9
+ console.log({
10
+ title,
11
+ id,
12
+ icon,
13
+ accessibilityLabel
14
+ });
15
+ return children;
16
+ };
17
+
18
+ export default TabViewItem;
@@ -0,0 +1,2 @@
1
+ export { default as TabView } from "./TabView";
2
+ export { default as TabViewItem } from "./TabViewItem";
@@ -28,6 +28,7 @@ export { default as Touchable } from "./components/Touchable";
28
28
  export { AccordionGroup, AccordionItem } from "./components/Accordion";
29
29
  export { ActionSheet, ActionSheetItem, ActionSheetCancel } from "./components/ActionSheet";
30
30
  export { Swiper, SwiperItem } from "./components/Swiper";
31
+ export { TabView, TabViewItem } from "./components/TabView";
31
32
  export { Center, Circle, Square, Row, Stack, Spacer } from "./components/Layout";
32
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup } from "./components/RadioButton/index";
33
34
  /* Deprecated: Fix or Delete! */