apexify.js 5.1.1 → 5.2.1

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 (236) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/README.md +244 -1101
  3. package/dist/cjs/Canvas/ApexPainter.d.ts +183 -204
  4. package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
  5. package/dist/cjs/Canvas/ApexPainter.js +524 -1282
  6. package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
  7. package/dist/cjs/Canvas/extended/CanvasCreator.d.ts +33 -0
  8. package/dist/cjs/Canvas/extended/CanvasCreator.d.ts.map +1 -0
  9. package/dist/cjs/Canvas/extended/CanvasCreator.js +223 -0
  10. package/dist/cjs/Canvas/extended/CanvasCreator.js.map +1 -0
  11. package/dist/cjs/Canvas/extended/ChartCreator.d.ts +26 -0
  12. package/dist/cjs/Canvas/extended/ChartCreator.d.ts.map +1 -0
  13. package/dist/cjs/Canvas/extended/ChartCreator.js +50 -0
  14. package/dist/cjs/Canvas/extended/ChartCreator.js.map +1 -0
  15. package/dist/cjs/Canvas/extended/GIFCreator.d.ts +43 -0
  16. package/dist/cjs/Canvas/extended/GIFCreator.d.ts.map +1 -0
  17. package/dist/cjs/Canvas/extended/GIFCreator.js +157 -0
  18. package/dist/cjs/Canvas/extended/GIFCreator.js.map +1 -0
  19. package/dist/cjs/Canvas/extended/ImageCreator.d.ts +83 -0
  20. package/dist/cjs/Canvas/extended/ImageCreator.d.ts.map +1 -0
  21. package/dist/cjs/Canvas/extended/ImageCreator.js +479 -0
  22. package/dist/cjs/Canvas/extended/ImageCreator.js.map +1 -0
  23. package/dist/cjs/Canvas/extended/TextCreator.d.ts +35 -0
  24. package/dist/cjs/Canvas/extended/TextCreator.d.ts.map +1 -0
  25. package/dist/cjs/Canvas/extended/TextCreator.js +98 -0
  26. package/dist/cjs/Canvas/extended/TextCreator.js.map +1 -0
  27. package/dist/cjs/Canvas/extended/VideoCreator.d.ts +370 -0
  28. package/dist/cjs/Canvas/extended/VideoCreator.d.ts.map +1 -0
  29. package/dist/cjs/Canvas/extended/VideoCreator.js +478 -0
  30. package/dist/cjs/Canvas/extended/VideoCreator.js.map +1 -0
  31. package/dist/cjs/Canvas/utils/Background/bg.d.ts +1 -1
  32. package/dist/cjs/Canvas/utils/Background/bg.d.ts.map +1 -1
  33. package/dist/cjs/Canvas/utils/Background/bg.js +43 -7
  34. package/dist/cjs/Canvas/utils/Background/bg.js.map +1 -1
  35. package/dist/cjs/Canvas/utils/Charts/barchart.d.ts +230 -0
  36. package/dist/cjs/Canvas/utils/Charts/barchart.d.ts.map +1 -0
  37. package/dist/cjs/Canvas/utils/Charts/barchart.js +1891 -0
  38. package/dist/cjs/Canvas/utils/Charts/barchart.js.map +1 -0
  39. package/dist/cjs/Canvas/utils/Charts/comparisonchart.d.ts +103 -0
  40. package/dist/cjs/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -0
  41. package/dist/cjs/Canvas/utils/Charts/comparisonchart.js +368 -0
  42. package/dist/cjs/Canvas/utils/Charts/comparisonchart.js.map +1 -0
  43. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts +181 -0
  44. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -0
  45. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js +1389 -0
  46. package/dist/cjs/Canvas/utils/Charts/horizontalbarchart.js.map +1 -0
  47. package/dist/cjs/Canvas/utils/Charts/index.d.ts +45 -0
  48. package/dist/cjs/Canvas/utils/Charts/index.d.ts.map +1 -0
  49. package/dist/cjs/Canvas/utils/Charts/index.js +17 -0
  50. package/dist/cjs/Canvas/utils/Charts/index.js.map +1 -0
  51. package/dist/cjs/Canvas/utils/Charts/linechart.d.ts +216 -0
  52. package/dist/cjs/Canvas/utils/Charts/linechart.d.ts.map +1 -0
  53. package/dist/cjs/Canvas/utils/Charts/linechart.js +1761 -0
  54. package/dist/cjs/Canvas/utils/Charts/linechart.js.map +1 -0
  55. package/dist/cjs/Canvas/utils/Charts/piechart.d.ts +167 -0
  56. package/dist/cjs/Canvas/utils/Charts/piechart.d.ts.map +1 -0
  57. package/dist/cjs/Canvas/utils/Charts/piechart.js +794 -0
  58. package/dist/cjs/Canvas/utils/Charts/piechart.js.map +1 -0
  59. package/dist/cjs/Canvas/utils/General/batchOperations.d.ts.map +1 -1
  60. package/dist/cjs/Canvas/utils/General/batchOperations.js +3 -4
  61. package/dist/cjs/Canvas/utils/General/batchOperations.js.map +1 -1
  62. package/dist/cjs/Canvas/utils/General/general functions.d.ts.map +1 -1
  63. package/dist/cjs/Canvas/utils/General/general functions.js +62 -33
  64. package/dist/cjs/Canvas/utils/General/general functions.js.map +1 -1
  65. package/dist/cjs/Canvas/utils/General/imageStitching.d.ts.map +1 -1
  66. package/dist/cjs/Canvas/utils/General/imageStitching.js +3 -6
  67. package/dist/cjs/Canvas/utils/General/imageStitching.js.map +1 -1
  68. package/dist/cjs/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
  69. package/dist/cjs/Canvas/utils/Image/imageMasking.js +5 -12
  70. package/dist/cjs/Canvas/utils/Image/imageMasking.js.map +1 -1
  71. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts +4 -4
  72. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  73. package/dist/cjs/Canvas/utils/Image/imageProperties.js +44 -9
  74. package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -1
  75. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts +5 -0
  76. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  77. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +48 -5
  78. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  79. package/dist/cjs/Canvas/utils/Texts/textProperties.d.ts +1 -1
  80. package/dist/cjs/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
  81. package/dist/cjs/Canvas/utils/Texts/textProperties.js +48 -5
  82. package/dist/cjs/Canvas/utils/Texts/textProperties.js.map +1 -1
  83. package/dist/cjs/Canvas/utils/Video/videoHelpers.d.ts +489 -0
  84. package/dist/cjs/Canvas/utils/Video/videoHelpers.d.ts.map +1 -0
  85. package/dist/cjs/Canvas/utils/Video/videoHelpers.js +1835 -0
  86. package/dist/cjs/Canvas/utils/Video/videoHelpers.js.map +1 -0
  87. package/dist/cjs/Canvas/utils/errorUtils.d.ts +15 -0
  88. package/dist/cjs/Canvas/utils/errorUtils.d.ts.map +1 -0
  89. package/dist/cjs/Canvas/utils/errorUtils.js +26 -0
  90. package/dist/cjs/Canvas/utils/errorUtils.js.map +1 -0
  91. package/dist/cjs/Canvas/utils/types.d.ts +17 -178
  92. package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
  93. package/dist/cjs/Canvas/utils/types.js.map +1 -1
  94. package/dist/cjs/Canvas/utils/utils.d.ts +4 -3
  95. package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -1
  96. package/dist/cjs/Canvas/utils/utils.js +40 -6
  97. package/dist/cjs/Canvas/utils/utils.js.map +1 -1
  98. package/dist/cjs/index.d.ts +1 -8
  99. package/dist/cjs/index.d.ts.map +1 -1
  100. package/dist/cjs/index.js +14 -45
  101. package/dist/cjs/index.js.map +1 -1
  102. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  103. package/dist/esm/Canvas/ApexPainter.d.ts +183 -204
  104. package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
  105. package/dist/esm/Canvas/ApexPainter.js +524 -1282
  106. package/dist/esm/Canvas/ApexPainter.js.map +1 -1
  107. package/dist/esm/Canvas/extended/CanvasCreator.d.ts +33 -0
  108. package/dist/esm/Canvas/extended/CanvasCreator.d.ts.map +1 -0
  109. package/dist/esm/Canvas/extended/CanvasCreator.js +223 -0
  110. package/dist/esm/Canvas/extended/CanvasCreator.js.map +1 -0
  111. package/dist/esm/Canvas/extended/ChartCreator.d.ts +26 -0
  112. package/dist/esm/Canvas/extended/ChartCreator.d.ts.map +1 -0
  113. package/dist/esm/Canvas/extended/ChartCreator.js +50 -0
  114. package/dist/esm/Canvas/extended/ChartCreator.js.map +1 -0
  115. package/dist/esm/Canvas/extended/GIFCreator.d.ts +43 -0
  116. package/dist/esm/Canvas/extended/GIFCreator.d.ts.map +1 -0
  117. package/dist/esm/Canvas/extended/GIFCreator.js +157 -0
  118. package/dist/esm/Canvas/extended/GIFCreator.js.map +1 -0
  119. package/dist/esm/Canvas/extended/ImageCreator.d.ts +83 -0
  120. package/dist/esm/Canvas/extended/ImageCreator.d.ts.map +1 -0
  121. package/dist/esm/Canvas/extended/ImageCreator.js +479 -0
  122. package/dist/esm/Canvas/extended/ImageCreator.js.map +1 -0
  123. package/dist/esm/Canvas/extended/TextCreator.d.ts +35 -0
  124. package/dist/esm/Canvas/extended/TextCreator.d.ts.map +1 -0
  125. package/dist/esm/Canvas/extended/TextCreator.js +98 -0
  126. package/dist/esm/Canvas/extended/TextCreator.js.map +1 -0
  127. package/dist/esm/Canvas/extended/VideoCreator.d.ts +370 -0
  128. package/dist/esm/Canvas/extended/VideoCreator.d.ts.map +1 -0
  129. package/dist/esm/Canvas/extended/VideoCreator.js +478 -0
  130. package/dist/esm/Canvas/extended/VideoCreator.js.map +1 -0
  131. package/dist/esm/Canvas/utils/Background/bg.d.ts +1 -1
  132. package/dist/esm/Canvas/utils/Background/bg.d.ts.map +1 -1
  133. package/dist/esm/Canvas/utils/Background/bg.js +43 -7
  134. package/dist/esm/Canvas/utils/Background/bg.js.map +1 -1
  135. package/dist/esm/Canvas/utils/Charts/barchart.d.ts +230 -0
  136. package/dist/esm/Canvas/utils/Charts/barchart.d.ts.map +1 -0
  137. package/dist/esm/Canvas/utils/Charts/barchart.js +1891 -0
  138. package/dist/esm/Canvas/utils/Charts/barchart.js.map +1 -0
  139. package/dist/esm/Canvas/utils/Charts/comparisonchart.d.ts +103 -0
  140. package/dist/esm/Canvas/utils/Charts/comparisonchart.d.ts.map +1 -0
  141. package/dist/esm/Canvas/utils/Charts/comparisonchart.js +368 -0
  142. package/dist/esm/Canvas/utils/Charts/comparisonchart.js.map +1 -0
  143. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts +181 -0
  144. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.d.ts.map +1 -0
  145. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js +1389 -0
  146. package/dist/esm/Canvas/utils/Charts/horizontalbarchart.js.map +1 -0
  147. package/dist/esm/Canvas/utils/Charts/index.d.ts +45 -0
  148. package/dist/esm/Canvas/utils/Charts/index.d.ts.map +1 -0
  149. package/dist/esm/Canvas/utils/Charts/index.js +17 -0
  150. package/dist/esm/Canvas/utils/Charts/index.js.map +1 -0
  151. package/dist/esm/Canvas/utils/Charts/linechart.d.ts +216 -0
  152. package/dist/esm/Canvas/utils/Charts/linechart.d.ts.map +1 -0
  153. package/dist/esm/Canvas/utils/Charts/linechart.js +1761 -0
  154. package/dist/esm/Canvas/utils/Charts/linechart.js.map +1 -0
  155. package/dist/esm/Canvas/utils/Charts/piechart.d.ts +167 -0
  156. package/dist/esm/Canvas/utils/Charts/piechart.d.ts.map +1 -0
  157. package/dist/esm/Canvas/utils/Charts/piechart.js +794 -0
  158. package/dist/esm/Canvas/utils/Charts/piechart.js.map +1 -0
  159. package/dist/esm/Canvas/utils/General/batchOperations.d.ts.map +1 -1
  160. package/dist/esm/Canvas/utils/General/batchOperations.js +3 -4
  161. package/dist/esm/Canvas/utils/General/batchOperations.js.map +1 -1
  162. package/dist/esm/Canvas/utils/General/general functions.d.ts.map +1 -1
  163. package/dist/esm/Canvas/utils/General/general functions.js +62 -33
  164. package/dist/esm/Canvas/utils/General/general functions.js.map +1 -1
  165. package/dist/esm/Canvas/utils/General/imageStitching.d.ts.map +1 -1
  166. package/dist/esm/Canvas/utils/General/imageStitching.js +3 -6
  167. package/dist/esm/Canvas/utils/General/imageStitching.js.map +1 -1
  168. package/dist/esm/Canvas/utils/Image/imageMasking.d.ts.map +1 -1
  169. package/dist/esm/Canvas/utils/Image/imageMasking.js +5 -12
  170. package/dist/esm/Canvas/utils/Image/imageMasking.js.map +1 -1
  171. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts +4 -4
  172. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  173. package/dist/esm/Canvas/utils/Image/imageProperties.js +44 -9
  174. package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -1
  175. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts +5 -0
  176. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  177. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +48 -5
  178. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  179. package/dist/esm/Canvas/utils/Texts/textProperties.d.ts +1 -1
  180. package/dist/esm/Canvas/utils/Texts/textProperties.d.ts.map +1 -1
  181. package/dist/esm/Canvas/utils/Texts/textProperties.js +48 -5
  182. package/dist/esm/Canvas/utils/Texts/textProperties.js.map +1 -1
  183. package/dist/esm/Canvas/utils/Video/videoHelpers.d.ts +489 -0
  184. package/dist/esm/Canvas/utils/Video/videoHelpers.d.ts.map +1 -0
  185. package/dist/esm/Canvas/utils/Video/videoHelpers.js +1835 -0
  186. package/dist/esm/Canvas/utils/Video/videoHelpers.js.map +1 -0
  187. package/dist/esm/Canvas/utils/errorUtils.d.ts +15 -0
  188. package/dist/esm/Canvas/utils/errorUtils.d.ts.map +1 -0
  189. package/dist/esm/Canvas/utils/errorUtils.js +26 -0
  190. package/dist/esm/Canvas/utils/errorUtils.js.map +1 -0
  191. package/dist/esm/Canvas/utils/types.d.ts +17 -178
  192. package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
  193. package/dist/esm/Canvas/utils/types.js.map +1 -1
  194. package/dist/esm/Canvas/utils/utils.d.ts +4 -3
  195. package/dist/esm/Canvas/utils/utils.d.ts.map +1 -1
  196. package/dist/esm/Canvas/utils/utils.js +40 -6
  197. package/dist/esm/Canvas/utils/utils.js.map +1 -1
  198. package/dist/esm/index.d.ts +1 -8
  199. package/dist/esm/index.d.ts.map +1 -1
  200. package/dist/esm/index.js +14 -45
  201. package/dist/esm/index.js.map +1 -1
  202. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  203. package/package.json +235 -198
  204. package/dist/cjs/Canvas/utils/Charts/charts.d.ts +0 -13
  205. package/dist/cjs/Canvas/utils/Charts/charts.d.ts.map +0 -1
  206. package/dist/cjs/Canvas/utils/Charts/charts.js +0 -466
  207. package/dist/cjs/Canvas/utils/Charts/charts.js.map +0 -1
  208. package/dist/esm/Canvas/utils/Charts/charts.d.ts +0 -13
  209. package/dist/esm/Canvas/utils/Charts/charts.d.ts.map +0 -1
  210. package/dist/esm/Canvas/utils/Charts/charts.js +0 -466
  211. package/dist/esm/Canvas/utils/Charts/charts.js.map +0 -1
  212. package/lib/Canvas/ApexPainter.ts +0 -5414
  213. package/lib/Canvas/utils/Background/bg.ts +0 -285
  214. package/lib/Canvas/utils/Charts/charts.ts +0 -548
  215. package/lib/Canvas/utils/Custom/advancedLines.ts +0 -387
  216. package/lib/Canvas/utils/Custom/customLines.ts +0 -206
  217. package/lib/Canvas/utils/General/batchOperations.ts +0 -103
  218. package/lib/Canvas/utils/General/conversion.ts +0 -34
  219. package/lib/Canvas/utils/General/general functions.ts +0 -726
  220. package/lib/Canvas/utils/General/imageCompression.ts +0 -316
  221. package/lib/Canvas/utils/General/imageStitching.ts +0 -252
  222. package/lib/Canvas/utils/Image/imageEffects.ts +0 -175
  223. package/lib/Canvas/utils/Image/imageFilters.ts +0 -356
  224. package/lib/Canvas/utils/Image/imageMasking.ts +0 -335
  225. package/lib/Canvas/utils/Image/imageProperties.ts +0 -587
  226. package/lib/Canvas/utils/Image/professionalImageFilters.ts +0 -391
  227. package/lib/Canvas/utils/Image/simpleProfessionalFilters.ts +0 -229
  228. package/lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts +0 -455
  229. package/lib/Canvas/utils/Shapes/shapes.ts +0 -528
  230. package/lib/Canvas/utils/Texts/enhancedTextRenderer.ts +0 -716
  231. package/lib/Canvas/utils/Texts/textPathRenderer.ts +0 -320
  232. package/lib/Canvas/utils/Texts/textProperties.ts +0 -231
  233. package/lib/Canvas/utils/types.ts +0 -983
  234. package/lib/Canvas/utils/utils.ts +0 -135
  235. package/lib/index.ts +0 -81
  236. package/lib/utils.ts +0 -5
@@ -0,0 +1,83 @@
1
+ import type { ImageProperties } from "../utils/utils";
2
+ import type { CanvasResults } from "./CanvasCreator";
3
+ /**
4
+ * Extended class for image creation functionality
5
+ */
6
+ export declare class ImageCreator {
7
+ /**
8
+ * Validates image properties for required fields.
9
+ * @private
10
+ * @param ip - Image properties to validate
11
+ */
12
+ private validateImageProperties;
13
+ /**
14
+ * Validates image/shape properties array.
15
+ * @private
16
+ * @param images - Image properties to validate
17
+ */
18
+ private validateImageArray;
19
+ /**
20
+ * Checks if shape needs custom shadow/stroke (heart, star).
21
+ * @private
22
+ * @param shapeType - Type of shape
23
+ * @returns True if shape is complex and needs custom effects
24
+ */
25
+ private isComplexShape;
26
+ /**
27
+ * Darkens a color by a factor
28
+ * @private
29
+ * @param color - Color string
30
+ * @param factor - Darkening factor (0-1)
31
+ * @returns Darkened color string
32
+ */
33
+ private darkenColor;
34
+ /**
35
+ * Lightens a color by a factor
36
+ * @private
37
+ * @param color - Color string
38
+ * @param factor - Lightening factor (0-1)
39
+ * @returns Lightened color string
40
+ */
41
+ private lightenColor;
42
+ /**
43
+ * Applies stroke style to context
44
+ * @private
45
+ */
46
+ private applyShapeStrokeStyle;
47
+ /**
48
+ * Applies complex shape stroke styles that require multiple passes
49
+ * @private
50
+ */
51
+ private applyComplexShapeStroke;
52
+ /**
53
+ * Applies custom shadow for complex shapes (heart, star).
54
+ * @private
55
+ */
56
+ private applyShapeShadow;
57
+ /**
58
+ * Applies custom stroke for complex shapes (heart, star).
59
+ * @private
60
+ */
61
+ private applyShapeStroke;
62
+ /**
63
+ * Draws a shape with all effects (shadow, stroke, filters, etc.).
64
+ * @private
65
+ */
66
+ private drawShape;
67
+ /**
68
+ * Draws a single bitmap or shape with independent shadow & stroke.
69
+ * @private
70
+ * @param ctx - Canvas 2D context
71
+ * @param ip - Image properties
72
+ */
73
+ private drawImageBitmap;
74
+ /**
75
+ * Draws one or more images (or shapes) on an existing canvas buffer.
76
+ *
77
+ * @param images - Single ImageProperties object or array of ImageProperties
78
+ * @param canvasBuffer - Existing canvas buffer (Buffer) or CanvasResults object
79
+ * @returns Promise<Buffer> - Updated canvas buffer in PNG format
80
+ */
81
+ createImage(images: ImageProperties | ImageProperties[], canvasBuffer: CanvasResults | Buffer): Promise<Buffer>;
82
+ }
83
+ //# sourceMappingURL=ImageCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageCreator.d.ts","sourceRoot":"","sources":["../../../../lib/Canvas/extended/ImageCreator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0BrD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAYnB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAYpB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoC7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAmE/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA4CxB;;;OAGG;YACW,SAAS;IA+FvB;;;;;OAKG;YACW,eAAe;IAoL7B;;;;;;OAMG;IACG,WAAW,CACf,MAAM,EAAE,eAAe,GAAG,eAAe,EAAE,EAC3C,YAAY,EAAE,aAAa,GAAG,MAAM,GACnC,OAAO,CAAC,MAAM,CAAC;CA2BnB"}
@@ -0,0 +1,479 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImageCreator = void 0;
4
+ const canvas_1 = require("@napi-rs/canvas");
5
+ const errorUtils_1 = require("../utils/errorUtils");
6
+ const utils_1 = require("../utils/utils");
7
+ /**
8
+ * Extended class for image creation functionality
9
+ */
10
+ class ImageCreator {
11
+ /**
12
+ * Validates image properties for required fields.
13
+ * @private
14
+ * @param ip - Image properties to validate
15
+ */
16
+ validateImageProperties(ip) {
17
+ if (!ip.source || ip.x == null || ip.y == null) {
18
+ throw new Error("createImage: source, x, and y are required.");
19
+ }
20
+ }
21
+ /**
22
+ * Validates image/shape properties array.
23
+ * @private
24
+ * @param images - Image properties to validate
25
+ */
26
+ validateImageArray(images) {
27
+ const list = Array.isArray(images) ? images : [images];
28
+ if (list.length === 0) {
29
+ throw new Error("createImage: At least one image/shape is required.");
30
+ }
31
+ for (const ip of list) {
32
+ this.validateImageProperties(ip);
33
+ }
34
+ }
35
+ /**
36
+ * Checks if shape needs custom shadow/stroke (heart, star).
37
+ * @private
38
+ * @param shapeType - Type of shape
39
+ * @returns True if shape is complex and needs custom effects
40
+ */
41
+ isComplexShape(shapeType) {
42
+ return shapeType === 'heart' || shapeType === 'star';
43
+ }
44
+ /**
45
+ * Darkens a color by a factor
46
+ * @private
47
+ * @param color - Color string
48
+ * @param factor - Darkening factor (0-1)
49
+ * @returns Darkened color string
50
+ */
51
+ darkenColor(color, factor) {
52
+ if (color.startsWith('#')) {
53
+ const hex = color.slice(1);
54
+ const num = parseInt(hex, 16);
55
+ const r = Math.max(0, Math.floor((num >> 16) * (1 - factor)));
56
+ const g = Math.max(0, Math.floor(((num >> 8) & 0x00FF) * (1 - factor)));
57
+ const b = Math.max(0, Math.floor((num & 0x0000FF) * (1 - factor)));
58
+ return `#${((r << 16) | (g << 8) | b).toString(16).padStart(6, '0')}`;
59
+ }
60
+ return color;
61
+ }
62
+ /**
63
+ * Lightens a color by a factor
64
+ * @private
65
+ * @param color - Color string
66
+ * @param factor - Lightening factor (0-1)
67
+ * @returns Lightened color string
68
+ */
69
+ lightenColor(color, factor) {
70
+ if (color.startsWith('#')) {
71
+ const hex = color.slice(1);
72
+ const num = parseInt(hex, 16);
73
+ const r = Math.min(255, Math.floor((num >> 16) + (255 - (num >> 16)) * factor));
74
+ const g = Math.min(255, Math.floor(((num >> 8) & 0x00FF) + (255 - ((num >> 8) & 0x00FF)) * factor));
75
+ const b = Math.min(255, Math.floor((num & 0x0000FF) + (255 - (num & 0x0000FF)) * factor));
76
+ return `#${((r << 16) | (g << 8) | b).toString(16).padStart(6, '0')}`;
77
+ }
78
+ return color;
79
+ }
80
+ /**
81
+ * Applies stroke style to context
82
+ * @private
83
+ */
84
+ applyShapeStrokeStyle(ctx, style, width) {
85
+ switch (style) {
86
+ case 'solid':
87
+ ctx.setLineDash([]);
88
+ ctx.lineCap = 'butt';
89
+ ctx.lineJoin = 'miter';
90
+ break;
91
+ case 'dashed':
92
+ ctx.setLineDash([width * 3, width * 2]);
93
+ ctx.lineCap = 'butt';
94
+ ctx.lineJoin = 'miter';
95
+ break;
96
+ case 'dotted':
97
+ ctx.setLineDash([width, width]);
98
+ ctx.lineCap = 'round';
99
+ ctx.lineJoin = 'round';
100
+ break;
101
+ case 'groove':
102
+ case 'ridge':
103
+ case 'double':
104
+ ctx.setLineDash([]);
105
+ ctx.lineCap = 'butt';
106
+ ctx.lineJoin = 'miter';
107
+ break;
108
+ default:
109
+ ctx.setLineDash([]);
110
+ ctx.lineCap = 'butt';
111
+ ctx.lineJoin = 'miter';
112
+ break;
113
+ }
114
+ }
115
+ /**
116
+ * Applies complex shape stroke styles that require multiple passes
117
+ * @private
118
+ */
119
+ applyComplexShapeStroke(ctx, style, width, color, gradient) {
120
+ const halfWidth = width / 2;
121
+ switch (style) {
122
+ case 'groove':
123
+ ctx.lineWidth = halfWidth;
124
+ if (gradient) {
125
+ const gstroke = (0, utils_1.createGradientFill)(ctx, gradient, { x: 0, y: 0, w: 100, h: 100 });
126
+ ctx.strokeStyle = gstroke;
127
+ }
128
+ else {
129
+ ctx.strokeStyle = this.darkenColor(color, 0.3);
130
+ }
131
+ ctx.stroke();
132
+ ctx.lineWidth = halfWidth;
133
+ if (gradient) {
134
+ const gstroke = (0, utils_1.createGradientFill)(ctx, gradient, { x: 0, y: 0, w: 100, h: 100 });
135
+ ctx.strokeStyle = gstroke;
136
+ }
137
+ else {
138
+ ctx.strokeStyle = this.lightenColor(color, 0.3);
139
+ }
140
+ ctx.stroke();
141
+ break;
142
+ case 'ridge':
143
+ ctx.lineWidth = halfWidth;
144
+ if (gradient) {
145
+ const gstroke = (0, utils_1.createGradientFill)(ctx, gradient, { x: 0, y: 0, w: 100, h: 100 });
146
+ ctx.strokeStyle = gstroke;
147
+ }
148
+ else {
149
+ ctx.strokeStyle = this.lightenColor(color, 0.3);
150
+ }
151
+ ctx.stroke();
152
+ ctx.lineWidth = halfWidth;
153
+ if (gradient) {
154
+ const gstroke = (0, utils_1.createGradientFill)(ctx, gradient, { x: 0, y: 0, w: 100, h: 100 });
155
+ ctx.strokeStyle = gstroke;
156
+ }
157
+ else {
158
+ ctx.strokeStyle = this.darkenColor(color, 0.3);
159
+ }
160
+ ctx.stroke();
161
+ break;
162
+ case 'double':
163
+ ctx.lineWidth = halfWidth;
164
+ if (gradient) {
165
+ const gstroke = (0, utils_1.createGradientFill)(ctx, gradient, { x: 0, y: 0, w: 100, h: 100 });
166
+ ctx.strokeStyle = gstroke;
167
+ }
168
+ else {
169
+ ctx.strokeStyle = color;
170
+ }
171
+ ctx.stroke();
172
+ ctx.lineWidth = halfWidth;
173
+ if (gradient) {
174
+ const gstroke = (0, utils_1.createGradientFill)(ctx, gradient, { x: 0, y: 0, w: 100, h: 100 });
175
+ ctx.strokeStyle = gstroke;
176
+ }
177
+ else {
178
+ ctx.strokeStyle = color;
179
+ }
180
+ ctx.stroke();
181
+ break;
182
+ }
183
+ }
184
+ /**
185
+ * Applies custom shadow for complex shapes (heart, star).
186
+ * @private
187
+ */
188
+ applyShapeShadow(ctx, shapeType, x, y, width, height, shadow, shapeProps) {
189
+ const { color = "rgba(0,0,0,1)", gradient, opacity = 0.4, offsetX = 0, offsetY = 0, blur = 20 } = shadow;
190
+ ctx.save();
191
+ ctx.globalAlpha = opacity;
192
+ if (blur > 0)
193
+ ctx.filter = `blur(${blur}px)`;
194
+ if (gradient) {
195
+ const gfill = (0, utils_1.createGradientFill)(ctx, gradient, { x: x + offsetX, y: y + offsetY, w: width, h: height });
196
+ ctx.fillStyle = gfill;
197
+ }
198
+ else {
199
+ ctx.fillStyle = color;
200
+ }
201
+ (0, utils_1.createShapePath)(ctx, shapeType, x + offsetX, y + offsetY, width, height, shapeProps);
202
+ ctx.fill();
203
+ ctx.filter = "none";
204
+ ctx.globalAlpha = 1;
205
+ ctx.restore();
206
+ }
207
+ /**
208
+ * Applies custom stroke for complex shapes (heart, star).
209
+ * @private
210
+ */
211
+ applyShapeStroke(ctx, shapeType, x, y, width, height, stroke, shapeProps) {
212
+ const { color = "#000", gradient, width: strokeWidth = 2, style = 'solid' } = stroke;
213
+ ctx.save();
214
+ ctx.globalAlpha = stroke.opacity ?? 1;
215
+ if (stroke.blur && stroke.blur > 0)
216
+ ctx.filter = `blur(${stroke.blur}px)`;
217
+ if (gradient) {
218
+ const gstroke = (0, utils_1.createGradientFill)(ctx, gradient, { x, y, w: width, h: height });
219
+ ctx.strokeStyle = gstroke;
220
+ }
221
+ else {
222
+ ctx.strokeStyle = color;
223
+ }
224
+ ctx.lineWidth = strokeWidth;
225
+ this.applyShapeStrokeStyle(ctx, style, strokeWidth);
226
+ (0, utils_1.createShapePath)(ctx, shapeType, x, y, width, height, shapeProps);
227
+ if (style === 'groove' || style === 'ridge' || style === 'double') {
228
+ this.applyComplexShapeStroke(ctx, style, strokeWidth, color, gradient);
229
+ }
230
+ else {
231
+ ctx.stroke();
232
+ }
233
+ ctx.filter = "none";
234
+ ctx.globalAlpha = 1;
235
+ ctx.restore();
236
+ }
237
+ /**
238
+ * Draws a shape with all effects (shadow, stroke, filters, etc.).
239
+ * @private
240
+ */
241
+ async drawShape(ctx, shapeType, x, y, width, height, options) {
242
+ const box = { x, y, w: width, h: height };
243
+ ctx.save();
244
+ if (options.rotation) {
245
+ (0, utils_1.applyRotation)(ctx, options.rotation, box.x, box.y, box.w, box.h);
246
+ }
247
+ if (options.opacity !== undefined) {
248
+ ctx.globalAlpha = options.opacity;
249
+ }
250
+ if (options.blur && options.blur > 0) {
251
+ ctx.filter = `blur(${options.blur}px)`;
252
+ }
253
+ if (options.shadow && this.isComplexShape(shapeType)) {
254
+ this.applyShapeShadow(ctx, shapeType, x, y, width, height, options.shadow, {
255
+ radius: options.radius,
256
+ sides: options.sides,
257
+ innerRadius: options.innerRadius,
258
+ outerRadius: options.outerRadius
259
+ });
260
+ }
261
+ else if (options.shadow) {
262
+ (0, utils_1.applyShadow)(ctx, box, options.shadow);
263
+ }
264
+ if (options.boxBackground) {
265
+ (0, utils_1.drawBoxBackground)(ctx, box, options.boxBackground, options.borderRadius, options.borderPosition);
266
+ }
267
+ ctx.save();
268
+ if (options.borderRadius) {
269
+ (0, utils_1.buildPath)(ctx, box.x, box.y, box.w, box.h, options.borderRadius, options.borderPosition);
270
+ ctx.clip();
271
+ }
272
+ if (options.filters && options.filters.length > 0) {
273
+ await (0, utils_1.applySimpleProfessionalFilters)(ctx, options.filters, width, height);
274
+ }
275
+ (0, utils_1.drawShape)(ctx, shapeType, x, y, width, height, {
276
+ fill: options.fill,
277
+ color: options.color,
278
+ gradient: options.gradient,
279
+ radius: options.radius,
280
+ sides: options.sides,
281
+ innerRadius: options.innerRadius,
282
+ outerRadius: options.outerRadius
283
+ });
284
+ ctx.restore();
285
+ if (options.stroke && this.isComplexShape(shapeType)) {
286
+ this.applyShapeStroke(ctx, shapeType, x, y, width, height, options.stroke, {
287
+ radius: options.radius,
288
+ sides: options.sides,
289
+ innerRadius: options.innerRadius,
290
+ outerRadius: options.outerRadius
291
+ });
292
+ }
293
+ else if (options.stroke) {
294
+ (0, utils_1.applyStroke)(ctx, box, options.stroke);
295
+ }
296
+ ctx.filter = "none";
297
+ ctx.globalAlpha = 1;
298
+ ctx.restore();
299
+ }
300
+ /**
301
+ * Draws a single bitmap or shape with independent shadow & stroke.
302
+ * @private
303
+ * @param ctx - Canvas 2D context
304
+ * @param ip - Image properties
305
+ */
306
+ async drawImageBitmap(ctx, ip) {
307
+ const { source, x, y, width, height, inherit, fit = "fill", align = "center", rotation = 0, opacity = 1, blur = 0, borderRadius = 0, borderPosition = "all", shadow, stroke, boxBackground, shape, filters, filterIntensity = 1, filterOrder = 'post', mask, clipPath, distortion, meshWarp, effects } = ip;
308
+ this.validateImageProperties(ip);
309
+ if ((0, utils_1.isShapeSource)(source)) {
310
+ await this.drawShape(ctx, source, x, y, width ?? 100, height ?? 100, {
311
+ ...shape,
312
+ rotation,
313
+ opacity,
314
+ blur,
315
+ borderRadius,
316
+ borderPosition,
317
+ shadow,
318
+ stroke,
319
+ boxBackground,
320
+ filters
321
+ });
322
+ return;
323
+ }
324
+ const img = await (0, utils_1.loadImageCached)(source);
325
+ const boxW = (inherit && !width) ? img.width : (width ?? img.width);
326
+ const boxH = (inherit && !height) ? img.height : (height ?? img.height);
327
+ const box = { x, y, w: boxW, h: boxH };
328
+ ctx.save();
329
+ (0, utils_1.applyRotation)(ctx, rotation, box.x, box.y, box.w, box.h);
330
+ (0, utils_1.applyShadow)(ctx, box, shadow);
331
+ (0, utils_1.drawBoxBackground)(ctx, box, boxBackground, borderRadius, borderPosition);
332
+ ctx.save();
333
+ if (clipPath && clipPath.length >= 3) {
334
+ (0, utils_1.applyClipPath)(ctx, clipPath);
335
+ }
336
+ else {
337
+ (0, utils_1.buildPath)(ctx, box.x, box.y, box.w, box.h, borderRadius, borderPosition);
338
+ ctx.clip();
339
+ }
340
+ const { dx, dy, dw, dh, sx, sy, sw, sh } = (0, utils_1.fitInto)(box.x, box.y, box.w, box.h, img.width, img.height, fit, align);
341
+ const prevAlpha = ctx.globalAlpha;
342
+ ctx.globalAlpha = opacity ?? 1;
343
+ if ((blur ?? 0) > 0)
344
+ ctx.filter = `blur(${blur}px)`;
345
+ if (filters && filters.length > 0 && filterOrder === 'pre') {
346
+ const adjustedFilters = filters.map(f => ({
347
+ ...f,
348
+ intensity: f.intensity !== undefined ? f.intensity * filterIntensity : (f.intensity ?? 1) * filterIntensity,
349
+ value: f.value !== undefined ? f.value * filterIntensity : f.value,
350
+ radius: f.radius !== undefined ? f.radius * filterIntensity : f.radius
351
+ }));
352
+ await (0, utils_1.applySimpleProfessionalFilters)(ctx, adjustedFilters, dw, dh);
353
+ }
354
+ if (distortion) {
355
+ if (distortion.type === 'perspective' && distortion.points && distortion.points.length === 4) {
356
+ (0, utils_1.applyPerspectiveDistortion)(ctx, img, distortion.points, dx, dy, dw, dh);
357
+ ctx.filter = "none";
358
+ ctx.globalAlpha = prevAlpha;
359
+ ctx.restore();
360
+ ctx.restore();
361
+ return;
362
+ }
363
+ else if (distortion.type === 'bulge' || distortion.type === 'pinch') {
364
+ const centerX = dx + dw / 2;
365
+ const centerY = dy + dh / 2;
366
+ const radius = Math.min(dw, dh) / 2;
367
+ const intensity = (distortion.intensity ?? 0.5) * (distortion.type === 'pinch' ? -1 : 1);
368
+ (0, utils_1.applyBulgeDistortion)(ctx, img, centerX, centerY, radius, intensity, dx, dy, dw, dh);
369
+ ctx.filter = "none";
370
+ ctx.globalAlpha = prevAlpha;
371
+ ctx.restore();
372
+ ctx.restore();
373
+ return;
374
+ }
375
+ }
376
+ if (meshWarp && meshWarp.controlPoints) {
377
+ (0, utils_1.applyMeshWarp)(ctx, img, meshWarp.gridX ?? 10, meshWarp.gridY ?? 10, meshWarp.controlPoints, dx, dy, dw, dh);
378
+ ctx.filter = "none";
379
+ ctx.globalAlpha = prevAlpha;
380
+ ctx.restore();
381
+ ctx.restore();
382
+ return;
383
+ }
384
+ if (mask) {
385
+ await (0, utils_1.applyImageMask)(ctx, img, mask.source, mask.mode ?? 'alpha', dx, dy, dw, dh);
386
+ }
387
+ else {
388
+ ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh);
389
+ }
390
+ ctx.filter = "none";
391
+ ctx.globalAlpha = prevAlpha;
392
+ ctx.restore();
393
+ if (filters && filters.length > 0 && filterOrder === 'post') {
394
+ ctx.save();
395
+ const imageData = ctx.getImageData(box.x, box.y, box.w, box.h);
396
+ const tempCanvas = (0, canvas_1.createCanvas)(box.w, box.h);
397
+ const tempCtx = tempCanvas.getContext('2d');
398
+ if (tempCtx) {
399
+ tempCtx.putImageData(imageData, 0, 0);
400
+ const adjustedFilters = filters.map(f => ({
401
+ ...f,
402
+ intensity: f.intensity !== undefined ? f.intensity * filterIntensity : (f.intensity ?? 1) * filterIntensity,
403
+ value: f.value !== undefined ? f.value * filterIntensity : f.value,
404
+ radius: f.radius !== undefined ? f.radius * filterIntensity : f.radius
405
+ }));
406
+ await (0, utils_1.applySimpleProfessionalFilters)(tempCtx, adjustedFilters, box.w, box.h);
407
+ ctx.clearRect(box.x, box.y, box.w, box.h);
408
+ ctx.drawImage(tempCanvas, box.x, box.y);
409
+ }
410
+ ctx.restore();
411
+ }
412
+ if (effects) {
413
+ ctx.save();
414
+ const effectsCtx = ctx;
415
+ if (effects.vignette) {
416
+ (0, utils_1.applyVignette)(effectsCtx, effects.vignette.intensity, effects.vignette.size, box.w, box.h);
417
+ }
418
+ if (effects.lensFlare) {
419
+ (0, utils_1.applyLensFlare)(effectsCtx, box.x + effects.lensFlare.x, box.y + effects.lensFlare.y, effects.lensFlare.intensity, box.w, box.h);
420
+ }
421
+ if (effects.chromaticAberration) {
422
+ const imageData = ctx.getImageData(box.x, box.y, box.w, box.h);
423
+ const tempCanvas = (0, canvas_1.createCanvas)(box.w, box.h);
424
+ const tempCtx = tempCanvas.getContext('2d');
425
+ if (tempCtx) {
426
+ tempCtx.putImageData(imageData, 0, 0);
427
+ (0, utils_1.applyChromaticAberration)(tempCtx, effects.chromaticAberration.intensity, box.w, box.h);
428
+ ctx.clearRect(box.x, box.y, box.w, box.h);
429
+ ctx.drawImage(tempCanvas, box.x, box.y);
430
+ }
431
+ }
432
+ if (effects.filmGrain) {
433
+ const imageData = ctx.getImageData(box.x, box.y, box.w, box.h);
434
+ const tempCanvas = (0, canvas_1.createCanvas)(box.w, box.h);
435
+ const tempCtx = tempCanvas.getContext('2d');
436
+ if (tempCtx) {
437
+ tempCtx.putImageData(imageData, 0, 0);
438
+ (0, utils_1.applyFilmGrain)(tempCtx, effects.filmGrain.intensity, box.w, box.h);
439
+ ctx.clearRect(box.x, box.y, box.w, box.h);
440
+ ctx.drawImage(tempCanvas, box.x, box.y);
441
+ }
442
+ }
443
+ ctx.restore();
444
+ }
445
+ (0, utils_1.applyStroke)(ctx, box, stroke);
446
+ ctx.restore();
447
+ }
448
+ /**
449
+ * Draws one or more images (or shapes) on an existing canvas buffer.
450
+ *
451
+ * @param images - Single ImageProperties object or array of ImageProperties
452
+ * @param canvasBuffer - Existing canvas buffer (Buffer) or CanvasResults object
453
+ * @returns Promise<Buffer> - Updated canvas buffer in PNG format
454
+ */
455
+ async createImage(images, canvasBuffer) {
456
+ try {
457
+ if (!canvasBuffer) {
458
+ throw new Error("createImage: canvasBuffer is required.");
459
+ }
460
+ this.validateImageArray(images);
461
+ const list = Array.isArray(images) ? images : [images];
462
+ const base = Buffer.isBuffer(canvasBuffer)
463
+ ? await (0, canvas_1.loadImage)(canvasBuffer)
464
+ : await (0, canvas_1.loadImage)(canvasBuffer.buffer);
465
+ const cv = (0, canvas_1.createCanvas)(base.width, base.height);
466
+ const ctx = (0, errorUtils_1.getCanvasContext)(cv);
467
+ ctx.drawImage(base, 0, 0);
468
+ for (const ip of list) {
469
+ await this.drawImageBitmap(ctx, ip);
470
+ }
471
+ return cv.toBuffer("image/png");
472
+ }
473
+ catch (error) {
474
+ throw new Error(`createImage failed: ${(0, errorUtils_1.getErrorMessage)(error)}`);
475
+ }
476
+ }
477
+ }
478
+ exports.ImageCreator = ImageCreator;
479
+ //# sourceMappingURL=ImageCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageCreator.js","sourceRoot":"","sources":["../../../../lib/Canvas/extended/ImageCreator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { TextProperties } from "../utils/utils";
2
+ import type { CanvasResults } from "./CanvasCreator";
3
+ /**
4
+ * Extended class for text creation functionality
5
+ */
6
+ export declare class TextCreator {
7
+ /**
8
+ * Validates text properties for required fields.
9
+ * @private
10
+ * @param textProps - Text properties to validate
11
+ */
12
+ private validateTextProperties;
13
+ /**
14
+ * Validates text properties array.
15
+ * @private
16
+ * @param textArray - Text properties to validate
17
+ */
18
+ private validateTextArray;
19
+ /**
20
+ * Renders enhanced text using the new text renderer.
21
+ * @private
22
+ * @param ctx - Canvas 2D context
23
+ * @param textProps - Text properties
24
+ */
25
+ private renderEnhancedText;
26
+ /**
27
+ * Creates text on an existing canvas buffer with enhanced styling options.
28
+ *
29
+ * @param textArray - Single TextProperties object or array of TextProperties
30
+ * @param canvasBuffer - Existing canvas buffer (Buffer) or CanvasResults object
31
+ * @returns Promise<Buffer> - Updated canvas buffer in PNG format
32
+ */
33
+ createText(textArray: TextProperties | TextProperties[], canvasBuffer: CanvasResults | Buffer): Promise<Buffer>;
34
+ }
35
+ //# sourceMappingURL=TextCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextCreator.d.ts","sourceRoot":"","sources":["../../../../lib/Canvas/extended/TextCreator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;OAKG;YACW,kBAAkB;IAShC;;;;;;OAMG;IACG,UAAU,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,EAAE,EAAE,YAAY,EAAE,aAAa,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA2CtH"}