@draftbit/core 46.10.3-fb35c9.2 → 46.10.3-fbd333.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 (73) hide show
  1. package/lib/commonjs/components/BottomSheet/BottomSheetComponent.js +0 -41
  2. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js +23 -5
  3. package/lib/commonjs/components/Checkbox/CheckboxRow.js +23 -6
  4. package/lib/commonjs/components/DeprecatedCardWrapper.js +40 -0
  5. package/lib/commonjs/components/DeprecatedFAB.js +157 -0
  6. package/lib/commonjs/components/Portal/PortalConsumer.js +0 -7
  7. package/lib/commonjs/components/Portal/PortalHost.js +0 -1
  8. package/lib/commonjs/components/ProgressIndicator.js +55 -0
  9. package/lib/commonjs/components/ResizeMode.js +5 -0
  10. package/lib/commonjs/components/Text.js +0 -1
  11. package/lib/commonjs/constants.js +1 -1
  12. package/lib/commonjs/mappings/CardBlock.js +126 -0
  13. package/lib/commonjs/mappings/CardContainer.js +108 -0
  14. package/lib/commonjs/mappings/CardContainerRating.js +130 -0
  15. package/lib/commonjs/mappings/CardContainerShortImage.js +124 -0
  16. package/lib/commonjs/mappings/CardInline.js +59 -0
  17. package/lib/commonjs/mappings/ProgressIndicator.js +188 -0
  18. package/lib/module/components/BottomSheet/BottomSheetComponent.js +0 -41
  19. package/lib/module/components/DeprecatedCardWrapper.js +32 -0
  20. package/lib/module/components/DeprecatedFAB.js +147 -0
  21. package/lib/module/components/Portal/PortalConsumer.js +0 -7
  22. package/lib/module/components/Portal/PortalHost.js +0 -1
  23. package/lib/module/components/Portal/PortalManager.js +7 -33
  24. package/lib/module/components/ProgressIndicator.js +45 -0
  25. package/lib/module/components/ResizeMode.js +1 -0
  26. package/lib/module/components/Text.js +0 -1
  27. package/lib/module/mappings/CardBlock.js +119 -0
  28. package/lib/module/mappings/CardContainer.js +101 -0
  29. package/lib/module/mappings/CardContainerRating.js +123 -0
  30. package/lib/module/mappings/CardContainerShortImage.js +117 -0
  31. package/lib/module/mappings/CardInline.js +52 -0
  32. package/lib/module/mappings/ProgressIndicator.js +181 -0
  33. package/lib/typescript/src/components/DeprecatedCardWrapper.d.ts +15 -0
  34. package/lib/typescript/src/components/DeprecatedCardWrapper.d.ts.map +1 -0
  35. package/lib/typescript/src/components/DeprecatedFAB.d.ts +56 -0
  36. package/lib/typescript/src/components/DeprecatedFAB.d.ts.map +1 -0
  37. package/lib/typescript/src/components/ProgressIndicator.d.ts +24 -0
  38. package/lib/typescript/src/components/ProgressIndicator.d.ts.map +1 -0
  39. package/lib/typescript/src/components/ResizeMode.d.ts +2 -0
  40. package/lib/typescript/src/components/ResizeMode.d.ts.map +1 -0
  41. package/lib/typescript/src/mappings/CardBlock.d.ts +289 -0
  42. package/lib/typescript/src/mappings/CardBlock.d.ts.map +1 -0
  43. package/lib/typescript/src/mappings/CardContainer.d.ts +102 -0
  44. package/lib/typescript/src/mappings/CardContainer.d.ts.map +1 -0
  45. package/lib/typescript/src/mappings/CardContainerRating.d.ts +108 -0
  46. package/lib/typescript/src/mappings/CardContainerRating.d.ts.map +1 -0
  47. package/lib/typescript/src/mappings/CardContainerShortImage.d.ts +139 -0
  48. package/lib/typescript/src/mappings/CardContainerShortImage.d.ts.map +1 -0
  49. package/lib/typescript/src/mappings/CardInline.d.ts +62 -0
  50. package/lib/typescript/src/mappings/CardInline.d.ts.map +1 -0
  51. package/lib/typescript/src/mappings/ProgressIndicator.d.ts +181 -0
  52. package/lib/typescript/src/mappings/ProgressIndicator.d.ts.map +1 -0
  53. package/package.json +15 -10
  54. package/src/components/DeprecatedCardWrapper.js +18 -0
  55. package/src/components/DeprecatedCardWrapper.tsx +46 -0
  56. package/src/components/DeprecatedFAB.js +114 -0
  57. package/src/components/DeprecatedFAB.tsx +231 -0
  58. package/src/components/ProgressIndicator.js +27 -0
  59. package/src/components/ProgressIndicator.tsx +71 -0
  60. package/src/components/ResizeMode.js +1 -0
  61. package/src/components/ResizeMode.ts +7 -0
  62. package/src/mappings/CardBlock.js +123 -0
  63. package/src/mappings/CardBlock.ts +136 -0
  64. package/src/mappings/CardContainer.js +104 -0
  65. package/src/mappings/CardContainer.ts +116 -0
  66. package/src/mappings/CardContainerRating.js +126 -0
  67. package/src/mappings/CardContainerRating.ts +137 -0
  68. package/src/mappings/CardContainerShortImage.js +120 -0
  69. package/src/mappings/CardContainerShortImage.ts +130 -0
  70. package/src/mappings/CardInline.js +52 -0
  71. package/src/mappings/CardInline.ts +61 -0
  72. package/src/mappings/ProgressIndicator.js +181 -0
  73. package/src/mappings/ProgressIndicator.ts +190 -0
@@ -0,0 +1,32 @@
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
+ import React from "react";
3
+ import { withTheme } from "../theming";
4
+ import Touchable from "./Touchable";
5
+ const getWidth = numColumns => {
6
+ switch (numColumns) {
7
+ case 1:
8
+ return "33%";
9
+ case 2:
10
+ return "50%";
11
+ default:
12
+ return "100%";
13
+ }
14
+ };
15
+ const Card = _ref => {
16
+ let {
17
+ numColumns = 3,
18
+ children,
19
+ onPress,
20
+ style,
21
+ ...rest
22
+ } = _ref;
23
+ const width = getWidth(numColumns);
24
+ return /*#__PURE__*/React.createElement(Touchable, _extends({
25
+ disabled: !onPress,
26
+ onPress: onPress,
27
+ style: [style, {
28
+ width
29
+ }]
30
+ }, rest), children);
31
+ };
32
+ export default withTheme(Card);
@@ -0,0 +1,147 @@
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
+ import * as React from "react";
3
+ import { ActivityIndicator, View, StyleSheet, Pressable } from "react-native";
4
+ import color from "color";
5
+ import Config from "./Config";
6
+ import Text from "./Text";
7
+ import Elevation from "./Elevation";
8
+ import { withTheme } from "../theming";
9
+ const FAB = _ref => {
10
+ let {
11
+ Icon,
12
+ icon,
13
+ disabled = false,
14
+ type = "solid",
15
+ loading = false,
16
+ color: colorOverride,
17
+ label,
18
+ onPress,
19
+ elevation = 0,
20
+ style,
21
+ theme: {
22
+ colors,
23
+ disabledOpacity,
24
+ roundness,
25
+ typography
26
+ },
27
+ ...rest
28
+ } = _ref;
29
+ let backgroundColor, borderColor, textColor, borderWidth;
30
+ const buttonColor = colorOverride || colors.primary;
31
+ if (type === "standard" || type === "extended" || type === "fixed") {
32
+ backgroundColor = buttonColor;
33
+ if (disabled) {
34
+ textColor = color(colors.surface).alpha(disabledOpacity).rgb().string();
35
+ } else {
36
+ textColor = colors.surface;
37
+ }
38
+ } else {
39
+ backgroundColor = "transparent";
40
+ if (disabled) {
41
+ textColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
42
+ } else {
43
+ textColor = buttonColor;
44
+ }
45
+ }
46
+ if (type === "outline") {
47
+ if (disabled) {
48
+ borderColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
49
+ } else {
50
+ borderColor = buttonColor;
51
+ }
52
+ borderWidth = StyleSheet.hairlineWidth;
53
+ } else {
54
+ borderColor = "transparent";
55
+ borderWidth = 0;
56
+ }
57
+ const buttonStyle = {
58
+ backgroundColor,
59
+ borderColor,
60
+ borderWidth,
61
+ borderRadius: roundness,
62
+ alignItems: "center",
63
+ justifyContent: "center"
64
+ };
65
+ const buttonStyles = [styles.button, buttonStyle];
66
+ const contentStyle = [styles.content];
67
+ const textStyle = {
68
+ textAlign: "center",
69
+ color: textColor
70
+ };
71
+ const iconStyle = [styles.icon, {
72
+ width: Config.buttonIconSize
73
+ }];
74
+ if (type === "standard" || type === "outline") {
75
+ buttonStyle.width = Config.FABSize;
76
+ buttonStyle.height = Config.FABSize;
77
+ buttonStyle.borderRadius = Config.FABBorderRadius;
78
+ contentStyle.push({
79
+ width: Config.FABSize,
80
+ height: Config.FABSize
81
+ });
82
+ }
83
+ if (type === "extended" || type === "fixed") {
84
+ iconStyle.push({
85
+ marginLeft: 16,
86
+ marginRight: -8
87
+ });
88
+ textStyle.margin = 16;
89
+ }
90
+ if (type === "fixed") {
91
+ buttonStyles.push({
92
+ height: Config.FABFixedHeight,
93
+ alignSelf: "stretch"
94
+ });
95
+ }
96
+ return /*#__PURE__*/React.createElement(Elevation, {
97
+ style: [{
98
+ elevation
99
+ }, style]
100
+ }, /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
101
+ onPress: onPress,
102
+ accessibilityState: {
103
+ disabled
104
+ },
105
+ accessibilityRole: "button",
106
+ disabled: disabled || loading,
107
+ style: buttonStyles
108
+ }), /*#__PURE__*/React.createElement(View, {
109
+ style: styles.content
110
+ }, icon && loading !== true ? /*#__PURE__*/React.createElement(View, {
111
+ style: iconStyle
112
+ }, /*#__PURE__*/React.createElement(Icon, {
113
+ name: icon,
114
+ size: Config.buttonIconSize,
115
+ color: textColor
116
+ })) : null, loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
117
+ size: "small",
118
+ color: textColor,
119
+ style: iconStyle
120
+ }) : null, label ? /*#__PURE__*/React.createElement(Text, {
121
+ numberOfLines: 1,
122
+ style: [textStyle, typography.button]
123
+ }, label) : null)));
124
+ };
125
+ const styles = StyleSheet.create({
126
+ button: {
127
+ borderStyle: "solid"
128
+ },
129
+ content: {
130
+ flexDirection: "row",
131
+ alignItems: "center",
132
+ justifyContent: "center"
133
+ },
134
+ icon: {
135
+ alignItems: "center",
136
+ justifyContent: "center",
137
+ width: Config.buttonIconSize
138
+ },
139
+ fixed: {
140
+ left: 0,
141
+ right: 0,
142
+ bottom: 0,
143
+ height: 64,
144
+ borderRadius: 0
145
+ }
146
+ });
147
+ export default withTheme(FAB);
@@ -1,12 +1,5 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
1
  import * as React from "react";
5
2
  export default class PortalConsumer extends React.Component {
6
- constructor() {
7
- super(...arguments);
8
- _defineProperty(this, "key", void 0);
9
- }
10
3
  async componentDidMount() {
11
4
  this.checkManager();
12
5
 
@@ -79,7 +79,6 @@ export default class PortalHost extends React.Component {
79
79
  });
80
80
  _defineProperty(this, "nextKey", 0);
81
81
  _defineProperty(this, "queue", []);
82
- _defineProperty(this, "manager", void 0);
83
82
  }
84
83
  componentDidMount() {
85
84
  const manager = this.manager;
@@ -1,3 +1,6 @@
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
1
4
  import * as React from "react";
2
5
  import { View, StyleSheet } from "react-native";
3
6
  /**
@@ -6,47 +9,18 @@ import { View, StyleSheet } from "react-native";
6
9
  export default class PortalManager extends React.PureComponent {
7
10
  constructor() {
8
11
  super(...arguments);
9
- this.state = {
12
+ _defineProperty(this, "state", {
10
13
  portals: []
11
- };
12
- this.mount = (key, children) => {
14
+ });
15
+ _defineProperty(this, "mount", (key, children) => {
13
16
  this.setState(state => ({
14
17
  portals: [...state.portals, {
15
18
  key,
16
19
  children
17
20
  }]
18
21
  }));
19
- };
20
- this.update = (key, children) => this.setState(state => ({
21
- portals: state.portals.map(item => {
22
- if (item.key === key) {
23
- return {
24
- ...item,
25
- children
26
- };
27
- }
28
- return item;
29
- })
30
- }));
31
- this.unmount = key => this.setState(state => ({
32
- portals: state.portals.filter(item => item.key !== key)
33
- }));
34
- }
35
- render() {
36
- return this.state.portals.map(_ref => {
37
- let {
38
- key,
39
- children
40
- } = _ref;
41
- return /*#__PURE__*/React.createElement(View, {
42
- key: key,
43
- collapsable: false /* Need collapsable=false here to clip the elevations, otherwise they appear above sibling components */,
44
- pointerEvents: "box-none",
45
- style: StyleSheet.absoluteFill
46
- }, children);
47
22
  });
48
- }
49
- }ey, children) => this.setState(state => ({
23
+ _defineProperty(this, "update", (key, children) => this.setState(state => ({
50
24
  portals: state.portals.map(item => {
51
25
  if (item.key === key) {
52
26
  return {
@@ -0,0 +1,45 @@
1
+ import * as React from "react";
2
+ import StepIndicator from "./StepIndicator";
3
+ import { withTheme } from "../theming";
4
+ const ProgressIndicator = _ref => {
5
+ let {
6
+ numberOfSteps,
7
+ currentStep,
8
+ currentStepStrokeWidth = 3,
9
+ stepStrokeCurrentColor = "primary",
10
+ stepIndicatorSize,
11
+ currentStepIndicatorSize,
12
+ stepIndicatorCurrentColor,
13
+ stepIndicatorLabelCurrentColor,
14
+ stepIndicatorLabelFontSize = 12,
15
+ stepNumberFinishedColor = "strongInverse",
16
+ stepNumberUnfinishedColor = "primary",
17
+ unfinishedColor = "light",
18
+ finishedColor = "primary",
19
+ theme
20
+ } = _ref;
21
+ const currentPosition = currentStep - 1;
22
+ return /*#__PURE__*/React.createElement(StepIndicator, {
23
+ stepCount: numberOfSteps,
24
+ currentPosition: currentPosition,
25
+ customStyles: {
26
+ stepIndicatorSize,
27
+ currentStepIndicatorSize: currentStepIndicatorSize ? currentStepIndicatorSize : stepIndicatorSize,
28
+ stepStrokeFinishedColor: finishedColor,
29
+ stepStrokeUnFinishedColor: unfinishedColor,
30
+ separatorFinishedColor: finishedColor,
31
+ separatorUnFinishedColor: unfinishedColor,
32
+ stepIndicatorFinishedColor: finishedColor,
33
+ stepIndicatorUnFinishedColor: unfinishedColor,
34
+ currentStepStrokeWidth,
35
+ stepStrokeCurrentColor: stepStrokeCurrentColor || stepIndicatorCurrentColor,
36
+ stepIndicatorLabelUnFinishedColor: stepNumberUnfinishedColor,
37
+ stepIndicatorLabelFinishedColor: stepNumberFinishedColor,
38
+ stepIndicatorCurrentColor: stepIndicatorCurrentColor || unfinishedColor,
39
+ stepIndicatorLabelCurrentColor: stepIndicatorLabelCurrentColor || stepNumberUnfinishedColor,
40
+ stepIndicatorLabelFontSize,
41
+ labelFontFamily: theme.typography.body1.fontFamily
42
+ }
43
+ });
44
+ };
45
+ export default withTheme(ProgressIndicator);
@@ -0,0 +1 @@
1
+ export {};
@@ -8,7 +8,6 @@ import { withTheme } from "../theming";
8
8
  class Text extends React.Component {
9
9
  constructor() {
10
10
  super(...arguments);
11
- _defineProperty(this, "_root", void 0);
12
11
  _defineProperty(this, "state", {
13
12
  nativeProps: {}
14
13
  });
@@ -0,0 +1,119 @@
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, createElevationType, createNumColumnsType, BLOCK_STYLES_SECTIONS } from "@draftbit/types";
2
+ const SEED_DATA_PROPS = {
3
+ image: {
4
+ group: GROUPS.data,
5
+ label: "Image",
6
+ description: "Image",
7
+ formType: FORM_TYPES.image,
8
+ propType: PROP_TYPES.ASSET,
9
+ defaultValue: null,
10
+ editable: true,
11
+ required: false
12
+ },
13
+ title: {
14
+ group: GROUPS.data,
15
+ label: "Title",
16
+ description: "Text to display",
17
+ formType: FORM_TYPES.string,
18
+ propType: PROP_TYPES.STRING,
19
+ defaultValue: "Beautiful West Coast Villa",
20
+ editable: true,
21
+ required: false
22
+ },
23
+ leftDescription: {
24
+ group: GROUPS.data,
25
+ label: "Left description",
26
+ description: "Text to display on the left",
27
+ formType: FORM_TYPES.string,
28
+ propType: PROP_TYPES.STRING,
29
+ defaultValue: "San Diego",
30
+ editable: true,
31
+ required: false
32
+ },
33
+ rightDescription: {
34
+ group: GROUPS.data,
35
+ label: "Right description",
36
+ description: "Text to display on the right",
37
+ formType: FORM_TYPES.string,
38
+ propType: PROP_TYPES.STRING,
39
+ defaultValue: "$100",
40
+ editable: true,
41
+ required: false
42
+ },
43
+ aspectRatio: {
44
+ group: GROUPS.basic,
45
+ label: "Aspect ratio",
46
+ description: "Aspect ratio of the image",
47
+ formType: FORM_TYPES.aspectRatio,
48
+ propType: PROP_TYPES.NUMBER,
49
+ defaultValue: 1.5,
50
+ editable: true,
51
+ required: false
52
+ },
53
+ titleCentered: {
54
+ group: GROUPS.basic,
55
+ label: "Title centered",
56
+ description: "Whether to center the title",
57
+ formType: FORM_TYPES.boolean,
58
+ propType: PROP_TYPES.BOOLEAN,
59
+ defaultValue: false,
60
+ editable: true,
61
+ required: false
62
+ },
63
+ elevation: createElevationType(2)
64
+ };
65
+ export const SEED_DATA = [{
66
+ name: "Small Card",
67
+ tag: "CardBlock",
68
+ description: "An elevated card with a title and description, that takes up one third of its container.",
69
+ category: COMPONENT_TYPES.card,
70
+ props: {
71
+ ...SEED_DATA_PROPS,
72
+ numColumns: createNumColumnsType({
73
+ defaultValue: 1
74
+ })
75
+ }
76
+ }, {
77
+ name: "Medium Block Card",
78
+ tag: "CardBlock",
79
+ description: "An elevated card with a title and description, that takes up one half of its container.",
80
+ category: COMPONENT_TYPES.card,
81
+ props: {
82
+ ...SEED_DATA_PROPS,
83
+ icon: {
84
+ group: GROUPS.basic,
85
+ label: "Icon",
86
+ description: "Icon to display on the top right",
87
+ formType: FORM_TYPES.icon,
88
+ propType: PROP_TYPES.STRING,
89
+ defaultValue: null,
90
+ editable: true,
91
+ required: true
92
+ },
93
+ numColumns: createNumColumnsType({
94
+ defaultValue: 2
95
+ })
96
+ }
97
+ }, {
98
+ name: "Large Block Card",
99
+ tag: "CardBlock",
100
+ description: "An elevated card with a title and description, that takes up the full width its container.",
101
+ category: COMPONENT_TYPES.card,
102
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
103
+ props: {
104
+ ...SEED_DATA_PROPS,
105
+ icon: {
106
+ group: GROUPS.basic,
107
+ label: "Icon",
108
+ description: "Icon to display on the top right",
109
+ formType: FORM_TYPES.icon,
110
+ propType: PROP_TYPES.STRING,
111
+ defaultValue: null,
112
+ editable: true,
113
+ required: true
114
+ },
115
+ numColumns: createNumColumnsType({
116
+ defaultValue: 3
117
+ })
118
+ }
119
+ }];
@@ -0,0 +1,101 @@
1
+ import { GROUPS, FORM_TYPES, PROP_TYPES, COMPONENT_TYPES, createElevationType, createNumColumnsType, BLOCK_STYLES_SECTIONS } from "@draftbit/types";
2
+ const SEED_DATA_PROPS = {
3
+ image: {
4
+ label: "Image",
5
+ description: "Image",
6
+ formType: FORM_TYPES.image,
7
+ propType: PROP_TYPES.ASSET,
8
+ defaultValue: null,
9
+ editable: true,
10
+ required: true,
11
+ group: GROUPS.data
12
+ },
13
+ title: {
14
+ label: "Title",
15
+ description: "Text to display",
16
+ formType: FORM_TYPES.string,
17
+ propType: PROP_TYPES.STRING,
18
+ defaultValue: "Beautiful West Coast Villa",
19
+ editable: true,
20
+ required: false,
21
+ group: GROUPS.data
22
+ },
23
+ leftDescription: {
24
+ label: "Left description",
25
+ description: "Text to display on the left",
26
+ formType: FORM_TYPES.string,
27
+ propType: PROP_TYPES.STRING,
28
+ defaultValue: "San Diego",
29
+ editable: true,
30
+ required: false,
31
+ group: GROUPS.data
32
+ },
33
+ rightDescription: {
34
+ label: "Right description",
35
+ description: "Text to display on the right",
36
+ formType: FORM_TYPES.string,
37
+ propType: PROP_TYPES.STRING,
38
+ defaultValue: "$100",
39
+ editable: true,
40
+ required: false,
41
+ group: GROUPS.data
42
+ },
43
+ icon: {
44
+ label: "Icon",
45
+ description: "Icon to display on the top right",
46
+ formType: FORM_TYPES.icon,
47
+ propType: PROP_TYPES.STRING /* OR ASSET TODO TEST ME */,
48
+ defaultValue: null,
49
+ editable: true,
50
+ required: false,
51
+ group: GROUPS.basic
52
+ },
53
+ aspectRatio: {
54
+ label: "Aspect ratio",
55
+ description: "Aspect ratio of the image",
56
+ formType: FORM_TYPES.aspectRatio,
57
+ propType: PROP_TYPES.NUMBER,
58
+ defaultValue: 1.5,
59
+ editable: true,
60
+ required: false,
61
+ group: GROUPS.basic
62
+ },
63
+ textCentered: {
64
+ label: "Centered Text",
65
+ description: "Whether to center the text",
66
+ formType: FORM_TYPES.boolean,
67
+ propType: PROP_TYPES.BOOLEAN,
68
+ defaultValue: false,
69
+ editable: true,
70
+ required: false,
71
+ group: GROUPS.basic
72
+ },
73
+ elevation: createElevationType(2)
74
+ };
75
+ export const SEED_DATA = [{
76
+ name: "Medium Card",
77
+ tag: "CardContainer",
78
+ description: "An elevated card with a title and description, that takes up half of its container.",
79
+ category: COMPONENT_TYPES.card,
80
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
81
+ layout: null,
82
+ props: {
83
+ ...SEED_DATA_PROPS,
84
+ numColumns: createNumColumnsType({
85
+ defaultValue: 2
86
+ })
87
+ }
88
+ }, {
89
+ name: "Large Card",
90
+ tag: "CardContainer",
91
+ description: "An elevated card with a title and description, that takes up its full container.",
92
+ category: COMPONENT_TYPES.card,
93
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
94
+ layout: null,
95
+ props: {
96
+ ...SEED_DATA_PROPS,
97
+ numColumns: createNumColumnsType({
98
+ defaultValue: 3
99
+ })
100
+ }
101
+ }];
@@ -0,0 +1,123 @@
1
+ import { GROUPS, FORM_TYPES, PROP_TYPES, COMPONENT_TYPES, createElevationType, BLOCK_STYLES_SECTIONS } from "@draftbit/types";
2
+ const SEED_DATA_PROPS = {
3
+ image: {
4
+ group: GROUPS.data,
5
+ label: "Image",
6
+ description: "Image",
7
+ formType: FORM_TYPES.image,
8
+ propType: PROP_TYPES.ASSET,
9
+ defaultValue: null,
10
+ editable: true,
11
+ required: false
12
+ },
13
+ title: {
14
+ group: GROUPS.data,
15
+ label: "Title",
16
+ description: "Text to display",
17
+ formType: FORM_TYPES.string,
18
+ propType: PROP_TYPES.STRING,
19
+ defaultValue: "Beautiful West Coast Villa",
20
+ editable: true,
21
+ required: false
22
+ },
23
+ leftDescription: {
24
+ group: GROUPS.data,
25
+ label: "Left description",
26
+ description: "Text to display on the left",
27
+ formType: FORM_TYPES.string,
28
+ propType: PROP_TYPES.STRING,
29
+ defaultValue: "San Diego",
30
+ editable: true,
31
+ required: false
32
+ },
33
+ rightDescription: {
34
+ group: GROUPS.data,
35
+ label: "Right description",
36
+ description: "Text to display on the right",
37
+ formType: FORM_TYPES.string,
38
+ propType: PROP_TYPES.STRING,
39
+ defaultValue: "$100",
40
+ editable: true,
41
+ required: false
42
+ },
43
+ icon: {
44
+ group: GROUPS.basic,
45
+ label: "Icon",
46
+ description: "Icon to display on the top right",
47
+ formType: FORM_TYPES.icon,
48
+ propType: PROP_TYPES.ASSET,
49
+ defaultValue: null,
50
+ editable: true,
51
+ required: false
52
+ },
53
+ aspectRatio: {
54
+ group: GROUPS.basic,
55
+ label: "Aspect ratio",
56
+ description: "Aspect ratio of the image",
57
+ formType: FORM_TYPES.aspectRatio,
58
+ propType: PROP_TYPES.NUMBER,
59
+ defaultValue: 1.5,
60
+ editable: true,
61
+ required: false
62
+ },
63
+ rating: {
64
+ group: GROUPS.data,
65
+ label: "Rating",
66
+ description: "Number of stars to show. A number 0-5.",
67
+ formType: FORM_TYPES.number,
68
+ propType: PROP_TYPES.NUMBER,
69
+ defaultValue: 5,
70
+ min: 0,
71
+ max: 5,
72
+ step: 1,
73
+ precision: 0,
74
+ editable: true,
75
+ required: false
76
+ },
77
+ elevation: createElevationType(2)
78
+ };
79
+ export const SEED_DATA = [{
80
+ name: "Medium Card (Rating)",
81
+ tag: "CardContainerRating",
82
+ description: "An elevated card with a title and description, that takes up half of its container.",
83
+ category: COMPONENT_TYPES.card,
84
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
85
+ preview_image_url: "{CLOUDINARY_URL}/Card_ContainerRating_2col.png",
86
+ supports_list_render: true,
87
+ props: {
88
+ ...SEED_DATA_PROPS,
89
+ numColumns: {
90
+ label: "Number of Columns",
91
+ description: "Numbre of columns",
92
+ group: GROUPS.uncategorized,
93
+ formType: FORM_TYPES.number,
94
+ propType: PROP_TYPES.NUMBER,
95
+ defaultValue: 2,
96
+ editable: false,
97
+ required: false
98
+ }
99
+ },
100
+ layout: {}
101
+ }, {
102
+ name: "Large Card (Rating)",
103
+ tag: "CardContainerRating",
104
+ description: "An elevated card with a title and description, that takes up its full container.",
105
+ category: COMPONENT_TYPES.card,
106
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
107
+ preview_image_url: "{CLOUDINARY_URL}/Card_ContainerRating_3col.png",
108
+ supports_list_render: true,
109
+ props: {
110
+ ...SEED_DATA_PROPS,
111
+ numColumns: {
112
+ label: "Number of Columns",
113
+ description: "Numbre of columns",
114
+ group: GROUPS.uncategorized,
115
+ formType: FORM_TYPES.number,
116
+ propType: PROP_TYPES.NUMBER,
117
+ defaultValue: 3,
118
+ editable: false,
119
+ required: false
120
+ }
121
+ },
122
+ layout: {}
123
+ }];