coject 2.3.23 → 2.4.0

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 (32) hide show
  1. package/dist/cjs/Components/Button/index.d.ts +5 -1
  2. package/dist/cjs/Components/Button/index.js +5 -2
  3. package/dist/cjs/Components/Button/index.js.map +1 -1
  4. package/dist/cjs/Components/Form/index.d.ts +1 -1
  5. package/dist/cjs/Components/Modal/index.d.ts +3 -3
  6. package/dist/cjs/Components/Modal/index.js.map +1 -1
  7. package/dist/cjs/Components/PDFGenerator/index.d.ts +2 -0
  8. package/dist/cjs/Components/PDFGenerator/index.js +92 -0
  9. package/dist/cjs/Components/PDFGenerator/index.js.map +1 -0
  10. package/dist/cjs/Components/PDFGenerator/theme.d.ts +10 -0
  11. package/dist/cjs/Components/PDFGenerator/theme.js +47 -0
  12. package/dist/cjs/Components/PDFGenerator/theme.js.map +1 -0
  13. package/dist/cjs/Components/index.d.ts +1 -0
  14. package/dist/cjs/Components/index.js +4 -1
  15. package/dist/cjs/Components/index.js.map +1 -1
  16. package/dist/esm/Components/Button/index.d.ts +5 -1
  17. package/dist/esm/Components/Button/index.js +5 -2
  18. package/dist/esm/Components/Button/index.js.map +1 -1
  19. package/dist/esm/Components/Form/index.d.ts +1 -1
  20. package/dist/esm/Components/Form/index.js +1 -1
  21. package/dist/esm/Components/Modal/index.d.ts +3 -3
  22. package/dist/esm/Components/Modal/index.js.map +1 -1
  23. package/dist/esm/Components/PDFGenerator/index.d.ts +2 -0
  24. package/dist/esm/Components/PDFGenerator/index.js +62 -0
  25. package/dist/esm/Components/PDFGenerator/index.js.map +1 -0
  26. package/dist/esm/Components/PDFGenerator/theme.d.ts +10 -0
  27. package/dist/esm/Components/PDFGenerator/theme.js +45 -0
  28. package/dist/esm/Components/PDFGenerator/theme.js.map +1 -0
  29. package/dist/esm/Components/index.d.ts +1 -0
  30. package/dist/esm/Components/index.js +2 -0
  31. package/dist/esm/Components/index.js.map +1 -1
  32. package/package.json +6 -2
@@ -1,3 +1,7 @@
1
1
  import { FC } from "react";
2
2
  import { ButtonProps } from "@mui/material";
3
- export declare const Button: FC<ButtonProps>;
3
+ interface CustomButtonProps extends ButtonProps {
4
+ download?: string;
5
+ }
6
+ export declare const Button: FC<CustomButtonProps>;
7
+ export {};
@@ -9,11 +9,14 @@ const react_1 = __importDefault(require("react"));
9
9
  const material_1 = require("@mui/material");
10
10
  // Styles
11
11
  const theme_1 = __importDefault(require("./theme"));
12
- const Button = ({ ...props }) => {
12
+ const Button = ({ download, ...props }) => {
13
13
  const { classes } = (0, theme_1.default)();
14
14
  return (react_1.default.createElement(react_1.default.Fragment, null,
15
15
  react_1.default.createElement(material_1.Box, { className: `${classes.root} coject_button` },
16
- react_1.default.createElement(material_1.Button, { ...props }, props?.children))));
16
+ react_1.default.createElement(material_1.Button, { ...props },
17
+ props?.children,
18
+ " download=",
19
+ 'mohamed.pdf'))));
17
20
  };
18
21
  exports.Button = Button;
19
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Button/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAkC;AAElC,cAAc;AACd,4CAAsE;AAEtE,SAAS;AACT,oDAAgC;AAEzB,MAAM,MAAM,GAAoB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,eAAS,GAAE,CAAC;IAEhC,OAAO,CACH,8BAAC,eAAK,CAAC,QAAQ;QACX,8BAAC,cAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,gBAAgB;YAC3C,8BAAC,iBAAS,OAAK,KAAK,IAAG,KAAK,EAAE,QAAQ,CAAa,CACjD,CACO,CACpB,CAAC;AACN,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Button/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAkC;AAElC,cAAc;AACd,4CAAsE;AAEtE,SAAS;AACT,oDAAgC;AAOzB,MAAM,MAAM,GAA0B,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,eAAS,GAAE,CAAC;IAEhC,OAAO,CACH,8BAAC,eAAK,CAAC,QAAQ;QACX,8BAAC,cAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,gBAAgB;YAC3C,8BAAC,iBAAS,OAAK,KAAK;gBAAG,KAAK,EAAE,QAAQ;;gBAAY,aAAa,CAAa,CAC1E,CACO,CACpB,CAAC;AACN,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB"}
@@ -1,4 +1,4 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { FC, ReactNode } from "react";
2
2
  import { GridColDef } from "@mui/x-data-grid";
3
3
  type iSchema = GridColDef & {
4
4
  component?: string;
@@ -1,8 +1,8 @@
1
- import { FC } from "react";
1
+ import { FC, ReactNode } from "react";
2
2
  import { ModalProps } from "@mui/material";
3
- interface iModal extends ModalProps {
3
+ interface iModal extends Omit<ModalProps, 'title'> {
4
4
  setOpen?: any;
5
- title?: string;
5
+ title?: string | ReactNode;
6
6
  }
7
7
  export declare const Modal: FC<iModal>;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Modal/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAkC;AAElC,cAAc;AACd,4CAA2F;AAE3F,gBAAgB;AAChB,8DAAgD;AAEhD,SAAS;AACT,oDAAgC;AAQzB,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpE,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,eAAS,GAAE,CAAC;IAEhC,OAAO,CACH,8BAAC,eAAK,CAAC,QAAQ;QACX,8BAAC,gBAAQ,IAAC,IAAI,EAAE,IAAI,KAAM,KAAK;YAC3B,8BAAC,cAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,eAAe;gBAC1C,8BAAC,cAAG,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;oBAC1B,8BAAC,qBAAU,IAAC,OAAO,EAAE,IAAI,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAc;oBACvE,8BAAC,qBAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,8BAAC,KAAK,CAAC,KAAK,OAAG,CAAa,CACrE;gBACN,8BAAC,cAAG,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI;oBACxB,8BAAC,eAAK,CAAC,QAAQ,QAAE,KAAK,EAAE,QAAQ,CAAkB,CAChD,CACJ,CACC,CACE,CACpB,CAAC;AACN,CAAC,CAAA;AAnBY,QAAA,KAAK,SAmBjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Modal/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA6C;AAE7C,cAAc;AACd,4CAA2F;AAE3F,gBAAgB;AAChB,8DAAgD;AAEhD,SAAS;AACT,oDAAgC;AAQzB,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpE,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,eAAS,GAAE,CAAC;IAEhC,OAAO,CACH,8BAAC,eAAK,CAAC,QAAQ;QACX,8BAAC,gBAAQ,IAAC,IAAI,EAAE,IAAI,KAAM,KAAK;YAC3B,8BAAC,cAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,eAAe;gBAC1C,8BAAC,cAAG,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;oBAC1B,8BAAC,qBAAU,IAAC,OAAO,EAAE,IAAI,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAc;oBACvE,8BAAC,qBAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,8BAAC,KAAK,CAAC,KAAK,OAAG,CAAa,CACrE;gBACN,8BAAC,cAAG,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI;oBACxB,8BAAC,eAAK,CAAC,QAAQ,QAAE,KAAK,EAAE,QAAQ,CAAkB,CAChD,CACJ,CACC,CACE,CACpB,CAAC;AACN,CAAC,CAAA;AAnBY,QAAA,KAAK,SAmBjB"}
@@ -0,0 +1,2 @@
1
+ import { FC } from "react";
2
+ export declare const PDFGenerator: FC<any>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.PDFGenerator = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ // JSPDF
32
+ const jspdf_1 = __importDefault(require("jspdf"));
33
+ const html2canvas_1 = __importDefault(require("html2canvas"));
34
+ // Coject
35
+ const index_1 = require("../index");
36
+ // Material UI
37
+ const material_1 = require("@mui/material");
38
+ // Styles
39
+ const theme_1 = __importDefault(require("./theme"));
40
+ const PDFGenerator = ({ button, landscape, fileName, title, children }) => {
41
+ const { classes } = (0, theme_1.default)();
42
+ const [modal, setModal] = (0, react_1.useState)(false);
43
+ const [pdfPreview, setPdfPreview] = (0, react_1.useState)(null);
44
+ // Clear PDF Preview
45
+ (0, react_1.useEffect)(() => {
46
+ if (!modal) {
47
+ setPdfPreview(null);
48
+ }
49
+ }, [modal]);
50
+ // Generate PDF
51
+ const generatePDF = () => {
52
+ const element = document.getElementById("content");
53
+ (0, html2canvas_1.default)(element).then((canvas) => {
54
+ let position = 0;
55
+ let pageCount = 0;
56
+ const imgWidth = landscape ? 297 : 210;
57
+ const pageHeight = landscape ? 210 : 297;
58
+ const pdf = new jspdf_1.default(`${landscape ? 'landscape' : 'p'}`, "mm", "a4");
59
+ const imgData = canvas.toDataURL("image/png");
60
+ const imgHeight = (canvas.height * imgWidth) / canvas.width;
61
+ let heightLeft = imgHeight;
62
+ // Create Pages
63
+ while (heightLeft > 0) {
64
+ pageCount++;
65
+ pdf.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
66
+ pdf.text(`${pageCount}`, 105, 290, { align: "center" });
67
+ heightLeft -= pageHeight;
68
+ if (heightLeft > 0) {
69
+ position -= pageHeight;
70
+ pdf.addPage();
71
+ }
72
+ }
73
+ // Generate a Blob URL for preview
74
+ const pdfBlob = pdf.output("blob");
75
+ const pdfURL = URL.createObjectURL(pdfBlob);
76
+ setPdfPreview(pdfURL);
77
+ });
78
+ };
79
+ return (react_1.default.createElement(react_1.Fragment, null,
80
+ react_1.default.createElement(material_1.Box, { className: `${classes.root} coject_pdf` },
81
+ react_1.default.createElement(index_1.Button, { variant: 'contained', onClick: () => setModal(true) }, button ?? 'PDF Report'),
82
+ react_1.default.createElement(index_1.Modal, { open: modal, setOpen: setModal, title: title ?? 'PDF Report', className: classes.modal }, pdfPreview ?
83
+ react_1.default.createElement(react_1.Fragment, null,
84
+ react_1.default.createElement("iframe", { src: pdfPreview, className: classes.preview }),
85
+ react_1.default.createElement(index_1.Button, { className: classes.button, variant: 'contained', component: 'a', href: pdfPreview, download: `${fileName ? (fileName + ".pdf") : "example.pdf"}` }, "Download PDF")) :
86
+ react_1.default.createElement(react_1.Fragment, null,
87
+ react_1.default.createElement(material_1.Box, { className: classes.children },
88
+ react_1.default.createElement(material_1.Box, { id: "content" }, children)),
89
+ react_1.default.createElement(index_1.Button, { className: classes.button, variant: 'contained', component: 'a', onClick: generatePDF }, "Preview PDF"))))));
90
+ };
91
+ exports.PDFGenerator = PDFGenerator;
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ declare const useStyles: (params: void, muiStyleOverridesParams?: {
2
+ props: Record<string, unknown>;
3
+ ownerState?: Record<string, unknown> | undefined;
4
+ } | undefined) => {
5
+ classes: Record<"button" | "children" | "root" | "modal" | "preview", string>;
6
+ theme: import("@mui/material").Theme;
7
+ css: import("tss-react/types").Css;
8
+ cx: import("tss-react/types").Cx;
9
+ };
10
+ export default useStyles;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mui_1 = require("tss-react/mui");
4
+ const useStyles = (0, mui_1.makeStyles)()((theme) => {
5
+ return {
6
+ root: {
7
+ margin: 0,
8
+ width: "100%",
9
+ "& button": {
10
+ gap: 4,
11
+ display: "flex",
12
+ padding: "10px 20px",
13
+ alignItems: "center",
14
+ boxShadow: "none !important",
15
+ backgroundColor: theme.palette.primary.main
16
+ }
17
+ },
18
+ button: {
19
+ gap: 4,
20
+ display: "flex",
21
+ marginTop: "10px",
22
+ padding: "5px 20px",
23
+ alignItems: "center",
24
+ textTransform: "capitalize",
25
+ borderRadius: "0 !important",
26
+ boxShadow: "none !important",
27
+ backgroundColor: theme.palette.primary.main
28
+ },
29
+ children: {
30
+ width: "auto",
31
+ padding: "10px",
32
+ border: "1px solid #d2d0d0",
33
+ minHeight: "calc(100vh - 250px)"
34
+ },
35
+ modal: {
36
+ "& .coject_modal": {
37
+ width: "800px"
38
+ }
39
+ },
40
+ preview: {
41
+ width: "100%",
42
+ height: "calc(100vh - 250px)"
43
+ }
44
+ };
45
+ });
46
+ exports.default = useStyles;
47
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/theme.tsx"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,gBAAU,GAAE,CAAC,CAAC,KAAK,EAAE,EAAE;IACrC,OAAO;QACH,IAAI,EAAE;YACF,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,UAAU,EAAE;gBACR,GAAG,EAAE,CAAC;gBACN,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,iBAAiB;gBAC5B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;aAC9C;SACJ;QACD,MAAM,EAAE;YACJ,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,YAAY;YAC3B,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,iBAAiB;YAC5B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;SAC9C;QACD,QAAQ,EAAE;YACN,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,mBAAmB;YAC3B,SAAS,EAAE,qBAAqB;SACnC;QACD,KAAK,EAAE;YACH,iBAAiB,EAAE;gBACf,KAAK,EAAE,OAAO;aACjB;SACJ;QACD,OAAO,EAAE;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,qBAAqB;SAChC;KACJ,CAAA;AACL,CAAC,CAAC,CAAC;AAEH,kBAAe,SAAS,CAAC"}
@@ -8,4 +8,5 @@ export { Switch } from "./Switch";
8
8
  export { Checkbox } from "./Checkbox";
9
9
  export { DatePicker } from "./DatePicker";
10
10
  export { Upload } from "./Upload";
11
+ export { PDFGenerator } from "./PDFGenerator";
11
12
  export declare const Icons: any;
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Icons = exports.Upload = exports.DatePicker = exports.Checkbox = exports.Switch = exports.Button = exports.Select = exports.Input = exports.Modal = exports.Grid = exports.Form = void 0;
26
+ exports.Icons = exports.PDFGenerator = exports.Upload = exports.DatePicker = exports.Checkbox = exports.Switch = exports.Button = exports.Select = exports.Input = exports.Modal = exports.Grid = exports.Form = void 0;
27
27
  // Material MUI Icons
28
28
  const MuiIcons = __importStar(require("@mui/icons-material"));
29
29
  // Form
@@ -56,6 +56,9 @@ Object.defineProperty(exports, "DatePicker", { enumerable: true, get: function (
56
56
  // Date
57
57
  var Upload_1 = require("./Upload");
58
58
  Object.defineProperty(exports, "Upload", { enumerable: true, get: function () { return Upload_1.Upload; } });
59
+ // PDF Generator
60
+ var PDFGenerator_1 = require("./PDFGenerator");
61
+ Object.defineProperty(exports, "PDFGenerator", { enumerable: true, get: function () { return PDFGenerator_1.PDFGenerator; } });
59
62
  // Icons
60
63
  exports.Icons = MuiIcons;
61
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../resources/Components/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAqB;AACrB,8DAAgD;AAEhD,OAAO;AACP,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,OAAO;AACP,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,QAAQ;AACR,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,QAAQ;AACR,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,WAAW;AACX,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,OAAO;AACP,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,OAAO;AACP,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,QAAQ;AACK,QAAA,KAAK,GAAQ,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../resources/Components/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAqB;AACrB,8DAAgD;AAEhD,OAAO;AACP,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,OAAO;AACP,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,QAAQ;AACR,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,QAAQ;AACR,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,SAAS;AACT,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,WAAW;AACX,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAEjB,OAAO;AACP,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,OAAO;AACP,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAEf,gBAAgB;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,QAAQ;AACK,QAAA,KAAK,GAAQ,QAAQ,CAAC"}
@@ -1,3 +1,7 @@
1
1
  import { FC } from "react";
2
2
  import { ButtonProps } from "@mui/material";
3
- export declare const Button: FC<ButtonProps>;
3
+ interface CustomButtonProps extends ButtonProps {
4
+ download?: string;
5
+ }
6
+ export declare const Button: FC<CustomButtonProps>;
7
+ export {};
@@ -3,10 +3,13 @@ import React from "react";
3
3
  import { Box, Button as MuiButton } from "@mui/material";
4
4
  // Styles
5
5
  import useStyles from "./theme";
6
- export const Button = ({ ...props }) => {
6
+ export const Button = ({ download, ...props }) => {
7
7
  const { classes } = useStyles();
8
8
  return (React.createElement(React.Fragment, null,
9
9
  React.createElement(Box, { className: `${classes.root} coject_button` },
10
- React.createElement(MuiButton, { ...props }, props?.children))));
10
+ React.createElement(MuiButton, { ...props },
11
+ props?.children,
12
+ " download=",
13
+ 'mohamed.pdf'))));
11
14
  };
12
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAElC,cAAc;AACd,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,EAAe,MAAM,eAAe,CAAC;AAEtE,SAAS;AACT,OAAO,SAAS,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,MAAM,GAAoB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhC,OAAO,CACH,oBAAC,KAAK,CAAC,QAAQ;QACX,oBAAC,GAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,gBAAgB;YAC3C,oBAAC,SAAS,OAAK,KAAK,IAAG,KAAK,EAAE,QAAQ,CAAa,CACjD,CACO,CACpB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAElC,cAAc;AACd,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,SAAS,EAAe,MAAM,eAAe,CAAC;AAEtE,SAAS;AACT,OAAO,SAAS,MAAM,SAAS,CAAC;AAOhC,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhC,OAAO,CACH,oBAAC,KAAK,CAAC,QAAQ;QACX,oBAAC,GAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,gBAAgB;YAC3C,oBAAC,SAAS,OAAK,KAAK;gBAAG,KAAK,EAAE,QAAQ;;gBAAY,aAAa,CAAa,CAC1E,CACO,CACpB,CAAC;AACN,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { FC, ReactNode } from "react";
2
2
  import { GridColDef } from "@mui/x-data-grid";
3
3
  type iSchema = GridColDef & {
4
4
  component?: string;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React from "react";
2
2
  // React Hook Form
3
3
  import { useForm, FormProvider } from "react-hook-form";
4
4
  // Request
@@ -1,8 +1,8 @@
1
- import { FC } from "react";
1
+ import { FC, ReactNode } from "react";
2
2
  import { ModalProps } from "@mui/material";
3
- interface iModal extends ModalProps {
3
+ interface iModal extends Omit<ModalProps, 'title'> {
4
4
  setOpen?: any;
5
- title?: string;
5
+ title?: string | ReactNode;
6
6
  }
7
7
  export declare const Modal: FC<iModal>;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Modal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAElC,cAAc;AACd,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,IAAI,QAAQ,EAAc,MAAM,eAAe,CAAC;AAE3F,gBAAgB;AAChB,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAEhD,SAAS;AACT,OAAO,SAAS,MAAM,SAAS,CAAC;AAQhC,MAAM,CAAC,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpE,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhC,OAAO,CACH,oBAAC,KAAK,CAAC,QAAQ;QACX,oBAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,KAAM,KAAK;YAC3B,oBAAC,GAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,eAAe;gBAC1C,oBAAC,GAAG,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;oBAC1B,oBAAC,UAAU,IAAC,OAAO,EAAE,IAAI,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAc;oBACvE,oBAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,oBAAC,KAAK,CAAC,KAAK,OAAG,CAAa,CACrE;gBACN,oBAAC,GAAG,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI;oBACxB,oBAAC,KAAK,CAAC,QAAQ,QAAE,KAAK,EAAE,QAAQ,CAAkB,CAChD,CACJ,CACC,CACE,CACpB,CAAC;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/Modal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,cAAc;AACd,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,IAAI,QAAQ,EAAc,MAAM,eAAe,CAAC;AAE3F,gBAAgB;AAChB,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAEhD,SAAS;AACT,OAAO,SAAS,MAAM,SAAS,CAAC;AAQhC,MAAM,CAAC,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IACpE,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhC,OAAO,CACH,oBAAC,KAAK,CAAC,QAAQ;QACX,oBAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,KAAM,KAAK;YAC3B,oBAAC,GAAG,IAAC,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,eAAe;gBAC1C,oBAAC,GAAG,IAAC,SAAS,EAAE,OAAO,CAAC,MAAM;oBAC1B,oBAAC,UAAU,IAAC,OAAO,EAAE,IAAI,IAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAc;oBACvE,oBAAC,UAAU,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;wBAAE,oBAAC,KAAK,CAAC,KAAK,OAAG,CAAa,CACrE;gBACN,oBAAC,GAAG,IAAC,SAAS,EAAE,OAAO,CAAC,IAAI;oBACxB,oBAAC,KAAK,CAAC,QAAQ,QAAE,KAAK,EAAE,QAAQ,CAAkB,CAChD,CACJ,CACC,CACE,CACpB,CAAC;AACN,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { FC } from "react";
2
+ export declare const PDFGenerator: FC<any>;
@@ -0,0 +1,62 @@
1
+ import React, { Fragment, useEffect, useState } from "react";
2
+ // JSPDF
3
+ import jsPDF from "jspdf";
4
+ import html2canvas from "html2canvas";
5
+ // Coject
6
+ import { Button, Modal } from "../index";
7
+ // Material UI
8
+ import { Box } from "@mui/material";
9
+ // Styles
10
+ import useStyles from "./theme";
11
+ export const PDFGenerator = ({ button, landscape, fileName, title, children }) => {
12
+ const { classes } = useStyles();
13
+ const [modal, setModal] = useState(false);
14
+ const [pdfPreview, setPdfPreview] = useState(null);
15
+ // Clear PDF Preview
16
+ useEffect(() => {
17
+ if (!modal) {
18
+ setPdfPreview(null);
19
+ }
20
+ }, [modal]);
21
+ // Generate PDF
22
+ const generatePDF = () => {
23
+ const element = document.getElementById("content");
24
+ html2canvas(element).then((canvas) => {
25
+ let position = 0;
26
+ let pageCount = 0;
27
+ const imgWidth = landscape ? 297 : 210;
28
+ const pageHeight = landscape ? 210 : 297;
29
+ const pdf = new jsPDF(`${landscape ? 'landscape' : 'p'}`, "mm", "a4");
30
+ const imgData = canvas.toDataURL("image/png");
31
+ const imgHeight = (canvas.height * imgWidth) / canvas.width;
32
+ let heightLeft = imgHeight;
33
+ // Create Pages
34
+ while (heightLeft > 0) {
35
+ pageCount++;
36
+ pdf.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
37
+ pdf.text(`${pageCount}`, 105, 290, { align: "center" });
38
+ heightLeft -= pageHeight;
39
+ if (heightLeft > 0) {
40
+ position -= pageHeight;
41
+ pdf.addPage();
42
+ }
43
+ }
44
+ // Generate a Blob URL for preview
45
+ const pdfBlob = pdf.output("blob");
46
+ const pdfURL = URL.createObjectURL(pdfBlob);
47
+ setPdfPreview(pdfURL);
48
+ });
49
+ };
50
+ return (React.createElement(Fragment, null,
51
+ React.createElement(Box, { className: `${classes.root} coject_pdf` },
52
+ React.createElement(Button, { variant: 'contained', onClick: () => setModal(true) }, button ?? 'PDF Report'),
53
+ React.createElement(Modal, { open: modal, setOpen: setModal, title: title ?? 'PDF Report', className: classes.modal }, pdfPreview ?
54
+ React.createElement(Fragment, null,
55
+ React.createElement("iframe", { src: pdfPreview, className: classes.preview }),
56
+ React.createElement(Button, { className: classes.button, variant: 'contained', component: 'a', href: pdfPreview, download: `${fileName ? (fileName + ".pdf") : "example.pdf"}` }, "Download PDF")) :
57
+ React.createElement(Fragment, null,
58
+ React.createElement(Box, { className: classes.children },
59
+ React.createElement(Box, { id: "content" }, children)),
60
+ React.createElement(Button, { className: classes.button, variant: 'contained', component: 'a', onClick: generatePDF }, "Preview PDF"))))));
61
+ };
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ declare const useStyles: (params: void, muiStyleOverridesParams?: {
2
+ props: Record<string, unknown>;
3
+ ownerState?: Record<string, unknown> | undefined;
4
+ } | undefined) => {
5
+ classes: Record<"button" | "children" | "root" | "modal" | "preview", string>;
6
+ theme: import("@mui/material").Theme;
7
+ css: import("tss-react/types").Css;
8
+ cx: import("tss-react/types").Cx;
9
+ };
10
+ export default useStyles;
@@ -0,0 +1,45 @@
1
+ import { makeStyles } from "tss-react/mui";
2
+ const useStyles = makeStyles()((theme) => {
3
+ return {
4
+ root: {
5
+ margin: 0,
6
+ width: "100%",
7
+ "& button": {
8
+ gap: 4,
9
+ display: "flex",
10
+ padding: "10px 20px",
11
+ alignItems: "center",
12
+ boxShadow: "none !important",
13
+ backgroundColor: theme.palette.primary.main
14
+ }
15
+ },
16
+ button: {
17
+ gap: 4,
18
+ display: "flex",
19
+ marginTop: "10px",
20
+ padding: "5px 20px",
21
+ alignItems: "center",
22
+ textTransform: "capitalize",
23
+ borderRadius: "0 !important",
24
+ boxShadow: "none !important",
25
+ backgroundColor: theme.palette.primary.main
26
+ },
27
+ children: {
28
+ width: "auto",
29
+ padding: "10px",
30
+ border: "1px solid #d2d0d0",
31
+ minHeight: "calc(100vh - 250px)"
32
+ },
33
+ modal: {
34
+ "& .coject_modal": {
35
+ width: "800px"
36
+ }
37
+ },
38
+ preview: {
39
+ width: "100%",
40
+ height: "calc(100vh - 250px)"
41
+ }
42
+ };
43
+ });
44
+ export default useStyles;
45
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../resources/Components/PDFGenerator/theme.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;IACrC,OAAO;QACH,IAAI,EAAE;YACF,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,UAAU,EAAE;gBACR,GAAG,EAAE,CAAC;gBACN,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,QAAQ;gBACpB,SAAS,EAAE,iBAAiB;gBAC5B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;aAC9C;SACJ;QACD,MAAM,EAAE;YACJ,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,YAAY;YAC3B,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,iBAAiB;YAC5B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;SAC9C;QACD,QAAQ,EAAE;YACN,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,mBAAmB;YAC3B,SAAS,EAAE,qBAAqB;SACnC;QACD,KAAK,EAAE;YACH,iBAAiB,EAAE;gBACf,KAAK,EAAE,OAAO;aACjB;SACJ;QACD,OAAO,EAAE;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,qBAAqB;SAChC;KACJ,CAAA;AACL,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC"}
@@ -8,4 +8,5 @@ export { Switch } from "./Switch";
8
8
  export { Checkbox } from "./Checkbox";
9
9
  export { DatePicker } from "./DatePicker";
10
10
  export { Upload } from "./Upload";
11
+ export { PDFGenerator } from "./PDFGenerator";
11
12
  export declare const Icons: any;
@@ -20,6 +20,8 @@ export { Checkbox } from "./Checkbox";
20
20
  export { DatePicker } from "./DatePicker";
21
21
  // Date
22
22
  export { Upload } from "./Upload";
23
+ // PDF Generator
24
+ export { PDFGenerator } from "./PDFGenerator";
23
25
  // Icons
24
26
  export const Icons = MuiIcons;
25
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../resources/Components/index.tsx"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAEhD,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,WAAW;AACX,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO;AACP,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO;AACP,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAQ;AACR,MAAM,CAAC,MAAM,KAAK,GAAQ,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../resources/Components/index.tsx"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAEhD,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,WAAW;AACX,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO;AACP,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO;AACP,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ;AACR,MAAM,CAAC,MAAM,KAAK,GAAQ,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coject",
3
- "version": "2.3.23",
3
+ "version": "2.4.0",
4
4
  "description": "React Library",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -40,8 +40,8 @@
40
40
  "@mui/x-data-grid": "^7.6.1",
41
41
  "@mui/x-date-pickers": "^7.6.1",
42
42
  "@types/node": "^20.14.2",
43
- "@types/react-dom": "^18.3.0",
44
43
  "@types/react": "^18.3.3",
44
+ "@types/react-dom": "^18.3.0",
45
45
  "axios": "^1.7.2",
46
46
  "coject-hijri": "^1.9.0",
47
47
  "moment": "^2.30.1",
@@ -55,5 +55,9 @@
55
55
  "peerDependencies": {
56
56
  "react": "^18.2.0",
57
57
  "react-dom": "^18.2.0"
58
+ },
59
+ "dependencies": {
60
+ "html2canvas": "^1.4.1",
61
+ "jspdf": "^2.5.2"
58
62
  }
59
63
  }