@wavemaker/react-runtime 11.14.3-rc.6401 → 11.15.0-2.247

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 (245) 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 +73 -18
  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 +31 -11
  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 +4 -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/repeat-template/index.js +33 -0
  44. package/components/container/tabs/index.js +83 -14
  45. package/components/container/tabs/tab-pane/index.js +33 -10
  46. package/components/container/tabs/utils.js +51 -0
  47. package/components/container/wizard/components/StepComponents.js +2 -1
  48. package/components/container/wizard/components/WizardStep.js +2 -1
  49. package/components/container/wizard/index.js +64 -35
  50. package/components/container/wizard/utils.js +46 -1
  51. package/components/container/wizard/wizard-step/index.js +11 -1
  52. package/components/data/card/card-content/index.js +1 -1
  53. package/components/data/form/base-form/index.js +985 -183
  54. package/components/data/form/base-form/props.js +3 -1
  55. package/components/data/form/base-form/utils.js +159 -1
  56. package/components/data/form/dynamic-fields/constant.js +53 -0
  57. package/components/data/form/dynamic-fields/index.js +10 -45
  58. package/components/data/form/dynamic-fields/utils.js +37 -2
  59. package/components/data/form/form-action/index.js +5 -4
  60. package/components/data/form/form-context.js +5 -1
  61. package/components/data/form/form-controller/utils.js +84 -0
  62. package/components/data/form/form-controller/validation-contrustor.js +402 -189
  63. package/components/data/form/form-controller/withFormController.js +191 -52
  64. package/components/data/form/form-field/base-field.js +67 -45
  65. package/components/data/form/form-field/index.js +28 -5
  66. package/components/data/form/form-header/index.js +3 -4
  67. package/components/data/form/index.js +20 -1
  68. package/components/data/list/components/ListDND.js +2 -1
  69. package/components/data/list/components/ListItem.js +6 -2
  70. package/components/data/list/components/ListItemWithTemplate.js +46 -2
  71. package/components/data/list/components/ListItems.js +17 -26
  72. package/components/data/list/components/ListPagination.js +3 -3
  73. package/components/data/list/components/StandardListItems.js +3 -4
  74. package/components/data/list/hooks/useListEffects.js +55 -14
  75. package/components/data/list/hooks/useListEventHandlers.js +3 -1
  76. package/components/data/list/hooks/useListState.js +3 -1
  77. package/components/data/list/hooks/usePaginatedGroupedData.js +18 -5
  78. package/components/data/list/index.js +74 -55
  79. package/components/data/list/utils/list-helpers.js +73 -35
  80. package/components/data/list/utils/list-widget-methods.js +138 -95
  81. package/components/data/live-filter/index.js +26 -15
  82. package/components/data/live-form/index.js +51 -18
  83. package/components/data/live-form/props.js +1 -1
  84. package/components/data/pagination/components/BasicPagination.js +71 -16
  85. package/components/data/pagination/components/PageSizeSelector.js +8 -3
  86. package/components/data/pagination/components/TotalRecords.js +1 -5
  87. package/components/data/pagination/hooks/usePagination.js +349 -66
  88. package/components/data/pagination/index.js +137 -19
  89. package/components/data/table/components/AddNewRow.js +5 -1
  90. package/components/data/table/components/EditableCell.js +2 -2
  91. package/components/data/table/components/RowCells.js +64 -0
  92. package/components/data/table/components/RowExpansionButton.js +2 -2
  93. package/components/data/table/components/SummaryCell.js +111 -0
  94. package/components/data/table/components/SummaryRow.js +54 -0
  95. package/components/data/table/components/SummaryRowFooter.js +46 -0
  96. package/components/data/table/components/TableBody.js +61 -59
  97. package/components/data/table/components/TableDataRow.js +109 -0
  98. package/components/data/table/components/TableFilters.js +225 -121
  99. package/components/data/table/components/TableHeader.js +291 -23
  100. package/components/data/table/components/TablePanelHeading.js +139 -8
  101. package/components/data/table/components/index.js +22 -1
  102. package/components/data/table/hooks/use-edited-rows.js +141 -0
  103. package/components/data/table/hooks/useCellState.js +5 -12
  104. package/components/data/table/hooks/useFormWidget.js +58 -52
  105. package/components/data/table/hooks/usePaginationState.js +45 -24
  106. package/components/data/table/hooks/usePanelStructure.js +4 -4
  107. package/components/data/table/hooks/useRowHandlers.js +39 -5
  108. package/components/data/table/hooks/useRowSelection.js +244 -50
  109. package/components/data/table/hooks/useServerSideSorting.js +81 -37
  110. package/components/data/table/hooks/useTableColumns.js +211 -118
  111. package/components/data/table/hooks/useTableData.js +54 -9
  112. package/components/data/table/hooks/useTableEdit.js +272 -97
  113. package/components/data/table/hooks/useTableEffects.js +31 -13
  114. package/components/data/table/hooks/useTableFilter.js +1 -1
  115. package/components/data/table/hooks/useTableInitialization.js +23 -22
  116. package/components/data/table/hooks/useTableState.js +11 -5
  117. package/components/data/table/hooks/useTableStateManager.js +140 -65
  118. package/components/data/table/index.js +637 -274
  119. package/components/data/table/live-table/index.js +54 -22
  120. package/components/data/table/table-action/index.js +1 -1
  121. package/components/data/table/table-group/index.js +26 -0
  122. package/components/data/table/table-row-action/index.js +32 -18
  123. package/components/data/table/utils/buildSelectionColumns.js +12 -21
  124. package/components/data/table/utils/columnBuilder.js +29 -14
  125. package/components/data/table/utils/columnProxy.js +68 -1
  126. package/components/data/table/utils/constants.js +6 -2
  127. package/components/data/table/utils/crud-handlers.js +68 -63
  128. package/components/data/table/utils/groupHeaderUtils.js +102 -0
  129. package/components/data/table/utils/index.js +210 -21
  130. package/components/data/table/utils/renderDisplayCell.js +6 -6
  131. package/components/data/table/utils/selectionUtils.js +25 -26
  132. package/components/data/table/utils/validation.js +1 -0
  133. package/components/data/utils/filter-field-util.js +3 -3
  134. package/components/dialogs/alert-dialog/index.js +1 -1
  135. package/components/dialogs/confirm-dialog/index.js +1 -1
  136. package/components/dialogs/dialog/index.js +4 -1
  137. package/components/dialogs/dialog-content/index.js +3 -1
  138. package/components/dialogs/dialog-header/index.js +2 -2
  139. package/components/dialogs/iframe-dialog/index.js +11 -5
  140. package/components/dialogs/index.js +1 -1
  141. package/components/dialogs/login-dialog/index.js +1 -1
  142. package/components/dialogs/page-dialog/index.js +1 -1
  143. package/components/form/button/index.js +33 -7
  144. package/components/input/calendar/index.js +18 -6
  145. package/components/input/chips/index.js +99 -28
  146. package/components/input/chips/utils.js +34 -4
  147. package/components/input/color-picker/index.js +74 -25
  148. package/components/input/composite/index.js +3 -3
  149. package/components/input/currency/index.js +35 -49
  150. package/components/input/default/checkbox/index.js +23 -28
  151. package/components/input/default/checkboxset/index.js +38 -18
  152. package/components/input/default/checkboxset/utils.js +30 -0
  153. package/components/input/default/radioset/index.js +36 -39
  154. package/components/input/default/switch/index.js +30 -13
  155. package/components/input/epoch/date/index.js +130 -69
  156. package/components/input/epoch/date/utils.js +94 -1
  157. package/components/input/epoch/datetime/index.js +72 -22
  158. package/components/input/epoch/datetime/utils.js +49 -10
  159. package/components/input/epoch/time/index.js +68 -19
  160. package/components/input/epoch/time/utils.js +62 -14
  161. package/components/input/fileupload/Utils.js +12 -7
  162. package/components/input/fileupload/components/MultiUpload.js +2 -6
  163. package/components/input/fileupload/components/SingleUpload.js +3 -7
  164. package/components/input/fileupload/index.js +6 -10
  165. package/components/input/fileupload/useFileUpload.js +16 -5
  166. package/components/input/number/index.js +158 -43
  167. package/components/input/rating/index.js +90 -7
  168. package/components/input/select/index.js +209 -72
  169. package/components/input/slider/index.js +84 -26
  170. package/components/input/text/index.js +38 -18
  171. package/components/input/text/util.js +283 -130
  172. package/components/input/textarea/index.js +13 -10
  173. package/components/input/upload/index.js +124 -0
  174. package/components/input/upload/props.js +5 -0
  175. package/components/input/util/index.js +11 -0
  176. package/components/navbar/index.js +51 -3
  177. package/components/navbar/nav/index.js +46 -16
  178. package/components/navbar/nav-item/index.js +11 -5
  179. package/components/navigation/menu/components/ListItems.js +3 -0
  180. package/components/navigation/menu/constants.js +2 -1
  181. package/components/navigation/menu/hooks/useHoverState.hook.js +48 -0
  182. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +37 -0
  183. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +15 -0
  184. package/components/navigation/menu/index.js +326 -188
  185. package/components/navigation/menu/utils/action-task.js +14 -0
  186. package/components/navigation/menu/utils/role-filter.js +76 -0
  187. package/components/navigation/popover/index.js +105 -32
  188. package/components/page/partial-container/index.js +34 -5
  189. package/components/prefab/index.js +2 -4
  190. package/context/PrefabContext.js +10 -6
  191. package/context/WidgetProvider.js +30 -31
  192. package/core/app.service.js +1 -1
  193. package/core/constants/events.js +57 -1
  194. package/core/dialog.service.js +1 -2
  195. package/core/event-notifier.js +1 -2
  196. package/core/formatter/array-formatters.js +33 -0
  197. package/core/formatter/date-formatters.js +2 -4
  198. package/core/formatter/index.js +2 -1
  199. package/core/formatter/number-formatters.js +5 -10
  200. package/core/formatter/security-formatters.js +2 -4
  201. package/core/formatter/string-formatters.js +3 -6
  202. package/core/proxy-service.js +85 -13
  203. package/core/script-registry.js +108 -48
  204. package/core/util/common.js +4 -4
  205. package/core/util/compare.js +30 -0
  206. package/core/util/dom.js +8 -8
  207. package/core/util/index.js +16 -6
  208. package/core/util/safe-is-equal.js +156 -0
  209. package/core/util/security.js +1 -2
  210. package/core/util/utils.js +16 -7
  211. package/higherOrder/BaseApp.js +108 -65
  212. package/higherOrder/BaseDateTime.js +31 -13
  213. package/higherOrder/BasePage.js +268 -144
  214. package/higherOrder/BasePartial.js +1 -1
  215. package/higherOrder/BasePrefab.js +33 -15
  216. package/higherOrder/DataNav.js +99 -16
  217. package/higherOrder/helper.js +41 -3
  218. package/higherOrder/withBaseWrapper.js +41 -28
  219. package/hooks/useAuth.js +11 -5
  220. package/hooks/useHttp.js +280 -94
  221. package/mui-config/theme-provider.js +1 -1
  222. package/mui-config/theme.js +1 -1
  223. package/package-lock.json +423 -331
  224. package/package.json +8 -8
  225. package/store/bindActions/i18nActions.js +18 -0
  226. package/store/index.js +3 -1
  227. package/store/slices/appConfigSlice.js +2 -2
  228. package/store/slices/authSlice.js +31 -28
  229. package/store/slices/i18nSlice.js +2 -2
  230. package/store/slices/navigationSlice.js +35 -0
  231. package/store/viewport.service.js +255 -0
  232. package/utils/attr.js +35 -0
  233. package/utils/dataset-util.js +1 -2
  234. package/utils/form-state.util.js +43 -12
  235. package/utils/form-utils.js +47 -2
  236. package/utils/format-util.js +28 -13
  237. package/utils/page-params-util.js +33 -1
  238. package/utils/state-persistance.js +72 -13
  239. package/utils/transformedDataset-utils.js +35 -24
  240. package/variables/base-variable.js +12 -14
  241. package/variables/crud-variable.js +225 -0
  242. package/variables/live-variable.js +56 -20
  243. package/variables/metadata.service.js +123 -0
  244. package/variables/model-variable.js +21 -15
  245. package/variables/service-variable.js +88 -83
@@ -16,32 +16,32 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
16
16
  var __jsx = _react["default"].createElement;
17
17
  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; }
18
18
  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; }
19
- var BarColumnChart = exports.BarColumnChart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
20
- var type = _ref.type,
21
- data = _ref.data,
22
- dataKeys = _ref.dataKeys,
23
- selectedRegions = _ref.selectedRegions,
24
- chartColors = _ref.chartColors,
25
- margin = _ref.margin,
26
- barSpacing = _ref.barSpacing,
27
- showValues = _ref.showValues,
28
- _ref$legendPosition = _ref.legendPosition,
29
- legendPosition = _ref$legendPosition === void 0 ? "top" : _ref$legendPosition,
30
- xAxisConfig = _ref.xAxisConfig,
31
- yAxisConfig = _ref.yAxisConfig,
32
- numberFormat = _ref.numberFormat,
33
- xDataKeyArr = _ref.xDataKeyArr,
34
- onChartClick = _ref.onChartClick,
35
- onLegendClick = _ref.onLegendClick,
36
- _ref$tooltips = _ref.tooltips,
37
- tooltips = _ref$tooltips === void 0 ? true : _ref$tooltips,
38
- _ref$showlegend = _ref.showlegend,
39
- showlegend = _ref$showlegend === void 0 ? true : _ref$showlegend,
40
- legendtype = _ref.legendtype,
41
- availableRegions = _ref.availableRegions,
42
- _ref$viewtype = _ref.viewtype,
43
- viewtype = _ref$viewtype === void 0 ? "Grouped" : _ref$viewtype,
44
- shouldShowLegend = _ref.shouldShowLegend;
19
+ var BarColumnChart = exports.BarColumnChart = /*#__PURE__*/(0, _react.memo)(function (props) {
20
+ var _props$offsetleft, _props$offsetright, _props$offsettop, _props$offsetbottom;
21
+ var type = props.type,
22
+ data = props.data,
23
+ dataKeys = props.dataKeys,
24
+ selectedRegions = props.selectedRegions,
25
+ chartColors = props.chartColors,
26
+ margin = props.margin,
27
+ barSpacing = props.barSpacing,
28
+ showValues = props.showValues,
29
+ _props$legendPosition = props.legendPosition,
30
+ legendPosition = _props$legendPosition === void 0 ? "top" : _props$legendPosition,
31
+ xAxisConfig = props.xAxisConfig,
32
+ yAxisConfig = props.yAxisConfig,
33
+ numberFormat = props.numberFormat,
34
+ xDataKeyArr = props.xDataKeyArr,
35
+ onChartClick = props.onChartClick,
36
+ onLegendClick = props.onLegendClick,
37
+ _props$tooltips = props.tooltips,
38
+ tooltips = _props$tooltips === void 0 ? true : _props$tooltips,
39
+ _props$showLegend = props.showLegend,
40
+ showLegend = _props$showLegend === void 0 ? true : _props$showLegend,
41
+ legendtype = props.legendtype,
42
+ availableRegions = props.availableRegions,
43
+ _props$viewtype = props.viewtype,
44
+ viewtype = _props$viewtype === void 0 ? "Grouped" : _props$viewtype;
45
45
  var isBarChart = type === "Bar"; // Bar = horizontal bars, Column = vertical bars
46
46
  var isStacked = viewtype === "Stacked";
47
47
  var formatValue = (0, _react.useCallback)(function (label) {
@@ -58,8 +58,11 @@ var BarColumnChart = exports.BarColumnChart = /*#__PURE__*/(0, _react.memo)(func
58
58
  margin: margin,
59
59
  layout: isBarChart ? "vertical" : "horizontal" // vertical layout = horizontal bars, horizontal layout = vertical bars
60
60
  ,
61
- barGap: isStacked ? 0 : (0, _utils.getBarSpacingValue)(barSpacing || "medium", "value"),
62
- barCategoryGap: isStacked ? 0 : undefined
61
+ barGap: isStacked ? 0 : barSpacing ? (0, _utils.getBarSpacingValue)(barSpacing !== null && barSpacing !== void 0 ? barSpacing : "0.5", "value") : undefined,
62
+ barCategoryGap: barSpacing ? (0, _utils.getBarSpacingValue)(barSpacing !== null && barSpacing !== void 0 ? barSpacing : "0.5", "value") : undefined,
63
+ style: {
64
+ transform: "translate(calc(".concat((_props$offsetleft = props.offsetleft) !== null && _props$offsetleft !== void 0 ? _props$offsetleft : 0, "px - ").concat((_props$offsetright = props.offsetright) !== null && _props$offsetright !== void 0 ? _props$offsetright : 0, "px), calc(").concat((_props$offsettop = props.offsettop) !== null && _props$offsettop !== void 0 ? _props$offsettop : 0, "px - ").concat((_props$offsetbottom = props.offsetbottom) !== null && _props$offsetbottom !== void 0 ? _props$offsetbottom : 0, "px))")
65
+ }
63
66
  }, __jsx(_recharts.CartesianGrid, {
64
67
  strokeDasharray: "3 3"
65
68
  }), __jsx(_recharts.XAxis, isBarChart ? _objectSpread({
@@ -71,10 +74,10 @@ var BarColumnChart = exports.BarColumnChart = /*#__PURE__*/(0, _react.memo)(func
71
74
  type: "category",
72
75
  interval: 0
73
76
  }, yAxisConfig) : yAxisConfig), tooltips && __jsx(_recharts.Tooltip, {
74
- content: function content(_ref2) {
75
- var active = _ref2.active,
76
- payload = _ref2.payload,
77
- label = _ref2.label;
77
+ content: function content(_ref) {
78
+ var active = _ref.active,
79
+ payload = _ref.payload,
80
+ label = _ref.label;
78
81
  return __jsx(_chartTooltip.ChartTooltip, {
79
82
  active: active,
80
83
  payload: payload,
@@ -90,7 +93,7 @@ var BarColumnChart = exports.BarColumnChart = /*#__PURE__*/(0, _react.memo)(func
90
93
  cursor: {
91
94
  fill: "rgba(0, 0, 0, 0.1)"
92
95
  }
93
- }), shouldShowLegend && __jsx(_recharts.Legend, {
96
+ }), showLegend && __jsx(_recharts.Legend, {
94
97
  content: function content(props) {
95
98
  var _props$payload;
96
99
  return __jsx(_chartLegend.ChartLegend, {
@@ -20,24 +20,25 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
20
20
  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
21
  // Define valid scatter shapes
22
22
  var VALID_SHAPES = ["circle", "diamond", "square", "triangle"];
23
- var BubbleChart = exports.BubbleChart = function BubbleChart(_ref) {
24
- var data = _ref.data,
25
- dataKeys = _ref.dataKeys,
26
- selectedRegions = _ref.selectedRegions,
27
- chartColors = _ref.chartColors,
28
- margin = _ref.margin,
29
- showLegend = _ref.showLegend,
30
- legendPosition = _ref.legendPosition,
31
- xAxisConfig = _ref.xAxisConfig,
32
- yAxisConfig = _ref.yAxisConfig,
33
- numberFormat = _ref.numberFormat,
34
- xDataKeyArr = _ref.xDataKeyArr,
35
- onLegendClick = _ref.onLegendClick,
36
- onChartClick = _ref.onChartClick,
37
- _ref$tooltips = _ref.tooltips,
38
- tooltips = _ref$tooltips === void 0 ? true : _ref$tooltips,
39
- _ref$shape = _ref.shape,
40
- shape = _ref$shape === void 0 ? "circle" : _ref$shape;
23
+ var BubbleChart = exports.BubbleChart = function BubbleChart(props) {
24
+ var _props$offsetleft, _props$offsetright, _props$offsettop, _props$offsetbottom;
25
+ var data = props.data,
26
+ dataKeys = props.dataKeys,
27
+ selectedRegions = props.selectedRegions,
28
+ chartColors = props.chartColors,
29
+ margin = props.margin,
30
+ showLegend = props.showLegend,
31
+ legendPosition = props.legendPosition,
32
+ xAxisConfig = props.xAxisConfig,
33
+ yAxisConfig = props.yAxisConfig,
34
+ numberFormat = props.numberFormat,
35
+ xDataKeyArr = props.xDataKeyArr,
36
+ onLegendClick = props.onLegendClick,
37
+ onChartClick = props.onChartClick,
38
+ _props$tooltips = props.tooltips,
39
+ tooltips = _props$tooltips === void 0 ? true : _props$tooltips,
40
+ _props$shape = props.shape,
41
+ shape = _props$shape === void 0 ? "circle" : _props$shape;
41
42
  var calculateDomain = function calculateDomain() {
42
43
  var allValues = data.flatMap(function (item) {
43
44
  return dataKeys.map(function (key) {
@@ -65,11 +66,17 @@ var BubbleChart = exports.BubbleChart = function BubbleChart(_ref) {
65
66
  }, [data.length, shape]);
66
67
 
67
68
  // Modified xAxis config to handle string values
69
+ // For bubble charts, x values are numeric indices (0, 1, 2...) with labels stored in xDataKeyArr
68
70
  var modifiedXAxisConfig = _objectSpread(_objectSpread({}, xAxisConfig), {}, {
71
+ // Explicitly set ticks to only appear at valid data indices
72
+ ticks: xDataKeyArr && xDataKeyArr.length > 0 ? xDataKeyArr.map(function (_, i) {
73
+ return i;
74
+ }) : undefined,
69
75
  tickFormatter: function tickFormatter(value, index) {
70
- // If we have stored string values, use them
71
- if (xDataKeyArr && xDataKeyArr[index] !== undefined) {
72
- var label = xDataKeyArr[index];
76
+ // Use the value (x coordinate = data index) to look up the label, not the tick index
77
+ var dataIndex = Math.round(value);
78
+ if (xDataKeyArr && Number.isInteger(dataIndex) && dataIndex >= 0 && dataIndex < xDataKeyArr.length && xDataKeyArr[dataIndex] !== undefined) {
79
+ var label = xDataKeyArr[dataIndex];
73
80
  // Truncate long labels
74
81
  return typeof label === "string" && label.length > 20 ? label.substring(0, 17) + "..." : label;
75
82
  }
@@ -93,9 +100,9 @@ var BubbleChart = exports.BubbleChart = function BubbleChart(_ref) {
93
100
  domain: domain,
94
101
  range: range
95
102
  }), tooltips && __jsx(_recharts.Tooltip, {
96
- content: function content(_ref2) {
97
- var active = _ref2.active,
98
- payload = _ref2.payload;
103
+ content: function content(_ref) {
104
+ var active = _ref.active,
105
+ payload = _ref.payload;
99
106
  if (!active || !payload || !payload.length) return null;
100
107
 
101
108
  // Get the x value and its corresponding label
@@ -147,7 +154,10 @@ var BubbleChart = exports.BubbleChart = function BubbleChart(_ref) {
147
154
  width: "100%",
148
155
  height: "100%"
149
156
  }, __jsx(_recharts.ScatterChart, {
150
- margin: margin
157
+ margin: margin,
158
+ style: {
159
+ transform: "translate(calc(".concat((_props$offsetleft = props.offsetleft) !== null && _props$offsetleft !== void 0 ? _props$offsetleft : 0, "px - ").concat((_props$offsetright = props.offsetright) !== null && _props$offsetright !== void 0 ? _props$offsetright : 0, "px), calc(").concat((_props$offsettop = props.offsettop) !== null && _props$offsettop !== void 0 ? _props$offsettop : 0, "px - ").concat((_props$offsetbottom = props.offsetbottom) !== null && _props$offsetbottom !== void 0 ? _props$offsetbottom : 0, "px))")
160
+ }
151
161
  }, commonChartElements, dataKeys.map(function (dataKey, index) {
152
162
  var _seriesData$;
153
163
  var color = (chartColors === null || chartColors === void 0 ? void 0 : chartColors[index % ((chartColors === null || chartColors === void 0 ? void 0 : chartColors.length) || 1)]) || "#8884d8";
@@ -5,7 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.mapLegendItems = void 0;
7
7
  var mapLegendItems = exports.mapLegendItems = function mapLegendItems(availableRegions, payload, chartColors) {
8
- if (!(availableRegions !== null && availableRegions !== void 0 && availableRegions.length)) {
8
+ var _payload$length, _availableRegions$len;
9
+ if (!(availableRegions !== null && availableRegions !== void 0 && availableRegions.length) || ((_payload$length = payload === null || payload === void 0 ? void 0 : payload.length) !== null && _payload$length !== void 0 ? _payload$length : 0) > ((_availableRegions$len = availableRegions === null || availableRegions === void 0 ? void 0 : availableRegions.length) !== null && _availableRegions$len !== void 0 ? _availableRegions$len : 0)) {
9
10
  return (payload || []).map(function (item) {
10
11
  var _item$dataKey;
11
12
  return {
@@ -18,41 +18,45 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
18
18
  var __jsx = _react["default"].createElement;
19
19
  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; }
20
20
  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
- var CumulativeLineChart = exports.CumulativeLineChart = function CumulativeLineChart(_ref) {
22
- var data = _ref.data,
23
- dataKeys = _ref.dataKeys,
24
- selectedRegions = _ref.selectedRegions,
25
- chartColors = _ref.chartColors,
26
- margin = _ref.margin,
27
- xAxisConfig = _ref.xAxisConfig,
28
- yAxisConfig = _ref.yAxisConfig,
29
- numberFormat = _ref.numberFormat,
30
- xDataKeyArr = _ref.xDataKeyArr,
31
- onLegendClick = _ref.onLegendClick,
32
- _ref$tooltips = _ref.tooltips,
33
- tooltips = _ref$tooltips === void 0 ? true : _ref$tooltips,
34
- interpolation = _ref.interpolation,
35
- strokeWidth = _ref.strokeWidth,
36
- pointSize = _ref.pointSize,
37
- onChartClick = _ref.onChartClick,
38
- showLegend = _ref.showLegend,
39
- legendPosition = _ref.legendPosition,
40
- legendtype = _ref.legendtype,
41
- availableRegions = _ref.availableRegions;
21
+ var CumulativeLineChart = exports.CumulativeLineChart = function CumulativeLineChart(props) {
22
+ var _props$offsetleft, _props$offsetright, _props$offsettop, _props$offsetbottom;
23
+ var data = props.data,
24
+ dataKeys = props.dataKeys,
25
+ selectedRegions = props.selectedRegions,
26
+ chartColors = props.chartColors,
27
+ margin = props.margin,
28
+ xAxisConfig = props.xAxisConfig,
29
+ yAxisConfig = props.yAxisConfig,
30
+ numberFormat = props.numberFormat,
31
+ xDataKeyArr = props.xDataKeyArr,
32
+ onLegendClick = props.onLegendClick,
33
+ _props$tooltips = props.tooltips,
34
+ tooltips = _props$tooltips === void 0 ? true : _props$tooltips,
35
+ interpolation = props.interpolation,
36
+ strokeWidth = props.strokeWidth,
37
+ pointSize = props.pointSize,
38
+ onChartClick = props.onChartClick,
39
+ showLegend = props.showLegend,
40
+ legendPosition = props.legendPosition,
41
+ legendtype = props.legendtype,
42
+ availableRegions = props.availableRegions;
42
43
  var cumulativeData = (0, _react.useMemo)(function () {
43
44
  return (0, _utils2.calculateCumulativeData)(data, dataKeys);
44
45
  }, [data, dataKeys]);
45
46
  var commonProps = {
46
47
  data: cumulativeData,
47
- margin: margin
48
+ margin: margin,
49
+ style: {
50
+ transform: "translate(calc(".concat((_props$offsetleft = props.offsetleft) !== null && _props$offsetleft !== void 0 ? _props$offsetleft : 0, "px - ").concat((_props$offsetright = props.offsetright) !== null && _props$offsetright !== void 0 ? _props$offsetright : 0, "px), calc(").concat((_props$offsettop = props.offsettop) !== null && _props$offsettop !== void 0 ? _props$offsettop : 0, "px - ").concat((_props$offsetbottom = props.offsetbottom) !== null && _props$offsetbottom !== void 0 ? _props$offsetbottom : 0, "px))")
51
+ }
48
52
  };
49
53
  var commonChartElements = __jsx(_react["default"].Fragment, null, __jsx(_recharts.CartesianGrid, {
50
54
  strokeDasharray: "3 3"
51
55
  }), __jsx(_recharts.XAxis, xAxisConfig), __jsx(_recharts.YAxis, yAxisConfig), tooltips && __jsx(_recharts.Tooltip, {
52
- content: function content(_ref2) {
53
- var active = _ref2.active,
54
- payload = _ref2.payload,
55
- label = _ref2.label;
56
+ content: function content(_ref) {
57
+ var active = _ref.active,
58
+ payload = _ref.payload,
59
+ label = _ref.label;
56
60
  return __jsx(_chartTooltip.ChartTooltip, {
57
61
  active: active,
58
62
  payload: payload,
@@ -17,41 +17,46 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
17
17
  var __jsx = _react["default"].createElement;
18
18
  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; }
19
19
  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; }
20
- var LineAreaChart = exports.LineAreaChart = function LineAreaChart(_ref) {
21
- var type = _ref.type,
22
- data = _ref.data,
23
- dataKeys = _ref.dataKeys,
24
- selectedRegions = _ref.selectedRegions,
25
- chartColors = _ref.chartColors,
26
- margin = _ref.margin,
27
- showLegend = _ref.showLegend,
28
- legendPosition = _ref.legendPosition,
29
- xAxisConfig = _ref.xAxisConfig,
30
- yAxisConfig = _ref.yAxisConfig,
31
- numberFormat = _ref.numberFormat,
32
- xDataKeyArr = _ref.xDataKeyArr,
33
- interpolation = _ref.interpolation,
34
- strokeWidth = _ref.strokeWidth,
35
- pointSize = _ref.pointSize,
36
- _ref$areaViewType = _ref.areaViewType,
37
- areaViewType = _ref$areaViewType === void 0 ? "none" : _ref$areaViewType,
38
- onChartClick = _ref.onChartClick,
39
- onLegendClick = _ref.onLegendClick,
40
- _ref$tooltips = _ref.tooltips,
41
- tooltips = _ref$tooltips === void 0 ? true : _ref$tooltips,
42
- legendtype = _ref.legendtype,
43
- availableRegions = _ref.availableRegions;
20
+ var LineAreaChart = exports.LineAreaChart = function LineAreaChart(props) {
21
+ var _props$offsetleft, _props$offsetright, _props$offsettop, _props$offsetbottom;
22
+ var type = props.type,
23
+ data = props.data,
24
+ dataKeys = props.dataKeys,
25
+ selectedRegions = props.selectedRegions,
26
+ chartColors = props.chartColors,
27
+ margin = props.margin,
28
+ showLegend = props.showLegend,
29
+ legendPosition = props.legendPosition,
30
+ xAxisConfig = props.xAxisConfig,
31
+ yAxisConfig = props.yAxisConfig,
32
+ numberFormat = props.numberFormat,
33
+ xDataKeyArr = props.xDataKeyArr,
34
+ interpolation = props.interpolation,
35
+ strokeWidth = props.strokeWidth,
36
+ pointSize = props.pointSize,
37
+ _props$areaViewType = props.areaViewType,
38
+ areaViewType = _props$areaViewType === void 0 ? "none" : _props$areaViewType,
39
+ onChartClick = props.onChartClick,
40
+ onLegendClick = props.onLegendClick,
41
+ _props$tooltips = props.tooltips,
42
+ tooltips = _props$tooltips === void 0 ? true : _props$tooltips,
43
+ legendtype = props.legendtype,
44
+ availableRegions = props.availableRegions,
45
+ onAreaSelect = props.onAreaSelect;
44
46
  var commonProps = {
45
47
  data: data,
46
- margin: margin
48
+ margin: margin,
49
+ style: {
50
+ transform: "translate(calc(".concat((_props$offsetleft = props.offsetleft) !== null && _props$offsetleft !== void 0 ? _props$offsetleft : 0, "px - ").concat((_props$offsetright = props.offsetright) !== null && _props$offsetright !== void 0 ? _props$offsetright : 0, "px), calc(").concat((_props$offsettop = props.offsettop) !== null && _props$offsettop !== void 0 ? _props$offsettop : 0, "px - ").concat((_props$offsetbottom = props.offsetbottom) !== null && _props$offsetbottom !== void 0 ? _props$offsetbottom : 0, "px))")
51
+ }
47
52
  };
48
53
  var commonChartElements = __jsx(_react["default"].Fragment, null, __jsx(_recharts.CartesianGrid, {
49
54
  strokeDasharray: "3 3"
50
55
  }), __jsx(_recharts.XAxis, xAxisConfig), __jsx(_recharts.YAxis, yAxisConfig), tooltips && __jsx(_recharts.Tooltip, {
51
- content: function content(_ref2) {
52
- var active = _ref2.active,
53
- payload = _ref2.payload,
54
- label = _ref2.label;
56
+ content: function content(_ref) {
57
+ var active = _ref.active,
58
+ payload = _ref.payload,
59
+ label = _ref.label;
55
60
  return __jsx(_chartTooltip.ChartTooltip, {
56
61
  active: active,
57
62
  payload: payload,
@@ -112,12 +117,19 @@ var LineAreaChart = exports.LineAreaChart = function LineAreaChart(_ref) {
112
117
  fill: chartColors === null || chartColors === void 0 ? void 0 : chartColors[index % (chartColors === null || chartColors === void 0 ? void 0 : chartColors.length)],
113
118
  onClick: onChartClick
114
119
  },
115
- onClick: onChartClick,
120
+ activeDot: {
121
+ r: pointSize === 0 ? 2 : pointSize,
122
+ // in this way achieved similar effect as angular preview
123
+ strokeWidth: 1,
124
+ fill: chartColors === null || chartColors === void 0 ? void 0 : chartColors[index % (chartColors === null || chartColors === void 0 ? void 0 : chartColors.length)],
125
+ onClick: onChartClick
126
+ },
116
127
  isAnimationActive: true,
117
128
  hide: !selectedRegions.includes(dataKey)
118
129
  });
119
130
  })) : __jsx(_recharts.AreaChart, (0, _extends2["default"])({}, commonProps, {
120
- stackOffset: areaViewType
131
+ stackOffset: areaViewType,
132
+ className: "area-chart-clickable-dots"
121
133
  }), commonChartElements, dataKeys.map(function (dataKey, index) {
122
134
  return __jsx(_recharts.Area, {
123
135
  key: dataKey,
@@ -131,7 +143,13 @@ var LineAreaChart = exports.LineAreaChart = function LineAreaChart(_ref) {
131
143
  r: pointSize,
132
144
  strokeWidth: 1,
133
145
  fill: chartColors === null || chartColors === void 0 ? void 0 : chartColors[index % (chartColors === null || chartColors === void 0 ? void 0 : chartColors.length)],
134
- onClick: onChartClick
146
+ onClick: onAreaSelect
147
+ },
148
+ activeDot: {
149
+ r: pointSize,
150
+ strokeWidth: 1,
151
+ fill: chartColors === null || chartColors === void 0 ? void 0 : chartColors[index % (chartColors === null || chartColors === void 0 ? void 0 : chartColors.length)],
152
+ onClick: onAreaSelect
135
153
  },
136
154
  isAnimationActive: true,
137
155
  hide: !selectedRegions.includes(dataKey)
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.PieDonutChart = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var _utils = require("../../utils");
11
12
  var _recharts = require("recharts");
@@ -71,14 +72,17 @@ var PieDonutChart = exports.PieDonutChart = function PieDonutChart(_ref2) {
71
72
  legendtype = _ref2.legendtype,
72
73
  availableRegions = _ref2.availableRegions,
73
74
  donutratio = _ref2.donutratio,
74
- ynumberformat = _ref2.ynumberformat,
75
75
  centerlabel = _ref2.centerlabel,
76
76
  shouldShowLegend = _ref2.shouldShowLegend,
77
77
  onChartClick = _ref2.onChartClick,
78
78
  onLegendClick = _ref2.onLegendClick,
79
79
  showLegend = _ref2.showLegend,
80
80
  xDataKeyArr = _ref2.xDataKeyArr,
81
- numberFormat = _ref2.numberFormat;
81
+ numberFormat = _ref2.numberFormat,
82
+ offsetleft = _ref2.offsetleft,
83
+ offsettop = _ref2.offsettop,
84
+ offsetright = _ref2.offsetright,
85
+ offsetbottom = _ref2.offsetbottom;
82
86
  var total = data.reduce(function (sum, item) {
83
87
  return sum + item.value;
84
88
  }, 0);
@@ -101,13 +105,18 @@ var PieDonutChart = exports.PieDonutChart = function PieDonutChart(_ref2) {
101
105
  return __jsx("div", {
102
106
  style: {
103
107
  position: "relative",
108
+ minWidth: "300px",
104
109
  width: "100%",
105
110
  height: "100%"
106
111
  }
107
112
  }, __jsx(_recharts.ResponsiveContainer, {
108
113
  width: "100%",
109
114
  height: "100%"
110
- }, __jsx(_recharts.PieChart, commonProps, __jsx(_recharts.Pie, {
115
+ }, __jsx(_recharts.PieChart, (0, _extends2["default"])({}, commonProps, {
116
+ style: {
117
+ transform: "translate(calc(".concat(offsetleft !== null && offsetleft !== void 0 ? offsetleft : 0, "px - ").concat(offsetright !== null && offsetright !== void 0 ? offsetright : 0, "px), calc(").concat(offsettop !== null && offsettop !== void 0 ? offsettop : 0, "px - ").concat(offsetbottom !== null && offsetbottom !== void 0 ? offsetbottom : 0, "px))")
118
+ }
119
+ }), __jsx(_recharts.Pie, {
111
120
  data: filteredData,
112
121
  dataKey: "value",
113
122
  nameKey: "name",
@@ -124,7 +133,7 @@ var PieDonutChart = exports.PieDonutChart = function PieDonutChart(_ref2) {
124
133
  isAnimationActive: true,
125
134
  labelLine: false,
126
135
  label: showlabels !== "hide" ? function (props) {
127
- return renderCustomizedLabel(props, labeltype, ynumberformat !== null && ynumberformat !== void 0 ? ynumberformat : "", total, showlabels);
136
+ return renderCustomizedLabel(props, labeltype, numberFormat !== null && numberFormat !== void 0 ? numberFormat : "", total, showlabels);
128
137
  } : false
129
138
  }, filteredData.map(function (entry, index) {
130
139
  return __jsx(_recharts.Cell, {
@@ -20,7 +20,9 @@ function useXAxisConfig(_ref) {
20
20
  getDefaultXAxisLabel = _ref.getDefaultXAxisLabel,
21
21
  xnumberformat = _ref.xnumberformat,
22
22
  showxaxis = _ref.showxaxis,
23
- xaxislabeldistance = _ref.xaxislabeldistance;
23
+ xaxislabeldistance = _ref.xaxislabeldistance,
24
+ _ref$showxdistance = _ref.showxdistance,
25
+ showxdistance = _ref$showxdistance === void 0 ? false : _ref$showxdistance;
24
26
  var xAxisConfig = (0, _react.useMemo)(function () {
25
27
  var _chartContainerRef$cu;
26
28
  var tickFontSize = 12;
@@ -35,14 +37,13 @@ function useXAxisConfig(_ref) {
35
37
  return d === null || d === void 0 ? void 0 : d.x;
36
38
  });
37
39
  var displayLabels = rawLabels.length > 0 ? rawLabels.map(function (val, idx) {
38
- var _v;
39
40
  var v = val;
40
41
  if (xnumberformat && typeof v === "number") {
41
42
  v = (0, _utils.formatNumber)(v, xnumberformat);
42
43
  } else if (xDataKeyArr.length > 0 && xDataKeyArr[idx] !== undefined) {
43
44
  v = xDataKeyArr[idx];
44
45
  }
45
- return String((_v = v) !== null && _v !== void 0 ? _v : "");
46
+ return String(v !== null && v !== void 0 ? v : "");
46
47
  }) : (xDataKeyArr || []).map(function (v) {
47
48
  return String(v !== null && v !== void 0 ? v : "");
48
49
  });
@@ -52,7 +53,6 @@ function useXAxisConfig(_ref) {
52
53
  var mayOverlap = maxLabelChars * approxCharWidth > maxWidthPx;
53
54
  var shouldStagger = type !== "Bar" && mayOverlap;
54
55
  var XAxisTickWithTooltip = function XAxisTickWithTooltip(_ref2) {
55
- var _displayValue;
56
56
  var x = _ref2.x,
57
57
  y = _ref2.y,
58
58
  payload = _ref2.payload,
@@ -62,10 +62,16 @@ function useXAxisConfig(_ref) {
62
62
  var displayValue = rawValue;
63
63
  if (xnumberformat && typeof rawValue === "number") {
64
64
  displayValue = (0, _utils.formatNumber)(rawValue, xnumberformat);
65
- } else if (xDataKeyArr.length > 0 && typeof index === "number" && xDataKeyArr[index] !== undefined) {
66
- displayValue = xDataKeyArr[index];
65
+ } else if (xDataKeyArr.length > 0) {
66
+ // For bubble/scatter charts, rawValue is the data index (numeric).
67
+ // Use rawValue to look up the label when it's a valid integer index.
68
+ // Fall back to tick index for other chart types where values match indices.
69
+ var dataIndex = typeof rawValue === "number" ? Math.round(rawValue) : index;
70
+ if (Number.isInteger(dataIndex) && dataIndex >= 0 && dataIndex < xDataKeyArr.length && xDataKeyArr[dataIndex] !== undefined) {
71
+ displayValue = xDataKeyArr[dataIndex];
72
+ }
67
73
  }
68
- var fullText = String((_displayValue = displayValue) !== null && _displayValue !== void 0 ? _displayValue : "");
74
+ var fullText = String(displayValue !== null && displayValue !== void 0 ? displayValue : "");
69
75
  var needsEllipsis = fullText.length > maxChars;
70
76
  var truncatedText = needsEllipsis ? fullText.slice(0, Math.max(0, maxChars - 1)) + "…" : fullText;
71
77
  var textAnchor = "middle";
@@ -80,11 +86,12 @@ function useXAxisConfig(_ref) {
80
86
  return {
81
87
  hide: !showxaxis,
82
88
  label: {
83
- // value: getDefaultXAxisLabel(),
89
+ value: getDefaultXAxisLabel(),
84
90
  position: "insideBottom",
85
91
  offset: xaxislabeldistance,
86
92
  fill: "#000"
87
93
  },
94
+ tickLine: showxdistance,
88
95
  // Ensure all x-axis labels render
89
96
  interval: 0,
90
97
  // Provide extra space only when staggering is needed