@carbon/ibm-products 2.43.2-canary.2 → 2.43.2-canary.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. package/css/index-full-carbon.css +35 -3
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css.map +1 -1
  6. package/css/index-without-carbon-released-only.min.css.map +1 -1
  7. package/css/index-without-carbon.css +35 -3
  8. package/css/index-without-carbon.css.map +1 -1
  9. package/css/index-without-carbon.min.css +1 -1
  10. package/css/index-without-carbon.min.css.map +1 -1
  11. package/css/index.css +35 -3
  12. package/css/index.css.map +1 -1
  13. package/css/index.min.css +1 -1
  14. package/css/index.min.css.map +1 -1
  15. package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  16. package/es/components/ConditionBuilder/ConditionBuilder.js +67 -20
  17. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  18. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +129 -0
  19. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -4
  20. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  21. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  22. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  23. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  24. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  25. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  26. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  27. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  28. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  29. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  30. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  31. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  32. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  33. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +24 -16
  34. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +19 -4
  35. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  36. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +109 -0
  37. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  38. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +58 -33
  39. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  40. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -5
  41. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  42. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  43. package/es/components/ConditionBuilder/utils/util.js +16 -1
  44. package/es/components/DataSpreadsheet/DataSpreadsheet.js +29 -16
  45. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +9 -1
  46. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +18 -2
  47. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  48. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +17 -6
  49. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  50. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  51. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  52. package/es/components/DataSpreadsheet/types/index.d.ts +1 -1
  53. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  54. package/es/components/Datagrid/Datagrid/Datagrid.js +2 -1
  55. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  56. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  57. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  58. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  59. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  60. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  61. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  62. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +21 -3
  63. package/es/components/Datagrid/types/index.d.ts +18 -4
  64. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  65. package/es/components/Datagrid/useActionsColumn.js +7 -6
  66. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  67. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  68. package/es/components/Datagrid/useInlineEdit.d.ts +8 -1
  69. package/es/components/Datagrid/useInlineEdit.js +13 -3
  70. package/es/components/Datagrid/useNestedRows.js +27 -9
  71. package/es/components/Decorator/Decorator.js +2 -1
  72. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  73. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  74. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  75. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  76. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  77. package/es/components/Tearsheet/Tearsheet.js +9 -1
  78. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  79. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  80. package/es/components/Tearsheet/TearsheetShell.d.ts +10 -0
  81. package/es/components/Tearsheet/TearsheetShell.js +17 -3
  82. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  83. package/lib/components/ConditionBuilder/ConditionBuilder.js +67 -20
  84. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  85. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +137 -0
  86. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -3
  87. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  88. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  89. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  90. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  91. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  92. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  93. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  94. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  95. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  96. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  97. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  98. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  99. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  100. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +23 -15
  101. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +20 -5
  102. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  103. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +117 -0
  104. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  105. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +56 -31
  106. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  107. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -4
  108. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  109. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  110. package/lib/components/ConditionBuilder/utils/util.js +17 -0
  111. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +29 -16
  112. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +9 -1
  113. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +18 -2
  114. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  115. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +17 -6
  116. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  117. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  118. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  119. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
  120. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  121. package/lib/components/Datagrid/Datagrid/Datagrid.js +2 -1
  122. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  123. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  124. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  125. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  126. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  127. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  128. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  129. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +21 -3
  130. package/lib/components/Datagrid/types/index.d.ts +18 -4
  131. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  132. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  133. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  134. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  135. package/lib/components/Datagrid/useInlineEdit.d.ts +8 -1
  136. package/lib/components/Datagrid/useInlineEdit.js +13 -3
  137. package/lib/components/Datagrid/useNestedRows.js +27 -9
  138. package/lib/components/Decorator/Decorator.js +2 -1
  139. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  140. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  141. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  142. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  143. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  144. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  145. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  146. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  147. package/lib/components/Tearsheet/TearsheetShell.d.ts +10 -0
  148. package/lib/components/Tearsheet/TearsheetShell.js +16 -2
  149. package/package.json +3 -3
  150. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +9 -1
  151. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +26 -1
  152. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +1 -0
  153. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  154. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  155. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  156. package/telemetry.yml +1 -0
  157. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  158. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  159. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  160. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { slicedToArray as _slicedToArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import React__default, { useContext, useRef, useState, useEffect } from 'react';
10
+ import { Search } from '@carbon/react';
11
+ import { Checkmark } from '@carbon/react/icons';
12
+ import PropTypes from '../../../../node_modules/prop-types/index.js';
13
+ import { ConditionBuilderContext } from '../../ConditionBuilderContext/ConditionBuilderProvider.js';
14
+ import { blockClass, translateWithId } from '../../ConditionBuilderContext/DataConfigs.js';
15
+
16
+ var ItemOption = function ItemOption(_ref) {
17
+ var _ref$conditionState = _ref.conditionState,
18
+ conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
19
+ _ref$config = _ref.config,
20
+ config = _ref$config === void 0 ? {} : _ref$config,
21
+ onChange = _ref.onChange;
22
+ var _useContext = useContext(ConditionBuilderContext),
23
+ popOverSearchThreshold = _useContext.popOverSearchThreshold;
24
+ var contentRef = useRef();
25
+ var allOptions = config.options;
26
+ var _useState = useState(''),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ searchValue = _useState2[0],
29
+ setSearchValue = _useState2[1];
30
+ var selection = conditionState.value;
31
+ var filteredItems = allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
32
+ return opt.label.toLowerCase().includes(searchValue.toLowerCase());
33
+ });
34
+ useEffect(function () {
35
+ //this will focus the first input field in the popover
36
+
37
+ if (contentRef.current) {
38
+ var firstFocusableElement = contentRef.current.querySelector('input, button,li');
39
+ if (firstFocusableElement) {
40
+ firstFocusableElement.focus();
41
+ }
42
+ }
43
+ }, [allOptions]);
44
+ var onClickHandler = function onClickHandler(evt, option) {
45
+ onChange(option.id, evt);
46
+ };
47
+ var onSearchChangeHandler = function onSearchChangeHandler(evt) {
48
+ var value = evt.target.value;
49
+ setSearchValue(value);
50
+ };
51
+ var getAriaLabel = function getAriaLabel() {
52
+ return conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : translateWithId('property');
53
+ };
54
+ if (!allOptions) {
55
+ return;
56
+ }
57
+ return /*#__PURE__*/React__default.createElement("div", {
58
+ className: "".concat(blockClass, "__item-option"),
59
+ ref: contentRef
60
+ }, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
61
+ className: "".concat(blockClass, "__item-option__search")
62
+ }, /*#__PURE__*/React__default.createElement(Search, {
63
+ size: "sm",
64
+ labelText: translateWithId('clear_search'),
65
+ closeButtonLabelText: translateWithId('clear_search'),
66
+ onChange: onSearchChangeHandler
67
+ })), /*#__PURE__*/React__default.createElement("ul", {
68
+ "aria-label": getAriaLabel(),
69
+ role: "listbox"
70
+ }, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
71
+ var isSelected = selection === option.id;
72
+ var Icon = option.icon;
73
+ return /*#__PURE__*/React__default.createElement("li", {
74
+ tabIndex: 0,
75
+ key: option.id,
76
+ role: "option",
77
+ "aria-selected": isSelected,
78
+ className: "".concat(blockClass, "__item-option__option"),
79
+ onKeyUp: function onKeyUp() {
80
+ return false;
81
+ },
82
+ onClick: function onClick(evt) {
83
+ return onClickHandler(evt, option);
84
+ }
85
+ }, /*#__PURE__*/React__default.createElement("div", {
86
+ className: "".concat(blockClass, "__item-option__option-content")
87
+ }, /*#__PURE__*/React__default.createElement("span", {
88
+ className: "".concat(blockClass, "__item-option__option-label")
89
+ }, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
90
+ className: "".concat(blockClass, "__checkmark")
91
+ })));
92
+ })));
93
+ };
94
+ ItemOption.propTypes = {
95
+ /**
96
+ * current condition object
97
+ */
98
+ conditionState: PropTypes.object,
99
+ /**
100
+ * current config object that this property is part of
101
+ */
102
+ config: PropTypes.object,
103
+ /**
104
+ * callback to update state oin date change
105
+ */
106
+ onChange: PropTypes.func
107
+ };
108
+
109
+ export { ItemOption };
@@ -1,9 +1,9 @@
1
- export function ConditionBuilderItemOption({ conditionState, config, onChange, }: {
1
+ export function ItemOptionForValueField({ conditionState, config, onChange, }: {
2
2
  conditionState?: {} | undefined;
3
3
  config?: {} | undefined;
4
4
  onChange: any;
5
5
  }): import("react/jsx-runtime").JSX.Element;
6
- export namespace ConditionBuilderItemOption {
6
+ export namespace ItemOptionForValueField {
7
7
  namespace propTypes {
8
8
  let conditionState: PropTypes.Requireable<object>;
9
9
  let config: PropTypes.Requireable<object>;
@@ -6,35 +6,58 @@
6
6
  */
7
7
 
8
8
  import { slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
9
- import React__default, { useContext, useState, useRef, useEffect } from 'react';
10
- import { Search, Button, SelectSkeleton } from '@carbon/react';
9
+ import React__default, { useContext, useRef, useState, useEffect } from 'react';
10
+ import { SelectSkeleton, Search, Button } from '@carbon/react';
11
11
  import { CheckboxCheckedFilled, Checkbox, Checkmark } from '@carbon/react/icons';
12
12
  import PropTypes from '../../../../node_modules/prop-types/index.js';
13
13
  import { ConditionBuilderContext } from '../../ConditionBuilderContext/ConditionBuilderProvider.js';
14
14
  import { blockClass, translateWithId } from '../../ConditionBuilderContext/DataConfigs.js';
15
15
 
16
- var _CheckboxCheckedFille, _Checkbox, _SelectSkeleton;
17
- var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
16
+ var _SelectSkeleton, _CheckboxCheckedFille, _Checkbox;
17
+ var ItemOptionForValueField = function ItemOptionForValueField(_ref) {
18
18
  var _ref$conditionState = _ref.conditionState,
19
19
  conditionState = _ref$conditionState === void 0 ? {} : _ref$conditionState,
20
20
  _ref$config = _ref.config,
21
21
  config = _ref$config === void 0 ? {} : _ref$config,
22
22
  onChange = _ref.onChange;
23
- var multiSelectable = conditionState.operator === 'one-of';
23
+ var multiSelectable = conditionState.operator === 'one_of';
24
24
  var _useContext = useContext(ConditionBuilderContext),
25
25
  popOverSearchThreshold = _useContext.popOverSearchThreshold,
26
- getOptions = _useContext.getOptions;
26
+ getOptions = _useContext.getOptions,
27
+ rootState = _useContext.rootState;
28
+ var contentRef = useRef();
27
29
  var _useState = useState(config.options),
28
30
  _useState2 = _slicedToArray(_useState, 2),
29
31
  allOptions = _useState2[0],
30
32
  setAllOptions = _useState2[1];
31
- var _useState3 = useState(config.options),
33
+ var _useState3 = useState(''),
32
34
  _useState4 = _slicedToArray(_useState3, 2),
33
- filteredItems = _useState4[0],
34
- setFilteredItems = _useState4[1];
35
+ searchValue = _useState4[0],
36
+ setSearchValue = _useState4[1];
37
+ var filteredItems = allOptions === null || allOptions === void 0 ? void 0 : allOptions.filter(function (opt) {
38
+ return opt.label.toLowerCase().includes(searchValue.toLowerCase());
39
+ });
35
40
  var selection = Array.isArray(conditionState.value) ? conditionState.value : conditionState.value !== undefined ? [conditionState.value] : [];
36
- var contentRef = useRef();
37
41
  useEffect(function () {
42
+ // if(rest['data-name'] == 'valueField'){
43
+ // const fetchData = async () => {
44
+ // const response = await config.options(conditionState);
45
+ // if (
46
+ // response?.length > 0 &&
47
+ // Object.keys(response[0]).includes('label') &&
48
+ // Object.keys(response[0]).includes('id')
49
+ // ) {
50
+ // setAllOptions(response);
51
+ // setFilteredItems(response);
52
+ // }
53
+ // };
54
+
55
+ // fetchData(); // Call the async method
56
+ // }else{
57
+ // setAllOptions(config.options);
58
+ // setFilteredItems(config.options);
59
+ // }
60
+
38
61
  if (!allOptions && getOptions) {
39
62
  var fetchData = /*#__PURE__*/function () {
40
63
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
@@ -43,12 +66,11 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
43
66
  while (1) switch (_context.prev = _context.next) {
44
67
  case 0:
45
68
  _context.next = 2;
46
- return getOptions(conditionState);
69
+ return getOptions(rootState, conditionState);
47
70
  case 2:
48
71
  response = _context.sent;
49
72
  if ((response === null || response === void 0 ? void 0 : response.length) > 0 && Object.keys(response[0]).includes('label') && Object.keys(response[0]).includes('id')) {
50
73
  setAllOptions(response);
51
- setFilteredItems(response);
52
74
  }
53
75
  case 4:
54
76
  case "end":
@@ -68,46 +90,47 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
68
90
  //this will focus the first input field in the popover
69
91
 
70
92
  if (contentRef.current) {
71
- var _contentRef$current;
72
- var firstFocusableElement = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.querySelector('input, button,li');
73
- firstFocusableElement === null || firstFocusableElement === void 0 || firstFocusableElement.focus();
93
+ var firstFocusableElement = contentRef.current.querySelector('input, button,li');
94
+ if (firstFocusableElement) {
95
+ firstFocusableElement.focus();
96
+ }
74
97
  }
75
- // eslint-disable-next-line react-hooks/exhaustive-deps
76
98
  }, [allOptions]);
77
99
  var handleSelectAll = function handleSelectAll(evt) {
78
100
  if (evt.currentTarget.dataset.selectedAll == 'false') {
79
101
  onChange(undefined);
80
102
  } else {
81
- onChange(allOptions.map(function (op) {
82
- return op.id;
83
- }));
103
+ onChange(allOptions);
84
104
  }
85
105
  };
86
106
  var onSearchChangeHandler = function onSearchChangeHandler(evt) {
87
107
  var value = evt.target.value;
88
- var _filteredItems = allOptions.filter(function (opt) {
89
- return opt.label.toLowerCase().includes(value.toLowerCase());
90
- });
91
- setFilteredItems(_filteredItems);
108
+ setSearchValue(value);
92
109
  };
93
110
  var onClickHandler = function onClickHandler(evt, option, isSelected) {
94
111
  if (multiSelectable) {
95
112
  if (isSelected) {
96
113
  var items = selection.filter(function (v) {
97
- return v !== option.id;
114
+ return v.id !== option.id;
98
115
  });
99
116
  onChange(items.length > 0 ? items : undefined, evt);
100
117
  } else {
101
- onChange([].concat(_toConsumableArray(selection), [option.id]), evt);
118
+ onChange([].concat(_toConsumableArray(selection), [option]), evt);
102
119
  }
103
120
  } else {
104
- onChange(option.id, evt);
121
+ onChange(option, evt);
105
122
  }
106
123
  };
107
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, allOptions && /*#__PURE__*/React__default.createElement("div", {
124
+ var getAriaLabel = function getAriaLabel() {
125
+ return conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : translateWithId('property');
126
+ };
127
+ if (!allOptions) {
128
+ return _SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default.createElement(SelectSkeleton, null));
129
+ }
130
+ return /*#__PURE__*/React__default.createElement("div", {
108
131
  className: "".concat(blockClass, "__item-option"),
109
132
  ref: contentRef
110
- }, (config.includeSearch || allOptions.length > popOverSearchThreshold) && /*#__PURE__*/React__default.createElement("div", {
133
+ }, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default.createElement("div", {
111
134
  className: "".concat(blockClass, "__item-option__search")
112
135
  }, /*#__PURE__*/React__default.createElement(Search, {
113
136
  size: "sm",
@@ -123,11 +146,13 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
123
146
  onClick: handleSelectAll,
124
147
  className: "".concat(blockClass, "__selectAll-button")
125
148
  }, selection.length == 0 ? 'Select all' : 'Deselect all')), /*#__PURE__*/React__default.createElement("ul", {
126
- "aria-label": conditionState.label ? conditionState.label : conditionState.property ? conditionState.property : translateWithId('property'),
149
+ "aria-label": getAriaLabel(),
127
150
  role: "listbox",
128
151
  "data-multi-select": multiSelectable
129
152
  }, filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.map(function (option) {
130
- var isSelected = selection.includes(option.id);
153
+ var isSelected = selection.map(function (option) {
154
+ return option.id;
155
+ }).includes(option.id);
131
156
  var Icon = option.icon;
132
157
  return /*#__PURE__*/React__default.createElement("li", {
133
158
  tabIndex: 0,
@@ -154,9 +179,9 @@ var ConditionBuilderItemOption = function ConditionBuilderItemOption(_ref) {
154
179
  }, Icon && /*#__PURE__*/React__default.createElement(Icon, null), option.label), isSelected && /*#__PURE__*/React__default.createElement(Checkmark, {
155
180
  className: "".concat(blockClass, "__checkmark")
156
181
  }))));
157
- }))), !allOptions && (_SelectSkeleton || (_SelectSkeleton = /*#__PURE__*/React__default.createElement(SelectSkeleton, null))));
182
+ })));
158
183
  };
159
- ConditionBuilderItemOption.propTypes = {
184
+ ItemOptionForValueField.propTypes = {
160
185
  /**
161
186
  * current condition object
162
187
  */
@@ -171,4 +196,4 @@ ConditionBuilderItemOption.propTypes = {
171
196
  onChange: PropTypes.func
172
197
  };
173
198
 
174
- export { ConditionBuilderItemOption };
199
+ export { ItemOptionForValueField };
@@ -12,15 +12,14 @@ import PropTypes from '../../../node_modules/prop-types/index.js';
12
12
  import cx from 'classnames';
13
13
  import { blockClass, translateWithId, statementConfig } from '../ConditionBuilderContext/DataConfigs.js';
14
14
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
15
- import { ConditionBuilderItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js';
16
15
  import { focusThisField } from '../utils/util.js';
17
16
  import ConditionConnector from '../ConditionBuilderConnector/ConditionConnector.js';
18
17
  import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
19
18
  import uuidv4 from '../../../global/js/utils/uuidv4.js';
20
19
  import ConditionPreview from '../ConditionPreview/ConditionPreview.js';
20
+ import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
21
21
 
22
22
  var _ConditionPreview, _ConditionPreview2;
23
-
24
23
  /**
25
24
  *
26
25
  * state - this is the current group that is being rendered . This can be a inner group or outer group
@@ -85,7 +84,6 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
85
84
  var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
86
85
  onChange(_objectSpread2(_objectSpread2({}, group), {}, {
87
86
  conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
88
- groupSeparateOperator: null,
89
87
  groupOperator: 'and',
90
88
  statement: 'if',
91
89
  conditions: [{
@@ -178,7 +176,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
178
176
  "data-name": "connectorField",
179
177
  popOverClassName: "".concat(blockClass, "__gap"),
180
178
  className: "".concat(blockClass, "__statement-button")
181
- }, /*#__PURE__*/React__default.createElement(ConditionBuilderItemOption, {
179
+ }, /*#__PURE__*/React__default.createElement(ItemOption, {
182
180
  conditionState: {
183
181
  value: group.statement,
184
182
  label: translateWithId('condition')
@@ -214,7 +212,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
214
212
  onRemoveHandler(eachCondition.id, e);
215
213
  },
216
214
  conditionBuilderRef: conditionBuilderRef
217
- })) : /*#__PURE__*/React__default.createElement(ConditionBlock, {
215
+ })) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBlock, {
218
216
  conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
219
217
  aria: {
220
218
  level: aria.level + 1,
@@ -244,7 +242,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
244
242
  },
245
243
  hideConditionPreviewHandler: hideConditionPreviewHandler,
246
244
  isLastCondition: isLastCondition
247
- }), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
245
+ })), conditionIndex == showConditionSubGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default.createElement(ConditionPreview, {
248
246
  previewType: "subGroup"
249
247
  }))), conditionIndex == showConditionPreview && (_ConditionPreview2 || (_ConditionPreview2 = /*#__PURE__*/React__default.createElement(ConditionPreview, {
250
248
  previewType: "condition"
@@ -5,7 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React__default from 'react';
8
+ import { slicedToArray as _slicedToArray, defineProperty as _defineProperty } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
+ import React__default, { useState, useEffect } from 'react';
10
+ import cx from 'classnames';
9
11
  import PropTypes from '../../../node_modules/prop-types/index.js';
10
12
  import { blockClass, translateWithId } from '../ConditionBuilderContext/DataConfigs.js';
11
13
  import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
@@ -13,6 +15,13 @@ import ConditionConnector from '../ConditionBuilderConnector/ConditionConnector.
13
15
 
14
16
  var ConditionPreview = function ConditionPreview(_ref) {
15
17
  var previewType = _ref.previewType;
18
+ var _useState = useState(false),
19
+ _useState2 = _slicedToArray(_useState, 2),
20
+ animate = _useState2[0],
21
+ setAnimate = _useState2[1];
22
+ useEffect(function () {
23
+ setAnimate(true);
24
+ }, []);
16
25
  var getConditionSection = function getConditionSection() {
17
26
  return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
18
27
  label: translateWithId('property')
@@ -23,20 +32,20 @@ var ConditionPreview = function ConditionPreview(_ref) {
23
32
  }));
24
33
  };
25
34
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, previewType == 'newGroup' && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
26
- className: "".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview ")
35
+ className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
27
36
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
28
37
  className: "".concat(blockClass, "__statement-button"),
29
38
  label: translateWithId('and')
30
39
  })), /*#__PURE__*/React__default.createElement("div", {
31
40
  "aria-hidden": true,
32
- className: "".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper ").concat(blockClass, "__group-preview ").concat(blockClass, "__group-wrapper")
41
+ className: cx(["".concat(blockClass, "__group ").concat(blockClass, "__condition-wrapper ").concat(blockClass, "__group-preview ").concat(blockClass, "__group-wrapper "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
33
42
  }, /*#__PURE__*/React__default.createElement("div", {
34
43
  className: "".concat(blockClass, "__gap")
35
44
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
36
45
  className: "".concat(blockClass, "__statement-button"),
37
46
  label: translateWithId('if')
38
47
  })), getConditionSection())), previewType == 'subGroup' && /*#__PURE__*/React__default.createElement("div", {
39
- className: "".concat(blockClass, "__group-preview")
48
+ className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
40
49
  }, /*#__PURE__*/React__default.createElement("div", {
41
50
  className: "".concat(blockClass, "__condition-block ").concat(blockClass, "__gap")
42
51
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
@@ -49,7 +58,7 @@ var ConditionPreview = function ConditionPreview(_ref) {
49
58
  className: "".concat(blockClass, "__gap ").concat(blockClass, "__groupConnector"),
50
59
  operator: translateWithId('if')
51
60
  }), getConditionSection()))), previewType == 'condition' && /*#__PURE__*/React__default.createElement("div", {
52
- className: "".concat(blockClass, "__group-preview")
61
+ className: cx(["".concat(blockClass, "__group__row ").concat(blockClass, "__group-preview "), _defineProperty({}, "".concat(blockClass, "__group-preview-animate"), animate)])
53
62
  }, /*#__PURE__*/React__default.createElement("div", {
54
63
  className: "".concat(blockClass, "__condition-block ").concat(blockClass, "__gap")
55
64
  }, /*#__PURE__*/React__default.createElement(ConditionBuilderItem, {
@@ -7,8 +7,7 @@
7
7
 
8
8
  import { toConsumableArray as _toConsumableArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
10
- import { checkForHoldingKey } from './checkForHoldingKey.js';
11
- import { focusThisField, traverseReverse, traverseClockVise } from './util.js';
10
+ import { checkForHoldingKey, focusThisField, traverseReverse, traverseClockVise } from './util.js';
12
11
 
13
12
  var handleKeyDown = function handleKeyDown(evt, conditionBuilderRef) {
14
13
  var activeElement = document.activeElement;
@@ -3,3 +3,4 @@ export function focusThisItem(currentElement: any): void;
3
3
  export function traverseClockVise(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
4
4
  export function traverseReverse(eachElem: any, index: any, allElements: any, rotate: any, trapFocus: any): void;
5
5
  export function checkForHoldingKey(evt: any, key: any): any;
6
+ export function checkDuplicateAction(actionState: any, selectedId: any, currentActionId: any): boolean;
@@ -41,5 +41,20 @@ var traverseReverse = function traverseReverse(eachElem, index, allElements, rot
41
41
  focusThisItem(allElements[allElements.length - 1]);
42
42
  }
43
43
  };
44
+ var checkForHoldingKey = function checkForHoldingKey(evt, key) {
45
+ // possible key inputs: altKey,ctrlKey,metaKey,shiftKey
46
+ if (key === 'cmd') {
47
+ return evt.metaKey || evt.ctrlKey;
48
+ }
49
+ return evt[key];
50
+ };
51
+ var checkDuplicateAction = function checkDuplicateAction(actionState, selectedId, currentActionId) {
52
+ if (selectedId !== currentActionId && actionState.find(function (eachAction) {
53
+ return eachAction.id === selectedId;
54
+ })) {
55
+ return true;
56
+ }
57
+ return false;
58
+ };
44
59
 
45
- export { focusThisField, focusThisItem, traverseClockVise, traverseReverse };
60
+ export { checkDuplicateAction, checkForHoldingKey, focusThisField, focusThisItem, traverseClockVise, traverseReverse };
@@ -112,15 +112,19 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
112
112
  _useState18 = _slicedToArray(_useState17, 2),
113
113
  headerCellHoldActive = _useState18[0],
114
114
  setHeaderCellHoldActive = _useState18[1];
115
- var isBlurSpreadsheet = useRef(false);
116
115
  var _useState19 = useState(false),
117
116
  _useState20 = _slicedToArray(_useState19, 2),
118
- isActiveHeaderCellChanged = _useState20[0],
119
- setIsActiveHeaderCellChanged = _useState20[1];
117
+ selectedHeaderReorderActive = _useState20[0],
118
+ setSelectedHeaderReorderActive = _useState20[1];
119
+ var isBlurSpreadsheet = useRef(false);
120
120
  var _useState21 = useState(false),
121
121
  _useState22 = _slicedToArray(_useState21, 2),
122
- activeCellInsideSelectionArea = _useState22[0],
123
- setActiveCellInsideSelectionArea = _useState22[1];
122
+ isActiveHeaderCellChanged = _useState22[0],
123
+ setIsActiveHeaderCellChanged = _useState22[1];
124
+ var _useState23 = useState(false),
125
+ _useState24 = _slicedToArray(_useState23, 2),
126
+ activeCellInsideSelectionArea = _useState24[0],
127
+ setActiveCellInsideSelectionArea = _useState24[1];
124
128
  var previousState = usePreviousValue({
125
129
  activeCellCoordinates: activeCellCoordinates,
126
130
  isEditing: isEditing,
@@ -128,10 +132,10 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
128
132
  }) || {};
129
133
  var cellSizeValue = getCellSize(cellSize);
130
134
  var cellEditorRef = useRef();
131
- var _useState23 = useState(),
132
- _useState24 = _slicedToArray(_useState23, 2),
133
- activeCellContent = _useState24[0],
134
- setActiveCellContent = _useState24[1];
135
+ var _useState25 = useState(),
136
+ _useState26 = _slicedToArray(_useState25, 2),
137
+ activeCellContent = _useState26[0],
138
+ setActiveCellContent = _useState26[1];
135
139
  var activeCellRef = useRef();
136
140
  var cellEditorRulerRef = useRef();
137
141
  var defaultColumn = useMemo(function () {
@@ -207,9 +211,12 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
207
211
  }
208
212
  if ((prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.row) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) || (prevCoords === null || prevCoords === void 0 ? void 0 : prevCoords.column) !== (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column)) {
209
213
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) !== 'header' && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) !== 'header') {
210
- var _activeCellFullData$r;
211
214
  var activeCellFullData = typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'number' && typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'number' ? rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row].cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column] : null;
212
- setActiveCellContent((_activeCellFullData$r = activeCellFullData === null || activeCellFullData === void 0 ? void 0 : activeCellFullData.render('Cell')) !== null && _activeCellFullData$r !== void 0 ? _activeCellFullData$r : null);
215
+ if (activeCellFullData) {
216
+ setActiveCellContent(activeCellFullData.render('Cell'));
217
+ } else {
218
+ setActiveCellContent(null);
219
+ }
213
220
  }
214
221
  if (activeCellCoordinates && (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'header' || (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'header') {
215
222
  setActiveCellContent(null);
@@ -424,8 +431,8 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
424
431
  var activeCellFullData = typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column) === 'number' && typeof (activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row) === 'number' ? rows[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.row].cells[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column] : null;
425
432
  var activeCellValue;
426
433
  if (activeCellFullData && activeCellCoordinates !== null && activeCellCoordinates !== void 0 && activeCellCoordinates.column) {
427
- var _activeCellFullData$r2;
428
- activeCellValue = activeCellFullData ? (_activeCellFullData$r2 = activeCellFullData.row.cells) === null || _activeCellFullData$r2 === void 0 || (_activeCellFullData$r2 = _activeCellFullData$r2[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column]) === null || _activeCellFullData$r2 === void 0 ? void 0 : _activeCellFullData$r2.value : null;
434
+ var _activeCellFullData$r;
435
+ activeCellValue = activeCellFullData ? (_activeCellFullData$r = activeCellFullData.row.cells) === null || _activeCellFullData$r === void 0 || (_activeCellFullData$r = _activeCellFullData$r[activeCellCoordinates === null || activeCellCoordinates === void 0 ? void 0 : activeCellCoordinates.column]) === null || _activeCellFullData$r === void 0 ? void 0 : _activeCellFullData$r.value : null;
429
436
  }
430
437
  setCellEditorValue(activeCellValue || '');
431
438
  if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
@@ -615,6 +622,8 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
615
622
  columns: columns,
616
623
  currentMatcher: currentMatcher,
617
624
  defaultColumn: defaultColumn,
625
+ selectedHeaderReorderActive: selectedHeaderReorderActive,
626
+ setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
618
627
  headerGroups: headerGroups,
619
628
  rows: rows,
620
629
  scrollBarSize: scrollBarSize,
@@ -638,6 +647,8 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
638
647
  currentMatcher: currentMatcher,
639
648
  setCurrentMatcher: setCurrentMatcher,
640
649
  setContainerHasFocus: setContainerHasFocus,
650
+ selectedHeaderReorderActive: selectedHeaderReorderActive,
651
+ setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
641
652
  selectionAreas: selectionAreas,
642
653
  setSelectionAreas: setSelectionAreas,
643
654
  headerGroups: headerGroups,
@@ -688,9 +699,11 @@ var DataSpreadsheet = /*#__PURE__*/React__default.forwardRef(function (_ref, ref
688
699
  updateData: updateData
689
700
  }),
690
701
  onChange: function onChange(event) {
691
- setCellEditorValue(event.target.value);
692
- if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
693
- cellEditorRulerRef.current.textContent = event.target.value;
702
+ if (previousState.isEditing) {
703
+ setCellEditorValue(event.target.value);
704
+ if (cellEditorRulerRef !== null && cellEditorRulerRef !== void 0 && cellEditorRulerRef.current) {
705
+ cellEditorRulerRef.current.textContent = event.target.value;
706
+ }
694
707
  }
695
708
  },
696
709
  ref: cellEditorRef,
@@ -79,7 +79,15 @@ interface DataSpreadsheetBodyProps {
79
79
  /**
80
80
  * Array of selection area data
81
81
  */
82
- selectionAreaData?: object[];
82
+ selectionAreaData?: any[];
83
+ /**
84
+ * Header reordering is active
85
+ */
86
+ selectedHeaderReorderActive?: boolean;
87
+ /**
88
+ * Set header reordering active or not
89
+ */
90
+ setSelectedHeaderReorderActive?: Dispatch<SetStateAction<boolean>>;
83
91
  /**
84
92
  * Array of selection areas
85
93
  */
@@ -40,6 +40,8 @@ var DataSpreadsheetBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
40
40
  selectionAreaData = _ref.selectionAreaData,
41
41
  setSelectionAreaData = _ref.setSelectionAreaData,
42
42
  setActiveCellCoordinates = _ref.setActiveCellCoordinates,
43
+ selectedHeaderReorderActive = _ref.selectedHeaderReorderActive,
44
+ setSelectedHeaderReorderActive = _ref.setSelectedHeaderReorderActive,
43
45
  selectionAreas = _ref.selectionAreas,
44
46
  setContainerHasFocus = _ref.setContainerHasFocus,
45
47
  setSelectionAreas = _ref.setSelectionAreas,
@@ -75,8 +77,12 @@ var DataSpreadsheetBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
75
77
  // back to the consumer
76
78
  useEffect(function () {
77
79
  if (selectionAreaData !== null && selectionAreaData !== void 0 && selectionAreaData.length) {
78
- var _previousState$select;
79
- if (!clickAndHoldActive && previousState !== null && previousState !== void 0 && previousState.clickAndHoldActive || (previousState === null || previousState === void 0 || (_previousState$select = previousState.selectionAreaData) === null || _previousState$select === void 0 ? void 0 : _previousState$select.length) !== (selectionAreaData === null || selectionAreaData === void 0 ? void 0 : selectionAreaData.length)) {
80
+ var _previousState$select, _selectionAreaData$, _previousState$select2;
81
+ var selectionChanged = false;
82
+ if ((previousState === null || previousState === void 0 || (_previousState$select = previousState.selectionAreaData) === null || _previousState$select === void 0 ? void 0 : _previousState$select.length) !== (selectionAreaData === null || selectionAreaData === void 0 ? void 0 : selectionAreaData.length) || (selectionAreaData === null || selectionAreaData === void 0 || (_selectionAreaData$ = selectionAreaData[0]) === null || _selectionAreaData$ === void 0 ? void 0 : _selectionAreaData$.cells.length) !== (previousState === null || previousState === void 0 || (_previousState$select2 = previousState.selectionAreaData) === null || _previousState$select2 === void 0 || (_previousState$select2 = _previousState$select2[0]) === null || _previousState$select2 === void 0 ? void 0 : _previousState$select2.cells.length)) {
83
+ selectionChanged = true;
84
+ }
85
+ if (!clickAndHoldActive && previousState !== null && previousState !== void 0 && previousState.clickAndHoldActive || selectionChanged) {
80
86
  onSelectionAreaChange === null || onSelectionAreaChange === void 0 || onSelectionAreaChange(selectionAreaData);
81
87
  }
82
88
  }
@@ -151,6 +157,8 @@ var DataSpreadsheetBody = /*#__PURE__*/forwardRef(function (_ref, ref) {
151
157
  setClickAndHoldActive: setClickAndHoldActive,
152
158
  setSelectionAreas: setSelectionAreas,
153
159
  setValidStartingPoint: setValidStartingPoint,
160
+ selectedHeaderReorderActive: selectedHeaderReorderActive,
161
+ setSelectedHeaderReorderActive: setSelectedHeaderReorderActive,
154
162
  validStartingPoint: validStartingPoint,
155
163
  ref: ref,
156
164
  setHeaderCellHoldActive: setHeaderCellHoldActive,
@@ -457,6 +465,10 @@ DataSpreadsheetBody.propTypes = {
457
465
  * The scrollbar width
458
466
  */
459
467
  scrollBarSize: PropTypes.number,
468
+ /**
469
+ * Header reordering is active
470
+ */
471
+ selectedHeaderReorderActive: PropTypes.bool,
460
472
  /**
461
473
  * Array of selection area data
462
474
  */
@@ -493,6 +505,10 @@ DataSpreadsheetBody.propTypes = {
493
505
  * Setter fn for header cell hold active value
494
506
  */
495
507
  setHeaderCellHoldActive: PropTypes.func,
508
+ /**
509
+ * Set header reordering active or not
510
+ */
511
+ setSelectedHeaderReorderActive: PropTypes.func,
496
512
  /**
497
513
  * Setter fn for selectionAreaData state value
498
514
  */
@@ -56,6 +56,14 @@ interface DataSpreadsheetHeaderProps {
56
56
  * Setter fn for activeCellCoordinates value
57
57
  */
58
58
  setActiveCellCoordinates?: Dispatch<SetStateAction<ActiveCellCoordinates | null>>;
59
+ /**
60
+ * Header reordering is active
61
+ */
62
+ selectedHeaderReorderActive?: boolean;
63
+ /**
64
+ * Set header reordering active or not
65
+ */
66
+ setSelectedHeaderReorderActive?: Dispatch<SetStateAction<boolean>>;
59
67
  /**
60
68
  * Setter fn for currentMatcher value
61
69
  */