@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
@@ -11,6 +11,7 @@ var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports")
11
11
  var _ = require("../../../..");
12
12
  var _a = require("../../../../../a");
13
13
  var _b = require("../../../../../b");
14
+ var _common = require("../../../../common");
14
15
  var _Menu = require("../Menu");
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17
  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); }
@@ -28,6 +29,7 @@ const Combobox = _ref => {
28
29
  className: userClassName,
29
30
  style,
30
31
  label,
32
+ labelColor,
31
33
  name,
32
34
  options: items,
33
35
  getOptions,
@@ -39,7 +41,11 @@ const Combobox = _ref => {
39
41
  isFetching,
40
42
  transformSearch,
41
43
  disabled,
42
- optional
44
+ optional,
45
+ labelSpan,
46
+ desktopLabelSpan,
47
+ inputSpan,
48
+ desktopInputSpan
43
49
  // ...otherProps
44
50
  } = _ref;
45
51
  const {
@@ -85,16 +91,20 @@ const Combobox = _ref => {
85
91
  }, [value]);
86
92
  const parentRef = (0, React.useRef)(null);
87
93
  const resetInputValue = () => setInputValue('');
88
- return /*#__PURE__*/React.createElement("div", {
94
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_.FormLabel, _extends({}, getLabelProps(), {
95
+ name: name,
96
+ optional: optional,
97
+ color: labelColor,
98
+ columnSpan: labelSpan,
99
+ desktopColumnSpan: desktopLabelSpan
100
+ }), label), /*#__PURE__*/React.createElement(_common.InputWrapper, _extends({
89
101
  id: id,
90
- className: [baseClassName, componentClassName, userClassName, `y-${color}`].filter(e => e).join(' '),
102
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
91
103
  style: style,
92
104
  ref: parentRef
93
- }, /*#__PURE__*/React.createElement(_.FormLabel, _extends({}, getLabelProps(), {
94
- name: name,
95
- optional: optional
96
- }), label), /*#__PURE__*/React.createElement("div", _extends({}, getComboboxProps(), {
97
- className: "input-wrapper"
105
+ }, getComboboxProps(), {
106
+ columnSpan: inputSpan,
107
+ desktopColumnSpan: desktopInputSpan
98
108
  }), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(), {
99
109
  className: "input",
100
110
  disabled: disabled
@@ -107,19 +117,20 @@ const Combobox = _ref => {
107
117
  onClick: resetInputValue
108
118
  }, /*#__PURE__*/React.createElement("span", {
109
119
  className: "icon"
110
- }, "Y"))), /*#__PURE__*/React.createElement(_a.Popover, {
120
+ }, "Y")), /*#__PURE__*/React.createElement(_.FormDescription, {
121
+ className: "s-1",
122
+ description: description,
123
+ name: name
124
+ }), /*#__PURE__*/React.createElement(_a.Popover, {
111
125
  isOpen: isOpen,
112
126
  parentRef: parentRef
113
127
  }, /*#__PURE__*/React.createElement(_Menu.Menu, _extends({
128
+ className: `y-${color}`,
114
129
  isOpen: isOpen,
115
130
  getItemProps: getItemProps,
116
131
  highlightedIndex: highlightedIndex,
117
132
  items: items
118
- }, getMenuProps()))), /*#__PURE__*/React.createElement(_.FormDescription, {
119
- className: "v50 mt-v s-1",
120
- description: description,
121
- name: name
122
- }));
133
+ }, getMenuProps())))));
123
134
  };
124
135
  Combobox.propTypes = {
125
136
  /**
@@ -189,6 +200,22 @@ Combobox.propTypes = {
189
200
  */
190
201
  disabled: _propTypes.default.bool,
191
202
  /**
203
+ * The number of columns the label should span
204
+ */
205
+ labelSpan: _propTypes.default.number,
206
+ /**
207
+ * The number of columns the input should span
208
+ */
209
+ inputSpan: _propTypes.default.number,
210
+ /**
211
+ * The number of columns the label should span on desktop
212
+ */
213
+ desktopLabelSpan: _propTypes.default.number,
214
+ /**
215
+ * The number of columns the input should span on desktop
216
+ */
217
+ desktopInputSpan: _propTypes.default.number,
218
+ /**
192
219
  * Whether the input is optional or not
193
220
  */
194
221
  optional: _propTypes.default.bool
@@ -11,6 +11,7 @@ var _downshift = require("downshift");
11
11
  var _b = require("../../../../../b");
12
12
  var _a = require("../../../../../a");
13
13
  var _ = require("../../../..");
14
+ var _common = require("../../../../common");
14
15
  var _Menu = require("../Menu");
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17
  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); }
@@ -36,6 +37,7 @@ const MultipleCombobox = _ref => {
36
37
  className: userClassName,
37
38
  style,
38
39
  label,
40
+ labelColor,
39
41
  name,
40
42
  optional,
41
43
  options: items,
@@ -47,7 +49,11 @@ const MultipleCombobox = _ref => {
47
49
  isFetching,
48
50
  minLength,
49
51
  transformSearch,
50
- disabled
52
+ disabled,
53
+ labelSpan,
54
+ desktopLabelSpan,
55
+ inputSpan,
56
+ desktopInputSpan
51
57
  // ...otherProps
52
58
  } = _ref;
53
59
  const [searchInputValue, setSearchInputValue] = (0, React.useState)('');
@@ -143,14 +149,22 @@ const MultipleCombobox = _ref => {
143
149
  }, [value]);
144
150
  const parentRef = (0, React.useRef)(null);
145
151
  const resetInputValue = () => setInputValue('');
146
- return /*#__PURE__*/React.createElement("div", {
147
- id: id,
148
- className: [baseClassName, componentClassName, userClassName, `y-${color}`].filter(e => e).join(' '),
149
- style: style
150
- }, /*#__PURE__*/React.createElement(_.FormLabel, _extends({}, getLabelProps(), {
152
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_.FormLabel, _extends({
153
+ className: [baseClassName, componentClassName].filter(e => e).join(' ')
154
+ }, getLabelProps(), {
151
155
  name: name,
152
- optional: optional
153
- }), label), selectedItems?.length > 0 && /*#__PURE__*/React.createElement("div", {
156
+ optional: optional,
157
+ color: labelColor,
158
+ columnSpan: labelSpan,
159
+ desktopColumnSpan: desktopLabelSpan
160
+ }), label), /*#__PURE__*/React.createElement(_common.InputWrapper, _extends({
161
+ id: id,
162
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
163
+ style: style,
164
+ ref: parentRef,
165
+ columnSpan: inputSpan,
166
+ desktopColumnSpan: desktopInputSpan
167
+ }, getComboboxProps()), selectedItems?.length > 0 && /*#__PURE__*/React.createElement("div", {
154
168
  className: "selected-items"
155
169
  }, selectedItems.map((selectedItem, index) => /*#__PURE__*/React.createElement("div", _extends({
156
170
  key: selectedItem.label
@@ -165,41 +179,37 @@ const MultipleCombobox = _ref => {
165
179
  removeSelectedItem(selectedItem);
166
180
  },
167
181
  isCompact: true,
168
- isSimple: true,
169
182
  color: color
170
- }, /*#__PURE__*/React.createElement("span", {
171
- className: "v25 mr-v"
172
- }, selectedItem.label), /*#__PURE__*/React.createElement("span", {
183
+ }, /*#__PURE__*/React.createElement("span", null, selectedItem.label), /*#__PURE__*/React.createElement("span", {
173
184
  className: "icon close"
174
- }, "Y"))))), /*#__PURE__*/React.createElement("div", _extends({}, getComboboxProps(), {
175
- className: "input-wrapper"
176
- }), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(getDropdownProps({
185
+ }, "Y"))))), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(getDropdownProps({
177
186
  preventKeyAction: isOpen
178
187
  })), {
179
188
  className: "input",
180
189
  disabled: disabled
181
190
  })), isFetching && /*#__PURE__*/React.createElement(_a.LoadingCircle, {
182
- className: "x-main2"
191
+ className: "x-main"
183
192
  }), inputValue.length > minLength && !isFetching && /*#__PURE__*/React.createElement(_b.Button, {
184
193
  isSimple: true,
185
194
  isCompact: true,
186
- color: "main2",
195
+ color: "interactive",
187
196
  onClick: resetInputValue
188
197
  }, /*#__PURE__*/React.createElement("span", {
189
198
  className: "icon"
190
- }, "Y"))), /*#__PURE__*/React.createElement(_a.Popover, {
199
+ }, "Y")), /*#__PURE__*/React.createElement(_.FormDescription, {
200
+ className: "s-1",
201
+ description: description,
202
+ name: name
203
+ }), /*#__PURE__*/React.createElement(_a.Popover, {
191
204
  isOpen: isOpen,
192
205
  parentRef: parentRef
193
206
  }, /*#__PURE__*/React.createElement(_Menu.Menu, _extends({
207
+ className: `y-${color}`,
194
208
  isOpen: isOpen,
195
209
  getItemProps: getItemProps,
196
210
  highlightedIndex: highlightedIndex,
197
211
  items: getFilteredItems()
198
- }, getMenuProps()))), /*#__PURE__*/React.createElement(_.FormDescription, {
199
- className: "v50 mt-v s-1",
200
- description: description,
201
- name: name
202
- }));
212
+ }, getMenuProps())))));
203
213
  };
204
214
  MultipleCombobox.propTypes = {
205
215
  /**
@@ -1,23 +1,29 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
+ /* stylelint-disable max-nesting-depth -- needed here */
3
+ /* stylelint-disable selector-max-compound-selectors -- needed here */
2
4
 
3
5
  @use "@pareto-engineering/bem";
4
- @use "sass:math";
6
+ @use "@pareto-engineering/styles/src/mixins";
7
+ @use "@pareto-engineering/styles/src/globals" as *;
5
8
 
6
- $default-input-padding: .75em .75em .55em;
7
- $default-padding: 1em;
8
- $default-margin: 1em;
9
- $default-gap: 1em;
9
+ $default-input-padding: .55em .75em;
10
+ $default-gap: var(--gap);
10
11
  $default-loading-circle-displacement: .5em;
12
+ $default-input-border-radius: var(--theme-default-input-border-radius);
13
+ $default-border: var(--theme-default-input-border);
14
+ $hover-border: var(--theme-hover-input-border);
15
+ $focus-border: var(--theme-focus-input-border);
16
+ $default-background: var(--background-inputs);
17
+ $disabled-background: var(--background-inputs-30);
11
18
 
12
19
  .#{bem.$base}.combobox,
13
20
  .#{bem.$base}.multiple-combobox {
21
+ outline: none;
14
22
  position: relative;
15
23
 
16
- .#{bem.$base}.label {
17
- margin-bottom: $default-margin;
18
- }
19
-
20
24
  .#{bem.$base}.popover {
25
+ border: $default-border;
26
+ border-radius: $default-input-border-radius;
21
27
  width: 100%;
22
28
 
23
29
  >.menu {
@@ -27,47 +33,68 @@ $default-loading-circle-displacement: .5em;
27
33
  padding: 0;
28
34
 
29
35
  >.item {
30
- padding: math.div($default-padding, 2);
36
+ border-radius: $default-input-border-radius;
37
+ padding: $default-input-padding;
38
+
39
+ > p {
40
+ margin: 0;
41
+ }
31
42
 
32
43
  &.#{bem.$modifier-active} {
33
- background-color: var(--hard-y);
44
+ background-color: var(--y);
45
+
46
+ > p {
47
+ color: var(--on-y);
48
+ }
34
49
  }
35
50
  }
36
51
  }
37
52
  }
38
53
 
39
- >.input-wrapper {
54
+ &.#{bem.$base}.input-wrapper {
55
+ display: flex;
56
+ flex-direction: column;
40
57
  position: relative;
41
58
 
42
59
  >.#{bem.$base}.loading-circle,
43
60
  >.#{bem.$base}.button {
44
61
  position: absolute;
45
- right: calc(2 * $default-loading-circle-displacement);
62
+ right: $default-loading-circle-displacement;
63
+ }
64
+
65
+ >.#{bem.$base}.loading-circle {
66
+ top: calc($default-loading-circle-displacement * 1.5);
67
+ }
68
+
69
+ >.#{bem.$base}.button {
46
70
  top: $default-loading-circle-displacement;
47
71
  }
48
72
 
49
- >.input {
50
- background: var(--soft-y);
51
- border: var(--theme-default-border-style) var(--hard-y);
73
+ > .input {
74
+ background: $default-background;
75
+ border: $default-border;
52
76
  border-radius: calc(var(--theme-default-border-radius) / 2);
53
77
  color: var(--on-y);
78
+ outline: none;
54
79
  padding: $default-input-padding;
55
- width: 100%;
56
80
 
57
81
  &::placeholder {
58
82
  color: var(--metadata);
59
83
  }
60
84
 
61
- &:not(:disabled):hover {
62
- border: var(--theme-default-border-style) var(--hard-y);
63
- }
64
-
65
85
  &:disabled {
66
- background-color: var(--hard-y);
86
+ background-color: $disabled-background;
67
87
  }
68
88
 
69
- &:focus {
70
- border: var(--theme-default-border-style) var(--hard-y);
89
+ &:not(:disabled) {
90
+ &:hover,
91
+ &:active {
92
+ border: $hover-border;
93
+ }
94
+
95
+ &:focus {
96
+ border: $focus-border;
97
+ }
71
98
  }
72
99
  }
73
100
  }
@@ -78,12 +105,15 @@ $default-loading-circle-displacement: .5em;
78
105
  >.selected-items {
79
106
  display: flex;
80
107
  flex-wrap: wrap;
81
- gap: math.div($default-gap, 2);
82
- margin-bottom: math.div($default-margin, 2);
108
+ gap: calc($default-gap / 2);
109
+ margin-bottom: calc($default-gap / 2);
83
110
 
84
111
  >.item {
85
- background-color: var(--main);
86
- padding: math.div($default-padding, 4);
112
+ >.#{bem.$base}.button {
113
+ align-items: center;
114
+ display: flex;
115
+ gap: calc($default-gap / 2);
116
+ }
87
117
 
88
118
  .close {
89
119
  font-size: calc(var(--s-3) * 1em);
@@ -26,6 +26,7 @@ const QuerySelect = _ref => {
26
26
  style,
27
27
  name,
28
28
  label,
29
+ labelColor,
29
30
  optional,
30
31
  query,
31
32
  variables,
@@ -35,7 +36,11 @@ const QuerySelect = _ref => {
35
36
  color,
36
37
  loadingOption,
37
38
  defaultOption,
38
- validate
39
+ validate,
40
+ labelSpan,
41
+ desktopLabelSpan,
42
+ inputSpan,
43
+ desktopInputSpan
39
44
  // ...otherProps
40
45
  } = _ref;
41
46
  const [,, helpers] = (0, _formik.useField)({
@@ -90,10 +95,15 @@ const QuerySelect = _ref => {
90
95
  label: label,
91
96
  optional: optional,
92
97
  color: color,
98
+ labelColor: labelColor,
93
99
  description: description,
94
100
  disabled: isFetching || disabled,
95
101
  options: options,
96
- isLoading: isFetching
102
+ isLoading: isFetching,
103
+ labelSpan: labelSpan,
104
+ desktopLabelSpan: desktopLabelSpan,
105
+ inputSpan: inputSpan,
106
+ desktopInputSpan: desktopInputSpan
97
107
  });
98
108
  };
99
109
  QuerySelect.propTypes = {
@@ -129,6 +139,10 @@ QuerySelect.propTypes = {
129
139
  * The base color of the custom select input
130
140
  */
131
141
  color: _propTypes.default.string,
142
+ /**
143
+ * The label color of the custom select input
144
+ */
145
+ labelColor: _propTypes.default.string,
132
146
  /**
133
147
  * The graphql query to fetch the options and the accessor to destructure the results from
134
148
  */
@@ -176,7 +190,7 @@ QuerySelect.propTypes = {
176
190
  };
177
191
  QuerySelect.defaultProps = {
178
192
  disabled: false,
179
- color: 'background-far',
193
+ color: 'paragraph',
180
194
  defaultOption: {
181
195
  value: '',
182
196
  label: 'Select an option',
@@ -26,32 +26,38 @@ const RatingsInput = _ref => {
26
26
  name,
27
27
  ratingCount,
28
28
  showRatingValue,
29
- oneInputLabel,
29
+ color,
30
30
  label,
31
31
  labelColor,
32
32
  labelMax,
33
33
  labelMin,
34
34
  displayRatingsLabel,
35
- optional
35
+ optional,
36
+ labelSpan,
37
+ desktopLabelSpan,
38
+ inputSpan,
39
+ desktopInputSpan
36
40
  // ...otherProps
37
41
  } = _ref;
38
42
  (0, React.useInsertionEffect)(() => {
39
43
  Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
40
44
  }, []);
41
45
  const [hover, setHover] = (0, React.useState)(null);
42
- return /*#__PURE__*/React.createElement("div", {
43
- id: id,
44
- className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
45
- style: style
46
- }, /*#__PURE__*/React.createElement(_common2.FormLabel, {
47
- className: ['input-label', oneInputLabel ? 'md-s2 s0 v1 mb-v' : 'v50 mb-v'].filter(e => e).join(' '),
46
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_common2.FormLabel, {
48
47
  name: name,
49
48
  color: labelColor,
50
- optional: optional
51
- }, label), /*#__PURE__*/React.createElement("div", {
52
- className: "stars"
49
+ optional: optional,
50
+ columnSpan: labelSpan,
51
+ desktopColumnSpan: desktopLabelSpan
52
+ // {...otherProps}
53
+ }, label), /*#__PURE__*/React.createElement(_common2.InputWrapper, {
54
+ id: id,
55
+ className: [baseClassName, componentClassName, userClassName, 'stars'].filter(e => e).join(' '),
56
+ style: style,
57
+ columnSpan: inputSpan,
58
+ desktopColumnSpan: desktopInputSpan
53
59
  }, displayRatingsLabel && /*#__PURE__*/React.createElement("p", {
54
- className: "label-text md-s-1 s-2 x-metadata c-x"
60
+ className: "label-text s-2 x-metadata c-x"
55
61
  }, labelMin), [...Array(ratingCount)].map((_, index) => {
56
62
  const ratingValue = index + 1;
57
63
  return /*#__PURE__*/React.createElement(_common.Rating, {
@@ -61,10 +67,11 @@ const RatingsInput = _ref => {
61
67
  name: name,
62
68
  hover: hover,
63
69
  setHover: setHover,
64
- showRatingValue: showRatingValue
70
+ showRatingValue: showRatingValue,
71
+ activeBackgroundColor: color
65
72
  });
66
73
  }), displayRatingsLabel && /*#__PURE__*/React.createElement("p", {
67
- className: "label-text md-s-1 s-2 x-metadata c-x"
74
+ className: "label-text s-2 x-metadata c-x"
68
75
  }, labelMax)));
69
76
  };
70
77
  RatingsInput.propTypes = {
@@ -113,18 +120,33 @@ RatingsInput.propTypes = {
113
120
  */
114
121
  optional: _propTypes.default.bool,
115
122
  /**
116
- * If the slide will only have one input
123
+ * The color of the stars
117
124
  */
118
- oneInputLabel: _propTypes.default.bool,
125
+ color: _propTypes.default.string,
119
126
  /**
120
127
  * String that will represent color for the label
121
128
  */
122
- labelColor: _propTypes.default.string
129
+ labelColor: _propTypes.default.string,
130
+ /**
131
+ * The number of columns the label should span
132
+ */
133
+ labelSpan: _propTypes.default.number,
134
+ /**
135
+ * The number of columns the input should span
136
+ */
137
+ inputSpan: _propTypes.default.number,
138
+ /**
139
+ * The number of columns the label should span on desktop
140
+ */
141
+ desktopLabelSpan: _propTypes.default.number,
142
+ /**
143
+ * The number of columns the input should span on desktop
144
+ */
145
+ desktopInputSpan: _propTypes.default.number
123
146
  };
124
147
  RatingsInput.defaultProps = {
125
148
  labelMin: 'not satisfied.',
126
- labelMax: 'very satisfied.',
127
- labelColor: 'main2'
149
+ labelMax: 'very satisfied.'
128
150
  };
129
151
  var _default = /*#__PURE__*/(0, React.memo)(RatingsInput);
130
152
  exports.default = _default;
@@ -49,7 +49,7 @@ const Rating = _ref => {
49
49
  onMouseEnter: () => setHover(value),
50
50
  onMouseLeave: () => setHover(null)
51
51
  }, showRatingValue && /*#__PURE__*/React.createElement("span", {
52
- className: "v25 mb-v md-s-1 s-2 x-metadata c-x"
52
+ className: "s-2 x-metadata c-x"
53
53
  }, value), /*#__PURE__*/React.createElement("span", {
54
54
  className: ['icon', value <= (hover || Number(field.value)) ? 'c-x' : 'c-hard-y'].filter(e => e).join(' ')
55
55
  }, "[")), /*#__PURE__*/React.createElement("input", _extends({}, field, {
@@ -110,8 +110,8 @@ Rating.propTypes = {
110
110
  validate: _propTypes.default.func
111
111
  };
112
112
  Rating.defaultProps = {
113
- activeBackgroundColor: 'main',
114
- inactiveBackgroundColor: 'background-far',
113
+ activeBackgroundColor: 'interactive',
114
+ inactiveBackgroundColor: 'background-inputs',
115
115
  showRatingValue: false
116
116
  };
117
117
  var _default = Rating;
@@ -1,37 +1,32 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
2
 
3
3
  @use "@pareto-engineering/bem";
4
+ @use "@pareto-engineering/styles/src/mixins";
5
+ @use "@pareto-engineering/styles/src/globals" as *;
4
6
 
5
7
  $default-rating-icon-margin: .5em;
6
8
  $default-padding: .2em;
7
9
  $default-transition: all .2s;
8
10
 
9
11
  .#{bem.$base}.ratings-input {
10
- display: flex;
11
- flex-direction: column;
12
-
13
- p {
14
- padding: $default-padding;
15
- }
16
-
17
- .stars {
12
+ &.stars {
18
13
  display: flex;
19
14
 
20
15
  >:not(:last-child) {
21
16
  margin-right: $default-rating-icon-margin;
22
17
  }
23
18
 
24
- .#{bem.$base}.rating {
19
+ > .#{bem.$base}.rating {
25
20
  display: flex;
26
21
 
27
- input {
22
+ > input {
28
23
  opacity: 0;
29
24
  position: absolute;
30
25
  visibility: none;
31
26
  z-index: -1;
32
27
  }
33
28
 
34
- label {
29
+ > label {
35
30
  align-items: center;
36
31
  cursor: pointer;
37
32
  display: flex;
@@ -47,5 +42,3 @@ $default-transition: all .2s;
47
42
  }
48
43
  }
49
44
  }
50
-
51
-