apexify.js 4.6.2 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ai/ApexModules.d.ts.map +1 -1
- package/dist/cjs/ai/ApexModules.js +56 -7
- package/dist/cjs/ai/ApexModules.js.map +1 -1
- package/dist/cjs/ai/functions/readFiles.js +1 -1
- package/dist/cjs/ai/functions/readFiles.js.map +1 -1
- package/dist/cjs/ai/modals-chat/electronHub/chatmodels.d.ts.map +1 -1
- package/dist/cjs/ai/modals-chat/electronHub/chatmodels.js +2 -1
- package/dist/cjs/ai/modals-chat/electronHub/chatmodels.js.map +1 -1
- package/dist/cjs/ai/modals-chat/electronHub/speechModels.d.ts.map +1 -1
- package/dist/cjs/ai/modals-chat/electronHub/speechModels.js +1 -1
- package/dist/cjs/ai/modals-chat/electronHub/speechModels.js.map +1 -1
- package/dist/cjs/canvas/ApexPainter.d.ts.map +1 -1
- package/dist/cjs/canvas/ApexPainter.js +27 -28
- package/dist/cjs/canvas/ApexPainter.js.map +1 -1
- package/dist/cjs/canvas/Themes/Level-Up/levelup.d.ts +11 -0
- package/dist/cjs/canvas/Themes/Level-Up/levelup.d.ts.map +1 -0
- package/dist/cjs/canvas/Themes/Level-Up/levelup.js +163 -0
- package/dist/cjs/canvas/Themes/Level-Up/levelup.js.map +1 -0
- package/dist/cjs/canvas/utils/Background/bg.d.ts +17 -10
- package/dist/cjs/canvas/utils/Background/bg.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/Background/bg.js +102 -27
- package/dist/cjs/canvas/utils/Background/bg.js.map +1 -1
- package/dist/cjs/canvas/utils/Custom/customLines.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/Custom/customLines.js +43 -19
- package/dist/cjs/canvas/utils/Custom/customLines.js.map +1 -1
- package/dist/cjs/canvas/utils/General/general functions.d.ts +6 -1
- package/dist/cjs/canvas/utils/General/general functions.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/General/general functions.js +19 -20
- package/dist/cjs/canvas/utils/General/general functions.js.map +1 -1
- package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +3 -9
- package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/Image/imageProperties.js +220 -214
- package/dist/cjs/canvas/utils/Image/imageProperties.js.map +1 -1
- package/dist/cjs/canvas/utils/Texts/textProperties.d.ts +12 -14
- package/dist/cjs/canvas/utils/Texts/textProperties.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/Texts/textProperties.js +100 -91
- package/dist/cjs/canvas/utils/Texts/textProperties.js.map +1 -1
- package/dist/cjs/canvas/utils/types.d.ts +89 -109
- package/dist/cjs/canvas/utils/types.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/types.js.map +1 -1
- package/dist/cjs/canvas/utils/utils.d.ts +2 -4
- package/dist/cjs/canvas/utils/utils.d.ts.map +1 -1
- package/dist/cjs/canvas/utils/utils.js +2 -5
- package/dist/cjs/canvas/utils/utils.js.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +31 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/ai/ApexModules.d.ts.map +1 -1
- package/dist/esm/ai/ApexModules.js +56 -7
- package/dist/esm/ai/ApexModules.js.map +1 -1
- package/dist/esm/ai/functions/readFiles.js +1 -1
- package/dist/esm/ai/functions/readFiles.js.map +1 -1
- package/dist/esm/ai/modals-chat/electronHub/chatmodels.d.ts.map +1 -1
- package/dist/esm/ai/modals-chat/electronHub/chatmodels.js +2 -1
- package/dist/esm/ai/modals-chat/electronHub/chatmodels.js.map +1 -1
- package/dist/esm/ai/modals-chat/electronHub/speechModels.d.ts.map +1 -1
- package/dist/esm/ai/modals-chat/electronHub/speechModels.js +1 -1
- package/dist/esm/ai/modals-chat/electronHub/speechModels.js.map +1 -1
- package/dist/esm/canvas/ApexPainter.d.ts.map +1 -1
- package/dist/esm/canvas/ApexPainter.js +27 -28
- package/dist/esm/canvas/ApexPainter.js.map +1 -1
- package/dist/esm/canvas/Themes/Level-Up/levelup.d.ts +11 -0
- package/dist/esm/canvas/Themes/Level-Up/levelup.d.ts.map +1 -0
- package/dist/esm/canvas/Themes/Level-Up/levelup.js +163 -0
- package/dist/esm/canvas/Themes/Level-Up/levelup.js.map +1 -0
- package/dist/esm/canvas/utils/Background/bg.d.ts +17 -10
- package/dist/esm/canvas/utils/Background/bg.d.ts.map +1 -1
- package/dist/esm/canvas/utils/Background/bg.js +102 -27
- package/dist/esm/canvas/utils/Background/bg.js.map +1 -1
- package/dist/esm/canvas/utils/Custom/customLines.d.ts.map +1 -1
- package/dist/esm/canvas/utils/Custom/customLines.js +43 -19
- package/dist/esm/canvas/utils/Custom/customLines.js.map +1 -1
- package/dist/esm/canvas/utils/General/general functions.d.ts +6 -1
- package/dist/esm/canvas/utils/General/general functions.d.ts.map +1 -1
- package/dist/esm/canvas/utils/General/general functions.js +19 -20
- package/dist/esm/canvas/utils/General/general functions.js.map +1 -1
- package/dist/esm/canvas/utils/Image/imageProperties.d.ts +3 -9
- package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +1 -1
- package/dist/esm/canvas/utils/Image/imageProperties.js +220 -214
- package/dist/esm/canvas/utils/Image/imageProperties.js.map +1 -1
- package/dist/esm/canvas/utils/Texts/textProperties.d.ts +12 -14
- package/dist/esm/canvas/utils/Texts/textProperties.d.ts.map +1 -1
- package/dist/esm/canvas/utils/Texts/textProperties.js +100 -91
- package/dist/esm/canvas/utils/Texts/textProperties.js.map +1 -1
- package/dist/esm/canvas/utils/types.d.ts +89 -109
- package/dist/esm/canvas/utils/types.d.ts.map +1 -1
- package/dist/esm/canvas/utils/types.js.map +1 -1
- package/dist/esm/canvas/utils/utils.d.ts +2 -4
- package/dist/esm/canvas/utils/utils.d.ts.map +1 -1
- package/dist/esm/canvas/utils/utils.js +2 -5
- package/dist/esm/canvas/utils/utils.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +31 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/ai/ApexModules.ts +83 -11
- package/lib/ai/functions/readFiles.ts +1 -1
- package/lib/ai/modals-chat/electronHub/chatmodels.ts +4 -2
- package/lib/ai/modals-chat/electronHub/speechModels.ts +2 -1
- package/lib/canvas/ApexPainter.ts +52 -61
- package/lib/canvas/Themes/Level-Up/levelup.ts +183 -0
- package/lib/canvas/utils/Background/bg.ts +179 -65
- package/lib/canvas/utils/Custom/customLines.ts +53 -20
- package/lib/canvas/utils/General/general functions.ts +21 -29
- package/lib/canvas/utils/Image/imageProperties.ts +399 -318
- package/lib/canvas/utils/Texts/textProperties.ts +213 -162
- package/lib/canvas/utils/types.ts +74 -107
- package/lib/canvas/utils/utils.ts +2 -5
- package/lib/index.ts +38 -10
- package/package.json +3 -2
- package/dist/cjs/canvas/utils/Background/circular.d.ts +0 -3
- package/dist/cjs/canvas/utils/Background/circular.d.ts.map +0 -1
- package/dist/cjs/canvas/utils/Background/circular.js +0 -13
- package/dist/cjs/canvas/utils/Background/circular.js.map +0 -1
- package/dist/cjs/canvas/utils/Background/radius.d.ts +0 -18
- package/dist/cjs/canvas/utils/Background/radius.d.ts.map +0 -1
- package/dist/cjs/canvas/utils/Background/radius.js +0 -104
- package/dist/cjs/canvas/utils/Background/radius.js.map +0 -1
- package/dist/esm/canvas/utils/Background/circular.d.ts +0 -3
- package/dist/esm/canvas/utils/Background/circular.d.ts.map +0 -1
- package/dist/esm/canvas/utils/Background/circular.js +0 -13
- package/dist/esm/canvas/utils/Background/circular.js.map +0 -1
- package/dist/esm/canvas/utils/Background/radius.d.ts +0 -18
- package/dist/esm/canvas/utils/Background/radius.d.ts.map +0 -1
- package/dist/esm/canvas/utils/Background/radius.js +0 -104
- package/dist/esm/canvas/utils/Background/radius.js.map +0 -1
- package/lib/canvas/utils/Background/circular.ts +0 -17
- package/lib/canvas/utils/Background/radius.ts +0 -102
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.radiusBorder = radiusBorder;
|
|
4
|
-
/**
|
|
5
|
-
* Applies a radius border (clipping path) to the canvas context with support for selective corner rounding.
|
|
6
|
-
*
|
|
7
|
-
* @param ctx The canvas rendering context.
|
|
8
|
-
* @param x The x-coordinate of the rectangle.
|
|
9
|
-
* @param y The y-coordinate of the rectangle.
|
|
10
|
-
* @param width The width of the rectangle.
|
|
11
|
-
* @param height The height of the rectangle.
|
|
12
|
-
* @param radius The radius for rounding the corners.
|
|
13
|
-
* @param borderPosition Which corners to round. Valid values include:
|
|
14
|
-
* - "all" (default)
|
|
15
|
-
* - "top", "bottom", "left", "right"
|
|
16
|
-
* - "top-left", "top-right", "bottom-left", "bottom-right"
|
|
17
|
-
* - A comma-separated list, e.g. "top, left, bottom" (for three sides) or "top-left, bottom-right"
|
|
18
|
-
*/
|
|
19
|
-
function radiusBorder(ctx, x = 0, y = 0, width, height, radius = 0, borderPosition = 'all') {
|
|
20
|
-
const minDimension = Math.min(width, height);
|
|
21
|
-
const maxRadius = minDimension / 2;
|
|
22
|
-
const clipRadius = Math.min(radius, maxRadius);
|
|
23
|
-
let roundTopLeft = false;
|
|
24
|
-
let roundTopRight = false;
|
|
25
|
-
let roundBottomRight = false;
|
|
26
|
-
let roundBottomLeft = false;
|
|
27
|
-
const bp = borderPosition.trim().toLowerCase();
|
|
28
|
-
if (bp === 'all') {
|
|
29
|
-
roundTopLeft = roundTopRight = roundBottomRight = roundBottomLeft = true;
|
|
30
|
-
}
|
|
31
|
-
else if (bp === 'top') {
|
|
32
|
-
roundTopLeft = roundTopRight = true;
|
|
33
|
-
}
|
|
34
|
-
else if (bp === 'bottom') {
|
|
35
|
-
roundBottomLeft = roundBottomRight = true;
|
|
36
|
-
}
|
|
37
|
-
else if (bp === 'left') {
|
|
38
|
-
roundTopLeft = roundBottomLeft = true;
|
|
39
|
-
}
|
|
40
|
-
else if (bp === 'right') {
|
|
41
|
-
roundTopRight = roundBottomRight = true;
|
|
42
|
-
}
|
|
43
|
-
else if (bp === 'top-left') {
|
|
44
|
-
roundTopLeft = true;
|
|
45
|
-
}
|
|
46
|
-
else if (bp === 'top-right') {
|
|
47
|
-
roundTopRight = true;
|
|
48
|
-
}
|
|
49
|
-
else if (bp === 'bottom-left') {
|
|
50
|
-
roundBottomLeft = true;
|
|
51
|
-
}
|
|
52
|
-
else if (bp === 'bottom-right') {
|
|
53
|
-
roundBottomRight = true;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
const positions = bp.split(',').map(s => s.trim());
|
|
57
|
-
roundTopLeft =
|
|
58
|
-
positions.includes('top-left') || (positions.includes('top') && positions.includes('left'));
|
|
59
|
-
roundTopRight =
|
|
60
|
-
positions.includes('top-right') || (positions.includes('top') && positions.includes('right'));
|
|
61
|
-
roundBottomRight =
|
|
62
|
-
positions.includes('bottom-right') || (positions.includes('bottom') && positions.includes('right'));
|
|
63
|
-
roundBottomLeft =
|
|
64
|
-
positions.includes('bottom-left') || (positions.includes('bottom') && positions.includes('left'));
|
|
65
|
-
}
|
|
66
|
-
const tl = roundTopLeft ? clipRadius : 0;
|
|
67
|
-
const tr = roundTopRight ? clipRadius : 0;
|
|
68
|
-
const br = roundBottomRight ? clipRadius : 0;
|
|
69
|
-
const bl = roundBottomLeft ? clipRadius : 0;
|
|
70
|
-
ctx.save();
|
|
71
|
-
ctx.beginPath();
|
|
72
|
-
ctx.moveTo(x + tl, y);
|
|
73
|
-
ctx.lineTo(x + width - tr, y);
|
|
74
|
-
if (tr > 0) {
|
|
75
|
-
ctx.quadraticCurveTo(x + width, y, x + width, y + tr);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
ctx.lineTo(x + width, y);
|
|
79
|
-
}
|
|
80
|
-
ctx.lineTo(x + width, y + height - br);
|
|
81
|
-
if (br > 0) {
|
|
82
|
-
ctx.quadraticCurveTo(x + width, y + height, x + width - br, y + height);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
ctx.lineTo(x + width, y + height);
|
|
86
|
-
}
|
|
87
|
-
ctx.lineTo(x + bl, y + height);
|
|
88
|
-
if (bl > 0) {
|
|
89
|
-
ctx.quadraticCurveTo(x, y + height, x, y + height - bl);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
ctx.lineTo(x, y + height);
|
|
93
|
-
}
|
|
94
|
-
ctx.lineTo(x, y + tl);
|
|
95
|
-
if (tl > 0) {
|
|
96
|
-
ctx.quadraticCurveTo(x, y, x + tl, y);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
ctx.lineTo(x, y);
|
|
100
|
-
}
|
|
101
|
-
ctx.closePath();
|
|
102
|
-
ctx.clip();
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=radius.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radius.js","sourceRoot":"","sources":["../../../../../lib/canvas/utils/Background/radius.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SKRSContext2D } from "@napi-rs/canvas";
|
|
2
|
-
|
|
3
|
-
export function circularBorder(
|
|
4
|
-
ctx: SKRSContext2D,
|
|
5
|
-
width: number,
|
|
6
|
-
height: number,
|
|
7
|
-
radius: number = 0
|
|
8
|
-
): void {
|
|
9
|
-
const minDimension = Math.min(width, height);
|
|
10
|
-
const clipRadius = minDimension / 2 + radius;
|
|
11
|
-
ctx.save();
|
|
12
|
-
ctx.beginPath();
|
|
13
|
-
ctx.arc(width / 2, height / 2, clipRadius, 0, Math.PI * 2);
|
|
14
|
-
ctx.closePath();
|
|
15
|
-
ctx.clip();
|
|
16
|
-
}
|
|
17
|
-
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { SKRSContext2D } from "@napi-rs/canvas";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Applies a radius border (clipping path) to the canvas context with support for selective corner rounding.
|
|
5
|
-
*
|
|
6
|
-
* @param ctx The canvas rendering context.
|
|
7
|
-
* @param x The x-coordinate of the rectangle.
|
|
8
|
-
* @param y The y-coordinate of the rectangle.
|
|
9
|
-
* @param width The width of the rectangle.
|
|
10
|
-
* @param height The height of the rectangle.
|
|
11
|
-
* @param radius The radius for rounding the corners.
|
|
12
|
-
* @param borderPosition Which corners to round. Valid values include:
|
|
13
|
-
* - "all" (default)
|
|
14
|
-
* - "top", "bottom", "left", "right"
|
|
15
|
-
* - "top-left", "top-right", "bottom-left", "bottom-right"
|
|
16
|
-
* - A comma-separated list, e.g. "top, left, bottom" (for three sides) or "top-left, bottom-right"
|
|
17
|
-
*/
|
|
18
|
-
export function radiusBorder(
|
|
19
|
-
ctx: SKRSContext2D,
|
|
20
|
-
x: number = 0,
|
|
21
|
-
y: number = 0,
|
|
22
|
-
width: number,
|
|
23
|
-
height: number,
|
|
24
|
-
radius: number = 0,
|
|
25
|
-
borderPosition: string = 'all'
|
|
26
|
-
): void {
|
|
27
|
-
const minDimension = Math.min(width, height);
|
|
28
|
-
const maxRadius = minDimension / 2;
|
|
29
|
-
const clipRadius = Math.min(radius, maxRadius);
|
|
30
|
-
|
|
31
|
-
let roundTopLeft = false;
|
|
32
|
-
let roundTopRight = false;
|
|
33
|
-
let roundBottomRight = false;
|
|
34
|
-
let roundBottomLeft = false;
|
|
35
|
-
|
|
36
|
-
const bp = borderPosition.trim().toLowerCase();
|
|
37
|
-
|
|
38
|
-
if (bp === 'all') {
|
|
39
|
-
roundTopLeft = roundTopRight = roundBottomRight = roundBottomLeft = true;
|
|
40
|
-
} else if (bp === 'top') {
|
|
41
|
-
roundTopLeft = roundTopRight = true;
|
|
42
|
-
} else if (bp === 'bottom') {
|
|
43
|
-
roundBottomLeft = roundBottomRight = true;
|
|
44
|
-
} else if (bp === 'left') {
|
|
45
|
-
roundTopLeft = roundBottomLeft = true;
|
|
46
|
-
} else if (bp === 'right') {
|
|
47
|
-
roundTopRight = roundBottomRight = true;
|
|
48
|
-
} else if (bp === 'top-left') {
|
|
49
|
-
roundTopLeft = true;
|
|
50
|
-
} else if (bp === 'top-right') {
|
|
51
|
-
roundTopRight = true;
|
|
52
|
-
} else if (bp === 'bottom-left') {
|
|
53
|
-
roundBottomLeft = true;
|
|
54
|
-
} else if (bp === 'bottom-right') {
|
|
55
|
-
roundBottomRight = true;
|
|
56
|
-
} else {
|
|
57
|
-
const positions = bp.split(',').map(s => s.trim());
|
|
58
|
-
roundTopLeft =
|
|
59
|
-
positions.includes('top-left') || (positions.includes('top') && positions.includes('left'));
|
|
60
|
-
roundTopRight =
|
|
61
|
-
positions.includes('top-right') || (positions.includes('top') && positions.includes('right'));
|
|
62
|
-
roundBottomRight =
|
|
63
|
-
positions.includes('bottom-right') || (positions.includes('bottom') && positions.includes('right'));
|
|
64
|
-
roundBottomLeft =
|
|
65
|
-
positions.includes('bottom-left') || (positions.includes('bottom') && positions.includes('left'));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const tl = roundTopLeft ? clipRadius : 0;
|
|
69
|
-
const tr = roundTopRight ? clipRadius : 0;
|
|
70
|
-
const br = roundBottomRight ? clipRadius : 0;
|
|
71
|
-
const bl = roundBottomLeft ? clipRadius : 0;
|
|
72
|
-
|
|
73
|
-
ctx.save();
|
|
74
|
-
ctx.beginPath();
|
|
75
|
-
ctx.moveTo(x + tl, y);
|
|
76
|
-
ctx.lineTo(x + width - tr, y);
|
|
77
|
-
if (tr > 0) {
|
|
78
|
-
ctx.quadraticCurveTo(x + width, y, x + width, y + tr);
|
|
79
|
-
} else {
|
|
80
|
-
ctx.lineTo(x + width, y);
|
|
81
|
-
}
|
|
82
|
-
ctx.lineTo(x + width, y + height - br);
|
|
83
|
-
if (br > 0) {
|
|
84
|
-
ctx.quadraticCurveTo(x + width, y + height, x + width - br, y + height);
|
|
85
|
-
} else {
|
|
86
|
-
ctx.lineTo(x + width, y + height);
|
|
87
|
-
}
|
|
88
|
-
ctx.lineTo(x + bl, y + height);
|
|
89
|
-
if (bl > 0) {
|
|
90
|
-
ctx.quadraticCurveTo(x, y + height, x, y + height - bl);
|
|
91
|
-
} else {
|
|
92
|
-
ctx.lineTo(x, y + height);
|
|
93
|
-
}
|
|
94
|
-
ctx.lineTo(x, y + tl);
|
|
95
|
-
if (tl > 0) {
|
|
96
|
-
ctx.quadraticCurveTo(x, y, x + tl, y);
|
|
97
|
-
} else {
|
|
98
|
-
ctx.lineTo(x, y);
|
|
99
|
-
}
|
|
100
|
-
ctx.closePath();
|
|
101
|
-
ctx.clip();
|
|
102
|
-
}
|