apexify.js 4.9.28 → 4.9.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +672 -456
  2. package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
  3. package/dist/cjs/Canvas/ApexPainter.js +169 -2
  4. package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
  5. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  6. package/dist/cjs/Canvas/utils/Image/imageProperties.js +181 -2
  7. package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -1
  8. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts +33 -0
  9. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  10. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +237 -32
  11. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  12. package/dist/cjs/Canvas/utils/types.d.ts +50 -10
  13. package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
  14. package/dist/cjs/Canvas/utils/types.js.map +1 -1
  15. package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
  16. package/dist/esm/Canvas/ApexPainter.js +169 -2
  17. package/dist/esm/Canvas/ApexPainter.js.map +1 -1
  18. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  19. package/dist/esm/Canvas/utils/Image/imageProperties.js +181 -2
  20. package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -1
  21. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts +33 -0
  22. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -1
  23. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +237 -32
  24. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -1
  25. package/dist/esm/Canvas/utils/types.d.ts +50 -10
  26. package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
  27. package/dist/esm/Canvas/utils/types.js.map +1 -1
  28. package/lib/Canvas/ApexPainter.ts +192 -2
  29. package/lib/Canvas/utils/Image/imageProperties.ts +207 -2
  30. package/lib/Canvas/utils/Texts/enhancedTextRenderer.ts +274 -36
  31. package/lib/Canvas/utils/types.ts +52 -10
  32. package/package.json +1 -1
@@ -23,7 +23,8 @@ export interface StrokeOptions {
23
23
  blur?: number; // px
24
24
  opacity?: number; // 0..1
25
25
  borderRadius?: number | 'circular';
26
- borderPosition?: string;
26
+ borderPosition?: borderPosition;
27
+ style?: 'solid' | 'dashed' | 'dotted' | 'groove' | 'ridge' | 'double';
27
28
  }
28
29
 
29
30
  export interface ShadowOptions {
@@ -123,6 +124,7 @@ export interface CanvasConfig {
123
124
  borderRadius?: number | "circular";
124
125
  borderPosition?: borderPosition;
125
126
  gradient?: gradient;
127
+ style?: 'solid' | 'dashed' | 'dotted' | 'groove' | 'ridge' | 'double';
126
128
  };
127
129
  shadow?: {
128
130
  color?: string;
@@ -236,14 +238,27 @@ export interface TextProperties {
236
238
  y: number;
237
239
 
238
240
  // === FONT MANAGEMENT ===
239
- /** Path to custom font file (.ttf, .otf, .woff, etc.) */
240
- fontPath?: string;
241
- /** Custom font name (used with fontPath) */
242
- fontName?: string;
243
- /** Font size in pixels (default: 16) */
241
+ /** Font configuration object */
242
+ font?: {
243
+ /** Font size in pixels (default: 16) */
244
+ size?: number;
245
+ /** Font family name (e.g., 'Arial', 'Helvetica', 'Times New Roman') */
246
+ family?: string;
247
+ /** Custom font name (used with fontPath) */
248
+ name?: string;
249
+ /** Path to custom font file (.ttf, .otf, .woff, etc.) */
250
+ path?: string;
251
+ };
252
+
253
+ // === LEGACY FONT PROPERTIES (for backward compatibility) ===
254
+ /** @deprecated Use font.size instead */
244
255
  fontSize?: number;
245
- /** Font family name (e.g., 'Arial', 'Helvetica', 'Times New Roman') */
256
+ /** @deprecated Use font.family instead */
246
257
  fontFamily?: string;
258
+ /** @deprecated Use font.name instead */
259
+ fontName?: string;
260
+ /** @deprecated Use font.path instead */
261
+ fontPath?: string;
247
262
 
248
263
  // === TEXT DECORATION ===
249
264
  /** Make text bold */
@@ -251,15 +266,38 @@ export interface TextProperties {
251
266
  /** Make text italic */
252
267
  italic?: boolean;
253
268
  /** Add underline decoration */
254
- underline?: boolean;
269
+ underline?: boolean | {
270
+ /** Underline color */
271
+ color?: string;
272
+ /** Underline gradient (overrides color) */
273
+ gradient?: gradient;
274
+ /** Underline width (default: 1px) */
275
+ width?: number;
276
+ };
255
277
  /** Add overline decoration */
256
- overline?: boolean;
278
+ overline?: boolean | {
279
+ /** Overline color */
280
+ color?: string;
281
+ /** Overline gradient (overrides color) */
282
+ gradient?: gradient;
283
+ /** Overline width (default: 1px) */
284
+ width?: number;
285
+ };
257
286
  /** Add strikethrough decoration */
258
- strikethrough?: boolean;
287
+ strikethrough?: boolean | {
288
+ /** Strikethrough color */
289
+ color?: string;
290
+ /** Strikethrough gradient (overrides color) */
291
+ gradient?: gradient;
292
+ /** Strikethrough width (default: 1px) */
293
+ width?: number;
294
+ };
259
295
  /** Highlight text with background color */
260
296
  highlight?: {
261
297
  /** Highlight color (hex, rgb, rgba, hsl, etc.) */
262
298
  color?: string;
299
+ /** Highlight gradient (overrides color) */
300
+ gradient?: gradient;
263
301
  /** Highlight opacity (0-1, default: 0.3) */
264
302
  opacity?: number;
265
303
  };
@@ -295,6 +333,8 @@ export interface TextProperties {
295
333
  glow?: {
296
334
  /** Glow color */
297
335
  color?: string;
336
+ /** Glow gradient (overrides color) */
337
+ gradient?: gradient;
298
338
  /** Glow intensity/blur radius */
299
339
  intensity?: number;
300
340
  /** Glow opacity (0-1) */
@@ -323,6 +363,8 @@ export interface TextProperties {
323
363
  gradient?: gradient;
324
364
  /** Stroke opacity (0-1) */
325
365
  opacity?: number;
366
+ /** Stroke style */
367
+ style?: 'solid' | 'dashed' | 'dotted' | 'groove' | 'ridge' | 'double';
326
368
  };
327
369
 
328
370
  // === TRANSFORMATIONS ===
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apexify.js",
3
- "version": "4.9.28",
3
+ "version": "4.9.30",
4
4
  "description": "🎨 Advanced Canvas Rendering Library - Professional image processing, shape drawing, text effects, patterns, filters, and charts. Built with TypeScript & Rust for high performance.",
5
5
  "author": "zenith-79",
6
6
  "license": "MIT",