datastake-daf 0.6.384 → 0.6.386

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 (33) hide show
  1. package/dist/components/index.js +357 -222
  2. package/dist/utils/index.js +24 -0
  3. package/package.json +2 -2
  4. package/src/@daf/core/components/Charts/AreaChart/AreaChart.stories.jsx +444 -1
  5. package/src/@daf/core/components/Charts/AreaChart/index.jsx +27 -12
  6. package/src/@daf/core/components/Charts/BarChart/BarChart.stories.jsx +88 -0
  7. package/src/@daf/core/components/Charts/BarChart/index.jsx +27 -12
  8. package/src/@daf/core/components/Charts/ColumnChart/ColumnChart.stories.jsx +23 -28
  9. package/src/@daf/core/components/Charts/ColumnChart/index.jsx +45 -20
  10. package/src/@daf/core/components/Charts/DonutPie/DonutPie.stories.jsx +55 -0
  11. package/src/@daf/core/components/Charts/DonutPie/index.js +21 -11
  12. package/src/@daf/core/components/Charts/DualAxes/DualAxes.stories.js +33 -0
  13. package/src/@daf/core/components/Charts/DualAxes/index.js +21 -0
  14. package/src/@daf/core/components/Charts/LineChart/LineChart.stories.jsx +81 -0
  15. package/src/@daf/core/components/Charts/LineChart/index.jsx +21 -12
  16. package/src/@daf/core/components/Charts/PieChart/PieChart.stories.js +52 -0
  17. package/src/@daf/core/components/Charts/PieChart/chart.jsx +20 -90
  18. package/src/@daf/core/components/Charts/RadarChart/RadarChart.stories.jsx +52 -0
  19. package/src/@daf/core/components/Charts/RadarChart/index.jsx +21 -0
  20. package/src/@daf/core/components/Charts/RadialBarChart/RadialBarChart.stories.jsx +56 -0
  21. package/src/@daf/core/components/Charts/RadialBarChart/index.jsx +22 -0
  22. package/src/@daf/core/components/Charts/StackChart/StackChart.stories.jsx +22 -0
  23. package/src/@daf/core/components/Charts/StackChart/index.jsx +22 -14
  24. package/src/@daf/core/components/Charts/components/CustomLegend/index.js +80 -0
  25. package/src/@daf/core/components/Charts/helper.js +25 -0
  26. package/src/@daf/core/components/Screens/Admin/AdminModals/AddUser/index.jsx +2 -4
  27. package/src/@daf/core/components/Screens/Admin/AdminModals/NewUser/index.jsx +5 -23
  28. package/src/@daf/core/components/Screens/Admin/AdminViews/components/Edit/index.jsx +1 -12
  29. package/src/@daf/core/components/Screens/Admin/AdminViews/components/Users/helper.js +0 -2
  30. package/src/@daf/core/components/Screens/Admin/AdminViews/components/Users/index.jsx +0 -2
  31. package/src/helpers/StringHelper.js +29 -0
  32. package/src/utils.js +1 -1
  33. package/dist/style/datastake/mapbox-gl.css +0 -330
@@ -45763,7 +45763,7 @@ dt.div`
45763
45763
  }
45764
45764
 
45765
45765
  `;
45766
- const LegendStyle = dt.ul`
45766
+ dt.ul`
45767
45767
  list-style: none;
45768
45768
  margin: var(--size-lg) 0 0;
45769
45769
  padding: 0;
@@ -45788,6 +45788,100 @@ const LegendStyle = dt.ul`
45788
45788
  }
45789
45789
  `;
45790
45790
 
45791
+ const useLegendConfig = ({
45792
+ legendConfig,
45793
+ isPdf
45794
+ }) => {
45795
+ const {
45796
+ enabled,
45797
+ position: legendPosition = 'bottom',
45798
+ items: _legendItems = null,
45799
+ layout: legendLayout = 'horizontal',
45800
+ interactive: legendInteractive = true,
45801
+ style: legendStyle = {}
45802
+ } = legendConfig;
45803
+ const legendEnabled = enabled !== undefined ? isPdf || enabled : isPdf;
45804
+ const [legendItems, setLegendItems] = React__default["default"].useState(_legendItems);
45805
+ return {
45806
+ legendEnabled,
45807
+ legendItems,
45808
+ legendPosition,
45809
+ legendLayout,
45810
+ legendInteractive,
45811
+ legendStyle
45812
+ };
45813
+ };
45814
+
45815
+ const CustomLegend = ({
45816
+ items = [],
45817
+ layout = 'horizontal',
45818
+ interactive = true,
45819
+ style = {}
45820
+ }) => {
45821
+ const isVertical = layout === 'vertical';
45822
+ console.log({
45823
+ isVertical,
45824
+ items
45825
+ });
45826
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
45827
+ style: {
45828
+ display: "flex",
45829
+ justifyContent: "center",
45830
+ alignItems: isVertical ? "flex-start" : "center",
45831
+ flexDirection: isVertical ? "column" : "row",
45832
+ flexWrap: isVertical ? "nowrap" : "wrap",
45833
+ gap: isVertical ? "12px" : "20px",
45834
+ paddingTop: "16px",
45835
+ ...style
45836
+ },
45837
+ children: items?.map((item, index) => /*#__PURE__*/jsxRuntime.jsxs("div", {
45838
+ style: {
45839
+ display: "flex",
45840
+ alignItems: "flex-start",
45841
+ opacity: item.hidden ? 0.4 : 1,
45842
+ transition: "opacity 0.2s ease",
45843
+ userSelect: "none",
45844
+ maxWidth: isVertical ? "300px" : "auto"
45845
+ },
45846
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
45847
+ style: {
45848
+ width: 16,
45849
+ height: 16,
45850
+ backgroundColor: item.color,
45851
+ marginRight: 8,
45852
+ borderRadius: 3,
45853
+ flexShrink: 0,
45854
+ marginTop: 2,
45855
+ border: item.hidden ? "2px solid #d9d9d9" : "none",
45856
+ boxSizing: "border-box"
45857
+ }
45858
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
45859
+ style: {
45860
+ display: "flex",
45861
+ flexDirection: "column",
45862
+ gap: "4px"
45863
+ },
45864
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
45865
+ style: {
45866
+ fontSize: 14,
45867
+ fontWeight: 500,
45868
+ color: item.hidden ? "#999" : "#262626",
45869
+ lineHeight: "20px"
45870
+ },
45871
+ children: item.label
45872
+ }), item.description && /*#__PURE__*/jsxRuntime.jsx("span", {
45873
+ style: {
45874
+ fontSize: 12,
45875
+ color: item.hidden ? "#bfbfbf" : "#8c8c8c",
45876
+ lineHeight: "18px"
45877
+ },
45878
+ children: item.description
45879
+ })]
45880
+ })]
45881
+ }, index))
45882
+ });
45883
+ };
45884
+
45791
45885
  const Chart = _ref => {
45792
45886
  let {
45793
45887
  data = [],
@@ -45804,6 +45898,7 @@ const Chart = _ref => {
45804
45898
  children = null,
45805
45899
  legend,
45806
45900
  isPdf = false,
45901
+ legendConfig = {},
45807
45902
  isPercentage = false
45808
45903
  } = _ref;
45809
45904
  const [hoveredGroup, setHoveredGroup] = React.useState(null);
@@ -45812,6 +45907,17 @@ const Chart = _ref => {
45812
45907
  const [mouseY, setMouseY] = React.useState(0);
45813
45908
  const [mouseX, setMouseX] = React.useState(0);
45814
45909
  const [mouseLocked, setMouseLocked] = React.useState(false);
45910
+ const {
45911
+ legendEnabled,
45912
+ legendItems,
45913
+ legendPosition,
45914
+ legendLayout,
45915
+ legendInteractive,
45916
+ legendStyle
45917
+ } = useLegendConfig({
45918
+ legendConfig,
45919
+ isPdf
45920
+ });
45815
45921
  const getCoordinatesForPercent = React.useCallback(percent => [Math.cos(2 * Math.PI * percent), Math.sin(2 * Math.PI * percent)], []);
45816
45922
  const onMouseLeaveHandler = React.useCallback((e, hG, id) => {
45817
45923
  if (mouseLocked) {
@@ -45835,31 +45941,6 @@ const Chart = _ref => {
45835
45941
  }));
45836
45942
  }
45837
45943
  }, [svgRef, containerRef, hoveredGroup, mouseLocked]);
45838
- const legendConfig = React.useMemo(() => {
45839
- if (legend === false || legend === null) {
45840
- return isPdf ? {} : null;
45841
- }
45842
- if (typeof legend === 'object') {
45843
- return legend;
45844
- }
45845
- if (legend === true || isPdf) {
45846
- return {};
45847
- }
45848
- return null;
45849
- }, [legend, isPdf]);
45850
- const legendItems = React.useMemo(() => {
45851
- const items = Array.isArray(data) ? data : [];
45852
- if (!legendConfig) {
45853
- return [];
45854
- }
45855
- const {
45856
- itemName
45857
- } = legendConfig;
45858
- const getName = typeof (itemName === null || itemName === void 0 ? void 0 : itemName.formatter) === 'function' ? (item, index) => itemName.formatter(item.name || item.label || "Item ".concat(index + 1), item, index) : (item, index) => item.name || item.label || "Item ".concat(index + 1);
45859
- return items.map((item, index) => _objectSpread2(_objectSpread2({}, item), {}, {
45860
- label: getName(item, index)
45861
- }));
45862
- }, [data, legendConfig]);
45863
45944
  const dataToShow = React.useMemo(() => {
45864
45945
  let cumulativePercent = 0;
45865
45946
  function getRotationAngle(percent) {
@@ -45959,59 +46040,11 @@ const Chart = _ref => {
45959
46040
  onMouseMove: e => onMouseLeaveHandler(e, {}, 0)
45960
46041
  } : {}), {}, {
45961
46042
  children: dataToShow
45962
- })), tooltip, !!legendConfig && legendItems.length > 0 && /*#__PURE__*/jsxRuntime.jsx(LegendStyle, {
45963
- className: legendConfig === null || legendConfig === void 0 ? void 0 : legendConfig.className,
45964
- "data-position": (legendConfig === null || legendConfig === void 0 ? void 0 : legendConfig.position) || 'bottom',
45965
- children: legendItems.map((item, index) => {
45966
- var _item$id;
45967
- const markerStyle = (legendConfig === null || legendConfig === void 0 ? void 0 : legendConfig.marker) || {};
45968
- return /*#__PURE__*/jsxRuntime.jsxs("li", {
45969
- className: item.className,
45970
- onMouseEnter: () => {
45971
- if (mouseLocked) {
45972
- return;
45973
- }
45974
- setHoveredGroup(_objectSpread2(_objectSpread2({}, item), {}, {
45975
- id: index,
45976
- fromLegend: true
45977
- }));
45978
- },
45979
- onMouseLeave: () => {
45980
- if (mouseLocked) {
45981
- return;
45982
- }
45983
- setHoveredGroup(null);
45984
- },
45985
- onClick: () => {
45986
- if (!changeOpacityOnHover) {
45987
- return;
45988
- }
45989
- if ((hoveredGroup === null || hoveredGroup === void 0 ? void 0 : hoveredGroup.id) === index && hoveredGroup !== null && hoveredGroup !== void 0 && hoveredGroup.fromLegend) {
45990
- setHoveredGroup(null);
45991
- setMouseLocked(false);
45992
- return;
45993
- }
45994
- setHoveredGroup(_objectSpread2(_objectSpread2({}, item), {}, {
45995
- id: index,
45996
- fromLegend: true
45997
- }));
45998
- setMouseLocked(prev => !prev);
45999
- },
46000
- children: [/*#__PURE__*/jsxRuntime.jsx("span", {
46001
- className: "legend-marker",
46002
- style: {
46003
- backgroundColor: item.color,
46004
- width: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.size) || 12,
46005
- height: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.size) || 12,
46006
- borderRadius: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.shape) === 'square' ? 2 : '50%',
46007
- border: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.style) === 'line' ? "2px solid ".concat(item.color) : undefined,
46008
- background: (markerStyle === null || markerStyle === void 0 ? void 0 : markerStyle.style) === 'line' ? 'transparent' : item.color
46009
- }
46010
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
46011
- children: item.label
46012
- })]
46013
- }, (_item$id = item.id) !== null && _item$id !== void 0 ? _item$id : index);
46014
- })
46043
+ })), tooltip, legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
46044
+ items: legendItems,
46045
+ layout: legendLayout,
46046
+ interactive: legendInteractive,
46047
+ style: legendStyle
46015
46048
  }), children]
46016
46049
  });
46017
46050
  };
@@ -49381,7 +49414,7 @@ const Container$1 = dt.div`
49381
49414
  width: ${props => props.isPdf ? props.width ? props.width : '1000px' : 'calc(100% - 48px)'};
49382
49415
  `;
49383
49416
 
49384
- const _excluded$7 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isStack", "isGroup", "isPercentage", "seriesField", "formattedYAxis", "formattedXAxis", "color", "height", "t", "isPdf", "extraLegendConfig", "width"];
49417
+ const _excluded$7 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isStack", "isGroup", "isPercentage", "seriesField", "formattedYAxis", "formattedXAxis", "color", "height", "t", "isPdf", "legendConfig", "width"];
49385
49418
  const {
49386
49419
  useToken: useToken$g
49387
49420
  } = antd.theme;
@@ -49467,7 +49500,7 @@ function BarChart(_ref) {
49467
49500
  height,
49468
49501
  t = s => s,
49469
49502
  isPdf = false,
49470
- extraLegendConfig = {},
49503
+ legendConfig = {},
49471
49504
  width
49472
49505
  } = _ref;
49473
49506
  _objectWithoutProperties(_ref, _excluded$7);
@@ -49476,7 +49509,17 @@ function BarChart(_ref) {
49476
49509
  const {
49477
49510
  token
49478
49511
  } = useToken$g();
49479
- const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
49512
+ const {
49513
+ legendEnabled,
49514
+ legendItems,
49515
+ legendPosition,
49516
+ legendLayout,
49517
+ legendInteractive,
49518
+ legendStyle
49519
+ } = useLegendConfig({
49520
+ legendConfig,
49521
+ isPdf
49522
+ });
49480
49523
  React__default["default"].useEffect(() => {
49481
49524
  if (!containerRef.current) {
49482
49525
  return;
@@ -49507,12 +49550,7 @@ function BarChart(_ref) {
49507
49550
  isStack,
49508
49551
  color: color || token.colorPrimary7,
49509
49552
  seriesField,
49510
- legend: isPdf ? _objectSpread2({
49511
- itemName: {
49512
- formatter: text => t(text)
49513
- },
49514
- position: 'bottom'
49515
- }, extraLegendConfig) : hasLegendConfig || false,
49553
+ legend: false,
49516
49554
  animation: animated
49517
49555
  };
49518
49556
  if (!chartRef.current) {
@@ -49530,21 +49568,26 @@ function BarChart(_ref) {
49530
49568
  }
49531
49569
  };
49532
49570
  }, []);
49533
- return /*#__PURE__*/jsxRuntime.jsx("div", {
49571
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
49534
49572
  className: "flex flex-1 flex-column justify-content-center",
49535
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
49573
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
49536
49574
  className: "flex justify-content-center",
49537
49575
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
49538
49576
  ref: containerRef,
49539
49577
  height: height,
49540
- isPdf: isPdf,
49578
+ isPdf: false,
49541
49579
  width: width
49542
49580
  })
49543
- })
49581
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
49582
+ items: legendItems,
49583
+ layout: legendLayout,
49584
+ interactive: legendInteractive,
49585
+ style: legendStyle
49586
+ })]
49544
49587
  });
49545
49588
  }
49546
49589
 
49547
- const _excluded$6 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isSmooth", "seriesField", "isArea", "formattedYAxis", "formattedXAxis", "color", "isPercentage", "height", "autoHideXLabel", "t", "isPdf", "extraLegendConfig", "width"];
49590
+ const _excluded$6 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isSmooth", "seriesField", "isArea", "formattedYAxis", "formattedXAxis", "color", "isPercentage", "height", "autoHideXLabel", "t", "isPdf", "legendConfig", "width"];
49548
49591
  const {
49549
49592
  useToken: useToken$f
49550
49593
  } = antd.theme;
@@ -49628,7 +49671,7 @@ function LineChart(_ref) {
49628
49671
  autoHideXLabel = true,
49629
49672
  t = s => s,
49630
49673
  isPdf = false,
49631
- extraLegendConfig = {},
49674
+ legendConfig = {},
49632
49675
  width
49633
49676
  } = _ref;
49634
49677
  _objectWithoutProperties(_ref, _excluded$6);
@@ -49637,7 +49680,17 @@ function LineChart(_ref) {
49637
49680
  const {
49638
49681
  token
49639
49682
  } = useToken$f();
49640
- const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
49683
+ const {
49684
+ legendEnabled,
49685
+ legendItems,
49686
+ legendPosition,
49687
+ legendLayout,
49688
+ legendInteractive,
49689
+ legendStyle
49690
+ } = useLegendConfig({
49691
+ legendConfig,
49692
+ isPdf
49693
+ });
49641
49694
  React__default["default"].useEffect(() => {
49642
49695
  if (!containerRef.current) {
49643
49696
  return;
@@ -49681,12 +49734,7 @@ function LineChart(_ref) {
49681
49734
  fillOpacity: isArea ? 0.15 : 0
49682
49735
  }
49683
49736
  },
49684
- legend: isPdf ? _objectSpread2({
49685
- itemName: {
49686
- formatter: text => t(text)
49687
- },
49688
- position: 'bottom'
49689
- }, extraLegendConfig) : hasLegendConfig || false
49737
+ legend: false
49690
49738
  };
49691
49739
  if (!chartRef.current) {
49692
49740
  chartRef.current = new g2plot.Line(containerRef.current, config);
@@ -49694,7 +49742,7 @@ function LineChart(_ref) {
49694
49742
  } else {
49695
49743
  chartRef.current.update(config);
49696
49744
  }
49697
- }, [data, containerRef.current, isSmooth, animated, xFieldKey, yFieldKey, seriesField, isArea, color, token.colorPrimary7, formattedXAxis, formattedYAxis, isPercentage, renderTooltipContent, tooltipConfig, isPdf, extraLegendConfig, t]);
49745
+ }, [data, containerRef.current, isSmooth, animated, xFieldKey, yFieldKey, seriesField, isArea, color, token.colorPrimary7, formattedXAxis, formattedYAxis, isPercentage, renderTooltipContent, tooltipConfig, isPdf, t]);
49698
49746
  React__default["default"].useEffect(() => {
49699
49747
  return () => {
49700
49748
  if (chartRef.current) {
@@ -49703,9 +49751,9 @@ function LineChart(_ref) {
49703
49751
  }
49704
49752
  };
49705
49753
  }, []);
49706
- return /*#__PURE__*/jsxRuntime.jsx("div", {
49754
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
49707
49755
  className: "flex flex-1 flex-column justify-content-center",
49708
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
49756
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
49709
49757
  className: "flex justify-content-center",
49710
49758
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
49711
49759
  ref: containerRef,
@@ -49713,11 +49761,16 @@ function LineChart(_ref) {
49713
49761
  isPdf: isPdf,
49714
49762
  width: width
49715
49763
  })
49716
- })
49764
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
49765
+ items: legendItems,
49766
+ layout: legendLayout,
49767
+ interactive: legendInteractive,
49768
+ style: legendStyle
49769
+ })]
49717
49770
  });
49718
49771
  }
49719
49772
 
49720
- const _excluded$5 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isStack", "isGroup", "seriesField", "isPercentage", "showBackground", "formattedYAxis", "formattedXAxis", "color", "height", "groupField", "t", "isPdf", "extraLegendConfig", "shouldSeperateLegendName", "width"];
49773
+ const _excluded$5 = ["data", "xFieldKey", "yFieldKey", "renderTooltipContent", "tooltipConfig", "animated", "isStack", "isGroup", "seriesField", "isPercentage", "showBackground", "formattedYAxis", "formattedXAxis", "color", "height", "groupField", "width", "legendConfig", "isPdf"];
49721
49774
  const {
49722
49775
  useToken: useToken$e
49723
49776
  } = antd.theme;
@@ -49782,6 +49835,20 @@ const {
49782
49835
  * - `color` (string | string[] | function):
49783
49836
  * Custom color or color function for bars. If not provided, falls back to Ant Design's theme primary color.
49784
49837
  *
49838
+ * - `legendConfig` (object):
49839
+ * Configuration for the custom legend:
49840
+ * {
49841
+ * enabled: boolean, // Show/hide the legend (default: false)
49842
+ * position: 'top' | 'bottom', // Legend position (default: 'bottom')
49843
+ * items: Array<{ // Manual legend items (optional, auto-generated from data if not provided)
49844
+ * label: string, // Display label
49845
+ * color: string, // Color for this item
49846
+ * description?: string // Optional description/explanation
49847
+ * }>,
49848
+ * layout: 'horizontal' | 'vertical', // Legend layout (default: 'horizontal')
49849
+ * interactive: boolean, // Allow clicking to filter data (default: true)
49850
+ * style: object // Custom CSS styles for legend container
49851
+ * }
49785
49852
  */
49786
49853
 
49787
49854
  function ColumnChart(_ref) {
@@ -49802,11 +49869,9 @@ function ColumnChart(_ref) {
49802
49869
  color,
49803
49870
  height,
49804
49871
  groupField,
49805
- t = s => s,
49806
- isPdf = false,
49807
- extraLegendConfig = {},
49808
- shouldSeperateLegendName = false,
49809
- width
49872
+ width,
49873
+ legendConfig = {},
49874
+ isPdf = false
49810
49875
  } = _ref;
49811
49876
  _objectWithoutProperties(_ref, _excluded$5);
49812
49877
  const containerRef = React__default["default"].useRef(null);
@@ -49814,7 +49879,20 @@ function ColumnChart(_ref) {
49814
49879
  const {
49815
49880
  token
49816
49881
  } = useToken$e();
49817
- const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
49882
+ console.log({
49883
+ legendConfig
49884
+ });
49885
+ const {
49886
+ legendEnabled,
49887
+ legendItems,
49888
+ legendPosition,
49889
+ legendLayout,
49890
+ legendInteractive,
49891
+ legendStyle
49892
+ } = useLegendConfig({
49893
+ legendConfig,
49894
+ isPdf
49895
+ });
49818
49896
  React__default["default"].useEffect(() => {
49819
49897
  if (!containerRef.current) {
49820
49898
  return;
@@ -49849,15 +49927,7 @@ function ColumnChart(_ref) {
49849
49927
  formatter: isPercentage ? v => "".concat(v).replace(/\d{1,3}(?=(\d{3})+$)/g, s => "".concat(s, ",")) + " %" : formattedYAxis
49850
49928
  }
49851
49929
  }),
49852
- legend: isPdf ? _objectSpread2({
49853
- itemName: {
49854
- formatter: text => {
49855
- const textToTranslate = shouldSeperateLegendName ? text.split("-")[1].toLowerCase() : text;
49856
- return t(textToTranslate);
49857
- }
49858
- },
49859
- position: 'bottom'
49860
- }, extraLegendConfig) : hasLegendConfig || false
49930
+ legend: false
49861
49931
  }, showBackground && isPercentage && {
49862
49932
  columnBackground: {
49863
49933
  style: {}
@@ -49878,17 +49948,29 @@ function ColumnChart(_ref) {
49878
49948
  }
49879
49949
  };
49880
49950
  }, []);
49881
- return /*#__PURE__*/jsxRuntime.jsx("div", {
49951
+ console.log({
49952
+ legendEnabled,
49953
+ legendPosition,
49954
+ legendLayout,
49955
+ legendInteractive,
49956
+ legendStyle
49957
+ });
49958
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
49882
49959
  className: "flex flex-1 flex-column justify-content-center",
49883
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
49960
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
49884
49961
  className: "flex justify-content-center",
49885
49962
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
49886
49963
  ref: containerRef,
49887
49964
  height: height,
49888
- isPdf: isPdf,
49965
+ isPdf: false,
49889
49966
  width: width
49890
49967
  })
49891
- })
49968
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
49969
+ items: legendItems,
49970
+ layout: legendLayout,
49971
+ interactive: legendInteractive,
49972
+ style: legendStyle
49973
+ })]
49892
49974
  });
49893
49975
  }
49894
49976
 
@@ -49947,13 +50029,26 @@ function RadialBarChart(_ref) {
49947
50029
  colorKey,
49948
50030
  animation = false,
49949
50031
  isPercentage = true,
49950
- color
50032
+ color,
50033
+ isPdf = false,
50034
+ legendConfig = {}
49951
50035
  } = _ref;
49952
50036
  const containerRef = React__default["default"].useRef(null);
49953
50037
  const chartRef = React__default["default"].useRef(null);
49954
50038
  const {
49955
50039
  token
49956
50040
  } = useToken$d();
50041
+ const {
50042
+ legendEnabled,
50043
+ legendItems,
50044
+ legendPosition,
50045
+ legendLayout,
50046
+ legendInteractive,
50047
+ legendStyle
50048
+ } = useLegendConfig({
50049
+ legendConfig,
50050
+ isPdf
50051
+ });
49957
50052
  const formattedData = React.useMemo(() => {
49958
50053
  return data.map(item => _objectSpread2(_objectSpread2({}, item), {}, {
49959
50054
  originalValue: item[yFieldKey],
@@ -50036,18 +50131,23 @@ function RadialBarChart(_ref) {
50036
50131
  }
50037
50132
  };
50038
50133
  }, []);
50039
- return /*#__PURE__*/jsxRuntime.jsx("div", {
50134
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
50040
50135
  className: "flex flex-1 flex-column justify-content-center",
50041
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
50136
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
50042
50137
  className: "flex justify-content-center",
50043
50138
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
50044
50139
  ref: containerRef
50045
50140
  })
50046
- })
50141
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
50142
+ items: legendItems,
50143
+ layout: legendLayout,
50144
+ interactive: legendInteractive,
50145
+ style: legendStyle
50146
+ })]
50047
50147
  });
50048
50148
  }
50049
50149
 
50050
- const _excluded$4 = ["data", "angleField", "colorField", "color", "height", "innerRadius", "radius", "legend", "label", "statistic", "tooltip", "renderTooltipContent", "tooltipConfig", "meta", "animation", "t", "isPdf", "extraLegendConfig"];
50150
+ const _excluded$4 = ["data", "angleField", "colorField", "color", "height", "innerRadius", "radius", "legend", "label", "statistic", "tooltip", "renderTooltipContent", "tooltipConfig", "meta", "animation", "t", "isPdf", "legendConfig"];
50051
50151
  const {
50052
50152
  useToken: useToken$c
50053
50153
  } = antd.theme;
@@ -50120,7 +50220,7 @@ function DonutPie(_ref) {
50120
50220
  animation = false,
50121
50221
  t = s => s,
50122
50222
  isPdf = false,
50123
- extraLegendConfig = {}
50223
+ legendConfig = {}
50124
50224
  } = _ref,
50125
50225
  rest = _objectWithoutProperties(_ref, _excluded$4);
50126
50226
  const containerRef = React.useRef(null);
@@ -50128,7 +50228,17 @@ function DonutPie(_ref) {
50128
50228
  const {
50129
50229
  token
50130
50230
  } = useToken$c();
50131
- const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
50231
+ const {
50232
+ legendEnabled,
50233
+ legendItems,
50234
+ legendPosition,
50235
+ legendLayout,
50236
+ legendInteractive,
50237
+ legendStyle
50238
+ } = useLegendConfig({
50239
+ legendConfig,
50240
+ isPdf
50241
+ });
50132
50242
 
50133
50243
  // Memoize processed data for progress mode
50134
50244
  const processedData = React.useMemo(() => {
@@ -50154,12 +50264,7 @@ function DonutPie(_ref) {
50154
50264
  color: color || [token.colorPrimary7, "#E8EDF3"],
50155
50265
  radius,
50156
50266
  innerRadius,
50157
- legend: isPdf ? _objectSpread2({
50158
- itemName: {
50159
- formatter: text => t(text)
50160
- },
50161
- position: 'bottom'
50162
- }, extraLegendConfig) : hasLegendConfig || false,
50267
+ legend: false,
50163
50268
  label,
50164
50269
  statistic,
50165
50270
  tooltip: tooltipOption,
@@ -50181,9 +50286,9 @@ function DonutPie(_ref) {
50181
50286
  }
50182
50287
  };
50183
50288
  }, []);
50184
- return /*#__PURE__*/jsxRuntime.jsx("div", {
50289
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
50185
50290
  className: "flex flex-1 flex-column justify-content-center",
50186
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
50291
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
50187
50292
  className: "flex justify-content-center",
50188
50293
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
50189
50294
  ref: containerRef,
@@ -50192,7 +50297,12 @@ function DonutPie(_ref) {
50192
50297
  },
50193
50298
  isPdf: isPdf
50194
50299
  })
50195
- })
50300
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
50301
+ items: legendItems,
50302
+ layout: legendLayout,
50303
+ interactive: legendInteractive,
50304
+ style: legendStyle
50305
+ })]
50196
50306
  });
50197
50307
  }
50198
50308
 
@@ -50246,7 +50356,7 @@ const Style$g = dt.div`
50246
50356
  }
50247
50357
  }
50248
50358
  `;
50249
- const StyleWrapper = dt.div`
50359
+ dt.div`
50250
50360
  .legend {
50251
50361
  display: flex;
50252
50362
  flex-wrap: wrap;
@@ -50455,7 +50565,8 @@ function StackChart(_ref) {
50455
50565
  valueField = "value",
50456
50566
  height = 300,
50457
50567
  isPdf = false,
50458
- t = s => s
50568
+ t = s => s,
50569
+ legendConfig = {}
50459
50570
  } = _ref;
50460
50571
  const ref = React__default["default"].useRef();
50461
50572
  const {
@@ -50474,6 +50585,17 @@ function StackChart(_ref) {
50474
50585
  });
50475
50586
  return Array.from(uniqueLabels);
50476
50587
  }, [data, xFieldKey]);
50588
+ const {
50589
+ legendEnabled,
50590
+ legendItems,
50591
+ legendPosition,
50592
+ legendLayout,
50593
+ legendInteractive,
50594
+ legendStyle
50595
+ } = useLegendConfig({
50596
+ legendConfig,
50597
+ isPdf
50598
+ });
50477
50599
  const groupedByLabel = React__default["default"].useMemo(() => {
50478
50600
  return data.reduce((acc, item) => {
50479
50601
  const label = item[xFieldKey];
@@ -50583,7 +50705,7 @@ function StackChart(_ref) {
50583
50705
  }));
50584
50706
  }
50585
50707
  }, [hoveredGroup]);
50586
- return /*#__PURE__*/jsxRuntime.jsxs(StyleWrapper, {
50708
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
50587
50709
  children: [/*#__PURE__*/jsxRuntime.jsxs(Style$g, _objectSpread2(_objectSpread2({}, isEmpty ? {
50588
50710
  onMouseEnter: () => {
50589
50711
  setHoveredGroup({
@@ -50611,28 +50733,16 @@ function StackChart(_ref) {
50611
50733
  },
50612
50734
  children: content()
50613
50735
  })]
50614
- })), isPdf && /*#__PURE__*/jsxRuntime.jsx("div", {
50615
- className: "legend",
50616
- children: Object.entries(seriesColors).map(_ref4 => {
50617
- let [series, color] = _ref4;
50618
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
50619
- className: "legend-item",
50620
- children: [/*#__PURE__*/jsxRuntime.jsx("span", {
50621
- className: "legend-color",
50622
- style: {
50623
- backgroundColor: color || token.colorPrimary7
50624
- }
50625
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
50626
- className: "legend-label",
50627
- children: t(series)
50628
- })]
50629
- }, series);
50630
- })
50736
+ })), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
50737
+ items: legendItems,
50738
+ layout: legendLayout,
50739
+ interactive: legendInteractive,
50740
+ style: legendStyle
50631
50741
  })]
50632
50742
  });
50633
50743
  }
50634
50744
 
50635
- const _excluded$3 = ["data", "xFieldKey", "yFieldKey", "seriesField", "renderTooltipContent", "tooltipConfig", "animated", "color", "formattedYAxis", "formattedXAxis", "fillOpacity", "height", "t", "isPdf", "extraLegendConfig", "width"];
50745
+ const _excluded$3 = ["data", "xFieldKey", "yFieldKey", "seriesField", "renderTooltipContent", "tooltipConfig", "animated", "color", "formattedYAxis", "formattedXAxis", "fillOpacity", "height", "t", "isPdf", "legendConfig", "width"];
50636
50746
  const {
50637
50747
  useToken: useToken$a
50638
50748
  } = antd.theme;
@@ -50706,7 +50816,7 @@ const AreaChart = _ref => {
50706
50816
  height,
50707
50817
  t = s => s,
50708
50818
  isPdf = false,
50709
- extraLegendConfig = {},
50819
+ legendConfig = {},
50710
50820
  width
50711
50821
  } = _ref,
50712
50822
  rest = _objectWithoutProperties(_ref, _excluded$3);
@@ -50715,7 +50825,17 @@ const AreaChart = _ref => {
50715
50825
  const {
50716
50826
  token
50717
50827
  } = useToken$a();
50718
- const hasLegendConfig = Object.keys(extraLegendConfig).length > 0;
50828
+ const {
50829
+ legendEnabled,
50830
+ legendItems,
50831
+ legendPosition,
50832
+ legendLayout,
50833
+ legendInteractive,
50834
+ legendStyle
50835
+ } = useLegendConfig({
50836
+ legendConfig,
50837
+ isPdf
50838
+ });
50719
50839
  React.useEffect(() => {
50720
50840
  if (!containerRef.current) {
50721
50841
  return;
@@ -50750,12 +50870,7 @@ const AreaChart = _ref => {
50750
50870
  areaStyle: {
50751
50871
  fillOpacity
50752
50872
  },
50753
- legend: isPdf ? _objectSpread2({
50754
- itemName: {
50755
- formatter: text => t(text)
50756
- },
50757
- position: 'bottom'
50758
- }, extraLegendConfig) : hasLegendConfig || false,
50873
+ legend: false,
50759
50874
  line: false
50760
50875
  }, rest);
50761
50876
  if (!chartRef.current) {
@@ -50773,21 +50888,26 @@ const AreaChart = _ref => {
50773
50888
  }
50774
50889
  };
50775
50890
  }, []);
50776
- return /*#__PURE__*/jsxRuntime.jsx("div", {
50891
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
50777
50892
  className: "flex flex-1 flex-column justify-content-center",
50778
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
50893
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
50779
50894
  className: "flex justify-content-center",
50780
50895
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
50781
50896
  ref: containerRef,
50782
50897
  height: height,
50783
- isPdf: isPdf,
50898
+ isPdf: false,
50784
50899
  width: width
50785
50900
  })
50786
- })
50901
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
50902
+ items: legendItems,
50903
+ layout: legendLayout,
50904
+ interactive: legendInteractive,
50905
+ style: legendStyle
50906
+ })]
50787
50907
  });
50788
50908
  };
50789
50909
 
50790
- const _excluded$2 = ["data", "xFieldKey", "yFieldKey", "seriesField", "renderTooltipContent", "tooltipConfig", "animated", "color", "formattedYAxis", "formattedXAxis", "score", "height"];
50910
+ const _excluded$2 = ["data", "xFieldKey", "yFieldKey", "seriesField", "renderTooltipContent", "tooltipConfig", "animated", "color", "formattedYAxis", "formattedXAxis", "score", "height", "isPdf", "legendConfig"];
50791
50911
  const {
50792
50912
  useToken: useToken$9
50793
50913
  } = antd.theme;
@@ -50808,7 +50928,9 @@ const RadarChart = _ref => {
50808
50928
  min: 0,
50809
50929
  max: 100
50810
50930
  },
50811
- height
50931
+ height,
50932
+ isPdf = false,
50933
+ legendConfig = {}
50812
50934
  } = _ref,
50813
50935
  rest = _objectWithoutProperties(_ref, _excluded$2);
50814
50936
  const containerRef = React.useRef(null);
@@ -50816,6 +50938,17 @@ const RadarChart = _ref => {
50816
50938
  const {
50817
50939
  token
50818
50940
  } = useToken$9();
50941
+ const {
50942
+ legendEnabled,
50943
+ legendItems,
50944
+ legendPosition,
50945
+ legendLayout,
50946
+ legendInteractive,
50947
+ legendStyle
50948
+ } = useLegendConfig({
50949
+ legendConfig,
50950
+ isPdf
50951
+ });
50819
50952
  React.useEffect(() => {
50820
50953
  if (!containerRef.current) {
50821
50954
  return;
@@ -50900,15 +51033,20 @@ const RadarChart = _ref => {
50900
51033
  }
50901
51034
  };
50902
51035
  }, []);
50903
- return /*#__PURE__*/jsxRuntime.jsx("div", {
51036
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
50904
51037
  className: "flex flex-1 flex-column justify-content-center",
50905
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
51038
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
50906
51039
  className: "flex justify-content-center",
50907
51040
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
50908
51041
  ref: containerRef,
50909
51042
  height: height
50910
51043
  })
50911
- })
51044
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
51045
+ items: legendItems,
51046
+ layout: legendLayout,
51047
+ interactive: legendInteractive,
51048
+ style: legendStyle
51049
+ })]
50912
51050
  });
50913
51051
  };
50914
51052
 
@@ -50927,13 +51065,26 @@ function DualAxesChart(_ref) {
50927
51065
  formattedLeftAxis = s => s,
50928
51066
  formattedRightAxis = s => s,
50929
51067
  formattedXAxis = s => s,
50930
- color
51068
+ color,
51069
+ legendConfig = {},
51070
+ isPdf = false
50931
51071
  } = _ref;
50932
51072
  const containerRef = React__default["default"].useRef(null);
50933
51073
  const chartRef = React__default["default"].useRef(null);
50934
51074
  const {
50935
51075
  token
50936
51076
  } = useToken$8();
51077
+ const {
51078
+ legendEnabled,
51079
+ legendItems,
51080
+ legendPosition,
51081
+ legendLayout,
51082
+ legendInteractive,
51083
+ legendStyle
51084
+ } = useLegendConfig({
51085
+ legendConfig,
51086
+ isPdf
51087
+ });
50937
51088
  const _colours = React.useMemo(() => {
50938
51089
  const defaultColours = [token.colorPrimary7, token.colorPrimary6, token.colorPrimary8];
50939
51090
  if (color) {
@@ -51001,15 +51152,20 @@ function DualAxesChart(_ref) {
51001
51152
  }
51002
51153
  };
51003
51154
  }, []);
51004
- return /*#__PURE__*/jsxRuntime.jsx("div", {
51155
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
51005
51156
  className: "flex flex-1 flex-column justify-content-center",
51006
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
51157
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
51007
51158
  className: "flex justify-content-center",
51008
51159
  children: /*#__PURE__*/jsxRuntime.jsx(Container$1, {
51009
51160
  ref: containerRef,
51010
51161
  "data-testid": "dual-axes-chart"
51011
51162
  })
51012
- })
51163
+ }), legendEnabled && legendPosition === 'bottom' && /*#__PURE__*/jsxRuntime.jsx(CustomLegend, {
51164
+ items: legendItems,
51165
+ layout: legendLayout,
51166
+ interactive: legendInteractive,
51167
+ style: legendStyle
51168
+ })]
51013
51169
  });
51014
51170
  }
51015
51171
 
@@ -54050,7 +54206,6 @@ function AddUserModal({
54050
54206
  setAccountUsed(true);
54051
54207
  }).catch(() => {});
54052
54208
  };
54053
- console.log("hellooooooooooooooooooooooooo");
54054
54209
  return /*#__PURE__*/jsxRuntime.jsx(Modal, {
54055
54210
  open: isOpen,
54056
54211
  title: "admin::edit-user",
@@ -54094,6 +54249,13 @@ function AddUserModal({
54094
54249
  }
54095
54250
  }
54096
54251
  })
54252
+ }), accountUsed && /*#__PURE__*/jsxRuntime.jsx(antd.Alert, {
54253
+ message: t("FB00001"),
54254
+ type: "error",
54255
+ className: "mb-2",
54256
+ showIcon: true,
54257
+ closable: true,
54258
+ onClose: () => setAccountUsed(false)
54097
54259
  }), /*#__PURE__*/jsxRuntime.jsx(antd.Form.Item, {
54098
54260
  name: "role",
54099
54261
  label: t("Role"),
@@ -56904,8 +57066,7 @@ function NewUser({
56904
57066
  isOpen,
56905
57067
  onClose,
56906
57068
  defaultData,
56907
- userRoles = [],
56908
- addUser = () => {}
57069
+ userRoles = []
56909
57070
  }) {
56910
57071
  const [MainForm] = antd.Form.useForm();
56911
57072
  const [accountUsed, setAccountUsed] = React.useState(false);
@@ -56919,26 +57080,8 @@ function NewUser({
56919
57080
  }, [defaultData]);
56920
57081
  const onSubmit = () => {
56921
57082
  MainForm.validateFields().then(val => {
56922
- // Create user object with the form data
56923
- const userData = {
56924
- firstName: val.firstName,
56925
- lastName: val.lastName,
56926
- email: val.email,
56927
- role: val.role,
56928
- apps: {
56929
- straatos: {
56930
- role: val.role,
56931
- access: true
56932
- }
56933
- }
56934
- };
56935
-
56936
- // Add user to local state
56937
- addUser(userData);
56938
-
56939
- // Close modal and reset form
56940
- onClose();
56941
- MainForm.resetFields();
57083
+ console.log(val);
57084
+ setAccountUsed(true);
56942
57085
  }).catch(() => {});
56943
57086
  };
56944
57087
  return /*#__PURE__*/jsxRuntime.jsx(Modal, {
@@ -56984,6 +57127,13 @@ function NewUser({
56984
57127
  }
56985
57128
  }
56986
57129
  })
57130
+ }), accountUsed && /*#__PURE__*/jsxRuntime.jsx(antd.Alert, {
57131
+ message: t("FB00001"),
57132
+ type: "error",
57133
+ className: "mb-2",
57134
+ showIcon: true,
57135
+ closable: true,
57136
+ onClose: () => setAccountUsed(false)
56987
57137
  }), /*#__PURE__*/jsxRuntime.jsx(antd.Form.Item, {
56988
57138
  name: "role",
56989
57139
  label: t("Role"),
@@ -57122,8 +57272,6 @@ const getColumns = ({
57122
57272
  const role = all?.apps?.[module]?.role;
57123
57273
  const options = (selectOptions?.userRole || []).filter(o => all.isAdmin || o.canBeAssignedToSubUsers);
57124
57274
  if (isView) {
57125
- console.log("role--------------", role);
57126
- console.log("options--------------", options);
57127
57275
  const title = findOptions(role, options);
57128
57276
  return /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
57129
57277
  title: title,
@@ -57256,7 +57404,6 @@ function Users({
57256
57404
  accountStatuses,
57257
57405
  deleteUser = () => {},
57258
57406
  updateUser = () => {},
57259
- addUser = () => {},
57260
57407
  transferAdmin = () => {}
57261
57408
  }) {
57262
57409
  const [hasError, setHasError] = React.useState(false);
@@ -57379,8 +57526,7 @@ function Users({
57379
57526
  t: t,
57380
57527
  isOpen: newUserModalVisible,
57381
57528
  onClose: () => setNewUserModalVisible(false),
57382
- userRoles: userRoles,
57383
- addUser: addUser
57529
+ userRoles: userRoles
57384
57530
  })]
57385
57531
  });
57386
57532
  }
@@ -57616,15 +57762,6 @@ function Edit({
57616
57762
  })
57617
57763
  }));
57618
57764
  }, []);
57619
- const addUser = React.useCallback(userData => {
57620
- setIsChanged(true);
57621
- setData(prev => ({
57622
- ...prev,
57623
- users: [...(prev.users || []), {
57624
- ...userData
57625
- }]
57626
- }));
57627
- }, []);
57628
57765
  const onSuspend = () => {
57629
57766
  antd.Modal.confirm({
57630
57767
  title: t("sbg-admin::suspend-title"),
@@ -57671,7 +57808,6 @@ function Edit({
57671
57808
  onCancel: () => {}
57672
57809
  });
57673
57810
  };
57674
- console.log("good morning", module);
57675
57811
  const renderItem = item => {
57676
57812
  if (item.type === "users") {
57677
57813
  return /*#__PURE__*/jsxRuntime.jsx(Users, {
@@ -57683,7 +57819,6 @@ function Edit({
57683
57819
  userRoles: userRoles,
57684
57820
  deleteUser: deleteUser,
57685
57821
  updateUser: updateUser,
57686
- addUser: addUser,
57687
57822
  goTo: goTo,
57688
57823
  accountStatuses: accountStatuses,
57689
57824
  transferAdmin: transferAdmin