iguazio.dashboard-react-controls 0.0.39 → 1.2.0

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 (79) hide show
  1. package/dist/components/Backdrop/Backdrop.js +4 -11
  2. package/dist/components/Button/Button.js +25 -28
  3. package/dist/components/ConfirmDialog/ConfirmDialog.js +10 -24
  4. package/dist/components/FormCheckBox/FormCheckBox.js +25 -25
  5. package/dist/components/FormChipCell/FormChip/FormChip.js +33 -33
  6. package/dist/components/FormChipCell/FormChipCell.js +66 -109
  7. package/dist/components/FormChipCell/FormChipCellView.js +19 -37
  8. package/dist/components/FormChipCell/NewChipForm/NewChipForm.js +58 -90
  9. package/dist/components/FormChipCell/NewChipInput/NewChipInput.js +24 -22
  10. package/dist/components/FormChipCell/formChipCell.util.js +0 -1
  11. package/dist/components/FormCombobox/FormCombobox.js +82 -140
  12. package/dist/components/FormInput/FormInput.js +110 -175
  13. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.js +6 -21
  14. package/dist/components/FormKeyValueTable/FormKeyValueTable.js +23 -39
  15. package/dist/components/FormRadio/FormRadio.js +23 -22
  16. package/dist/components/FormSelect/FormSelect.js +56 -92
  17. package/dist/components/FormSelect/FormSelect.test.js +19 -35
  18. package/dist/components/FormTextarea/FormTextarea.js +44 -69
  19. package/dist/components/Modal/Modal.js +8 -21
  20. package/dist/components/Modal/Modal.scss +2 -2
  21. package/dist/components/PopUpDialog/PopUpDialog.js +28 -43
  22. package/dist/components/RoundedIcon/RoundedIcon.js +7 -18
  23. package/dist/components/RoundedIcon/roundedIcon.scss +2 -2
  24. package/dist/components/Tip/Tip.js +25 -40
  25. package/dist/components/Tip/Tip.test.js +36 -45
  26. package/dist/components/Tooltip/Tooltip.js +40 -64
  27. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.js +2 -8
  28. package/dist/components/TooltipTemplate/TextTooltipTemplate.js +2 -12
  29. package/dist/components/Wizard/Wizard.js +35 -57
  30. package/dist/components/Wizard/Wizard.scss +1 -3
  31. package/dist/components/Wizard/WizardSteps/WizardSteps.js +4 -16
  32. package/dist/components/Wizard/WizardSteps/WizardSteps.scss +1 -0
  33. package/dist/components/index.js +0 -18
  34. package/dist/constants.js +4 -6
  35. package/dist/elements/FormActionButton/FormActionButton.js +6 -12
  36. package/dist/elements/FormRowActions/FormRowActions.js +6 -18
  37. package/dist/elements/HiddenChipsBlock/HiddenChipsBlock.js +37 -55
  38. package/dist/elements/OptionsMenu/OptionsMenu.js +4 -14
  39. package/dist/elements/SelectOption/SelectOption.js +6 -18
  40. package/dist/elements/SelectOption/SelectOption.test.js +19 -12
  41. package/dist/elements/SelectOption/selectOption.scss +5 -2
  42. package/dist/elements/ValidationTemplate/ValidationTemplate.js +2 -11
  43. package/dist/elements/index.js +0 -6
  44. package/dist/hooks/index.js +0 -1
  45. package/dist/hooks/useDebounce.js +1 -5
  46. package/dist/hooks/useDetectOutsideClick.js +4 -8
  47. package/dist/hooks/useFormTable.hook.js +31 -41
  48. package/dist/images/archive-icon.svg +3 -0
  49. package/dist/images/arrow.svg +1 -1
  50. package/dist/images/close.svg +2 -2
  51. package/dist/images/collapse.svg +2 -2
  52. package/dist/images/copy-to-clipboard-icon.svg +3 -0
  53. package/dist/images/deploy-icon.svg +4 -0
  54. package/dist/images/edit.svg +1 -1
  55. package/dist/images/edit_old.svg +3 -0
  56. package/dist/images/expand.svg +2 -2
  57. package/dist/images/eye-icon.svg +3 -0
  58. package/dist/images/link-icon.svg +5 -0
  59. package/dist/images/monitor-icon.svg +3 -0
  60. package/dist/images/refresh.svg +1 -1
  61. package/dist/images/tag-icon.svg +4 -0
  62. package/dist/images/unarchive-icon.svg +3 -0
  63. package/dist/images/yaml.svg +2 -3
  64. package/dist/images/yaml_old.svg +4 -0
  65. package/dist/index.js +0 -13
  66. package/dist/scss/borders.scss +1 -1
  67. package/dist/scss/colors.scss +2 -0
  68. package/dist/scss/common.scss +7 -3
  69. package/dist/scss/mixins.scss +6 -19
  70. package/dist/scss/shadows.scss +3 -3
  71. package/dist/scss/variables.scss +2 -0
  72. package/dist/types.js +19 -49
  73. package/dist/utils/common.util.js +3 -13
  74. package/dist/utils/form.util.js +20 -24
  75. package/dist/utils/generateChipsList.util.js +0 -3
  76. package/dist/utils/getFirstScrollableParent.util.js +0 -5
  77. package/dist/utils/validation.util.js +72 -94
  78. package/package.json +104 -104
  79. package/dist/images/eye.svg +0 -4
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _classnames = _interopRequireDefault(require("classnames"));
13
-
14
10
  var _reactFinalFormArrays = require("react-final-form-arrays");
15
-
16
11
  var _components = require("../../components");
17
-
18
12
  var _elements = require("../../elements");
19
-
20
13
  var _useFormTable2 = require("../../hooks/useFormTable.hook");
21
-
22
14
  var _jsxRuntime = require("react/jsx-runtime");
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  /*
27
17
  Copyright 2022 Iguazio Systems Ltd.
28
18
  Licensed under the Apache License, Version 2.0 (the "License") with
@@ -39,38 +29,36 @@ illegal under applicable law, and the grant of the foregoing license
39
29
  under the Apache 2.0 license is conditioned upon your compliance with
40
30
  such restriction.
41
31
  */
32
+
42
33
  var FormKeyValueTable = function FormKeyValueTable(_ref) {
43
34
  var addNewItemLabel = _ref.addNewItemLabel,
44
- className = _ref.className,
45
- defaultKey = _ref.defaultKey,
46
- disabled = _ref.disabled,
47
- fieldsPath = _ref.fieldsPath,
48
- formState = _ref.formState,
49
- isKeyRequired = _ref.isKeyRequired,
50
- isValueRequired = _ref.isValueRequired,
51
- keyHeader = _ref.keyHeader,
52
- keyLabel = _ref.keyLabel,
53
- keyOptions = _ref.keyOptions,
54
- valueHeader = _ref.valueHeader,
55
- valueLabel = _ref.valueLabel;
35
+ className = _ref.className,
36
+ defaultKey = _ref.defaultKey,
37
+ disabled = _ref.disabled,
38
+ fieldsPath = _ref.fieldsPath,
39
+ formState = _ref.formState,
40
+ isKeyRequired = _ref.isKeyRequired,
41
+ isValueRequired = _ref.isValueRequired,
42
+ keyHeader = _ref.keyHeader,
43
+ keyLabel = _ref.keyLabel,
44
+ keyOptions = _ref.keyOptions,
45
+ valueHeader = _ref.valueHeader,
46
+ valueLabel = _ref.valueLabel;
56
47
  var tableClassNames = (0, _classnames.default)('form-table form-key-value-table', className);
57
-
58
48
  var _useFormTable = (0, _useFormTable2.useFormTable)(formState),
59
- editingItem = _useFormTable.editingItem,
60
- addNewRow = _useFormTable.addNewRow,
61
- applyChanges = _useFormTable.applyChanges,
62
- deleteRow = _useFormTable.deleteRow,
63
- discardOrDelete = _useFormTable.discardOrDelete,
64
- enterEditMode = _useFormTable.enterEditMode,
65
- bottomScrollRef = _useFormTable.bottomScrollRef;
66
-
49
+ editingItem = _useFormTable.editingItem,
50
+ addNewRow = _useFormTable.addNewRow,
51
+ applyChanges = _useFormTable.applyChanges,
52
+ deleteRow = _useFormTable.deleteRow,
53
+ discardOrDelete = _useFormTable.discardOrDelete,
54
+ enterEditMode = _useFormTable.enterEditMode,
55
+ bottomScrollRef = _useFormTable.bottomScrollRef;
67
56
  var uniquenessValidator = function uniquenessValidator(fields, newValue) {
68
57
  return !fields.value.some(function (_ref2, index) {
69
58
  var key = _ref2.data.key;
70
59
  return newValue.trim() === key && index !== editingItem.ui.index;
71
60
  });
72
61
  };
73
-
74
62
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
75
63
  className: tableClassNames,
76
64
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
@@ -88,12 +76,10 @@ var FormKeyValueTable = function FormKeyValueTable(_ref) {
88
76
  name: fieldsPath,
89
77
  children: function children(_ref3) {
90
78
  var _editingItem$ui3;
91
-
92
79
  var fields = _ref3.fields;
93
80
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
94
81
  children: [fields.map(function (contentItem, index) {
95
82
  var _editingItem$ui, _editingItem$ui2;
96
-
97
83
  var tableRowClassNames = (0, _classnames.default)('form-table__row', fieldsPath === (editingItem === null || editingItem === void 0 ? void 0 : (_editingItem$ui = editingItem.ui) === null || _editingItem$ui === void 0 ? void 0 : _editingItem$ui.fieldsPath) && (editingItem === null || editingItem === void 0 ? void 0 : (_editingItem$ui2 = editingItem.ui) === null || _editingItem$ui2 === void 0 ? void 0 : _editingItem$ui2.index) === index && 'active');
98
84
  return editingItem && index === editingItem.ui.index && !disabled ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
99
85
  className: tableRowClassNames,
@@ -101,12 +87,12 @@ var FormKeyValueTable = function FormKeyValueTable(_ref) {
101
87
  className: "form-table__cell form-table__cell_1",
102
88
  children: keyOptions ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormSelect, {
103
89
  name: "".concat(contentItem, ".data.key"),
104
- density: "dense",
90
+ density: "normal",
105
91
  options: keyOptions
106
92
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormInput, {
107
93
  className: "input_edit",
108
94
  placeholder: keyLabel,
109
- density: "dense",
95
+ density: "normal",
110
96
  name: "".concat(contentItem, ".data.key"),
111
97
  required: isKeyRequired,
112
98
  validationRules: [{
@@ -122,7 +108,7 @@ var FormKeyValueTable = function FormKeyValueTable(_ref) {
122
108
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormInput, {
123
109
  className: "input_edit",
124
110
  placeholder: valueLabel,
125
- density: "dense",
111
+ density: "normal",
126
112
  name: "".concat(contentItem, ".data.value"),
127
113
  required: isValueRequired
128
114
  })
@@ -174,7 +160,6 @@ var FormKeyValueTable = function FormKeyValueTable(_ref) {
174
160
  for (var _len = arguments.length, addRowArgs = new Array(_len), _key = 0; _key < _len; _key++) {
175
161
  addRowArgs[_key] = arguments[_key];
176
162
  }
177
-
178
163
  return addNewRow.apply(void 0, addRowArgs.concat([{
179
164
  data: {
180
165
  key: defaultKey || '',
@@ -189,7 +174,6 @@ var FormKeyValueTable = function FormKeyValueTable(_ref) {
189
174
  })]
190
175
  });
191
176
  };
192
-
193
177
  FormKeyValueTable.defaultProps = {
194
178
  addNewItemLabel: 'Add new item',
195
179
  className: '',
@@ -1,42 +1,46 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
7
-
8
8
  var _react = _interopRequireDefault(require("react"));
9
-
10
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
10
  var _reactFinalForm = require("react-final-form");
13
-
14
11
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
12
  require("./FormRadio.scss");
17
-
18
13
  var _jsxRuntime = require("react/jsx-runtime");
19
-
20
14
  var _excluded = ["className", "name", "label"];
21
-
15
+ /*
16
+ Copyright 2022 Iguazio Systems Ltd.
17
+ Licensed under the Apache License, Version 2.0 (the "License") with
18
+ an addition restriction as set forth herein. You may not use this
19
+ file except in compliance with the License. You may obtain a copy of
20
+ the License at http://www.apache.org/licenses/LICENSE-2.0.
21
+ Unless required by applicable law or agreed to in writing, software
22
+ distributed under the License is distributed on an "AS IS" BASIS,
23
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
24
+ implied. See the License for the specific language governing
25
+ permissions and limitations under the License.
26
+ In addition, you may not use the software for any purposes that are
27
+ illegal under applicable law, and the grant of the foregoing license
28
+ under the Apache 2.0 license is conditioned upon your compliance with
29
+ such restriction.
30
+ */
22
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
32
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
-
26
33
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
-
28
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
-
34
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
36
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
30
37
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
-
32
38
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
-
34
39
  var FormRadio = function FormRadio(_ref) {
35
40
  var className = _ref.className,
36
- name = _ref.name,
37
- label = _ref.label,
38
- inputProps = _objectWithoutProperties(_ref, _excluded);
39
-
41
+ name = _ref.name,
42
+ label = _ref.label,
43
+ inputProps = _objectWithoutProperties(_ref, _excluded);
40
44
  var formFieldClassNames = (0, _classnames.default)('form-field-radio', className);
41
45
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
42
46
  name: name,
@@ -56,7 +60,6 @@ var FormRadio = function FormRadio(_ref) {
56
60
  }
57
61
  });
58
62
  };
59
-
60
63
  FormRadio.defaultProps = {
61
64
  className: '',
62
65
  label: ''
@@ -66,7 +69,5 @@ FormRadio.propTypes = {
66
69
  name: _propTypes.default.string.isRequired,
67
70
  label: _propTypes.default.string.isRequired
68
71
  };
69
-
70
72
  var _default = /*#__PURE__*/_react.default.memo(FormRadio);
71
-
72
73
  exports.default = _default;
@@ -1,138 +1,114 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
10
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
11
  var _reactFinalForm = require("react-final-form");
17
-
18
12
  var _ConfirmDialog = _interopRequireDefault(require("../ConfirmDialog/ConfirmDialog"));
19
-
20
13
  var _PopUpDialog = _interopRequireDefault(require("../PopUpDialog/PopUpDialog"));
21
-
22
14
  var _SelectOption = _interopRequireDefault(require("../../elements/SelectOption/SelectOption"));
23
-
24
15
  var _TextTooltipTemplate = _interopRequireDefault(require("../TooltipTemplate/TextTooltipTemplate"));
25
-
26
16
  var _Tooltip = _interopRequireDefault(require("../Tooltip/Tooltip"));
27
-
28
17
  var _types = require("../../types");
29
-
30
18
  var _constants = require("../../constants");
31
-
32
19
  var _dropdown = require("../../images/dropdown.svg");
33
-
34
20
  require("./formSelect.scss");
35
-
36
21
  var _jsxRuntime = require("react/jsx-runtime");
37
-
38
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
-
40
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
44
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
-
46
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
-
48
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
49
-
27
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
28
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
29
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
50
30
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
51
-
52
31
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
53
-
54
32
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
55
-
56
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
57
-
58
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
59
-
60
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
61
-
33
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
34
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
35
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /*
36
+ Copyright 2022 Iguazio Systems Ltd.
37
+ Licensed under the Apache License, Version 2.0 (the "License") with
38
+ an addition restriction as set forth herein. You may not use this
39
+ file except in compliance with the License. You may obtain a copy of
40
+ the License at http://www.apache.org/licenses/LICENSE-2.0.
41
+ Unless required by applicable law or agreed to in writing, software
42
+ distributed under the License is distributed on an "AS IS" BASIS,
43
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
44
+ implied. See the License for the specific language governing
45
+ permissions and limitations under the License.
46
+ In addition, you may not use the software for any purposes that are
47
+ illegal under applicable law, and the grant of the foregoing license
48
+ under the Apache 2.0 license is conditioned upon your compliance with
49
+ such restriction.
50
+ */
62
51
  var FormSelect = function FormSelect(_ref) {
63
52
  var _selectRef$current;
64
-
65
53
  var className = _ref.className,
66
- density = _ref.density,
67
- disabled = _ref.disabled,
68
- hideSelectedOption = _ref.hideSelectedOption,
69
- label = _ref.label,
70
- multiple = _ref.multiple,
71
- name = _ref.name,
72
- onChange = _ref.onChange,
73
- options = _ref.options,
74
- required = _ref.required,
75
- search = _ref.search,
76
- selectedItemAction = _ref.selectedItemAction,
77
- tooltip = _ref.tooltip,
78
- withoutBorder = _ref.withoutBorder,
79
- withSelectedIcon = _ref.withSelectedIcon;
80
-
54
+ density = _ref.density,
55
+ disabled = _ref.disabled,
56
+ hideSelectedOption = _ref.hideSelectedOption,
57
+ label = _ref.label,
58
+ multiple = _ref.multiple,
59
+ name = _ref.name,
60
+ onChange = _ref.onChange,
61
+ options = _ref.options,
62
+ required = _ref.required,
63
+ search = _ref.search,
64
+ selectedItemAction = _ref.selectedItemAction,
65
+ tooltip = _ref.tooltip,
66
+ withoutBorder = _ref.withoutBorder,
67
+ withSelectedIcon = _ref.withSelectedIcon;
81
68
  var _useField = (0, _reactFinalForm.useField)(name),
82
- input = _useField.input,
83
- meta = _useField.meta;
84
-
69
+ input = _useField.input,
70
+ meta = _useField.meta;
85
71
  var _useState = (0, _react.useState)(false),
86
- _useState2 = _slicedToArray(_useState, 2),
87
- isInvalid = _useState2[0],
88
- setIsInvalid = _useState2[1];
89
-
72
+ _useState2 = _slicedToArray(_useState, 2),
73
+ isInvalid = _useState2[0],
74
+ setIsInvalid = _useState2[1];
90
75
  var _useState3 = (0, _react.useState)(false),
91
- _useState4 = _slicedToArray(_useState3, 2),
92
- isConfirmDialogOpen = _useState4[0],
93
- setConfirmDialogOpen = _useState4[1];
94
-
76
+ _useState4 = _slicedToArray(_useState3, 2),
77
+ isConfirmDialogOpen = _useState4[0],
78
+ setConfirmDialogOpen = _useState4[1];
95
79
  var _useState5 = (0, _react.useState)(false),
96
- _useState6 = _slicedToArray(_useState5, 2),
97
- isOpen = _useState6[0],
98
- setOpen = _useState6[1];
99
-
80
+ _useState6 = _slicedToArray(_useState5, 2),
81
+ isOpen = _useState6[0],
82
+ setOpen = _useState6[1];
100
83
  var _useState7 = (0, _react.useState)('bottom-right'),
101
- _useState8 = _slicedToArray(_useState7, 2),
102
- position = _useState8[0],
103
- setPosition = _useState8[1];
104
-
84
+ _useState8 = _slicedToArray(_useState7, 2),
85
+ position = _useState8[0],
86
+ setPosition = _useState8[1];
105
87
  var _useState9 = (0, _react.useState)(''),
106
- _useState10 = _slicedToArray(_useState9, 2),
107
- searchValue = _useState10[0],
108
- setSearchValue = _useState10[1];
109
-
88
+ _useState10 = _slicedToArray(_useState9, 2),
89
+ searchValue = _useState10[0],
90
+ setSearchValue = _useState10[1];
110
91
  var selectRef = (0, _react.useRef)();
111
92
  var popUpRef = (0, _react.useRef)();
112
-
113
93
  var _ref2 = (selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect()) || {},
114
- selectWidth = _ref2.width,
115
- selectLeft = _ref2.left;
116
-
94
+ selectWidth = _ref2.width,
95
+ selectLeft = _ref2.left;
117
96
  var selectWrapperClassNames = (0, _classnames.default)('form-field__wrapper', "form-field__wrapper-".concat(density), disabled && 'form-field__wrapper-disabled', isOpen && 'form-field__wrapper-active', isInvalid && 'form-field__wrapper-invalid', withoutBorder && 'without-border');
118
97
  var selectLabelClassName = (0, _classnames.default)('form-field__label', disabled && 'form-field__label-disabled');
119
98
  var selectValueClassName = (0, _classnames.default)('form-field__select-value', !input.value && 'form-field__select-placeholder');
120
99
  var selectedOption = options.find(function (option) {
121
100
  return option.id === input.value;
122
101
  });
123
-
124
102
  var getSelectValue = function getSelectValue() {
125
103
  if (!input.value || !input.value.length) {
126
104
  return "Select Option".concat(multiple ? 's' : '');
127
105
  }
128
-
129
106
  return !multiple ? selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label : input.value.length <= 2 ? options.filter(function (option) {
130
107
  return input.value.includes(option.id);
131
108
  }).map(function (option) {
132
109
  return option.label;
133
110
  }).join(', ') : "".concat(input.value.length, " items selected");
134
111
  };
135
-
136
112
  (0, _react.useEffect)(function () {
137
113
  setIsInvalid(meta.invalid && (meta.validating || meta.modified || meta.submitFailed && meta.touched));
138
114
  }, [meta.invalid, meta.modified, meta.submitFailed, meta.touched, meta.validating]);
@@ -161,8 +137,7 @@ var FormSelect = function FormSelect(_ref) {
161
137
  (0, _react.useLayoutEffect)(function () {
162
138
  if (popUpRef !== null && popUpRef !== void 0 && popUpRef.current) {
163
139
  var _popUpRef$current$get = popUpRef.current.getBoundingClientRect(),
164
- width = _popUpRef$current$get.width;
165
-
140
+ width = _popUpRef$current$get.width;
166
141
  selectLeft + width > window.innerWidth ? setPosition('bottom-left') : setPosition('bottom-right');
167
142
  }
168
143
  }, [isOpen, selectLeft]);
@@ -170,14 +145,12 @@ var FormSelect = function FormSelect(_ref) {
170
145
  if (isOpen) {
171
146
  window.addEventListener('scroll', handleScroll, true);
172
147
  }
173
-
174
148
  window.addEventListener('click', clickHandler);
175
149
  return function () {
176
150
  window.removeEventListener('click', clickHandler);
177
151
  window.removeEventListener('scroll', handleScroll, true);
178
152
  };
179
153
  }, [clickHandler, handleScroll, isOpen]);
180
-
181
154
  var toggleOpen = function toggleOpen() {
182
155
  if (isOpen) {
183
156
  closeMenu();
@@ -185,17 +158,14 @@ var FormSelect = function FormSelect(_ref) {
185
158
  !disabled && openMenu();
186
159
  }
187
160
  };
188
-
189
161
  var handleCloseSelectBody = (0, _react.useCallback)(function (event) {
190
162
  event.stopPropagation();
191
163
  if (multiple) return;
192
-
193
164
  if (!event.target.classList.contains('disabled') && !event.target.closest('.options-list__search')) {
194
165
  closeMenu();
195
166
  setSearchValue('');
196
167
  }
197
168
  }, [closeMenu, multiple]);
198
-
199
169
  var handleSelectOptionClick = function handleSelectOptionClick(selectedOption, option) {
200
170
  if (selectedOption !== input.value) {
201
171
  option.handler && option.handler();
@@ -205,19 +175,17 @@ var FormSelect = function FormSelect(_ref) {
205
175
  });
206
176
  }
207
177
  };
208
-
209
178
  var validateField = function validateField(value) {
210
179
  if (required) {
211
180
  return value ? undefined : 'Required';
212
181
  }
213
182
  };
214
-
215
183
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFinalForm.Field, {
216
184
  name: name,
217
185
  validate: validateField,
218
186
  children: function children(_ref3) {
219
187
  var input = _ref3.input,
220
- meta = _ref3.meta;
188
+ meta = _ref3.meta;
221
189
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
222
190
  className: "select-tooltip",
223
191
  template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextTooltipTemplate.default, {
@@ -265,7 +233,6 @@ var FormSelect = function FormSelect(_ref) {
265
233
  } else {
266
234
  selectedItemAction.handler(input.value);
267
235
  }
268
-
269
236
  event.stopPropagation();
270
237
  },
271
238
  children: selectedItemAction.icon
@@ -350,7 +317,6 @@ var FormSelect = function FormSelect(_ref) {
350
317
  }
351
318
  });
352
319
  };
353
-
354
320
  FormSelect.defaultProps = {
355
321
  className: '',
356
322
  density: 'normal',
@@ -379,7 +345,5 @@ FormSelect.propTypes = {
379
345
  withoutBorder: _propTypes.default.bool,
380
346
  withSelectedIcon: _propTypes.default.bool
381
347
  };
382
-
383
348
  var _default = /*#__PURE__*/_react.default.memo(FormSelect);
384
-
385
349
  exports.default = _default;
@@ -1,31 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = _interopRequireDefault(require("react"));
4
-
5
4
  var _Select = _interopRequireDefault(require("./Select"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _jsxRuntime = require("react/jsx-runtime");
10
-
11
7
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
-
8
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
13
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
-
15
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
-
17
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
-
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /*
14
+ Copyright 2022 Iguazio Systems Ltd.
15
+ Licensed under the Apache License, Version 2.0 (the "License") with
16
+ an addition restriction as set forth herein. You may not use this
17
+ file except in compliance with the License. You may obtain a copy of
18
+ the License at http://www.apache.org/licenses/LICENSE-2.0.
19
+ Unless required by applicable law or agreed to in writing, software
20
+ distributed under the License is distributed on an "AS IS" BASIS,
21
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
22
+ implied. See the License for the specific language governing
23
+ permissions and limitations under the License.
24
+ In addition, you may not use the software for any purposes that are
25
+ illegal under applicable law, and the grant of the foregoing license
26
+ under the Apache 2.0 license is conditioned upon your compliance with
27
+ such restriction.
28
+ */
19
29
  jest.mock('../../images/dropdown.svg', function () {
20
30
  return {
21
31
  ReactComponent: 'caret-icon'
22
32
  };
23
33
  });
24
-
25
34
  var renderComponent = function renderComponent(props) {
26
35
  return (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, _objectSpread({}, props)));
27
36
  };
28
-
29
37
  describe('Select component', function () {
30
38
  var wrapper;
31
39
  var mockClick = jest.fn();
@@ -49,31 +57,21 @@ describe('Select component', function () {
49
57
  });
50
58
  it('should show select body after click by select header', function () {
51
59
  var select = wrapper.getByTestId('select');
52
-
53
60
  _react2.fireEvent.click(select);
54
-
55
61
  expect(wrapper.queryByTestId('select-body')).not.toBeNull();
56
62
  });
57
63
  it('should hide the select body when scrolling', function () {
58
64
  var select = wrapper.getByTestId('select');
59
-
60
65
  _react2.fireEvent.click(select);
61
-
62
66
  expect(wrapper.queryByTestId('select-body')).not.toBeNull();
63
-
64
67
  _react2.fireEvent.scroll(window);
65
-
66
68
  expect(wrapper.queryByTestId('select-body')).toBeNull();
67
69
  });
68
70
  it('should call "onClick" callback with "test1"', function () {
69
71
  var select = wrapper.getByTestId('select');
70
-
71
72
  _react2.fireEvent.click(select);
72
-
73
73
  var selectOption = wrapper.getByTestId('select-option');
74
-
75
74
  _react2.fireEvent.click(selectOption);
76
-
77
75
  expect(mockClick).toHaveBeenCalledWith('test1');
78
76
  });
79
77
  it('should not close "selectBody" if click by disabled option', function () {
@@ -86,24 +84,16 @@ describe('Select component', function () {
86
84
  };
87
85
  wrapper.rerender( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, _objectSpread({}, props)));
88
86
  var select = wrapper.getByTestId('select');
89
-
90
87
  _react2.fireEvent.click(select);
91
-
92
88
  var selectOption = wrapper.getByTestId('select-option');
93
-
94
89
  _react2.fireEvent.click(selectOption);
95
-
96
90
  expect(wrapper.queryByTestId('select-body')).not.toBeNull();
97
91
  });
98
92
  it('should display selected option', function () {
99
93
  var select = wrapper.getByTestId('select');
100
-
101
94
  _react2.fireEvent.click(select);
102
-
103
95
  var selectOption = wrapper.getByTestId('select-option');
104
-
105
96
  _react2.fireEvent.click(selectOption);
106
-
107
97
  expect(mockClick).toHaveBeenCalledWith('test1');
108
98
  wrapper.rerender( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.default, {
109
99
  options: [{
@@ -127,9 +117,7 @@ describe('Select component', function () {
127
117
  disabled: true
128
118
  }));
129
119
  var select = wrapper.getByTestId('select');
130
-
131
120
  _react2.fireEvent.click(select);
132
-
133
121
  expect(wrapper.queryByTestId('select-body')).toBeNull();
134
122
  });
135
123
  it('should display a "subLabel" if it exists in the option', function () {
@@ -146,13 +134,9 @@ describe('Select component', function () {
146
134
  }]
147
135
  }));
148
136
  var select = wrapper.getByTestId('select');
149
-
150
137
  _react2.fireEvent.click(select);
151
-
152
138
  var selectOption = wrapper.getByTestId('select-option');
153
-
154
139
  _react2.fireEvent.click(selectOption);
155
-
156
140
  expect(mockHandler).toHaveBeenCalled();
157
141
  });
158
142
  });