@draftbit/core 46.4.4-131f72.2 → 46.4.4-1a94b9.2

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 (39) hide show
  1. package/lib/commonjs/components/Checkbox/CheckboxRow.js +6 -24
  2. package/lib/commonjs/components/DatePicker/DatePicker.js +18 -8
  3. package/lib/commonjs/components/Picker/Picker.js +5 -5
  4. package/lib/commonjs/components/Stepper.js +8 -3
  5. package/lib/commonjs/components/Surface.js +1 -2
  6. package/lib/commonjs/mappings/DatePicker.js +13 -0
  7. package/lib/commonjs/mappings/Stepper.js +1 -1
  8. package/lib/commonjs/mappings/TextField.js +1 -1
  9. package/lib/commonjs/mappings/TextInput.js +1 -1
  10. package/lib/module/components/DatePicker/DatePicker.js +17 -8
  11. package/lib/module/components/Picker/Picker.js +2 -2
  12. package/lib/module/components/Stepper.js +7 -3
  13. package/lib/module/components/Surface.js +1 -1
  14. package/lib/module/mappings/DatePicker.js +14 -1
  15. package/lib/module/mappings/Stepper.js +2 -2
  16. package/lib/module/mappings/TextField.js +1 -1
  17. package/lib/module/mappings/TextInput.js +1 -1
  18. package/lib/typescript/src/components/DatePicker/DatePicker.d.ts +4 -0
  19. package/lib/typescript/src/components/Stepper.d.ts +1 -2
  20. package/lib/typescript/src/mappings/DatePicker.d.ts +42 -0
  21. package/lib/typescript/src/mappings/TextField.d.ts +2 -2
  22. package/lib/typescript/src/mappings/TextInput.d.ts +1 -1
  23. package/package.json +3 -3
  24. package/src/components/DatePicker/DatePicker.js +14 -8
  25. package/src/components/DatePicker/DatePicker.tsx +23 -7
  26. package/src/components/Picker/Picker.js +1 -1
  27. package/src/components/Picker/Picker.tsx +2 -2
  28. package/src/components/Stepper.js +5 -3
  29. package/src/components/Stepper.tsx +5 -5
  30. package/src/components/Surface.js +0 -1
  31. package/src/components/Surface.tsx +0 -1
  32. package/src/mappings/DatePicker.js +21 -1
  33. package/src/mappings/DatePicker.ts +23 -0
  34. package/src/mappings/Stepper.js +5 -2
  35. package/src/mappings/Stepper.ts +5 -1
  36. package/src/mappings/TextField.js +1 -1
  37. package/src/mappings/TextField.ts +1 -1
  38. package/src/mappings/TextInput.js +1 -1
  39. package/src/mappings/TextInput.ts +1 -1
@@ -27,7 +27,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
27
27
 
28
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
29
 
30
- var Direction;
30
+ 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); }
31
+
32
+ let Direction;
31
33
  exports.Direction = Direction;
32
34
 
33
35
  (function (Direction) {
@@ -100,14 +102,13 @@ const CheckboxRow = _ref => {
100
102
  textStyles,
101
103
  viewStyles
102
104
  } = (0, _utilities.extractStyles)(style);
103
- return /*#__PURE__*/React.createElement(_Touchable.default, {
105
+ return /*#__PURE__*/React.createElement(_Touchable.default, _extends({
104
106
  onPress: handlePress,
105
107
  style: [viewStyles, styles.mainParent, {
106
108
  flexDirection: direction
107
109
  }],
108
- disabled: disabled,
109
- ...rest
110
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
110
+ disabled: disabled
111
+ }, rest), /*#__PURE__*/React.createElement(_reactNative.View, {
111
112
  style: [styles.label, {
112
113
  alignItems: direction === Direction.Row ? "flex-start" : "flex-end"
113
114
  }, labelContainerStyle]
@@ -145,24 +146,5 @@ const styles = _reactNative.StyleSheet.create({
145
146
  }
146
147
  });
147
148
 
148
- var _default = CheckboxRow;
149
- exports.default = _default;ms: "center",
150
- justifyContent: "space-around",
151
- paddingStart: 20,
152
- minHeight: 50,
153
- paddingEnd: 20,
154
- display: "flex",
155
- ..._reactNative.Platform.select({
156
- web: {
157
- cursor: "pointer",
158
- userSelect: "none"
159
- }
160
- })
161
- },
162
- label: {
163
- flex: 3
164
- }
165
- });
166
-
167
149
  var _default = CheckboxRow;
168
150
  exports.default = _default;
@@ -21,6 +21,8 @@ var _Touchable = _interopRequireDefault(require("../Touchable"));
21
21
 
22
22
  var _DatePickerComponent = _interopRequireDefault(require("./DatePickerComponent"));
23
23
 
24
+ var _utilities = require("../../utilities");
25
+
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
27
 
26
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -57,7 +59,11 @@ const DatePicker = _ref => {
57
59
  rightIconName,
58
60
  leftIconMode = "inset",
59
61
  label,
62
+ labelSize,
63
+ labelColor,
60
64
  placeholder,
65
+ borderColor: inputBorderColor,
66
+ borderColorActive: inputBorderColorActive,
61
67
  ...props
62
68
  } = _ref;
63
69
  const [value, setValue] = React.useState(date || defaultValue);
@@ -74,6 +80,9 @@ const DatePicker = _ref => {
74
80
  measured: false,
75
81
  width: 0
76
82
  });
83
+ const {
84
+ textStyles
85
+ } = (0, _utilities.extractStyles)(style);
77
86
 
78
87
  const getValidDate = () => {
79
88
  if (!value) {
@@ -175,8 +184,8 @@ const DatePicker = _ref => {
175
184
 
176
185
  const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);
177
186
  const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);
178
- const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;
179
- const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;
187
+ const MAXIMIZED_LABEL_FONT_SIZE = (textStyles === null || textStyles === void 0 ? void 0 : textStyles.fontSize) || typography.subtitle1.fontSize;
188
+ const MINIMIZED_LABEL_FONT_SIZE = labelSize ? labelSize : typography.caption.fontSize;
180
189
  const hasActiveOutline = focused;
181
190
  let inputTextColor, activeColor, underlineColor, borderColor, placeholderColor, containerStyle, backgroundColor, inputStyle;
182
191
  inputTextColor = colors.strong;
@@ -188,9 +197,9 @@ const DatePicker = _ref => {
188
197
  underlineColor = "transparent";
189
198
  backgroundColor = colors.divider;
190
199
  } else {
191
- activeColor = colors.primary;
192
- placeholderColor = borderColor = colors.light;
193
- underlineColor = colors.light;
200
+ activeColor = inputBorderColorActive || colors.primary;
201
+ placeholderColor = borderColor = inputBorderColor || colors.light;
202
+ underlineColor = inputBorderColor || colors.light;
194
203
  backgroundColor = colors.background;
195
204
  }
196
205
 
@@ -250,6 +259,7 @@ const DatePicker = _ref => {
250
259
  };
251
260
  const labelStyle = { ...typography.subtitle1,
252
261
  top: type === "solid" ? 16 : 0,
262
+ fontFamily: textStyles === null || textStyles === void 0 ? void 0 : textStyles.fontFamily,
253
263
  left: leftIconName && leftIconMode === "inset" ? ICON_SIZE + (type === "solid" ? 16 : 12) : 0,
254
264
  transform: [{
255
265
  // Move label to top
@@ -273,7 +283,7 @@ const DatePicker = _ref => {
273
283
  };
274
284
  const inputStyles = [styles.input, inputStyle, type === "solid" ? {
275
285
  marginHorizontal: 12
276
- } : {}]; // const render = (props) => <NativeTextInput {...props} />;
286
+ } : {}, textStyles]; // const render = (props) => <NativeTextInput {...props} />;
277
287
 
278
288
  return /*#__PURE__*/React.createElement(_reactNative.View, {
279
289
  style: [styles.container, style]
@@ -319,7 +329,7 @@ const DatePicker = _ref => {
319
329
  style: [styles.placeholder, type === "solid" ? {
320
330
  paddingHorizontal: 12
321
331
  } : {}, labelStyle, {
322
- color: colors.light,
332
+ color: labelColor || colors.light,
323
333
  opacity: labeled.interpolate({
324
334
  inputRange: [0, 1],
325
335
  outputRange: [hasActiveOutline ? 1 : 0, 0]
@@ -330,7 +340,7 @@ const DatePicker = _ref => {
330
340
  style: [styles.placeholder, type === "solid" ? {
331
341
  paddingHorizontal: 12
332
342
  } : {}, labelStyle, {
333
- color: placeholderColor,
343
+ color: labelColor || placeholder,
334
344
  opacity: hasActiveOutline ? labeled : 1
335
345
  }],
336
346
  numberOfLines: 1
@@ -284,10 +284,6 @@ const Picker = _ref => {
284
284
  );
285
285
  };
286
286
 
287
- var _default = (0, _theming.withTheme)(Picker);
288
-
289
- exports.default = _default;
290
-
291
287
  const styles = _reactNative.StyleSheet.create({
292
288
  marginsContainer: {
293
289
  alignSelf: "stretch",
@@ -357,4 +353,8 @@ const styles = _reactNative.StyleSheet.create({
357
353
  maxWidth: deviceWidth,
358
354
  maxHeight: deviceHeight
359
355
  }
360
- });
356
+ });
357
+
358
+ var _default = (0, _theming.withTheme)(Picker);
359
+
360
+ exports.default = _default;
@@ -15,6 +15,8 @@ var _theming = require("../theming");
15
15
 
16
16
  var _IconButton = _interopRequireDefault(require("./IconButton"));
17
17
 
18
+ var _utilities = require("../utilities");
19
+
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
20
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -28,7 +30,6 @@ const Stepper = _ref => {
28
30
  value: valueProp,
29
31
  defaultValue,
30
32
  style,
31
- typeStyle,
32
33
  iconSize = 24,
33
34
  iconColor,
34
35
  onChange,
@@ -38,6 +39,10 @@ const Stepper = _ref => {
38
39
  },
39
40
  Icon
40
41
  } = _ref;
42
+ const {
43
+ viewStyles,
44
+ textStyles
45
+ } = (0, _utilities.extractStyles)(style);
41
46
  const [value, setValue] = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0);
42
47
 
43
48
  const isValidValue = valueArg => valueArg >= min && valueArg <= max;
@@ -60,7 +65,7 @@ const Stepper = _ref => {
60
65
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
61
66
  style: [{
62
67
  flexDirection: "row"
63
- }, style]
68
+ }, viewStyles]
64
69
  }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
65
70
  Icon: Icon,
66
71
  icon: "MaterialIcons/remove",
@@ -77,7 +82,7 @@ const Stepper = _ref => {
77
82
  alignSelf: "center",
78
83
  color: colors.medium,
79
84
  marginHorizontal: 8
80
- }, typeStyle]
85
+ }, textStyles]
81
86
  }, value), /*#__PURE__*/_react.default.createElement(_IconButton.default, {
82
87
  Icon: Icon,
83
88
  icon: "MaterialIcons/add",
@@ -64,7 +64,6 @@ const Surface = _ref => {
64
64
  }), children);
65
65
  };
66
66
 
67
- var _default = (0, _theming.withTheme)(Surface); // fix bullshit
68
-
67
+ var _default = (0, _theming.withTheme)(Surface);
69
68
 
70
69
  exports.default = _default;
@@ -18,6 +18,12 @@ const SEED_DATA_PROPS = {
18
18
  required: true,
19
19
  group: _types.GROUPS.data
20
20
  },
21
+ labelSize: (0, _types.createNumberProp)({
22
+ label: "Label Size"
23
+ }),
24
+ labelColor: (0, _types.createColorProp)({
25
+ label: "Label Color"
26
+ }),
21
27
  mode: {
22
28
  label: "Mode",
23
29
  description: "Choose between date, time and datetime",
@@ -29,6 +35,12 @@ const SEED_DATA_PROPS = {
29
35
  options: ["date", "time", "datetime"],
30
36
  group: _types.GROUPS.basic
31
37
  },
38
+ borderColor: (0, _types.createColorProp)({
39
+ label: "Border Color"
40
+ }),
41
+ borderColorActive: (0, _types.createColorProp)({
42
+ label: "Border Color"
43
+ }),
32
44
  format: {
33
45
  label: "Format",
34
46
  description: "Create an output format for the date.",
@@ -145,6 +157,7 @@ const SEED_DATA = [{
145
157
  category: _types.COMPONENT_TYPES.input,
146
158
  layout: null,
147
159
  triggers: [_types.Triggers.OnDateChange],
160
+ StylesPanelSections: [_types.StylesPanelSections.Background, _types.StylesPanelSections.Borders, _types.StylesPanelSections.MarginsAndPaddings, _types.StylesPanelSections.Position, _types.StylesPanelSections.Size, _types.StylesPanelSections.Typography],
148
161
  props: { ...SEED_DATA_PROPS,
149
162
  type: {
150
163
  label: "Appearance",
@@ -12,7 +12,7 @@ const SEED_DATA = [{
12
12
  tag: "Stepper",
13
13
  description: "A component used to control the quantity of something",
14
14
  category: _types.COMPONENT_TYPES.control,
15
- stylesPanelSections: _types.BLOCK_STYLES_SECTIONS,
15
+ stylesPanelSections: [_types.StylesPanelSections.Typography, ..._types.BLOCK_STYLES_SECTIONS],
16
16
  layout: {},
17
17
  triggers: [_types.Triggers.OnChange],
18
18
  props: {
@@ -24,7 +24,7 @@ const SEED_DATA_PROPS = {
24
24
  description: "Can automatically capitalize sentences, words, and characters (Default: none).",
25
25
  editable: true,
26
26
  required: false,
27
- defaultValue: null,
27
+ defaultValue: "none",
28
28
  options: ["none", "sentences", "words", "characters"],
29
29
  formType: _types.FORM_TYPES.flatArray,
30
30
  propType: _types.PROP_TYPES.STRING
@@ -103,7 +103,7 @@ const SEED_DATA = [{
103
103
  description: "Can automatically capitalize sentences, words, and characters (Default: none).",
104
104
  editable: true,
105
105
  required: false,
106
- defaultValue: null,
106
+ defaultValue: "none",
107
107
  options: ["none", "sentences", "words", "characters"],
108
108
  formType: _types.FORM_TYPES.flatArray,
109
109
  propType: _types.PROP_TYPES.STRING
@@ -8,6 +8,7 @@ import { withTheme } from "../../theming";
8
8
  import Portal from "../Portal/Portal";
9
9
  import Touchable from "../Touchable";
10
10
  import DateTimePicker from "./DatePickerComponent";
11
+ import { extractStyles } from "../../utilities";
11
12
  const AnimatedText = Animated.createAnimatedComponent(Text);
12
13
  const FOCUS_ANIMATION_DURATION = 150;
13
14
  const BLUR_ANIMATION_DURATION = 180;
@@ -35,7 +36,11 @@ const DatePicker = _ref => {
35
36
  rightIconName,
36
37
  leftIconMode = "inset",
37
38
  label,
39
+ labelSize,
40
+ labelColor,
38
41
  placeholder,
42
+ borderColor: inputBorderColor,
43
+ borderColorActive: inputBorderColorActive,
39
44
  ...props
40
45
  } = _ref;
41
46
  const [value, setValue] = React.useState(date || defaultValue);
@@ -52,6 +57,9 @@ const DatePicker = _ref => {
52
57
  measured: false,
53
58
  width: 0
54
59
  });
60
+ const {
61
+ textStyles
62
+ } = extractStyles(style);
55
63
 
56
64
  const getValidDate = () => {
57
65
  if (!value) {
@@ -153,8 +161,8 @@ const DatePicker = _ref => {
153
161
 
154
162
  const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);
155
163
  const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);
156
- const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;
157
- const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;
164
+ const MAXIMIZED_LABEL_FONT_SIZE = (textStyles === null || textStyles === void 0 ? void 0 : textStyles.fontSize) || typography.subtitle1.fontSize;
165
+ const MINIMIZED_LABEL_FONT_SIZE = labelSize ? labelSize : typography.caption.fontSize;
158
166
  const hasActiveOutline = focused;
159
167
  let inputTextColor, activeColor, underlineColor, borderColor, placeholderColor, containerStyle, backgroundColor, inputStyle;
160
168
  inputTextColor = colors.strong;
@@ -166,9 +174,9 @@ const DatePicker = _ref => {
166
174
  underlineColor = "transparent";
167
175
  backgroundColor = colors.divider;
168
176
  } else {
169
- activeColor = colors.primary;
170
- placeholderColor = borderColor = colors.light;
171
- underlineColor = colors.light;
177
+ activeColor = inputBorderColorActive || colors.primary;
178
+ placeholderColor = borderColor = inputBorderColor || colors.light;
179
+ underlineColor = inputBorderColor || colors.light;
172
180
  backgroundColor = colors.background;
173
181
  }
174
182
 
@@ -228,6 +236,7 @@ const DatePicker = _ref => {
228
236
  };
229
237
  const labelStyle = { ...typography.subtitle1,
230
238
  top: type === "solid" ? 16 : 0,
239
+ fontFamily: textStyles === null || textStyles === void 0 ? void 0 : textStyles.fontFamily,
231
240
  left: leftIconName && leftIconMode === "inset" ? ICON_SIZE + (type === "solid" ? 16 : 12) : 0,
232
241
  transform: [{
233
242
  // Move label to top
@@ -251,7 +260,7 @@ const DatePicker = _ref => {
251
260
  };
252
261
  const inputStyles = [styles.input, inputStyle, type === "solid" ? {
253
262
  marginHorizontal: 12
254
- } : {}]; // const render = (props) => <NativeTextInput {...props} />;
263
+ } : {}, textStyles]; // const render = (props) => <NativeTextInput {...props} />;
255
264
 
256
265
  return /*#__PURE__*/React.createElement(View, {
257
266
  style: [styles.container, style]
@@ -297,7 +306,7 @@ const DatePicker = _ref => {
297
306
  style: [styles.placeholder, type === "solid" ? {
298
307
  paddingHorizontal: 12
299
308
  } : {}, labelStyle, {
300
- color: colors.light,
309
+ color: labelColor || colors.light,
301
310
  opacity: labeled.interpolate({
302
311
  inputRange: [0, 1],
303
312
  outputRange: [hasActiveOutline ? 1 : 0, 0]
@@ -308,7 +317,7 @@ const DatePicker = _ref => {
308
317
  style: [styles.placeholder, type === "solid" ? {
309
318
  paddingHorizontal: 12
310
319
  } : {}, labelStyle, {
311
- color: placeholderColor,
320
+ color: labelColor || placeholder,
312
321
  opacity: hasActiveOutline ? labeled : 1
313
322
  }],
314
323
  numberOfLines: 1
@@ -261,7 +261,6 @@ const Picker = _ref => {
261
261
  );
262
262
  };
263
263
 
264
- export default withTheme(Picker);
265
264
  const styles = StyleSheet.create({
266
265
  marginsContainer: {
267
266
  alignSelf: "stretch",
@@ -331,4 +330,5 @@ const styles = StyleSheet.create({
331
330
  maxWidth: deviceWidth,
332
331
  maxHeight: deviceHeight
333
332
  }
334
- });
333
+ });
334
+ export default withTheme(Picker);
@@ -3,6 +3,7 @@ import { View, Text } from "react-native";
3
3
  import { isNumber } from "lodash";
4
4
  import { withTheme } from "../theming";
5
5
  import IconButton from "./IconButton";
6
+ import { extractStyles } from "../utilities";
6
7
 
7
8
  const Stepper = _ref => {
8
9
  let {
@@ -11,7 +12,6 @@ const Stepper = _ref => {
11
12
  value: valueProp,
12
13
  defaultValue,
13
14
  style,
14
- typeStyle,
15
15
  iconSize = 24,
16
16
  iconColor,
17
17
  onChange,
@@ -21,6 +21,10 @@ const Stepper = _ref => {
21
21
  },
22
22
  Icon
23
23
  } = _ref;
24
+ const {
25
+ viewStyles,
26
+ textStyles
27
+ } = extractStyles(style);
24
28
  const [value, setValue] = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0);
25
29
 
26
30
  const isValidValue = valueArg => valueArg >= min && valueArg <= max;
@@ -43,7 +47,7 @@ const Stepper = _ref => {
43
47
  return /*#__PURE__*/React.createElement(View, {
44
48
  style: [{
45
49
  flexDirection: "row"
46
- }, style]
50
+ }, viewStyles]
47
51
  }, /*#__PURE__*/React.createElement(IconButton, {
48
52
  Icon: Icon,
49
53
  icon: "MaterialIcons/remove",
@@ -60,7 +64,7 @@ const Stepper = _ref => {
60
64
  alignSelf: "center",
61
65
  color: colors.medium,
62
66
  marginHorizontal: 8
63
- }, typeStyle]
67
+ }, textStyles]
64
68
  }, value), /*#__PURE__*/React.createElement(IconButton, {
65
69
  Icon: Icon,
66
70
  icon: "MaterialIcons/add",
@@ -48,4 +48,4 @@ const Surface = _ref => {
48
48
  }), children);
49
49
  };
50
50
 
51
- export default withTheme(Surface); // fix bullshit
51
+ export default withTheme(Surface);
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp } from "@draftbit/types";
2
2
  const SEED_DATA_PROPS = {
3
3
  label: {
4
4
  label: "Label",
@@ -10,6 +10,12 @@ const SEED_DATA_PROPS = {
10
10
  required: true,
11
11
  group: GROUPS.data
12
12
  },
13
+ labelSize: createNumberProp({
14
+ label: "Label Size"
15
+ }),
16
+ labelColor: createColorProp({
17
+ label: "Label Color"
18
+ }),
13
19
  mode: {
14
20
  label: "Mode",
15
21
  description: "Choose between date, time and datetime",
@@ -21,6 +27,12 @@ const SEED_DATA_PROPS = {
21
27
  options: ["date", "time", "datetime"],
22
28
  group: GROUPS.basic
23
29
  },
30
+ borderColor: createColorProp({
31
+ label: "Border Color"
32
+ }),
33
+ borderColorActive: createColorProp({
34
+ label: "Border Color"
35
+ }),
24
36
  format: {
25
37
  label: "Format",
26
38
  description: "Create an output format for the date.",
@@ -137,6 +149,7 @@ export const SEED_DATA = [{
137
149
  category: COMPONENT_TYPES.input,
138
150
  layout: null,
139
151
  triggers: [Triggers.OnDateChange],
152
+ StylesPanelSections: [StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Size, StylesPanelSections.Typography],
140
153
  props: { ...SEED_DATA_PROPS,
141
154
  type: {
142
155
  label: "Appearance",
@@ -1,10 +1,10 @@
1
- import { COMPONENT_TYPES, createIconSizeProp, createColorProp, createFieldNameProp, createStaticNumberProp, Triggers, BLOCK_STYLES_SECTIONS } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createIconSizeProp, createColorProp, createFieldNameProp, createStaticNumberProp, Triggers, BLOCK_STYLES_SECTIONS, StylesPanelSections } from "@draftbit/types";
2
2
  export const SEED_DATA = [{
3
3
  name: "Stepper",
4
4
  tag: "Stepper",
5
5
  description: "A component used to control the quantity of something",
6
6
  category: COMPONENT_TYPES.control,
7
- stylesPanelSections: BLOCK_STYLES_SECTIONS,
7
+ stylesPanelSections: [StylesPanelSections.Typography, ...BLOCK_STYLES_SECTIONS],
8
8
  layout: {},
9
9
  triggers: [Triggers.OnChange],
10
10
  props: {
@@ -16,7 +16,7 @@ const SEED_DATA_PROPS = {
16
16
  description: "Can automatically capitalize sentences, words, and characters (Default: none).",
17
17
  editable: true,
18
18
  required: false,
19
- defaultValue: null,
19
+ defaultValue: "none",
20
20
  options: ["none", "sentences", "words", "characters"],
21
21
  formType: FORM_TYPES.flatArray,
22
22
  propType: PROP_TYPES.STRING
@@ -94,7 +94,7 @@ export const SEED_DATA = [{
94
94
  description: "Can automatically capitalize sentences, words, and characters (Default: none).",
95
95
  editable: true,
96
96
  required: false,
97
- defaultValue: null,
97
+ defaultValue: "none",
98
98
  options: ["none", "sentences", "words", "characters"],
99
99
  formType: FORM_TYPES.flatArray,
100
100
  propType: PROP_TYPES.STRING
@@ -15,10 +15,14 @@ declare type Props = {
15
15
  mode?: "date" | "time" | "datetime";
16
16
  type?: "solid" | "underline";
17
17
  label?: string;
18
+ labelSize?: number;
19
+ labelColor: string;
18
20
  placeholder?: string;
19
21
  leftIconName?: string;
20
22
  leftIconMode?: "outset" | "inset";
21
23
  rightIconName?: string;
24
+ borderColor?: string;
25
+ borderColorActive?: string;
22
26
  } & IconSlot & TextInputProps;
23
27
  declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<Props>, "theme"> & {
24
28
  theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
@@ -7,8 +7,7 @@ declare type Props = {
7
7
  max: number;
8
8
  value?: number;
9
9
  defaultValue?: number;
10
- style?: StyleProp<ViewStyle>;
11
- typeStyle?: StyleProp<TextStyle>;
10
+ style?: StyleProp<ViewStyle | TextStyle>;
12
11
  iconSize: number;
13
12
  iconColor?: string;
14
13
  onChange?: (value: number) => void;
@@ -5,6 +5,7 @@ export declare const SEED_DATA: {
5
5
  category: string;
6
6
  layout: null;
7
7
  triggers: string[];
8
+ StylesPanelSections: string[];
8
9
  props: {
9
10
  type: {
10
11
  label: string;
@@ -27,6 +28,27 @@ export declare const SEED_DATA: {
27
28
  required: boolean;
28
29
  group: string;
29
30
  };
31
+ labelSize: {
32
+ label: string;
33
+ description: string;
34
+ formType: string;
35
+ propType: string;
36
+ group: string;
37
+ defaultValue: null;
38
+ editable: boolean;
39
+ required: boolean;
40
+ step: number;
41
+ };
42
+ labelColor: {
43
+ group: string;
44
+ label: string;
45
+ description: string;
46
+ editable: boolean;
47
+ required: boolean;
48
+ defaultValue: null;
49
+ formType: string;
50
+ propType: string;
51
+ };
30
52
  mode: {
31
53
  label: string;
32
54
  description: string;
@@ -38,6 +60,26 @@ export declare const SEED_DATA: {
38
60
  options: string[];
39
61
  group: string;
40
62
  };
63
+ borderColor: {
64
+ group: string;
65
+ label: string;
66
+ description: string;
67
+ editable: boolean;
68
+ required: boolean;
69
+ defaultValue: null;
70
+ formType: string;
71
+ propType: string;
72
+ };
73
+ borderColorActive: {
74
+ group: string;
75
+ label: string;
76
+ description: string;
77
+ editable: boolean;
78
+ required: boolean;
79
+ defaultValue: null;
80
+ formType: string;
81
+ propType: string;
82
+ };
41
83
  format: {
42
84
  label: string;
43
85
  description: string;
@@ -64,7 +64,7 @@ export declare const SEED_DATA: ({
64
64
  description: string;
65
65
  editable: boolean;
66
66
  required: boolean;
67
- defaultValue: null;
67
+ defaultValue: string;
68
68
  options: string[];
69
69
  formType: string;
70
70
  propType: string;
@@ -371,7 +371,7 @@ export declare const SEED_DATA: ({
371
371
  description: string;
372
372
  editable: boolean;
373
373
  required: boolean;
374
- defaultValue: null;
374
+ defaultValue: string;
375
375
  options: string[];
376
376
  formType: string;
377
377
  propType: string;
@@ -229,7 +229,7 @@ export declare const SEED_DATA: {
229
229
  description: string;
230
230
  editable: boolean;
231
231
  required: boolean;
232
- defaultValue: null;
232
+ defaultValue: string;
233
233
  options: string[];
234
234
  formType: string;
235
235
  propType: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.4.4-131f72.2+131f72d",
3
+ "version": "46.4.4-1a94b9.2+1a94b98",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -41,7 +41,7 @@
41
41
  "dependencies": {
42
42
  "@date-io/date-fns": "^1.3.13",
43
43
  "@draftbit/react-theme-provider": "^2.1.1",
44
- "@draftbit/types": "^46.4.4-131f72.2+131f72d",
44
+ "@draftbit/types": "^46.4.4-1a94b9.2+1a94b98",
45
45
  "@material-ui/core": "^4.11.0",
46
46
  "@material-ui/pickers": "^3.2.10",
47
47
  "@react-native-community/slider": "4.2.3",
@@ -81,5 +81,5 @@
81
81
  ]
82
82
  ]
83
83
  },
84
- "gitHead": "131f72d4135d0fa98ccab5578bc8204fa1295afe"
84
+ "gitHead": "1a94b98f4a05267640e0d5c28bcff83686d98626"
85
85
  }
@@ -6,6 +6,7 @@ import { withTheme } from "../../theming";
6
6
  import Portal from "../Portal/Portal";
7
7
  import Touchable from "../Touchable";
8
8
  import DateTimePicker from "./DatePickerComponent";
9
+ import { extractStyles } from "../../utilities";
9
10
  const AnimatedText = Animated.createAnimatedComponent(Text);
10
11
  const FOCUS_ANIMATION_DURATION = 150;
11
12
  const BLUR_ANIMATION_DURATION = 180;
@@ -24,7 +25,7 @@ const MONTHS = [
24
25
  "November",
25
26
  "December",
26
27
  ];
27
- const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disabledOpacity }, date, onDateChange = () => { }, defaultValue, disabled = false, mode = "date", format, type = "underline", leftIconName, rightIconName, leftIconMode = "inset", label, placeholder, ...props }) => {
28
+ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disabledOpacity }, date, onDateChange = () => { }, defaultValue, disabled = false, mode = "date", format, type = "underline", leftIconName, rightIconName, leftIconMode = "inset", label, labelSize, labelColor, placeholder, borderColor: inputBorderColor, borderColorActive: inputBorderColorActive, ...props }) => {
28
29
  const [value, setValue] = React.useState(date || defaultValue);
29
30
  React.useEffect(() => {
30
31
  if (defaultValue != null) {
@@ -36,6 +37,7 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
36
37
  const [placeholder1, setPlaceholder1] = React.useState("");
37
38
  const [focused, setFocused] = React.useState(false);
38
39
  const [labelLayout, setLabelLayout] = React.useState({ measured: false, width: 0 });
40
+ const { textStyles } = extractStyles(style);
39
41
  const getValidDate = () => {
40
42
  if (!value) {
41
43
  return new Date();
@@ -125,8 +127,10 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
125
127
  };
126
128
  const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);
127
129
  const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);
128
- const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;
129
- const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;
130
+ const MAXIMIZED_LABEL_FONT_SIZE = (textStyles === null || textStyles === void 0 ? void 0 : textStyles.fontSize) || typography.subtitle1.fontSize;
131
+ const MINIMIZED_LABEL_FONT_SIZE = labelSize
132
+ ? labelSize
133
+ : typography.caption.fontSize;
130
134
  const hasActiveOutline = focused;
131
135
  let inputTextColor, activeColor, underlineColor, borderColor, placeholderColor, containerStyle, backgroundColor, inputStyle;
132
136
  inputTextColor = colors.strong;
@@ -138,9 +142,9 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
138
142
  backgroundColor = colors.divider;
139
143
  }
140
144
  else {
141
- activeColor = colors.primary;
142
- placeholderColor = borderColor = colors.light;
143
- underlineColor = colors.light;
145
+ activeColor = inputBorderColorActive || colors.primary;
146
+ placeholderColor = borderColor = inputBorderColor || colors.light;
147
+ underlineColor = inputBorderColor || colors.light;
144
148
  backgroundColor = colors.background;
145
149
  }
146
150
  const { lineHeight, ...subtitle1 } = typography.subtitle1;
@@ -202,6 +206,7 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
202
206
  const labelStyle = {
203
207
  ...typography.subtitle1,
204
208
  top: type === "solid" ? 16 : 0,
209
+ fontFamily: textStyles === null || textStyles === void 0 ? void 0 : textStyles.fontFamily,
205
210
  left: leftIconName && leftIconMode === "inset"
206
211
  ? ICON_SIZE + (type === "solid" ? 16 : 12)
207
212
  : 0,
@@ -245,6 +250,7 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
245
250
  styles.input,
246
251
  inputStyle,
247
252
  type === "solid" ? { marginHorizontal: 12 } : {},
253
+ textStyles,
248
254
  ];
249
255
  // const render = (props) => <NativeTextInput {...props} />;
250
256
  return (React.createElement(View, { style: [styles.container, style] },
@@ -282,7 +288,7 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
282
288
  type === "solid" ? { paddingHorizontal: 12 } : {},
283
289
  labelStyle,
284
290
  {
285
- color: colors.light,
291
+ color: labelColor || colors.light,
286
292
  opacity: labeled.interpolate({
287
293
  inputRange: [0, 1],
288
294
  outputRange: [hasActiveOutline ? 1 : 0, 0],
@@ -294,7 +300,7 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
294
300
  type === "solid" ? { paddingHorizontal: 12 } : {},
295
301
  labelStyle,
296
302
  {
297
- color: placeholderColor,
303
+ color: labelColor || placeholder,
298
304
  opacity: hasActiveOutline ? labeled : 1,
299
305
  },
300
306
  ], numberOfLines: 1 }, label))) : null,
@@ -23,6 +23,7 @@ import DateTimePicker from "./DatePickerComponent";
23
23
 
24
24
  import type { Theme } from "../../styles/DefaultTheme";
25
25
  import type { IconSlot } from "../../interfaces/Icon";
26
+ import { extractStyles } from "../../utilities";
26
27
 
27
28
  const AnimatedText = Animated.createAnimatedComponent(Text);
28
29
 
@@ -47,10 +48,14 @@ type Props = {
47
48
  mode?: "date" | "time" | "datetime";
48
49
  type?: "solid" | "underline";
49
50
  label?: string;
51
+ labelSize?: number;
52
+ labelColor: string;
50
53
  placeholder?: string;
51
54
  leftIconName?: string;
52
55
  leftIconMode?: "outset" | "inset";
53
56
  rightIconName?: string;
57
+ borderColor?: string;
58
+ borderColorActive?: string;
54
59
  } & IconSlot &
55
60
  TextInputProps;
56
61
 
@@ -84,7 +89,11 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
84
89
  rightIconName,
85
90
  leftIconMode = "inset",
86
91
  label,
92
+ labelSize,
93
+ labelColor,
87
94
  placeholder,
95
+ borderColor: inputBorderColor,
96
+ borderColorActive: inputBorderColorActive,
88
97
  ...props
89
98
  }) => {
90
99
  const [value, setValue] = React.useState<any>(date || defaultValue);
@@ -106,6 +115,8 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
106
115
  width: number;
107
116
  }>({ measured: false, width: 0 });
108
117
 
118
+ const { textStyles } = extractStyles(style);
119
+
109
120
  const getValidDate = (): Date => {
110
121
  if (!value) {
111
122
  return new Date();
@@ -211,8 +222,11 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
211
222
 
212
223
  const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);
213
224
  const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);
214
- const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;
215
- const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;
225
+ const MAXIMIZED_LABEL_FONT_SIZE =
226
+ textStyles?.fontSize || typography.subtitle1.fontSize;
227
+ const MINIMIZED_LABEL_FONT_SIZE = labelSize
228
+ ? labelSize
229
+ : typography.caption.fontSize;
216
230
 
217
231
  const hasActiveOutline = focused;
218
232
 
@@ -233,9 +247,9 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
233
247
  underlineColor = "transparent";
234
248
  backgroundColor = colors.divider;
235
249
  } else {
236
- activeColor = colors.primary;
237
- placeholderColor = borderColor = colors.light;
238
- underlineColor = colors.light;
250
+ activeColor = inputBorderColorActive || colors.primary;
251
+ placeholderColor = borderColor = inputBorderColor || colors.light;
252
+ underlineColor = inputBorderColor || colors.light;
239
253
  backgroundColor = colors.background;
240
254
  }
241
255
 
@@ -306,6 +320,7 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
306
320
  const labelStyle = {
307
321
  ...typography.subtitle1,
308
322
  top: type === "solid" ? 16 : 0,
323
+ fontFamily: textStyles?.fontFamily,
309
324
  left:
310
325
  leftIconName && leftIconMode === "inset"
311
326
  ? ICON_SIZE + (type === "solid" ? 16 : 12)
@@ -351,6 +366,7 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
351
366
  styles.input,
352
367
  inputStyle,
353
368
  type === "solid" ? { marginHorizontal: 12 } : {},
369
+ textStyles,
354
370
  ];
355
371
 
356
372
  // const render = (props) => <NativeTextInput {...props} />;
@@ -406,7 +422,7 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
406
422
  type === "solid" ? { paddingHorizontal: 12 } : {},
407
423
  labelStyle,
408
424
  {
409
- color: colors.light,
425
+ color: labelColor || colors.light,
410
426
  opacity: labeled.interpolate({
411
427
  inputRange: [0, 1],
412
428
  outputRange: [hasActiveOutline ? 1 : 0, 0],
@@ -423,7 +439,7 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
423
439
  type === "solid" ? { paddingHorizontal: 12 } : {},
424
440
  labelStyle,
425
441
  {
426
- color: placeholderColor,
442
+ color: labelColor || placeholder,
427
443
  opacity: hasActiveOutline ? labeled : 1,
428
444
  },
429
445
  ]}
@@ -194,7 +194,6 @@ const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style,
194
194
  React.createElement(NativePicker, { style: styles.iosNativePicker, selectedValue: internalValue, onValueChange: handleValueChange }, pickerOptions.map((option) => (React.createElement(NativePicker.Item, { label: option.label, value: option.value, key: option.value })))))))) : null,
195
195
  !isIos && pickerVisible ? (React.createElement(NativePicker, { enabled: pickerVisible, selectedValue: internalValue, onValueChange: handleValueChange, style: styles.nonIosPicker, ref: androidPickerRef, onBlur: () => setPickerVisible(false) }, pickerOptions.map((option) => (React.createElement(NativePicker.Item, { label: option.label, value: option.value, key: option.value }))))) : null));
196
196
  };
197
- export default withTheme(Picker);
198
197
  const styles = StyleSheet.create({
199
198
  marginsContainer: {
200
199
  alignSelf: "stretch",
@@ -265,3 +264,4 @@ const styles = StyleSheet.create({
265
264
  maxHeight: deviceHeight,
266
265
  },
267
266
  });
267
+ export default withTheme(Picker);
@@ -406,8 +406,6 @@ const Picker: React.FC<PickerProps> = ({
406
406
  );
407
407
  };
408
408
 
409
- export default withTheme(Picker);
410
-
411
409
  const styles = StyleSheet.create({
412
410
  marginsContainer: {
413
411
  alignSelf: "stretch",
@@ -478,3 +476,5 @@ const styles = StyleSheet.create({
478
476
  maxHeight: deviceHeight,
479
477
  },
480
478
  });
479
+
480
+ export default withTheme(Picker);
@@ -3,7 +3,9 @@ import { View, Text } from "react-native";
3
3
  import { isNumber } from "lodash";
4
4
  import { withTheme } from "../theming";
5
5
  import IconButton from "./IconButton";
6
- const Stepper = ({ min = -Infinity, max = Infinity, value: valueProp, defaultValue, style, typeStyle, iconSize = 24, iconColor, onChange, theme: { colors, typography }, Icon, }) => {
6
+ import { extractStyles } from "../utilities";
7
+ const Stepper = ({ min = -Infinity, max = Infinity, value: valueProp, defaultValue, style, iconSize = 24, iconColor, onChange, theme: { colors, typography }, Icon, }) => {
8
+ const { viewStyles, textStyles } = extractStyles(style);
7
9
  const [value, setValue] = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0);
8
10
  const isValidValue = (valueArg) => valueArg >= min && valueArg <= max;
9
11
  const handlePlusOrMinus = (type) => {
@@ -22,7 +24,7 @@ const Stepper = ({ min = -Infinity, max = Infinity, value: valueProp, defaultVal
22
24
  }
23
25
  // eslint-disable-next-line react-hooks/exhaustive-deps
24
26
  }, [valueProp]);
25
- return (React.createElement(View, { style: [{ flexDirection: "row" }, style] },
27
+ return (React.createElement(View, { style: [{ flexDirection: "row" }, viewStyles] },
26
28
  React.createElement(IconButton, { Icon: Icon, icon: "MaterialIcons/remove", onPress: () => handlePlusOrMinus("minus"), size: iconSize, color: iconColor, disabled: value === min, style: { opacity: value === min ? 0.5 : 1 } }),
27
29
  React.createElement(Text, { style: [
28
30
  typography.body1,
@@ -32,7 +34,7 @@ const Stepper = ({ min = -Infinity, max = Infinity, value: valueProp, defaultVal
32
34
  color: colors.medium,
33
35
  marginHorizontal: 8,
34
36
  },
35
- typeStyle,
37
+ textStyles,
36
38
  ] }, value),
37
39
  React.createElement(IconButton, { Icon: Icon, icon: "MaterialIcons/add", onPress: () => handlePlusOrMinus("plus"), size: iconSize, color: iconColor, disabled: value === max, style: { opacity: value === max ? 0.5 : 1 } })));
38
40
  };
@@ -6,14 +6,14 @@ import { withTheme } from "../theming";
6
6
  import type { Theme } from "../styles/DefaultTheme";
7
7
  import type { IconSlot } from "../interfaces/Icon";
8
8
  import IconButton from "./IconButton";
9
+ import { extractStyles } from "../utilities";
9
10
 
10
11
  type Props = {
11
12
  min: number;
12
13
  max: number;
13
14
  value?: number;
14
15
  defaultValue?: number;
15
- style?: StyleProp<ViewStyle>;
16
- typeStyle?: StyleProp<TextStyle>;
16
+ style?: StyleProp<ViewStyle | TextStyle>;
17
17
  iconSize: number;
18
18
  iconColor?: string;
19
19
  onChange?: (value: number) => void;
@@ -26,13 +26,13 @@ const Stepper: FC<Props> = ({
26
26
  value: valueProp,
27
27
  defaultValue,
28
28
  style,
29
- typeStyle,
30
29
  iconSize = 24,
31
30
  iconColor,
32
31
  onChange,
33
32
  theme: { colors, typography },
34
33
  Icon,
35
34
  }) => {
35
+ const { viewStyles, textStyles } = extractStyles(style);
36
36
  const [value, setValue] = useState(defaultValue ?? 0);
37
37
 
38
38
  const isValidValue = (valueArg: number) => valueArg >= min && valueArg <= max;
@@ -59,7 +59,7 @@ const Stepper: FC<Props> = ({
59
59
  }, [valueProp]);
60
60
 
61
61
  return (
62
- <View style={[{ flexDirection: "row" }, style]}>
62
+ <View style={[{ flexDirection: "row" }, viewStyles]}>
63
63
  <IconButton
64
64
  Icon={Icon}
65
65
  icon="MaterialIcons/remove"
@@ -79,7 +79,7 @@ const Stepper: FC<Props> = ({
79
79
  color: colors.medium,
80
80
  marginHorizontal: 8,
81
81
  },
82
- typeStyle,
82
+ textStyles,
83
83
  ]}
84
84
  >
85
85
  {value}
@@ -30,4 +30,3 @@ const Surface = ({ elevation: propElevation, style, theme, children, ...rest })
30
30
  ] }, children));
31
31
  };
32
32
  export default withTheme(Surface);
33
- // fix bullshit
@@ -66,4 +66,3 @@ const Surface: React.FC<React.PropsWithChildren<Props>> = ({
66
66
  };
67
67
 
68
68
  export default withTheme(Surface);
69
- // fix bullshit
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp, } from "@draftbit/types";
2
2
  const SEED_DATA_PROPS = {
3
3
  label: {
4
4
  label: "Label",
@@ -10,6 +10,12 @@ const SEED_DATA_PROPS = {
10
10
  required: true,
11
11
  group: GROUPS.data,
12
12
  },
13
+ labelSize: createNumberProp({
14
+ label: "Label Size",
15
+ }),
16
+ labelColor: createColorProp({
17
+ label: "Label Color",
18
+ }),
13
19
  mode: {
14
20
  label: "Mode",
15
21
  description: "Choose between date, time and datetime",
@@ -21,6 +27,12 @@ const SEED_DATA_PROPS = {
21
27
  options: ["date", "time", "datetime"],
22
28
  group: GROUPS.basic,
23
29
  },
30
+ borderColor: createColorProp({
31
+ label: "Border Color",
32
+ }),
33
+ borderColorActive: createColorProp({
34
+ label: "Border Color",
35
+ }),
24
36
  format: {
25
37
  label: "Format",
26
38
  description: "Create an output format for the date.",
@@ -139,6 +151,14 @@ export const SEED_DATA = [
139
151
  category: COMPONENT_TYPES.input,
140
152
  layout: null,
141
153
  triggers: [Triggers.OnDateChange],
154
+ StylesPanelSections: [
155
+ StylesPanelSections.Background,
156
+ StylesPanelSections.Borders,
157
+ StylesPanelSections.MarginsAndPaddings,
158
+ StylesPanelSections.Position,
159
+ StylesPanelSections.Size,
160
+ StylesPanelSections.Typography,
161
+ ],
142
162
  props: {
143
163
  ...SEED_DATA_PROPS,
144
164
  type: {
@@ -5,6 +5,9 @@ import {
5
5
  FIELD_NAME,
6
6
  GROUPS,
7
7
  Triggers,
8
+ StylesPanelSections,
9
+ createNumberProp,
10
+ createColorProp,
8
11
  } from "@draftbit/types";
9
12
 
10
13
  const SEED_DATA_PROPS = {
@@ -18,6 +21,12 @@ const SEED_DATA_PROPS = {
18
21
  required: true,
19
22
  group: GROUPS.data,
20
23
  },
24
+ labelSize: createNumberProp({
25
+ label: "Label Size",
26
+ }),
27
+ labelColor: createColorProp({
28
+ label: "Label Color",
29
+ }),
21
30
  mode: {
22
31
  label: "Mode",
23
32
  description: "Choose between date, time and datetime",
@@ -29,6 +38,12 @@ const SEED_DATA_PROPS = {
29
38
  options: ["date", "time", "datetime"],
30
39
  group: GROUPS.basic,
31
40
  },
41
+ borderColor: createColorProp({
42
+ label: "Border Color",
43
+ }),
44
+ borderColorActive: createColorProp({
45
+ label: "Border Color",
46
+ }),
32
47
  format: {
33
48
  label: "Format",
34
49
  description: "Create an output format for the date.",
@@ -150,6 +165,14 @@ export const SEED_DATA = [
150
165
  category: COMPONENT_TYPES.input,
151
166
  layout: null,
152
167
  triggers: [Triggers.OnDateChange],
168
+ StylesPanelSections: [
169
+ StylesPanelSections.Background,
170
+ StylesPanelSections.Borders,
171
+ StylesPanelSections.MarginsAndPaddings,
172
+ StylesPanelSections.Position,
173
+ StylesPanelSections.Size,
174
+ StylesPanelSections.Typography,
175
+ ],
153
176
  props: {
154
177
  ...SEED_DATA_PROPS,
155
178
  type: {
@@ -1,11 +1,14 @@
1
- import { COMPONENT_TYPES, createIconSizeProp, createColorProp, createFieldNameProp, createStaticNumberProp, Triggers, BLOCK_STYLES_SECTIONS, } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createIconSizeProp, createColorProp, createFieldNameProp, createStaticNumberProp, Triggers, BLOCK_STYLES_SECTIONS, StylesPanelSections, } from "@draftbit/types";
2
2
  export const SEED_DATA = [
3
3
  {
4
4
  name: "Stepper",
5
5
  tag: "Stepper",
6
6
  description: "A component used to control the quantity of something",
7
7
  category: COMPONENT_TYPES.control,
8
- stylesPanelSections: BLOCK_STYLES_SECTIONS,
8
+ stylesPanelSections: [
9
+ StylesPanelSections.Typography,
10
+ ...BLOCK_STYLES_SECTIONS,
11
+ ],
9
12
  layout: {},
10
13
  triggers: [Triggers.OnChange],
11
14
  props: {
@@ -6,6 +6,7 @@ import {
6
6
  createStaticNumberProp,
7
7
  Triggers,
8
8
  BLOCK_STYLES_SECTIONS,
9
+ StylesPanelSections,
9
10
  } from "@draftbit/types";
10
11
 
11
12
  export const SEED_DATA = [
@@ -14,7 +15,10 @@ export const SEED_DATA = [
14
15
  tag: "Stepper",
15
16
  description: "A component used to control the quantity of something",
16
17
  category: COMPONENT_TYPES.control,
17
- stylesPanelSections: BLOCK_STYLES_SECTIONS,
18
+ stylesPanelSections: [
19
+ StylesPanelSections.Typography,
20
+ ...BLOCK_STYLES_SECTIONS,
21
+ ],
18
22
  layout: {},
19
23
  triggers: [Triggers.OnChange],
20
24
  props: {
@@ -16,7 +16,7 @@ const SEED_DATA_PROPS = {
16
16
  description: "Can automatically capitalize sentences, words, and characters (Default: none).",
17
17
  editable: true,
18
18
  required: false,
19
- defaultValue: null,
19
+ defaultValue: "none",
20
20
  options: ["none", "sentences", "words", "characters"],
21
21
  formType: FORM_TYPES.flatArray,
22
22
  propType: PROP_TYPES.STRING,
@@ -30,7 +30,7 @@ const SEED_DATA_PROPS = {
30
30
  "Can automatically capitalize sentences, words, and characters (Default: none).",
31
31
  editable: true,
32
32
  required: false,
33
- defaultValue: null,
33
+ defaultValue: "none",
34
34
  options: ["none", "sentences", "words", "characters"],
35
35
  formType: FORM_TYPES.flatArray,
36
36
  propType: PROP_TYPES.STRING,
@@ -104,7 +104,7 @@ export const SEED_DATA = [
104
104
  description: "Can automatically capitalize sentences, words, and characters (Default: none).",
105
105
  editable: true,
106
106
  required: false,
107
- defaultValue: null,
107
+ defaultValue: "none",
108
108
  options: ["none", "sentences", "words", "characters"],
109
109
  formType: FORM_TYPES.flatArray,
110
110
  propType: PROP_TYPES.STRING,
@@ -121,7 +121,7 @@ export const SEED_DATA = [
121
121
  "Can automatically capitalize sentences, words, and characters (Default: none).",
122
122
  editable: true,
123
123
  required: false,
124
- defaultValue: null,
124
+ defaultValue: "none",
125
125
  options: ["none", "sentences", "words", "characters"],
126
126
  formType: FORM_TYPES.flatArray,
127
127
  propType: PROP_TYPES.STRING,