@erpsquad/common 1.8.23 → 1.8.24

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 (118) hide show
  1. package/dist/_virtual/ArrowBack/index.esm.js +5 -0
  2. package/dist/_virtual/ArrowBack/index.esm.js.map +1 -0
  3. package/dist/_virtual/ArrowBack/index.js +2 -0
  4. package/dist/_virtual/ArrowBack/index.js.map +1 -0
  5. package/dist/_virtual/ArrowForward/index.esm.js +5 -0
  6. package/dist/_virtual/ArrowForward/index.esm.js.map +1 -0
  7. package/dist/_virtual/ArrowForward/index.js +2 -0
  8. package/dist/_virtual/ArrowForward/index.js.map +1 -0
  9. package/dist/_virtual/IndeterminateCheckBox/index.esm.js +5 -0
  10. package/dist/_virtual/IndeterminateCheckBox/index.esm.js.map +1 -0
  11. package/dist/_virtual/IndeterminateCheckBox/index.js +2 -0
  12. package/dist/_virtual/IndeterminateCheckBox/index.js.map +1 -0
  13. package/dist/_virtual/NorthEast/index.esm.js +5 -0
  14. package/dist/_virtual/NorthEast/index.esm.js.map +1 -0
  15. package/dist/_virtual/NorthEast/index.js +2 -0
  16. package/dist/_virtual/NorthEast/index.js.map +1 -0
  17. package/dist/_virtual/Visibility/index.esm.js +5 -0
  18. package/dist/_virtual/Visibility/index.esm.js.map +1 -0
  19. package/dist/_virtual/Visibility/index.js +2 -0
  20. package/dist/_virtual/Visibility/index.js.map +1 -0
  21. package/dist/_virtual/index/index.esm2.js +2 -4
  22. package/dist/_virtual/index/index.esm2.js.map +1 -1
  23. package/dist/_virtual/index/index.esm3.js +4 -2
  24. package/dist/_virtual/index/index.esm3.js.map +1 -1
  25. package/dist/_virtual/index/index2.js +1 -1
  26. package/dist/_virtual/index/index3.js +1 -1
  27. package/dist/components/charts/line-chart/area-line-chart/index.esm.js +40 -0
  28. package/dist/components/charts/line-chart/area-line-chart/index.esm.js.map +1 -0
  29. package/dist/components/charts/line-chart/area-line-chart/index.js +2 -0
  30. package/dist/components/charts/line-chart/area-line-chart/index.js.map +1 -0
  31. package/dist/components/material-table/aggregation-fns/index/index.esm.js +10 -0
  32. package/dist/components/material-table/aggregation-fns/index/index.esm.js.map +1 -1
  33. package/dist/components/material-table/aggregation-fns/index/index.js +1 -1
  34. package/dist/components/material-table/aggregation-fns/index/index.js.map +1 -1
  35. package/dist/components/material-table/components/number-aggregation/index.esm.js +133 -0
  36. package/dist/components/material-table/components/number-aggregation/index.esm.js.map +1 -0
  37. package/dist/components/material-table/components/number-aggregation/index.js +5 -0
  38. package/dist/components/material-table/components/number-aggregation/index.js.map +1 -0
  39. package/dist/index.esm.js +2 -0
  40. package/dist/index.esm.js.map +1 -1
  41. package/dist/index.js +1 -1
  42. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
  43. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
  44. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js +32 -0
  45. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js.map +1 -1
  46. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js +36 -36
  47. package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js.map +1 -1
  48. package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js +18 -0
  49. package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js.map +1 -0
  50. package/dist/node_modules/@mui/icons-material/ArrowBack/index.js +2 -0
  51. package/dist/node_modules/@mui/icons-material/ArrowBack/index.js.map +1 -0
  52. package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js +18 -0
  53. package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js.map +1 -0
  54. package/dist/node_modules/@mui/icons-material/ArrowForward/index.js +2 -0
  55. package/dist/node_modules/@mui/icons-material/ArrowForward/index.js.map +1 -0
  56. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js +18 -0
  57. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js.map +1 -0
  58. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js +2 -0
  59. package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js.map +1 -0
  60. package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js +18 -0
  61. package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js.map +1 -0
  62. package/dist/node_modules/@mui/icons-material/NorthEast/index.js +2 -0
  63. package/dist/node_modules/@mui/icons-material/NorthEast/index.js.map +1 -0
  64. package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js +18 -0
  65. package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js.map +1 -0
  66. package/dist/node_modules/@mui/icons-material/Visibility/index.js +2 -0
  67. package/dist/node_modules/@mui/icons-material/Visibility/index.js.map +1 -0
  68. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
  69. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
  70. package/dist/style.css +3 -3
  71. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js +48 -0
  72. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js.map +1 -0
  73. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js +2 -0
  74. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js.map +1 -0
  75. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js +50 -0
  76. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js.map +1 -0
  77. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js +2 -0
  78. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js.map +1 -0
  79. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js +57 -0
  80. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js.map +1 -0
  81. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js +2 -0
  82. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js.map +1 -0
  83. package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js +41 -0
  84. package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js.map +1 -0
  85. package/dist/views/beforeAuth/components/grid-data/grid-data/index.js +2 -0
  86. package/dist/views/beforeAuth/components/grid-data/grid-data/index.js.map +1 -0
  87. package/dist/views/beforeAuth/components/index/index.esm.js +1144 -0
  88. package/dist/views/beforeAuth/components/index/index.esm.js.map +1 -0
  89. package/dist/views/beforeAuth/components/index/index.js +206 -0
  90. package/dist/views/beforeAuth/components/index/index.js.map +1 -0
  91. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js +72 -0
  92. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js.map +1 -0
  93. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js +2 -0
  94. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js.map +1 -0
  95. package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js +54 -0
  96. package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js.map +1 -0
  97. package/dist/views/beforeAuth/components/list-content/column-raw/index.js +2 -0
  98. package/dist/views/beforeAuth/components/list-content/column-raw/index.js.map +1 -0
  99. package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js +61 -0
  100. package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js.map +1 -0
  101. package/dist/views/beforeAuth/components/list-content/list-data/index.js +2 -0
  102. package/dist/views/beforeAuth/components/list-content/list-data/index.js.map +1 -0
  103. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js +21 -0
  104. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js.map +1 -0
  105. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js +2 -0
  106. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js.map +1 -0
  107. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js +21 -0
  108. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js.map +1 -0
  109. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js +2 -0
  110. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js.map +1 -0
  111. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js +306 -0
  112. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js.map +1 -0
  113. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js +2 -0
  114. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js.map +1 -0
  115. package/dist/views/index.esm.js +2 -0
  116. package/dist/views/index.esm.js.map +1 -1
  117. package/dist/views/index.js +1 -1
  118. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ var ArrowBack = {};
2
+ export {
3
+ ArrowBack as __exports
4
+ };
5
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__exports={};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ var ArrowForward = {};
2
+ export {
3
+ ArrowForward as __exports
4
+ };
5
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__exports={};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ var IndeterminateCheckBox = {};
2
+ export {
3
+ IndeterminateCheckBox as __exports
4
+ };
5
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__exports={};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ var NorthEast = {};
2
+ export {
3
+ NorthEast as __exports
4
+ };
5
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__exports={};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ var Visibility = {};
2
+ export {
3
+ Visibility as __exports
4
+ };
5
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__exports={};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,7 +1,5 @@
1
- import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/material/utils/index/index.esm.js";
3
- var require$$0 = /* @__PURE__ */ getAugmentedNamespace(index);
1
+ var dist = { exports: {} };
4
2
  export {
5
- require$$0 as default
3
+ dist as __module
6
4
  };
7
5
  //# sourceMappingURL=index.esm2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.esm2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,7 @@
1
- var dist = { exports: {} };
1
+ import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
+ import * as index from "../../node_modules/@mui/material/utils/index/index.esm.js";
3
+ var require$$0 = /* @__PURE__ */ getAugmentedNamespace(index);
2
4
  export {
3
- dist as __module
5
+ require$$0 as default
4
6
  };
5
7
  //# sourceMappingURL=index.esm3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index.esm3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/material/utils/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__module={exports:{}};
2
2
  //# sourceMappingURL=index2.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.__module={exports:{}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/material/utils/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
2
2
  //# sourceMappingURL=index3.js.map
@@ -0,0 +1,40 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useRef, useEffect } from "react";
3
+ import linear from "../../../../node_modules/d3-scale/src/linear/index.esm.js";
4
+ import max from "../../../../node_modules/d3-array/src/max/index.esm.js";
5
+ import select from "../../../../node_modules/d3-selection/src/select/index.esm.js";
6
+ import line from "../../../../node_modules/d3-shape/src/line/index.esm.js";
7
+ import area from "../../../../node_modules/d3-shape/src/area/index.esm.js";
8
+ const AreaLineChart = ({
9
+ data,
10
+ width = "auto",
11
+ // Set default width to "100%"
12
+ height = "auto",
13
+ lineColor = "#ADE7CB",
14
+ lineFillColor = "#EBF9F2",
15
+ ...rest
16
+ }) => {
17
+ const svgRef = useRef(null);
18
+ useEffect(() => {
19
+ var _a, _b;
20
+ const svg = select(svgRef.current);
21
+ svg.selectAll("*").remove();
22
+ const margin = { top: 5, left: 0 };
23
+ const chartWidth = typeof width === "number" ? width : ((_b = (_a = svgRef.current) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.clientWidth) || 360;
24
+ const chartHeight = height;
25
+ const x = linear().domain([0, data.length - 1]).range([0, chartWidth]);
26
+ const y = linear().domain([0, max(data, (d) => d.value)]).range([chartHeight, 0]);
27
+ const line$1 = line().x((_, i) => x(i)).y((d) => y(d.value));
28
+ const area$1 = area().x((_, i) => x(i)).y0(chartHeight).y1((d) => y(d.value));
29
+ const chart = svg.append("g").attr("transform", `translate(${margin.left},${margin.top})`);
30
+ chart.append("path").datum(data).attr("class", "line").attr("d", line$1).style("fill", "none").style("stroke", lineColor).style("stroke-width", 5);
31
+ chart.append("path").datum(data).attr("class", "area").attr("d", area$1).style("fill", lineFillColor);
32
+ chart.selectAll(".domain").remove();
33
+ chart.selectAll(".tick line").remove();
34
+ }, [data, height, lineColor, lineFillColor, width]);
35
+ return /* @__PURE__ */ jsx("svg", { ref: svgRef, width, height, ...rest });
36
+ };
37
+ export {
38
+ AreaLineChart as default
39
+ };
40
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/charts/line-chart/area-line-chart.tsx"],"sourcesContent":["// import React, { useRef, useEffect } from \"react\";\n// import * as d3 from \"d3\";\n\n// interface DataPoint {\n// label: string;\n// value: number;\n// }\n\n// interface LineChartProps {\n// data: DataPoint[];\n// width?: number;\n// height?: number;\n// lineColor?: string;\n// lineFillColor?: string;\n// }\n\n// const AreaLineChart: React.FC<LineChartProps> = ({\n// data,\n// width = 360,\n// height = 100,\n// lineColor = \"#ADE7CB\",\n// lineFillColor = \"#EBF9F2\",\n// ...rest\n// }) => {\n// const svgRef = useRef<SVGSVGElement>(null);\n\n// useEffect(() => {\n// const svg = d3.select(svgRef.current);\n\n// svg.selectAll(\"*\").remove();\n\n// const margin = { top: 5, left: 0 };\n// const chartWidth = width;\n// const chartHeight = height;\n\n// const x = d3\n// .scaleLinear()\n// .domain([0, data.length - 1])\n// .range([0, chartWidth]);\n\n// const y = d3\n// .scaleLinear()\n// //@ts-expect-error not applicable\n// .domain([0, d3.max(data, (d: DataPoint) => d.value)])\n// .range([chartHeight, 0]);\n\n// const line = d3\n// .line<DataPoint>()\n// .x((_: DataPoint, i: number) => x(i))\n// .y((d: DataPoint) => y(d.value));\n\n// const area = d3\n// .area<DataPoint>()\n// .x((_: DataPoint, i: number) => x(i))\n// .y0(chartHeight)\n// .y1((d: DataPoint) => y(d.value));\n\n// const chart = svg\n// .append(\"g\")\n// .attr(\"transform\", `translate(${margin.left},${margin.top})`);\n\n// chart\n// .append(\"path\")\n// .datum(data)\n// .attr(\"class\", \"line\")\n// .attr(\"d\", line)\n// .style(\"fill\", \"none\")\n// .style(\"stroke\", lineColor)\n// .style(\"stroke-width\", 5);\n\n// chart\n// .append(\"path\")\n// .datum(data)\n// .attr(\"class\", \"area\")\n// .attr(\"d\", area)\n// .style(\"fill\", lineFillColor);\n\n// chart.selectAll(\".domain\").remove();\n// chart.selectAll(\".tick line\").remove();\n// }, [data, height, lineColor, lineFillColor, width]);\n\n// return <svg ref={svgRef} width={width} height={height} {...rest}></svg>;\n// };\n\n// export default AreaLineChart;\n\n\nimport React, { useRef, useEffect } from \"react\";\nimport * as d3 from \"d3\";\n\ninterface DataPoint {\n label: string;\n value: number;\n}\n\ninterface LineChartProps {\n data: DataPoint[];\n width?: number | string; // Adjusted to accept string for percentage width\n height?: number | string;\n lineColor?: string;\n lineFillColor?: string;\n}\n\nconst AreaLineChart: React.FC<LineChartProps> = ({\n data,\n width = \"auto\", // Set default width to \"100%\"\n height = \"auto\",\n lineColor = \"#ADE7CB\",\n lineFillColor = \"#EBF9F2\",\n ...rest\n}) => {\n const svgRef = useRef<SVGSVGElement>(null);\n\n useEffect(() => {\n const svg = d3.select(svgRef.current);\n\n svg.selectAll(\"*\").remove();\n\n const margin = { top: 5, left: 0 };\n const chartWidth = typeof width === \"number\" ? width : svgRef.current?.parentElement?.clientWidth || 360; // Calculate width dynamically\n\n const chartHeight = height;\n\n const x = d3\n .scaleLinear()\n .domain([0, data.length - 1])\n .range([0, chartWidth]);\n\n const y = d3\n .scaleLinear()\n .domain([0, d3.max(data, (d: DataPoint) => d.value)])\n .range([chartHeight, 0]);\n\n const line = d3\n .line<DataPoint>()\n .x((_: DataPoint, i: number) => x(i))\n .y((d: DataPoint) => y(d.value));\n\n const area = d3\n .area<DataPoint>()\n .x((_: DataPoint, i: number) => x(i))\n .y0(chartHeight)\n .y1((d: DataPoint) => y(d.value));\n\n const chart = svg\n .append(\"g\")\n .attr(\"transform\", `translate(${margin.left},${margin.top})`);\n\n chart\n .append(\"path\")\n .datum(data)\n .attr(\"class\", \"line\")\n .attr(\"d\", line)\n .style(\"fill\", \"none\")\n .style(\"stroke\", lineColor)\n .style(\"stroke-width\", 5);\n\n chart\n .append(\"path\")\n .datum(data)\n .attr(\"class\", \"area\")\n .attr(\"d\", area)\n .style(\"fill\", lineFillColor);\n\n chart.selectAll(\".domain\").remove();\n chart.selectAll(\".tick line\").remove();\n }, [data, height, lineColor, lineFillColor, width]);\n\n return <svg ref={svgRef} width={width} height={height} {...rest}></svg>;\n};\n\nexport default AreaLineChart;\n"],"names":["d3.select","d3.scaleLinear","d3.max","line","d3.line","area","d3.area"],"mappings":";;;;;;;AAuGA,MAAM,gBAA0C,CAAC;AAAA,EAC/C;AAAA,EACA,QAAQ;AAAA;AAAA,EACR,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,GAAG;AACL,MAAM;AACJ,QAAM,SAAS,OAAsB,IAAI;AAEzC,YAAU,MAAM;;AACd,UAAM,MAAMA,OAAU,OAAO,OAAO;AAEpC,QAAI,UAAU,GAAG,EAAE,OAAA;AAEnB,UAAM,SAAS,EAAE,KAAK,GAAG,MAAM,EAAA;AAC/B,UAAM,aAAa,OAAO,UAAU,WAAW,UAAQ,kBAAO,YAAP,mBAAgB,kBAAhB,mBAA+B,gBAAe;AAErG,UAAM,cAAc;AAEpB,UAAM,IAAIC,OACP,EACA,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,EAC3B,MAAM,CAAC,GAAG,UAAU,CAAC;AAExB,UAAM,IAAIA,SAEP,OAAO,CAAC,GAAGC,IAAO,MAAM,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC,EACnD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,UAAMC,SAAOC,KACV,EACA,EAAE,CAAC,GAAc,MAAc,EAAE,CAAC,CAAC,EACnC,EAAE,CAAC,MAAiB,EAAE,EAAE,KAAK,CAAC;AAEjC,UAAMC,SAAOC,OAEV,EAAE,CAAC,GAAc,MAAc,EAAE,CAAC,CAAC,EACnC,GAAG,WAAW,EACd,GAAG,CAAC,MAAiB,EAAE,EAAE,KAAK,CAAC;AAElC,UAAM,QAAQ,IACX,OAAO,GAAG,EACV,KAAK,aAAa,aAAa,OAAO,IAAI,IAAI,OAAO,GAAG,GAAG;AAE9D,UACG,OAAO,MAAM,EACb,MAAM,IAAI,EACV,KAAK,SAAS,MAAM,EACpB,KAAK,KAAKH,MAAI,EACd,MAAM,QAAQ,MAAM,EACpB,MAAM,UAAU,SAAS,EACzB,MAAM,gBAAgB,CAAC;AAE1B,UACG,OAAO,MAAM,EACb,MAAM,IAAI,EACV,KAAK,SAAS,MAAM,EACpB,KAAK,KAAKE,MAAI,EACd,MAAM,QAAQ,aAAa;AAE9B,UAAM,UAAU,SAAS,EAAE,OAAA;AAC3B,UAAM,UAAU,YAAY,EAAE,OAAA;AAAA,EAChC,GAAG,CAAC,MAAM,QAAQ,WAAW,eAAe,KAAK,CAAC;AAElD,6BAAQ,OAAA,EAAI,KAAK,QAAQ,OAAc,QAAiB,GAAG,MAAM;AACnE;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../../../../node_modules/d3-scale/src/linear/index.js"),l=require("../../../../node_modules/d3-array/src/max/index.js"),a=require("../../../../node_modules/d3-selection/src/select/index.js"),s=require("../../../../node_modules/d3-shape/src/line/index.js"),d=require("../../../../node_modules/d3-shape/src/area/index.js");exports.default=({data:n,width:u="auto",height:i="auto",lineColor:o="#ADE7CB",lineFillColor:c="#EBF9F2",...m})=>{const f=t.useRef(null);return t.useEffect(()=>{var e,t;const m=a.default(f.current);m.selectAll("*").remove();const p="number"==typeof u?u:(null==(t=null==(e=f.current)?void 0:e.parentElement)?void 0:t.clientWidth)||360,h=i,v=r.default().domain([0,n.length-1]).range([0,p]),x=r.default().domain([0,l.default(n,e=>e.value)]).range([h,0]),y=s.default().x((e,t)=>v(t)).y(e=>x(e.value)),j=d.default().x((e,t)=>v(t)).y0(h).y1(e=>x(e.value)),g=m.append("g").attr("transform","translate(0,5)");g.append("path").datum(n).attr("class","line").attr("d",y).style("fill","none").style("stroke",o).style("stroke-width",5),g.append("path").datum(n).attr("class","area").attr("d",j).style("fill",c),g.selectAll(".domain").remove(),g.selectAll(".tick line").remove()},[n,i,o,c,u]),/* @__PURE__ */e.jsx("svg",{ref:f,width:u,height:i,...m})};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/charts/line-chart/area-line-chart.tsx"],"sourcesContent":["// import React, { useRef, useEffect } from \"react\";\n// import * as d3 from \"d3\";\n\n// interface DataPoint {\n// label: string;\n// value: number;\n// }\n\n// interface LineChartProps {\n// data: DataPoint[];\n// width?: number;\n// height?: number;\n// lineColor?: string;\n// lineFillColor?: string;\n// }\n\n// const AreaLineChart: React.FC<LineChartProps> = ({\n// data,\n// width = 360,\n// height = 100,\n// lineColor = \"#ADE7CB\",\n// lineFillColor = \"#EBF9F2\",\n// ...rest\n// }) => {\n// const svgRef = useRef<SVGSVGElement>(null);\n\n// useEffect(() => {\n// const svg = d3.select(svgRef.current);\n\n// svg.selectAll(\"*\").remove();\n\n// const margin = { top: 5, left: 0 };\n// const chartWidth = width;\n// const chartHeight = height;\n\n// const x = d3\n// .scaleLinear()\n// .domain([0, data.length - 1])\n// .range([0, chartWidth]);\n\n// const y = d3\n// .scaleLinear()\n// //@ts-expect-error not applicable\n// .domain([0, d3.max(data, (d: DataPoint) => d.value)])\n// .range([chartHeight, 0]);\n\n// const line = d3\n// .line<DataPoint>()\n// .x((_: DataPoint, i: number) => x(i))\n// .y((d: DataPoint) => y(d.value));\n\n// const area = d3\n// .area<DataPoint>()\n// .x((_: DataPoint, i: number) => x(i))\n// .y0(chartHeight)\n// .y1((d: DataPoint) => y(d.value));\n\n// const chart = svg\n// .append(\"g\")\n// .attr(\"transform\", `translate(${margin.left},${margin.top})`);\n\n// chart\n// .append(\"path\")\n// .datum(data)\n// .attr(\"class\", \"line\")\n// .attr(\"d\", line)\n// .style(\"fill\", \"none\")\n// .style(\"stroke\", lineColor)\n// .style(\"stroke-width\", 5);\n\n// chart\n// .append(\"path\")\n// .datum(data)\n// .attr(\"class\", \"area\")\n// .attr(\"d\", area)\n// .style(\"fill\", lineFillColor);\n\n// chart.selectAll(\".domain\").remove();\n// chart.selectAll(\".tick line\").remove();\n// }, [data, height, lineColor, lineFillColor, width]);\n\n// return <svg ref={svgRef} width={width} height={height} {...rest}></svg>;\n// };\n\n// export default AreaLineChart;\n\n\nimport React, { useRef, useEffect } from \"react\";\nimport * as d3 from \"d3\";\n\ninterface DataPoint {\n label: string;\n value: number;\n}\n\ninterface LineChartProps {\n data: DataPoint[];\n width?: number | string; // Adjusted to accept string for percentage width\n height?: number | string;\n lineColor?: string;\n lineFillColor?: string;\n}\n\nconst AreaLineChart: React.FC<LineChartProps> = ({\n data,\n width = \"auto\", // Set default width to \"100%\"\n height = \"auto\",\n lineColor = \"#ADE7CB\",\n lineFillColor = \"#EBF9F2\",\n ...rest\n}) => {\n const svgRef = useRef<SVGSVGElement>(null);\n\n useEffect(() => {\n const svg = d3.select(svgRef.current);\n\n svg.selectAll(\"*\").remove();\n\n const margin = { top: 5, left: 0 };\n const chartWidth = typeof width === \"number\" ? width : svgRef.current?.parentElement?.clientWidth || 360; // Calculate width dynamically\n\n const chartHeight = height;\n\n const x = d3\n .scaleLinear()\n .domain([0, data.length - 1])\n .range([0, chartWidth]);\n\n const y = d3\n .scaleLinear()\n .domain([0, d3.max(data, (d: DataPoint) => d.value)])\n .range([chartHeight, 0]);\n\n const line = d3\n .line<DataPoint>()\n .x((_: DataPoint, i: number) => x(i))\n .y((d: DataPoint) => y(d.value));\n\n const area = d3\n .area<DataPoint>()\n .x((_: DataPoint, i: number) => x(i))\n .y0(chartHeight)\n .y1((d: DataPoint) => y(d.value));\n\n const chart = svg\n .append(\"g\")\n .attr(\"transform\", `translate(${margin.left},${margin.top})`);\n\n chart\n .append(\"path\")\n .datum(data)\n .attr(\"class\", \"line\")\n .attr(\"d\", line)\n .style(\"fill\", \"none\")\n .style(\"stroke\", lineColor)\n .style(\"stroke-width\", 5);\n\n chart\n .append(\"path\")\n .datum(data)\n .attr(\"class\", \"area\")\n .attr(\"d\", area)\n .style(\"fill\", lineFillColor);\n\n chart.selectAll(\".domain\").remove();\n chart.selectAll(\".tick line\").remove();\n }, [data, height, lineColor, lineFillColor, width]);\n\n return <svg ref={svgRef} width={width} height={height} {...rest}></svg>;\n};\n\nexport default AreaLineChart;\n"],"names":["data","width","height","lineColor","lineFillColor","rest","svgRef","useRef","useEffect","svg","d3.select","current","selectAll","remove","chartWidth","_b","_a","parentElement","clientWidth","chartHeight","x","d3.scaleLinear","domain","length","range","y","d3.max","d","value","line","d3.line","_","i","area","d3.area","y0","y1","chart","append","attr","datum","style","ref"],"mappings":"sdAuGgD,EAC9CA,OACAC,QAAQ,OACRC,SAAS,OACTC,YAAY,UACZC,gBAAgB,aACbC,MAEH,MAAMC,EAASC,EAAAA,OAAsB,MAyDrC,OAvDAC,EAAAA,UAAU,aACR,MAAMC,EAAMC,EAAAA,QAAUJ,EAAOK,SAE7BF,EAAIG,UAAU,KAAKC,SAEnB,MACMC,EAA8B,iBAAVb,EAAqBA,GAAQ,OAAAc,EAAA,WAAOJ,cAAP,EAAAK,EAAgBC,oBAAhB,EAAAF,EAA+BG,cAAe,IAE/FC,EAAcjB,EAEdkB,EAAIC,EAAAA,UAEPC,OAAO,CAAC,EAAGtB,EAAKuB,OAAS,IACzBC,MAAM,CAAC,EAAGV,IAEPW,EAAIJ,EAAAA,UAEPC,OAAO,CAAC,EAAGI,EAAAA,QAAO1B,EAAO2B,GAAiBA,EAAEC,SAC5CJ,MAAM,CAACL,EAAa,IAEjBU,EAAOC,EAAAA,UAEVV,EAAE,CAACW,EAAcC,IAAcZ,EAAEY,IACjCP,EAAGE,GAAiBF,EAAEE,EAAEC,QAErBK,EAAOC,EAAAA,UAEVd,EAAE,CAACW,EAAcC,IAAcZ,EAAEY,IACjCG,GAAGhB,GACHiB,GAAIT,GAAiBF,EAAEE,EAAEC,QAEtBS,EAAQ5B,EACX6B,OAAO,KACPC,KAAK,YAAa,kBAErBF,EACGC,OAAO,QACPE,MAAMxC,GACNuC,KAAK,QAAS,QACdA,KAAK,IAAKV,GACVY,MAAM,OAAQ,QACdA,MAAM,SAAUtC,GAChBsC,MAAM,eAAgB,GAEzBJ,EACGC,OAAO,QACPE,MAAMxC,GACNuC,KAAK,QAAS,QACdA,KAAK,IAAKN,GACVQ,MAAM,OAAQrC,GAEjBiC,EAAMzB,UAAU,WAAWC,SAC3BwB,EAAMzB,UAAU,cAAcC,UAC7B,CAACb,EAAME,EAAQC,EAAWC,EAAeH,yBAEpC,MAAA,CAAIyC,IAAKpC,EAAQL,QAAcC,YAAoBG"}
@@ -21,6 +21,10 @@ const sum = (data, column) => {
21
21
  );
22
22
  return !isNaN(sum2) ? `${_.round(sum2, 2)}` : "-";
23
23
  };
24
+ const max = (data, column) => {
25
+ const maxVal = Math.max(...data.map((row) => Number(row[column])));
26
+ return `${maxVal}`;
27
+ };
24
28
  const countEmpty = (data, column) => {
25
29
  const empty = data == null ? void 0 : data.filter(
26
30
  (d) => {
@@ -62,8 +66,14 @@ const countFull = (data, column) => {
62
66
  const none = () => {
63
67
  return null;
64
68
  };
69
+ const min = (data, column) => {
70
+ const minValue = Math.min(...data.map((row) => Number(row[column])));
71
+ return `${minValue}`;
72
+ };
65
73
  const aggregationFns = {
66
74
  none,
75
+ min,
76
+ max,
67
77
  sum,
68
78
  average,
69
79
  countEmpty,
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/material-table/aggregation-fns/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n"],"names":["sum"],"mappings":";AAGA,MAAM,UAAU,CAAC,MAAqB,WAAmB;AACxD,QAAMA,OAAM,KAAK;AAAA,IAChB,CAAC,KAAa,QAAQ,MAAM,OAAO,cAAc,IAAI,MAAM,CAAC,CAAC;AAAA,IAC7D;AAAA,EAAA;AAED,QAAM,QAAQ,KAAK;AACnB,SAAO,CAAC,MAAMA,IAAG,IAAI,GAAG,EAAE,MAAMA,OAAM,OAAM,CAAC,CAAC,KAAK;AACpD;AAEA,MAAM,gBAAgB,CAAC,gBAAqB;AAE3C,MAAI,OAAO,gBAAgB,UAAU;AACpC,UAAM,QAAQ,YAAY,MAAM,oBAAoB;AACpD,WAAO,QAAQ,MAAM,CAAC,IAAI;AAAA,EAC3B;AACA,SAAO;AACR;AACA,MAAM,MAAM,CAAC,MAAqB,WAAmB;AACpD,QAAMA,OAAM,KAAK;AAAA,IAChB,CAAC,KAAa,QAAQ,MAAM,OAAO,cAAc,IAAI,MAAM,CAAC,CAAC;AAAA,IAC7D;AAAA,EAAA;AAED,SAAO,CAAC,MAAMA,IAAG,IAAI,GAAG,EAAE,MAAMA,MAAI,CAAC,CAAC,KAAK;AAC5C;AAOA,MAAM,aAAa,CAAC,MAAqB,WAAmB;AAC3D,QAAM,QAAQ,6BAAM;AAAA,IAAO,CAAC,MAAM;AACjC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,IACtB,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,IAC1B;AAAA;AAEA,SAAO,GAAG,MAAM,MAAM;AACvB;AAEA,MAAM,kBAAkB,CAAC,MAAqB,WAAmB;AAChE,QAAM,QAAQ,6BAAM;AAAA,IAAO,CAAC,MAAM;AACjC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,IACtB,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,IAC1B;AAAA;AAEA,QAAM,aAAc,MAAM,SAAS,KAAK,SAAU;AAElD,SAAO,GAAG,EAAE,MAAM,YAAW,CAAC,CAAC;AAChC;AAEA,MAAM,iBAAiB,CAAC,MAAqB,WAAmB;AAC/D,QAAM,OAAO,6BAAM;AAAA,IAAO,CAAC,MAAM;AAChC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,EAAE,KAAK,KAAK,CAAC,IACrB,QAAQ,OAAO,KAAK,CAAC;AAAA,IACzB;AAAA;AAEA,QAAM,aAAc,KAAK,SAAS,KAAK,SAAU;AAEjD,SAAO,GAAG,EAAE,MAAM,YAAW,CAAC,CAAC;AAChC;AAEA,MAAM,YAAY,CAAC,MAAqB,WAAmB;AAC1D,QAAM,OAAO,6BAAM;AAAA,IAAO,CAAC,MAAM;AAChC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,EAAE,KAAK,KAAK,CAAC,IACrB,QAAQ,OAAO,KAAK,CAAC;AAAA,IACzB;AAAA;AAEA,SAAO,GAAG,KAAK,MAAM;AACtB;AAEA,MAAM,OAAO,MAAM;AAClB,SAAO;AACR;AAOO,MAAM,iBAAiB;AAAA,EAC7B;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/material-table/aggregation-fns/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n"],"names":["sum"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var t=/* @__PURE__ */e(require("lodash"));const n=e=>{if("string"==typeof e){const t=e.match(/[\d,]+(\.\d{1,2})?/);return t?t[0]:0}return e},u={none:()=>null,sum:(e,u)=>{const r=e.reduce((e,t)=>e+Number(n(t[u])),0);return isNaN(r)?"-":`${t.default.round(r,2)}`},average:(e,u)=>{const r=e.reduce((e,t)=>e+Number(n(t[u])),0),l=e.length;return isNaN(r)?"-":`${t.default.round(r/l,2)}`},countEmpty:(e,n)=>`${(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(!t.default.size(u)):Boolean(!Number(u))})).length}`,countFull:(e,n)=>`${(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(t.default.size(u)):Boolean(Number(u))})).length}`,percentageEmpty:(e,n)=>{const u=(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(!t.default.size(u)):Boolean(!Number(u))})).length/e.length*100;return`${t.default.round(u,2)}%`},percentageFull:(e,n)=>{const u=(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(t.default.size(u)):Boolean(Number(u))})).length/e.length*100;return`${t.default.round(u,2)}%`}};exports.aggregationFns=u;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var t=/* @__PURE__ */e(require("lodash"));const n=e=>{if("string"==typeof e){const t=e.match(/[\d,]+(\.\d{1,2})?/);return t?t[0]:0}return e},u={none:()=>null,min:(e,t)=>`${Math.min(...e.map(e=>Number(e[t])))}`,max:(e,t)=>`${Math.max(...e.map(e=>Number(e[t])))}`,sum:(e,u)=>{const r=e.reduce((e,t)=>e+Number(n(t[u])),0);return isNaN(r)?"-":`${t.default.round(r,2)}`},average:(e,u)=>{const r=e.reduce((e,t)=>e+Number(n(t[u])),0),l=e.length;return isNaN(r)?"-":`${t.default.round(r/l,2)}`},countEmpty:(e,n)=>`${(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(!t.default.size(u)):Boolean(!Number(u))})).length}`,countFull:(e,n)=>`${(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(t.default.size(u)):Boolean(Number(u))})).length}`,percentageEmpty:(e,n)=>{const u=(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(!t.default.size(u)):Boolean(!Number(u))})).length/e.length*100;return`${t.default.round(u,2)}%`},percentageFull:(e,n)=>{const u=(null==e?void 0:e.filter(e=>{const u=t.default.get(e,n);return isNaN(Number(u))?Boolean(t.default.size(u)):Boolean(Number(u))})).length/e.length*100;return`${t.default.round(u,2)}%`}};exports.aggregationFns=u;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/material-table/aggregation-fns/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n"],"names":["extractNumber","inputString","match","aggregationFns","none","sum","data","column","reduce","acc","row","Number","isNaN","_","round","average","count","length","countEmpty","filter","d","value","get","Boolean","size","countFull","percentageEmpty","percentage","percentageFull"],"mappings":"sLAGA,MASMA,EAAiBC,IAEtB,GAA2B,iBAAhBA,EAA0B,CACpC,MAAMC,EAAQD,EAAYC,MAAM,sBAChC,OAAOA,EAAQA,EAAM,GAAK,CAC3B,CACA,OAAOD,GAwEKE,EAAiB,CAC7BC,KAVY,IACL,KAYPC,IA1EW,CAACC,EAAqBC,KACjC,MAAMF,EAAMC,EAAKE,OAChB,CAACC,EAAaC,IAAQD,EAAME,OAAOX,EAAcU,EAAIH,KACrD,GAED,OAAQK,MAAMP,GAA6B,IAAtB,GAAGQ,EAAAA,QAAEC,MAAMT,EAAI,MAsEpCU,QA5Fe,CAACT,EAAqBC,KACrC,MAAMF,EAAMC,EAAKE,OAChB,CAACC,EAAaC,IAAQD,EAAME,OAAOX,EAAcU,EAAIH,KACrD,GAEKS,EAAQV,EAAKW,OACnB,OAAQL,MAAMP,GAAqC,IAA9B,GAAGQ,EAAAA,QAAEC,MAAMT,EAAMW,EAAM,MAuF5CE,WA/DkB,CAACZ,EAAqBC,IAQjC,IAPO,MAAAD,OAAA,EAAAA,EAAMa,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAASZ,OAAOU,OAGJJ,SAwDhBQ,UA3BiB,CAACnB,EAAqBC,IAQhC,IAPM,MAAAD,OAAA,EAAAA,EAAMa,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQZ,OAAOU,OAGJJ,SAoBfS,gBAtDuB,CAACpB,EAAqBC,KAC7C,MAOMoB,GAPQ,MAAArB,OAAA,EAAAA,EAAMa,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAASZ,OAAOU,OAGMJ,OAASX,EAAKW,OAAU,IAElD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW,OA6C7BC,eA1CsB,CAACtB,EAAqBC,KAC5C,MAOMoB,GAPO,MAAArB,OAAA,EAAAA,EAAMa,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGb,GACvB,OAAOK,MAAMD,OAAOU,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQZ,OAAOU,OAGMJ,OAASX,EAAKW,OAAU,IAEjD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/material-table/aggregation-fns/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n"],"names":["extractNumber","inputString","match","aggregationFns","none","min","data","column","Math","map","row","Number","max","sum","reduce","acc","isNaN","_","round","average","count","length","countEmpty","filter","d","value","get","Boolean","size","countFull","percentageEmpty","percentage","percentageFull"],"mappings":"sLAGA,MASMA,EAAiBC,IAEtB,GAA2B,iBAAhBA,EAA0B,CACpC,MAAMC,EAAQD,EAAYC,MAAM,sBAChC,OAAOA,EAAQA,EAAM,GAAK,CAC3B,CACA,OAAOD,GAwEKE,EAAiB,CAC7BC,KAVY,IACL,KAUPC,IAPW,CAACC,EAAqBC,IAE1B,GADUC,KAAKH,OAAOC,EAAKG,IAAKC,GAAQC,OAAOD,EAAIH,QAO1DK,IAjEW,CAACN,EAAqBC,IAE1B,GADQC,KAAKI,OAAON,EAAKG,IAAKC,GAAQC,OAAOD,EAAIH,QAiExDM,IA1EW,CAACP,EAAqBC,KACjC,MAAMM,EAAMP,EAAKQ,OAChB,CAACC,EAAaL,IAAQK,EAAMJ,OAAOX,EAAcU,EAAIH,KACrD,GAED,OAAQS,MAAMH,GAA6B,IAAtB,GAAGI,EAAAA,QAAEC,MAAML,EAAI,MAsEpCM,QA5Fe,CAACb,EAAqBC,KACrC,MAAMM,EAAMP,EAAKQ,OAChB,CAACC,EAAaL,IAAQK,EAAMJ,OAAOX,EAAcU,EAAIH,KACrD,GAEKa,EAAQd,EAAKe,OACnB,OAAQL,MAAMH,GAAqC,IAA9B,GAAGI,EAAAA,QAAEC,MAAML,EAAMO,EAAM,MAuF5CE,WA/DkB,CAAChB,EAAqBC,IAQjC,IAPO,MAAAD,OAAA,EAAAA,EAAMiB,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAAShB,OAAOc,OAGJJ,SAwDhBQ,UA3BiB,CAACvB,EAAqBC,IAQhC,IAPM,MAAAD,OAAA,EAAAA,EAAMiB,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQhB,OAAOc,OAGJJ,SAoBfS,gBAtDuB,CAACxB,EAAqBC,KAC7C,MAOMwB,GAPQ,MAAAzB,OAAA,EAAAA,EAAMiB,OAAQC,IAC3B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,SAASV,EAAAA,QAAEW,KAAKH,IAChBE,SAAShB,OAAOc,OAGMJ,OAASf,EAAKe,OAAU,IAElD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW,OA6C7BC,eA1CsB,CAAC1B,EAAqBC,KAC5C,MAOMwB,GAPO,MAAAzB,OAAA,EAAAA,EAAMiB,OAAQC,IAC1B,MAAMC,EAAQR,EAAAA,QAAES,IAAIF,EAAGjB,GACvB,OAAOS,MAAML,OAAOc,IACjBE,QAAQV,EAAAA,QAAEW,KAAKH,IACfE,QAAQhB,OAAOc,OAGMJ,OAASf,EAAKe,OAAU,IAEjD,MAAO,GAAGJ,EAAAA,QAAEC,MAAMa,EAAW"}
@@ -0,0 +1,133 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import React__default, { useEffect } from "react";
3
+ import { aggregationFns } from "../../aggregation-fns/index/index.esm.js";
4
+ import { Typography } from "../../../typography/typography/index.esm.js";
5
+ import Menu from "../../../menu/menu/index.esm.js";
6
+ import MenuItem from "../../../../node_modules/@mui/material/MenuItem/MenuItem/index.esm.js";
7
+ const allAggregations = [
8
+ {
9
+ label: "Average",
10
+ value: "avg"
11
+ },
12
+ {
13
+ label: "Sum",
14
+ value: "sum"
15
+ },
16
+ {
17
+ label: "Min",
18
+ value: "min"
19
+ },
20
+ {
21
+ label: "Max",
22
+ value: "max"
23
+ },
24
+ {
25
+ label: "Count Empty",
26
+ value: "count_empty"
27
+ },
28
+ {
29
+ label: "Count Full",
30
+ value: "count_full"
31
+ },
32
+ {
33
+ label: "Percentage Full",
34
+ value: "percentage_full"
35
+ },
36
+ {
37
+ label: "Percentage Empty",
38
+ value: "percentage_empty"
39
+ },
40
+ {
41
+ label: "None",
42
+ value: "none"
43
+ }
44
+ ];
45
+ const nonNumberAggregations = [
46
+ {
47
+ label: "Count Empty",
48
+ value: "count_empty"
49
+ },
50
+ {
51
+ label: "Count Full",
52
+ value: "count_full"
53
+ },
54
+ {
55
+ label: "Percentage Full",
56
+ value: "percentage_full"
57
+ },
58
+ {
59
+ label: "Percentage Empty",
60
+ value: "percentage_empty"
61
+ },
62
+ {
63
+ label: "None",
64
+ value: "none"
65
+ }
66
+ ];
67
+ const aggregationFnsLookup = {
68
+ avg: aggregationFns.average,
69
+ sum: aggregationFns.sum,
70
+ max: aggregationFns.max,
71
+ count_empty: aggregationFns.countEmpty,
72
+ count_full: aggregationFns.countFull,
73
+ percentage_empty: aggregationFns.percentageEmpty,
74
+ percentage_full: aggregationFns.percentageFull,
75
+ min: aggregationFns.min,
76
+ none: aggregationFns.none
77
+ };
78
+ const NumberAggregation = ({ data, column, type }) => {
79
+ const [selectedType, setSelectedType] = React__default.useState("none");
80
+ const [anchorEl, setAnchorEl] = React__default.useState(null);
81
+ const [calculatedValue, setCalculatedValue] = React__default.useState();
82
+ const open = Boolean(anchorEl);
83
+ const handleClick = (event) => {
84
+ setAnchorEl(event.currentTarget);
85
+ };
86
+ const handleClose = () => {
87
+ setAnchorEl(null);
88
+ };
89
+ const handleAggregationType = (val) => {
90
+ setSelectedType(val);
91
+ handleClose();
92
+ };
93
+ useEffect(() => {
94
+ const func = aggregationFnsLookup[selectedType];
95
+ setCalculatedValue(func(data, column));
96
+ }, [selectedType, column, data]);
97
+ const aggregations = type === "number" ? allAggregations : nonNumberAggregations;
98
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
99
+ /* @__PURE__ */ jsx(
100
+ Typography,
101
+ {
102
+ onClick: handleClick,
103
+ sx: { cursor: "pointer" },
104
+ type: "s4",
105
+ weight: "normal",
106
+ color: calculatedValue ? "theme.secondary.1000" : "theme.secondary.500",
107
+ children: calculatedValue || "+ Add Calculation"
108
+ }
109
+ ),
110
+ /* @__PURE__ */ jsx(
111
+ Menu,
112
+ {
113
+ id: "basic-menu",
114
+ anchorEl,
115
+ open,
116
+ onClose: handleClose,
117
+ children: aggregations == null ? void 0 : aggregations.map((aggr) => /* @__PURE__ */ jsx(
118
+ MenuItem,
119
+ {
120
+ selected: selectedType == (aggr == null ? void 0 : aggr.value),
121
+ onClick: () => handleAggregationType(aggr == null ? void 0 : aggr.value),
122
+ children: /* @__PURE__ */ jsx(Typography, { color: "theme.secondary.1000", type: "s4", children: aggr == null ? void 0 : aggr.label })
123
+ },
124
+ aggr.value
125
+ ))
126
+ }
127
+ )
128
+ ] });
129
+ };
130
+ export {
131
+ NumberAggregation as default
132
+ };
133
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/material-table/components/number-aggregation.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { aggregationFns } from \"../aggregation-fns\";\nimport Typography from \"../../typography/typography\";\nimport { MenuItem } from \"@mui/material\";\nimport Menu from \"../../menu/menu\";\nimport { MRT_RowData } from \"material-react-table\";\n\ntype aggregationType =\n | \"none\"\n | \"avg\"\n | \"min\"\n | \"max\"\n | \"count_empty\"\n | \"count_full\"\n | \"sum\"\n | \"percentage_empty\"\n | \"percentage_full\";\n\ninterface IAggregation {\n label: string;\n value: aggregationType;\n}\n\nconst allAggregations: IAggregation[] = [\n {\n label: \"Average\",\n value: \"avg\",\n },\n {\n label: \"Sum\",\n value: \"sum\",\n },\n {\n label: \"Min\",\n value: \"min\",\n },\n {\n label: \"Max\",\n value: \"max\",\n },\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst nonNumberAggregations: IAggregation[] = [\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst aggregationFnsLookup = {\n avg: aggregationFns.average,\n sum: aggregationFns.sum,\n max: aggregationFns.max,\n count_empty: aggregationFns.countEmpty,\n count_full: aggregationFns.countFull,\n percentage_empty: aggregationFns.percentageEmpty,\n percentage_full: aggregationFns.percentageFull,\n min: aggregationFns.min,\n none: aggregationFns.none,\n};\n\ninterface INumberAggregation {\n data: MRT_RowData[];\n column: string;\n type?: string;\n}\n\nconst NumberAggregation = ({ data, column, type }: INumberAggregation) => {\n const [selectedType, setSelectedType] =\n React.useState<aggregationType>(\"none\");\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [calculatedValue, setCalculatedValue] = React.useState<string | null>();\n const open = Boolean(anchorEl);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleAggregationType = (val: aggregationType) => {\n setSelectedType(val);\n handleClose();\n };\n\n useEffect(() => {\n const func = aggregationFnsLookup[selectedType];\n setCalculatedValue(func(data, column));\n }, [selectedType, column, data]);\n\n const aggregations =\n type === \"number\" ? allAggregations : nonNumberAggregations;\n\n return (\n <>\n <Typography\n onClick={handleClick}\n sx={{ cursor: \"pointer\" }}\n type=\"s4\"\n weight=\"normal\"\n color={calculatedValue ? \"theme.secondary.1000\" : \"theme.secondary.500\"}\n >\n {calculatedValue || \"+ Add Calculation\"}\n </Typography>\n <Menu\n id=\"basic-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n >\n {aggregations?.map((aggr) => (\n <MenuItem\n key={aggr.value}\n selected={selectedType == aggr?.value}\n onClick={() => handleAggregationType(aggr?.value)}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s4\">\n {aggr?.label}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default NumberAggregation;\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),a=require("../../aggregation-fns/index/index.js"),n=require("../../../typography/typography/index.js"),t=require("../../../menu/menu/index.js"),u=require("../../../../node_modules/@mui/material/MenuItem/MenuItem/index.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=/* @__PURE__ */r(l);const g=[{label:"Average",value:"avg"},{label:"Sum",value:"sum"},{label:"Min",value:"min"},{label:"Max",value:"max"},{label:"Count Empty",value:"count_empty"},{label:"Count Full",value:"count_full"},{label:"Percentage Full",value:"percentage_full"},{label:"Percentage Empty",value:"percentage_empty"},{label:"None",value:"none"}],c=[{label:"Count Empty",value:"count_empty"},{label:"Count Full",value:"count_full"},{label:"Percentage Full",value:"percentage_full"},{label:"Percentage Empty",value:"percentage_empty"},{label:"None",value:"none"}],i={avg:a.aggregationFns.average,sum:a.aggregationFns.sum,max:a.aggregationFns.max,count_empty:a.aggregationFns.countEmpty,count_full:a.aggregationFns.countFull,percentage_empty:a.aggregationFns.percentageEmpty,percentage_full:a.aggregationFns.percentageFull,min:a.aggregationFns.min,none:a.aggregationFns.none};exports.default=({data:a,column:r,type:s})=>{const[m,p]=o.default.useState("none"),[d,v]=o.default.useState(null),[y,f]=o.default.useState(),b=Boolean(d),x=()=>{v(null)};l.useEffect(()=>{f((0,i[m])(a,r))},[m,r,a]);const F="number"===s?g:c;/* @__PURE__ */
2
+ return e.jsxs(e.Fragment,{children:[
3
+ /* @__PURE__ */e.jsx(n.Typography,{onClick:e=>{v(e.currentTarget)},sx:{cursor:"pointer"},type:"s4",weight:"normal",color:y?"theme.secondary.1000":"theme.secondary.500",children:y||"+ Add Calculation"}),
4
+ /* @__PURE__ */e.jsx(t.default,{id:"basic-menu",anchorEl:d,open:b,onClose:x,children:null==F?void 0:F.map(l=>/* @__PURE__ */e.jsx(u.default,{selected:m==(null==l?void 0:l.value),onClick:()=>{return e=null==l?void 0:l.value,p(e),void x();var e},children:/* @__PURE__ */e.jsx(n.Typography,{color:"theme.secondary.1000",type:"s4",children:null==l?void 0:l.label})},l.value))})]})};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/material-table/components/number-aggregation.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { aggregationFns } from \"../aggregation-fns\";\nimport Typography from \"../../typography/typography\";\nimport { MenuItem } from \"@mui/material\";\nimport Menu from \"../../menu/menu\";\nimport { MRT_RowData } from \"material-react-table\";\n\ntype aggregationType =\n | \"none\"\n | \"avg\"\n | \"min\"\n | \"max\"\n | \"count_empty\"\n | \"count_full\"\n | \"sum\"\n | \"percentage_empty\"\n | \"percentage_full\";\n\ninterface IAggregation {\n label: string;\n value: aggregationType;\n}\n\nconst allAggregations: IAggregation[] = [\n {\n label: \"Average\",\n value: \"avg\",\n },\n {\n label: \"Sum\",\n value: \"sum\",\n },\n {\n label: \"Min\",\n value: \"min\",\n },\n {\n label: \"Max\",\n value: \"max\",\n },\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst nonNumberAggregations: IAggregation[] = [\n {\n label: \"Count Empty\",\n value: \"count_empty\",\n },\n {\n label: \"Count Full\",\n value: \"count_full\",\n },\n {\n label: \"Percentage Full\",\n value: \"percentage_full\",\n },\n {\n label: \"Percentage Empty\",\n value: \"percentage_empty\",\n },\n {\n label: \"None\",\n value: \"none\",\n },\n];\n\nconst aggregationFnsLookup = {\n avg: aggregationFns.average,\n sum: aggregationFns.sum,\n max: aggregationFns.max,\n count_empty: aggregationFns.countEmpty,\n count_full: aggregationFns.countFull,\n percentage_empty: aggregationFns.percentageEmpty,\n percentage_full: aggregationFns.percentageFull,\n min: aggregationFns.min,\n none: aggregationFns.none,\n};\n\ninterface INumberAggregation {\n data: MRT_RowData[];\n column: string;\n type?: string;\n}\n\nconst NumberAggregation = ({ data, column, type }: INumberAggregation) => {\n const [selectedType, setSelectedType] =\n React.useState<aggregationType>(\"none\");\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [calculatedValue, setCalculatedValue] = React.useState<string | null>();\n const open = Boolean(anchorEl);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleAggregationType = (val: aggregationType) => {\n setSelectedType(val);\n handleClose();\n };\n\n useEffect(() => {\n const func = aggregationFnsLookup[selectedType];\n setCalculatedValue(func(data, column));\n }, [selectedType, column, data]);\n\n const aggregations =\n type === \"number\" ? allAggregations : nonNumberAggregations;\n\n return (\n <>\n <Typography\n onClick={handleClick}\n sx={{ cursor: \"pointer\" }}\n type=\"s4\"\n weight=\"normal\"\n color={calculatedValue ? \"theme.secondary.1000\" : \"theme.secondary.500\"}\n >\n {calculatedValue || \"+ Add Calculation\"}\n </Typography>\n <Menu\n id=\"basic-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n >\n {aggregations?.map((aggr) => (\n <MenuItem\n key={aggr.value}\n selected={selectedType == aggr?.value}\n onClick={() => handleAggregationType(aggr?.value)}\n >\n <Typography color=\"theme.secondary.1000\" type=\"s4\">\n {aggr?.label}\n </Typography>\n </MenuItem>\n ))}\n </Menu>\n </>\n );\n};\n\nexport default NumberAggregation;\n"],"names":["allAggregations","label","value","nonNumberAggregations","aggregationFnsLookup","avg","aggregationFns","average","sum","max","count_empty","countEmpty","count_full","countFull","percentage_empty","percentageEmpty","percentage_full","percentageFull","min","none","data","column","type","selectedType","setSelectedType","React","useState","anchorEl","setAnchorEl","calculatedValue","setCalculatedValue","open","Boolean","handleClose","useEffect","func","aggregations","jsxs","Fragment","children","jsx","Typography","onClick","event","currentTarget","sx","cursor","weight","color","Menu","id","onClose","map","aggr","MenuItem","selected","handleAggregationType","val"],"mappings":"2bAuBA,MAAMA,EAAkC,CACtC,CACEC,MAAO,UACPC,MAAO,OAET,CACED,MAAO,MACPC,MAAO,OAET,CACED,MAAO,MACPC,MAAO,OAET,CACED,MAAO,MACPC,MAAO,OAET,CACED,MAAO,cACPC,MAAO,eAET,CACED,MAAO,aACPC,MAAO,cAET,CACED,MAAO,kBACPC,MAAO,mBAET,CACED,MAAO,mBACPC,MAAO,oBAET,CACED,MAAO,OACPC,MAAO,SAILC,EAAwC,CAC5C,CACEF,MAAO,cACPC,MAAO,eAET,CACED,MAAO,aACPC,MAAO,cAET,CACED,MAAO,kBACPC,MAAO,mBAET,CACED,MAAO,mBACPC,MAAO,oBAET,CACED,MAAO,OACPC,MAAO,SAILE,EAAuB,CAC3BC,IAAKC,EAAAA,eAAeC,QACpBC,IAAKF,EAAAA,eAAeE,IACpBC,IAAKH,EAAAA,eAAeG,IACpBC,YAAaJ,EAAAA,eAAeK,WAC5BC,WAAYN,EAAAA,eAAeO,UAC3BC,iBAAkBR,EAAAA,eAAeS,gBACjCC,gBAAiBV,EAAAA,eAAeW,eAChCC,IAAKZ,EAAAA,eAAeY,IACpBC,KAAMb,EAAAA,eAAea,sBASG,EAAGC,OAAMC,SAAQC,WACzC,MAAOC,EAAcC,GACnBC,EAAAA,QAAMC,SAA0B,SAC3BC,EAAUC,GAAeH,EAAAA,QAAMC,SAA6B,OAC5DG,EAAiBC,GAAsBL,EAAAA,QAAMC,WAC9CK,EAAOC,QAAQL,GAMfM,EAAc,KAClBL,EAAY,OAQdM,EAAAA,UAAU,KAERJ,GAAmBK,EADN/B,EAAqBmB,IACVH,EAAMC,KAC7B,CAACE,EAAcF,EAAQD,IAE1B,MAAMgB,EACK,WAATd,EAAoBtB,EAAkBG;AAExC,OACEkC,EAAAA,KAAAC,WAAA,CACEC,SAAA;eAAAC,EAAAA,IAACC,EAAAA,WAAA,CACCC,QAxBeC,IACnBf,EAAYe,EAAMC,gBAwBdC,GAAI,CAAEC,OAAQ,WACdxB,KAAK,KACLyB,OAAO,SACPC,MAAOnB,EAAkB,uBAAyB,sBAEjDU,SAAAV,GAAmB;eAEtBW,EAAAA,IAACS,EAAAA,QAAA,CACCC,GAAG,aACHvB,WACAI,OACAoB,QAASlB,EAERM,SAAA,MAAAH,OAAA,EAAAA,EAAcgB,IAAKC,kBAClBb,EAAAA,IAACc,EAAAA,QAAA,CAECC,SAAUhC,IAAgB,MAAA8B,OAAA,EAAAA,EAAMnD,OAChCwC,QAAS,KAAMc,OAlCMC,EAkCgB,MAAAJ,OAAA,EAAAA,EAAMnD,MAjCnDsB,EAAgBiC,QAChBxB,IAF4B,IAACwB,GAoCrBlB,8BAACE,aAAA,CAAWO,MAAM,uBAAuB1B,KAAK,KAC3CiB,0BAAMtC,SALJoD,EAAKnD"}
package/dist/index.esm.js CHANGED
@@ -469,6 +469,7 @@ import * as apiTypes_d$8 from "./api-client/api.user/api-types.d/index.esm.js";
469
469
  import { element } from "./views/form-builder/field_properties/index.esm.js";
470
470
  import { createDefaultTableColumns, extractSections, generateModulePath, processMembers, processTableColumns, useFormDataEffect, useFormDataProcessor } from "./views/form-builder/utils/common/index.esm.js";
471
471
  import { DEFAULT_COLUMN_WIDTH, DEFAULT_GRID_COLUMNS, DEFAULT_TAB_TITLE, FIELD_TYPES } from "./views/form-builder/index/index.esm.js";
472
+ import { Components } from "./views/beforeAuth/components/index/index.esm.js";
472
473
  export {
473
474
  API_METHOD_GROUPS,
474
475
  default3 as Accordion,
@@ -554,6 +555,7 @@ export {
554
555
  default14 as ColorPickerInput,
555
556
  default291 as ColumnWidth,
556
557
  default271 as CompanySelectionModal,
558
+ Components,
557
559
  default15 as ConfirmModal,
558
560
  default127 as Container,
559
561
  default89 as ControllerSelect,
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}