@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,137 @@
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
+ 'use strict';
9
+
10
+ Object.defineProperty(exports, '__esModule', { value: true });
11
+
12
+ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
+ var React = require('react');
14
+ var index = require('../../../node_modules/prop-types/index.js');
15
+ var icons = require('@carbon/react/icons');
16
+ var react = require('@carbon/react');
17
+ var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
18
+ var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
19
+ var ItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js');
20
+ var ConditionBuilderProvider = require('../ConditionBuilderContext/ConditionBuilderProvider.js');
21
+ var ConditionBuilderAdd = require('../ConditionBuilderAdd/ConditionBuilderAdd.js');
22
+ var uuidv4 = require('../../../global/js/utils/uuidv4.js');
23
+ var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilderButton.js');
24
+ var util = require('../utils/util.js');
25
+
26
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
+
28
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
+
30
+ var ConditionBuilderActions = function ConditionBuilderActions(_ref) {
31
+ var actions = _ref.actions,
32
+ className = _ref.className;
33
+ var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
34
+ actionState = _useContext.actionState,
35
+ setActionState = _useContext.setActionState;
36
+ var addActionHandler = function addActionHandler() {
37
+ var action = {
38
+ id: uuidv4["default"](),
39
+ label: undefined,
40
+ popoverToOpen: 'actionField'
41
+ };
42
+ setActionState([].concat(_rollupPluginBabelHelpers.toConsumableArray(actionState), [action]));
43
+ };
44
+ var onchangeHandler = function onchangeHandler(evt, selectedId, actionIndex, currentAction) {
45
+ var action = actions.find(function (action) {
46
+ return action.id === selectedId;
47
+ }); //fetch the selected action from the input action array
48
+
49
+ //if the action is duplicate, that action is added with a new id, else the same action is used.
50
+ // same actions can be added multiple times
51
+ var newAction = util.checkDuplicateAction(actionState, selectedId, currentAction.id) ? _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, action), {}, {
52
+ id: uuidv4["default"]()
53
+ }) : action;
54
+ setActionState([].concat(_rollupPluginBabelHelpers.toConsumableArray(actionState.slice(0, actionIndex)), [newAction], _rollupPluginBabelHelpers.toConsumableArray(actionState.slice(actionIndex + 1))));
55
+ util.focusThisField(evt);
56
+ };
57
+ var onRemove = function onRemove(selectedId) {
58
+ setActionState(actionState.filter(function (action) {
59
+ return action.id !== selectedId;
60
+ }));
61
+ };
62
+ return /*#__PURE__*/React__default["default"].createElement("div", {
63
+ className: "".concat(className)
64
+ }, /*#__PURE__*/React__default["default"].createElement(react.Section, {
65
+ className: "".concat(DataConfigs.blockClass, "__heading"),
66
+ level: 4
67
+ }, /*#__PURE__*/React__default["default"].createElement(react.Heading, null, DataConfigs.translateWithId('actions'))), /*#__PURE__*/React__default["default"].createElement("div", {
68
+ className: "".concat(DataConfigs.blockClass, "__condition-wrapper")
69
+ }, actionState === null || actionState === void 0 ? void 0 : actionState.map(function (action, index) {
70
+ return /*#__PURE__*/React__default["default"].createElement("div", {
71
+ key: action.id,
72
+ "aria-hidden": true,
73
+ className: "".concat(DataConfigs.blockClass, "__condition-block conditionBlockWrapper ").concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-bottom ")
74
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
75
+ className: "".concat(DataConfigs.blockClass, "__statement-button"),
76
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
77
+ label: index === 0 ? DataConfigs.translateWithId('then') : DataConfigs.translateWithId('and')
78
+ }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
79
+ label: action.label,
80
+ title: DataConfigs.translateWithId('actions'),
81
+ popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
82
+ condition: action,
83
+ "data-name": "actionField"
84
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
85
+ conditionState: {
86
+ value: action.label
87
+ },
88
+ onChange: function onChange(selectedId, evt) {
89
+ return onchangeHandler(evt, selectedId, index, action);
90
+ },
91
+ config: {
92
+ options: actions
93
+ }
94
+ })), /*#__PURE__*/React__default["default"].createElement("span", {
95
+ role: "gridcell",
96
+ "aria-label": DataConfigs.translateWithId('remove_action')
97
+ }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, {
98
+ hideLabel: true,
99
+ label: DataConfigs.translateWithId('remove_action'),
100
+ onClick: function onClick() {
101
+ return onRemove(action.id);
102
+ }
103
+ // onMouseEnter={handleShowDeletionPreview}
104
+ // onMouseLeave={handleHideDeletionPreview}
105
+ // onFocus={handleShowDeletionPreview}
106
+ // onBlur={handleHideDeletionPreview}
107
+ ,
108
+ renderIcon: icons.Close,
109
+ className: "".concat(DataConfigs.blockClass, "__close-condition"),
110
+ "data-name": "closeCondition"
111
+ })), actionState.length === index + 1 && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
112
+ onClick: addActionHandler,
113
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left"),
114
+ buttonLabel: DataConfigs.translateWithId('add_action')
115
+ }));
116
+ }), actionState.length === 0 && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
117
+ onClick: addActionHandler,
118
+ className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left"),
119
+ buttonLabel: DataConfigs.translateWithId('add_action')
120
+ })));
121
+ };
122
+ var ConditionBuilderActions$1 = ConditionBuilderActions;
123
+ ConditionBuilderActions.propTypes = {
124
+ /**
125
+ * optional array of object that give the list of actions.
126
+ */
127
+ actions: index["default"].arrayOf(index["default"].shape({
128
+ id: index["default"].number,
129
+ label: index["default"].string
130
+ })),
131
+ /**
132
+ * Provide an optional class to be applied to the containing node.
133
+ */
134
+ className: index["default"].string
135
+ };
136
+
137
+ exports["default"] = ConditionBuilderActions$1;
@@ -11,6 +11,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
12
  var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
+ var cx = require('classnames');
14
15
  var icons = require('@carbon/react/icons');
15
16
  var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilderButton.js');
16
17
  var index = require('../../../node_modules/prop-types/index.js');
@@ -19,6 +20,7 @@ var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
19
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
21
 
21
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
24
 
23
25
  var ConditionBuilderAdd = function ConditionBuilderAdd(_ref) {
24
26
  var className = _ref.className,
@@ -81,13 +83,14 @@ var ConditionBuilderAdd = function ConditionBuilderAdd(_ref) {
81
83
  "data-name": "addButton",
82
84
  label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : DataConfigs.translateWithId('add-condition'),
83
85
  wrapperProps: wrapperProps
84
- })), isAddSubgroup && enableSubGroup && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, _rollupPluginBabelHelpers["extends"]({
86
+ })), enableSubGroup && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderButton.ConditionBuilderButton, _rollupPluginBabelHelpers["extends"]({
85
87
  renderIcon: icons.TextNewLine,
86
88
  onClick: addConditionSubGroupHandler,
87
- className: "".concat(DataConfigs.blockClass, "__add-condition-group ").concat(DataConfigs.blockClass, "__gap-left"),
89
+ className: cx__default["default"]("".concat(DataConfigs.blockClass, "__add_condition_group ").concat(DataConfigs.blockClass, "__gap-left")),
88
90
  hideLabel: true,
89
91
  label: DataConfigs.translateWithId('add-condition'),
90
- wrapperProps: wrapperProps
92
+ wrapperProps: wrapperProps,
93
+ wrapperClassName: cx__default["default"]("".concat(DataConfigs.blockClass, "__add_condition_group-wrapper"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__add_condition_group-wrapper--show"), isAddSubgroup))
91
94
  }, previewHandlersForSubgroup())));
92
95
  };
93
96
  var ConditionBuilderAdd$1 = ConditionBuilderAdd;
@@ -1,4 +1,4 @@
1
- export function ConditionBuilderButton({ className, label, hideLabel, tooltipAlign, renderIcon: Icon, onClick, showToolTip, wrapperProps, onBlur, onFocus, onMouseEnter, onMouseLeave, }: {
1
+ export function ConditionBuilderButton({ className, label, hideLabel, tooltipAlign, renderIcon: Icon, onClick, showToolTip, wrapperProps, onBlur, onFocus, onMouseEnter, onMouseLeave, isInvalid, wrapperClassName, }: {
2
2
  className: any;
3
3
  label: any;
4
4
  hideLabel: any;
@@ -11,11 +11,14 @@ export function ConditionBuilderButton({ className, label, hideLabel, tooltipAli
11
11
  onFocus: any;
12
12
  onMouseEnter: any;
13
13
  onMouseLeave: any;
14
+ isInvalid: any;
15
+ wrapperClassName: any;
14
16
  }): import("react/jsx-runtime").JSX.Element;
15
17
  export namespace ConditionBuilderButton {
16
18
  namespace propTypes {
17
19
  let className: PropTypes.Requireable<string>;
18
20
  let hideLabel: PropTypes.Requireable<boolean>;
21
+ let isInvalid: PropTypes.Requireable<boolean>;
19
22
  let label: PropTypes.Requireable<string>;
20
23
  let onBlur: PropTypes.Requireable<(...args: any[]) => any>;
21
24
  let onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -25,6 +28,7 @@ export namespace ConditionBuilderButton {
25
28
  let renderIcon: PropTypes.Requireable<object>;
26
29
  let showToolTip: PropTypes.Requireable<boolean>;
27
30
  let tooltipAlign: PropTypes.Requireable<string>;
31
+ let wrapperClassName: PropTypes.Requireable<string>;
28
32
  let wrapperProps: PropTypes.Requireable<object>;
29
33
  }
30
34
  }
@@ -15,12 +15,14 @@ var cx = require('classnames');
15
15
  var index = require('../../../node_modules/prop-types/index.js');
16
16
  var react = require('@carbon/react');
17
17
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
18
+ var icons = require('@carbon/react/icons');
18
19
 
19
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
21
 
21
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
23
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
24
 
25
+ var _WarningAltFilled;
24
26
  var ConditionBuilderButton = function ConditionBuilderButton(_ref) {
25
27
  var _Icon, _span;
26
28
  var className = _ref.className,
@@ -34,24 +36,26 @@ var ConditionBuilderButton = function ConditionBuilderButton(_ref) {
34
36
  onBlur = _ref.onBlur,
35
37
  onFocus = _ref.onFocus,
36
38
  onMouseEnter = _ref.onMouseEnter,
37
- onMouseLeave = _ref.onMouseLeave;
39
+ onMouseLeave = _ref.onMouseLeave,
40
+ isInvalid = _ref.isInvalid,
41
+ wrapperClassName = _ref.wrapperClassName;
38
42
  var Button = function Button() {
39
43
  return /*#__PURE__*/React__default["default"].createElement("button", {
40
44
  // role={'gridcell'}
41
45
  tabIndex: -1,
42
- className: cx__default["default"]([className, "".concat(DataConfigs.blockClass, "__button"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__text-ellipsis"), showToolTip && !hideLabel)]),
46
+ className: cx__default["default"]([className, "".concat(DataConfigs.blockClass, "__button"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__text-ellipsis"), showToolTip && !hideLabel && !isInvalid), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__invalid-input"), isInvalid)]),
43
47
  type: "button",
44
48
  onClick: onClick,
45
49
  onBlur: onBlur,
46
50
  onFocus: onFocus,
47
51
  onMouseEnter: onMouseEnter,
48
52
  onMouseLeave: onMouseLeave
49
- }, Icon && (_Icon || (_Icon = /*#__PURE__*/React__default["default"].createElement(Icon, null))), !hideLabel && (_span || (_span = /*#__PURE__*/React__default["default"].createElement("span", null, label))));
53
+ }, Icon && (_Icon || (_Icon = /*#__PURE__*/React__default["default"].createElement(Icon, null))), !hideLabel && (_span || (_span = /*#__PURE__*/React__default["default"].createElement("span", null, label))), isInvalid && (_WarningAltFilled || (_WarningAltFilled = /*#__PURE__*/React__default["default"].createElement(icons.WarningAltFilled, null))));
50
54
  };
51
55
  return hideLabel || showToolTip ? /*#__PURE__*/React__default["default"].createElement(react.Tooltip, _rollupPluginBabelHelpers["extends"]({
52
56
  label: label,
53
57
  align: tooltipAlign,
54
- className: "".concat(DataConfigs.blockClass, "__con-tooltip")
58
+ className: "".concat(wrapperClassName)
55
59
  }, wrapperProps), Button()) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, Button());
56
60
  };
57
61
  ConditionBuilderButton.propTypes = {
@@ -63,6 +67,10 @@ ConditionBuilderButton.propTypes = {
63
67
  * decides if label and tooltip to be hidden
64
68
  */
65
69
  hideLabel: index["default"].bool,
70
+ /**
71
+ * boolean to know the updated value in not valid
72
+ */
73
+ isInvalid: index["default"].bool,
66
74
  /**
67
75
  * label of the button
68
76
  */
@@ -92,6 +100,10 @@ ConditionBuilderButton.propTypes = {
92
100
  * tooltip position
93
101
  */
94
102
  tooltipAlign: index["default"].string,
103
+ /**
104
+ * classname applies to the wrapper of popover
105
+ */
106
+ wrapperClassName: index["default"].string,
95
107
  /**
96
108
  * optional props for tree grid to add role and aria-label to wrapper span
97
109
  */
@@ -12,7 +12,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
  var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
13
13
  var React = require('react');
14
14
  var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
15
- var ConditionBuilderItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js');
15
+ var ItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js');
16
16
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
17
17
  var index = require('../../../node_modules/prop-types/index.js');
18
18
  var util = require('../utils/util.js');
@@ -65,7 +65,7 @@ var ConditionConnector = function ConditionConnector(_ref) {
65
65
  }, rest, {
66
66
  popOverClassName: className,
67
67
  className: "".concat(DataConfigs.blockClass, "__connector-button ")
68
- }), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
68
+ }), /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
69
69
  config: {
70
70
  options: DataConfigs.connectorConfig
71
71
  },
@@ -12,7 +12,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
12
12
  var React = require('react');
13
13
  var ConditionBuilderItem = require('../ConditionBuilderItem/ConditionBuilderItem.js');
14
14
  var DataConfigs = require('../ConditionBuilderContext/DataConfigs.js');
15
- var ConditionBuilderItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ConditionBuilderItemOption.js');
15
+ var ItemOption = require('../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js');
16
16
  var util = require('../utils/util.js');
17
17
  var ConditionBuilderProvider = require('../ConditionBuilderContext/ConditionBuilderProvider.js');
18
18
 
@@ -34,7 +34,7 @@ var GroupConnector = function GroupConnector() {
34
34
  "data-name": "connectorField",
35
35
  popOverClassName: "".concat(DataConfigs.blockClass, "__gap"),
36
36
  className: "".concat(DataConfigs.blockClass, "__statement-button")
37
- }, /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItemOption.ConditionBuilderItemOption, {
37
+ }, /*#__PURE__*/React__default["default"].createElement(ItemOption.ItemOption, {
38
38
  conditionState: {
39
39
  value: rootState.operator,
40
40
  label: DataConfigs.translateWithId('condition')
@@ -1,30 +1,28 @@
1
1
  export default ConditionBuilderContent;
2
- declare function ConditionBuilderContent({ startConditionLabel, conditionBuilderRef, getConditionState, initialState, }: {
2
+ declare function ConditionBuilderContent({ startConditionLabel, conditionBuilderRef, getConditionState, getActionsState, initialState, actions, }: {
3
3
  startConditionLabel: any;
4
4
  conditionBuilderRef: any;
5
5
  getConditionState: any;
6
+ getActionsState: any;
6
7
  initialState: any;
8
+ actions: any;
7
9
  }): import("react/jsx-runtime").JSX.Element;
8
10
  declare namespace ConditionBuilderContent {
9
11
  namespace propTypes {
10
12
  let actions: PropTypes.Requireable<(PropTypes.InferProps<{
11
- id: PropTypes.Requireable<number>;
12
- label: PropTypes.Requireable<string>;
13
+ id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
14
+ label: PropTypes.Validator<string>;
13
15
  }> | null | undefined)[]>;
14
16
  let conditionBuilderRef: PropTypes.Requireable<object>;
15
17
  let getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
16
18
  let getConditionState: PropTypes.Validator<(...args: any[]) => any>;
17
19
  let initialState: PropTypes.Requireable<PropTypes.InferProps<{
18
20
  groups: PropTypes.Requireable<(PropTypes.InferProps<{
19
- groupSeparateOperator: PropTypes.Requireable<string>;
20
- groupOperator: PropTypes.Requireable<string>;
21
- statement: PropTypes.Requireable<string>;
22
- conditions: PropTypes.Requireable<(PropTypes.InferProps<{
23
- property: PropTypes.Requireable<string>;
24
- operator: PropTypes.Requireable<string>;
25
- value: PropTypes.Requireable<string>;
26
- }> | null | undefined)[]>;
21
+ groupOperator: PropTypes.Validator<string>;
22
+ statement: PropTypes.Validator<string>;
23
+ conditions: PropTypes.Requireable<(object | null | undefined)[]>;
27
24
  }> | null | undefined)[]>;
25
+ operator: PropTypes.Requireable<string>;
28
26
  }>>;
29
27
  let startConditionLabel: PropTypes.Validator<string>;
30
28
  }
@@ -21,6 +21,7 @@ var ConditionBuilderButton = require('../ConditionBuilderButton/ConditionBuilder
21
21
  var uuidv4 = require('../../../global/js/utils/uuidv4.js');
22
22
  var ConditionPreview = require('../ConditionPreview/ConditionPreview.js');
23
23
  var GroupConnector = require('../ConditionBuilderConnector/GroupConnector.js');
24
+ var ConditionBuilderActions = require('../ConditionBuilderActions/ConditionBuilderActions.js');
24
25
 
25
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
27
 
@@ -32,14 +33,14 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
32
33
  var startConditionLabel = _ref.startConditionLabel,
33
34
  conditionBuilderRef = _ref.conditionBuilderRef,
34
35
  getConditionState = _ref.getConditionState,
35
- initialState = _ref.initialState;
36
- // const { rootState, setRootState, variant, actionState } = useContext(
37
- // ConditionBuilderContext
38
- // );
36
+ getActionsState = _ref.getActionsState,
37
+ initialState = _ref.initialState,
38
+ actions = _ref.actions;
39
39
  var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
40
40
  rootState = _useContext.rootState,
41
41
  setRootState = _useContext.setRootState,
42
- variant = _useContext.variant;
42
+ variant = _useContext.variant,
43
+ actionState = _useContext.actionState;
43
44
  var _useState = React.useState(false),
44
45
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
45
46
  isConditionBuilderActive = _useState2[0],
@@ -61,11 +62,10 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
61
62
 
62
63
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
64
  }, [rootState]);
64
-
65
- // useEffect(() => {
66
- // getActionsState?.(actionState);
67
- // // eslint-disable-next-line react-hooks/exhaustive-deps
68
- // }, [actionState]);
65
+ React.useEffect(function () {
66
+ getActionsState === null || getActionsState === void 0 || getActionsState(actionState);
67
+ // eslint-disable-next-line react-hooks/exhaustive-deps
68
+ }, [actionState]);
69
69
  var onStartConditionBuilder = function onStartConditionBuilder() {
70
70
  //when add condition button is clicked.
71
71
  setIsConditionBuilderActive(true);
@@ -91,8 +91,6 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
91
91
  };
92
92
  var addConditionGroupHandler = function addConditionGroupHandler() {
93
93
  var newGroup = {
94
- groupSeparateOperator: 'and',
95
- // 'or'|'and'|'null',
96
94
  groupOperator: 'and',
97
95
  //'and|or',
98
96
  statement: 'if',
@@ -111,7 +109,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
111
109
  }));
112
110
  };
113
111
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !isConditionBuilderActive && /*#__PURE__*/React__default["default"].createElement(react.Button, {
114
- className: "".concat(DataConfigs.blockClass, "__add-condition-button"),
112
+ className: "".concat(DataConfigs.blockClass, "__add_condition-button"),
115
113
  renderIcon: function renderIcon(props) {
116
114
  return /*#__PURE__*/React__default["default"].createElement(icons.Add, _rollupPluginBabelHelpers["extends"]({
117
115
  size: 16
@@ -121,10 +119,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
121
119
  kind: "ghost",
122
120
  size: "sm",
123
121
  onClick: onStartConditionBuilder
124
- }, startConditionLabel), isConditionBuilderActive &&
125
- /*#__PURE__*/
126
- // <h5 >Condition</h5>
127
- React__default["default"].createElement(react.Section, {
122
+ }, startConditionLabel), isConditionBuilderActive && /*#__PURE__*/React__default["default"].createElement(react.Section, {
128
123
  className: "".concat(DataConfigs.blockClass, "__heading"),
129
124
  level: 4
130
125
  }, _Heading || (_Heading = /*#__PURE__*/React__default["default"].createElement(react.Heading, null, "Condition"))), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -164,16 +159,19 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
164
159
  onMouseLeave: function onMouseLeave() {
165
160
  setShowConditionGroupPreview(false);
166
161
  },
167
- className: "".concat(DataConfigs.blockClass, "__add-condition-group "),
162
+ className: "".concat(DataConfigs.blockClass, "__add_condition_group "),
168
163
  hideLabel: true,
169
- label: DataConfigs.translateWithId('add-condition-sub-group'),
164
+ label: DataConfigs.translateWithId('add_condition_group'),
170
165
  wrapperProps: {
171
166
  role: 'gridcell',
172
- 'aria-label': DataConfigs.translateWithId('add-condition-sub-group')
167
+ 'aria-label': DataConfigs.translateWithId('add_condition_group')
173
168
  }
174
169
  })), showConditionGroupPreview && (_ConditionPreview || (_ConditionPreview = /*#__PURE__*/React__default["default"].createElement(ConditionPreview["default"], {
175
170
  previewType: "newGroup"
176
- }))))));
171
+ }))))), isConditionBuilderActive && actions && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderActions["default"], {
172
+ actions: actions,
173
+ className: "".concat(DataConfigs.blockClass, "__actions-container")
174
+ }));
177
175
  };
178
176
  var ConditionBuilderContent$1 = ConditionBuilderContent;
179
177
  ConditionBuilderContent.propTypes = {
@@ -181,8 +179,8 @@ ConditionBuilderContent.propTypes = {
181
179
  * optional array of object that give the list of actions.
182
180
  */
183
181
  actions: index["default"].arrayOf(index["default"].shape({
184
- id: index["default"].number,
185
- label: index["default"].string
182
+ id: index["default"].oneOfType([index["default"].string, index["default"].number]).isRequired,
183
+ label: index["default"].string.isRequired
186
184
  })),
187
185
  /**
188
186
  * ref of condition builder
@@ -201,15 +199,21 @@ ConditionBuilderContent.propTypes = {
201
199
  */
202
200
  initialState: index["default"].shape({
203
201
  groups: index["default"].arrayOf(index["default"].shape({
204
- groupSeparateOperator: index["default"].string,
205
- groupOperator: index["default"].string,
206
- statement: index["default"].string,
207
- conditions: index["default"].arrayOf(index["default"].shape({
208
- property: index["default"].string,
209
- operator: index["default"].string,
210
- value: index["default"].string
211
- }))
212
- }))
202
+ groupOperator: index["default"].string.isRequired,
203
+ statement: index["default"].string.isRequired,
204
+ conditions: index["default"].arrayOf(index["default"].oneOfType([index["default"].shape({
205
+ property: index["default"].string.isRequired,
206
+ operator: index["default"].string.isRequired,
207
+ value: index["default"].oneOfType([index["default"].string, index["default"].arrayOf(index["default"].shape({
208
+ id: index["default"].string,
209
+ label: index["default"].string
210
+ })), index["default"].shape({
211
+ id: index["default"].string,
212
+ label: index["default"].string
213
+ })])
214
+ }), index["default"].object]))
215
+ })),
216
+ operator: index["default"].string
213
217
  }),
214
218
  /* Provide a label to the button that starts condition builder
215
219
  */
@@ -1,7 +1,6 @@
1
1
  export namespace emptyState {
2
2
  let operator: string;
3
3
  let groups: {
4
- groupSeparateOperator: null;
5
4
  groupOperator: string;
6
5
  statement: string;
7
6
  id: any;
@@ -21,7 +21,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
21
  var emptyState = {
22
22
  operator: 'or',
23
23
  groups: [{
24
- groupSeparateOperator: null,
25
24
  groupOperator: 'and',
26
25
  statement: 'if',
27
26
  id: uuidv4["default"](),
@@ -58,10 +57,16 @@ var ConditionBuilderProvider = function ConditionBuilderProvider(props) {
58
57
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
59
58
  rootState = _useState2[0],
60
59
  setRootState = _useState2[1];
60
+ var _useState3 = React.useState([]),
61
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
62
+ actionState = _useState4[0],
63
+ setActionState = _useState4[1];
61
64
  return /*#__PURE__*/React__default["default"].createElement(ConditionBuilderContext.Provider, {
62
65
  value: {
63
66
  rootState: rootState,
64
67
  setRootState: setRootState,
68
+ actionState: actionState,
69
+ setActionState: setActionState,
65
70
  inputConfig: props.inputConfig,
66
71
  popOverSearchThreshold: props.popOverSearchThreshold,
67
72
  getOptions: props.getOptions,
@@ -95,7 +100,7 @@ ConditionBuilderProvider.propTypes = {
95
100
  id: index["default"].string,
96
101
  label: index["default"].string,
97
102
  icon: index["default"].oneOfType([index["default"].func, index["default"].object]),
98
- type: index["default"].oneOf(['text', 'number', 'date', 'option', 'time']),
103
+ type: index["default"].oneOf(['text', 'number', 'date', 'option', 'time', 'custom']),
99
104
  config: index["default"].shape({
100
105
  options: index["default"].arrayOf(index["default"].shape({
101
106
  id: index["default"].string,
@@ -6,6 +6,10 @@ export const connectorConfig: {
6
6
  label: string;
7
7
  id: string;
8
8
  }[];
9
+ export const actionConfig: {
10
+ label: string;
11
+ id: string;
12
+ }[];
9
13
  export const operatorConfig: {
10
14
  label: string;
11
15
  id: string;
@@ -16,7 +20,8 @@ export function translateWithId(key: any): any;
16
20
  export namespace valueRenderers {
17
21
  function text(val: any): any;
18
22
  function time(val: any): any;
19
- function number(val: any, config: any): any;
23
+ function number(val: any): any;
20
24
  function option(value: any): any;
21
25
  function date(value: any): any;
26
+ function custom(value: any): any;
22
27
  }
@@ -17,7 +17,7 @@ var statementConfig = [{
17
17
  id: 'if'
18
18
  }, {
19
19
  label: 'excl.if',
20
- id: 'excl.if'
20
+ id: 'excl_if'
21
21
  }];
22
22
  var connectorConfig = [{
23
23
  label: 'and',
@@ -26,7 +26,6 @@ var connectorConfig = [{
26
26
  label: 'or',
27
27
  id: 'or'
28
28
  }];
29
- //op types : option, text, number, date,
30
29
  var operatorConfig = [{
31
30
  label: 'is',
32
31
  id: 'is',
@@ -37,7 +36,7 @@ var operatorConfig = [{
37
36
  type: 'number'
38
37
  }, {
39
38
  label: 'is greater than or equal to',
40
- id: 'greater-equal',
39
+ id: 'greater_equal',
41
40
  type: 'number'
42
41
  }, {
43
42
  label: 'is lower than',
@@ -45,15 +44,15 @@ var operatorConfig = [{
45
44
  type: 'number'
46
45
  }, {
47
46
  label: 'is lower than or equal to',
48
- id: 'lower-equal',
47
+ id: 'lower_equal',
49
48
  type: 'number'
50
49
  }, {
51
50
  label: 'starts with',
52
- id: 'starts-with',
51
+ id: 'starts_with',
53
52
  type: 'text'
54
53
  }, {
55
54
  label: 'ends with',
56
- id: 'ends-with',
55
+ id: 'ends_with',
57
56
  type: 'text'
58
57
  }, {
59
58
  label: 'contains',
@@ -61,7 +60,7 @@ var operatorConfig = [{
61
60
  type: 'text'
62
61
  }, {
63
62
  label: 'is one of',
64
- id: 'one-of',
63
+ id: 'one_of',
65
64
  type: 'option'
66
65
  }, {
67
66
  label: 'is before',
@@ -96,11 +95,17 @@ var valueRenderers = {
96
95
  time: function time(val) {
97
96
  return val;
98
97
  },
99
- number: function number(val, config) {
100
- return config.unit && val ? "".concat(val, " ").concat(config.unit) : val;
98
+ number: function number(val) {
99
+ return val;
101
100
  },
102
101
  option: function option(value) {
103
- return Array.isArray(value) ? value.join(', ') : value;
102
+ if (value && typeof value !== 'string') {
103
+ var selectedValues = Array.isArray(value) ? value : [value];
104
+ return selectedValues.map(function (option) {
105
+ return option.label;
106
+ }).join(', ');
107
+ }
108
+ return value;
104
109
  },
105
110
  date: function date(value) {
106
111
  if (Array.isArray(value) && value.length > 1) {
@@ -110,6 +115,9 @@ var valueRenderers = {
110
115
  } else {
111
116
  return value && new Date(value) ? formatDate(new Date(value)) : value;
112
117
  }
118
+ },
119
+ custom: function custom(value) {
120
+ return value;
113
121
  }
114
122
  };
115
123