@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.
- package/dist/cjs/f/common/InputWrapper/InputWrapper.js +74 -0
- package/dist/cjs/f/common/InputWrapper/index.js +13 -0
- package/dist/cjs/f/common/InputWrapper/styles.scss +13 -0
- package/dist/cjs/f/common/Label/Label.js +18 -4
- package/dist/cjs/f/common/Label/styles.scss +8 -2
- package/dist/cjs/f/common/index.js +8 -1
- package/dist/cjs/f/fields/Checkbox/Checkbox.js +40 -10
- package/dist/cjs/f/fields/Checkbox/styles.scss +6 -8
- package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +42 -20
- package/dist/cjs/f/fields/ChoicesInput/common/Choice/Choice.js +1 -1
- package/dist/cjs/f/fields/ChoicesInput/styles.scss +50 -35
- package/dist/cjs/f/fields/QueryChoices/QueryChoices.js +26 -2
- package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +35 -5
- package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +41 -14
- package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +33 -23
- package/dist/cjs/f/fields/QueryCombobox/styles.scss +58 -28
- package/dist/cjs/f/fields/QuerySelect/QuerySelect.js +17 -3
- package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +41 -19
- package/dist/cjs/f/fields/RatingsInput/common/Rating/Rating.js +3 -3
- package/dist/cjs/f/fields/RatingsInput/styles.scss +6 -13
- package/dist/cjs/f/fields/SelectInput/SelectInput.js +45 -15
- package/dist/cjs/f/fields/SelectInput/styles.scss +41 -18
- package/dist/cjs/f/fields/TextInput/TextInput.js +38 -16
- package/dist/cjs/f/fields/TextInput/styles.scss +28 -22
- package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +42 -21
- package/dist/cjs/f/fields/TextareaInput/styles.scss +42 -27
- package/dist/es/f/common/InputWrapper/InputWrapper.js +66 -0
- package/dist/es/f/common/InputWrapper/index.js +2 -0
- package/dist/es/f/common/InputWrapper/styles.scss +13 -0
- package/dist/es/f/common/Label/Label.js +18 -4
- package/dist/es/f/common/Label/styles.scss +8 -2
- package/dist/es/f/common/index.js +2 -1
- package/dist/es/f/fields/Checkbox/Checkbox.js +41 -11
- package/dist/es/f/fields/Checkbox/styles.scss +6 -8
- package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +43 -21
- package/dist/es/f/fields/ChoicesInput/common/Choice/Choice.js +1 -1
- package/dist/es/f/fields/ChoicesInput/styles.scss +50 -35
- package/dist/es/f/fields/QueryChoices/QueryChoices.js +26 -2
- package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +35 -5
- package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +41 -14
- package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +33 -23
- package/dist/es/f/fields/QueryCombobox/styles.scss +58 -28
- package/dist/es/f/fields/QuerySelect/QuerySelect.js +17 -3
- package/dist/es/f/fields/RatingsInput/RatingsInput.js +42 -20
- package/dist/es/f/fields/RatingsInput/common/Rating/Rating.js +3 -3
- package/dist/es/f/fields/RatingsInput/styles.scss +6 -13
- package/dist/es/f/fields/SelectInput/SelectInput.js +46 -16
- package/dist/es/f/fields/SelectInput/styles.scss +41 -18
- package/dist/es/f/fields/TextInput/TextInput.js +39 -17
- package/dist/es/f/fields/TextInput/styles.scss +28 -22
- package/dist/es/f/fields/TextareaInput/TextareaInput.js +43 -22
- package/dist/es/f/fields/TextareaInput/styles.scss +42 -27
- package/package.json +2 -2
- package/src/stories/f/Checkbox.stories.jsx +22 -7
- package/src/stories/f/ChoicesInput.stories.jsx +21 -7
- package/src/stories/f/QueryChoices.stories.jsx +20 -4
- package/src/stories/f/QueryCombobox.stories.jsx +25 -13
- package/src/stories/f/QuerySelect.stories.jsx +20 -5
- package/src/stories/f/RatingsInput.stories.jsx +16 -2
- package/src/stories/f/SelectInput.stories.jsx +20 -5
- package/src/stories/f/TextInput.stories.jsx +23 -9
- package/src/stories/f/TextareaInput.stories.jsx +16 -2
- package/src/ui/f/common/InputWrapper/InputWrapper.jsx +89 -0
- package/src/ui/f/common/InputWrapper/index.js +2 -0
- package/src/ui/f/common/InputWrapper/styles.scss +13 -0
- package/src/ui/f/common/Label/Label.jsx +18 -2
- package/src/ui/f/common/Label/styles.scss +8 -2
- package/src/ui/f/common/index.js +1 -0
- package/src/ui/f/fields/Checkbox/Checkbox.jsx +65 -27
- package/src/ui/f/fields/Checkbox/styles.scss +6 -8
- package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +75 -47
- package/src/ui/f/fields/ChoicesInput/common/Choice/Choice.jsx +10 -3
- package/src/ui/f/fields/ChoicesInput/styles.scss +50 -35
- package/src/ui/f/fields/QueryChoices/QueryChoices.jsx +28 -0
- package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +37 -2
- package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +67 -38
- package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +81 -66
- package/src/ui/f/fields/QueryCombobox/styles.scss +58 -28
- package/src/ui/f/fields/QuerySelect/QuerySelect.jsx +16 -1
- package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +55 -28
- package/src/ui/f/fields/RatingsInput/common/Rating/Rating.jsx +3 -3
- package/src/ui/f/fields/RatingsInput/styles.scss +6 -13
- package/src/ui/f/fields/SelectInput/SelectInput.jsx +88 -49
- package/src/ui/f/fields/SelectInput/styles.scss +41 -18
- package/src/ui/f/fields/TextInput/TextInput.jsx +52 -29
- package/src/ui/f/fields/TextInput/styles.scss +28 -22
- package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +65 -43
- package/src/ui/f/fields/TextareaInput/styles.scss +42 -27
- 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(
|
|
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
|
|
102
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
91
103
|
style: style,
|
|
92
104
|
ref: parentRef
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
|
|
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"))
|
|
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())))
|
|
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(
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
|
|
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("
|
|
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-
|
|
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: "
|
|
195
|
+
color: "interactive",
|
|
187
196
|
onClick: resetInputValue
|
|
188
197
|
}, /*#__PURE__*/React.createElement("span", {
|
|
189
198
|
className: "icon"
|
|
190
|
-
}, "Y"))
|
|
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())))
|
|
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 "
|
|
6
|
+
@use "@pareto-engineering/styles/src/mixins";
|
|
7
|
+
@use "@pareto-engineering/styles/src/globals" as *;
|
|
5
8
|
|
|
6
|
-
$default-input-padding: .
|
|
7
|
-
$default-
|
|
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
|
-
|
|
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(--
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
50
|
-
background:
|
|
51
|
-
border:
|
|
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:
|
|
86
|
+
background-color: $disabled-background;
|
|
67
87
|
}
|
|
68
88
|
|
|
69
|
-
&:
|
|
70
|
-
|
|
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:
|
|
82
|
-
margin-bottom:
|
|
108
|
+
gap: calc($default-gap / 2);
|
|
109
|
+
margin-bottom: calc($default-gap / 2);
|
|
83
110
|
|
|
84
111
|
>.item {
|
|
85
|
-
|
|
86
|
-
|
|
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: '
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
52
|
-
|
|
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
|
|
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
|
|
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
|
-
*
|
|
123
|
+
* The color of the stars
|
|
117
124
|
*/
|
|
118
|
-
|
|
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: "
|
|
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: '
|
|
114
|
-
inactiveBackgroundColor: 'background-
|
|
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
|
-
|
|
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
|
-
|