@carbon/ibm-products 2.43.2-canary.3 → 2.43.2-canary.30

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 (172) 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/DatagridHeaderRow.js +11 -1
  57. package/es/components/Datagrid/Datagrid/DatagridRow.js +13 -2
  58. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  59. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  60. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  61. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  62. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  63. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  64. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +21 -3
  65. package/es/components/Datagrid/types/index.d.ts +18 -4
  66. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  67. package/es/components/Datagrid/useActionsColumn.js +7 -6
  68. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  69. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  70. package/es/components/Datagrid/useInlineEdit.js +12 -2
  71. package/es/components/Datagrid/useNestedRows.js +32 -13
  72. package/es/components/Decorator/Decorator.js +2 -1
  73. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  74. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  75. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  76. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  77. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  78. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  79. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  80. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  81. package/es/components/RemoveModal/RemoveModal.js +7 -1
  82. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  83. package/es/components/Tearsheet/Tearsheet.js +9 -1
  84. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  85. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  86. package/es/components/Tearsheet/TearsheetShell.d.ts +10 -0
  87. package/es/components/Tearsheet/TearsheetShell.js +17 -3
  88. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  89. package/lib/components/ConditionBuilder/ConditionBuilder.js +67 -20
  90. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  91. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +137 -0
  92. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -3
  93. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  94. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  95. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  96. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  97. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  98. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  99. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  100. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  101. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  102. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  103. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  104. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  105. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  106. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +23 -15
  107. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +20 -5
  108. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  109. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +117 -0
  110. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  111. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +56 -31
  112. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  113. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -4
  114. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  115. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  116. package/lib/components/ConditionBuilder/utils/util.js +17 -0
  117. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +29 -16
  118. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +9 -1
  119. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +18 -2
  120. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  121. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +17 -6
  122. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  123. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  124. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  125. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
  126. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  127. package/lib/components/Datagrid/Datagrid/Datagrid.js +2 -1
  128. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  129. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +11 -1
  130. package/lib/components/Datagrid/Datagrid/DatagridRow.js +13 -2
  131. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  132. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  133. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  134. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  135. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  136. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  137. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +21 -3
  138. package/lib/components/Datagrid/types/index.d.ts +18 -4
  139. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  140. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  141. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  142. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  143. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  144. package/lib/components/Datagrid/useNestedRows.js +32 -13
  145. package/lib/components/Decorator/Decorator.js +2 -1
  146. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  147. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  148. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  149. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  150. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  151. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  152. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  153. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  154. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  155. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  156. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  157. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  158. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  159. package/lib/components/Tearsheet/TearsheetShell.d.ts +10 -0
  160. package/lib/components/Tearsheet/TearsheetShell.js +16 -2
  161. package/package.json +3 -3
  162. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +9 -1
  163. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +26 -1
  164. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +1 -0
  165. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  166. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  167. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  168. package/telemetry.yml +1 -0
  169. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  170. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  171. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  172. 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
  */