@draftbit/core 46.4.4-11985a.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 (100) hide show
  1. package/lib/commonjs/components/Container.js +5 -17
  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/Text.js +6 -2
  6. package/lib/commonjs/components/TextField.js +5 -1
  7. package/lib/commonjs/index.js +0 -38
  8. package/lib/commonjs/mappings/DatePicker.js +13 -0
  9. package/lib/commonjs/mappings/Stepper.js +1 -1
  10. package/lib/commonjs/mappings/TextField.js +1 -1
  11. package/lib/commonjs/mappings/TextInput.js +1 -1
  12. package/lib/commonjs/utilities.js +2 -2
  13. package/lib/module/components/Accordion/AccordionItem.js +5 -26
  14. package/lib/module/components/DatePicker/DatePicker.js +25 -15
  15. package/lib/module/components/Image.js +3 -18
  16. package/lib/module/components/Picker/Picker.js +2 -2
  17. package/lib/module/components/Picker/PickerComponent.web.js +5 -23
  18. package/lib/module/components/ScreenContainer.js +5 -22
  19. package/lib/module/components/Stepper.js +7 -3
  20. package/lib/module/components/Text.js +6 -2
  21. package/lib/module/components/TextField.js +5 -1
  22. package/lib/module/constants.js +0 -1
  23. package/lib/module/index.js +0 -1
  24. package/lib/module/mappings/DatePicker.js +14 -1
  25. package/lib/module/mappings/Stepper.js +2 -2
  26. package/lib/module/mappings/TextField.js +1 -1
  27. package/lib/module/mappings/TextInput.js +1 -1
  28. package/lib/module/utilities.js +3 -3
  29. package/lib/typescript/src/components/DatePicker/DatePicker.d.ts +4 -0
  30. package/lib/typescript/src/components/Stepper.d.ts +1 -2
  31. package/lib/typescript/src/components/Text.d.ts +2 -1
  32. package/lib/typescript/src/components/TextField.d.ts +2 -1
  33. package/lib/typescript/src/index.d.ts +0 -1
  34. package/lib/typescript/src/mappings/DatePicker.d.ts +42 -0
  35. package/lib/typescript/src/mappings/TextField.d.ts +2 -2
  36. package/lib/typescript/src/mappings/TextInput.d.ts +1 -1
  37. package/lib/typescript/src/utilities.d.ts +3 -3
  38. package/package.json +3 -3
  39. package/src/components/DatePicker/DatePicker.js +14 -8
  40. package/src/components/DatePicker/DatePicker.tsx +23 -7
  41. package/src/components/Picker/Picker.js +1 -1
  42. package/src/components/Picker/Picker.tsx +2 -2
  43. package/src/components/Stepper.js +5 -3
  44. package/src/components/Stepper.tsx +5 -5
  45. package/src/components/Text.js +8 -2
  46. package/src/components/Text.tsx +6 -1
  47. package/src/components/TextField.js +6 -1
  48. package/src/components/TextField.tsx +7 -1
  49. package/src/index.js +0 -1
  50. package/src/index.tsx +0 -9
  51. package/src/mappings/DatePicker.js +21 -1
  52. package/src/mappings/DatePicker.ts +23 -0
  53. package/src/mappings/Stepper.js +5 -2
  54. package/src/mappings/Stepper.ts +5 -1
  55. package/src/mappings/TextField.js +1 -1
  56. package/src/mappings/TextField.ts +1 -1
  57. package/src/mappings/TextInput.js +1 -1
  58. package/src/mappings/TextInput.ts +1 -1
  59. package/src/utilities.js +2 -5
  60. package/src/utilities.ts +2 -13
  61. package/lib/commonjs/components/Table/Table.js +0 -35
  62. package/lib/commonjs/components/Table/TableCell.js +0 -50
  63. package/lib/commonjs/components/Table/TableHeader.js +0 -41
  64. package/lib/commonjs/components/Table/TablePaginator.js +0 -17
  65. package/lib/commonjs/components/Table/TableRow.js +0 -47
  66. package/lib/commonjs/components/Table/TableTitle.js +0 -60
  67. package/lib/commonjs/components/Table/index.js +0 -55
  68. package/lib/commonjs/mappings/Table.js +0 -102
  69. package/lib/module/components/Table/Table.js +0 -23
  70. package/lib/module/components/Table/TableCell.js +0 -37
  71. package/lib/module/components/Table/TableHeader.js +0 -27
  72. package/lib/module/components/Table/TablePaginator.js +0 -6
  73. package/lib/module/components/Table/TableRow.js +0 -33
  74. package/lib/module/components/Table/TableTitle.js +0 -47
  75. package/lib/module/components/Table/index.js +0 -6
  76. package/lib/module/mappings/Table.js +0 -93
  77. package/lib/typescript/src/components/Table/Table.d.ts +0 -8
  78. package/lib/typescript/src/components/Table/TableCell.d.ts +0 -10
  79. package/lib/typescript/src/components/Table/TableHeader.d.ts +0 -12
  80. package/lib/typescript/src/components/Table/TablePaginator.d.ts +0 -3
  81. package/lib/typescript/src/components/Table/TableRow.d.ts +0 -12
  82. package/lib/typescript/src/components/Table/TableTitle.d.ts +0 -12
  83. package/lib/typescript/src/components/Table/index.d.ts +0 -6
  84. package/lib/typescript/src/mappings/Table.d.ts +0 -148
  85. package/src/components/Table/Table.js +0 -10
  86. package/src/components/Table/Table.tsx +0 -22
  87. package/src/components/Table/TableCell.js +0 -21
  88. package/src/components/Table/TableCell.tsx +0 -44
  89. package/src/components/Table/TableHeader.js +0 -11
  90. package/src/components/Table/TableHeader.tsx +0 -28
  91. package/src/components/Table/TablePaginator.js +0 -5
  92. package/src/components/Table/TablePaginator.tsx +0 -10
  93. package/src/components/Table/TableRow.js +0 -16
  94. package/src/components/Table/TableRow.tsx +0 -31
  95. package/src/components/Table/TableTitle.js +0 -28
  96. package/src/components/Table/TableTitle.tsx +0 -58
  97. package/src/components/Table/index.js +0 -6
  98. package/src/components/Table/index.tsx +0 -6
  99. package/src/mappings/Table.js +0 -136
  100. package/src/mappings/Table.ts +0 -144
@@ -1,3 +1,5 @@
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
+
1
3
  import * as React from "react";
2
4
  import { StyleSheet, ScrollView, View } from "react-native";
3
5
  import { SafeAreaView } from "react-native-safe-area-context";
@@ -25,13 +27,12 @@ function ScreenContainer(_ref) {
25
27
  edges.push("bottom");
26
28
  }
27
29
 
28
- return /*#__PURE__*/React.createElement(SafeAreaView, {
30
+ return /*#__PURE__*/React.createElement(SafeAreaView, _extends({
29
31
  edges: edges,
30
32
  style: [styles.container, {
31
33
  backgroundColor
32
- }],
33
- ...rest
34
- }, scrollable ? /*#__PURE__*/React.createElement(ScrollView, {
34
+ }]
35
+ }, rest), scrollable ? /*#__PURE__*/React.createElement(ScrollView, {
35
36
  contentContainerStyle: [styles.scrollViewContainer, {
36
37
  backgroundColor
37
38
  }, style]
@@ -42,24 +43,6 @@ function ScreenContainer(_ref) {
42
43
  }, children));
43
44
  }
44
45
 
45
- const styles = StyleSheet.create({
46
- container: {
47
- flex: 1
48
- },
49
- scrollViewContainer: {
50
- flexGrow: 1,
51
- flex: undefined
52
- }
53
- });
54
- export default withTheme(ScreenContainer);olor
55
- }, style]
56
- }, children) : /*#__PURE__*/React.createElement(View, {
57
- style: [styles.container, {
58
- backgroundColor
59
- }, style]
60
- }, children));
61
- }
62
-
63
46
  const styles = StyleSheet.create({
64
47
  container: {
65
48
  flex: 1
@@ -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",
@@ -11,10 +11,14 @@ class Text extends React.Component {
11
11
  super(...arguments);
12
12
 
13
13
  _defineProperty(this, "_root", void 0);
14
+
15
+ _defineProperty(this, "state", {
16
+ nativeProps: {}
17
+ });
14
18
  }
15
19
 
16
20
  setNativeProps(args) {
17
- return this._root && this._root.setNativeProps(args);
21
+ this.state.nativeProps = args || {};
18
22
  }
19
23
 
20
24
  render() {
@@ -23,7 +27,7 @@ class Text extends React.Component {
23
27
  ...rest
24
28
  } = this.props;
25
29
  const writingDirection = I18nManager.isRTL ? "rtl" : "ltr";
26
- return /*#__PURE__*/React.createElement(NativeText, _extends({}, rest, {
30
+ return /*#__PURE__*/React.createElement(NativeText, _extends({}, rest, this.state.nativeProps, {
27
31
  ref: c => {
28
32
  this._root = c;
29
33
  },
@@ -16,6 +16,7 @@ class TextField extends React.Component {
16
16
  super(...arguments);
17
17
 
18
18
  _defineProperty(this, "state", {
19
+ nativeProps: {},
19
20
  labeled: new Animated.Value(this.props.value || this.props.error ? 0 : 1),
20
21
  focused: false,
21
22
  placeholder: this.props.error ? this.props.placeholder : "",
@@ -146,7 +147,9 @@ class TextField extends React.Component {
146
147
  * @internal
147
148
  */
148
149
  setNativeProps(args) {
149
- return this._root && this._root.setNativeProps(args);
150
+ this.setState(state => ({ ...state,
151
+ nativeState: args || {}
152
+ }));
150
153
  }
151
154
 
152
155
  isFocused() {
@@ -426,6 +429,7 @@ class TextField extends React.Component {
426
429
  underlineColorAndroid: "transparent",
427
430
  style: inputStyles,
428
431
  ...rest,
432
+ ...this.state.nativeProps,
429
433
  value: this.state.value
430
434
  })), rightIconName ? /*#__PURE__*/React.createElement(Icon, {
431
435
  name: rightIconName,
@@ -5,5 +5,4 @@ const DEFAULT_STATUSBAR_HEIGHT_EXPO = expo !== null && expo !== void 0 && expo.C
5
5
  export const APPROX_STATUSBAR_HEIGHT = Platform.select({
6
6
  android: DEFAULT_STATUSBAR_HEIGHT_EXPO,
7
7
  ios: Platform.Version < 11 ? DEFAULT_STATUSBAR_HEIGHT_EXPO : 0
8
- });PO : 0
9
8
  });
@@ -31,7 +31,6 @@ export { ActionSheet, ActionSheetItem, ActionSheetCancel } from "./components/Ac
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
32
  export { Center, Circle, Square, Row, Stack, Spacer } from "./components/Layout";
33
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup } from "./components/RadioButton/index";
34
- export { Table, TableRow, TablePaginator, TableHeader, TableCell, TableTitle } from "./components/Table";
35
34
  /* Deprecated: Fix or Delete! */
36
35
 
37
36
  export { default as CardBlock } from "./components/CardBlock";
@@ -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
@@ -1,5 +1,5 @@
1
1
  import { StyleSheet } from "react-native";
2
- import { isString, isNumber, pick, pickBy, identity, omitBy, isNil } from "lodash";
2
+ import { isString, isNumber, pick, pickBy, identity } from "lodash";
3
3
  export function extractStyles(style) {
4
4
  const {
5
5
  color,
@@ -29,8 +29,8 @@ export function extractStyles(style) {
29
29
  textDecorationStyle
30
30
  };
31
31
  return {
32
- viewStyles: omitBy(viewStyles, isNil),
33
- textStyles: omitBy(textStyles, isNil)
32
+ viewStyles,
33
+ textStyles
34
34
  };
35
35
  }
36
36
  export const borderStyleNames = ["borderRadius", "borderBottomColor", "borderBottomEndRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderBottomStartRadius", "borderBottomWidth", "borderColor", "borderEndColor", "borderLeftColor", "borderLeftWidth", "borderRadius", "borderRightColor", "borderRightWidth", "borderStartColor", "borderStyle", "borderTopColor", "borderTopEndRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderTopStartRadius", "borderTopWidth", "borderWidth"];
@@ -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;
@@ -6,7 +6,8 @@ declare type Props = {
6
6
  } & TextProps;
7
7
  declare class Text extends React.Component<Props> {
8
8
  _root: any;
9
- setNativeProps(args: TextProps): any;
9
+ state: any;
10
+ setNativeProps(args: TextProps): void;
10
11
  render(): JSX.Element;
11
12
  }
12
13
  export declare const BaseLink: ({ style, theme, title, ...props }: any) => JSX.Element;
@@ -27,6 +27,7 @@ export declare type Props = {
27
27
  }) => React.ReactNode;
28
28
  } & TextInputProps & IconSlot;
29
29
  interface State {
30
+ nativeProps: any;
30
31
  labeled: Animated.Value;
31
32
  focused?: boolean;
32
33
  placeholder?: string | undefined;
@@ -57,7 +58,7 @@ declare class TextField extends React.Component<Props, State> {
57
58
  /**
58
59
  * @internal
59
60
  */
60
- setNativeProps(args: Props): void | undefined;
61
+ setNativeProps(args: Props): void;
61
62
  isFocused(): boolean | undefined;
62
63
  clear(): void | undefined;
63
64
  focus(): void | undefined;
@@ -31,7 +31,6 @@ export { ActionSheet, ActionSheetItem, ActionSheetCancel, } from "./components/A
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
32
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
33
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
34
- export { Table, TableRow, TablePaginator, TableHeader, TableCell, TableTitle, } from "./components/Table";
35
34
  export { default as CardBlock } from "./components/CardBlock";
36
35
  export { default as CardContainer } from "./components/CardContainer";
37
36
  export { default as CardContainerRating } from "./components/CardContainerRating";
@@ -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;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="lodash" />
2
- import { StyleProp } from "react-native";
2
+ import { StyleProp, TextStyle } from "react-native";
3
3
  export declare function extractStyles(style: StyleProp<any>): {
4
- viewStyles: Partial<any>;
5
- textStyles: import("lodash").Dictionary<any>;
4
+ viewStyles: any;
5
+ textStyles: TextStyle;
6
6
  };
7
7
  export declare const borderStyleNames: string[];
8
8
  export declare const marginStyleNames: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.4.4-11985a.2+11985af",
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-11985a.2+11985af",
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": "11985af875fb5615860409b93f8315df8cb5b8f8"
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);