@pareto-engineering/design-system 4.0.0-alpha.73 → 4.0.0-alpha.74

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 (30) hide show
  1. package/dist/cjs/f/fields/SelectInput/SelectInput.js +33 -42
  2. package/dist/cjs/f/fields/SelectInput/common/Menu/Menu.js +83 -0
  3. package/dist/cjs/f/fields/SelectInput/common/Menu/index.js +13 -0
  4. package/dist/cjs/f/fields/SelectInput/common/Multiple/Multiple.js +244 -0
  5. package/dist/cjs/f/fields/SelectInput/common/Multiple/index.js +13 -0
  6. package/dist/cjs/f/fields/SelectInput/common/Single/Single.js +104 -0
  7. package/dist/cjs/f/fields/SelectInput/common/Single/index.js +13 -0
  8. package/dist/cjs/f/fields/SelectInput/common/index.js +26 -0
  9. package/dist/cjs/f/fields/SelectInput/styles.scss +149 -45
  10. package/dist/es/f/fields/SelectInput/SelectInput.js +31 -42
  11. package/dist/es/f/fields/SelectInput/common/Menu/Menu.js +73 -0
  12. package/dist/es/f/fields/SelectInput/common/Menu/index.js +2 -0
  13. package/dist/es/f/fields/SelectInput/common/Multiple/Multiple.js +235 -0
  14. package/dist/es/f/fields/SelectInput/common/Multiple/index.js +2 -0
  15. package/dist/es/f/fields/SelectInput/common/Single/Single.js +96 -0
  16. package/dist/es/f/fields/SelectInput/common/Single/index.js +2 -0
  17. package/dist/es/f/fields/SelectInput/common/index.js +3 -0
  18. package/dist/es/f/fields/SelectInput/styles.scss +149 -45
  19. package/package.json +2 -2
  20. package/src/stories/f/SelectInput.stories.jsx +15 -0
  21. package/src/ui/f/fields/SelectInput/SelectInput.jsx +34 -47
  22. package/src/ui/f/fields/SelectInput/common/Menu/Menu.jsx +103 -0
  23. package/src/ui/f/fields/SelectInput/common/Menu/index.js +2 -0
  24. package/src/ui/f/fields/SelectInput/common/Multiple/Multiple.jsx +288 -0
  25. package/src/ui/f/fields/SelectInput/common/Multiple/index.js +2 -0
  26. package/src/ui/f/fields/SelectInput/common/Single/Single.jsx +125 -0
  27. package/src/ui/f/fields/SelectInput/common/Single/index.js +2 -0
  28. package/src/ui/f/fields/SelectInput/common/index.js +3 -0
  29. package/src/ui/f/fields/SelectInput/styles.scss +149 -45
  30. package/tests/__snapshots__/Storyshots.test.js.snap +523 -393
@@ -6,16 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var React = _react;
9
- var _formik = require("formik");
10
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
10
  var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports"));
12
- var _a = require("../../../a");
13
- var _common = require("../../common");
14
11
  require("./styles.scss");
12
+ var _common = require("./common");
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* @pareto-engineering/generator-front 1.0.12 */
16
+ /* @pareto-engineering/generator-front 1.0.12 */
17
+
19
18
  // Local Definitions
20
19
 
21
20
  const baseClassName = _exports.default.base;
@@ -39,49 +38,33 @@ const SelectInput = _ref => {
39
38
  description,
40
39
  disabled,
41
40
  isLoading,
42
- autoComplete
41
+ autoComplete,
42
+ placeholder,
43
+ getTagColor,
44
+ multiple
43
45
  // ...otherProps
44
46
  } = _ref;
45
- const [field] = (0, _formik.useField)({
47
+ const inputProps = {
46
48
  name,
47
- validate
48
- });
49
+ label,
50
+ labelColor,
51
+ color,
52
+ options,
53
+ validate,
54
+ optional,
55
+ description,
56
+ disabled,
57
+ isLoading,
58
+ placeholder,
59
+ getTagColor,
60
+ autoComplete
61
+ };
62
+ const Input = multiple ? _common.Multiple : _common.Single;
49
63
  return /*#__PURE__*/React.createElement("div", {
50
64
  id: id,
51
65
  className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
52
66
  style: style
53
- }, /*#__PURE__*/React.createElement(_common.FormLabel, {
54
- name: name,
55
- color: labelColor,
56
- optional: optional
57
- // {...otherProps}
58
- }, label), /*#__PURE__*/React.createElement("div", {
59
- className: `select-wrapper${disabled ? ' disabled' : ''}`
60
- }, /*#__PURE__*/React.createElement("select", _extends({
61
- className: `input y-${color}`
62
- }, field, {
63
- value: field.value || '',
64
- id: name,
65
- disabled: disabled,
66
- autoComplete: autoComplete
67
- }), options.map(option => {
68
- // i.e if option is a string like "blah", return { value: "blah", label: "blah" }
69
- const newOption = typeof option === 'string' ? {
70
- value: option,
71
- label: option
72
- } : option;
73
- return /*#__PURE__*/React.createElement("option", {
74
- key: newOption.value,
75
- value: newOption.value,
76
- disabled: newOption?.disabled || false
77
- }, newOption.label);
78
- })), isLoading && /*#__PURE__*/React.createElement(_a.LoadingCircle, {
79
- className: "x-main"
80
- })), /*#__PURE__*/React.createElement(_common.FormDescription, {
81
- className: "s-1",
82
- description: description,
83
- name: name
84
- }));
67
+ }, /*#__PURE__*/React.createElement(Input, inputProps));
85
68
  };
86
69
  SelectInput.propTypes = {
87
70
  /**
@@ -143,10 +126,18 @@ SelectInput.propTypes = {
143
126
  /**
144
127
  * Whether the input is optional or not
145
128
  */
146
- optional: _propTypes.default.bool
129
+ optional: _propTypes.default.bool,
130
+ /**
131
+ * Whether the select input should allow multiple selections
132
+ */
133
+ multiple: _propTypes.default.bool,
134
+ /**
135
+ * The placeholder of the select input
136
+ */
137
+ placeholder: _propTypes.default.string
147
138
  };
148
139
  SelectInput.defaultProps = {
149
140
  disabled: false,
150
- color: 'paragraph'
141
+ multiple: false
151
142
  };
152
143
  var _default = exports.default = /*#__PURE__*/(0, _react.memo)(SelectInput);
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* @pareto-engineering/generator-front 1.0.12 */
14
+ // Local Definitions
15
+
16
+ const baseClassName = _exports.default.base;
17
+ const componentClassName = 'menu';
18
+
19
+ /**
20
+ * This is the component description.
21
+ */
22
+ const Menu = /*#__PURE__*/React.forwardRef((_ref, ref) => {
23
+ let {
24
+ id,
25
+ className: userClassName,
26
+ style,
27
+ items,
28
+ isOpen,
29
+ highlightedIndex,
30
+ getItemProps,
31
+ ...otherProps
32
+ } = _ref;
33
+ return /*#__PURE__*/React.createElement("ul", _extends({
34
+ id: id,
35
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
36
+ style: style,
37
+ ref: ref
38
+ }, otherProps), isOpen && items.map((item, index) => /*#__PURE__*/React.createElement("li", _extends({
39
+ key: item.label
40
+ }, getItemProps({
41
+ item,
42
+ index
43
+ }), {
44
+ className: ['item', highlightedIndex === index && _exports.default.modifierActive].filter(Boolean).join(' ')
45
+ }), /*#__PURE__*/React.createElement("p", null, item.label))));
46
+ });
47
+ Menu.propTypes = {
48
+ /**
49
+ * The HTML id for this element
50
+ */
51
+ id: _propTypes.default.string,
52
+ /**
53
+ * The HTML class names for this element
54
+ */
55
+ className: _propTypes.default.string,
56
+ /**
57
+ * The React-written, css properties for this element.
58
+ */
59
+ style: _propTypes.default.objectOf(_propTypes.default.string),
60
+ /**
61
+ * The items to be displayed in the menu
62
+ */
63
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({
64
+ value: _propTypes.default.string,
65
+ label: _propTypes.default.string
66
+ })),
67
+ /**
68
+ * Whether or not the menu is open
69
+ */
70
+ isOpen: _propTypes.default.bool,
71
+ /**
72
+ * The index of the highlighted item
73
+ */
74
+ highlightedIndex: _propTypes.default.number,
75
+ /**
76
+ * The function to get the item props
77
+ */
78
+ getItemProps: _propTypes.default.func
79
+ };
80
+ Menu.defaultProps = {
81
+ // someProp:false
82
+ };
83
+ var _default = exports.default = Menu;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Menu", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Menu.default;
10
+ }
11
+ });
12
+ var _Menu = _interopRequireDefault(require("./Menu"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var React = _react;
9
+ var _formik = require("formik");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _downshift = require("downshift");
12
+ var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports"));
13
+ var _b = require("../../../../../b");
14
+ var _a = require("../../../../../a");
15
+ var _ = require("../../../..");
16
+ var _Menu = require("../Menu");
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* @pareto-engineering/generator-front 1.0.12 */
21
+ // Local Definitions
22
+
23
+ const baseClassName = _exports.default.base;
24
+ const componentClassName = 'multiple';
25
+
26
+ /**
27
+ * @param {Array[Object]} first - first array to check if it has an item not in the second array.
28
+ * @param {Array[Object]} second - second array to check against the first array.
29
+ *
30
+ * @returns {Boolean} - true if the first array has an item not in the second array.
31
+ */
32
+ const testIfArraysAreUnique = (first, second) => first.filter(objInFirstArray => !second.some(objInSecondArray => objInFirstArray.value === objInSecondArray.value)).length > 0;
33
+
34
+ /**
35
+ * This is the component description.
36
+ */
37
+ const Multiple = _ref => {
38
+ let {
39
+ id,
40
+ className: userClassName,
41
+ style,
42
+ name,
43
+ label,
44
+ labelColor,
45
+ color,
46
+ options,
47
+ validate,
48
+ optional,
49
+ description,
50
+ disabled,
51
+ autoComplete,
52
+ transformSearch,
53
+ getTagColor,
54
+ placeholder
55
+ // ...otherProps
56
+ } = _ref;
57
+ const [, meta, helpers] = (0, _formik.useField)({
58
+ name,
59
+ validate
60
+ });
61
+ const {
62
+ setValue
63
+ } = helpers;
64
+ const {
65
+ value
66
+ } = meta;
67
+ const [searchInputValue, setSearchInputValue] = (0, _react.useState)('');
68
+ const {
69
+ getSelectedItemProps,
70
+ getDropdownProps,
71
+ addSelectedItem,
72
+ removeSelectedItem,
73
+ setSelectedItems,
74
+ selectedItems
75
+ } = (0, _downshift.useMultipleSelection)({
76
+ initialSelectedItems: value || []
77
+ });
78
+
79
+ /**
80
+ * @returns {Boolean} - Unique items from the options array so that the combobox
81
+ * shows only the options that are not yet selected.
82
+ */
83
+
84
+ const items = (0, _react.useMemo)(() => {
85
+ const lowerCasedInputValue = searchInputValue.toLowerCase();
86
+ return options.filter(option => {
87
+ const lowerCasedOption = option.label.toLowerCase();
88
+ return lowerCasedOption.includes(lowerCasedInputValue) && !selectedItems.includes(option);
89
+ });
90
+ }, [searchInputValue, selectedItems]);
91
+ const {
92
+ isOpen,
93
+ getLabelProps,
94
+ getMenuProps,
95
+ getInputProps,
96
+ getComboboxProps,
97
+ highlightedIndex,
98
+ getItemProps
99
+ } = (0, _downshift.useCombobox)({
100
+ inputValue: searchInputValue,
101
+ defaultHighlightedIndex: 0,
102
+ // after selection, highlight the first item.
103
+ selectedItem: null,
104
+ items,
105
+ circularNavigation: true,
106
+ stateReducer: (state, actionAndChanges) => {
107
+ const {
108
+ changes,
109
+ type
110
+ } = actionAndChanges;
111
+ switch (type) {
112
+ case _downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
113
+ case _downshift.useCombobox.stateChangeTypes.ItemClick:
114
+ return {
115
+ ...changes,
116
+ isOpen: true // keep the menu open after selection.
117
+ };
118
+ default:
119
+ break;
120
+ }
121
+ return changes;
122
+ },
123
+ onStateChange: _ref2 => {
124
+ let {
125
+ inputValue: newSearchInputValue,
126
+ type,
127
+ selectedItem
128
+ } = _ref2;
129
+ switch (type) {
130
+ case _downshift.useCombobox.stateChangeTypes.InputChange:
131
+ {
132
+ const transformedInput = transformSearch(newSearchInputValue);
133
+ setSearchInputValue(transformedInput);
134
+ break;
135
+ }
136
+ case _downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
137
+ case _downshift.useCombobox.stateChangeTypes.ItemClick:
138
+ case _downshift.useCombobox.stateChangeTypes.InputBlur:
139
+ if (selectedItem) {
140
+ setSearchInputValue('');
141
+ addSelectedItem(selectedItem);
142
+ }
143
+ break;
144
+ default:
145
+ break;
146
+ }
147
+ }
148
+ });
149
+ (0, _react.useEffect)(() => {
150
+ if (selectedItems?.length > 0) {
151
+ setValue(selectedItems);
152
+ }
153
+ }, [selectedItems]);
154
+ (0, _react.useEffect)(() => {
155
+ if (value?.length > 0 && (testIfArraysAreUnique(value, selectedItems) || testIfArraysAreUnique(selectedItems, value))) {
156
+ setSelectedItems(value);
157
+ }
158
+ }, [value]);
159
+ const parentRef = (0, _react.useRef)(null);
160
+ return /*#__PURE__*/React.createElement("div", _extends({
161
+ id: id,
162
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
163
+ style: style,
164
+ ref: parentRef
165
+ }, getComboboxProps()), /*#__PURE__*/React.createElement(_.FormLabel, _extends({
166
+ className: [baseClassName, componentClassName].filter(e => e).join(' ')
167
+ }, getLabelProps(), {
168
+ name: name,
169
+ optional: optional,
170
+ color: labelColor
171
+ }), label), selectedItems?.length > 0 && /*#__PURE__*/React.createElement("div", {
172
+ className: "selected-items"
173
+ }, selectedItems.map((selectedItem, index) => /*#__PURE__*/React.createElement("div", _extends({
174
+ key: selectedItem.label
175
+ }, getSelectedItemProps({
176
+ selectedItem,
177
+ index
178
+ }), {
179
+ className: "item"
180
+ }), /*#__PURE__*/React.createElement(_b.Button, {
181
+ onClick: e => {
182
+ e.stopPropagation();
183
+ removeSelectedItem(selectedItem);
184
+ },
185
+ isCompact: true,
186
+ color: getTagColor ? getTagColor(selectedItem) : color
187
+ }, /*#__PURE__*/React.createElement("span", null, selectedItem.label), /*#__PURE__*/React.createElement("span", {
188
+ className: "icon close"
189
+ }, "Y"))))), /*#__PURE__*/React.createElement("div", {
190
+ className: "input-container"
191
+ }, /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(getDropdownProps({
192
+ preventKeyAction: isOpen
193
+ })), {
194
+ className: "input",
195
+ disabled: disabled,
196
+ placeholder: placeholder,
197
+ autoComplete: autoComplete
198
+ }))), /*#__PURE__*/React.createElement(_.FormDescription, {
199
+ className: "s-1",
200
+ description: description,
201
+ name: name
202
+ }), /*#__PURE__*/React.createElement(_a.Popover, {
203
+ isOpen: isOpen,
204
+ parentRef: parentRef
205
+ }, /*#__PURE__*/React.createElement(_Menu.Menu, _extends({
206
+ className: `y-${color}`,
207
+ isOpen: isOpen,
208
+ getItemProps: getItemProps,
209
+ highlightedIndex: highlightedIndex,
210
+ items: items
211
+ }, getMenuProps()))));
212
+ };
213
+ Multiple.propTypes = {
214
+ /**
215
+ * The HTML id for this element
216
+ */
217
+ id: _propTypes.default.string,
218
+ /**
219
+ * The HTML class names for this element
220
+ */
221
+ className: _propTypes.default.string,
222
+ /**
223
+ * The React-written, css properties for this element.
224
+ */
225
+ style: _propTypes.default.objectOf(_propTypes.default.string),
226
+ /**
227
+ * A function that transforms the search input value
228
+ */
229
+ transformSearch: _propTypes.default.func,
230
+ /**
231
+ * The minimum length of the search input value
232
+ */
233
+ minLength: _propTypes.default.number,
234
+ /**
235
+ * The base color of the component
236
+ */
237
+ color: _propTypes.default.string
238
+ };
239
+ Multiple.defaultProps = {
240
+ transformSearch: e => e,
241
+ minLength: 2,
242
+ color: 'interactive'
243
+ };
244
+ var _default = exports.default = Multiple;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Multiple", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Multiple.default;
10
+ }
11
+ });
12
+ var _Multiple = _interopRequireDefault(require("./Multiple"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _formik = require("formik");
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports"));
11
+ var _a = require("../../../../../a");
12
+ var _cjs = require("../../../../../../../dist/cjs");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* @pareto-engineering/generator-front 1.0.12 */
17
+ // Local Definitions
18
+
19
+ const baseClassName = _exports.default.base;
20
+ const componentClassName = 'single';
21
+
22
+ /**
23
+ * This is the component description.
24
+ */
25
+ const Single = _ref => {
26
+ let {
27
+ id,
28
+ className: userClassName,
29
+ style,
30
+ name,
31
+ label,
32
+ labelColor,
33
+ color,
34
+ options,
35
+ validate,
36
+ optional,
37
+ description,
38
+ disabled,
39
+ isLoading,
40
+ autoComplete
41
+ // ...otherProps
42
+ } = _ref;
43
+ const [field] = (0, _formik.useField)({
44
+ name,
45
+ validate
46
+ });
47
+ return /*#__PURE__*/React.createElement("div", {
48
+ id: id,
49
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
50
+ style: style
51
+ }, /*#__PURE__*/React.createElement(_cjs.FormLabel, {
52
+ name: name,
53
+ color: labelColor,
54
+ optional: optional
55
+ }, label), /*#__PURE__*/React.createElement("div", {
56
+ className: `select-wrapper${disabled ? ' disabled' : ''}`
57
+ }, /*#__PURE__*/React.createElement("select", _extends({
58
+ className: `input y-${color}`
59
+ }, field, {
60
+ value: field.value || '',
61
+ id: name,
62
+ disabled: disabled,
63
+ autoComplete: autoComplete
64
+ }), options.map(option => {
65
+ // i.e if option is a string like "blah", return { value: "blah", label: "blah" }
66
+ const newOption = typeof option === 'string' ? {
67
+ value: option,
68
+ label: option
69
+ } : option;
70
+ return /*#__PURE__*/React.createElement("option", {
71
+ key: newOption.value,
72
+ value: newOption.value,
73
+ disabled: newOption?.disabled || false
74
+ }, newOption.label);
75
+ })), isLoading && /*#__PURE__*/React.createElement(_a.LoadingCircle, {
76
+ className: "x-main"
77
+ })), /*#__PURE__*/React.createElement(_cjs.FormDescription, {
78
+ className: "s-1",
79
+ description: description,
80
+ name: name
81
+ }));
82
+ };
83
+ Single.propTypes = {
84
+ /**
85
+ * The HTML id for this element
86
+ */
87
+ id: _propTypes.default.string,
88
+ /**
89
+ * The HTML class names for this element
90
+ */
91
+ className: _propTypes.default.string,
92
+ /**
93
+ * The React-written, css properties for this element.
94
+ */
95
+ style: _propTypes.default.objectOf(_propTypes.default.string),
96
+ /**
97
+ * The base color of the component
98
+ */
99
+ color: _propTypes.default.string
100
+ };
101
+ Single.defaultProps = {
102
+ color: 'paragraph'
103
+ };
104
+ var _default = exports.default = Single;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Single", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Single.default;
10
+ }
11
+ });
12
+ var _Single = _interopRequireDefault(require("./Single"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Menu", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Menu.Menu;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "Multiple", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _Multiple.Multiple;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "Single", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _Single.Single;
22
+ }
23
+ });
24
+ var _Multiple = require("./Multiple");
25
+ var _Single = require("./Single");
26
+ var _Menu = require("./Menu");