@draftbit/core 46.7.9-b47217.2 → 46.7.9-bca9cf.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 (34) hide show
  1. package/lib/commonjs/components/DatePicker/DatePicker.js +6 -0
  2. package/lib/commonjs/components/DeprecatedFAB.js +3 -21
  3. package/lib/commonjs/components/Elevation.js +14 -2
  4. package/lib/commonjs/components/Picker/Picker.js +10 -3
  5. package/lib/commonjs/mappings/DatePicker.js +6 -1
  6. package/lib/commonjs/mappings/Picker.js +5 -0
  7. package/lib/commonjs/styles/overlay.js +3 -1
  8. package/lib/module/components/DatePicker/DatePicker.js +7 -1
  9. package/lib/module/components/Picker/Picker.js +11 -4
  10. package/lib/module/mappings/DatePicker.js +7 -2
  11. package/lib/module/mappings/Picker.js +6 -1
  12. package/lib/typescript/src/components/DatePicker/DatePicker.d.ts +1 -0
  13. package/lib/typescript/src/components/DatePicker/DatePicker.d.ts.map +1 -1
  14. package/lib/typescript/src/components/Picker/Picker.d.ts +1 -0
  15. package/lib/typescript/src/components/Picker/Picker.d.ts.map +1 -1
  16. package/lib/typescript/src/mappings/DatePicker.d.ts +10 -0
  17. package/lib/typescript/src/mappings/DatePicker.d.ts.map +1 -1
  18. package/lib/typescript/src/mappings/Picker.d.ts +10 -0
  19. package/lib/typescript/src/mappings/Picker.d.ts.map +1 -1
  20. package/package.json +3 -3
  21. package/src/components/DatePicker/DatePicker.js +7 -2
  22. package/src/components/DatePicker/DatePicker.tsx +9 -0
  23. package/src/components/Picker/Picker.js +9 -3
  24. package/src/components/Picker/Picker.tsx +14 -2
  25. package/src/mappings/DatePicker.js +6 -1
  26. package/src/mappings/DatePicker.ts +6 -0
  27. package/src/mappings/Picker.js +6 -1
  28. package/src/mappings/Picker.ts +6 -0
  29. package/lib/commonjs/mappings/DatePickerModal.js +0 -145
  30. package/lib/module/mappings/DatePickerModal.js +0 -139
  31. package/lib/typescript/src/mappings/DatePickerModal.d.ts +0 -241
  32. package/lib/typescript/src/mappings/DatePickerModal.d.ts.map +0 -1
  33. package/src/mappings/DatePickerModal.js +0 -146
  34. package/src/mappings/DatePickerModal.ts +0 -168
@@ -48,6 +48,7 @@ const DatePicker = _ref => {
48
48
  placeholder,
49
49
  borderColor: inputBorderColor,
50
50
  borderColorActive: inputBorderColorActive,
51
+ autoDismissKeyboard = true,
51
52
  ...props
52
53
  } = _ref;
53
54
  const [value, setValue] = React.useState(date || defaultValue);
@@ -143,6 +144,11 @@ const DatePicker = _ref => {
143
144
  clearTimeout(_showPlaceholder());
144
145
  };
145
146
  }, [focused, label, placeholder]);
147
+ React.useEffect(() => {
148
+ if (pickerVisible && autoDismissKeyboard) {
149
+ _reactNative.Keyboard.dismiss();
150
+ }
151
+ }, [pickerVisible, autoDismissKeyboard]);
146
152
  const _handleFocus = () => {
147
153
  if (disabled) {
148
154
  return;
@@ -14,6 +14,7 @@ var _theming = require("../theming");
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  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); }
16
16
  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; }
17
+ 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); }
17
18
  const FAB = _ref => {
18
19
  let {
19
20
  Icon,
@@ -105,8 +106,7 @@ const FAB = _ref => {
105
106
  style: [{
106
107
  elevation
107
108
  }, style]
108
- }, /*#__PURE__*/React.createElement(_reactNative.Pressable, {
109
- ...rest,
109
+ }, /*#__PURE__*/React.createElement(_reactNative.Pressable, _extends({}, rest, {
110
110
  onPress: onPress,
111
111
  accessibilityState: {
112
112
  disabled
@@ -114,7 +114,7 @@ const FAB = _ref => {
114
114
  accessibilityRole: "button",
115
115
  disabled: disabled || loading,
116
116
  style: buttonStyles
117
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
117
+ }), /*#__PURE__*/React.createElement(_reactNative.View, {
118
118
  style: styles.content
119
119
  }, icon && loading !== true ? /*#__PURE__*/React.createElement(_reactNative.View, {
120
120
  style: iconStyle
@@ -154,22 +154,4 @@ const styles = _reactNative.StyleSheet.create({
154
154
  }
155
155
  });
156
156
  var _default = (0, _theming.withTheme)(FAB);
157
- exports.default = _default;ow",
158
- alignItems: "center",
159
- justifyContent: "center"
160
- },
161
- icon: {
162
- alignItems: "center",
163
- justifyContent: "center",
164
- width: _Config.default.buttonIconSize
165
- },
166
- fixed: {
167
- left: 0,
168
- right: 0,
169
- bottom: 0,
170
- height: 64,
171
- borderRadius: 0
172
- }
173
- });
174
- var _default = (0, _theming.withTheme)(FAB);
175
157
  exports.default = _default;
@@ -11,7 +11,6 @@ var _theming = require("../theming");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  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); }
13
13
  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; }
14
- 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); }
15
14
  /* directly copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx#L62 */
16
15
  const Elevation = _ref => {
17
16
  let {
@@ -28,11 +27,24 @@ const Elevation = _ref => {
28
27
  colors
29
28
  } = theme;
30
29
  const borderRadius = radius;
31
- return /*#__PURE__*/React.createElement(_reactNative.Animated.View, _extends({}, rest, {
30
+ return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
31
+ ...rest,
32
32
  style: [{
33
33
  borderRadius,
34
34
  backgroundColor: colors.surface
35
35
  }, elevation ? (0, _shadow.default)(elevation) : null, style]
36
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
37
+ style: {
38
+ overflow: "hidden",
39
+ borderRadius
40
+ }
41
+ }, children));
42
+ };
43
+ var _default = (0, _theming.withTheme)(Elevation);
44
+ exports.default = _default;
45
+ borderRadius,
46
+ backgroundColor: colors.surface
47
+ }, elevation ? (0, _shadow.default)(elevation) : null, style]
36
48
  }), /*#__PURE__*/React.createElement(_reactNative.View, {
37
49
  style: {
38
50
  overflow: "hidden",
@@ -42,6 +42,7 @@ const {
42
42
  height: deviceHeight
43
43
  } = _reactNative.Dimensions.get("screen");
44
44
  const isIos = _reactNative.Platform.OS === "ios";
45
+ const isWeb = _reactNative.Platform.OS === "web";
45
46
  const unstyledColor = "rgba(165, 173, 183, 1)";
46
47
  const disabledColor = "rgb(240, 240, 240)";
47
48
  const errorColor = "rgba(255, 69, 100, 1)";
@@ -65,7 +66,8 @@ const Picker = _ref => {
65
66
  leftIconName,
66
67
  placeholderTextColor = unstyledColor,
67
68
  rightIconName,
68
- type = "solid"
69
+ type = "solid",
70
+ autoDismissKeyboard = true
69
71
  } = _ref;
70
72
  const androidPickerRef = React.useRef(undefined);
71
73
  const [internalValue, setInternalValue] = React.useState(value || defaultValue);
@@ -89,6 +91,11 @@ const Picker = _ref => {
89
91
  androidPickerRef === null || androidPickerRef === void 0 ? void 0 : (_androidPickerRef$cur = androidPickerRef.current) === null || _androidPickerRef$cur === void 0 ? void 0 : _androidPickerRef$cur.focus();
90
92
  }
91
93
  }, [pickerVisible, androidPickerRef]);
94
+ React.useEffect(() => {
95
+ if (pickerVisible && autoDismissKeyboard) {
96
+ _reactNative.Keyboard.dismiss();
97
+ }
98
+ }, [pickerVisible, autoDismissKeyboard]);
92
99
  const normalizedOptions = normalizeOptions(options);
93
100
  const pickerOptions = placeholder ? [{
94
101
  value: placeholder,
@@ -233,8 +240,8 @@ const Picker = _ref => {
233
240
  label: option.label,
234
241
  value: option.value,
235
242
  key: option.value
236
- })))))) : null, !isIos && pickerVisible ? /*#__PURE__*/React.createElement(_picker.Picker, {
237
- enabled: pickerVisible,
243
+ })))))) : null, !isIos && (pickerVisible || isWeb) ? /*#__PURE__*/React.createElement(_picker.Picker, {
244
+ enabled: !disabled,
238
245
  selectedValue: internalValue,
239
246
  onValueChange: handleValueChange,
240
247
  style: styles.nonIosPicker,
@@ -169,7 +169,12 @@ const SEED_DATA = [{
169
169
  editable: true,
170
170
  required: true,
171
171
  group: _types.GROUPS.basic
172
- }
172
+ },
173
+ autoDismissKeyboard: (0, _types.createStaticBoolProp)({
174
+ label: "Auto dismiss keyboard",
175
+ description: "Automatically dismiss keyboard when DatePicker is opened",
176
+ defaultValue: true
177
+ })
173
178
  }
174
179
  }];
175
180
  exports.SEED_DATA = SEED_DATA;
@@ -142,6 +142,11 @@ const SEED_DATA = [{
142
142
  }),
143
143
  iconColor: (0, _types.createColorProp)({
144
144
  label: "Icon Color"
145
+ }),
146
+ autoDismissKeyboard: (0, _types.createStaticBoolProp)({
147
+ label: "Auto dismiss keyboard",
148
+ description: "Automatically dismiss keyboard when Picker is opened",
149
+ defaultValue: true
145
150
  })
146
151
  },
147
152
  layout: {}
@@ -15,6 +15,7 @@ function overlay(elevation) {
15
15
  let surfaceColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _DarkTheme.default.colors.surface;
16
16
  if (isAnimatedValue(elevation)) {
17
17
  const inputRange = [0, 1, 2, 3, 8, 24];
18
+
18
19
  // @ts-expect-error: TS doesn't seem to refine the type correctly
19
20
  return elevation.interpolate({
20
21
  inputRange,
@@ -23,6 +24,7 @@ function overlay(elevation) {
23
24
  })
24
25
  });
25
26
  }
27
+
26
28
  // @ts-expect-error: TS doesn't seem to refine the type correctly
27
29
  return calculateColor(surfaceColor, elevation);
28
30
  }
@@ -63,4 +65,4 @@ const elevationOverlayTransparency = {
63
65
  22: 15.72,
64
66
  23: 15.84,
65
67
  24: 16
66
- };};
68
+ };
@@ -1,6 +1,6 @@
1
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
2
  import * as React from "react";
3
- import { View, Animated, Text, StyleSheet, I18nManager, TextInput as NativeTextInput } from "react-native";
3
+ import { View, Animated, Text, StyleSheet, I18nManager, TextInput as NativeTextInput, Keyboard } from "react-native";
4
4
  import { useSafeAreaInsets } from "react-native-safe-area-context";
5
5
  import dateFormat from "dateformat";
6
6
  import { withTheme } from "../../theming";
@@ -39,6 +39,7 @@ const DatePicker = _ref => {
39
39
  placeholder,
40
40
  borderColor: inputBorderColor,
41
41
  borderColorActive: inputBorderColorActive,
42
+ autoDismissKeyboard = true,
42
43
  ...props
43
44
  } = _ref;
44
45
  const [value, setValue] = React.useState(date || defaultValue);
@@ -134,6 +135,11 @@ const DatePicker = _ref => {
134
135
  clearTimeout(_showPlaceholder());
135
136
  };
136
137
  }, [focused, label, placeholder]);
138
+ React.useEffect(() => {
139
+ if (pickerVisible && autoDismissKeyboard) {
140
+ Keyboard.dismiss();
141
+ }
142
+ }, [pickerVisible, autoDismissKeyboard]);
137
143
  const _handleFocus = () => {
138
144
  if (disabled) {
139
145
  return;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { View, StyleSheet, Text, Platform, Dimensions } from "react-native";
2
+ import { View, StyleSheet, Text, Platform, Dimensions, Keyboard } from "react-native";
3
3
  import { omit, pickBy, identity, isObject } from "lodash";
4
4
  import { SafeAreaView } from "react-native-safe-area-context";
5
5
  import { Picker as NativePicker } from "@react-native-picker/picker";
@@ -33,6 +33,7 @@ const {
33
33
  height: deviceHeight
34
34
  } = Dimensions.get("screen");
35
35
  const isIos = Platform.OS === "ios";
36
+ const isWeb = Platform.OS === "web";
36
37
  const unstyledColor = "rgba(165, 173, 183, 1)";
37
38
  const disabledColor = "rgb(240, 240, 240)";
38
39
  const errorColor = "rgba(255, 69, 100, 1)";
@@ -56,7 +57,8 @@ const Picker = _ref => {
56
57
  leftIconName,
57
58
  placeholderTextColor = unstyledColor,
58
59
  rightIconName,
59
- type = "solid"
60
+ type = "solid",
61
+ autoDismissKeyboard = true
60
62
  } = _ref;
61
63
  const androidPickerRef = React.useRef(undefined);
62
64
  const [internalValue, setInternalValue] = React.useState(value || defaultValue);
@@ -80,6 +82,11 @@ const Picker = _ref => {
80
82
  androidPickerRef === null || androidPickerRef === void 0 ? void 0 : (_androidPickerRef$cur = androidPickerRef.current) === null || _androidPickerRef$cur === void 0 ? void 0 : _androidPickerRef$cur.focus();
81
83
  }
82
84
  }, [pickerVisible, androidPickerRef]);
85
+ React.useEffect(() => {
86
+ if (pickerVisible && autoDismissKeyboard) {
87
+ Keyboard.dismiss();
88
+ }
89
+ }, [pickerVisible, autoDismissKeyboard]);
83
90
  const normalizedOptions = normalizeOptions(options);
84
91
  const pickerOptions = placeholder ? [{
85
92
  value: placeholder,
@@ -224,8 +231,8 @@ const Picker = _ref => {
224
231
  label: option.label,
225
232
  value: option.value,
226
233
  key: option.value
227
- })))))) : null, !isIos && pickerVisible ? /*#__PURE__*/React.createElement(NativePicker, {
228
- enabled: pickerVisible,
234
+ })))))) : null, !isIos && (pickerVisible || isWeb) ? /*#__PURE__*/React.createElement(NativePicker, {
235
+ enabled: !disabled,
229
236
  selectedValue: internalValue,
230
237
  onValueChange: handleValueChange,
231
238
  style: styles.nonIosPicker,
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp, createStaticBoolProp } from "@draftbit/types";
2
2
  const SEED_DATA_PROPS = {
3
3
  mode: {
4
4
  label: "Mode",
@@ -163,6 +163,11 @@ export const SEED_DATA = [{
163
163
  editable: true,
164
164
  required: true,
165
165
  group: GROUPS.basic
166
- }
166
+ },
167
+ autoDismissKeyboard: createStaticBoolProp({
168
+ label: "Auto dismiss keyboard",
169
+ description: "Automatically dismiss keyboard when DatePicker is opened",
170
+ defaultValue: true
171
+ })
167
172
  }
168
173
  }];
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, Triggers, GROUPS, FORM_TYPES, PROP_TYPES, FIELD_NAME, createIconSizeProp, createColorProp, StylesPanelSections } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, Triggers, GROUPS, FORM_TYPES, PROP_TYPES, FIELD_NAME, createIconSizeProp, createColorProp, StylesPanelSections, createStaticBoolProp } from "@draftbit/types";
2
2
  const SEED_DATA_PROPS = {
3
3
  label: {
4
4
  group: GROUPS.data,
@@ -136,6 +136,11 @@ export const SEED_DATA = [{
136
136
  }),
137
137
  iconColor: createColorProp({
138
138
  label: "Icon Color"
139
+ }),
140
+ autoDismissKeyboard: createStaticBoolProp({
141
+ label: "Auto dismiss keyboard",
142
+ description: "Automatically dismiss keyboard when Picker is opened",
143
+ defaultValue: true
139
144
  })
140
145
  },
141
146
  layout: {}
@@ -23,6 +23,7 @@ declare type Props = {
23
23
  rightIconName?: string;
24
24
  borderColor?: string;
25
25
  borderColorActive?: string;
26
+ autoDismissKeyboard?: boolean;
26
27
  } & IconSlot & TextInputProps;
27
28
  declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<Props>, "theme"> & {
28
29
  theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAKL,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EAKf,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAStD,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,KAAK,EAAE,KAAK,CAAC;IAMb,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,QAAQ,GACV,cAAc,CAAC;;;;AA+fjB,wBAAqC"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAKL,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EAMf,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAStD,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,KAAK,EAAE,KAAK,CAAC;IAMb,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,QAAQ,GACV,cAAc,CAAC;;;;AAsgBjB,wBAAqC"}
@@ -26,6 +26,7 @@ export declare type PickerProps = {
26
26
  placeholderTextColor?: string;
27
27
  rightIconName?: string;
28
28
  type?: "solid" | "underline";
29
+ autoDismissKeyboard?: boolean;
29
30
  theme: Theme;
30
31
  Icon: IconSlot["Icon"];
31
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../../../../src/components/Picker/Picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQtD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CACxB,CAAC;;;;AAiaF,wBAAiC"}
1
+ {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../../../../src/components/Picker/Picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAKL,SAAS,EACT,SAAS,EAGV,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQtD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CACxB,CAAC;;;;AA2aF,wBAAiC"}
@@ -18,6 +18,16 @@ export declare const SEED_DATA: {
18
18
  required: boolean;
19
19
  group: string;
20
20
  };
21
+ autoDismissKeyboard: {
22
+ label: string;
23
+ description: string;
24
+ formType: string;
25
+ propType: string;
26
+ defaultValue: boolean;
27
+ editable: boolean;
28
+ required: boolean;
29
+ group: string;
30
+ };
21
31
  mode: {
22
32
  label: string;
23
33
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/mappings/DatePicker.ts"],"names":[],"mappings":"AA+JA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BrB,CAAC"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/mappings/DatePicker.ts"],"names":[],"mappings":"AAgKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCrB,CAAC"}
@@ -40,6 +40,16 @@ export declare const SEED_DATA: {
40
40
  formType: string;
41
41
  propType: string;
42
42
  };
43
+ autoDismissKeyboard: {
44
+ label: string;
45
+ description: string;
46
+ formType: string;
47
+ propType: string;
48
+ defaultValue: boolean;
49
+ editable: boolean;
50
+ required: boolean;
51
+ group: string;
52
+ };
43
53
  label: {
44
54
  group: string;
45
55
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../../../src/mappings/Picker.ts"],"names":[],"mappings":"AA8HA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCrB,CAAC"}
1
+ {"version":3,"file":"Picker.d.ts","sourceRoot":"","sources":["../../../../src/mappings/Picker.ts"],"names":[],"mappings":"AA+HA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.7.9-b47217.2+b47217f",
3
+ "version": "46.7.9-bca9cf.2+bca9cfe",
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.7.9-b47217.2+b47217f",
44
+ "@draftbit/types": "^46.7.9-bca9cf.2+bca9cfe",
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",
@@ -91,5 +91,5 @@
91
91
  ]
92
92
  ]
93
93
  },
94
- "gitHead": "b47217fd8dbf71431b72eb41b8a4b4242ee666ac"
94
+ "gitHead": "bca9cfe13d7374bc05b2177e2f0be8e0b841ee8f"
95
95
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { View, Animated, Text, StyleSheet, I18nManager, TextInput as NativeTextInput, } from "react-native";
2
+ import { View, Animated, Text, StyleSheet, I18nManager, TextInput as NativeTextInput, Keyboard, } from "react-native";
3
3
  import { useSafeAreaInsets } from "react-native-safe-area-context";
4
4
  import dateFormat from "dateformat";
5
5
  import { withTheme } from "../../theming";
@@ -25,7 +25,7 @@ const MONTHS = [
25
25
  "November",
26
26
  "December",
27
27
  ];
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
+ 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, autoDismissKeyboard = true, ...props }) => {
29
29
  const [value, setValue] = React.useState(date || defaultValue);
30
30
  React.useEffect(() => {
31
31
  if (defaultValue != null) {
@@ -113,6 +113,11 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
113
113
  clearTimeout(_showPlaceholder());
114
114
  };
115
115
  }, [focused, label, placeholder]);
116
+ React.useEffect(() => {
117
+ if (pickerVisible && autoDismissKeyboard) {
118
+ Keyboard.dismiss();
119
+ }
120
+ }, [pickerVisible, autoDismissKeyboard]);
116
121
  const _handleFocus = () => {
117
122
  if (disabled) {
118
123
  return;
@@ -12,6 +12,7 @@ import {
12
12
  I18nManager,
13
13
  LayoutChangeEvent,
14
14
  TextInput as NativeTextInput,
15
+ Keyboard,
15
16
  } from "react-native";
16
17
  import { useSafeAreaInsets } from "react-native-safe-area-context";
17
18
 
@@ -55,6 +56,7 @@ type Props = {
55
56
  rightIconName?: string;
56
57
  borderColor?: string;
57
58
  borderColorActive?: string;
59
+ autoDismissKeyboard?: boolean;
58
60
  } & IconSlot &
59
61
  TextInputProps;
60
62
 
@@ -93,6 +95,7 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
93
95
  placeholder,
94
96
  borderColor: inputBorderColor,
95
97
  borderColorActive: inputBorderColorActive,
98
+ autoDismissKeyboard = true,
96
99
  ...props
97
100
  }) => {
98
101
  const [value, setValue] = React.useState<any>(date || defaultValue);
@@ -204,6 +207,12 @@ const DatePicker: React.FC<React.PropsWithChildren<Props>> = ({
204
207
  };
205
208
  }, [focused, label, placeholder]);
206
209
 
210
+ React.useEffect(() => {
211
+ if (pickerVisible && autoDismissKeyboard) {
212
+ Keyboard.dismiss();
213
+ }
214
+ }, [pickerVisible, autoDismissKeyboard]);
215
+
207
216
  const _handleFocus = () => {
208
217
  if (disabled) {
209
218
  return;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { View, StyleSheet, Text, Platform, Dimensions, } from "react-native";
2
+ import { View, StyleSheet, Text, Platform, Dimensions, Keyboard, } from "react-native";
3
3
  import { omit, pickBy, identity, isObject } from "lodash";
4
4
  import { SafeAreaView } from "react-native-safe-area-context";
5
5
  import { Picker as NativePicker } from "@react-native-picker/picker";
@@ -32,10 +32,11 @@ function normalizeOptions(options) {
32
32
  }
33
33
  const { width: deviceWidth, height: deviceHeight } = Dimensions.get("screen");
34
34
  const isIos = Platform.OS === "ios";
35
+ const isWeb = Platform.OS === "web";
35
36
  const unstyledColor = "rgba(165, 173, 183, 1)";
36
37
  const disabledColor = "rgb(240, 240, 240)";
37
38
  const errorColor = "rgba(255, 69, 100, 1)";
38
- const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style, placeholder, value, disabled = false, assistiveText, label, iconColor = unstyledColor, iconSize = 24, leftIconMode = "inset", leftIconName, placeholderTextColor = unstyledColor, rightIconName, type = "solid", }) => {
39
+ const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style, placeholder, value, disabled = false, assistiveText, label, iconColor = unstyledColor, iconSize = 24, leftIconMode = "inset", leftIconName, placeholderTextColor = unstyledColor, rightIconName, type = "solid", autoDismissKeyboard = true, }) => {
39
40
  var _a, _b;
40
41
  const androidPickerRef = React.useRef(undefined);
41
42
  const [internalValue, setInternalValue] = React.useState(value || defaultValue);
@@ -59,6 +60,11 @@ const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style,
59
60
  (_a = androidPickerRef === null || androidPickerRef === void 0 ? void 0 : androidPickerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
60
61
  }
61
62
  }, [pickerVisible, androidPickerRef]);
63
+ React.useEffect(() => {
64
+ if (pickerVisible && autoDismissKeyboard) {
65
+ Keyboard.dismiss();
66
+ }
67
+ }, [pickerVisible, autoDismissKeyboard]);
62
68
  const normalizedOptions = normalizeOptions(options);
63
69
  const pickerOptions = placeholder
64
70
  ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]
@@ -186,7 +192,7 @@ const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style,
186
192
  React.createElement(View, { style: styles.iosPickerContent },
187
193
  React.createElement(Button, { Icon: Icon, type: "text", onPress: togglePickerVisible, style: styles.iosButton }, "Close"),
188
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,
189
- !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));
195
+ !isIos && (pickerVisible || isWeb) ? (React.createElement(NativePicker, { enabled: !disabled, 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));
190
196
  };
191
197
  const styles = StyleSheet.create({
192
198
  marginsContainer: {
@@ -7,6 +7,7 @@ import {
7
7
  ViewStyle,
8
8
  StyleProp,
9
9
  Dimensions,
10
+ Keyboard,
10
11
  } from "react-native";
11
12
  import { omit, pickBy, identity, isObject } from "lodash";
12
13
  import { SafeAreaView } from "react-native-safe-area-context";
@@ -48,6 +49,7 @@ export type PickerProps = {
48
49
  placeholderTextColor?: string;
49
50
  rightIconName?: string;
50
51
  type?: "solid" | "underline";
52
+ autoDismissKeyboard?: boolean;
51
53
  theme: Theme;
52
54
  Icon: IconSlot["Icon"];
53
55
  };
@@ -84,6 +86,8 @@ function normalizeOptions(options: PickerProps["options"]): PickerOption[] {
84
86
 
85
87
  const { width: deviceWidth, height: deviceHeight } = Dimensions.get("screen");
86
88
  const isIos = Platform.OS === "ios";
89
+ const isWeb = Platform.OS === "web";
90
+
87
91
  const unstyledColor = "rgba(165, 173, 183, 1)";
88
92
  const disabledColor = "rgb(240, 240, 240)";
89
93
  const errorColor = "rgba(255, 69, 100, 1)";
@@ -107,6 +111,7 @@ const Picker: React.FC<PickerProps> = ({
107
111
  placeholderTextColor = unstyledColor,
108
112
  rightIconName,
109
113
  type = "solid",
114
+ autoDismissKeyboard = true,
110
115
  }) => {
111
116
  const androidPickerRef = React.useRef<any | undefined>(undefined);
112
117
 
@@ -138,6 +143,12 @@ const Picker: React.FC<PickerProps> = ({
138
143
  }
139
144
  }, [pickerVisible, androidPickerRef]);
140
145
 
146
+ React.useEffect(() => {
147
+ if (pickerVisible && autoDismissKeyboard) {
148
+ Keyboard.dismiss();
149
+ }
150
+ }, [pickerVisible, autoDismissKeyboard]);
151
+
141
152
  const normalizedOptions = normalizeOptions(options);
142
153
 
143
154
  const pickerOptions = placeholder
@@ -374,9 +385,10 @@ const Picker: React.FC<PickerProps> = ({
374
385
  ) : null}
375
386
 
376
387
  {/* nonIosPicker */}
377
- {!isIos && pickerVisible ? (
388
+ {/* Web version is collapsed by default, always show to allow direct expand */}
389
+ {!isIos && (pickerVisible || isWeb) ? (
378
390
  <NativePicker
379
- enabled={pickerVisible}
391
+ enabled={!disabled}
380
392
  selectedValue={internalValue}
381
393
  onValueChange={handleValueChange}
382
394
  style={styles.nonIosPicker}
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp, } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, GROUPS, Triggers, StylesPanelSections, createNumberProp, createColorProp, createStaticBoolProp, } from "@draftbit/types";
2
2
  const SEED_DATA_PROPS = {
3
3
  mode: {
4
4
  label: "Mode",
@@ -171,6 +171,11 @@ export const SEED_DATA = [
171
171
  required: true,
172
172
  group: GROUPS.basic,
173
173
  },
174
+ autoDismissKeyboard: createStaticBoolProp({
175
+ label: "Auto dismiss keyboard",
176
+ description: "Automatically dismiss keyboard when DatePicker is opened",
177
+ defaultValue: true,
178
+ }),
174
179
  },
175
180
  },
176
181
  ];
@@ -8,6 +8,7 @@ import {
8
8
  StylesPanelSections,
9
9
  createNumberProp,
10
10
  createColorProp,
11
+ createStaticBoolProp,
11
12
  } from "@draftbit/types";
12
13
 
13
14
  const SEED_DATA_PROPS = {
@@ -185,6 +186,11 @@ export const SEED_DATA = [
185
186
  required: true,
186
187
  group: GROUPS.basic,
187
188
  },
189
+ autoDismissKeyboard: createStaticBoolProp({
190
+ label: "Auto dismiss keyboard",
191
+ description: "Automatically dismiss keyboard when DatePicker is opened",
192
+ defaultValue: true,
193
+ }),
188
194
  },
189
195
  },
190
196
  ];
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, Triggers, GROUPS, FORM_TYPES, PROP_TYPES, FIELD_NAME, createIconSizeProp, createColorProp, StylesPanelSections, } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, Triggers, GROUPS, FORM_TYPES, PROP_TYPES, FIELD_NAME, createIconSizeProp, createColorProp, StylesPanelSections, createStaticBoolProp, } from "@draftbit/types";
2
2
  const SEED_DATA_PROPS = {
3
3
  label: {
4
4
  group: GROUPS.data,
@@ -142,6 +142,11 @@ export const SEED_DATA = [
142
142
  },
143
143
  iconSize: createIconSizeProp({ defaultValue: 24 }),
144
144
  iconColor: createColorProp({ label: "Icon Color" }),
145
+ autoDismissKeyboard: createStaticBoolProp({
146
+ label: "Auto dismiss keyboard",
147
+ description: "Automatically dismiss keyboard when Picker is opened",
148
+ defaultValue: true,
149
+ }),
145
150
  },
146
151
  layout: {},
147
152
  },