@pareto-engineering/design-system 2.0.0-alpha.12 → 2.0.0-alpha.16

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 (58) hide show
  1. package/dist/cjs/a/BackgroundGradient/styles.scss +2 -4
  2. package/dist/cjs/a/Conversation/Conversation.js +15 -8
  3. package/dist/cjs/a/Conversation/common/Message/Message.js +33 -6
  4. package/dist/cjs/a/Conversation/styles.scss +139 -32
  5. package/dist/cjs/b/Button/styles.scss +43 -18
  6. package/dist/cjs/b/Page/common/Section/Section.js +16 -2
  7. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  8. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  9. package/dist/cjs/f/common/Label/Label.js +1 -1
  10. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  11. package/dist/cjs/f/fields/SelectInput/SelectInput.js +25 -6
  12. package/dist/cjs/f/fields/SelectInput/styles.scss +4 -4
  13. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  14. package/dist/cjs/f/fields/TextInput/TextInput.js +10 -3
  15. package/dist/cjs/f/fields/TextInput/styles.scss +4 -4
  16. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +1 -1
  17. package/dist/es/a/BackgroundGradient/styles.scss +2 -4
  18. package/dist/es/a/Conversation/Conversation.js +15 -8
  19. package/dist/es/a/Conversation/common/Message/Message.js +33 -6
  20. package/dist/es/a/Conversation/styles.scss +139 -32
  21. package/dist/es/b/Button/styles.scss +43 -18
  22. package/dist/es/b/Page/common/Section/Section.js +16 -2
  23. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  24. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  25. package/dist/es/f/common/Label/Label.js +1 -1
  26. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +1 -1
  27. package/dist/es/f/fields/SelectInput/SelectInput.js +25 -6
  28. package/dist/es/f/fields/SelectInput/styles.scss +4 -4
  29. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  30. package/dist/es/f/fields/TextInput/TextInput.js +10 -3
  31. package/dist/es/f/fields/TextInput/styles.scss +4 -4
  32. package/dist/es/f/fields/TextareaInput/TextareaInput.js +1 -1
  33. package/package.json +2 -2
  34. package/src/__snapshots__/Storyshots.test.js.snap +452 -93
  35. package/src/local.scss +1 -0
  36. package/src/stories/a/BackgroundGradient.stories.jsx +4 -6
  37. package/src/stories/a/Conversation.stories.jsx +78 -1
  38. package/src/stories/b/Button.stories.jsx +5 -4
  39. package/src/stories/b/Page.stories.jsx +25 -1
  40. package/src/stories/f/SelectInput.stories.jsx +29 -0
  41. package/src/stories/f/TextInput.stories.jsx +10 -0
  42. package/src/ui/a/BackgroundGradient/styles.scss +2 -4
  43. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  44. package/src/ui/a/Conversation/common/Message/Message.jsx +40 -7
  45. package/src/ui/a/Conversation/styles.scss +139 -32
  46. package/src/ui/b/Button/Button.jsx +2 -1
  47. package/src/ui/b/Button/styles.scss +43 -18
  48. package/src/ui/b/Page/common/Section/Section.jsx +18 -1
  49. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  50. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  51. package/src/ui/f/common/Label/Label.jsx +1 -1
  52. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +1 -1
  53. package/src/ui/f/fields/SelectInput/SelectInput.jsx +35 -5
  54. package/src/ui/f/fields/SelectInput/styles.scss +4 -4
  55. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +1 -1
  56. package/src/ui/f/fields/TextInput/TextInput.jsx +7 -0
  57. package/src/ui/f/fields/TextInput/styles.scss +4 -4
  58. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +1 -1
@@ -5,13 +5,11 @@
5
5
  position: absolute;
6
6
  top: 0;
7
7
  left: 0;
8
- display: flex;
9
- flex-direction: column;
10
- justify-content: var(--vertical-align);
11
8
  width: 100%;
12
9
  height: var(--gradient-height);
13
10
  background-image: linear-gradient(transparent, var(--y) 25%, var(--light-y) 75%, transparent);
14
- opacity: .8;
11
+ opacity: .4;
12
+ z-index: -1;
15
13
  }
16
14
 
17
15
 
@@ -35,17 +35,18 @@ var Conversation = _ref => {
35
35
  backgroundColor,
36
36
  ourColor,
37
37
  theirColor,
38
- children // ...otherProps
38
+ children,
39
+ hasTriangle // ...otherProps
39
40
 
40
41
  } = _ref;
41
42
  (0, React.useLayoutEffect)(() => {
42
43
  Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
43
- }, []); // const messageColors = { ours: color, theirs: 'main2' }
44
-
44
+ }, []);
45
45
  return /*#__PURE__*/React.createElement(_Context.default.Provider, {
46
46
  value: {
47
47
  ourColor,
48
- theirColor
48
+ theirColor,
49
+ hasTriangle
49
50
  }
50
51
  }, /*#__PURE__*/React.createElement("div", {
51
52
  id: id,
@@ -88,12 +89,18 @@ Conversation.propTypes = {
88
89
  /**
89
90
  * The children JSX
90
91
  */
91
- children: _propTypes.default.node
92
+ children: _propTypes.default.node,
93
+
94
+ /**
95
+ * whether to add triangle to bubble chats
96
+ */
97
+ hasTriangle: _propTypes.default.bool
92
98
  };
93
99
  Conversation.defaultProps = {
94
- backgroundColor: 'background',
95
- ourColor: 'main2',
96
- theirColor: 'background2'
100
+ backgroundColor: 'background2',
101
+ ourColor: 'background1',
102
+ theirColor: 'background1',
103
+ hasTriangle: 'false'
97
104
  };
98
105
  Conversation.Message = _common.Message;
99
106
  var _default = Conversation;
@@ -34,22 +34,32 @@ var Message = _ref => {
34
34
  style,
35
35
  message,
36
36
  sender,
37
- from // ...otherProps
37
+ from,
38
+ attachment,
39
+ attachmentIcon,
40
+ attachmentColor // ...otherProps
38
41
 
39
42
  } = _ref;
40
43
  var {
44
+ hasTriangle,
41
45
  ourColor,
42
46
  theirColor
43
47
  } = (0, _useConversation.default)();
44
48
  return /*#__PURE__*/React.createElement("div", {
45
49
  id: id,
46
- className: [baseClassName, componentClassName, userClassName, "x-".concat(from === 'ours' ? ourColor : theirColor), from === 'ours' && 'ours'].filter(e => e).join(' '),
50
+ className: [baseClassName, componentClassName, userClassName, "x-".concat(from === 'ours' ? ourColor : theirColor), from === 'ours' && 'ours', hasTriangle === true ? 'has-triangle' : '', 'v1'].filter(e => e).join(' '),
47
51
  style: style
48
52
  }, /*#__PURE__*/React.createElement("div", {
49
53
  className: _bem.default.elementContent
50
54
  }, /*#__PURE__*/React.createElement("p", {
51
55
  className: "sender v25 mb-v s-1"
52
- }, sender, ":"), /*#__PURE__*/React.createElement("p", null, message)));
56
+ }, sender, ":"), /*#__PURE__*/React.createElement("p", null, message), attachment && /*#__PURE__*/React.createElement("div", {
57
+ className: "attachment y-".concat(attachmentColor)
58
+ }, /*#__PURE__*/React.createElement("span", {
59
+ className: "f-icons"
60
+ }, attachmentIcon), /*#__PURE__*/React.createElement("p", {
61
+ className: "ml-v"
62
+ }, attachment))));
53
63
  };
54
64
 
55
65
  Message.propTypes = {
@@ -63,6 +73,11 @@ Message.propTypes = {
63
73
  */
64
74
  className: _propTypes.default.string,
65
75
 
76
+ /**
77
+ * The React-written, css properties for this element.
78
+ */
79
+ style: _propTypes.default.objectOf(_propTypes.default.string),
80
+
66
81
  /**
67
82
  * The message in the conversation
68
83
  */
@@ -79,12 +94,24 @@ Message.propTypes = {
79
94
  from: _propTypes.default.oneOf(['ours', 'theirs']),
80
95
 
81
96
  /**
82
- * The React-written, css properties for this element.
97
+ * name of the attachment file
98
+ */
99
+ attachment: _propTypes.default.string,
100
+
101
+ /**
102
+ * source of the attachment icon
103
+ */
104
+ attachmentIcon: _propTypes.default.string,
105
+
106
+ /**
107
+ * background color of the attachment box
83
108
  */
84
- style: _propTypes.default.objectOf(_propTypes.default.string)
109
+ attachmentColor: _propTypes.default.string
85
110
  };
86
111
  Message.defaultProps = {
87
- from: 'theirs'
112
+ from: 'theirs',
113
+ attachmentIcon: 'A',
114
+ attachmentColor: 'main4'
88
115
  };
89
116
  var _default = Message;
90
117
  exports.default = _default;
@@ -1,4 +1,5 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
+
2
3
  @use "@pareto-engineering/bem";
3
4
  @use "@aztlan/stylebook/src/mixins";
4
5
  @use "@aztlan/stylebook/src/globals" as *;
@@ -8,47 +9,153 @@ $default-conversation-background: var(--y);
8
9
  $default-message-max-width: calc(100% - #{$default-padding});
9
10
  $default-message-min-width: 12em;
10
11
  $default-message-border: var(--theme-border);
12
+ $triangle-border-size: 15px;
13
+ $triangle-border-style: $triangle-border-size solid;
14
+ $triangle-border-style-subtracted: ($triangle-border-size - 1px) solid;
15
+ $triangle-border1: $triangle-border-style var(--paragraph);
16
+ $triangle-border2: $triangle-border-style transparent;
17
+ $triangle-border3: $triangle-border-style-subtracted var(--x);
18
+ $triangle-border4: $triangle-border-style-subtracted transparent;
19
+ $triangle-before-side:24px;
20
+ $triangle-before-bottom:-30px;
21
+ $triangle-after-bottom:-27px;
22
+ $triangle-after-side:25px;
11
23
 
12
24
  .#{bem.$base}.conversation {
13
- display: flex;
14
- flex-direction: column;
15
- background-color: $default-conversation-background;
16
- padding: $default-padding;
25
+ background-color: $default-conversation-background;
26
+ border-radius: var(--theme-border-radius);
27
+ display: flex;
28
+ flex-direction: column;
29
+ padding: $default-padding;
30
+
31
+ >:not(:last-child) {
32
+ margin-bottom: $default-padding;
33
+ }
34
+
35
+ // >:nth-child(1) {
36
+ // animation-delay: 1s;
37
+ // }
38
+ // >:nth-child(2) {
39
+ // animation-delay: 3s;
40
+ // }
41
+
42
+ .#{bem.$base}.message {
43
+ align-self: flex-start;
44
+ background-color: var(--x);
45
+ // animation: fadeIn 1s ease-in both;
46
+ border: $default-message-border;
17
47
  border-radius: var(--theme-border-radius);
48
+ max-width: $default-message-max-width;
49
+ min-width: $default-message-min-width;
50
+ padding: $default-padding;
51
+ position: relative;
18
52
 
19
- >:not(:last-child) {
20
- margin-bottom: $default-padding;
21
- }
53
+ .#{bem.$element-content} {
54
+ display: flex;
55
+ flex-direction: column;
56
+
57
+ >p {
58
+ color: var(--on-x);
59
+ }
60
+
61
+ .sender {
62
+ font-weight: 800;
63
+ margin-bottom: .5em;
64
+ }
22
65
 
23
- .#{bem.$base}.message {
24
- min-width: $default-message-min-width;
25
- max-width: $default-message-max-width;
26
- padding: $default-padding;
27
- border-radius: var(--theme-border-radius);
28
- background-color: var(--x);
29
- align-self: flex-start;
30
- border: $default-message-border;
31
-
32
- .#{bem.$element-content} {
33
- display: flex;
34
- flex-direction: column;
35
-
36
- >p {
37
- color: var(--on-x);
38
- }
39
-
40
- .sender {
41
- font-weight: 800;
42
- margin-bottom: .5em;
43
- }
66
+ .attachment {
67
+ align-self: baseline;
68
+ background-color: var(--y);
69
+ display: flex;
70
+ flex-direction: row;
71
+ padding: .5em 1em;
72
+
73
+ > p {
74
+ margin-bottom: 0;
44
75
  }
45
- }
46
76
 
47
- .#{bem.$base}.ours {
48
- align-self: flex-end;
77
+ > img {
78
+ width: 40px;
79
+ }
80
+ }
81
+ }
82
+ &.#{bem.$base}.ours {
83
+ align-self: flex-end;
49
84
  }
50
85
 
51
- }
86
+ &.has-triangle {
87
+ ::before {
88
+ border-bottom: $triangle-border2;
89
+ border-left: $triangle-border2;
90
+ border-right: $triangle-border1;
91
+ border-top: $triangle-border1;
92
+ bottom: $triangle-before-bottom;
93
+ content: "";
94
+ height: 0;
95
+ position: absolute;
96
+ right: $triangle-before-side;
97
+ width: 0;
98
+ }
99
+
100
+ ::after {
101
+ border-bottom: $triangle-border4;
102
+ border-left: $triangle-border4;
103
+ border-right: $triangle-border3;
104
+ border-top: $triangle-border3;
105
+ bottom: $triangle-after-bottom;
106
+ content: "";
107
+ height: 0;
108
+ position: absolute;
109
+ right: $triangle-after-side;
110
+ width: 0;
111
+ }
112
+
113
+ &:not(.ours) {
114
+ ::before {
115
+ border-bottom: $triangle-border2;
116
+ border-left: $triangle-border1;
117
+ border-right: $triangle-border2;
118
+ border-top: $triangle-border1;
119
+ bottom: $triangle-before-bottom;
120
+ content: "";
121
+ height: 0;
122
+ left: $triangle-before-side;
123
+ position: absolute;
124
+ width: 0;
125
+ }
52
126
 
127
+ ::after {
128
+ border-bottom: $triangle-border4;
129
+ border-left: $triangle-border3;
130
+ border-right: $triangle-border4;
131
+ border-top: $triangle-border3;
132
+ bottom: $triangle-after-bottom;
133
+ content: "";
134
+ height: 0;
135
+ left: $triangle-after-side;
136
+ position: absolute;
137
+ width: 0;
138
+ }
139
+ }
140
+ }
53
141
 
142
+ // mobile style
143
+ @include mixins.media($to:$sm-md) {
144
+ .message {
145
+ margin-top: 2em;
146
+ }
147
+ }
148
+ }
149
+ }
54
150
 
151
+ //@keyframes fadeIn {
152
+ // from {
153
+ // opacity: 0;
154
+ // transform: translate3d(0, 50%, 0);
155
+ // }
156
+ //
157
+ // to {
158
+ // opacity: 1;
159
+ // transform: translate3d(0, 0, 0);
160
+ // }
161
+ //}
@@ -7,31 +7,47 @@ $compact-padding: .6em .6em .48em;
7
7
  $default-color:primary;
8
8
  $font-weight:bold;
9
9
  $default-margin:.5em;
10
+ $default-animation-time: .3s;
10
11
 
11
12
  .#{bem.$base}.button {
12
13
  background: var(--x, var(--#{$default-color}));
13
14
  border: transparent;
14
15
  border-radius: var(--theme-border-radius);
15
16
  color: var(--on-x, var(--on-#{$default-color}));
17
+ display: inline-flex;
18
+ font-family: var(--theme-default-paragraph);
16
19
  font-weight: 600;
20
+ justify-content: space-between;
17
21
  padding: $default-padding;
18
22
  transition: all .25s;
19
23
 
20
- &.arrow-right{
24
+ &.arrow-right {
21
25
  &::after {
22
- content: "L";
23
- font-family: "icons";
24
- vertical-align: middle;
26
+ content: "-->";
25
27
  margin-left: $default-margin;
28
+ vertical-align: middle;
29
+ }
30
+
31
+ &:hover {
32
+ &::after {
33
+ --final-position: 50%;
34
+ animation: animateArrow $default-animation-time forwards;
35
+ }
26
36
  }
27
37
  }
28
38
 
29
- &.arrow-left{
39
+ &.arrow-left {
30
40
  &::before {
31
- content: "H";
32
- font-family: "icons";
33
- vertical-align: middle;
41
+ content: "<--";
34
42
  margin-right: $default-margin;
43
+ vertical-align: middle;
44
+ }
45
+
46
+ &:hover {
47
+ &::before {
48
+ --final-position: -50%;
49
+ animation: animateArrow $default-animation-time forwards;
50
+ }
35
51
  }
36
52
  }
37
53
 
@@ -41,12 +57,12 @@ $default-margin:.5em;
41
57
  &:hover {
42
58
  background: var(--light-x, var(--light-#{$default-color}));
43
59
  }
60
+
44
61
  &:focus {
45
62
  background: var(--dark-x, var(--dark-#{$default-color}));
46
63
  }
47
64
  }
48
65
 
49
-
50
66
  &.#{bem.$modifier-compact} {
51
67
  padding: $compact-padding;
52
68
  }
@@ -58,7 +74,7 @@ $default-margin:.5em;
58
74
 
59
75
  &:hover,
60
76
  &:focus,
61
- &:disabled{
77
+ &:disabled {
62
78
  background: transparent;
63
79
  }
64
80
 
@@ -74,7 +90,7 @@ $default-margin:.5em;
74
90
  }
75
91
  }
76
92
 
77
- &:disabled{
93
+ &:disabled {
78
94
  border: 1px solid var(--x, var(--#{$default-color}));
79
95
  color: var(--x, var(--#{$default-color}));
80
96
  }
@@ -83,8 +99,8 @@ $default-margin:.5em;
83
99
  &.#{bem.$modifier-simple} {
84
100
  background: transparent;
85
101
  border: 1px solid transparent;
86
- padding: 0;
87
102
  color: var(--x, var(--#{$default-color}));
103
+ padding: 0;
88
104
 
89
105
  &:disabled,
90
106
  &:hover,
@@ -93,13 +109,13 @@ $default-margin:.5em;
93
109
  }
94
110
 
95
111
  &:not(:disabled) {
96
- &:hover {
97
- color: var(--light-x, var(--light-#{$default-color}));
98
- }
112
+ &:hover {
113
+ color: var(--light-x, var(--light-#{$default-color}));
114
+ }
99
115
 
100
- &:focus {
101
- color: var(--dark-x, var(--dark-#{$default-color}));
102
- }
116
+ &:focus {
117
+ color: var(--dark-x, var(--dark-#{$default-color}));
118
+ }
103
119
  }
104
120
 
105
121
  &:disabled {
@@ -114,3 +130,12 @@ $default-margin:.5em;
114
130
  }
115
131
 
116
132
 
133
+ @keyframes animateArrow {
134
+ from {
135
+ transform: translateX(0);
136
+ }
137
+
138
+ to {
139
+ transform: translateX(var(--final-position));
140
+ }
141
+ }
@@ -15,7 +15,7 @@ var _a = require("../../../../a");
15
15
 
16
16
  var _usePage = _interopRequireDefault(require("../../usePage"));
17
17
 
18
- var _excluded = ["id", "className", "style", "children", "backgroundShape", "backgroundVerticalAlign", "backgroundHorizontalAlign", "backgroundHeight", "backgroundOverflow"];
18
+ var _excluded = ["id", "className", "style", "children", "backgroundShape", "backgroundGradient", "backgroundGradientHeight", "backgroundVerticalAlign", "backgroundHorizontalAlign", "backgroundHeight", "backgroundOverflow"];
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -39,6 +39,8 @@ var Section = _ref => {
39
39
  style,
40
40
  children,
41
41
  backgroundShape,
42
+ backgroundGradient,
43
+ backgroundGradientHeight,
42
44
  backgroundVerticalAlign,
43
45
  backgroundHorizontalAlign,
44
46
  backgroundHeight,
@@ -60,6 +62,8 @@ var Section = _ref => {
60
62
  overflow: backgroundOverflow,
61
63
  height: backgroundHeight,
62
64
  shape: backgroundShape
65
+ }), backgroundGradient && /*#__PURE__*/React.createElement(_a.BackgroundGradient, {
66
+ height: backgroundGradientHeight
63
67
  }));
64
68
  };
65
69
 
@@ -107,7 +111,17 @@ Section.propTypes = {
107
111
  /**
108
112
  * The background overflow to use for if the background shape is set.
109
113
  */
110
- backgroundOverflow: _propTypes.default.oneOf(['visible', 'hidden', 'scroll'])
114
+ backgroundOverflow: _propTypes.default.oneOf(['visible', 'hidden', 'scroll']),
115
+
116
+ /**
117
+ * The background gradient to use for if the background gradient is set.
118
+ */
119
+ backgroundGradient: _propTypes.default.bool,
120
+
121
+ /**
122
+ * The background gradient height to use for if the background gradient is set.
123
+ */
124
+ backgroundGradientHeight: _propTypes.default.string
111
125
  };
112
126
  Section.defaultProps = {// someProp:false
113
127
  };
@@ -74,7 +74,8 @@ var Navigator = _ref => {
74
74
  } else {
75
75
  setNextStepIndex(stepsForward);
76
76
  }
77
- }
77
+ },
78
+ isCompact: true
78
79
  }, "Next") : /*#__PURE__*/React.createElement("span", null));
79
80
  };
80
81
 
@@ -136,8 +137,8 @@ Navigator.propTypes = {
136
137
  };
137
138
  Navigator.defaultProps = {
138
139
  canMoveForward: true,
139
- previousColor: 'main1',
140
- nextColor: 'main1',
140
+ previousColor: 'main2',
141
+ nextColor: 'main2',
141
142
  stepsForward: 1,
142
143
  stepsBackwards: 1
143
144
  };
@@ -47,7 +47,7 @@ var Debugger = _ref => {
47
47
  style: style
48
48
  }, /*#__PURE__*/React.createElement(_b.Button, {
49
49
  onClick: toggleDebugger,
50
- color: "main1"
50
+ color: "main2"
51
51
  }, isOpen ? 'Close FormDebugger' : 'Open FormDebugger'), isOpen && /*#__PURE__*/React.createElement("pre", {
52
52
  className: "debuger-content"
53
53
  }, JSON.stringify(formikContext, null, 2)));
@@ -86,7 +86,7 @@ Label.propTypes = {
86
86
  Label.defaultProps = {
87
87
  // someProp:false
88
88
  as: 'label',
89
- color: 'main1'
89
+ color: 'main2'
90
90
  };
91
91
  var _default = Label;
92
92
  exports.default = _default;
@@ -150,7 +150,7 @@ ChoicesInput.defaultProps = {
150
150
  gridColumnsMobile: 2,
151
151
  gridColumnsDesktop: 3,
152
152
  color: 'background2',
153
- colorChecked: 'main1',
153
+ colorChecked: 'main2',
154
154
  disabled: false
155
155
  };
156
156
 
@@ -38,13 +38,18 @@ var SelectInput = _ref => {
38
38
  name,
39
39
  label,
40
40
  options,
41
+ validate,
42
+ description,
41
43
  disabled // ...otherProps
42
44
 
43
45
  } = _ref;
44
46
  (0, React.useLayoutEffect)(() => {
45
47
  Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
46
48
  }, []);
47
- var [field, meta] = (0, _formik.useField)(name);
49
+ var [field, meta] = (0, _formik.useField)({
50
+ name,
51
+ validate
52
+ });
48
53
  return /*#__PURE__*/React.createElement("div", {
49
54
  id: id,
50
55
  className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
@@ -56,6 +61,7 @@ var SelectInput = _ref => {
56
61
  }, label), /*#__PURE__*/React.createElement("select", _extends({
57
62
  className: "input v25 pv-v"
58
63
  }, field, {
64
+ value: field.value || '',
59
65
  id: name,
60
66
  disabled: disabled
61
67
  }), options.map(option => {
@@ -66,11 +72,13 @@ var SelectInput = _ref => {
66
72
  } : option;
67
73
  return /*#__PURE__*/React.createElement("option", {
68
74
  key: newOption.value,
69
- value: newOption.value
75
+ value: newOption.value,
76
+ disabled: (newOption === null || newOption === void 0 ? void 0 : newOption.disabled) || false
70
77
  }, newOption.label);
71
- })), meta.error && meta.touched && /*#__PURE__*/React.createElement(_common.FormDescription, {
72
- error: true
73
- }, meta.error));
78
+ })), (description || meta.touched && meta.error) && /*#__PURE__*/React.createElement(_common.FormDescription, {
79
+ isError: !!meta.error,
80
+ className: "v50 mt-v s-1"
81
+ }, meta.error || description));
74
82
  };
75
83
 
76
84
  SelectInput.propTypes = {
@@ -99,12 +107,23 @@ SelectInput.propTypes = {
99
107
  */
100
108
  label: _propTypes.default.string,
101
109
 
110
+ /**
111
+ * The input field validator function
112
+ */
113
+ validate: _propTypes.default.func,
114
+
115
+ /**
116
+ * The select input description
117
+ */
118
+ description: _propTypes.default.string,
119
+
102
120
  /**
103
121
  * The options of the select input
104
122
  */
105
123
  options: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({
106
124
  value: _propTypes.default.string,
107
- label: _propTypes.default.string
125
+ label: _propTypes.default.string,
126
+ disabled: _propTypes.default.bool
108
127
  })])),
109
128
 
110
129
  /**
@@ -14,16 +14,16 @@ $default-padding: 0.75em 0.75em 0.55em;
14
14
 
15
15
 
16
16
  .input-label {
17
- color: var(--main1);
17
+ color: var(--main2);
18
18
  }
19
19
 
20
20
  .input {
21
- background: var(--light-background1);
22
- color: var(--on-background1);
21
+ background: var(--light-background2);
22
+ color: var(--on-background2);
23
23
  padding: $default-padding;
24
24
 
25
25
  &:focus {
26
- background: var(--dark-background1);
26
+ background: var(--dark-background2);
27
27
  }
28
28
  }
29
29
  }
@@ -123,7 +123,7 @@ TaskRecommendationInput.propTypes = {
123
123
  image: _propTypes.default.string.isRequired
124
124
  };
125
125
  TaskRecommendationInput.defaultProps = {
126
- color: 'main1'
126
+ color: 'main2'
127
127
  };
128
128
 
129
129
  var _default = /*#__PURE__*/(0, React.memo)(TaskRecommendationInput);
@@ -41,7 +41,8 @@ var TextInput = _ref => {
41
41
  validate,
42
42
  oneInputLabel,
43
43
  description,
44
- disabled // ...otherProps
44
+ disabled,
45
+ placeholder // ...otherProps
45
46
 
46
47
  } = _ref;
47
48
  (0, React.useLayoutEffect)(() => {
@@ -63,7 +64,8 @@ var TextInput = _ref => {
63
64
  id: name,
64
65
  className: "input ".concat(meta.touched && meta.error ? 'input-border-error' : 'input-border'),
65
66
  type: type,
66
- disabled: disabled
67
+ disabled: disabled,
68
+ placeholder: placeholder
67
69
  }, field)), (description || meta.touched && meta.error) && /*#__PURE__*/React.createElement(_common.FormDescription, {
68
70
  isError: !!meta.error,
69
71
  className: "v50 mt-v s-1"
@@ -119,7 +121,12 @@ TextInput.propTypes = {
119
121
  /**
120
122
  * Whether the text input should be disabled
121
123
  */
122
- disabled: _propTypes.default.bool
124
+ disabled: _propTypes.default.bool,
125
+
126
+ /**
127
+ * The placeholder text for the input
128
+ */
129
+ placeholder: _propTypes.default.string
123
130
  };
124
131
  TextInput.defaultProps = {
125
132
  type: 'text',