iguazio.dashboard-react-controls 2.2.20 → 2.2.21

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 (46) hide show
  1. package/dist/components/Backdrop/Backdrop.js +1 -1
  2. package/dist/components/Button/Button.js +4 -6
  3. package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -1
  4. package/dist/components/FormCheckBox/FormCheckBox.js +4 -5
  5. package/dist/components/FormChipCell/FormChip/FormChip.js +1 -1
  6. package/dist/components/FormChipCell/FormChipCell.js +4 -5
  7. package/dist/components/FormChipCell/FormChipCellView.js +8 -9
  8. package/dist/components/FormChipCell/HiddenChipsBlock/HiddenChipsBlock.js +5 -6
  9. package/dist/components/FormChipCell/NewChipForm/NewChipForm.js +11 -18
  10. package/dist/components/FormChipCell/NewChipInput/NewChipInput.js +1 -1
  11. package/dist/components/FormChipCell/formChipCell.util.js +1 -2
  12. package/dist/components/FormCombobox/FormCombobox.js +12 -13
  13. package/dist/components/FormInput/FormInput.js +18 -21
  14. package/dist/components/FormInput/InputNumberButtons/InputNumberButtons.js +1 -1
  15. package/dist/components/FormKeyValueTable/FormKeyValueTable.js +5 -6
  16. package/dist/components/FormOnChange/FormOnChange.js +1 -1
  17. package/dist/components/FormRadio/FormRadio.js +3 -3
  18. package/dist/components/FormSelect/FormSelect.js +11 -12
  19. package/dist/components/FormSelect/FormSelect.test.js +6 -6
  20. package/dist/components/FormTextarea/FormTextarea.js +4 -5
  21. package/dist/components/FormToggle/FormToggle.js +4 -4
  22. package/dist/components/Modal/Modal.js +2 -2
  23. package/dist/components/PopUpDialog/PopUpDialog.js +8 -10
  24. package/dist/components/RoundedIcon/RoundedIcon.js +1 -1
  25. package/dist/components/Tip/Tip.js +6 -6
  26. package/dist/components/Tip/Tip.test.js +3 -3
  27. package/dist/components/Tooltip/Tooltip.js +9 -11
  28. package/dist/components/TooltipTemplate/ProducerTooltipTemplate.js +1 -1
  29. package/dist/components/TooltipTemplate/TextTooltipTemplate.js +1 -1
  30. package/dist/components/Wizard/Wizard.js +5 -5
  31. package/dist/components/Wizard/WizardSteps/WizardSteps.js +1 -1
  32. package/dist/components/index.js +1 -1
  33. package/dist/elements/FormActionButton/FormActionButton.js +2 -2
  34. package/dist/elements/FormRowActions/FormRowActions.js +5 -6
  35. package/dist/elements/OptionsMenu/OptionsMenu.js +2 -2
  36. package/dist/elements/SelectOption/SelectOption.js +4 -5
  37. package/dist/elements/SelectOption/SelectOption.test.js +5 -5
  38. package/dist/elements/ValidationTemplate/ValidationTemplate.js +1 -1
  39. package/dist/elements/index.js +1 -1
  40. package/dist/hooks/useChipCell.hook.js +6 -10
  41. package/dist/hooks/useFormTable.hook.js +25 -40
  42. package/dist/hooks/useHiddenChipsBlock.hook.js +9 -9
  43. package/dist/types.js +1 -1
  44. package/dist/utils/generateChipsList.util.js +1 -1
  45. package/dist/utils/validation.util.js +6 -6
  46. package/package.json +1 -1
@@ -136,4 +136,4 @@ var _TextTooltipTemplate = _interopRequireDefault(require("./TooltipTemplate/Tex
136
136
  var _Tip = _interopRequireDefault(require("./Tip/Tip"));
137
137
  var _Tooltip = _interopRequireDefault(require("./Tooltip/Tooltip"));
138
138
  var _Wizard = _interopRequireDefault(require("./Wizard/Wizard"));
139
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
139
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -8,7 +8,7 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _plus = require("../../images/plus.svg");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  /*
13
13
  Copyright 2019 Iguazio Systems Ltd.
14
14
 
@@ -43,7 +43,7 @@ const FormActionButton = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
43
43
  children: [!hidden && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
44
44
  className: "form-table__row form-table__action-row no-hover",
45
45
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
46
- "data-testid": id ? id : "".concat(fieldsPath, "-add-btn"),
46
+ "data-testid": id ? id : `${fieldsPath}-add-btn`,
47
47
  onClick: event => onClick(event, fields, fieldsPath),
48
48
  disabled: disabled,
49
49
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_plus.ReactComponent, {}), label]
@@ -13,7 +13,7 @@ var _edit = require("../../images/edit.svg");
13
13
  var _delete = require("../../images/delete.svg");
14
14
  var _checkmark = require("../../images/checkmark2.svg");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
17
  /*
18
18
  Copyright 2019 Iguazio Systems Ltd.
19
19
 
@@ -35,7 +35,6 @@ such restriction.
35
35
  */
36
36
 
37
37
  const FormRowActions = _ref => {
38
- var _editingItem$ui, _editingItem$ui2, _editingItem$ui3, _editingItem$ui4;
39
38
  let {
40
39
  applyChanges,
41
40
  deleteButtonIsHidden = false,
@@ -51,7 +50,7 @@ const FormRowActions = _ref => {
51
50
  className: "form-table__cell form-table__actions-cell"
52
51
  }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
53
52
  className: "form-table__cell form-table__actions-cell",
54
- children: [(editingItem === null || editingItem === void 0 || (_editingItem$ui = editingItem.ui) === null || _editingItem$ui === void 0 ? void 0 : _editingItem$ui.index) === index && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
53
+ children: [editingItem?.ui?.index === index && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
55
54
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RoundedIcon, {
56
55
  id: "apply-btn",
57
56
  onClick: event => applyChanges(event, index),
@@ -61,11 +60,11 @@ const FormRowActions = _ref => {
61
60
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RoundedIcon, {
62
61
  id: "delete-discard-btn",
63
62
  onClick: event => discardOrDelete(event, fieldsPath, index),
64
- tooltipText: (_editingItem$ui2 = editingItem.ui) !== null && _editingItem$ui2 !== void 0 && _editingItem$ui2.isNew ? 'Delete' : 'Discard changes',
63
+ tooltipText: editingItem.ui?.isNew ? 'Delete' : 'Discard changes',
65
64
  disabled: disabled,
66
- children: (_editingItem$ui3 = editingItem.ui) !== null && _editingItem$ui3 !== void 0 && _editingItem$ui3.isNew ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_delete.ReactComponent, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_close.ReactComponent, {})
65
+ children: editingItem.ui?.isNew ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_delete.ReactComponent, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_close.ReactComponent, {})
67
66
  })]
68
- }), (!editingItem || (editingItem === null || editingItem === void 0 || (_editingItem$ui4 = editingItem.ui) === null || _editingItem$ui4 === void 0 ? void 0 : _editingItem$ui4.index) !== index) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
67
+ }), (!editingItem || editingItem?.ui?.index !== index) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
69
68
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RoundedIcon, {
70
69
  id: "edit-btn",
71
70
  onClick: event => {
@@ -10,7 +10,7 @@ var _reactTransitionGroup = require("react-transition-group");
10
10
  var _components = require("../../components");
11
11
  require("./optionsMenu.scss");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  /*
15
15
  Copyright 2022 Iguazio Systems Ltd.
16
16
  Licensed under the Apache License, Version 2.0 (the "License") with
@@ -52,7 +52,7 @@ const OptionsMenu = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
52
52
  autoHorizontalPosition: true
53
53
  },
54
54
  style: {
55
- minWidth: "".concat(dropdownWidth, "px")
55
+ minWidth: `${dropdownWidth}px`
56
56
  },
57
57
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
58
58
  className: "options-menu__body",
@@ -12,7 +12,7 @@ var _types = require("../../types");
12
12
  var _checkmark = require("../../images/checkmark.svg");
13
13
  require("./selectOption.scss");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  /*
17
17
  Copyright 2022 Iguazio Systems Ltd.
18
18
  Licensed under the Apache License, Version 2.0 (the "License") with
@@ -31,7 +31,6 @@ such restriction.
31
31
  */
32
32
 
33
33
  const SelectOption = _ref => {
34
- var _item$labelHtml;
35
34
  let {
36
35
  item,
37
36
  name,
@@ -51,7 +50,7 @@ const SelectOption = _ref => {
51
50
  label: item.label,
52
51
  disabled: item.disabled || false,
53
52
  children: item.status && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
54
- className: "state-".concat(item.status, "-job status")
53
+ className: `state-${item.status}-job status`
55
54
  })
56
55
  })
57
56
  });
@@ -74,9 +73,9 @@ const SelectOption = _ref => {
74
73
  className: "select__item-icon",
75
74
  children: item.icon
76
75
  }), item.status && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
77
- className: "state-".concat(item.status, "-job status")
76
+ className: `state-${item.status}-job status`
78
77
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
79
- renderChildAsHtml: ((_item$labelHtml = item.labelHtml) === null || _item$labelHtml === void 0 ? void 0 : _item$labelHtml.length) > 0,
78
+ renderChildAsHtml: item.labelHtml?.length > 0,
80
79
  template: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextTooltipTemplate, {
81
80
  text: item.label
82
81
  }),
@@ -4,7 +4,7 @@ var _react = _interopRequireDefault(require("react"));
4
4
  var _react2 = require("@testing-library/react");
5
5
  var _SelectOption = _interopRequireDefault(require("./SelectOption"));
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
8
  /*
9
9
  Copyright 2022 Iguazio Systems Ltd.
10
10
  Licensed under the Apache License, Version 2.0 (the "License") with
@@ -22,7 +22,7 @@ under the Apache 2.0 license is conditioned upon your compliance with
22
22
  such restriction.
23
23
  */
24
24
 
25
- const renderComponent = props => (0, _react2.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
25
+ const renderComponent = props => (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
26
26
  ...props
27
27
  }));
28
28
  jest.mock('../../images/checkbox-unchecked.svg', () => ({
@@ -52,7 +52,7 @@ describe('SelectOption component', () => {
52
52
  expect(wrapper.queryByTestId('select-option')).not.toBeNull();
53
53
  });
54
54
  it('should display checkbox inside option if props selectType is "checkbox"', () => {
55
- wrapper.rerender( /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
55
+ wrapper.rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
56
56
  item: {
57
57
  label: 'Test1',
58
58
  id: 'test1'
@@ -67,7 +67,7 @@ describe('SelectOption component', () => {
67
67
  });
68
68
  it('should won\'t call onClick callback if props disable set to "true"', () => {
69
69
  const mockCLick = jest.fn();
70
- wrapper.rerender( /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
70
+ wrapper.rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
71
71
  item: {
72
72
  label: 'Test1',
73
73
  id: 'test1'
@@ -84,7 +84,7 @@ describe('SelectOption component', () => {
84
84
  expect(wrapper.queryByTestId('tooltip-wrapper')).not.toBeNull();
85
85
  });
86
86
  it('should add class "disabled" to SelectOption if props disabled set to "true"', () => {
87
- wrapper.rerender( /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
87
+ wrapper.rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectOption.default, {
88
88
  item: {
89
89
  label: 'Test1',
90
90
  id: 'test1'
@@ -11,7 +11,7 @@ var _success_done = require("../../images/success_done.svg");
11
11
  var _close = require("../../images/close.svg");
12
12
  require("./ValidationTemplate.scss");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
15
  /*
16
16
  Copyright 2022 Iguazio Systems Ltd.
17
17
  Licensed under the Apache License, Version 2.0 (the "License") with
@@ -38,4 +38,4 @@ var _FormRowActions = _interopRequireDefault(require("./FormRowActions/FormRowAc
38
38
  var _OptionsMenu = _interopRequireDefault(require("./OptionsMenu/OptionsMenu"));
39
39
  var _SelectOption = _interopRequireDefault(require("./SelectOption/SelectOption"));
40
40
  var _ValidationTemplate = _interopRequireDefault(require("./ValidationTemplate/ValidationTemplate"));
41
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -39,16 +39,14 @@ const useChipCell = (isEditMode, visibleChipsMaxLength) => {
39
39
  const hiddenChipsCounterRef = (0, _react.useRef)();
40
40
  const hiddenChipsPopUpRef = (0, _react.useRef)();
41
41
  const handleShowElements = (0, _react.useCallback)(event => {
42
- var _hiddenChipsCounterRe2;
43
42
  if (!isEditMode || isEditMode && visibleChipsMaxLength) {
44
- var _hiddenChipsCounterRe;
45
- if ((_hiddenChipsCounterRe = hiddenChipsCounterRef.current) !== null && _hiddenChipsCounterRe !== void 0 && _hiddenChipsCounterRe.contains(event.target) && !showHiddenChips) {
43
+ if (hiddenChipsCounterRef.current?.contains(event.target) && !showHiddenChips) {
46
44
  setShowHiddenChips(true);
47
45
  } else {
48
46
  setShowHiddenChips(false);
49
47
  }
50
48
  }
51
- event && ((_hiddenChipsCounterRe2 = hiddenChipsCounterRef.current) === null || _hiddenChipsCounterRe2 === void 0 ? void 0 : _hiddenChipsCounterRe2.contains(event.target)) && event.stopPropagation();
49
+ event && hiddenChipsCounterRef.current?.contains(event.target) && event.stopPropagation();
52
50
  }, [isEditMode, showHiddenChips, visibleChipsMaxLength]);
53
51
  (0, _react.useEffect)(() => {
54
52
  if (showHiddenChips) {
@@ -57,7 +55,7 @@ const useChipCell = (isEditMode, visibleChipsMaxLength) => {
57
55
  return () => window.removeEventListener('click', handleShowElements, true);
58
56
  }, [showHiddenChips, handleShowElements]);
59
57
  const handleScroll = (0, _react.useCallback)(event => {
60
- if (event.target.parentElement !== (hiddenChipsPopUpRef === null || hiddenChipsPopUpRef === void 0 ? void 0 : hiddenChipsPopUpRef.current)) {
58
+ if (event.target.parentElement !== hiddenChipsPopUpRef?.current) {
61
59
  setShowHiddenChips(false);
62
60
  }
63
61
  }, [hiddenChipsPopUpRef]);
@@ -68,11 +66,10 @@ const useChipCell = (isEditMode, visibleChipsMaxLength) => {
68
66
  return () => window.removeEventListener('scroll', handleScroll, true);
69
67
  }, [handleScroll, showHiddenChips]);
70
68
  const resizeChipCell = (0, _react.useCallback)(() => {
71
- if (hiddenChipsPopUpRef !== null && hiddenChipsPopUpRef !== void 0 && hiddenChipsPopUpRef.current) {
72
- var _hiddenChipsCounterRe3;
69
+ if (hiddenChipsPopUpRef?.current) {
73
70
  const scrollableParent = (0, _getFirstScrollableParent.getFirstScrollableParent)(hiddenChipsCounterRef.current.offsetParent);
74
71
  const scrollableParentRect = scrollableParent.getBoundingClientRect();
75
- const hiddenChipsCounterRect = (_hiddenChipsCounterRe3 = hiddenChipsCounterRef.current) === null || _hiddenChipsCounterRe3 === void 0 ? void 0 : _hiddenChipsCounterRe3.getBoundingClientRect();
72
+ const hiddenChipsCounterRect = hiddenChipsCounterRef.current?.getBoundingClientRect();
76
73
 
77
74
  // Check if the hiddenChipsCounterRect is outside the boundaries of the scrollableParentRect or the window
78
75
  if (hiddenChipsCounterRect.left < scrollableParentRect.left || hiddenChipsCounterRect.top < scrollableParentRect.top || hiddenChipsCounterRect.right > scrollableParentRect.right || hiddenChipsCounterRect.bottom > scrollableParentRect.bottom || hiddenChipsCounterRect.right > window.innerWidth || hiddenChipsCounterRect.bottom > window.innerHeight) {
@@ -80,8 +77,7 @@ const useChipCell = (isEditMode, visibleChipsMaxLength) => {
80
77
  }
81
78
  }
82
79
  if (!isEditMode && !(0, _common.isEveryObjectValueEmpty)(chipsSizes)) {
83
- var _chipsCellRef$current;
84
- const parentSize = (_chipsCellRef$current = chipsCellRef.current) === null || _chipsCellRef$current === void 0 ? void 0 : _chipsCellRef$current.getBoundingClientRect().width;
80
+ const parentSize = chipsCellRef.current?.getBoundingClientRect().width;
85
81
  let maxLength = 0;
86
82
  let chipIndex = 0;
87
83
  const padding = 65;
@@ -52,9 +52,9 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
52
52
  const bottomScrollRef = (0, _react.useRef)(null);
53
53
  const onExitEditModeCallbackRef = (0, _react.useRef)(onExitEditModeCallback);
54
54
  (0, _react.useLayoutEffect)(() => {
55
- const tableErrors = (0, _lodash.get)(formState === null || formState === void 0 ? void 0 : formState.errors, editingItem === null || editingItem === void 0 ? void 0 : editingItem.ui.fieldsPath, []);
56
- editingItemErrorsRef.current = (0, _lodash.get)(tableErrors, editingItem === null || editingItem === void 0 ? void 0 : editingItem.ui.index, null);
57
- }, [editingItem === null || editingItem === void 0 ? void 0 : editingItem.ui.fieldsPath, editingItem === null || editingItem === void 0 ? void 0 : editingItem.ui.index, formState === null || formState === void 0 ? void 0 : formState.errors]);
55
+ const tableErrors = (0, _lodash.get)(formState?.errors, editingItem?.ui.fieldsPath, []);
56
+ editingItemErrorsRef.current = (0, _lodash.get)(tableErrors, editingItem?.ui.index, null);
57
+ }, [editingItem?.ui.fieldsPath, editingItem?.ui.index, formState?.errors]);
58
58
  (0, _react.useLayoutEffect)(() => {
59
59
  formStateRef.current = formState;
60
60
  }, [formState]);
@@ -62,41 +62,33 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
62
62
  onExitEditModeCallbackRef.current = onExitEditModeCallback;
63
63
  }, [onExitEditModeCallback]);
64
64
  const exitEditMode = () => {
65
- var _editingItemRef$curre;
66
- if ((_editingItemRef$curre = editingItemRef.current) !== null && _editingItemRef$curre !== void 0 && _editingItemRef$curre.data) {
67
- var _editingItemRef$curre2;
68
- Object.entries((_editingItemRef$curre2 = editingItemRef.current) === null || _editingItemRef$curre2 === void 0 ? void 0 : _editingItemRef$curre2.data).forEach(_ref => {
69
- var _formStateRef$current, _editingItemRef$curre3, _editingItemRef$curre4;
65
+ if (editingItemRef.current?.data) {
66
+ Object.entries(editingItemRef.current?.data).forEach(_ref => {
70
67
  let [fieldName] = _ref;
71
- (_formStateRef$current = formStateRef.current) === null || _formStateRef$current === void 0 || _formStateRef$current.form.mutators.setFieldState("".concat((_editingItemRef$curre3 = editingItemRef.current) === null || _editingItemRef$curre3 === void 0 ? void 0 : _editingItemRef$curre3.ui.fieldsPath, "[").concat((_editingItemRef$curre4 = editingItemRef.current) === null || _editingItemRef$curre4 === void 0 ? void 0 : _editingItemRef$curre4.ui.index, "].data.").concat(fieldName), {
68
+ formStateRef.current?.form.mutators.setFieldState(`${editingItemRef.current?.ui.fieldsPath}[${editingItemRef.current?.ui.index}].data.${fieldName}`, {
72
69
  modified: false
73
70
  });
74
71
  });
75
72
  }
76
73
  editingItemRef.current = null;
77
74
  setEditingItem(null);
78
- (onExitEditModeCallbackRef === null || onExitEditModeCallbackRef === void 0 ? void 0 : onExitEditModeCallbackRef.current) && onExitEditModeCallbackRef.current();
75
+ onExitEditModeCallbackRef?.current && onExitEditModeCallbackRef.current();
79
76
  };
80
77
  (0, _react.useEffect)(() => {
81
78
  const applyOrDiscardOrDeleteInEffect = () => {
82
- if (editingItemRef !== null && editingItemRef !== void 0 && editingItemRef.current) {
79
+ if (editingItemRef?.current) {
83
80
  if (!editingItemErrorsRef.current) {
84
81
  exitEditMode();
85
82
  } else {
86
- var _editingItemRef$curre5;
87
- if ((_editingItemRef$curre5 = editingItemRef.current) !== null && _editingItemRef$curre5 !== void 0 && (_editingItemRef$curre5 = _editingItemRef$curre5.ui) !== null && _editingItemRef$curre5 !== void 0 && _editingItemRef$curre5.isNew) {
88
- var _editingItemRef$curre6;
89
- const values = (0, _lodash.get)(formStateRef.current.values, (_editingItemRef$curre6 = editingItemRef.current) === null || _editingItemRef$curre6 === void 0 ? void 0 : _editingItemRef$curre6.ui.fieldsPath);
90
- if ((values === null || values === void 0 ? void 0 : values.length) > 1) {
91
- var _editingItemRef$curre7, _editingItemRef$curre8;
92
- formStateRef.current.form.mutators.remove((_editingItemRef$curre7 = editingItemRef.current) === null || _editingItemRef$curre7 === void 0 ? void 0 : _editingItemRef$curre7.ui.fieldsPath, (_editingItemRef$curre8 = editingItemRef.current) === null || _editingItemRef$curre8 === void 0 ? void 0 : _editingItemRef$curre8.ui.index);
83
+ if (editingItemRef.current?.ui?.isNew) {
84
+ const values = (0, _lodash.get)(formStateRef.current.values, editingItemRef.current?.ui.fieldsPath);
85
+ if (values?.length > 1) {
86
+ formStateRef.current.form.mutators.remove(editingItemRef.current?.ui.fieldsPath, editingItemRef.current?.ui.index);
93
87
  } else {
94
- var _editingItemRef$curre9;
95
- formStateRef.current.form.change((_editingItemRef$curre9 = editingItemRef.current) === null || _editingItemRef$curre9 === void 0 ? void 0 : _editingItemRef$curre9.ui.fieldsPath, []);
88
+ formStateRef.current.form.change(editingItemRef.current?.ui.fieldsPath, []);
96
89
  }
97
90
  } else {
98
- var _editingItemRef$curre10, _editingItemRef$curre11;
99
- formStateRef.current.form.mutators.update((_editingItemRef$curre10 = editingItemRef.current) === null || _editingItemRef$curre10 === void 0 ? void 0 : _editingItemRef$curre10.ui.fieldsPath, (_editingItemRef$curre11 = editingItemRef.current) === null || _editingItemRef$curre11 === void 0 ? void 0 : _editingItemRef$curre11.ui.index, (0, _lodash.omit)(editingItemRef.current, ['ui']));
91
+ formStateRef.current.form.mutators.update(editingItemRef.current?.ui.fieldsPath, editingItemRef.current?.ui.index, (0, _lodash.omit)(editingItemRef.current, ['ui']));
100
92
  }
101
93
  exitEditMode();
102
94
  }
@@ -110,13 +102,12 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
110
102
  applyOrDiscardOrDelete(event);
111
103
  formStateRef.current.form.mutators.push(fieldsPath, newItem);
112
104
  setEditingItem(() => {
113
- var _fields$value;
114
105
  const newEditingItem = {
115
106
  ...newItem,
116
107
  ui: {
117
108
  isNew: true,
118
109
  fieldsPath,
119
- index: ((_fields$value = fields.value) === null || _fields$value === void 0 ? void 0 : _fields$value.length) || 0
110
+ index: fields.value?.length || 0
120
111
  }
121
112
  };
122
113
  editingItemRef.current = newEditingItem;
@@ -127,18 +118,15 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
127
118
  const applyChanges = (event, index) => {
128
119
  if (editingItemRef.current) {
129
120
  if (!editingItemErrorsRef.current) {
130
- var _editingItemRef$curre12;
131
- if ((_editingItemRef$curre12 = editingItemRef.current) !== null && _editingItemRef$curre12 !== void 0 && _editingItemRef$curre12.ui.isNew) {
121
+ if (editingItemRef.current?.ui.isNew) {
132
122
  scrollIntoView();
133
123
  }
134
124
  exitEditMode();
135
125
  } else {
136
- var _editingItemErrorsRef;
137
126
  // Mark all empty fields as `modified` in order to highlight the error if the field is invalid
138
- Object.entries((_editingItemErrorsRef = editingItemErrorsRef.current) === null || _editingItemErrorsRef === void 0 ? void 0 : _editingItemErrorsRef.data).forEach(_ref2 => {
139
- var _formStateRef$current2, _editingItemRef$curre13;
127
+ Object.entries(editingItemErrorsRef.current?.data).forEach(_ref2 => {
140
128
  let [fieldName] = _ref2;
141
- (_formStateRef$current2 = formStateRef.current) === null || _formStateRef$current2 === void 0 || _formStateRef$current2.form.mutators.setFieldState("".concat((_editingItemRef$curre13 = editingItemRef.current) === null || _editingItemRef$curre13 === void 0 ? void 0 : _editingItemRef$curre13.ui.fieldsPath, "[").concat(index, "].data.").concat(fieldName), {
129
+ formStateRef.current?.form.mutators.setFieldState(`${editingItemRef.current?.ui.fieldsPath}[${index}].data.${fieldName}`, {
142
130
  modified: true
143
131
  });
144
132
  });
@@ -150,7 +138,7 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
150
138
  applyOrDiscardOrDelete(event);
151
139
  }
152
140
  const values = (0, _lodash.get)(formStateRef.current.values, fieldsPath);
153
- if ((values === null || values === void 0 ? void 0 : values.length) > 1) {
141
+ if (values?.length > 1) {
154
142
  formStateRef.current.form.mutators.remove(fieldsPath, index);
155
143
  } else {
156
144
  formStateRef.current.form.change(fieldsPath, []);
@@ -164,8 +152,7 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
164
152
  event && event.stopPropagation();
165
153
  };
166
154
  const discardOrDelete = (event, fieldsPath, index) => {
167
- var _editingItemRef$curre14;
168
- if (!editingItemRef.current || (_editingItemRef$curre14 = editingItemRef.current) !== null && _editingItemRef$curre14 !== void 0 && (_editingItemRef$curre14 = _editingItemRef$curre14.ui) !== null && _editingItemRef$curre14 !== void 0 && _editingItemRef$curre14.isNew) {
155
+ if (!editingItemRef.current || editingItemRef.current?.ui?.isNew) {
169
156
  deleteRow(event, fieldsPath, index);
170
157
  } else {
171
158
  discardChanges(event, fieldsPath, index);
@@ -173,13 +160,11 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
173
160
  };
174
161
  const applyOrDiscardOrDelete = function () {
175
162
  let event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
176
- if (editingItemRef !== null && editingItemRef !== void 0 && editingItemRef.current) {
163
+ if (editingItemRef?.current) {
177
164
  if (!editingItemErrorsRef.current) {
178
- var _editingItemRef$curre15;
179
- applyChanges(event, (_editingItemRef$curre15 = editingItemRef.current) === null || _editingItemRef$curre15 === void 0 ? void 0 : _editingItemRef$curre15.ui.index);
165
+ applyChanges(event, editingItemRef.current?.ui.index);
180
166
  } else {
181
- var _editingItemRef$curre16, _editingItemRef$curre17;
182
- discardOrDelete(event, (_editingItemRef$curre16 = editingItemRef.current) === null || _editingItemRef$curre16 === void 0 ? void 0 : _editingItemRef$curre16.ui.fieldsPath, (_editingItemRef$curre17 = editingItemRef.current) === null || _editingItemRef$curre17 === void 0 ? void 0 : _editingItemRef$curre17.ui.index);
167
+ discardOrDelete(event, editingItemRef.current?.ui.fieldsPath, editingItemRef.current?.ui.index);
183
168
  }
184
169
  }
185
170
  };
@@ -211,11 +196,11 @@ const useFormTable = (formState, exitEditModeTriggerItem, onExitEditModeCallback
211
196
  }
212
197
  };
213
198
  const isCurrentRowEditing = rowPath => {
214
- return (editingItemRef === null || editingItemRef === void 0 ? void 0 : editingItemRef.current) && "".concat(editingItemRef.current.ui.fieldsPath, "[").concat(editingItemRef.current.ui.index, "]") === rowPath;
199
+ return editingItemRef?.current && `${editingItemRef.current.ui.fieldsPath}[${editingItemRef.current.ui.index}]` === rowPath;
215
200
  };
216
201
  const getTableArrayErrors = fieldsPath => {
217
202
  if (formState.submitFailed && formState.invalid) {
218
- return (0, _lodash.get)(formState, "errors.".concat(fieldsPath, ".").concat(_finalForm.ARRAY_ERROR), []);
203
+ return (0, _lodash.get)(formState, `errors.${fieldsPath}.${_finalForm.ARRAY_ERROR}`, []);
219
204
  } else {
220
205
  return [];
221
206
  }
@@ -7,7 +7,7 @@ exports.useHiddenChipsBlock = void 0;
7
7
  var _react = require("react");
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var _common = require("../utils/common.util");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  /*
12
12
  Copyright 2019 Iguazio Systems Ltd.
13
13
 
@@ -35,7 +35,7 @@ const useHiddenChipsBlock = (hiddenChipsCounterRef, hiddenChipsPopUpRef) => {
35
35
  const transitionEndEventName = (0, _react.useMemo)(() => (0, _common.getTransitionEndEventName)(), []);
36
36
  const hiddenChipsBlockClassNames = (0, _classnames.default)('chip-block-hidden', isTop ? 'chip-block-hidden_top' : 'chip-block-hidden_bottom', isLeft ? 'chip-block-hidden_left' : 'chip-block-hidden_right', isVisible && 'chip-block-hidden_visible');
37
37
  const resizePopUp = (0, _react.useCallback)(() => {
38
- if (hiddenChipsPopUpRef !== null && hiddenChipsPopUpRef !== void 0 && hiddenChipsPopUpRef.current && hiddenChipsCounterRef !== null && hiddenChipsCounterRef !== void 0 && hiddenChipsCounterRef.current) {
38
+ if (hiddenChipsPopUpRef?.current && hiddenChipsCounterRef?.current) {
39
39
  const offset = 10;
40
40
  const offsetMargin = 20;
41
41
  const elementRect = hiddenChipsCounterRef.current.getBoundingClientRect();
@@ -59,10 +59,10 @@ const useHiddenChipsBlock = (hiddenChipsCounterRef, hiddenChipsPopUpRef) => {
59
59
  // Compare elementRect.left and elementRectRight to choose the larger value as the max width
60
60
  isLeftPosition = elementRect.left > elementRectRight;
61
61
  const popUpMaxWidth = Math.max(elementRect.left, elementRectRight);
62
- hiddenChipsPopUpRef.current.style.maxWidth = "".concat(popUpMaxWidth, "px");
62
+ hiddenChipsPopUpRef.current.style.maxWidth = `${popUpMaxWidth}px`;
63
63
  }
64
- hiddenChipsPopUpRef.current.style.right = isLeftPosition ? "".concat(elementRectRight, "px") : 'unset';
65
- hiddenChipsPopUpRef.current.style.left = isLeftPosition ? 'unset' : "".concat(elementRect.left, "px");
64
+ hiddenChipsPopUpRef.current.style.right = isLeftPosition ? `${elementRectRight}px` : 'unset';
65
+ hiddenChipsPopUpRef.current.style.left = isLeftPosition ? 'unset' : `${elementRect.left}px`;
66
66
 
67
67
  // Determine if the top position is preferred based on the element's position and available height
68
68
  if (elementRect.top > hiddenChipsPopUpRef.current.clientHeight + offset + offsetMargin) {
@@ -73,17 +73,17 @@ const useHiddenChipsBlock = (hiddenChipsCounterRef, hiddenChipsPopUpRef) => {
73
73
  // Compare elementRect.top and elementRectBottom to choose the larger value as the max height
74
74
  isTopPosition = elementRect.top > elementRectBottom + offset;
75
75
  const popUpMaxHeight = Math.max(elementRect.top, elementRectBottom) - offset - offsetMargin;
76
- hiddenChipsPopUpRef.current.style.maxHeight = "".concat(popUpMaxHeight, "px");
76
+ hiddenChipsPopUpRef.current.style.maxHeight = `${popUpMaxHeight}px`;
77
77
  }
78
- hiddenChipsPopUpRef.current.style.bottom = isTopPosition ? "".concat(elementRectBottom + elementRect.height + offset, "px") : 'unset';
79
- hiddenChipsPopUpRef.current.style.top = isTopPosition ? 'unset' : "".concat(elementRect.bottom + offset, "px");
78
+ hiddenChipsPopUpRef.current.style.bottom = isTopPosition ? `${elementRectBottom + elementRect.height + offset}px` : 'unset';
79
+ hiddenChipsPopUpRef.current.style.top = isTopPosition ? 'unset' : `${elementRect.bottom + offset}px`;
80
80
  setIsTop(isTopPosition);
81
81
  setIsLeft(isLeftPosition);
82
82
  setIsVisible(true);
83
83
  }
84
84
  }, [hiddenChipsCounterRef, hiddenChipsPopUpRef]);
85
85
  (0, _react.useEffect)(() => {
86
- if (hiddenChipsPopUpRef !== null && hiddenChipsPopUpRef !== void 0 && hiddenChipsPopUpRef.current && hiddenChipsCounterRef !== null && hiddenChipsCounterRef !== void 0 && hiddenChipsCounterRef.current) {
86
+ if (hiddenChipsPopUpRef?.current && hiddenChipsCounterRef?.current) {
87
87
  window.addEventListener('resize', resizePopUp);
88
88
  window.addEventListener(transitionEndEventName, resizePopUp);
89
89
  return () => {
package/dist/types.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.WIZARD_STEPS_CONFIG = exports.SORT_PROPS = exports.SELECT_OPTIONS = exports.SELECT_OPTION = exports.POP_UP_CUSTOM_POSITION = exports.MODAL_SIZES = exports.INPUT_VALIDATION_RULES = exports.INPUT_LINK = exports.FORM_TABLE_EDITING_ITEM = exports.EXCLUDE_SORT_BY = exports.DEFAULT_SORT_BY = exports.CONFIRM_DIALOG_SUBMIT_BUTTON = exports.CONFIRM_DIALOG_MESSAGE = exports.CONFIRM_DIALOG_CANCEL_BUTTON = exports.COMBOBOX_VALIDATION_RULES = exports.COMBOBOX_SUGGESTION_LIST = exports.COMBOBOX_SELECT_OPTIONS = exports.CHIP_OPTIONS = exports.CHIP_INPUT_LIST = exports.CHIPS = exports.CHIP = exports.BUTTON_VARIANTS = exports.ALLOW_SORT_BY = void 0;
7
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
8
8
  var _constants = require("./constants");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  /*
11
11
  Copyright 2022 Iguazio Systems Ltd.
12
12
  Licensed under the Apache License, Version 2.0 (the "License") with
@@ -22,7 +22,7 @@ such restriction.
22
22
  */
23
23
  const generateChipsList = (chips, maxLength) => {
24
24
  if (chips.length > maxLength) {
25
- let hiddenChipsNumber = "+ ".concat(chips.length - maxLength);
25
+ let hiddenChipsNumber = `+ ${chips.length - maxLength}`;
26
26
  const hiddenChips = chips.slice(maxLength);
27
27
  const visibleChips = chips.slice(0, maxLength);
28
28
  return {
@@ -179,7 +179,7 @@ const generateRule = {
179
179
  noConsecutiveCharacters: chars => {
180
180
  const convertedPattern = chars.split(' ').map(charPair => {
181
181
  const charsPairArray = charPair.split('');
182
- return "(?!.*\\".concat(charsPairArray[0], "\\").concat(charsPairArray[1], ")");
182
+ return `(?!.*\\${charsPairArray[0]}\\${charsPairArray[1]})`;
183
183
  }).join('');
184
184
  return {
185
185
  name: _constants.validation.NO_CONSECUTIVE_CHARACTER.NAME,
@@ -197,7 +197,7 @@ const generateRule = {
197
197
  maxLengthBetweenDelimiters: (delimiter, maxLength, delimiterDescription) => {
198
198
  return {
199
199
  name: 'labelsLength',
200
- label: "Max length between two ".concat(_lodash.default.defaultTo(delimiterDescription, delimiter), ": ").concat(maxLength),
200
+ label: `Max length between two ${_lodash.default.defaultTo(delimiterDescription, delimiter)}: ${maxLength}`,
201
201
  pattern: value => {
202
202
  return value.split(delimiter).every(item => {
203
203
  return item.length >= 1 && item.length <= maxLength;
@@ -239,11 +239,11 @@ const generateRule = {
239
239
  const commonRules = {
240
240
  prefixedQualifiedName: [{
241
241
  name: 'nameValidCharacters',
242
- label: "[Name] ".concat(_constants.validation.VALID_CHARACTERS.LABEL, " : a\u2013z, A\u2013Z, 0\u20139, \u2013, _, ."),
242
+ label: `[Name] ${_constants.validation.VALID_CHARACTERS.LABEL} : a–z, A–Z, 0–9, –, _, .`,
243
243
  pattern: /^([^/]+\/)?[\w.-]+$/
244
244
  }, {
245
245
  name: 'nameBeginEnd',
246
- label: "[Name] ".concat(_constants.validation.BEGIN_END_WITH.LABEL, ": a\u2013z, A\u2013Z, 0\u20139"),
246
+ label: `[Name] ${_constants.validation.BEGIN_END_WITH.LABEL}: a–z, A–Z, 0–9`,
247
247
  pattern: /^([^/]+\/)?([A-Za-z0-9][^/]*)?[A-Za-z0-9]$/
248
248
  }, {
249
249
  name: 'nameMaxLength',
@@ -251,11 +251,11 @@ const commonRules = {
251
251
  pattern: /^([^/]+\/)?[^/]{1,63}$/
252
252
  }, {
253
253
  name: 'prefixValidCharacters',
254
- label: "[Prefix] ".concat(_constants.validation.VALID_CHARACTERS.LABEL, ": a\u2013z, 0\u20139, \u2013, ."),
254
+ label: `[Prefix] ${_constants.validation.VALID_CHARACTERS.LABEL}: a–z, 0–9, –, .`,
255
255
  pattern: /^([a-z0-9.-]+\/)?[^/]+$/
256
256
  }, {
257
257
  name: 'prefixBeginEnd',
258
- label: "[Prefix] ".concat(_constants.validation.BEGIN_END_WITH.LABEL, ": a\u2013z, 0\u20139"),
258
+ label: `[Prefix] ${_constants.validation.BEGIN_END_WITH.LABEL}: a–z, 0–9`,
259
259
  pattern: /^([a-z0-9]([^/]*[a-z0-9])?\/)?[^/]+$/
260
260
  }, {
261
261
  name: 'prefixMaxLength',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iguazio.dashboard-react-controls",
3
- "version": "2.2.20",
3
+ "version": "2.2.21",
4
4
  "description": "Collection of resources (such as CSS styles, fonts and images) and ReactJS 17.x components to share among different Iguazio React repos.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",