@wavemaker/react-runtime 11.14.2-1.245 → 12.0.0-next.28533

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 (244) hide show
  1. package/actions/base-action.js +5 -7
  2. package/actions/login-action.js +7 -8
  3. package/actions/logout-action.js +5 -7
  4. package/actions/navigation-action.js +32 -10
  5. package/actions/notification-action.js +22 -8
  6. package/actions/timer-action.js +13 -15
  7. package/actions/toast.js +4 -2
  8. package/actions/toast.service.js +1 -2
  9. package/components/advanced/carousel/index.js +1 -1
  10. package/components/advanced/carousel/template.js +1 -1
  11. package/components/basic/anchor/index.js +26 -9
  12. package/components/basic/html/index.js +115 -24
  13. package/components/basic/icon/index.js +2 -1
  14. package/components/basic/iframe/index.js +2 -1
  15. package/components/basic/label/index.js +12 -9
  16. package/components/basic/message/index.js +12 -3
  17. package/components/basic/picture/index.js +11 -4
  18. package/components/basic/progress-bar/index.js +1 -1
  19. package/components/basic/progress-circle/index.js +34 -28
  20. package/components/basic/progress-circle/props.js +10 -2
  21. package/components/basic/richtexteditor/index.js +95 -94
  22. package/components/basic/search/index.js +401 -156
  23. package/components/basic/search/providers.js +126 -61
  24. package/components/basic/spinner/index.js +2 -1
  25. package/components/basic/tree/index.js +34 -34
  26. package/components/basic/tree/utils.js +10 -4
  27. package/components/chart/components/barColumnChart/index.js +36 -33
  28. package/components/chart/components/bubbleChart/index.js +35 -25
  29. package/components/chart/components/chartLegend/utils.js +2 -1
  30. package/components/chart/components/cumulativeLineChart/index.js +30 -26
  31. package/components/chart/components/lineAreaChart/index.js +50 -32
  32. package/components/chart/components/pieDonutChart/index.js +13 -4
  33. package/components/chart/hooks/useXAxisConfig.js +15 -8
  34. package/components/chart/index.js +223 -53
  35. package/components/chart/utils.js +12 -1
  36. package/components/constants.js +5 -2
  37. package/components/container/accordion/accordion-pane/index.js +17 -12
  38. package/components/container/accordion/index.js +9 -4
  39. package/components/container/alignment-utils.js +56 -1
  40. package/components/container/index.js +49 -20
  41. package/components/container/panel/components/panel-header/index.js +3 -4
  42. package/components/container/panel/index.js +15 -10
  43. package/components/container/tabs/index.js +92 -14
  44. package/components/container/tabs/tab-pane/index.js +15 -8
  45. package/components/container/tabs/utils.js +51 -0
  46. package/components/container/wizard/components/StepComponents.js +2 -1
  47. package/components/container/wizard/components/WizardStep.js +2 -1
  48. package/components/container/wizard/index.js +64 -35
  49. package/components/container/wizard/utils.js +46 -1
  50. package/components/container/wizard/wizard-step/index.js +11 -1
  51. package/components/data/card/card-content/index.js +1 -1
  52. package/components/data/form/base-form/index.js +991 -180
  53. package/components/data/form/base-form/props.js +3 -1
  54. package/components/data/form/base-form/utils.js +159 -1
  55. package/components/data/form/dynamic-fields/constant.js +53 -0
  56. package/components/data/form/dynamic-fields/index.js +10 -45
  57. package/components/data/form/dynamic-fields/utils.js +37 -2
  58. package/components/data/form/form-action/index.js +5 -4
  59. package/components/data/form/form-context.js +5 -1
  60. package/components/data/form/form-controller/utils.js +84 -0
  61. package/components/data/form/form-controller/validation-contrustor.js +402 -189
  62. package/components/data/form/form-controller/withFormController.js +191 -52
  63. package/components/data/form/form-field/base-field.js +54 -33
  64. package/components/data/form/form-field/index.js +28 -5
  65. package/components/data/form/form-header/index.js +3 -4
  66. package/components/data/form/index.js +20 -1
  67. package/components/data/list/components/ListDND.js +2 -1
  68. package/components/data/list/components/ListItem.js +6 -2
  69. package/components/data/list/components/ListItemWithTemplate.js +46 -2
  70. package/components/data/list/components/ListItems.js +17 -26
  71. package/components/data/list/components/ListPagination.js +3 -3
  72. package/components/data/list/components/StandardListItems.js +3 -4
  73. package/components/data/list/hooks/useListEffects.js +55 -14
  74. package/components/data/list/hooks/useListEventHandlers.js +3 -1
  75. package/components/data/list/hooks/useListState.js +3 -1
  76. package/components/data/list/hooks/usePaginatedGroupedData.js +18 -5
  77. package/components/data/list/index.js +74 -55
  78. package/components/data/list/utils/list-helpers.js +73 -35
  79. package/components/data/list/utils/list-widget-methods.js +138 -95
  80. package/components/data/live-filter/index.js +26 -15
  81. package/components/data/live-form/index.js +23 -7
  82. package/components/data/live-form/props.js +1 -1
  83. package/components/data/pagination/components/BasicPagination.js +71 -16
  84. package/components/data/pagination/components/PageSizeSelector.js +8 -3
  85. package/components/data/pagination/components/TotalRecords.js +1 -5
  86. package/components/data/pagination/hooks/usePagination.js +349 -66
  87. package/components/data/pagination/index.js +137 -19
  88. package/components/data/table/components/AddNewRow.js +5 -1
  89. package/components/data/table/components/EditableCell.js +2 -2
  90. package/components/data/table/components/RowCells.js +64 -0
  91. package/components/data/table/components/RowExpansionButton.js +2 -2
  92. package/components/data/table/components/SummaryCell.js +111 -0
  93. package/components/data/table/components/SummaryRow.js +54 -0
  94. package/components/data/table/components/SummaryRowFooter.js +46 -0
  95. package/components/data/table/components/TableBody.js +61 -59
  96. package/components/data/table/components/TableDataRow.js +109 -0
  97. package/components/data/table/components/TableFilters.js +225 -121
  98. package/components/data/table/components/TableHeader.js +291 -23
  99. package/components/data/table/components/TablePanelHeading.js +139 -8
  100. package/components/data/table/components/index.js +22 -1
  101. package/components/data/table/hooks/use-edited-rows.js +141 -0
  102. package/components/data/table/hooks/useCellState.js +5 -12
  103. package/components/data/table/hooks/useFormWidget.js +58 -51
  104. package/components/data/table/hooks/usePaginationState.js +45 -24
  105. package/components/data/table/hooks/usePanelStructure.js +4 -4
  106. package/components/data/table/hooks/useRowHandlers.js +39 -5
  107. package/components/data/table/hooks/useRowSelection.js +244 -50
  108. package/components/data/table/hooks/useServerSideSorting.js +81 -37
  109. package/components/data/table/hooks/useTableColumns.js +211 -118
  110. package/components/data/table/hooks/useTableData.js +54 -9
  111. package/components/data/table/hooks/useTableEdit.js +272 -97
  112. package/components/data/table/hooks/useTableEffects.js +31 -13
  113. package/components/data/table/hooks/useTableFilter.js +1 -1
  114. package/components/data/table/hooks/useTableInitialization.js +23 -22
  115. package/components/data/table/hooks/useTableState.js +11 -5
  116. package/components/data/table/hooks/useTableStateManager.js +140 -65
  117. package/components/data/table/index.js +637 -274
  118. package/components/data/table/live-table/index.js +54 -22
  119. package/components/data/table/table-action/index.js +1 -1
  120. package/components/data/table/table-group/index.js +26 -0
  121. package/components/data/table/table-row-action/index.js +32 -18
  122. package/components/data/table/utils/buildSelectionColumns.js +12 -21
  123. package/components/data/table/utils/columnBuilder.js +29 -14
  124. package/components/data/table/utils/columnProxy.js +68 -1
  125. package/components/data/table/utils/constants.js +6 -2
  126. package/components/data/table/utils/crud-handlers.js +68 -63
  127. package/components/data/table/utils/groupHeaderUtils.js +102 -0
  128. package/components/data/table/utils/index.js +210 -21
  129. package/components/data/table/utils/renderDisplayCell.js +6 -6
  130. package/components/data/table/utils/selectionUtils.js +25 -26
  131. package/components/data/table/utils/validation.js +1 -0
  132. package/components/data/utils/filter-field-util.js +3 -3
  133. package/components/dialogs/alert-dialog/index.js +1 -1
  134. package/components/dialogs/confirm-dialog/index.js +1 -1
  135. package/components/dialogs/dialog/index.js +4 -1
  136. package/components/dialogs/dialog-content/index.js +3 -1
  137. package/components/dialogs/dialog-header/index.js +2 -2
  138. package/components/dialogs/iframe-dialog/index.js +11 -5
  139. package/components/dialogs/index.js +1 -1
  140. package/components/dialogs/login-dialog/index.js +1 -1
  141. package/components/dialogs/page-dialog/index.js +1 -1
  142. package/components/form/button/index.js +33 -7
  143. package/components/input/calendar/index.js +18 -6
  144. package/components/input/chips/index.js +99 -28
  145. package/components/input/chips/utils.js +34 -4
  146. package/components/input/color-picker/index.js +74 -25
  147. package/components/input/composite/index.js +3 -3
  148. package/components/input/currency/index.js +35 -49
  149. package/components/input/default/checkbox/index.js +23 -28
  150. package/components/input/default/checkboxset/index.js +38 -18
  151. package/components/input/default/checkboxset/utils.js +30 -0
  152. package/components/input/default/radioset/index.js +36 -39
  153. package/components/input/default/switch/index.js +30 -13
  154. package/components/input/epoch/date/index.js +130 -69
  155. package/components/input/epoch/date/utils.js +94 -1
  156. package/components/input/epoch/datetime/index.js +72 -22
  157. package/components/input/epoch/datetime/utils.js +49 -10
  158. package/components/input/epoch/time/index.js +68 -19
  159. package/components/input/epoch/time/utils.js +62 -14
  160. package/components/input/fileupload/Utils.js +12 -7
  161. package/components/input/fileupload/components/MultiUpload.js +2 -6
  162. package/components/input/fileupload/components/SingleUpload.js +3 -7
  163. package/components/input/fileupload/index.js +6 -10
  164. package/components/input/fileupload/useFileUpload.js +16 -5
  165. package/components/input/number/index.js +158 -43
  166. package/components/input/rating/index.js +90 -7
  167. package/components/input/select/index.js +147 -70
  168. package/components/input/slider/index.js +84 -26
  169. package/components/input/text/index.js +38 -18
  170. package/components/input/text/util.js +283 -130
  171. package/components/input/textarea/index.js +13 -10
  172. package/components/input/upload/index.js +124 -0
  173. package/components/input/upload/props.js +5 -0
  174. package/components/input/util/index.js +11 -0
  175. package/components/navbar/index.js +51 -3
  176. package/components/navbar/nav/index.js +46 -16
  177. package/components/navbar/nav-item/index.js +11 -5
  178. package/components/navigation/menu/components/ListItems.js +3 -0
  179. package/components/navigation/menu/constants.js +2 -1
  180. package/components/navigation/menu/hooks/useHoverState.hook.js +48 -0
  181. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +37 -0
  182. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +15 -0
  183. package/components/navigation/menu/index.js +326 -188
  184. package/components/navigation/menu/utils/action-task.js +14 -0
  185. package/components/navigation/menu/utils/role-filter.js +76 -0
  186. package/components/navigation/popover/index.js +99 -26
  187. package/components/page/partial-container/index.js +34 -5
  188. package/components/prefab/index.js +2 -4
  189. package/context/PrefabContext.js +10 -6
  190. package/context/WidgetProvider.js +30 -31
  191. package/core/app.service.js +1 -1
  192. package/core/constants/events.js +57 -1
  193. package/core/dialog.service.js +1 -2
  194. package/core/event-notifier.js +1 -2
  195. package/core/formatter/array-formatters.js +33 -0
  196. package/core/formatter/date-formatters.js +2 -4
  197. package/core/formatter/index.js +2 -1
  198. package/core/formatter/number-formatters.js +5 -10
  199. package/core/formatter/security-formatters.js +2 -4
  200. package/core/formatter/string-formatters.js +3 -6
  201. package/core/proxy-service.js +84 -13
  202. package/core/script-registry.js +108 -48
  203. package/core/util/common.js +4 -4
  204. package/core/util/compare.js +30 -0
  205. package/core/util/dom.js +8 -8
  206. package/core/util/index.js +16 -6
  207. package/core/util/safe-is-equal.js +156 -0
  208. package/core/util/security.js +1 -2
  209. package/core/util/utils.js +16 -7
  210. package/higherOrder/BaseApp.js +108 -65
  211. package/higherOrder/BaseDateTime.js +31 -13
  212. package/higherOrder/BasePage.js +268 -144
  213. package/higherOrder/BasePartial.js +1 -1
  214. package/higherOrder/BasePrefab.js +33 -15
  215. package/higherOrder/DataNav.js +99 -16
  216. package/higherOrder/helper.js +5 -0
  217. package/higherOrder/withBaseWrapper.js +41 -28
  218. package/hooks/useAuth.js +11 -5
  219. package/hooks/useHttp.js +280 -94
  220. package/mui-config/theme-provider.js +1 -1
  221. package/mui-config/theme.js +1 -1
  222. package/package-lock.json +711 -669
  223. package/package.json +8 -8
  224. package/store/bindActions/i18nActions.js +18 -0
  225. package/store/index.js +3 -1
  226. package/store/slices/appConfigSlice.js +2 -2
  227. package/store/slices/authSlice.js +31 -28
  228. package/store/slices/i18nSlice.js +2 -2
  229. package/store/slices/navigationSlice.js +35 -0
  230. package/store/viewport.service.js +255 -0
  231. package/utils/attr.js +35 -0
  232. package/utils/dataset-util.js +1 -2
  233. package/utils/form-state.util.js +43 -12
  234. package/utils/form-utils.js +47 -2
  235. package/utils/format-util.js +28 -13
  236. package/utils/page-params-util.js +33 -1
  237. package/utils/state-persistance.js +72 -13
  238. package/utils/transformedDataset-utils.js +35 -24
  239. package/variables/base-variable.js +12 -14
  240. package/variables/crud-variable.js +225 -0
  241. package/variables/live-variable.js +56 -20
  242. package/variables/metadata.service.js +123 -0
  243. package/variables/model-variable.js +21 -15
  244. package/variables/service-variable.js +88 -83
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = exports.WmColorPicker = void 0;
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _react = _interopRequireWildcard(require("react"));
11
12
  var _reactColor = require("react-color");
12
13
  var _clsx = _interopRequireDefault(require("clsx"));
@@ -15,9 +16,12 @@ var _input = require("@base-ui-components/react/input");
15
16
  var _styles = require("@mui/material/styles");
16
17
  var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
17
18
  var _withFormController = _interopRequireDefault(require("@wavemaker/react-runtime/components/data/form/form-controller/withFormController"));
19
+ var _reactDom = require("react-dom");
18
20
  var _excluded = ["datavalue", "placeholder", "readonly", "disabled", "required", "name", "shortcutkey", "tabindex", "className", "autoclose", "arialabel", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onClick", "onKeydown", "onKeyup", "onChange", "listener"];
19
21
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
20
22
  var __jsx = _react["default"].createElement;
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
25
  // Constants
22
26
  var AUTOCLOSE_TYPE = {
23
27
  ALWAYS: "always",
@@ -31,25 +35,32 @@ var POSITION_DELAY = 100;
31
35
 
32
36
  // Styled Components
33
37
  var StyledColorPicker = (0, _styles.styled)(_Box["default"])(function (_ref) {
34
- var theme = _ref.theme;
38
+ var theme = _ref.theme,
39
+ direction = _ref.direction;
35
40
  return {
36
- position: "absolute",
41
+ position: "fixed",
42
+ // Changed from absolute to fixed for portal positioning
37
43
  zIndex: 1300,
38
44
  marginTop: theme.spacing(1),
39
- left: 0,
40
- top: "115%",
41
- "&::before": {
45
+ "&::before": _objectSpread({
42
46
  content: '""',
43
47
  position: "absolute",
44
- top: "-20px",
45
48
  left: "8px",
46
49
  width: 0,
47
50
  height: 0,
48
51
  borderStyle: "solid",
49
- borderWidth: "10px 5px",
50
- borderColor: "rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #777 rgba(0, 0, 0, 0)",
51
52
  zIndex: 999999
52
- },
53
+ }, direction === "down" ? {
54
+ // Arrow pointing up (picker opens downward)
55
+ top: "-10px",
56
+ borderWidth: "0 5px 10px 5px",
57
+ borderColor: "transparent transparent #777 transparent"
58
+ } : {
59
+ // Arrow pointing down (picker opens upward)
60
+ bottom: "-10px",
61
+ borderWidth: "10px 5px 0 5px",
62
+ borderColor: "#777 transparent transparent transparent"
63
+ }),
53
64
  "& .chrome-picker": {
54
65
  boxShadow: "0 2px 15px rgba(0,0,0,0.12), 0 2px 10px rgba(0,0,0,0.16) !important",
55
66
  height: "auto",
@@ -229,27 +240,33 @@ var useColorValue = function useColorValue(initialValue) {
229
240
  };
230
241
  var usePickerPosition = function usePickerPosition() {
231
242
  var _useState3 = (0, _react.useState)({
232
- top: "115%",
233
- left: 0
243
+ top: 0,
244
+ left: 0,
245
+ direction: "down"
234
246
  }),
235
247
  position = _useState3[0],
236
248
  setPosition = _useState3[1];
237
249
  var calculatePosition = (0, _react.useCallback)(function (containerElement) {
238
250
  if (!containerElement) {
239
251
  return {
240
- top: "115%",
241
- left: 0
252
+ top: 0,
253
+ left: 0,
254
+ direction: "down"
242
255
  };
243
256
  }
244
257
  var rect = containerElement.getBoundingClientRect();
245
258
  var viewportHeight = window.innerHeight;
246
259
  var spaceBelow = viewportHeight - rect.bottom;
247
- return spaceBelow < PICKER_HEIGHT ? {
248
- top: -330,
249
- left: 0
250
- } : {
251
- top: "115%",
252
- left: 0
260
+
261
+ // Calculate absolute position using fixed positioning (for portal)
262
+ var openUpward = spaceBelow < PICKER_HEIGHT;
263
+ var top = openUpward ? rect.top - PICKER_HEIGHT + 50 // Position above if not enough space below
264
+ : rect.bottom + 8; // Position below with 8px gap
265
+
266
+ return {
267
+ top: top,
268
+ left: rect.left,
269
+ direction: openUpward ? "up" : "down"
253
270
  };
254
271
  }, []);
255
272
  return {
@@ -334,6 +351,16 @@ var WmColorPicker = exports.WmColorPicker = /*#__PURE__*/(0, _react.memo)(functi
334
351
  setIsOpen(false);
335
352
  }
336
353
  }, [isOpen, isInteractingWithPicker]);
354
+
355
+ // Register widget methods (open/close) with listener
356
+ (0, _react.useEffect)(function () {
357
+ if (listener !== null && listener !== void 0 && listener.onChange) {
358
+ listener.onChange(props.fieldName || name, {
359
+ open: openPicker,
360
+ close: closePicker
361
+ });
362
+ }
363
+ }, [openPicker, closePicker]);
337
364
  var validateAndSetColor = (0, _react.useCallback)(function (value) {
338
365
  if (!value.trim()) {
339
366
  setColorValue({
@@ -455,7 +482,11 @@ var WmColorPicker = exports.WmColorPicker = /*#__PURE__*/(0, _react.memo)(functi
455
482
  };
456
483
  setColorValue(rgbaColor);
457
484
  var newValue = a !== 1 ? rgbaToString(rgbaColor) : rgbaToHex(rgbaColor);
485
+ if (inputRef.current) {
486
+ inputRef.current.value = newValue;
487
+ }
458
488
  if (listener !== null && listener !== void 0 && listener.Widgets[(props === null || props === void 0 ? void 0 : props.fieldName) || name]) {
489
+ listener.Widgets[name].datavalue = newValue;
459
490
  listener.Widgets[name].displayValue = newValue;
460
491
  }
461
492
  setInputValue(newValue);
@@ -464,8 +495,11 @@ var WmColorPicker = exports.WmColorPicker = /*#__PURE__*/(0, _react.memo)(functi
464
495
  datavalue: newValue
465
496
  });
466
497
  }
498
+ var customEvent = _objectSpread(_objectSpread({}, event), {}, {
499
+ type: "change"
500
+ });
467
501
  if (onChange) {
468
- onChange(event, listener.Widgets[name], newValue, inputValue);
502
+ onChange(customEvent, listener.Widgets[name], newValue, inputValue);
469
503
  }
470
504
  if (autoclose === AUTOCLOSE_TYPE.ALWAYS && !isInteractingWithPicker) {
471
505
  setTimeout(function () {
@@ -589,6 +623,20 @@ var WmColorPicker = exports.WmColorPicker = /*#__PURE__*/(0, _react.memo)(functi
589
623
  return window.removeEventListener("keydown", handleEscape);
590
624
  };
591
625
  }, [isOpen]);
626
+
627
+ // Update picker position on scroll or resize
628
+ (0, _react.useEffect)(function () {
629
+ if (!isOpen) return;
630
+ var updatePosition = function updatePosition() {
631
+ setPickerPosition(calculatePosition(containerRef.current));
632
+ };
633
+ window.addEventListener("scroll", updatePosition, true);
634
+ window.addEventListener("resize", updatePosition);
635
+ return function () {
636
+ window.removeEventListener("scroll", updatePosition, true);
637
+ window.removeEventListener("resize", updatePosition);
638
+ };
639
+ }, [isOpen, calculatePosition, setPickerPosition]);
592
640
  var checkPlaceholder = function checkPlaceholder() {
593
641
  setTimeout(function () {
594
642
  var _containerRef$current2;
@@ -651,12 +699,13 @@ var WmColorPicker = exports.WmColorPicker = /*#__PURE__*/(0, _react.memo)(functi
651
699
  style: {
652
700
  backgroundColor: inputValue ? rgbaToString(colorValue) : "transparent"
653
701
  }
654
- })), isOpen && __jsx(StyledColorPicker, {
702
+ })), isOpen && /*#__PURE__*/(0, _reactDom.createPortal)(__jsx(StyledColorPicker, {
655
703
  className: "color-picker",
656
704
  ref: pickerRef,
705
+ direction: pickerPosition.direction,
657
706
  sx: {
658
- top: pickerPosition.top,
659
- left: pickerPosition.left,
707
+ top: "".concat(pickerPosition.top, "px"),
708
+ left: "".concat(pickerPosition.left, "px"),
660
709
  zIndex: 1300
661
710
  },
662
711
  onClick: function onClick(e) {
@@ -667,9 +716,9 @@ var WmColorPicker = exports.WmColorPicker = /*#__PURE__*/(0, _react.memo)(functi
667
716
  }, __jsx(_reactColor.ChromePicker, {
668
717
  color: colorValue,
669
718
  onChange: handleColorChange
670
- })));
719
+ })), document.body));
671
720
  }, function (prevProps, nextProps) {
672
- var keysToCompare = ["datavalue", "placeholder", "readonly", "disabled", "required", "name", "shortcutkey", "show", "tabindex", "autoclose", "arialabel"];
721
+ var keysToCompare = ["datavalue", "placeholder", "readonly", "disabled", "required", "name", "shortcutkey", "show", "tabindex", "autoclose", "arialabel", "hidden", "show"];
673
722
  return keysToCompare.every(function (key) {
674
723
  return prevProps[key] === nextProps[key];
675
724
  });
@@ -22,7 +22,6 @@ var CAPTION_POSITION = {
22
22
  floating: "caption-floating"
23
23
  };
24
24
  function WmComposite(props) {
25
- var _clsx;
26
25
  var children = props.children,
27
26
  styles = props.styles,
28
27
  className = props.className,
@@ -129,8 +128,9 @@ function WmComposite(props) {
129
128
  return __jsx("div", {
130
129
  ref: containerRef,
131
130
  style: styles,
132
- className: (0, _clsx2["default"])((_clsx = {}, (0, _defineProperty2["default"])(_clsx, DEFAULT_CLASS, true), (0, _defineProperty2["default"])(_clsx, className || "", Boolean(className)), _clsx), "".concat(CAPTION_POSITION[captionposition], " ").concat(required ? "required" : "")),
133
- id: id
131
+ className: (0, _clsx2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, DEFAULT_CLASS, true), className || "", Boolean(className)), "".concat(CAPTION_POSITION[captionposition], " ").concat(required ? "required" : "")),
132
+ id: id,
133
+ hidden: props.hidden
134
134
  }, childElements);
135
135
  }
136
136
  WmComposite.displayName = "WmComposite";
@@ -94,7 +94,17 @@ var WmCurrency = function WmCurrency(props) {
94
94
  var _currencyConstants$CU;
95
95
  return ((_currencyConstants$CU = _constants.currencyConstants.CURRENCY_INFO[currencyCode]) === null || _currencyConstants$CU === void 0 ? void 0 : _currencyConstants$CU.symbol) || "$";
96
96
  }, [currencyCode]);
97
- var htmlInputMode = decimalplaces > 0 ? "decimal" : "numeric";
97
+ var effectiveDecimalPlaces = (0, _react.useMemo)(function () {
98
+ if (decimalplaces > 0) return decimalplaces;
99
+ if (inputmode === "financial" && step && step < 1) {
100
+ var stepStr = step.toString();
101
+ if (stepStr.includes(".")) {
102
+ return stepStr.split(".")[1].length;
103
+ }
104
+ }
105
+ return decimalplaces;
106
+ }, [decimalplaces, inputmode, step]);
107
+ var htmlInputMode = effectiveDecimalPlaces > 0 ? "decimal" : "numeric";
98
108
  var validateValue = (0, _react.useCallback)(function (value) {
99
109
  return (0, _formatUtil.validateNumericValue)(value, required, minvalue, maxvalue);
100
110
  }, [required, minvalue, maxvalue]);
@@ -102,7 +112,7 @@ var WmCurrency = function WmCurrency(props) {
102
112
  var validation = validateValue(value);
103
113
  setShowError(!validation.isValid);
104
114
  if (onChange || listener !== null && listener !== void 0 && listener.onChange) {
105
- (0, _formatUtil.handleValidatedValueUpdate)(value, name, inputEl.current, onChange, listener, prevDatavalue, setPrevDatavalue, props);
115
+ (0, _formatUtil.handleValidatedValueUpdate)(value, props.fieldName || name, inputEl.current, onChange, listener, prevDatavalue, setPrevDatavalue, props);
106
116
  }
107
117
  }, parseInt(updatedelay || "10"), {
108
118
  leading: parseInt(updatedelay) === 0
@@ -121,60 +131,44 @@ var WmCurrency = function WmCurrency(props) {
121
131
  }, [onFocus]);
122
132
  var handleArrowPress = (0, _react.useCallback)(function (event, direction) {
123
133
  event.preventDefault();
124
- if (readonly || disabled || step === 0) {
134
+ if (readonly || disabled || !step || step === 0) {
125
135
  return;
126
136
  }
127
137
  var targetVal = event.target.value.replace(/,/g, "");
128
138
  var currentValue = targetVal && !isNaN(Number.parseFloat(targetVal)) ? Number.parseFloat(targetVal) : datavalue;
129
- var newValue = (0, _formatUtil.handleStepValue)(currentValue, direction, step, decimalplaces, minvalue, maxvalue);
139
+ var newValue = (0, _formatUtil.handleStepValue)(currentValue, direction, step, effectiveDecimalPlaces, minvalue, maxvalue);
130
140
  var cleanValue = newValue.toString();
131
141
  setInternalValue(cleanValue);
132
142
  setDatavalue(newValue);
133
143
  setRawInputValue(cleanValue);
134
- if (onChange) {
135
- var syntheticEvent = {
136
- target: {
137
- value: newValue.toString(),
138
- name: name
139
- },
140
- currentTarget: inputEl.current
141
- };
142
- onChange(syntheticEvent, props, newValue, prevDatavalue);
143
- }
144
144
  var validation = validateValue(newValue);
145
145
  setShowError(!validation.isValid);
146
146
  if (updateon === "keypress") {
147
147
  debouncedUpdateValue(newValue);
148
148
  }
149
- }, [readonly, disabled, step, datavalue, minvalue, maxvalue, decimalplaces, validateValue, onChange, name, props, prevDatavalue, debouncedUpdateValue]);
149
+ }, [readonly, disabled, step, datavalue, minvalue, maxvalue, effectiveDecimalPlaces, validateValue, onChange, name, props, prevDatavalue, debouncedUpdateValue]);
150
150
  var handleKeyDown = (0, _react.useCallback)(function (event) {
151
- if (event.key === "ArrowUp") {
152
- handleArrowPress(event, "UP");
153
- } else if (event.key === "ArrowDown") {
154
- handleArrowPress(event, "DOWN");
155
- } else if (event.key === "Enter" && onEnter) {
151
+ if (step && step !== 0) {
152
+ if (event.key === "ArrowUp") {
153
+ handleArrowPress(event, "UP");
154
+ return;
155
+ } else if (event.key === "ArrowDown") {
156
+ handleArrowPress(event, "DOWN");
157
+ return;
158
+ }
159
+ }
160
+ if (event.key === "Enter" && onEnter) {
156
161
  onEnter(event);
157
162
  }
158
163
  if (onKeyDown) {
159
164
  onKeyDown(event);
160
165
  }
161
- }, [handleArrowPress, onEnter, onKeyDown]);
166
+ }, [handleArrowPress, onEnter, onKeyDown, step]);
162
167
  var handleInputChange = function handleInputChange(event) {
163
- var result = (0, _formatUtil.handleNumericInputChange)(event.target.value, inputmode, decimalplaces, setRawInputValue);
168
+ var result = (0, _formatUtil.handleNumericInputChange)(event.target.value, inputmode, effectiveDecimalPlaces, setRawInputValue);
164
169
  if (result.newVal === null && event.target.value !== "") {
165
170
  return; // Invalid input, don't update
166
171
  }
167
- if (onChange) {
168
- var _result$newVal;
169
- var syntheticEvent = {
170
- target: {
171
- value: ((_result$newVal = result.newVal) === null || _result$newVal === void 0 ? void 0 : _result$newVal.toString()) || "",
172
- name: name
173
- },
174
- currentTarget: inputEl.current
175
- };
176
- onChange(syntheticEvent, props, result.newVal, prevDatavalue);
177
- }
178
172
  setInternalValue(result.inputValue);
179
173
  setDatavalue(result.newVal);
180
174
  var validation = validateValue(result.newVal);
@@ -186,7 +180,7 @@ var WmCurrency = function WmCurrency(props) {
186
180
  var handleBlur = function handleBlur(e) {
187
181
  var _listener$Widgets;
188
182
  // Ensure proper formatting on blur
189
- var formattedValue = (0, _formatUtil.formatOnBlur)(datavalue, rawInputValue, trailingzero, decimalplaces);
183
+ var formattedValue = (0, _formatUtil.formatOnBlur)(datavalue, rawInputValue, trailingzero, effectiveDecimalPlaces);
190
184
  if (formattedValue) {
191
185
  setInternalValue(formattedValue);
192
186
  }
@@ -194,16 +188,7 @@ var WmCurrency = function WmCurrency(props) {
194
188
  debouncedUpdateValue(datavalue);
195
189
  }
196
190
  onBlur === null || onBlur === void 0 || onBlur(e, listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets[name]);
197
- if (updateon === "blur" && onChange) {
198
- var syntheticEvent = {
199
- target: {
200
- value: (datavalue === null || datavalue === void 0 ? void 0 : datavalue.toString()) || "",
201
- name: name
202
- },
203
- currentTarget: inputEl.current
204
- };
205
- onChange(syntheticEvent, props, datavalue, prevDatavalue);
206
- } else if (updateon === "blur") {
191
+ if (updateon === "blur") {
207
192
  debouncedUpdateValue(datavalue);
208
193
  }
209
194
  var validation = validateValue(datavalue);
@@ -212,7 +197,7 @@ var WmCurrency = function WmCurrency(props) {
212
197
  setShowError(!validation.isValid);
213
198
  };
214
199
  (0, _react.useEffect)(function () {
215
- if (initialDataValue !== datavalue) {
200
+ if (initialDataValue != datavalue) {
216
201
  setDatavalue(initialDataValue);
217
202
  var cleanValue = initialDataValue !== null ? initialDataValue.toString() : "";
218
203
  setInternalValue(cleanValue);
@@ -228,15 +213,16 @@ var WmCurrency = function WmCurrency(props) {
228
213
  onMouseLeave: handleMouseLeave
229
214
  } : {}), onFocus ? {
230
215
  onFocus: handleFocus
231
- } : {}), onBlur ? {
216
+ } : {}), {
232
217
  onBlur: handleBlur
233
- } : {}), onChange ? {
218
+ }), {
234
219
  onChange: handleInputChange
235
- } : {}), onKeyDown ? {
220
+ }), {
236
221
  onKeyDown: handleKeyDown
237
- } : {});
222
+ });
238
223
  return __jsx(_material.Box, {
239
224
  component: "div",
225
+ hidden: props.hidden,
240
226
  className: "".concat(_constants.currencyConstants.DEFAULT_CLS, " ").concat(className || "", " ").concat(isTouched ? "ng-touched" : "ng-untouched", " ").concat(isDirty ? "ng-invalid" : ""),
241
227
  inputMode: inputmode
242
228
  }, __jsx(_material.Box, {
@@ -22,6 +22,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
22
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
23
  var DEFAULT_CLS = "app-checkbox checkbox";
24
24
  var WmCheckbox = exports.WmCheckbox = /*#__PURE__*/(0, _react.memo)(function (props) {
25
+ var _props$hidden;
25
26
  var _props$caption = props.caption,
26
27
  caption = _props$caption === void 0 ? "&nbsp;" : _props$caption,
27
28
  _props$checkedvalue = props.checkedvalue,
@@ -78,15 +79,10 @@ var WmCheckbox = exports.WmCheckbox = /*#__PURE__*/(0, _react.memo)(function (pr
78
79
  if (datavalue === null || datavalue === undefined) {
79
80
  setActualValue(null);
80
81
  } else {
81
- var newValue = datavalue === checkedvalue ? checkedvalue : uncheckedvalue;
82
+ var isEqual = datavalue === checkedvalue || String(datavalue) === String(checkedvalue);
83
+ var newValue = isEqual ? checkedvalue : uncheckedvalue;
82
84
  setActualValue(newValue);
83
85
  prevRefValue.current = datavalue;
84
- var event = {
85
- target: {
86
- checked: newValue
87
- }
88
- };
89
- handleChange(event);
90
86
  }
91
87
  }, [datavalue]);
92
88
  var handleChange = (0, _react.useCallback)(function (event) {
@@ -98,23 +94,21 @@ var WmCheckbox = exports.WmCheckbox = /*#__PURE__*/(0, _react.memo)(function (pr
98
94
  prevRefValue.current = newValue;
99
95
  if (listener !== null && listener !== void 0 && listener.onChange) {
100
96
  listener.onChange(props.fieldName || name, {
101
- datavalue: newValue // Pass the actual value, not boolean
97
+ datavalue: newValue,
98
+ // Pass the actual value, not boolean
99
+ displayValue: newValue
102
100
  });
103
101
  }
104
- if (listener !== null && listener !== void 0 && listener.Widgets[name]) {
105
- // Store the actual value, not just boolean
106
- listener.Widgets[name].displayValue = newValue;
107
- }
108
102
  if (onChange) {
109
103
  // Pass the actual value in the onChange callback
110
104
  onChange(event, listener === null || listener === void 0 ? void 0 : listener.Widgets[name], newValue, actualValue !== null && actualValue !== void 0 ? actualValue : uncheckedvalue);
111
105
  }
112
106
  }, [checkedvalue, uncheckedvalue, onChange, listener, name, actualValue]);
113
107
  var handleBlur = (0, _react.useCallback)(function (event) {
114
- onBlur === null || onBlur === void 0 || onBlur(event);
108
+ onBlur === null || onBlur === void 0 || onBlur(event, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
115
109
  }, [onBlur]);
116
110
  var handleFocus = (0, _react.useCallback)(function (event) {
117
- onFocus === null || onFocus === void 0 || onFocus(event);
111
+ onFocus === null || onFocus === void 0 || onFocus(event, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
118
112
  }, [onFocus]);
119
113
  var handleKeyDown = (0, _react.useCallback)(function (event) {
120
114
  if (disabled || readonly) {
@@ -132,14 +126,12 @@ var WmCheckbox = exports.WmCheckbox = /*#__PURE__*/(0, _react.memo)(function (pr
132
126
  return;
133
127
  }
134
128
  var newValue = event.target.checked ? checkedvalue : uncheckedvalue;
135
- if (listener !== null && listener !== void 0 && listener.Widgets[name]) {
136
- // Store the actual value, not just boolean
137
- listener.Widgets[name].displayValue = newValue;
138
- }
139
- if (listener !== null && listener !== void 0 && listener.onClick) {
140
- listener.onClick(name, _objectSpread(_objectSpread({}, props), {}, {
141
- datavalue: newValue // Pass the actual value
142
- }));
129
+ if (listener !== null && listener !== void 0 && listener.onChange) {
130
+ listener.onChange(name, {
131
+ datavalue: newValue,
132
+ // Pass the actual value
133
+ displayValue: newValue
134
+ });
143
135
  }
144
136
  if (onClick) {
145
137
  // Pass the actual value in the onClick callback
@@ -167,15 +159,18 @@ var WmCheckbox = exports.WmCheckbox = /*#__PURE__*/(0, _react.memo)(function (pr
167
159
  onFocus: handleFocus
168
160
  } : {});
169
161
  return __jsx("div", (0, _extends2["default"])({
170
- className: checkboxClasses,
171
- style: props.styles
162
+ hidden: (_props$hidden = props.hidden) !== null && _props$hidden !== void 0 ? _props$hidden : false,
163
+ className: checkboxClasses
172
164
  }, name ? {
173
165
  name: name
174
166
  } : {}, caption ? {
175
167
  caption: caption
176
168
  } : {}, type === "toggle" ? {
177
169
  type: "toggle"
178
- } : {}), __jsx(_Box["default"], {
170
+ } : {}, {
171
+ disabled: disabled,
172
+ style: props.styles
173
+ }), __jsx(_Box["default"], {
179
174
  component: "label",
180
175
  className: "wm-checkbox-label ".concat(!isChecked ? "unchecked" : "", " ").concat(disabled || readonly ? "disabled" : "", " ").concat(required && caption ? "required" : ""),
181
176
  onKeyDown: handleKeyDown
@@ -217,13 +212,13 @@ var WmCheckbox = exports.WmCheckbox = /*#__PURE__*/(0, _react.memo)(function (pr
217
212
  "aria-hidden": "true",
218
213
  tabIndex: -1,
219
214
  disabled: disabled,
220
- value: actualValue === null || actualValue === undefined ? "" : String(actualValue) // Handle null/undefined values
215
+ value: actualValue === null || actualValue === undefined ? "false" : String(actualValue) // Handle null/undefined values
221
216
  }));
222
217
  }, function (prev, next) {
223
- var keys = ["datavalue", "checkedvalue", "uncheckedvalue", "disabled", "readonly", "required", "shortcutkey", "show", "tabindex", "type", "className"];
218
+ var keys = ["datavalue", "checkedvalue", "uncheckedvalue", "disabled", "readonly", "required", "shortcutkey", "show", "tabindex", "type", "className", "hidden"];
224
219
  return keys.every(function (key) {
225
220
  return prev[key] === next[key];
226
221
  });
227
222
  });
228
223
  WmCheckbox.displayName = "WmCheckbox";
229
- var _default = exports["default"] = (0, _withFormController["default"])((0, _withBaseWrapper.withBaseWrapper)(WmCheckbox));
224
+ var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)((0, _withFormController["default"])(WmCheckbox));
@@ -21,6 +21,7 @@ var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWra
21
21
  var _constants = require("@wavemaker/react-runtime/components/constants");
22
22
  var _transformedDatasetUtils = require("@wavemaker/react-runtime/utils/transformedDataset-utils");
23
23
  var _input = require("@base-ui-components/react/input");
24
+ var _utils = require("./utils");
24
25
  var _withFormController = _interopRequireDefault(require("@wavemaker/react-runtime/components/data/form/form-controller/withFormController"));
25
26
  var _listHelpers = require("@wavemaker/react-runtime/components/data/list/utils/list-helpers");
26
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
@@ -58,7 +59,7 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
58
59
  datafield = _props$datafield === void 0 ? "" : _props$datafield,
59
60
  _props$displayfield = props.displayfield,
60
61
  displayfield = _props$displayfield === void 0 ? "" : _props$displayfield,
61
- displayExpression = props.displayExpression,
62
+ getDisplayExpression = props.getDisplayExpression,
62
63
  _props$dataset = props.dataset,
63
64
  dataset = _props$dataset === void 0 ? "Option 1, Option 2, Option 3" : _props$dataset,
64
65
  _props$datavalue = props.datavalue,
@@ -134,9 +135,12 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
134
135
  }, [itemsperrow]);
135
136
  var transformedDataset = (0, _react.useMemo)(function () {
136
137
  if (!dataset) return [];
137
- var data = (0, _transformedDatasetUtils.transformDataset)(dataset, datafield, displayfield, undefined, displayExpression, orderby, groupby, dataPath, "");
138
+ if (usekeys) {
139
+ return (0, _transformedDatasetUtils.transformDataWithKeys)(dataset);
140
+ }
141
+ var data = (0, _transformedDatasetUtils.transformDataset)(dataset, datafield, displayfield, undefined, getDisplayExpression, orderby, groupby, dataPath, "", match);
138
142
  return data;
139
- }, [dataset, datafield, displayfield, displayExpression, orderby, groupby]);
143
+ }, [dataset, datafield, displayfield, getDisplayExpression, orderby, groupby, match, usekeys, dataPath]);
140
144
  (0, _react.useEffect)(function () {
141
145
  setIsLoading(true);
142
146
  setError(null);
@@ -215,6 +219,8 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
215
219
  if (matchedKeys.length > 0 && !(0, _lodashEs.isEqual)(matchedKeys, localSelectedKeys)) {
216
220
  setLocalSelectedKeys(matchedKeys);
217
221
  }
222
+ } else if (normalizedDatavalue.length == 0 && (!datavalue || datavalue.length == 0)) {
223
+ setLocalSelectedKeys([]);
218
224
  }
219
225
  }
220
226
  }, [datavalue]); // Removed localSelectedKeys from deps
@@ -234,10 +240,16 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
234
240
  return _objectSpread(_objectSpread({}, prevState), {}, (0, _defineProperty2["default"])({}, key, !prevState[key]));
235
241
  });
236
242
  }, []);
237
- var handleCheckboxChange = (0, _react.useCallback)(function (event, key) {
243
+ var handleCheckboxChange = (0, _react.useCallback)(function (event, key, dataObject) {
238
244
  if (disabled || readonly) return;
239
245
  var currentSelectedKeys = Array.isArray(localSelectedKeys) ? localSelectedKeys : [];
240
246
  var isCurrentlySelected = currentSelectedKeys.some(function (k) {
247
+ if (datafield == _constants.ALL_FIELDS) {
248
+ if (usekeys) {
249
+ return (0, _lodashEs.toString)(k) === (0, _lodashEs.toString)(key);
250
+ }
251
+ return (0, _lodashEs.isEqual)(k, dataObject);
252
+ }
241
253
  if ((0, _typeof2["default"])(k) === "object" && datafield) {
242
254
  return k[datafield] === key;
243
255
  }
@@ -247,6 +259,9 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
247
259
  var newKeys;
248
260
  if (isChecked) {
249
261
  var selectedItem = (0, _lodashEs.find)(localDatasetItems, function (item) {
262
+ if (datafield == _constants.ALL_FIELDS) {
263
+ return (0, _lodashEs.isEqual)(item.value, dataObject);
264
+ }
250
265
  return (0, _lodashEs.toString)(item.key) === (0, _lodashEs.toString)(key);
251
266
  });
252
267
  if (usekeys) {
@@ -258,10 +273,16 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
258
273
  } else {
259
274
  value = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.value;
260
275
  }
261
- newKeys = [].concat((0, _toConsumableArray2["default"])(currentSelectedKeys), [value || key]);
276
+ newKeys = [].concat((0, _toConsumableArray2["default"])(currentSelectedKeys), [(selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.value) || key]);
262
277
  }
263
278
  } else {
264
279
  newKeys = currentSelectedKeys.filter(function (k) {
280
+ if (datafield == _constants.ALL_FIELDS) {
281
+ if (usekeys) {
282
+ return (0, _lodashEs.toString)(k) !== (0, _lodashEs.toString)(key);
283
+ }
284
+ return !(0, _lodashEs.isEqual)(k, dataObject);
285
+ }
265
286
  if ((0, _typeof2["default"])(k) === "object" && datafield) {
266
287
  return k[datafield] !== key;
267
288
  }
@@ -272,9 +293,6 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
272
293
  if (onchange) {
273
294
  onchange(newKeys);
274
295
  }
275
- if (listener !== null && listener !== void 0 && listener.Widgets[name]) {
276
- listener.Widgets[name].displayValue = newKeys;
277
- }
278
296
  if (onChange && name) {
279
297
  onChange(event, listener.Widgets[name], newKeys, currentSelectedKeys);
280
298
  }
@@ -282,20 +300,22 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
282
300
  onClick(event, listener.Widgets[name]);
283
301
  }
284
302
  if (listener !== null && listener !== void 0 && listener.onChange) {
285
- listener.onChange(name, {
286
- datavalue: newKeys
303
+ var displayValues = (0, _utils.getCheckboxsetDisplayValues)(localDatasetItems, newKeys, datafield, usekeys);
304
+ listener.onChange(props.fieldName || name, {
305
+ datavalue: newKeys,
306
+ displayValue: displayValues
287
307
  });
288
308
  }
289
309
  }, [localDatasetItems, localSelectedKeys, disabled, readonly, usekeys, datafield, onchange, props, onChange, name]);
290
310
  var isItemChecked = (0, _react.useCallback)(function (item) {
291
311
  var currentSelectedKeys = Array.isArray(localSelectedKeys) ? localSelectedKeys : [];
292
312
  return currentSelectedKeys.some(function (k) {
293
- if ((0, _typeof2["default"])(k) === "object" && datafield && item.key) {
294
- return k[datafield] === item.key;
313
+ if (datafield == _constants.ALL_FIELDS) {
314
+ return usekeys ? (0, _lodashEs.toString)(k) === (0, _lodashEs.toString)(item.key) : (0, _lodashEs.isEqual)(k, item.value);
295
315
  }
296
316
  return (0, _lodashEs.toString)(k) === (0, _lodashEs.toString)(item.key);
297
317
  });
298
- }, [localSelectedKeys, datafield]);
318
+ }, [localSelectedKeys, datafield, usekeys]);
299
319
  var renderCheckboxItem = (0, _react.useCallback)(function (item, index) {
300
320
  var isChecked = isItemChecked(item);
301
321
  return __jsx(_ListItem["default"], {
@@ -307,7 +327,7 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
307
327
  onClick: function onClick(e) {
308
328
  var tag = e.target.tagName;
309
329
  if (tag !== "INPUT" && tag !== "LABEL" && tag !== "SPAN") {
310
- handleCheckboxChange(e, (0, _lodashEs.toString)(item.key));
330
+ handleCheckboxChange(e, (0, _lodashEs.toString)(item.key), item === null || item === void 0 ? void 0 : item.dataObject);
311
331
  }
312
332
  },
313
333
  component: "li",
@@ -330,7 +350,7 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
330
350
  role: "checkbox",
331
351
  "aria-checked": isChecked,
332
352
  onChange: function onChange(e) {
333
- return handleCheckboxChange(e, (0, _lodashEs.toString)(item.key));
353
+ return handleCheckboxChange(e, (0, _lodashEs.toString)(item.key), item === null || item === void 0 ? void 0 : item.dataObject);
334
354
  },
335
355
  style: disabled || readonly ? {
336
356
  background: "transparent"
@@ -338,8 +358,7 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
338
358
  }), __jsx(_Typography["default"], {
339
359
  component: "span",
340
360
  className: "caption",
341
- id: "checkbox-list-label-".concat(item.key + "_" + index),
342
- disabled: disabled || readonly
361
+ id: "checkbox-list-label-".concat(item.key + "_" + index)
343
362
  }, item.label)));
344
363
  }, [isItemChecked, handleCheckboxChange, disabled, readonly, tabIndex, name, itemclass, itemsPerRowClass]);
345
364
  var renderGroupHeader = (0, _react.useCallback)(function (group) {
@@ -399,6 +418,7 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
399
418
  }
400
419
  };
401
420
  return __jsx(_List["default"], {
421
+ hidden: props.hidden,
402
422
  style: styles,
403
423
  className: (0, _clsx["default"])(DEFAULT_CLASS, className, itemclass, listclass),
404
424
  onMouseEnter: function onMouseEnter(event) {
@@ -444,7 +464,7 @@ var WmCheckboxset = exports.WmCheckboxset = /*#__PURE__*/(0, _react.memo)(functi
444
464
  return renderCheckboxItem(item, index);
445
465
  }));
446
466
  }, function (prev, current) {
447
- var keys = ["datavalue", "dataset", "show", "disabled", "readonly", "orderby", "groupby", "collapsible", "datasetItems", "collapsed", "onClick", "onChange", "onMouseEnter", "onMouseLeave", "displayExpression", "datafield", "displayfield", "dataset", "datavalue", "usekeys", "groupby"];
467
+ var keys = ["datavalue", "dataset", "show", "disabled", "readonly", "orderby", "groupby", "collapsible", "datasetItems", "collapsed", "onClick", "onChange", "onMouseEnter", "onMouseLeave", "getDisplayExpression", "datafield", "displayfield", "dataset", "datavalue", "usekeys", "groupby", "hidden"];
448
468
  return keys.every(function (key) {
449
469
  if (key === "datasetItems") {
450
470
  return (0, _lodashEs.isEqual)(prev[key], current[key]);