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.
Files changed (179) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/apps/dev-app/.env +1 -0
  3. package/apps/dev-app/errors.log +0 -0
  4. package/apps/dev-app/index.html +12 -0
  5. package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js +3254 -0
  6. package/apps/dev-app/node_modules/.vite/deps/@tanstack_react-table.js.map +7 -0
  7. package/apps/dev-app/node_modules/.vite/deps/_metadata.json +178 -0
  8. package/apps/dev-app/node_modules/.vite/deps/antd.js +108982 -0
  9. package/apps/dev-app/node_modules/.vite/deps/antd.js.map +7 -0
  10. package/apps/dev-app/node_modules/.vite/deps/axios.js +2751 -0
  11. package/apps/dev-app/node_modules/.vite/deps/axios.js.map +7 -0
  12. package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js +41 -0
  13. package/apps/dev-app/node_modules/.vite/deps/chunk-5OG7DCD7.js.map +7 -0
  14. package/apps/dev-app/node_modules/.vite/deps/chunk-7YRZYZRE.js +7807 -0
  15. package/apps/dev-app/node_modules/.vite/deps/chunk-7YRZYZRE.js.map +7 -0
  16. package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js +39 -0
  17. package/apps/dev-app/node_modules/.vite/deps/chunk-DC5AMYBS.js.map +7 -0
  18. package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js +135 -0
  19. package/apps/dev-app/node_modules/.vite/deps/chunk-DKXRQMOD.js.map +7 -0
  20. package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js +37 -0
  21. package/apps/dev-app/node_modules/.vite/deps/chunk-EL47BWQR.js.map +7 -0
  22. package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js +288 -0
  23. package/apps/dev-app/node_modules/.vite/deps/chunk-HHL3MHGV.js.map +7 -0
  24. package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js +60 -0
  25. package/apps/dev-app/node_modules/.vite/deps/chunk-IGGUWUPT.js.map +7 -0
  26. package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js +928 -0
  27. package/apps/dev-app/node_modules/.vite/deps/chunk-IGXZPJXT.js.map +7 -0
  28. package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js +21628 -0
  29. package/apps/dev-app/node_modules/.vite/deps/chunk-L2GCM37S.js.map +7 -0
  30. package/apps/dev-app/node_modules/.vite/deps/chunk-LDRT62EN.js +14806 -0
  31. package/apps/dev-app/node_modules/.vite/deps/chunk-LDRT62EN.js.map +7 -0
  32. package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js +14 -0
  33. package/apps/dev-app/node_modules/.vite/deps/chunk-M7DZDBHW.js.map +7 -0
  34. package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js +1906 -0
  35. package/apps/dev-app/node_modules/.vite/deps/chunk-S54SBVCU.js.map +7 -0
  36. package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js +21 -0
  37. package/apps/dev-app/node_modules/.vite/deps/chunk-WFNHCR67.js.map +7 -0
  38. package/apps/dev-app/node_modules/.vite/deps/clsx.js +10 -0
  39. package/apps/dev-app/node_modules/.vite/deps/clsx.js.map +7 -0
  40. package/apps/dev-app/node_modules/.vite/deps/dayjs.js +6 -0
  41. package/apps/dev-app/node_modules/.vite/deps/dayjs.js.map +7 -0
  42. package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js +6 -0
  43. package/apps/dev-app/node_modules/.vite/deps/dayjs_plugin_customParseFormat.js.map +7 -0
  44. package/apps/dev-app/node_modules/.vite/deps/framer-motion.js +12388 -0
  45. package/apps/dev-app/node_modules/.vite/deps/framer-motion.js.map +7 -0
  46. package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js +9713 -0
  47. package/apps/dev-app/node_modules/.vite/deps/html2canvas-pro.js.map +7 -0
  48. package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-VL7GM4AH.js +8 -0
  49. package/apps/dev-app/node_modules/.vite/deps/html2canvas.esm-VL7GM4AH.js.map +7 -0
  50. package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js +10392 -0
  51. package/apps/dev-app/node_modules/.vite/deps/index.es-3WTXOFZ2.js.map +7 -0
  52. package/apps/dev-app/node_modules/.vite/deps/jspdf.js +41 -0
  53. package/apps/dev-app/node_modules/.vite/deps/jspdf.js.map +7 -0
  54. package/apps/dev-app/node_modules/.vite/deps/lucide-react.js +31586 -0
  55. package/apps/dev-app/node_modules/.vite/deps/lucide-react.js.map +7 -0
  56. package/apps/dev-app/node_modules/.vite/deps/package.json +3 -0
  57. package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js +1029 -0
  58. package/apps/dev-app/node_modules/.vite/deps/purify.es-JNLDEIMX.js.map +7 -0
  59. package/apps/dev-app/node_modules/.vite/deps/react-dom.js +7 -0
  60. package/apps/dev-app/node_modules/.vite/deps/react-dom.js.map +7 -0
  61. package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js +8 -0
  62. package/apps/dev-app/node_modules/.vite/deps/react-dom_client.js.map +7 -0
  63. package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js +2233 -0
  64. package/apps/dev-app/node_modules/.vite/deps/react-hook-form.js.map +7 -0
  65. package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js +9307 -0
  66. package/apps/dev-app/node_modules/.vite/deps/react-phone-number-input.js.map +7 -0
  67. package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js +14234 -0
  68. package/apps/dev-app/node_modules/.vite/deps/react-router-dom.js.map +7 -0
  69. package/apps/dev-app/node_modules/.vite/deps/react-to-pdf.js +268 -0
  70. package/apps/dev-app/node_modules/.vite/deps/react-to-pdf.js.map +7 -0
  71. package/apps/dev-app/node_modules/.vite/deps/react.js +6 -0
  72. package/apps/dev-app/node_modules/.vite/deps/react.js.map +7 -0
  73. package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js +913 -0
  74. package/apps/dev-app/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
  75. package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js +7 -0
  76. package/apps/dev-app/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
  77. package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js +2534 -0
  78. package/apps/dev-app/node_modules/.vite/deps/tailwind-merge.js.map +7 -0
  79. package/apps/dev-app/node_modules/tailwindcss/LICENSE +21 -0
  80. package/apps/dev-app/node_modules/tailwindcss/README.md +36 -0
  81. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-L5IEUH3R.mjs +38 -0
  82. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-UWKE2Z6N.mjs +1 -0
  83. package/apps/dev-app/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
  84. package/apps/dev-app/node_modules/tailwindcss/dist/colors-C__qRT83.d.ts +347 -0
  85. package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.mts +347 -0
  86. package/apps/dev-app/node_modules/tailwindcss/dist/colors.d.ts +5 -0
  87. package/apps/dev-app/node_modules/tailwindcss/dist/colors.js +1 -0
  88. package/apps/dev-app/node_modules/tailwindcss/dist/colors.mjs +1 -0
  89. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.mts +1199 -0
  90. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.d.ts +1199 -0
  91. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.js +1 -0
  92. package/apps/dev-app/node_modules/tailwindcss/dist/default-theme.mjs +1 -0
  93. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.mts +6 -0
  94. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.d.ts +6 -0
  95. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.js +3 -0
  96. package/apps/dev-app/node_modules/tailwindcss/dist/flatten-color-palette.mjs +1 -0
  97. package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.mts +378 -0
  98. package/apps/dev-app/node_modules/tailwindcss/dist/lib.d.ts +3 -0
  99. package/apps/dev-app/node_modules/tailwindcss/dist/lib.js +38 -0
  100. package/apps/dev-app/node_modules/tailwindcss/dist/lib.mjs +1 -0
  101. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.mts +11 -0
  102. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.d.ts +134 -0
  103. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.js +1 -0
  104. package/apps/dev-app/node_modules/tailwindcss/dist/plugin.mjs +1 -0
  105. package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-B4yBzhca.d.ts +29 -0
  106. package/apps/dev-app/node_modules/tailwindcss/dist/resolve-config-QUZ9b-Gn.d.mts +190 -0
  107. package/apps/dev-app/node_modules/tailwindcss/dist/types-CJYAW1ql.d.mts +128 -0
  108. package/apps/dev-app/node_modules/tailwindcss/index.css +944 -0
  109. package/apps/dev-app/node_modules/tailwindcss/package.json +89 -0
  110. package/apps/dev-app/node_modules/tailwindcss/preflight.css +393 -0
  111. package/apps/dev-app/node_modules/tailwindcss/theme.css +510 -0
  112. package/apps/dev-app/node_modules/tailwindcss/utilities.css +1 -0
  113. package/apps/dev-app/package.json +35 -0
  114. package/apps/dev-app/src/App.tsx +74 -0
  115. package/apps/dev-app/src/index.css +18 -0
  116. package/apps/dev-app/src/main.tsx +18 -0
  117. package/apps/dev-app/src/pages/Buttons.tsx +122 -0
  118. package/apps/dev-app/src/pages/DataTable.tsx +208 -0
  119. package/apps/dev-app/src/pages/Fields.tsx +342 -0
  120. package/apps/dev-app/src/pages/Modals.tsx +151 -0
  121. package/apps/dev-app/src/pages/Spins.tsx +161 -0
  122. package/apps/dev-app/ts_errors.txt +0 -0
  123. package/apps/dev-app/tsconfig.json +25 -0
  124. package/apps/dev-app/tsconfig.node.json +10 -0
  125. package/apps/dev-app/vite.config.ts +11 -0
  126. package/package.json +10 -49
  127. package/packages/ui/dist/index.d.mts +356 -0
  128. package/packages/ui/dist/index.d.ts +356 -0
  129. package/packages/ui/dist/index.js +2296 -0
  130. package/packages/ui/dist/index.mjs +2249 -0
  131. package/packages/ui/dist/styles.js +26 -0
  132. package/packages/ui/dist/styles.mjs +24 -0
  133. package/packages/ui/log.txt +0 -0
  134. package/packages/ui/package.json +68 -0
  135. package/packages/ui/postcss.config.js +6 -0
  136. package/packages/ui/src/components/Button.tsx +85 -0
  137. package/packages/ui/src/components/Card.tsx +97 -0
  138. package/packages/ui/src/components/CodeBlock.tsx +53 -0
  139. package/packages/ui/src/components/DashboardLayout.tsx +442 -0
  140. package/packages/ui/src/components/Fields/Input.tsx +191 -0
  141. package/packages/ui/src/components/Fields/PhoneInput.tsx +134 -0
  142. package/packages/ui/src/components/Fields/date.tsx +165 -0
  143. package/packages/ui/src/components/Fields/index.tsx +17 -0
  144. package/packages/ui/src/components/Fields/searchApi.tsx +479 -0
  145. package/packages/ui/src/components/Fields/select.tsx +131 -0
  146. package/packages/ui/src/components/Fields/textArea.tsx +121 -0
  147. package/packages/ui/src/components/LoadingBox.tsx +11 -0
  148. package/packages/ui/src/components/PageHeader.tsx +34 -0
  149. package/packages/ui/src/components/ThemeToggle.tsx +35 -0
  150. package/packages/ui/src/components/modal/Modal.tsx +81 -0
  151. package/packages/ui/src/components/spins/ClassicSpin.tsx +18 -0
  152. package/packages/ui/src/components/spins/LoadingSpin.tsx +45 -0
  153. package/packages/ui/src/components/spins/OverlaySpin.tsx +10 -0
  154. package/packages/ui/src/components/spins/index.tsx +13 -0
  155. package/packages/ui/src/components/tables/DataTable.tsx +261 -0
  156. package/packages/ui/src/components/tables/index.ts +1 -0
  157. package/packages/ui/src/hooks/Fetches/useApis.tsx +197 -0
  158. package/packages/ui/src/hooks/ThemeContext.tsx +56 -0
  159. package/packages/ui/src/hooks/useModal.tsx +38 -0
  160. package/packages/ui/src/hooks/useTheme.ts +34 -0
  161. package/packages/ui/src/index.ts +24 -0
  162. package/packages/ui/src/providers/WarqadProvider.tsx +69 -0
  163. package/packages/ui/src/styles.css +26 -0
  164. package/packages/ui/src/utils/cn.ts +6 -0
  165. package/packages/ui/src/utils/pdf.ts +171 -0
  166. package/packages/ui/tailwind.config.js +13 -0
  167. package/packages/ui/tsconfig.json +17 -0
  168. package/packages/ui/warqad-ui-0.0.1.tgz +0 -0
  169. package/packages/ui/warqadui-0.0.3.tgz +0 -0
  170. package/warqad-ui-0.0.1.tgz +0 -0
  171. package/dist/index.d.mts +0 -35
  172. package/dist/index.d.ts +0 -35
  173. package/dist/index.js +0 -470
  174. package/dist/index.mjs +0 -440
  175. package/dist/styles.js +0 -26
  176. package/dist/styles.mjs +0 -24
  177. /package/{dist → packages/ui/dist}/index.css +0 -0
  178. /package/{dist → packages/ui/dist}/styles.d.mts +0 -0
  179. /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
+ }
@@ -0,0 +1,6 @@
1
+ import {
2
+ require_react
3
+ } from "./chunk-S54SBVCU.js";
4
+ import "./chunk-DC5AMYBS.js";
5
+ export default require_react();
6
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }