@draftbit/core 46.8.1-b0418d.2 → 46.8.1-c1d8e9.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.
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeMarkdownDisplay = _interopRequireDefault(require("react-native-markdown-display"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ 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); }
12
+ 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; }
13
+ const Markdown = _ref => {
14
+ let {
15
+ children,
16
+ style
17
+ } = _ref;
18
+ return (
19
+ /*#__PURE__*/
20
+ //'body' style used for main parent container
21
+ //@ts-ignore TS does not like the type of this named style for some reason
22
+ React.createElement(_reactNativeMarkdownDisplay.default, {
23
+ style: {
24
+ body: _reactNative.StyleSheet.flatten(style)
25
+ }
26
+ }, children)
27
+ );
28
+ };
29
+ var _default = Markdown;
30
+ exports.default = _default;
@@ -46,9 +46,6 @@ const isWeb = _reactNative.Platform.OS === "web";
46
46
  const unstyledColor = "rgba(165, 173, 183, 1)";
47
47
  const disabledColor = "rgb(240, 240, 240)";
48
48
  const errorColor = "rgba(255, 69, 100, 1)";
49
-
50
- //Empty string for 'value' is treated as a non-value
51
- //reason: Draftbit uses empty string as initial value for string state*/
52
49
  const Picker = _ref => {
53
50
  var _find$label, _find;
54
51
  let {
@@ -79,12 +76,12 @@ const Picker = _ref => {
79
76
  setPickerVisible(!pickerVisible);
80
77
  };
81
78
  React.useEffect(() => {
82
- if (value != null && value !== "") {
79
+ if (value != null) {
83
80
  setInternalValue(value);
84
81
  }
85
82
  }, [value]);
86
83
  React.useEffect(() => {
87
- if (defaultValue != null && defaultValue !== "") {
84
+ if (defaultValue != null) {
88
85
  setInternalValue(defaultValue);
89
86
  }
90
87
  }, [defaultValue]);
@@ -99,7 +96,11 @@ const Picker = _ref => {
99
96
  _reactNative.Keyboard.dismiss();
100
97
  }
101
98
  }, [pickerVisible, autoDismissKeyboard]);
102
- const pickerOptions = normalizeOptions(options);
99
+ const normalizedOptions = normalizeOptions(options);
100
+ const pickerOptions = placeholder ? [{
101
+ value: placeholder,
102
+ label: placeholder
103
+ }, ...normalizedOptions] : normalizedOptions;
103
104
  const {
104
105
  viewStyles,
105
106
  textStyles
@@ -199,10 +200,10 @@ const Picker = _ref => {
199
200
  } : {})
200
201
  };
201
202
  const handleValueChange = (newValue, itemIndex) => {
202
- if (newValue !== "") {
203
+ if (!placeholder || itemIndex > 0) {
203
204
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue, itemIndex);
204
- setInternalValue(newValue);
205
205
  }
206
+ setInternalValue(newValue);
206
207
  };
207
208
  return (
208
209
  /*#__PURE__*/
@@ -177,6 +177,12 @@ Object.defineProperty(exports, "Link", {
177
177
  return _Text.Link;
178
178
  }
179
179
  });
180
+ Object.defineProperty(exports, "Markdown", {
181
+ enumerable: true,
182
+ get: function () {
183
+ return _Markdown.default;
184
+ }
185
+ });
180
186
  Object.defineProperty(exports, "NumberInput", {
181
187
  enumerable: true,
182
188
  get: function () {
@@ -414,6 +420,7 @@ var _Swiper = require("./components/Swiper");
414
420
  var _Layout = require("./components/Layout");
415
421
  var _index = require("./components/RadioButton/index");
416
422
  var _DeckSwiper = require("./components/DeckSwiper");
423
+ var _Markdown = _interopRequireDefault(require("./components/Markdown"));
417
424
  var _DatePicker = _interopRequireDefault(require("./components/DatePicker/DatePicker"));
418
425
  var _Picker = _interopRequireDefault(require("./components/Picker/Picker"));
419
426
  var _ProgressBar = _interopRequireDefault(require("./components/ProgressBar"));
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SEED_DATA = void 0;
7
+ var _types = require("@draftbit/types");
8
+ const SEED_DATA = {
9
+ name: "Markdown",
10
+ tag: "Markdown",
11
+ description: "A component that renders markdown",
12
+ category: _types.COMPONENT_TYPES.basic,
13
+ stylesPanelSections: _types.BLOCK_STYLES_SECTIONS,
14
+ props: {
15
+ children: {
16
+ group: _types.GROUPS.data,
17
+ label: "Markdown Text",
18
+ description: "Markdownt text to be rendered ",
19
+ editable: true,
20
+ required: true,
21
+ formType: _types.FORM_TYPES.string,
22
+ propType: _types.PROP_TYPES.STRING,
23
+ defaultValue: "## Double click me to edit 👀"
24
+ }
25
+ }
26
+ };
27
+ exports.SEED_DATA = SEED_DATA;
@@ -1,4 +1,3 @@
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
  import * as React from "react";
3
2
  import { ActivityIndicator, View, Text, StyleSheet, Pressable } from "react-native";
4
3
  import color from "color";
@@ -75,7 +74,8 @@ const Button = _ref => {
75
74
  elevation,
76
75
  alignSelf: "stretch"
77
76
  }
78
- }, /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
77
+ }, /*#__PURE__*/React.createElement(Pressable, {
78
+ ...rest,
79
79
  onPress: onPress,
80
80
  accessibilityState: {
81
81
  disabled
@@ -83,7 +83,7 @@ const Button = _ref => {
83
83
  accessibilityRole: "button",
84
84
  disabled: disabled || loading,
85
85
  style: [styles.button, buttonStyle]
86
- }), /*#__PURE__*/React.createElement(View, {
86
+ }, /*#__PURE__*/React.createElement(View, {
87
87
  style: styles.content
88
88
  }, icon && loading !== true ? /*#__PURE__*/React.createElement(View, {
89
89
  style: iconStyle
@@ -114,4 +114,22 @@ const styles = StyleSheet.create({
114
114
  width: Config.buttonIconSize
115
115
  }
116
116
  });
117
+ export default withTheme(Button);: 1,
118
+ style: [textStyle, typography.button]
119
+ }, children))));
120
+ };
121
+ const styles = StyleSheet.create({
122
+ button: {
123
+ minWidth: 64,
124
+ borderStyle: "solid"
125
+ },
126
+ content: {
127
+ flexDirection: "row",
128
+ alignItems: "center",
129
+ justifyContent: "center"
130
+ },
131
+ icon: {
132
+ width: Config.buttonIconSize
133
+ }
134
+ });
117
135
  export default withTheme(Button);
@@ -0,0 +1,20 @@
1
+ import * as React from "react";
2
+ import { StyleSheet } from "react-native";
3
+ import MarkdownComponent from "react-native-markdown-display";
4
+ const Markdown = _ref => {
5
+ let {
6
+ children,
7
+ style
8
+ } = _ref;
9
+ return (
10
+ /*#__PURE__*/
11
+ //'body' style used for main parent container
12
+ //@ts-ignore TS does not like the type of this named style for some reason
13
+ React.createElement(MarkdownComponent, {
14
+ style: {
15
+ body: StyleSheet.flatten(style)
16
+ }
17
+ }, children)
18
+ );
19
+ };
20
+ export default Markdown;
@@ -37,9 +37,6 @@ const isWeb = Platform.OS === "web";
37
37
  const unstyledColor = "rgba(165, 173, 183, 1)";
38
38
  const disabledColor = "rgb(240, 240, 240)";
39
39
  const errorColor = "rgba(255, 69, 100, 1)";
40
-
41
- //Empty string for 'value' is treated as a non-value
42
- //reason: Draftbit uses empty string as initial value for string state*/
43
40
  const Picker = _ref => {
44
41
  var _find$label, _find;
45
42
  let {
@@ -70,12 +67,12 @@ const Picker = _ref => {
70
67
  setPickerVisible(!pickerVisible);
71
68
  };
72
69
  React.useEffect(() => {
73
- if (value != null && value !== "") {
70
+ if (value != null) {
74
71
  setInternalValue(value);
75
72
  }
76
73
  }, [value]);
77
74
  React.useEffect(() => {
78
- if (defaultValue != null && defaultValue !== "") {
75
+ if (defaultValue != null) {
79
76
  setInternalValue(defaultValue);
80
77
  }
81
78
  }, [defaultValue]);
@@ -90,7 +87,11 @@ const Picker = _ref => {
90
87
  Keyboard.dismiss();
91
88
  }
92
89
  }, [pickerVisible, autoDismissKeyboard]);
93
- const pickerOptions = normalizeOptions(options);
90
+ const normalizedOptions = normalizeOptions(options);
91
+ const pickerOptions = placeholder ? [{
92
+ value: placeholder,
93
+ label: placeholder
94
+ }, ...normalizedOptions] : normalizedOptions;
94
95
  const {
95
96
  viewStyles,
96
97
  textStyles
@@ -190,10 +191,10 @@ const Picker = _ref => {
190
191
  } : {})
191
192
  };
192
193
  const handleValueChange = (newValue, itemIndex) => {
193
- if (newValue !== "") {
194
+ if (!placeholder || itemIndex > 0) {
194
195
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue, itemIndex);
195
- setInternalValue(newValue);
196
196
  }
197
+ setInternalValue(newValue);
197
198
  };
198
199
  return (
199
200
  /*#__PURE__*/
@@ -32,6 +32,7 @@ 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
34
  export { DeckSwiper, DeckSwiperCard } from "./components/DeckSwiper";
35
+ export { default as Markdown } from "./components/Markdown";
35
36
 
36
37
  /* Deprecated: Fix or Delete! */
37
38
  export { default as DatePicker } from "./components/DatePicker/DatePicker";
@@ -0,0 +1,20 @@
1
+ import { BLOCK_STYLES_SECTIONS, COMPONENT_TYPES, FORM_TYPES, GROUPS, PROP_TYPES } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Markdown",
4
+ tag: "Markdown",
5
+ description: "A component that renders markdown",
6
+ category: COMPONENT_TYPES.basic,
7
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
8
+ props: {
9
+ children: {
10
+ group: GROUPS.data,
11
+ label: "Markdown Text",
12
+ description: "Markdownt text to be rendered ",
13
+ editable: true,
14
+ required: true,
15
+ formType: FORM_TYPES.string,
16
+ propType: PROP_TYPES.STRING,
17
+ defaultValue: "## Double click me to edit 👀"
18
+ }
19
+ }
20
+ };
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ declare type MarkdownProps = {
4
+ style?: StyleProp<ViewStyle>;
5
+ };
6
+ declare const Markdown: React.FC<React.PropsWithChildren<MarkdownProps>>;
7
+ export default Markdown;
8
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAGhE,aAAK,aAAa,GAAG;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAW9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -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,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;;;;AAyaF,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"}
@@ -32,6 +32,7 @@ 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
34
  export { DeckSwiper, DeckSwiperCard } from "./components/DeckSwiper";
35
+ export { default as Markdown } from "./components/Markdown";
35
36
  export { default as DatePicker } from "./components/DatePicker/DatePicker";
36
37
  export { default as Picker } from "./components/Picker/Picker";
37
38
  export { default as ProgressBar } from "./components/ProgressBar";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,GAAG,EACH,KAAK,EACL,MAAM,GACP,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,20 @@
1
+ export declare const SEED_DATA: {
2
+ name: string;
3
+ tag: string;
4
+ description: string;
5
+ category: string;
6
+ stylesPanelSections: string[];
7
+ props: {
8
+ children: {
9
+ group: string;
10
+ label: string;
11
+ description: string;
12
+ editable: boolean;
13
+ required: boolean;
14
+ formType: string;
15
+ propType: string;
16
+ defaultValue: string;
17
+ };
18
+ };
19
+ };
20
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../../src/mappings/Markdown.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;CAkBrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.8.1-b0418d.2+b0418d9",
3
+ "version": "46.8.1-c1d8e9.2+c1d8e9f",
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.8.1-b0418d.2+b0418d9",
44
+ "@draftbit/types": "^46.8.1-c1d8e9.2+c1d8e9f",
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",
@@ -54,6 +54,7 @@
54
54
  "lodash.omit": "^4.5.0",
55
55
  "lodash.tonumber": "^4.0.3",
56
56
  "react-native-deck-swiper": "^2.0.12",
57
+ "react-native-markdown-display": "^7.0.0-alpha.2",
57
58
  "react-native-modal-datetime-picker": "^13.0.0",
58
59
  "react-native-svg": "12.3.0",
59
60
  "react-native-typography": "^1.4.1",
@@ -92,5 +93,5 @@
92
93
  ]
93
94
  ]
94
95
  },
95
- "gitHead": "b0418d9f5ae6bccecbe29639c7f468643dfcffdf"
96
+ "gitHead": "c1d8e9fc142bf557fb1ae20dff52b8de218703db"
96
97
  }
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { StyleSheet } from "react-native";
3
+ import MarkdownComponent from "react-native-markdown-display";
4
+ const Markdown = ({ children, style, }) => {
5
+ return (
6
+ //'body' style used for main parent container
7
+ //@ts-ignore TS does not like the type of this named style for some reason
8
+ React.createElement(MarkdownComponent, { style: { body: StyleSheet.flatten(style) } }, children));
9
+ };
10
+ export default Markdown;
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ import { StyleProp, ViewStyle, StyleSheet } from "react-native";
3
+ import MarkdownComponent from "react-native-markdown-display";
4
+
5
+ type MarkdownProps = {
6
+ style?: StyleProp<ViewStyle>;
7
+ };
8
+
9
+ const Markdown: React.FC<React.PropsWithChildren<MarkdownProps>> = ({
10
+ children,
11
+ style,
12
+ }) => {
13
+ return (
14
+ //'body' style used for main parent container
15
+ //@ts-ignore TS does not like the type of this named style for some reason
16
+ <MarkdownComponent style={{ body: StyleSheet.flatten(style) }}>
17
+ {children}
18
+ </MarkdownComponent>
19
+ );
20
+ };
21
+
22
+ export default Markdown;
@@ -36,8 +36,6 @@ const isWeb = Platform.OS === "web";
36
36
  const unstyledColor = "rgba(165, 173, 183, 1)";
37
37
  const disabledColor = "rgb(240, 240, 240)";
38
38
  const errorColor = "rgba(255, 69, 100, 1)";
39
- //Empty string for 'value' is treated as a non-value
40
- //reason: Draftbit uses empty string as initial value for string state*/
41
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, }) => {
42
40
  var _a, _b;
43
41
  const androidPickerRef = React.useRef(undefined);
@@ -47,12 +45,12 @@ const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style,
47
45
  setPickerVisible(!pickerVisible);
48
46
  };
49
47
  React.useEffect(() => {
50
- if (value != null && value !== "") {
48
+ if (value != null) {
51
49
  setInternalValue(value);
52
50
  }
53
51
  }, [value]);
54
52
  React.useEffect(() => {
55
- if (defaultValue != null && defaultValue !== "") {
53
+ if (defaultValue != null) {
56
54
  setInternalValue(defaultValue);
57
55
  }
58
56
  }, [defaultValue]);
@@ -67,7 +65,10 @@ const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style,
67
65
  Keyboard.dismiss();
68
66
  }
69
67
  }, [pickerVisible, autoDismissKeyboard]);
70
- const pickerOptions = normalizeOptions(options);
68
+ const normalizedOptions = normalizeOptions(options);
69
+ const pickerOptions = placeholder
70
+ ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]
71
+ : normalizedOptions;
71
72
  const { viewStyles, textStyles } = extractStyles(style);
72
73
  const additionalBorderStyles = ["backgroundColor"];
73
74
  const additionalMarginStyles = [
@@ -162,10 +163,10 @@ const Picker = ({ error, options = [], onValueChange, defaultValue, Icon, style,
162
163
  ...(disabled ? { color: unstyledColor } : {}),
163
164
  };
164
165
  const handleValueChange = (newValue, itemIndex) => {
165
- if (newValue !== "") {
166
+ if (!placeholder || itemIndex > 0) {
166
167
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue, itemIndex);
167
- setInternalValue(newValue);
168
168
  }
169
+ setInternalValue(newValue);
169
170
  };
170
171
  return (
171
172
  /* marginsContainer */
@@ -92,8 +92,6 @@ const unstyledColor = "rgba(165, 173, 183, 1)";
92
92
  const disabledColor = "rgb(240, 240, 240)";
93
93
  const errorColor = "rgba(255, 69, 100, 1)";
94
94
 
95
- //Empty string for 'value' is treated as a non-value
96
- //reason: Draftbit uses empty string as initial value for string state*/
97
95
  const Picker: React.FC<PickerProps> = ({
98
96
  error,
99
97
  options = [],
@@ -128,13 +126,13 @@ const Picker: React.FC<PickerProps> = ({
128
126
  };
129
127
 
130
128
  React.useEffect(() => {
131
- if (value != null && value !== "") {
129
+ if (value != null) {
132
130
  setInternalValue(value);
133
131
  }
134
132
  }, [value]);
135
133
 
136
134
  React.useEffect(() => {
137
- if (defaultValue != null && defaultValue !== "") {
135
+ if (defaultValue != null) {
138
136
  setInternalValue(defaultValue);
139
137
  }
140
138
  }, [defaultValue]);
@@ -151,7 +149,11 @@ const Picker: React.FC<PickerProps> = ({
151
149
  }
152
150
  }, [pickerVisible, autoDismissKeyboard]);
153
151
 
154
- const pickerOptions = normalizeOptions(options);
152
+ const normalizedOptions = normalizeOptions(options);
153
+
154
+ const pickerOptions = placeholder
155
+ ? [{ value: placeholder, label: placeholder }, ...normalizedOptions]
156
+ : normalizedOptions;
155
157
 
156
158
  const { viewStyles, textStyles } = extractStyles(style);
157
159
 
@@ -302,10 +304,10 @@ const Picker: React.FC<PickerProps> = ({
302
304
  };
303
305
 
304
306
  const handleValueChange = (newValue: string, itemIndex: number) => {
305
- if (newValue !== "") {
307
+ if (!placeholder || itemIndex > 0) {
306
308
  onValueChange?.(newValue, itemIndex);
307
- setInternalValue(newValue);
308
309
  }
310
+ setInternalValue(newValue);
309
311
  };
310
312
 
311
313
  return (
package/src/index.js CHANGED
@@ -32,6 +32,7 @@ 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
34
  export { DeckSwiper, DeckSwiperCard } from "./components/DeckSwiper";
35
+ export { default as Markdown } from "./components/Markdown";
35
36
  /* Deprecated: Fix or Delete! */
36
37
  export { default as DatePicker } from "./components/DatePicker/DatePicker";
37
38
  export { default as Picker } from "./components/Picker/Picker";
package/src/index.tsx CHANGED
@@ -53,6 +53,8 @@ export {
53
53
 
54
54
  export { DeckSwiper, DeckSwiperCard } from "./components/DeckSwiper";
55
55
 
56
+ export { default as Markdown } from "./components/Markdown";
57
+
56
58
  /* Deprecated: Fix or Delete! */
57
59
  export { default as DatePicker } from "./components/DatePicker/DatePicker";
58
60
  export { default as Picker } from "./components/Picker/Picker";
@@ -0,0 +1,20 @@
1
+ import { BLOCK_STYLES_SECTIONS, COMPONENT_TYPES, FORM_TYPES, GROUPS, PROP_TYPES, } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Markdown",
4
+ tag: "Markdown",
5
+ description: "A component that renders markdown",
6
+ category: COMPONENT_TYPES.basic,
7
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
8
+ props: {
9
+ children: {
10
+ group: GROUPS.data,
11
+ label: "Markdown Text",
12
+ description: "Markdownt text to be rendered ",
13
+ editable: true,
14
+ required: true,
15
+ formType: FORM_TYPES.string,
16
+ propType: PROP_TYPES.STRING,
17
+ defaultValue: "## Double click me to edit 👀",
18
+ },
19
+ },
20
+ };
@@ -0,0 +1,27 @@
1
+ import {
2
+ BLOCK_STYLES_SECTIONS,
3
+ COMPONENT_TYPES,
4
+ FORM_TYPES,
5
+ GROUPS,
6
+ PROP_TYPES,
7
+ } from "@draftbit/types";
8
+
9
+ export const SEED_DATA = {
10
+ name: "Markdown",
11
+ tag: "Markdown",
12
+ description: "A component that renders markdown",
13
+ category: COMPONENT_TYPES.basic,
14
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
15
+ props: {
16
+ children: {
17
+ group: GROUPS.data,
18
+ label: "Markdown Text",
19
+ description: "Markdownt text to be rendered ",
20
+ editable: true,
21
+ required: true,
22
+ formType: FORM_TYPES.string,
23
+ propType: PROP_TYPES.STRING,
24
+ defaultValue: "## Double click me to edit 👀",
25
+ },
26
+ },
27
+ };