norma-library 0.4.7 → 0.4.9

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 (79) hide show
  1. package/dist/esm/components/ChatMessage.d.ts +3 -0
  2. package/dist/esm/components/ChatMessage.js +63 -0
  3. package/dist/esm/components/ChatMessage.js.map +1 -0
  4. package/dist/esm/components/DataGrid/base/dropdown.d.ts +4 -0
  5. package/dist/esm/components/DataGrid/base/dropdown.js +126 -0
  6. package/dist/esm/components/DataGrid/base/dropdown.js.map +1 -0
  7. package/dist/esm/components/DataGrid/base/number-filter.d.ts +4 -0
  8. package/dist/esm/components/DataGrid/base/number-filter.js +30 -0
  9. package/dist/esm/components/DataGrid/base/number-filter.js.map +1 -0
  10. package/dist/esm/components/DataGrid/base/sorting.d.ts +5 -0
  11. package/dist/esm/components/DataGrid/base/sorting.js +15 -0
  12. package/dist/esm/components/DataGrid/base/sorting.js.map +1 -0
  13. package/dist/esm/components/DataGrid/icons.d.ts +4 -0
  14. package/dist/esm/components/DataGrid/icons.js +15 -0
  15. package/dist/esm/components/DataGrid/icons.js.map +1 -0
  16. package/dist/esm/components/DataGrid/index.d.ts +5 -0
  17. package/dist/esm/components/DataGrid/index.js +146 -0
  18. package/dist/esm/components/DataGrid/index.js.map +1 -0
  19. package/dist/esm/components/DataGrid/shared.d.ts +20 -0
  20. package/dist/esm/components/DataGrid/shared.js +141 -0
  21. package/dist/esm/components/DataGrid/shared.js.map +1 -0
  22. package/dist/esm/components/DataGrid/styled.d.ts +10 -0
  23. package/dist/esm/components/DataGrid/styled.js +73 -0
  24. package/dist/esm/components/DataGrid/styled.js.map +1 -0
  25. package/dist/esm/components/Icons.js +1 -1
  26. package/dist/esm/components/ProgressBar.d.ts +0 -3
  27. package/dist/esm/components/ProgressBar.js +1 -1
  28. package/dist/esm/components/ProgressBar.js.map +1 -1
  29. package/dist/esm/components/TimeLine.d.ts +3 -0
  30. package/dist/esm/components/TimeLine.js +59 -0
  31. package/dist/esm/components/TimeLine.js.map +1 -0
  32. package/dist/esm/components/index.d.ts +3 -0
  33. package/dist/esm/components/index.js +3 -0
  34. package/dist/esm/components/index.js.map +1 -1
  35. package/dist/esm/helpers/colors.d.ts +3 -1
  36. package/dist/esm/helpers/colors.js +39 -10
  37. package/dist/esm/helpers/colors.js.map +1 -1
  38. package/dist/esm/interfaces/ChatMessage.d.ts +12 -0
  39. package/dist/esm/interfaces/ChatMessage.js +2 -0
  40. package/dist/esm/interfaces/ChatMessage.js.map +1 -0
  41. package/dist/esm/interfaces/DataGrid.d.ts +40 -0
  42. package/dist/esm/interfaces/DataGrid.js +2 -0
  43. package/dist/esm/interfaces/DataGrid.js.map +1 -0
  44. package/dist/esm/interfaces/TimeLine.d.ts +11 -0
  45. package/dist/esm/interfaces/TimeLine.js +2 -0
  46. package/dist/esm/interfaces/TimeLine.js.map +1 -0
  47. package/dist/esm/interfaces/index.d.ts +4 -1
  48. package/dist/esm/interfaces/index.js +4 -1
  49. package/dist/esm/interfaces/index.js.map +1 -1
  50. package/dist/esm/types/index.d.ts +12 -2
  51. package/dist/esm/types/index.js.map +1 -1
  52. package/norma-library.tar +0 -0
  53. package/package.json +3 -2
  54. package/src/components/ChatMessage.tsx +89 -0
  55. package/src/components/DataGrid/allData.json +2918 -0
  56. package/src/components/DataGrid/base/dropdown.tsx +235 -0
  57. package/src/components/DataGrid/base/number-filter.tsx +43 -0
  58. package/src/components/DataGrid/base/sorting.tsx +35 -0
  59. package/src/components/DataGrid/icons.tsx +61 -0
  60. package/src/components/DataGrid/index.tsx +319 -0
  61. package/src/components/DataGrid/shared.ts +179 -0
  62. package/src/components/DataGrid/styled.ts +102 -0
  63. package/src/components/DataGrid/styles/dropdown.module.css +86 -0
  64. package/src/components/DataGrid/styles/number-filter.module.css +16 -0
  65. package/src/components/DataGrid/styles/styles.module.css +107 -0
  66. package/src/components/Icons.tsx +1 -1
  67. package/src/components/ProgressBar.tsx +2 -1
  68. package/src/components/TimeLine.tsx +103 -0
  69. package/src/components/index.ts +3 -0
  70. package/src/helpers/colors.ts +44 -10
  71. package/src/interfaces/ChatMessage.ts +12 -0
  72. package/src/interfaces/DataGrid.ts +51 -0
  73. package/src/interfaces/TimeLine.ts +16 -0
  74. package/src/interfaces/index.ts +4 -1
  75. package/src/sample-data.json +178 -0
  76. package/src/stories/ChatMessage.stories.tsx +85 -0
  77. package/src/stories/DataGrid.stories.tsx +28 -0
  78. package/src/stories/TimeLine.stories.tsx +43 -0
  79. package/src/types/index.ts +26 -1
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { ChatMessageProps } from "@/interfaces";
3
+ export declare const ChatMessage: React.FC<ChatMessageProps>;
@@ -0,0 +1,63 @@
1
+ import React from "react";
2
+ import { Box, Typography } from "@mui/material";
3
+ import { styled } from "@mui/material/styles";
4
+ var Item = styled(Box)(function (_a) {
5
+ var orient = _a.orient;
6
+ return ({
7
+ borderColor: "#ccc",
8
+ display: "flex",
9
+ position: "relative",
10
+ width: "100%",
11
+ justifyContent: orient === "replay" ? "flex-end" : "flex-start",
12
+ marginBottom: "10px",
13
+ alignItems: "center",
14
+ });
15
+ });
16
+ var ContainerStyled = styled(Box)({
17
+ display: "flex",
18
+ flexDirection: "column",
19
+ alignItems: "center",
20
+ minWidth: "640px",
21
+ backgroundColor: "#F0F0F0",
22
+ padding: "10px",
23
+ });
24
+ var BoxStyled = styled(Box)(function (_a) {
25
+ var orient = _a.orient;
26
+ return ({
27
+ width: "70%",
28
+ backgroundColor: orient === "replay" ? "#E18B50" : "#FFF",
29
+ color: orient === "replay" ? "#FFF" : "#4D4F5C",
30
+ borderTopLeftRadius: 30,
31
+ borderTopRightRadius: 30,
32
+ borderBottomLeftRadius: orient === "me" ? 2 : 30,
33
+ borderBottomRightRadius: orient === "me" ? 30 : 2,
34
+ marginLeft: orient === "replay" ? "10px" : 0,
35
+ marginRight: orient === "me" ? "10px" : 0,
36
+ padding: 20,
37
+ });
38
+ });
39
+ export var ChatMessage = function (_a) {
40
+ var data = _a.data;
41
+ return (React.createElement(ContainerStyled, null, data.map(function (item, key) { return (React.createElement(Item, { key: key, orient: item.send },
42
+ item.emotion && item.send === "replay" && React.createElement(React.Fragment, null, item.emotion),
43
+ React.createElement(BoxStyled, { orient: item.send },
44
+ React.createElement(Typography, { variant: "subtitle2", style: {
45
+ marginBottom: "5px",
46
+ font: "normal normal 600 16px/20px Source Sans Pro",
47
+ } }, item.name),
48
+ React.createElement(Typography, { variant: "body1", style: {
49
+ font: "normal normal normal 16px/20px Source Sans Pro",
50
+ } }, item.message),
51
+ React.createElement(Typography, { variant: "caption", style: {
52
+ position: "absolute",
53
+ bottom: "-18px",
54
+ left: item.send === "me" ? 0 : "auto",
55
+ right: item.send === "me" ? "auto" : 0,
56
+ font: "normal normal normal 11px/13px Source Sans Pro",
57
+ opacity: 0.5,
58
+ color: "#4D4F5C",
59
+ } }, item.time)),
60
+ item.emotion && item.send === "me" && React.createElement(React.Fragment, null, item.emotion),
61
+ item.emotionReplay && item.send === "me" && (React.createElement(React.Fragment, null, item.emotionReplay)))); })));
62
+ };
63
+ //# sourceMappingURL=ChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../src/components/ChatMessage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DropdownFilterProps } from "@/interfaces";
3
+ declare const DropdownFilter: ({ onOrder, onFilter, onSelected, onFilterSelected, itemsSelected, onSelectAll, onChecketAll, data, }: DropdownFilterProps) => React.JSX.Element;
4
+ export default DropdownFilter;
@@ -0,0 +1,126 @@
1
+ import { __spreadArray } from "tslib";
2
+ import React, { useState, useEffect, Fragment } from "react";
3
+ import NumberFilter from "./number-filter";
4
+ import { Button, Typography, FormControl, InputLabel, OutlinedInput, InputAdornment, IconButton, } from "@mui/material";
5
+ import Divider from "@mui/material/Divider";
6
+ import MenuList from "@mui/material/MenuList";
7
+ import MenuItem from "@mui/material/MenuItem";
8
+ import ListItemIcon from "@mui/material/ListItemIcon";
9
+ import ListItemText from "@mui/material/ListItemText";
10
+ import List from "@mui/material/List";
11
+ import ListItem from "@mui/material/ListItem";
12
+ import ListItemButton from "@mui/material/ListItemButton";
13
+ import Checkbox from "@mui/material/Checkbox";
14
+ import { Search } from "@mui/icons-material";
15
+ import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
16
+ import { DropDownStyled } from "../styled";
17
+ import { ArrowSmallDownIcon, ArrowSmallUpIcon, FunnelIcon } from "../icons";
18
+ var DropdownFilter = function (_a) {
19
+ var onOrder = _a.onOrder, onFilter = _a.onFilter, onSelected = _a.onSelected, onFilterSelected = _a.onFilterSelected, itemsSelected = _a.itemsSelected, onSelectAll = _a.onSelectAll, onChecketAll = _a.onChecketAll, data = _a.data;
20
+ var _b = useState(false), openFilter = _b[0], setOpenFilter = _b[1];
21
+ var _c = useState(onSelectAll), selectAll = _c[0], setSelectAll = _c[1];
22
+ var _d = useState(itemsSelected), selecteds = _d[0], setItemsSelected = _d[1];
23
+ var handleFilter = function () {
24
+ setOpenFilter(function (prevState) { return !prevState; });
25
+ };
26
+ var handleFilterSelected = function () {
27
+ if (itemsSelected.length > 0) {
28
+ onFilterSelected();
29
+ }
30
+ else {
31
+ onSelected([]);
32
+ onFilter("");
33
+ onFilterSelected();
34
+ }
35
+ };
36
+ var handleCheckboxChange = function (option) {
37
+ var updatedSelection = selecteds.includes(option)
38
+ ? selecteds.filter(function (selected) { return selected !== option; })
39
+ : __spreadArray(__spreadArray([], selecteds, true), [option], false);
40
+ setItemsSelected(updatedSelection);
41
+ onSelected(updatedSelection);
42
+ };
43
+ var handleSelectAll = function () {
44
+ setSelectAll(selectAll ? false : true);
45
+ onChecketAll(selectAll ? false : true);
46
+ if (!selectAll) {
47
+ var allItems = data.map(function (item) { return item.toString(); });
48
+ setItemsSelected(allItems);
49
+ onSelected(allItems);
50
+ }
51
+ else {
52
+ setItemsSelected([]);
53
+ onSelected([]);
54
+ }
55
+ };
56
+ useEffect(function () {
57
+ setItemsSelected(selectAll ? data.map(String) : []);
58
+ onSelected(selectAll ? data.map(String) : []);
59
+ }, [selectAll]);
60
+ useEffect(function () {
61
+ setItemsSelected(itemsSelected);
62
+ }, [selecteds]);
63
+ return (React.createElement(DropDownStyled, null,
64
+ React.createElement(Fragment, null,
65
+ React.createElement(MenuList, null,
66
+ React.createElement(MenuItem, { onClick: function () {
67
+ onOrder("down");
68
+ setOpenFilter(false);
69
+ } },
70
+ React.createElement(ListItemIcon, null,
71
+ React.createElement(ArrowSmallUpIcon, { width: "16", height: "16" })),
72
+ React.createElement(ListItemText, null, "Classificar de A a Z")),
73
+ React.createElement(MenuItem, { onClick: function () {
74
+ onOrder("up");
75
+ setOpenFilter(false);
76
+ } },
77
+ React.createElement(ListItemIcon, null,
78
+ React.createElement(ArrowSmallDownIcon, { width: "16", height: "16" })),
79
+ React.createElement(ListItemText, null, "Classificar de Z a A")),
80
+ React.createElement(MenuItem, { onClick: handleFilter },
81
+ React.createElement(ListItemIcon, null,
82
+ React.createElement(FunnelIcon, { width: "16", height: "16" })),
83
+ React.createElement(ListItemText, null, "Filtro por n\u00FAmeros"),
84
+ React.createElement(Typography, { variant: "body2", color: "text.secondary" },
85
+ React.createElement(KeyboardArrowRightIcon, { fontSize: "medium", style: { position: "relative", top: "5px" } })),
86
+ openFilter && (React.createElement(React.Fragment, null,
87
+ React.createElement(NumberFilter, { onClick: function () { return console.log("Me clicou"); } })))),
88
+ React.createElement(Divider, null),
89
+ React.createElement(FormControl, { sx: { m: 1 }, variant: "outlined" },
90
+ React.createElement(InputLabel, { htmlFor: "outlined-adornment-search", size: "small" }, "Buscar"),
91
+ React.createElement(OutlinedInput, { id: "outlined-adornment-search", endAdornment: React.createElement(InputAdornment, { position: "end" },
92
+ React.createElement(IconButton, { edge: "end" },
93
+ React.createElement(Search, null))), onChange: function (event) {
94
+ onFilter(event.target.value);
95
+ }, label: "Buscar", fullWidth: true, size: "small" })),
96
+ React.createElement(Divider, null),
97
+ React.createElement(List, { sx: {
98
+ bgcolor: "#f2f2f2",
99
+ padding: " 5px",
100
+ overflow: " auto",
101
+ width: " 100%",
102
+ height: " 120px",
103
+ } },
104
+ React.createElement(ListItem, { disablePadding: true, onClick: handleSelectAll },
105
+ React.createElement(ListItemButton, { role: undefined, sx: { py: 0, minHeight: 32 } },
106
+ React.createElement(ListItemIcon, null,
107
+ React.createElement(Checkbox, { edge: "start", tabIndex: -1, checked: selectAll, disableRipple: true, inputProps: { "aria-labelledby": "all" } })),
108
+ React.createElement(ListItemText, { id: "all", primary: selectAll ? "Deselect All" : "Select All", primaryTypographyProps: {
109
+ fontSize: 14,
110
+ fontWeight: "medium",
111
+ } }))),
112
+ data.map(function (item, key) {
113
+ var labelId = "checkbox-list-label-".concat(item.toString());
114
+ return (React.createElement(ListItem, { key: key, disablePadding: true, onClick: function () { return handleCheckboxChange(item.toString()); } },
115
+ React.createElement(ListItemButton, { role: undefined, sx: { py: 0, minHeight: 32 } },
116
+ React.createElement(ListItemIcon, null,
117
+ React.createElement(Checkbox, { edge: "start", tabIndex: -1, disableRipple: true, inputProps: { "aria-labelledby": labelId }, checked: selecteds.includes(item.toString()) })),
118
+ React.createElement(ListItemText, { id: labelId, primary: "".concat(item), primaryTypographyProps: {
119
+ fontSize: 14,
120
+ fontWeight: "medium",
121
+ } }))));
122
+ }))),
123
+ React.createElement(Button, { variant: "outlined", sx: { align: "right" }, onClick: handleFilterSelected }, "Confirm"))));
124
+ };
125
+ export default DropdownFilter;
126
+ //# sourceMappingURL=dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../../../src/components/DataGrid/base/dropdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { NumberFilterProps } from "@/interfaces";
3
+ declare const NumberFilter: React.FC<NumberFilterProps>;
4
+ export default NumberFilter;
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import List from "@mui/material/List";
3
+ import ListItem from "@mui/material/ListItem";
4
+ import ListItemText from "@mui/material/ListItemText";
5
+ var items = [
6
+ "Equal",
7
+ "Does not equal",
8
+ "Greater than",
9
+ "Greater than or equal to",
10
+ "Less than",
11
+ "Less than or equal to",
12
+ "Between",
13
+ ];
14
+ var NumberFilter = function () {
15
+ return (React.createElement(List, { sx: {
16
+ bgcolor: "#FFF",
17
+ position: "absolute",
18
+ minHeight: "190px",
19
+ top: "0",
20
+ left: "auto",
21
+ right: "auto",
22
+ minWidth: "240px",
23
+ zIndex: "9",
24
+ padding: "5px 10px",
25
+ boxShadow: "0 0 10px #ccc",
26
+ } }, items.map(function (value, key) { return (React.createElement(ListItem, { key: key, disableGutters: true },
27
+ React.createElement(ListItemText, { primary: "".concat(value, "...") }))); })));
28
+ };
29
+ export default NumberFilter;
30
+ //# sourceMappingURL=number-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-filter.js","sourceRoot":"","sources":["../../../../../src/components/DataGrid/base/number-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAGtD,IAAM,KAAK,GAAG;IACZ,OAAO;IACP,gBAAgB;IAChB,cAAc;IACd,0BAA0B;IAC1B,WAAW;IACX,uBAAuB;IACvB,SAAS;CACV,CAAC;AAEF,IAAM,YAAY,GAAgC;IAChD,OAAO,CACL,oBAAC,IAAI,IACH,EAAE,EAAE;YACF,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,OAAO;YAClB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,eAAe;SAC3B,IAEA,KAAK,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,GAAG,IAAK,OAAA,CACzB,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,EAAE,cAAc;QAChC,oBAAC,YAAY,IAAC,OAAO,EAAE,UAAG,KAAK,QAAK,GAAI,CAC/B,CACZ,EAJ0B,CAI1B,CAAC,CACG,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { SortingProps } from "@/interfaces";
3
+ export declare function ArrowSmallUpIcon(props: any): React.JSX.Element;
4
+ declare const Sorting: React.FC<SortingProps>;
5
+ export default Sorting;
@@ -0,0 +1,15 @@
1
+ import { __assign } from "tslib";
2
+ import React from "react";
3
+ // import { Icons } from "@/components/Icons";
4
+ export function ArrowSmallUpIcon(props) {
5
+ return (React.createElement("svg", __assign({ fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, props),
6
+ React.createElement("path", { clipRule: "evenodd", fillRule: "evenodd", d: "M12 20.25a.75.75 0 01-.75-.75V6.31l-5.47 5.47a.75.75 0 01-1.06-1.06l6.75-6.75a.75.75 0 011.06 0l6.75 6.75a.75.75 0 11-1.06 1.06l-5.47-5.47V19.5a.75.75 0 01-.75.75z" })));
7
+ }
8
+ var Sorting = function (_a) {
9
+ var sort = _a.sort, active = _a.active;
10
+ var sortIcon = React.createElement(ArrowSmallUpIcon, null);
11
+ var opacityValue = active ? 1 : 0.5;
12
+ return (React.createElement("button", { type: "button", style: { opacity: opacityValue }, className: "arrows" }, sort && sortIcon));
13
+ };
14
+ export default Sorting;
15
+ //# sourceMappingURL=sorting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sorting.js","sourceRoot":"","sources":["../../../../../src/components/DataGrid/base/sorting.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,8CAA8C;AAE9C,MAAM,UAAU,gBAAgB,CAAC,KAAU;IACzC,OAAO,CACL,sCACE,IAAI,EAAC,cAAc,EACnB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,iBACtB,MAAM,IACd,KAAK;QAET,8BACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,qKAAqK,GACvK,CACE,CACP,CAAC;AACJ,CAAC;AAED,IAAM,OAAO,GAA2B,UAAC,EAAgB;QAAd,IAAI,UAAA,EAAE,MAAM,YAAA;IACrD,IAAM,QAAQ,GAAG,oBAAC,gBAAgB,OAAG,CAAC;IACtC,IAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEtC,OAAO,CACL,gCAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,SAAS,EAAC,QAAQ,IACvE,IAAI,IAAI,QAAQ,CACV,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export declare function FunnelIcon(props: any): React.JSX.Element;
3
+ export declare function ArrowSmallUpIcon(props: any): React.JSX.Element;
4
+ export declare function ArrowSmallDownIcon(props: any): React.JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { __assign } from "tslib";
2
+ import React from "react";
3
+ export function FunnelIcon(props) {
4
+ return (React.createElement("svg", __assign({ fill: "none", stroke: "currentColor", strokeWidth: 1.5, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, props),
5
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 01-.659 1.591l-5.432 5.432a2.25 2.25 0 00-.659 1.591v2.927a2.25 2.25 0 01-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 00-.659-1.591L3.659 7.409A2.25 2.25 0 013 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0112 3z" })));
6
+ }
7
+ export function ArrowSmallUpIcon(props) {
8
+ return (React.createElement("svg", __assign({ fill: "none", stroke: "currentColor", strokeWidth: 1.5, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, props),
9
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 19.5v-15m0 0l-6.75 6.75M12 4.5l6.75 6.75" })));
10
+ }
11
+ export function ArrowSmallDownIcon(props) {
12
+ return (React.createElement("svg", __assign({ fill: "none", stroke: "currentColor", strokeWidth: 1.5, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, props),
13
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M12 4.5v15m0 0l6.75-6.75M12 19.5l-6.75-6.75" })));
14
+ }
15
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../src/components/DataGrid/icons.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,UAAU,CAAC,KAAU;IACnC,OAAO,CACL,sCACE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,iBACtB,MAAM,IACd,KAAK;QAET,8BACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,CAAC,EAAC,qSAAqS,GACvS,CACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAU;IACzC,OAAO,CACL,sCACE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,iBACtB,MAAM,IACd,KAAK;QAET,8BACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,CAAC,EAAC,8CAA8C,GAChD,CACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAU;IAC3C,OAAO,CACL,sCACE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,iBACtB,MAAM,IACd,KAAK;QAET,8BACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,CAAC,EAAC,6CAA6C,GAC/C,CACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { DataGridBaseProps } from "../../interfaces";
3
+ export declare function ArrowSmallUpIcon(props: any): React.JSX.Element;
4
+ export declare function Cog6ToothIcon(props: any): React.JSX.Element;
5
+ export declare const DataGrid: React.FC<DataGridBaseProps>;
@@ -0,0 +1,146 @@
1
+ import { __assign } from "tslib";
2
+ import React, { useEffect, useMemo, useState, useRef } from "react";
3
+ import { Box, Stack, ThemeProvider, useMediaQuery, Paper } from "@mui/material";
4
+ import Table from "@mui/material/Table";
5
+ import TableBody from "@mui/material/TableBody";
6
+ import TableCell from "@mui/material/TableCell";
7
+ import TableContainer from "@mui/material/TableContainer";
8
+ import TableHead from "@mui/material/TableHead";
9
+ import TableRow from "@mui/material/TableRow";
10
+ import ArrowDropUpIcon from "@mui/icons-material/ArrowDropUp";
11
+ import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
12
+ import { themes } from "../../helpers";
13
+ import DropdownFilter from "./base/dropdown";
14
+ import { Pagination as MuiPagination } from "@mui/material";
15
+ import { filterDataSource, generateRandomDataSource, groupByDataSource, sortDataSourceByColumn, } from "./shared";
16
+ import { ButtonStyled, DataGridHeaderStyled, HeaderCogStyled, TableCellStyled, TableRowStyled, TotalRecordsStyled, } from "./styled";
17
+ export function ArrowSmallUpIcon(props) {
18
+ return (React.createElement("svg", __assign({ fill: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, props),
19
+ React.createElement("path", { clipRule: "evenodd", fillRule: "evenodd", d: "M12 20.25a.75.75 0 01-.75-.75V6.31l-5.47 5.47a.75.75 0 01-1.06-1.06l6.75-6.75a.75.75 0 011.06 0l6.75 6.75a.75.75 0 11-1.06 1.06l-5.47-5.47V19.5a.75.75 0 01-.75.75z" })));
20
+ }
21
+ export function Cog6ToothIcon(props) {
22
+ return (React.createElement("svg", __assign({ fill: "none", stroke: "currentColor", strokeWidth: 1.5, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, props),
23
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z" }),
24
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z" })));
25
+ }
26
+ var dataSource = generateRandomDataSource(30);
27
+ export var DataGrid = function (_a) {
28
+ var _b = _a.data, data = _b === void 0 ? [] : _b;
29
+ var prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
30
+ var theme = useMemo(function () { return (prefersDarkMode ? themes.light : themes.light); }, [prefersDarkMode]);
31
+ var pageSize = 10;
32
+ var columns = data[0].columns;
33
+ var _c = useState([]), selectedItems = _c[0], setSelectedItems = _c[1];
34
+ var _d = useState("down"), sorting = _d[0], setSorting = _d[1];
35
+ var _e = useState(false), selectAll = _e[0], setSelectAll = _e[1];
36
+ var _f = useState("id"), currentActiveSorting = _f[0], setCurrentActiveSorting = _f[1];
37
+ var _g = useState(null), currentDropDownActive = _g[0], setCurrentDropDownActive = _g[1];
38
+ var _h = useState(dataSource), originalDataSource = _h[0], setOriginalDataSource = _h[1];
39
+ var _j = useState(dataSource), newDataSource = _j[0], setDataSource = _j[1];
40
+ var _k = useState(dataSource.length), totalRecords = _k[0], setTotalRecords = _k[1];
41
+ var _l = useState(Math.ceil(dataSource.length / pageSize)), totalPages = _l[0], setTotalPages = _l[1];
42
+ var _m = useState(1), currentPage = _m[0], setCurrentPage = _m[1];
43
+ var startIndex = (currentPage - 1) * pageSize;
44
+ var endIndex = Math.min(startIndex + pageSize, totalRecords);
45
+ var sortRefs = useRef(new Array(columns.length).fill(null));
46
+ var handleItemSelected = function (items) {
47
+ setSelectedItems(items);
48
+ };
49
+ var handleDropDown = function (item) {
50
+ setCurrentDropDownActive(item === currentDropDownActive ? null : item);
51
+ if (item !== currentDropDownActive) {
52
+ setCurrentActiveSorting(item);
53
+ setSorting("down");
54
+ }
55
+ };
56
+ var handleSorting = function (sort) {
57
+ setSorting(sort === "up" ? "up" : "down");
58
+ currentDropDownActive && setCurrentActiveSorting(currentDropDownActive);
59
+ handleDropDown(currentDropDownActive);
60
+ };
61
+ var handleFilter = function (filter) {
62
+ var dataSourceFiltered = filterDataSource(originalDataSource, currentActiveSorting, filter);
63
+ setOriginalDataSource(dataSourceFiltered);
64
+ setCurrentPage(1);
65
+ };
66
+ var handleFilterSelected = function () {
67
+ if (selectedItems.length > 0) {
68
+ var filteredData = originalDataSource.filter(function (item) {
69
+ var columnValue = currentActiveSorting
70
+ ? item[currentActiveSorting]
71
+ : undefined;
72
+ if (typeof columnValue === "string") {
73
+ return selectedItems.includes(columnValue);
74
+ }
75
+ else if (typeof columnValue === "number") {
76
+ return selectedItems.includes(columnValue.toString());
77
+ }
78
+ return false;
79
+ });
80
+ var sortedData = sortDataSourceByColumn(filteredData, currentActiveSorting, sorting);
81
+ setTotalRecords(sortedData.length);
82
+ setTotalPages(Math.ceil(sortedData.length / pageSize));
83
+ setCurrentPage(1);
84
+ setDataSource(sortedData.slice(startIndex, endIndex));
85
+ }
86
+ else {
87
+ var sortedData = sortDataSourceByColumn(dataSource, currentActiveSorting, sorting);
88
+ setTotalRecords(sortedData.length);
89
+ setTotalPages(Math.ceil(sortedData.length / pageSize));
90
+ setCurrentPage(1);
91
+ setDataSource(sortedData.slice(startIndex, endIndex));
92
+ }
93
+ handleDropDown(currentDropDownActive);
94
+ };
95
+ var handleChangePage = function (page) {
96
+ setCurrentPage(page);
97
+ var startIndex = (page - 1) * pageSize;
98
+ var endIndex = Math.min(startIndex + pageSize, totalRecords);
99
+ setDataSource(originalDataSource.slice(startIndex, endIndex));
100
+ };
101
+ useEffect(function () {
102
+ if (selectedItems.length <= 0) {
103
+ var sortedData = sortDataSourceByColumn(dataSource, currentActiveSorting, sorting);
104
+ setDataSource(sortedData.slice(startIndex, endIndex));
105
+ setTotalRecords(sortedData.length);
106
+ setTotalPages(Math.ceil(sortedData.length / pageSize));
107
+ setCurrentPage(1);
108
+ }
109
+ }, [selectedItems]);
110
+ return (React.createElement(ThemeProvider, { theme: theme },
111
+ React.createElement(Box, { sx: { width: "100%", minHeight: 480 } },
112
+ React.createElement(DataGridHeaderStyled, null,
113
+ React.createElement(TotalRecordsStyled, null,
114
+ totalRecords,
115
+ " results found for this search"),
116
+ React.createElement(HeaderCogStyled, { type: "button" },
117
+ React.createElement(Cog6ToothIcon, { width: 24, height: 24 }))),
118
+ React.createElement(TableContainer, { component: Paper, sx: { overflowX: "inherit" } },
119
+ React.createElement(Table, { sx: { minWidth: 650, width: "100%" }, "aria-label": "a dense table" },
120
+ React.createElement(TableHead, null,
121
+ React.createElement(TableRow, null, columns &&
122
+ columns.map(function (item, key) { return (React.createElement(TableCellStyled, { key: key, ref: function (ref) {
123
+ return (sortRefs.current[key] =
124
+ ref);
125
+ } },
126
+ React.createElement(Stack, { direction: "row", spacing: 2, sx: { position: "relative" } },
127
+ React.createElement(ButtonStyled, { variant: "text", size: "small", color: currentActiveSorting === item.field
128
+ ? "primary"
129
+ : "inherit", endIcon: currentActiveSorting === item.field &&
130
+ sorting === "up" ? (React.createElement(ArrowDropUpIcon, null)) : (React.createElement(ArrowDropDownIcon, null)), onClick: function () {
131
+ handleDropDown(item.field);
132
+ } }, item.headerText),
133
+ currentDropDownActive &&
134
+ currentDropDownActive === item.field && (React.createElement(DropdownFilter, { format: item.format, onOrder: handleSorting, onFilter: handleFilter, onSelected: handleItemSelected, itemsSelected: selectedItems, onFilterSelected: handleFilterSelected, onChecketAll: setSelectAll, onSelectAll: selectAll, data: groupByDataSource(dataSource, item.field) }))))); }))),
135
+ React.createElement(TableBody, null, newDataSource &&
136
+ newDataSource.map(function (item, key) { return (React.createElement(TableRowStyled, { key: key, sx: { "&:last-child td, &:last-child th": { border: 0 } } }, Object.keys(item).map(function (columnKey) { return (React.createElement(TableCell, { component: "th", scope: "row", key: columnKey }, item[columnKey])); }))); }))),
137
+ React.createElement(Stack, { spacing: 2, sx: {
138
+ display: "flex",
139
+ justifyContent: "center",
140
+ alignItems: "center",
141
+ borderTop: "1px solid #ccc",
142
+ padding: 2,
143
+ } },
144
+ React.createElement(MuiPagination, { variant: "outlined", shape: "rounded", count: totalPages, page: currentPage, onChange: function (_event, page) { return handleChangePage(page); } }))))));
145
+ };
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DataGrid/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { DataSourceItem } from "@/interfaces";
2
+ export declare function groupByDataSource(dataSource: DataSourceItem[], key: string): (string | number)[];
3
+ export declare function sortDataSourceByColumn(jsonData: any[], column: string, order: string): any[];
4
+ export declare function filterDataSource(dataSource: DataSourceItem[], column: string, filter: string, exactTime?: boolean): DataSourceItem[];
5
+ export declare function filterItemsByColumn(dataSource: any[], column: string, filterValues: any[]): any[];
6
+ export declare function generateRandomDataSource(numRows: number): {
7
+ data: string;
8
+ duration: string;
9
+ campanha: any;
10
+ agente: any;
11
+ ani: number;
12
+ dnis: number;
13
+ disposition: any;
14
+ origem: number;
15
+ id: number;
16
+ }[];
17
+ export declare function generateRandomDate(): string;
18
+ export declare function generateRandomDuration(): string;
19
+ export declare function generateRandomNumber(min: number, max: number): number;
20
+ export declare function getRandomElement(array: any[]): any;