@pareto-engineering/design-system 4.0.0-alpha.35 → 4.0.0-alpha.37

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 (89) hide show
  1. package/dist/cjs/f/common/InputWrapper/InputWrapper.js +74 -0
  2. package/dist/cjs/f/common/InputWrapper/index.js +13 -0
  3. package/dist/cjs/f/common/InputWrapper/styles.scss +13 -0
  4. package/dist/cjs/f/common/Label/Label.js +18 -4
  5. package/dist/cjs/f/common/Label/styles.scss +8 -2
  6. package/dist/cjs/f/common/index.js +8 -1
  7. package/dist/cjs/f/fields/Checkbox/Checkbox.js +40 -10
  8. package/dist/cjs/f/fields/Checkbox/styles.scss +6 -8
  9. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +42 -20
  10. package/dist/cjs/f/fields/ChoicesInput/common/Choice/Choice.js +1 -1
  11. package/dist/cjs/f/fields/ChoicesInput/styles.scss +50 -35
  12. package/dist/cjs/f/fields/QueryChoices/QueryChoices.js +26 -2
  13. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +35 -5
  14. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +41 -14
  15. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +33 -23
  16. package/dist/cjs/f/fields/QueryCombobox/styles.scss +58 -28
  17. package/dist/cjs/f/fields/QuerySelect/QuerySelect.js +17 -3
  18. package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +41 -19
  19. package/dist/cjs/f/fields/RatingsInput/common/Rating/Rating.js +3 -3
  20. package/dist/cjs/f/fields/RatingsInput/styles.scss +6 -13
  21. package/dist/cjs/f/fields/SelectInput/SelectInput.js +45 -15
  22. package/dist/cjs/f/fields/SelectInput/styles.scss +41 -18
  23. package/dist/cjs/f/fields/TextInput/TextInput.js +38 -16
  24. package/dist/cjs/f/fields/TextInput/styles.scss +28 -22
  25. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +42 -21
  26. package/dist/cjs/f/fields/TextareaInput/styles.scss +42 -27
  27. package/dist/es/f/common/InputWrapper/InputWrapper.js +66 -0
  28. package/dist/es/f/common/InputWrapper/index.js +2 -0
  29. package/dist/es/f/common/InputWrapper/styles.scss +13 -0
  30. package/dist/es/f/common/Label/Label.js +18 -4
  31. package/dist/es/f/common/Label/styles.scss +8 -2
  32. package/dist/es/f/common/index.js +2 -1
  33. package/dist/es/f/fields/Checkbox/Checkbox.js +41 -11
  34. package/dist/es/f/fields/Checkbox/styles.scss +6 -8
  35. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +43 -21
  36. package/dist/es/f/fields/ChoicesInput/common/Choice/Choice.js +1 -1
  37. package/dist/es/f/fields/ChoicesInput/styles.scss +50 -35
  38. package/dist/es/f/fields/QueryChoices/QueryChoices.js +26 -2
  39. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +35 -5
  40. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +41 -14
  41. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +33 -23
  42. package/dist/es/f/fields/QueryCombobox/styles.scss +58 -28
  43. package/dist/es/f/fields/QuerySelect/QuerySelect.js +17 -3
  44. package/dist/es/f/fields/RatingsInput/RatingsInput.js +42 -20
  45. package/dist/es/f/fields/RatingsInput/common/Rating/Rating.js +3 -3
  46. package/dist/es/f/fields/RatingsInput/styles.scss +6 -13
  47. package/dist/es/f/fields/SelectInput/SelectInput.js +46 -16
  48. package/dist/es/f/fields/SelectInput/styles.scss +41 -18
  49. package/dist/es/f/fields/TextInput/TextInput.js +39 -17
  50. package/dist/es/f/fields/TextInput/styles.scss +28 -22
  51. package/dist/es/f/fields/TextareaInput/TextareaInput.js +43 -22
  52. package/dist/es/f/fields/TextareaInput/styles.scss +42 -27
  53. package/package.json +2 -2
  54. package/src/stories/f/Checkbox.stories.jsx +22 -7
  55. package/src/stories/f/ChoicesInput.stories.jsx +21 -7
  56. package/src/stories/f/QueryChoices.stories.jsx +20 -4
  57. package/src/stories/f/QueryCombobox.stories.jsx +25 -13
  58. package/src/stories/f/QuerySelect.stories.jsx +20 -5
  59. package/src/stories/f/RatingsInput.stories.jsx +16 -2
  60. package/src/stories/f/SelectInput.stories.jsx +20 -5
  61. package/src/stories/f/TextInput.stories.jsx +23 -9
  62. package/src/stories/f/TextareaInput.stories.jsx +16 -2
  63. package/src/ui/f/common/InputWrapper/InputWrapper.jsx +89 -0
  64. package/src/ui/f/common/InputWrapper/index.js +2 -0
  65. package/src/ui/f/common/InputWrapper/styles.scss +13 -0
  66. package/src/ui/f/common/Label/Label.jsx +18 -2
  67. package/src/ui/f/common/Label/styles.scss +8 -2
  68. package/src/ui/f/common/index.js +1 -0
  69. package/src/ui/f/fields/Checkbox/Checkbox.jsx +65 -27
  70. package/src/ui/f/fields/Checkbox/styles.scss +6 -8
  71. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +75 -47
  72. package/src/ui/f/fields/ChoicesInput/common/Choice/Choice.jsx +10 -3
  73. package/src/ui/f/fields/ChoicesInput/styles.scss +50 -35
  74. package/src/ui/f/fields/QueryChoices/QueryChoices.jsx +28 -0
  75. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +37 -2
  76. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +67 -38
  77. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +81 -66
  78. package/src/ui/f/fields/QueryCombobox/styles.scss +58 -28
  79. package/src/ui/f/fields/QuerySelect/QuerySelect.jsx +16 -1
  80. package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +55 -28
  81. package/src/ui/f/fields/RatingsInput/common/Rating/Rating.jsx +3 -3
  82. package/src/ui/f/fields/RatingsInput/styles.scss +6 -13
  83. package/src/ui/f/fields/SelectInput/SelectInput.jsx +88 -49
  84. package/src/ui/f/fields/SelectInput/styles.scss +41 -18
  85. package/src/ui/f/fields/TextInput/TextInput.jsx +52 -29
  86. package/src/ui/f/fields/TextInput/styles.scss +28 -22
  87. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +65 -43
  88. package/src/ui/f/fields/TextareaInput/styles.scss +42 -27
  89. package/tests/__snapshots__/Storyshots.test.js.snap +4698 -3122
@@ -2,45 +2,67 @@
2
2
 
3
3
 
4
4
  @use "@pareto-engineering/bem";
5
- @use "../../../form.scss";
6
-
5
+ @use "@pareto-engineering/styles/src/mixins";
6
+ @use "@pareto-engineering/styles/src/globals" as *;
7
7
 
8
8
  $default-spacing-size: 1em;
9
- $default-padding: .5em;
9
+ $default-padding: .55em .75em;
10
10
  $default-bg-gradient: var(--background-far);
11
11
  $default-input-border-radius: var(--theme-default-input-border-radius);
12
+ $default-border: var(--theme-default-input-border);
13
+ $hover-border: var(--theme-hover-input-border);
14
+ $focus-border: var(--theme-focus-input-border);
15
+ $default-background: var(--background-inputs);
16
+ $disabled-background: var(--background-inputs-30);
12
17
 
13
18
  .#{bem.$base}.select-input {
14
- display: flex;
15
- flex-direction: column;
16
-
17
- .#{bem.$base}.label {
19
+ &.#{bem.$base}.label {
18
20
  margin-bottom: $default-spacing-size;
19
21
  }
20
22
 
21
- >.select-wrapper {
22
- background-color: var(--background-inputs);
23
+ .select-wrapper {
24
+ background-color: $default-background;
25
+ border: $default-border;
23
26
  border-radius: $default-input-border-radius;
24
- padding: $default-padding 0 $default-padding calc($default-padding * 1.5);
27
+ display: flex;
28
+ flex-direction: column;
29
+ padding: $default-padding;
30
+ padding-right: 0;
25
31
  position: relative;
26
32
 
33
+ &:not(.disabled) {
34
+ &:hover,
35
+ &:active {
36
+ border: $hover-border;
37
+ }
38
+
39
+ &:focus {
40
+ border: $focus-border;
41
+ }
42
+ }
43
+
44
+ &.disabled {
45
+ background: $disabled-background;
46
+ }
47
+
48
+ &::placeholder {
49
+ color: var(--metadata);
50
+ }
51
+
27
52
  &::after {
28
53
  border-radius: $default-input-border-radius;
29
54
  }
30
55
 
31
- &:not(:disabled):hover {
32
- box-shadow: var(--default-input-box-shadow);
33
- }
34
56
  >.#{bem.$base}.loading-circle {
35
57
  position: absolute;
36
- right: 0;
58
+ right: $default-spacing-size;
37
59
  top: 50%;
38
60
  transform: translateY(-50%);
39
61
  }
40
62
 
41
63
  select {
42
64
  appearance: none;
43
- background-color: transparent;
65
+ background-color: $default-background;
44
66
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyMCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5IDEuNUwxMCAxMC41TDEgMS41IiBzdHJva2U9IiM0QzRENTMiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
45
67
  background-position: calc(100% - $default-spacing-size);
46
68
  background-repeat: no-repeat;
@@ -48,12 +70,13 @@ $default-input-border-radius: var(--theme-default-input-border-radius);
48
70
  padding-right: $default-spacing-size;
49
71
 
50
72
  &.input {
51
- color: var(--paragraph);
73
+ border: none;
74
+ color: var(--y);
75
+ outline: none;
52
76
  width: 100%;
53
77
 
54
78
  &:disabled {
55
- appearance: none;
56
- opacity: 35%;
79
+ opacity: 0%;
57
80
  }
58
81
  }
59
82
  }
@@ -5,7 +5,7 @@ import { useInsertionEffect, memo } from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import styleNames from '@pareto-engineering/bem/exports';
7
7
  import { useField } from 'formik';
8
- import { FormLabel, FormDescription } from "../../common";
8
+ import { FormLabel, FormDescription, InputWrapper } from "../../common";
9
9
 
10
10
  // Local Definitions
11
11
 
@@ -25,12 +25,15 @@ const TextInput = ({
25
25
  color,
26
26
  labelColor,
27
27
  validate,
28
- oneInputLabel,
29
28
  description,
30
29
  disabled,
31
30
  placeholder,
32
31
  optional,
33
32
  autoComplete,
33
+ labelSpan,
34
+ desktopLabelSpan,
35
+ inputSpan,
36
+ desktopInputSpan,
34
37
  symbol
35
38
  // ...otherProps
36
39
  }) => {
@@ -44,19 +47,22 @@ const TextInput = ({
44
47
  const symbolStyle = symbol ? {
45
48
  '--symbol': symbol
46
49
  } : {};
47
- return /*#__PURE__*/React.createElement("div", {
48
- id: id,
49
- className: [baseClassName, componentClassName, userClassName, `y-${color}`].filter(e => e).join(' '),
50
- style: style
51
- // {...otherProps}
52
- }, /*#__PURE__*/React.createElement(FormLabel, {
53
- className: [oneInputLabel ? 'md-s2 s0 v1 mb-v' : 'v50 mb-v'].filter(e => e).join(' '),
50
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormLabel, {
54
51
  name: name,
55
52
  color: labelColor,
56
- optional: optional
57
- }, label), /*#__PURE__*/React.createElement("div", {
58
- className: `input-wrapper with-faded-border ${symbol ? 'has-symbol' : ''}`,
59
- style: symbolStyle
53
+ optional: optional,
54
+ columnSpan: labelSpan,
55
+ desktopColumnSpan: desktopLabelSpan
56
+ // {...otherProps}
57
+ }, label), /*#__PURE__*/React.createElement(InputWrapper, {
58
+ id: id,
59
+ className: [baseClassName, componentClassName, userClassName, `y-${color} ${symbol ? 'has-symbol' : ''}`].filter(e => e).join(' '),
60
+ style: {
61
+ ...symbolStyle,
62
+ ...style
63
+ },
64
+ columnSpan: inputSpan,
65
+ desktopColumnSpan: desktopInputSpan
60
66
  }, /*#__PURE__*/React.createElement("input", _extends({
61
67
  id: name,
62
68
  className: "input",
@@ -64,11 +70,11 @@ const TextInput = ({
64
70
  disabled: disabled,
65
71
  placeholder: placeholder,
66
72
  autoComplete: autoComplete
67
- }, field))), /*#__PURE__*/React.createElement(FormDescription, {
68
- className: "v50 mt-v s-1",
73
+ }, field)), /*#__PURE__*/React.createElement(FormDescription, {
74
+ className: "s-1",
69
75
  description: description,
70
76
  name: name
71
- }));
77
+ })));
72
78
  };
73
79
  TextInput.propTypes = {
74
80
  /**
@@ -132,6 +138,22 @@ TextInput.propTypes = {
132
138
  * `https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete`
133
139
  */
134
140
  autoComplete: PropTypes.string,
141
+ /**
142
+ * The number of columns the label should span
143
+ */
144
+ labelSpan: PropTypes.number,
145
+ /**
146
+ * The number of columns the input should span
147
+ */
148
+ inputSpan: PropTypes.number,
149
+ /**
150
+ * The number of columns the label should span on desktop
151
+ */
152
+ desktopLabelSpan: PropTypes.number,
153
+ /**
154
+ * The number of columns the input should span on desktop
155
+ */
156
+ desktopInputSpan: PropTypes.number,
135
157
  /**
136
158
  * A symbol to be set inside the input field
137
159
  */
@@ -139,7 +161,7 @@ TextInput.propTypes = {
139
161
  };
140
162
  TextInput.defaultProps = {
141
163
  type: 'text',
142
- color: 'main',
164
+ color: 'paragraph',
143
165
  disabled: false
144
166
  };
145
167
  export default /*#__PURE__*/memo(TextInput);
@@ -1,32 +1,32 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
2
 
3
3
  @use "@pareto-engineering/bem";
4
- @use "../../../form.scss";
4
+ @use "@pareto-engineering/styles/src/mixins";
5
+ @use "@pareto-engineering/styles/src/globals" as *;
5
6
 
6
- $default-padding: .75em .75em .55em;
7
+ $default-padding: .55em .75em;
7
8
  $default-symbol-left: 1em;
8
9
  $default-padding-with-symbol:
9
- .75em
10
+ .55em
10
11
  calc($default-symbol-left - 1em)
11
- .75em
12
+ .55em
12
13
  calc($default-symbol-left + 1em);
13
14
  $default-input-border-radius: var(--theme-default-input-border-radius);
14
-
15
+ $default-border: var(--theme-default-input-border);
16
+ $hover-border: var(--theme-hover-input-border);
17
+ $focus-border: var(--theme-focus-input-border);
18
+ $default-background: var(--background-inputs);
19
+ $disabled-background: var(--background-inputs-30);
15
20
 
16
21
  .#{bem.$base}.text-input {
17
- display: flex;
18
- flex-direction: column;
19
-
20
- >.input-wrapper {
22
+ &.#{bem.$base}.input-wrapper {
23
+ display: flex;
24
+ flex-direction: column;
21
25
  position: relative;
22
26
 
23
- &::after {
24
- border-radius: $default-input-border-radius;
25
- }
26
-
27
27
  &.has-symbol {
28
28
  &::before {
29
- color: var(--interactive);
29
+ color: var(--y);
30
30
  content: var(--symbol);
31
31
  left: $default-symbol-left;
32
32
  position: absolute;
@@ -40,10 +40,11 @@ $default-input-border-radius: var(--theme-default-input-border-radius);
40
40
  }
41
41
 
42
42
  > input {
43
- background-color: var(--background-inputs);
43
+ background-color: $default-background;
44
+ border: $default-border;
44
45
  border-radius: $default-input-border-radius;
45
- color: var(--paragraph);
46
- height: 100%;
46
+ color: var(--y);
47
+ outline: none;
47
48
  padding: $default-padding;
48
49
  width: 100%;
49
50
 
@@ -52,14 +53,19 @@ $default-input-border-radius: var(--theme-default-input-border-radius);
52
53
  }
53
54
 
54
55
  &:disabled {
55
- background-color: var(--hard-x);
56
+ background-color: $disabled-background;
56
57
  }
57
58
 
58
- &:not(:disabled):hover {
59
- border-radius: $default-input-border-radius;
60
- box-shadow: var(--theme-default-input-box-shadow);
59
+ &:not(:disabled) {
60
+ &:hover,
61
+ &:active {
62
+ border: $hover-border;
63
+ }
64
+
65
+ &:focus {
66
+ border: $focus-border;
67
+ }
61
68
  }
62
69
  }
63
70
  }
64
71
  }
65
-
@@ -8,7 +8,7 @@ import { useField } from 'formik';
8
8
 
9
9
  // Local Definitions
10
10
 
11
- import { FormLabel, FormDescription } from "../../common";
11
+ import { FormLabel, FormDescription, InputWrapper } from "../../common";
12
12
  const baseClassName = styleNames.base;
13
13
  const componentClassName = 'text-area-input';
14
14
 
@@ -22,17 +22,19 @@ const TextareaInput = ({
22
22
  name,
23
23
  label,
24
24
  validate,
25
- labelAsDescription,
26
- textAreaId,
25
+ color,
27
26
  rows,
28
27
  optional,
29
- backgroundColor,
30
28
  labelColor,
31
29
  description,
32
30
  disabled,
33
31
  placeholder,
34
32
  autoComplete,
35
- resize
33
+ resize,
34
+ labelSpan,
35
+ desktopLabelSpan,
36
+ inputSpan,
37
+ desktopInputSpan
36
38
  // ...otherProps
37
39
  }) => {
38
40
  useInsertionEffect(() => {
@@ -42,18 +44,21 @@ const TextareaInput = ({
42
44
  name,
43
45
  validate
44
46
  });
45
- return /*#__PURE__*/React.createElement("div", {
46
- id: id,
47
- className: [baseClassName, componentClassName, userClassName, `y-${backgroundColor}`].filter(e => e).join(' '),
48
- style: style
49
- // {...otherProps}
50
- }, /*#__PURE__*/React.createElement(FormLabel, {
51
- className: [labelAsDescription ? 'md-s2 s0 v1 mb-v' : 'v50 mb-v'].filter(e => e).join(' '),
47
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormLabel, {
52
48
  name: name,
53
49
  color: labelColor,
54
- optional: optional
55
- }, label), /*#__PURE__*/React.createElement("textarea", _extends({
56
- id: textAreaId,
50
+ optional: optional,
51
+ columnSpan: labelSpan,
52
+ desktopColumnSpan: desktopLabelSpan
53
+ // {...otherProps}
54
+ }, label), /*#__PURE__*/React.createElement(InputWrapper, {
55
+ id: id,
56
+ className: [baseClassName, componentClassName, userClassName, `y-${color}`].filter(e => e).join(' '),
57
+ style: style,
58
+ columnSpan: inputSpan,
59
+ desktopColumnSpan: desktopInputSpan
60
+ }, /*#__PURE__*/React.createElement("textarea", _extends({
61
+ id: name,
57
62
  className: "textarea"
58
63
  }, field, {
59
64
  style: {
@@ -64,10 +69,10 @@ const TextareaInput = ({
64
69
  disabled: disabled,
65
70
  autoComplete: autoComplete
66
71
  })), /*#__PURE__*/React.createElement(FormDescription, {
67
- className: "v50 mt-v s-1",
72
+ className: "s-1",
68
73
  description: description,
69
74
  name: name
70
- }));
75
+ })));
71
76
  };
72
77
  TextareaInput.propTypes = {
73
78
  /**
@@ -107,9 +112,9 @@ TextareaInput.propTypes = {
107
112
  */
108
113
  rows: PropTypes.number,
109
114
  /**
110
- * Text area background color
115
+ * Color of the text
111
116
  */
112
- backgroundColor: PropTypes.string,
117
+ color: PropTypes.string,
113
118
  /**
114
119
  * Label base color
115
120
  */
@@ -138,12 +143,28 @@ TextareaInput.propTypes = {
138
143
  /**
139
144
  * Whether the input is optional or not
140
145
  */
141
- optional: PropTypes.bool
146
+ optional: PropTypes.bool,
147
+ /**
148
+ * The number of columns the label should span
149
+ */
150
+ labelSpan: PropTypes.number,
151
+ /**
152
+ * The number of columns the input should span
153
+ */
154
+ inputSpan: PropTypes.number,
155
+ /**
156
+ * The number of columns the label should span on desktop
157
+ */
158
+ desktopLabelSpan: PropTypes.number,
159
+ /**
160
+ * The number of columns the input should span on desktop
161
+ */
162
+ desktopInputSpan: PropTypes.number
142
163
  };
143
164
  TextareaInput.defaultProps = {
144
165
  rows: 10,
145
- backgroundColor: 'background-inputs',
146
166
  disabled: false,
147
- resize: 'vertical'
167
+ resize: 'vertical',
168
+ color: 'paragraph'
148
169
  };
149
170
  export default /*#__PURE__*/memo(TextareaInput);
@@ -1,35 +1,50 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
2
 
3
3
  @use "@pareto-engineering/bem";
4
-
5
- $default-padding: var(--theme-default-padding);
6
- $active-border-color: var(--on-y);
4
+ @use "@pareto-engineering/styles/src/mixins";
5
+ @use "@pareto-engineering/styles/src/globals" as *;
6
+
7
+ $default-padding: .55em .75em;
8
+ $default-border: 1px solid var(--outline-inputs);
9
+ $default-input-border-radius: var(--theme-default-input-border-radius);
10
+ $default-border: var(--theme-default-input-border);
11
+ $hover-border: var(--theme-hover-input-border);
12
+ $focus-border: var(--theme-focus-input-border);
13
+ $default-background: var(--background-inputs);
14
+ $disabled-background: var(--background-inputs-30);
7
15
 
8
16
  .#{bem.$base}.text-area-input {
9
- display: flex;
10
- flex-direction: column;
11
-
12
- .textarea {
13
- background: var(--y);
14
- border: var(--theme-default-border-style) var(--hard-y);
15
- border-radius: calc(var(--theme-default-border-radius) / 2);
16
- color: var(--on-y);
17
- padding: $default-padding;
18
-
19
- &::placeholder {
20
- color: var(--metadata);
21
- }
22
-
23
- &:not(:disabled):hover {
24
- border: var(--theme-default-border-style) $active-border-color;
25
- }
26
-
27
- &:disabled {
28
- background-color: var(--hard-y);
29
- }
30
-
31
- &:focus {
32
- border: var(--theme-default-border-style) $active-border-color;
17
+ &.#{bem.$base}.input-wrapper {
18
+ display: flex;
19
+ flex-direction: column;
20
+
21
+ > .textarea {
22
+ background: $default-background;
23
+ border: $default-border;
24
+ border-radius: $default-input-border-radius;
25
+ color: var(--y);
26
+ outline: none;
27
+ padding: $default-padding;
28
+ width: 100%;
29
+
30
+ &::placeholder {
31
+ color: var(--metadata);
32
+ }
33
+
34
+ &:disabled {
35
+ background-color: $disabled-background;
36
+ }
37
+
38
+ &:not(:disabled) {
39
+ &:hover,
40
+ &:active {
41
+ border: $hover-border;
42
+ }
43
+
44
+ &:focus {
45
+ border: $focus-border;
46
+ }
47
+ }
33
48
  }
34
49
  }
35
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pareto-engineering/design-system",
3
- "version": "4.0.0-alpha.35",
3
+ "version": "4.0.0-alpha.37",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/es/index.js",
@@ -68,5 +68,5 @@
68
68
  "relay-test-utils": "^15.0.0"
69
69
  },
70
70
  "browserslist": "> 2%",
71
- "gitHead": "e4e29a866addbda9682fe399c39c3011f75fc8bd"
71
+ "gitHead": "a8f3ccb1df8b4de05c21fbd6416d553efea9f1a5"
72
72
  }
@@ -27,11 +27,16 @@ export default {
27
27
  ),
28
28
  ],
29
29
  argTypes:{
30
- label :{ control: 'text' },
31
- description :{ control: 'text' },
32
- defaultValue:{ control: 'boolean' },
33
- disabled :{ control: 'boolean' },
34
- optional :{ control: 'boolean' },
30
+ label :{ control: 'text' },
31
+ labelColor :{ control: 'text' },
32
+ description :{ control: 'text' },
33
+ defaultValue :{ control: 'boolean' },
34
+ disabled :{ control: 'boolean' },
35
+ optional :{ control: 'boolean' },
36
+ labelSpan :{ control: 'number' },
37
+ inputSpan :{ control: 'number' },
38
+ desktopLabelSpan:{ control: 'number' },
39
+ desktopInputSpan:{ control: 'number' },
35
40
  },
36
41
  }
37
42
 
@@ -49,10 +54,10 @@ const Template = ({ defaultValue, ...args }) => {
49
54
  }, [defaultValue])
50
55
 
51
56
  return (
52
- <>
57
+ <div className="grid">
53
58
  <Checkbox {...args} />
54
59
  <FormDebugger />
55
- </>
60
+ </div>
56
61
  )
57
62
  }
58
63
 
@@ -93,3 +98,13 @@ Optional.args = {
93
98
  ...WithLabel.args,
94
99
  optional:true,
95
100
  }
101
+
102
+ export const OnSingleRow = Template.bind({})
103
+ OnSingleRow.args = {
104
+ ...Base.args,
105
+ label :'Urgent',
106
+ labelSpan :4,
107
+ inputSpan :4,
108
+ desktopLabelSpan:4,
109
+ desktopInputSpan:10,
110
+ }
@@ -22,11 +22,15 @@ export default {
22
22
  ),
23
23
  ],
24
24
  argTypes:{
25
- // backgroundColor:{ control: 'color' },
26
- multiple :{ control: 'boolean' },
27
- gridColumnsDesktop:{ control: 'number' },
28
- disabled :{ control: 'boolean' },
29
- optional :{ control: 'boolean' },
25
+ color :{ control: 'color' },
26
+ labelColor :{ control: 'color' },
27
+ multiple :{ control: 'boolean' },
28
+ disabled :{ control: 'boolean' },
29
+ optional :{ control: 'boolean' },
30
+ labelSpan :{ control: 'number' },
31
+ inputSpan :{ control: 'number' },
32
+ desktopLabelSpan:{ control: 'number' },
33
+ desktopInputSpan:{ control: 'number' },
30
34
  },
31
35
  }
32
36
 
@@ -78,10 +82,10 @@ const Template = ({ defaultValue, ...args }) => {
78
82
  }, [defaultValue])
79
83
 
80
84
  return (
81
- <>
85
+ <div className="grid">
82
86
  <ChoicesInput {...args} />
83
87
  <FormDebugger />
84
- </>
88
+ </div>
85
89
  )
86
90
  }
87
91
  return <Content />
@@ -138,3 +142,13 @@ DisabledChoicesInput.args = {
138
142
  ...ChoicesWithLabel.args,
139
143
  disabled:true,
140
144
  }
145
+
146
+ export const OnSingleRow = Template.bind({})
147
+ OnSingleRow.args = {
148
+ ...Base.args,
149
+ label :'Select color',
150
+ labelSpan :4,
151
+ inputSpan :4,
152
+ desktopLabelSpan:4,
153
+ desktopInputSpan:10,
154
+ }
@@ -28,8 +28,15 @@ export default {
28
28
  ),
29
29
  ],
30
30
  argTypes:{
31
- isLoading:{ control: 'boolean' },
32
- optional :{ control: 'boolean' },
31
+ color :{ control: 'color' },
32
+ labelColor :{ control: 'color' },
33
+ multiple :{ control: 'boolean' },
34
+ isLoading :{ control: 'boolean' },
35
+ optional :{ control: 'boolean' },
36
+ labelSpan :{ control: 'number' },
37
+ inputSpan :{ control: 'number' },
38
+ desktopLabelSpan:{ control: 'number' },
39
+ desktopInputSpan:{ control: 'number' },
33
40
  },
34
41
  }
35
42
 
@@ -96,7 +103,7 @@ const Template = ({ isLoading, defaultFormikState, ...args }) => {
96
103
  }
97
104
 
98
105
  const Content = () => (
99
- <>
106
+ <div className="grid">
100
107
  <QueryChoices
101
108
  name="status"
102
109
  label="Select Status"
@@ -111,7 +118,7 @@ const Template = ({ isLoading, defaultFormikState, ...args }) => {
111
118
  {...args}
112
119
  />
113
120
  <FormDebugger />
114
- </>
121
+ </div>
115
122
  )
116
123
 
117
124
  const initialValues = defaultFormikState ?? { status: '' }
@@ -133,3 +140,12 @@ export const Optional = Template.bind({})
133
140
  Optional.args = {
134
141
  optional:true,
135
142
  }
143
+
144
+ export const OnSingleRow = Template.bind({})
145
+ OnSingleRow.args = {
146
+ ...Base.args,
147
+ labelSpan :4,
148
+ inputSpan :4,
149
+ desktopLabelSpan:4,
150
+ desktopInputSpan:10,
151
+ }