warqadui 0.0.5 → 0.0.6
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.
- package/.vscode/settings.json +3 -0
- package/apps/dev-app/.env +1 -0
- package/apps/dev-app/errors.log +0 -0
- package/apps/dev-app/index.html +12 -0
- package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js +3254 -0
- package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/_metadata.json +178 -0
- package/apps/dev-app/node_modules/.vite/deps/antd.js +108982 -0
- package/apps/dev-app/node_modules/.vite/deps/antd.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/axios.js +2751 -0
- package/apps/dev-app/node_modules/.vite/deps/axios.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js +41 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-7YRZYZRE.js +7807 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-7YRZYZRE.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js +39 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js +135 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js +37 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js +288 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js +60 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js +928 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js +21628 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-LDRT62EN.js +14806 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-LDRT62EN.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js +14 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js +1906 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js +21 -0
- package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/clsx.js +10 -0
- package/apps/dev-app/node_modules/.vite/deps/clsx.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/dayjs.js +6 -0
- package/apps/dev-app/node_modules/.vite/deps/dayjs.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js +6 -0
- package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/framer-motion.js +12388 -0
- package/apps/dev-app/node_modules/.vite/deps/framer-motion.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js +9713 -0
- package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-VL7GM4AH.js +8 -0
- package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-VL7GM4AH.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js +10392 -0
- package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/jspdf.js +41 -0
- package/apps/dev-app/node_modules/.vite/deps/jspdf.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/lucide-react.js +31586 -0
- package/apps/dev-app/node_modules/.vite/deps/lucide-react.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/package.json +3 -0
- package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js +1029 -0
- package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react-dom.js +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react-dom.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js +8 -0
- package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js +2233 -0
- package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js +9307 -0
- package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js +14234 -0
- package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react-to-pdf.js +268 -0
- package/apps/dev-app/node_modules/.vite/deps/react-to-pdf.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react.js +6 -0
- package/apps/dev-app/node_modules/.vite/deps/react.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js +913 -0
- package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js +7 -0
- package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
- package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js +2534 -0
- package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js.map +7 -0
- package/apps/dev-app/node_modules/tailwindcss/LICENSE +21 -0
- package/apps/dev-app/node_modules/tailwindcss/README.md +36 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/chunk-L5IEUH3R.mjs +38 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/chunk-UWKE2Z6N.mjs +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/colors-C__qRT83.d.ts +347 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.mts +347 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.ts +5 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/colors.js +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/colors.mjs +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.mts +1199 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.ts +1199 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.js +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.mjs +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.mts +6 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.ts +6 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.js +3 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.mjs +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.mts +378 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.ts +3 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/lib.js +38 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/lib.mjs +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.mts +11 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.ts +134 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/plugin.js +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/plugin.mjs +1 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-B4yBzhca.d.ts +29 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-QUZ9b-Gn.d.mts +190 -0
- package/apps/dev-app/node_modules/tailwindcss/dist/types-CJYAW1ql.d.mts +128 -0
- package/apps/dev-app/node_modules/tailwindcss/index.css +944 -0
- package/apps/dev-app/node_modules/tailwindcss/package.json +89 -0
- package/apps/dev-app/node_modules/tailwindcss/preflight.css +393 -0
- package/apps/dev-app/node_modules/tailwindcss/theme.css +510 -0
- package/apps/dev-app/node_modules/tailwindcss/utilities.css +1 -0
- package/apps/dev-app/package.json +35 -0
- package/apps/dev-app/src/App.tsx +74 -0
- package/apps/dev-app/src/index.css +18 -0
- package/apps/dev-app/src/main.tsx +18 -0
- package/apps/dev-app/src/pages/Buttons.tsx +122 -0
- package/apps/dev-app/src/pages/DataTable.tsx +208 -0
- package/apps/dev-app/src/pages/Fields.tsx +342 -0
- package/apps/dev-app/src/pages/Modals.tsx +151 -0
- package/apps/dev-app/src/pages/Spins.tsx +161 -0
- package/apps/dev-app/ts_errors.txt +0 -0
- package/apps/dev-app/tsconfig.json +25 -0
- package/apps/dev-app/tsconfig.node.json +10 -0
- package/apps/dev-app/vite.config.ts +11 -0
- package/package.json +10 -49
- package/packages/ui/dist/index.d.mts +356 -0
- package/packages/ui/dist/index.d.ts +356 -0
- package/packages/ui/dist/index.js +2296 -0
- package/packages/ui/dist/index.mjs +2249 -0
- package/packages/ui/dist/styles.js +26 -0
- package/packages/ui/dist/styles.mjs +24 -0
- package/packages/ui/log.txt +0 -0
- package/packages/ui/package.json +68 -0
- package/packages/ui/postcss.config.js +6 -0
- package/packages/ui/src/components/Button.tsx +85 -0
- package/packages/ui/src/components/Card.tsx +97 -0
- package/packages/ui/src/components/CodeBlock.tsx +53 -0
- package/packages/ui/src/components/DashboardLayout.tsx +442 -0
- package/packages/ui/src/components/Fields/Input.tsx +191 -0
- package/packages/ui/src/components/Fields/PhoneInput.tsx +134 -0
- package/packages/ui/src/components/Fields/date.tsx +165 -0
- package/packages/ui/src/components/Fields/index.tsx +17 -0
- package/packages/ui/src/components/Fields/searchApi.tsx +479 -0
- package/packages/ui/src/components/Fields/select.tsx +131 -0
- package/packages/ui/src/components/Fields/textArea.tsx +121 -0
- package/packages/ui/src/components/LoadingBox.tsx +11 -0
- package/packages/ui/src/components/PageHeader.tsx +34 -0
- package/packages/ui/src/components/ThemeToggle.tsx +35 -0
- package/packages/ui/src/components/modal/Modal.tsx +81 -0
- package/packages/ui/src/components/spins/ClassicSpin.tsx +18 -0
- package/packages/ui/src/components/spins/LoadingSpin.tsx +45 -0
- package/packages/ui/src/components/spins/OverlaySpin.tsx +10 -0
- package/packages/ui/src/components/spins/index.tsx +13 -0
- package/packages/ui/src/components/tables/DataTable.tsx +261 -0
- package/packages/ui/src/components/tables/index.ts +1 -0
- package/packages/ui/src/hooks/Fetches/useApis.tsx +197 -0
- package/packages/ui/src/hooks/ThemeContext.tsx +56 -0
- package/packages/ui/src/hooks/useModal.tsx +38 -0
- package/packages/ui/src/hooks/useTheme.ts +34 -0
- package/packages/ui/src/index.ts +24 -0
- package/packages/ui/src/providers/WarqadProvider.tsx +69 -0
- package/packages/ui/src/styles.css +26 -0
- package/packages/ui/src/utils/cn.ts +6 -0
- package/packages/ui/src/utils/pdf.ts +171 -0
- package/packages/ui/tailwind.config.js +13 -0
- package/packages/ui/tsconfig.json +17 -0
- package/packages/ui/warqad-ui-0.0.1.tgz +0 -0
- package/packages/ui/warqadui-0.0.3.tgz +0 -0
- package/warqad-ui-0.0.1.tgz +0 -0
- package/dist/index.d.mts +0 -35
- package/dist/index.d.ts +0 -35
- package/dist/index.js +0 -470
- package/dist/index.mjs +0 -440
- package/dist/styles.js +0 -26
- package/dist/styles.mjs +0 -24
- /package/{dist → packages/ui/dist}/index.css +0 -0
- /package/{dist → packages/ui/dist}/styles.d.mts +0 -0
- /package/{dist → packages/ui/dist}/styles.d.ts +0 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import {
|
|
2
|
+
html2canvas_esm_default
|
|
3
|
+
} from "./chunk-7YRZYZRE.js";
|
|
4
|
+
import {
|
|
5
|
+
E
|
|
6
|
+
} from "./chunk-LDRT62EN.js";
|
|
7
|
+
import "./chunk-IGGUWUPT.js";
|
|
8
|
+
import "./chunk-M7DZDBHW.js";
|
|
9
|
+
import {
|
|
10
|
+
require_react
|
|
11
|
+
} from "./chunk-S54SBVCU.js";
|
|
12
|
+
import {
|
|
13
|
+
__publicField,
|
|
14
|
+
__toESM
|
|
15
|
+
} from "./chunk-DC5AMYBS.js";
|
|
16
|
+
|
|
17
|
+
// ../../node_modules/react-to-pdf/dist/index.mjs
|
|
18
|
+
var import_react = __toESM(require_react(), 1);
|
|
19
|
+
var MM_TO_PX = 3.77952755906;
|
|
20
|
+
var Resolution = ((Resolution2) => {
|
|
21
|
+
Resolution2[Resolution2["LOW"] = 1] = "LOW";
|
|
22
|
+
Resolution2[Resolution2["NORMAL"] = 2] = "NORMAL";
|
|
23
|
+
Resolution2[Resolution2["MEDIUM"] = 3] = "MEDIUM";
|
|
24
|
+
Resolution2[Resolution2["HIGH"] = 7] = "HIGH";
|
|
25
|
+
Resolution2[Resolution2["EXTREME"] = 12] = "EXTREME";
|
|
26
|
+
return Resolution2;
|
|
27
|
+
})(Resolution || {});
|
|
28
|
+
var Margin = ((Margin2) => {
|
|
29
|
+
Margin2[Margin2["NONE"] = 0] = "NONE";
|
|
30
|
+
Margin2[Margin2["SMALL"] = 5] = "SMALL";
|
|
31
|
+
Margin2[Margin2["MEDIUM"] = 10] = "MEDIUM";
|
|
32
|
+
Margin2[Margin2["LARGE"] = 25] = "LARGE";
|
|
33
|
+
return Margin2;
|
|
34
|
+
})(Margin || {});
|
|
35
|
+
var DEFAULT_OPTIONS = {
|
|
36
|
+
method: "save",
|
|
37
|
+
resolution: 3,
|
|
38
|
+
page: {
|
|
39
|
+
margin: 0,
|
|
40
|
+
format: "A4",
|
|
41
|
+
orientation: "portrait"
|
|
42
|
+
},
|
|
43
|
+
canvas: {
|
|
44
|
+
mimeType: "image/jpeg",
|
|
45
|
+
qualityRatio: 1,
|
|
46
|
+
useCORS: true,
|
|
47
|
+
logging: false
|
|
48
|
+
},
|
|
49
|
+
overrides: {}
|
|
50
|
+
};
|
|
51
|
+
var Converter = class {
|
|
52
|
+
constructor(canvas, options) {
|
|
53
|
+
__publicField(this, "pdf");
|
|
54
|
+
__publicField(this, "canvas");
|
|
55
|
+
__publicField(this, "options");
|
|
56
|
+
var _a;
|
|
57
|
+
this.canvas = canvas;
|
|
58
|
+
this.options = options;
|
|
59
|
+
this.pdf = new E({
|
|
60
|
+
format: this.options.page.format,
|
|
61
|
+
orientation: this.options.page.orientation,
|
|
62
|
+
...(_a = this.options.overrides) == null ? void 0 : _a.pdf,
|
|
63
|
+
unit: "mm"
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
getMarginTopMM() {
|
|
67
|
+
const margin = typeof this.options.page.margin === "object" ? this.options.page.margin.top : this.options.page.margin;
|
|
68
|
+
return Number(margin);
|
|
69
|
+
}
|
|
70
|
+
getMarginLeftMM() {
|
|
71
|
+
const margin = typeof this.options.page.margin === "object" ? this.options.page.margin.left : this.options.page.margin;
|
|
72
|
+
return Number(margin);
|
|
73
|
+
}
|
|
74
|
+
getMarginRightMM() {
|
|
75
|
+
const margin = typeof this.options.page.margin === "object" ? this.options.page.margin.right : this.options.page.margin;
|
|
76
|
+
return Number(margin);
|
|
77
|
+
}
|
|
78
|
+
getMarginBottomMM() {
|
|
79
|
+
const margin = typeof this.options.page.margin === "object" ? this.options.page.margin.bottom : this.options.page.margin;
|
|
80
|
+
return Number(margin);
|
|
81
|
+
}
|
|
82
|
+
getMarginTop() {
|
|
83
|
+
return this.getMarginTopMM() * MM_TO_PX;
|
|
84
|
+
}
|
|
85
|
+
getMarginBottom() {
|
|
86
|
+
return this.getMarginBottomMM() * MM_TO_PX;
|
|
87
|
+
}
|
|
88
|
+
getMarginLeft() {
|
|
89
|
+
return this.getMarginLeftMM() * MM_TO_PX;
|
|
90
|
+
}
|
|
91
|
+
getMarginRight() {
|
|
92
|
+
return this.getMarginRightMM() * MM_TO_PX;
|
|
93
|
+
}
|
|
94
|
+
getScale() {
|
|
95
|
+
return this.options.resolution;
|
|
96
|
+
}
|
|
97
|
+
getPageHeight() {
|
|
98
|
+
return this.getPageHeightMM() * MM_TO_PX;
|
|
99
|
+
}
|
|
100
|
+
getPageHeightMM() {
|
|
101
|
+
return this.pdf.internal.pageSize.height;
|
|
102
|
+
}
|
|
103
|
+
getPageWidthMM() {
|
|
104
|
+
return this.pdf.internal.pageSize.width;
|
|
105
|
+
}
|
|
106
|
+
getPageWidth() {
|
|
107
|
+
return this.getPageWidthMM() * MM_TO_PX;
|
|
108
|
+
}
|
|
109
|
+
getOriginalCanvasWidth() {
|
|
110
|
+
return this.canvas.width / this.getScale();
|
|
111
|
+
}
|
|
112
|
+
getOriginalCanvasHeight() {
|
|
113
|
+
return this.canvas.height / this.getScale();
|
|
114
|
+
}
|
|
115
|
+
getCanvasPageAvailableHeight() {
|
|
116
|
+
return this.getPageAvailableHeight() * this.getScale() * this.getHorizontalFitFactor();
|
|
117
|
+
}
|
|
118
|
+
getPageAvailableWidth() {
|
|
119
|
+
return this.getPageWidth() - (this.getMarginLeft() + this.getMarginRight());
|
|
120
|
+
}
|
|
121
|
+
getPageAvailableHeight() {
|
|
122
|
+
return this.getPageHeight() - (this.getMarginTop() + this.getMarginBottom());
|
|
123
|
+
}
|
|
124
|
+
getPageAvailableWidthMM() {
|
|
125
|
+
return this.getPageAvailableWidth() / MM_TO_PX;
|
|
126
|
+
}
|
|
127
|
+
getPageAvailableHeightMM() {
|
|
128
|
+
return this.getPageAvailableHeight() / MM_TO_PX;
|
|
129
|
+
}
|
|
130
|
+
getNumberPages() {
|
|
131
|
+
return Math.ceil(this.canvas.height / this.getCanvasPageAvailableHeight());
|
|
132
|
+
}
|
|
133
|
+
getHorizontalFitFactor() {
|
|
134
|
+
if (this.getPageAvailableWidth() < this.getOriginalCanvasWidth()) {
|
|
135
|
+
return this.getOriginalCanvasWidth() / this.getPageAvailableWidth();
|
|
136
|
+
}
|
|
137
|
+
return 1;
|
|
138
|
+
}
|
|
139
|
+
getCanvasOffsetY(pageNumber) {
|
|
140
|
+
return this.getCanvasPageAvailableHeight() * (pageNumber - 1);
|
|
141
|
+
}
|
|
142
|
+
getCanvasHeightLeft(pageNumber) {
|
|
143
|
+
return this.canvas.height - this.getCanvasOffsetY(pageNumber);
|
|
144
|
+
}
|
|
145
|
+
getCanvasPageHeight(pageNumber) {
|
|
146
|
+
if (this.canvas.height < this.getCanvasPageAvailableHeight()) {
|
|
147
|
+
return this.canvas.height;
|
|
148
|
+
}
|
|
149
|
+
const canvasHeightPending = this.getCanvasHeightLeft(pageNumber);
|
|
150
|
+
return canvasHeightPending < this.getCanvasPageAvailableHeight() ? canvasHeightPending : this.getCanvasPageAvailableHeight();
|
|
151
|
+
}
|
|
152
|
+
getCanvasPageWidth() {
|
|
153
|
+
return this.canvas.width;
|
|
154
|
+
}
|
|
155
|
+
createCanvasPage(pageNumber) {
|
|
156
|
+
const canvasPageWidth = this.getCanvasPageWidth();
|
|
157
|
+
const canvasPageHeight = this.getCanvasPageHeight(pageNumber);
|
|
158
|
+
const canvasPage = document.createElement("canvas");
|
|
159
|
+
canvasPage.setAttribute("width", String(canvasPageWidth));
|
|
160
|
+
canvasPage.setAttribute("height", String(canvasPageHeight));
|
|
161
|
+
const ctx = canvasPage.getContext("2d");
|
|
162
|
+
ctx.drawImage(
|
|
163
|
+
this.canvas,
|
|
164
|
+
0,
|
|
165
|
+
this.getCanvasOffsetY(pageNumber),
|
|
166
|
+
this.canvas.width,
|
|
167
|
+
canvasPageHeight,
|
|
168
|
+
0,
|
|
169
|
+
0,
|
|
170
|
+
this.canvas.width,
|
|
171
|
+
canvasPageHeight
|
|
172
|
+
);
|
|
173
|
+
return canvasPage;
|
|
174
|
+
}
|
|
175
|
+
convert() {
|
|
176
|
+
let pageNumber = 1;
|
|
177
|
+
const numberPages = this.getNumberPages();
|
|
178
|
+
while (pageNumber <= numberPages) {
|
|
179
|
+
if (pageNumber > 1) {
|
|
180
|
+
this.pdf.addPage(
|
|
181
|
+
this.options.page.format,
|
|
182
|
+
this.options.page.orientation
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
const canvasPage = this.createCanvasPage(pageNumber);
|
|
186
|
+
const pageImageDataURL = canvasPage.toDataURL(
|
|
187
|
+
this.options.canvas.mimeType,
|
|
188
|
+
this.options.canvas.qualityRatio
|
|
189
|
+
);
|
|
190
|
+
this.pdf.setPage(pageNumber);
|
|
191
|
+
this.pdf.addImage({
|
|
192
|
+
imageData: pageImageDataURL,
|
|
193
|
+
width: canvasPage.width / (this.getScale() * MM_TO_PX * this.getHorizontalFitFactor()),
|
|
194
|
+
height: canvasPage.height / (this.getScale() * MM_TO_PX * this.getHorizontalFitFactor()),
|
|
195
|
+
x: this.getMarginLeftMM(),
|
|
196
|
+
y: this.getMarginTopMM()
|
|
197
|
+
});
|
|
198
|
+
pageNumber += 1;
|
|
199
|
+
}
|
|
200
|
+
return this.pdf;
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
var buildConvertOptions = (options) => {
|
|
204
|
+
if (!options) {
|
|
205
|
+
return DEFAULT_OPTIONS;
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
...DEFAULT_OPTIONS,
|
|
209
|
+
...options,
|
|
210
|
+
canvas: { ...DEFAULT_OPTIONS.canvas, ...options.canvas },
|
|
211
|
+
page: { ...DEFAULT_OPTIONS.page, ...options.page }
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
var getTargetElement = (targetRefOrFunction) => {
|
|
215
|
+
if (typeof targetRefOrFunction === "function") {
|
|
216
|
+
return targetRefOrFunction();
|
|
217
|
+
}
|
|
218
|
+
return targetRefOrFunction == null ? void 0 : targetRefOrFunction.current;
|
|
219
|
+
};
|
|
220
|
+
var usePDF = (usePDFoptions) => {
|
|
221
|
+
const targetRef = (0, import_react.useRef)();
|
|
222
|
+
const toPDF = (0, import_react.useCallback)(
|
|
223
|
+
(toPDFoptions) => {
|
|
224
|
+
return generatePDF(targetRef, usePDFoptions ?? toPDFoptions);
|
|
225
|
+
},
|
|
226
|
+
[targetRef, usePDFoptions]
|
|
227
|
+
);
|
|
228
|
+
return { targetRef, toPDF };
|
|
229
|
+
};
|
|
230
|
+
var generatePDF = async (targetRefOrFunction, customOptions) => {
|
|
231
|
+
var _a;
|
|
232
|
+
const options = buildConvertOptions(customOptions);
|
|
233
|
+
const targetElement = getTargetElement(targetRefOrFunction);
|
|
234
|
+
if (!targetElement) {
|
|
235
|
+
console.error("Unable to get the target element.");
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const canvas = await html2canvas_esm_default(targetElement, {
|
|
239
|
+
useCORS: options.canvas.useCORS,
|
|
240
|
+
logging: options.canvas.logging,
|
|
241
|
+
scale: options.resolution,
|
|
242
|
+
...(_a = options.overrides) == null ? void 0 : _a.canvas
|
|
243
|
+
});
|
|
244
|
+
const converter = new Converter(canvas, options);
|
|
245
|
+
const pdf = converter.convert();
|
|
246
|
+
switch (options.method) {
|
|
247
|
+
case "build":
|
|
248
|
+
return pdf;
|
|
249
|
+
case "open": {
|
|
250
|
+
window.open(pdf.output("bloburl"), "_blank");
|
|
251
|
+
return pdf;
|
|
252
|
+
}
|
|
253
|
+
case "save":
|
|
254
|
+
default: {
|
|
255
|
+
const pdfFilename = options.filename ?? `${(/* @__PURE__ */ new Date()).getTime()}.pdf`;
|
|
256
|
+
await pdf.save(pdfFilename, { returnPromise: true });
|
|
257
|
+
return pdf;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
};
|
|
261
|
+
var index_default = generatePDF;
|
|
262
|
+
export {
|
|
263
|
+
Margin,
|
|
264
|
+
Resolution,
|
|
265
|
+
index_default as default,
|
|
266
|
+
usePDF
|
|
267
|
+
};
|
|
268
|
+
//# sourceMappingURL=react-to-pdf.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../node_modules/react-to-pdf/src/index.ts", "../../../../../node_modules/react-to-pdf/src/converter.ts", "../../../../../node_modules/react-to-pdf/src/constants.ts", "../../../../../node_modules/react-to-pdf/src/utils.ts"],
|
|
4
|
+
"sourcesContent": ["import { useRef, useCallback } from \"react\";\nimport html2canvas from \"html2canvas\";\n\nimport Converter from \"./converter\";\nimport { Options, TargetElementFinder, UsePDFResult } from \"./types\";\nimport { buildConvertOptions } from \"./utils\";\nimport jsPDF from \"jspdf\";\nexport { Resolution, Margin } from \"./constants\";\nexport type { Options };\n\nconst getTargetElement = (\n targetRefOrFunction: TargetElementFinder\n): HTMLElement | null | undefined => {\n if (typeof targetRefOrFunction === \"function\") {\n return targetRefOrFunction();\n }\n return targetRefOrFunction?.current;\n};\n\nexport const usePDF = (usePDFoptions?: Options): UsePDFResult => {\n const targetRef = useRef();\n const toPDF = useCallback(\n (toPDFoptions?: Options): Promise<InstanceType<typeof jsPDF>> => {\n return generatePDF(targetRef, usePDFoptions ?? toPDFoptions);\n },\n [targetRef, usePDFoptions]\n );\n return { targetRef, toPDF };\n};\n\nconst generatePDF = async (\n targetRefOrFunction: TargetElementFinder,\n customOptions?: Options\n): Promise<InstanceType<typeof jsPDF>> => {\n const options = buildConvertOptions(customOptions);\n const targetElement = getTargetElement(targetRefOrFunction);\n if (!targetElement) {\n console.error(\"Unable to get the target element.\");\n return;\n }\n const canvas = await html2canvas(targetElement, {\n useCORS: options.canvas.useCORS,\n logging: options.canvas.logging,\n scale: options.resolution,\n ...options.overrides?.canvas,\n });\n const converter = new Converter(canvas, options);\n const pdf = converter.convert();\n switch (options.method) {\n case \"build\":\n return pdf;\n case \"open\": {\n window.open(pdf.output(\"bloburl\"), \"_blank\");\n return pdf;\n }\n case \"save\":\n default: {\n const pdfFilename = options.filename ?? `${new Date().getTime()}.pdf`;\n await pdf.save(pdfFilename, { returnPromise: true });\n return pdf;\n }\n }\n};\n\nexport default generatePDF;\n", "import jsPDF from \"jspdf\";\nimport { MM_TO_PX } from \"./constants\";\nimport { ConversionOptions, Options } from \"./types\";\n\nexport default class Converter {\n pdf: InstanceType<typeof jsPDF>;\n canvas: HTMLCanvasElement;\n options: Options;\n constructor(canvas: HTMLCanvasElement, options: ConversionOptions) {\n this.canvas = canvas;\n this.options = options;\n this.pdf = new jsPDF({\n format: this.options.page.format,\n orientation: this.options.page.orientation,\n ...this.options.overrides?.pdf,\n unit: \"mm\",\n });\n }\n getMarginTopMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.top\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginLeftMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.left\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginRightMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.right\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginBottomMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.bottom\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginTop() {\n return this.getMarginTopMM() * MM_TO_PX;\n }\n getMarginBottom() {\n return this.getMarginBottomMM() * MM_TO_PX;\n }\n getMarginLeft() {\n return this.getMarginLeftMM() * MM_TO_PX;\n }\n getMarginRight() {\n return this.getMarginRightMM() * MM_TO_PX;\n }\n getScale() {\n return this.options.resolution;\n }\n getPageHeight() {\n return this.getPageHeightMM() * MM_TO_PX;\n }\n getPageHeightMM() {\n return this.pdf.internal.pageSize.height;\n }\n getPageWidthMM() {\n return this.pdf.internal.pageSize.width;\n }\n getPageWidth() {\n return this.getPageWidthMM() * MM_TO_PX;\n }\n getOriginalCanvasWidth() {\n return this.canvas.width / this.getScale();\n }\n getOriginalCanvasHeight() {\n return this.canvas.height / this.getScale();\n }\n getCanvasPageAvailableHeight() {\n return (\n this.getPageAvailableHeight() *\n this.getScale() *\n this.getHorizontalFitFactor()\n );\n }\n getPageAvailableWidth() {\n return this.getPageWidth() - (this.getMarginLeft() + this.getMarginRight());\n }\n getPageAvailableHeight() {\n return (\n this.getPageHeight() - (this.getMarginTop() + this.getMarginBottom())\n );\n }\n getPageAvailableWidthMM() {\n return this.getPageAvailableWidth() / MM_TO_PX;\n }\n getPageAvailableHeightMM() {\n return this.getPageAvailableHeight() / MM_TO_PX;\n }\n getNumberPages() {\n return Math.ceil(this.canvas.height / this.getCanvasPageAvailableHeight());\n }\n getHorizontalFitFactor() {\n if (this.getPageAvailableWidth() < this.getOriginalCanvasWidth()) {\n return this.getOriginalCanvasWidth() / this.getPageAvailableWidth();\n }\n return 1;\n }\n getCanvasOffsetY(pageNumber: number) {\n return this.getCanvasPageAvailableHeight() * (pageNumber - 1);\n }\n getCanvasHeightLeft(pageNumber: number) {\n return this.canvas.height - this.getCanvasOffsetY(pageNumber);\n }\n getCanvasPageHeight(pageNumber: number) {\n if (this.canvas.height < this.getCanvasPageAvailableHeight()) {\n return this.canvas.height;\n }\n const canvasHeightPending = this.getCanvasHeightLeft(pageNumber);\n return canvasHeightPending < this.getCanvasPageAvailableHeight()\n ? canvasHeightPending\n : this.getCanvasPageAvailableHeight();\n }\n getCanvasPageWidth() {\n return this.canvas.width;\n }\n createCanvasPage(pageNumber: number): HTMLCanvasElement {\n const canvasPageWidth = this.getCanvasPageWidth();\n const canvasPageHeight = this.getCanvasPageHeight(pageNumber);\n const canvasPage = document.createElement(\"canvas\");\n canvasPage.setAttribute(\"width\", String(canvasPageWidth));\n canvasPage.setAttribute(\"height\", String(canvasPageHeight));\n const ctx = canvasPage.getContext(\"2d\");\n ctx.drawImage(\n this.canvas,\n 0,\n this.getCanvasOffsetY(pageNumber),\n this.canvas.width,\n canvasPageHeight,\n 0,\n 0,\n this.canvas.width,\n canvasPageHeight\n );\n return canvasPage;\n }\n convert(): InstanceType<typeof jsPDF> {\n let pageNumber = 1;\n const numberPages = this.getNumberPages();\n while (pageNumber <= numberPages) {\n if (pageNumber > 1) {\n this.pdf.addPage(\n this.options.page.format,\n this.options.page.orientation\n );\n }\n const canvasPage = this.createCanvasPage(pageNumber);\n const pageImageDataURL = canvasPage.toDataURL(\n this.options.canvas.mimeType,\n this.options.canvas.qualityRatio\n );\n this.pdf.setPage(pageNumber);\n this.pdf.addImage({\n imageData: pageImageDataURL,\n width:\n canvasPage.width /\n (this.getScale() * MM_TO_PX * this.getHorizontalFitFactor()),\n height:\n canvasPage.height /\n (this.getScale() * MM_TO_PX * this.getHorizontalFitFactor()),\n x: this.getMarginLeftMM(),\n y: this.getMarginTopMM(),\n });\n pageNumber += 1;\n }\n return this.pdf;\n }\n}\n", "import { ConversionOptions } from \"./types\";\n\nexport const MM_TO_PX = 3.77952755906;\n\nexport enum Resolution {\n LOW = 1,\n NORMAL = 2,\n MEDIUM = 3,\n HIGH = 7,\n EXTREME = 12,\n}\n\nexport enum Margin {\n NONE = 0,\n SMALL = 5,\n MEDIUM = 10,\n LARGE = 25,\n}\n\nexport const DEFAULT_OPTIONS: Readonly<ConversionOptions> = {\n method: \"save\",\n resolution: Resolution.MEDIUM,\n page: {\n margin: Margin.NONE,\n format: \"A4\",\n orientation: \"portrait\",\n },\n canvas: {\n mimeType: \"image/jpeg\",\n qualityRatio: 1,\n useCORS: true,\n logging: false,\n },\n overrides: {},\n};\n", "import { DEFAULT_OPTIONS } from \"./constants\";\nimport { ConversionOptions, Options } from \"./types\";\n\nexport const buildConvertOptions = (options?: Options): ConversionOptions => {\n if (!options) {\n return DEFAULT_OPTIONS;\n }\n return {\n ...DEFAULT_OPTIONS,\n ...options,\n canvas: { ...DEFAULT_OPTIONS.canvas, ...options.canvas },\n page: { ...DEFAULT_OPTIONS.page, ...options.page },\n };\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Resolution", "Margin"]
|
|
7
|
+
}
|