@nasser-sw/fabric 7.0.1-beta30 → 7.0.1-beta31
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/.history/package_20251227172435.json +164 -0
- package/dist/index.js +21 -16
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +1 -1
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +21 -16
- package/dist/index.mjs.map +1 -1
- package/dist/index.node.cjs +21 -16
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +21 -16
- package/dist/index.node.mjs.map +1 -1
- package/dist/package.json.min.mjs +1 -1
- package/dist/package.json.mjs +1 -1
- package/dist/src/controls/expandControl.d.ts.map +1 -1
- package/dist/src/controls/expandControl.min.mjs +1 -1
- package/dist/src/controls/expandControl.min.mjs.map +1 -1
- package/dist/src/controls/expandControl.mjs +9 -6
- package/dist/src/controls/expandControl.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.d.ts +2 -2
- package/dist/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.min.mjs +1 -1
- package/dist/src/shapes/Object/InteractiveObject.min.mjs.map +1 -1
- package/dist/src/shapes/Object/InteractiveObject.mjs +11 -9
- package/dist/src/shapes/Object/InteractiveObject.mjs.map +1 -1
- package/dist-extensions/src/controls/expandControl.d.ts.map +1 -1
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts +2 -2
- package/dist-extensions/src/shapes/Object/InteractiveObject.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/controls/expandControl.ts +8 -6
- package/src/shapes/Object/InteractiveObject.ts +10 -9
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nasser-sw/fabric",
|
|
3
|
+
"description": "Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.",
|
|
4
|
+
"homepage": "http://fabricjs.com/",
|
|
5
|
+
"version": "7.0.1-beta31",
|
|
6
|
+
"author": "Juriy Zaytsev <kangax@gmail.com>",
|
|
7
|
+
"contributors": [
|
|
8
|
+
{
|
|
9
|
+
"name": "Andrea Bogazzi",
|
|
10
|
+
"email": "andreabogazzi79@gmail.com",
|
|
11
|
+
"url": "https://github.com/asturur"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "Shachar Nencel",
|
|
15
|
+
"email": "shacharnen@gmail.com",
|
|
16
|
+
"url": "https://github.com/ShaMan123"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "Steve Eberhardt",
|
|
20
|
+
"email": "melchiar2@gmail.com",
|
|
21
|
+
"url": "https://github.com/melchiar"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"keywords": [
|
|
25
|
+
"canvas",
|
|
26
|
+
"graphic",
|
|
27
|
+
"graphics",
|
|
28
|
+
"SVG",
|
|
29
|
+
"node-canvas",
|
|
30
|
+
"parser",
|
|
31
|
+
"HTML5",
|
|
32
|
+
"object model"
|
|
33
|
+
],
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
36
|
+
},
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/fabricjs/fabric.js"
|
|
40
|
+
},
|
|
41
|
+
"bugs": {
|
|
42
|
+
"url": "https://github.com/fabricjs/fabric.js/issues"
|
|
43
|
+
},
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"scripts": {
|
|
46
|
+
"docs": "typedoc",
|
|
47
|
+
"cli": "node ./scripts/index.mjs",
|
|
48
|
+
"sandboxscript": "node ./scripts/sandbox.mjs",
|
|
49
|
+
"build": "npm run cli -- build",
|
|
50
|
+
"build:fast": "npm run build -- -f",
|
|
51
|
+
"dev": "npm run cli -- dev",
|
|
52
|
+
"start": "npm run sandboxscript -- start",
|
|
53
|
+
"export": "npm run cli -- website export",
|
|
54
|
+
"test:vitest": "vitest --run --project unit-node",
|
|
55
|
+
"test:vitest:chromium": "vitest --run --project unit-chromium",
|
|
56
|
+
"test:vitest:firefox": "vitest --run --project unit-firefox",
|
|
57
|
+
"test:vitest:all": "vitest --run",
|
|
58
|
+
"test:vitest:coverage": "vitest --run --coverage --project unit-node",
|
|
59
|
+
"test:vitest:coverage:watch": "npm run test:vitest --coverage=true",
|
|
60
|
+
"coverage:merge": "nyc merge coveragefiles .nyc_output/merged-coverage.json",
|
|
61
|
+
"coverage:report": "nyc report --skip-full=true --reporter=lcov --reporter=text --reporter=text-summary",
|
|
62
|
+
"coverage:report:ci": "nyc report --reporter=text-summary",
|
|
63
|
+
"test:e2e": "npm run playwright:typecheck && playwright test",
|
|
64
|
+
"playwright:typecheck": "tsc -p ./e2e/tsconfig.json --noEmit",
|
|
65
|
+
"sandbox": "npm run sandboxscript -- sandbox",
|
|
66
|
+
"local-server": "serve ./ -l tcp://localhost:8080",
|
|
67
|
+
"lint": "eslint src extensions",
|
|
68
|
+
"prettier:check": "prettier --check .",
|
|
69
|
+
"prettier:write": "prettier --write ."
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@babel/cli": "^7.28.3",
|
|
73
|
+
"@babel/core": "^7.28.3",
|
|
74
|
+
"@babel/preset-env": "^7.28.3",
|
|
75
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
76
|
+
"@eslint/js": "^9.31.0",
|
|
77
|
+
"@playwright/test": "^1.55.0",
|
|
78
|
+
"@rollup/plugin-babel": "^6.0.4",
|
|
79
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
80
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
81
|
+
"@rollup/plugin-typescript": "^12.1.4",
|
|
82
|
+
"@types/fs-extra": "^11.0.4",
|
|
83
|
+
"@types/jsdom": "^21.1.7",
|
|
84
|
+
"@types/micromatch": "^4.0.9",
|
|
85
|
+
"@types/node": "^24.3.0",
|
|
86
|
+
"@vitest/browser": "^3.2.4",
|
|
87
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
88
|
+
"@vitest/ui": "^3.2.4",
|
|
89
|
+
"babel-plugin-transform-imports": "git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git",
|
|
90
|
+
"chalk": "^5.6.0",
|
|
91
|
+
"commander": "^14.0.0",
|
|
92
|
+
"es-toolkit": "1.39.7",
|
|
93
|
+
"eslint-config-prettier": "^10.1.8",
|
|
94
|
+
"fs-extra": "^11.3.1",
|
|
95
|
+
"inquirer": "^12.9.4",
|
|
96
|
+
"micromatch": "^4.0.8",
|
|
97
|
+
"moment": "^2.30.1",
|
|
98
|
+
"nyc": "^17.1.0",
|
|
99
|
+
"prettier": "^3.6.2",
|
|
100
|
+
"ps-list": "^8.1.1",
|
|
101
|
+
"rollup": "^4.48.0",
|
|
102
|
+
"semver": "^7.7.2",
|
|
103
|
+
"serve": "^14.2.4",
|
|
104
|
+
"tslib": "^2.8.1",
|
|
105
|
+
"typescript": "^5.9.2",
|
|
106
|
+
"typescript-eslint": "^8.40.0",
|
|
107
|
+
"v8-to-istanbul": "^9.3.0",
|
|
108
|
+
"vite": "^6.3.5",
|
|
109
|
+
"vitest": "^3.2.4"
|
|
110
|
+
},
|
|
111
|
+
"engines": {
|
|
112
|
+
"node": ">=18.0.0"
|
|
113
|
+
},
|
|
114
|
+
"overrides": {
|
|
115
|
+
"canvas": {
|
|
116
|
+
"canvas": "3.2.0"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"module": "./dist/index.mjs",
|
|
120
|
+
"types": "./dist/index.d.ts",
|
|
121
|
+
"typesVersions": {
|
|
122
|
+
">=4.2": {
|
|
123
|
+
"*": [
|
|
124
|
+
"dist/index.d.ts"
|
|
125
|
+
],
|
|
126
|
+
"node": [
|
|
127
|
+
"dist/index.node.d.ts"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"sideEffects": false,
|
|
132
|
+
"exports": {
|
|
133
|
+
".": {
|
|
134
|
+
"types": "./dist/index.d.ts",
|
|
135
|
+
"import": "./dist/index.min.mjs",
|
|
136
|
+
"require": "./dist/index.min.js",
|
|
137
|
+
"default": "./dist/index.min.js"
|
|
138
|
+
},
|
|
139
|
+
"./es": {
|
|
140
|
+
"types": "./dist/index.d.ts",
|
|
141
|
+
"import": "./dist/fabric.min.mjs",
|
|
142
|
+
"require": null,
|
|
143
|
+
"default": null
|
|
144
|
+
},
|
|
145
|
+
"./node": {
|
|
146
|
+
"node": "./dist/index.node.cjs",
|
|
147
|
+
"types": "./dist/index.node.d.ts",
|
|
148
|
+
"import": "./dist/index.node.mjs",
|
|
149
|
+
"require": "./dist/index.node.cjs",
|
|
150
|
+
"default": "./dist/index.node.cjs"
|
|
151
|
+
},
|
|
152
|
+
"./extensions": {
|
|
153
|
+
"node": "./dist-extensions/index.mjs",
|
|
154
|
+
"types": "./dist-extensions/extensions/index.d.ts",
|
|
155
|
+
"import": "./dist-extensions/index.mjs",
|
|
156
|
+
"require": null,
|
|
157
|
+
"default": "./dist-extensions/fabric-extensions.min.js"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"optionalDependencies": {
|
|
161
|
+
"canvas": "^3.2.0",
|
|
162
|
+
"jsdom": "^26.1.0"
|
|
163
|
+
}
|
|
164
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
}
|
|
361
361
|
const cache = new Cache();
|
|
362
362
|
|
|
363
|
-
var version = "7.0.1-
|
|
363
|
+
var version = "7.0.1-beta31";
|
|
364
364
|
|
|
365
365
|
// use this syntax so babel plugin see this import here
|
|
366
366
|
const VERSION = version;
|
|
@@ -9340,6 +9340,7 @@
|
|
|
9340
9340
|
* Note: expansion values are stored in UNSCALED local object coordinates
|
|
9341
9341
|
*/
|
|
9342
9342
|
positionHandler(dim, finalMatrix, fabricObject, currentControl) {
|
|
9343
|
+
var _fabricObject$canvas;
|
|
9343
9344
|
const expansion = getExpansion(fabricObject);
|
|
9344
9345
|
const {
|
|
9345
9346
|
expandLeft,
|
|
@@ -9348,17 +9349,19 @@
|
|
|
9348
9349
|
expandBottom
|
|
9349
9350
|
} = expansion;
|
|
9350
9351
|
|
|
9351
|
-
// dim already includes object's
|
|
9352
|
+
// dim already includes object's scale AND viewport zoom via _calculateCurrentDimensions
|
|
9353
|
+
// which calls: _getTransformedDimensions().transform(viewportTransform, true)
|
|
9352
9354
|
const halfWidth = dim.x / 2;
|
|
9353
9355
|
const halfHeight = dim.y / 2;
|
|
9354
9356
|
|
|
9355
9357
|
// Expansion values are in UNSCALED coordinates.
|
|
9356
|
-
// dim
|
|
9357
|
-
//
|
|
9358
|
-
const
|
|
9359
|
-
const
|
|
9358
|
+
// dim includes both object scale AND viewport zoom.
|
|
9359
|
+
// We need to scale expansion by both to match dim.
|
|
9360
|
+
const zoom = ((_fabricObject$canvas = fabricObject.canvas) === null || _fabricObject$canvas === void 0 ? void 0 : _fabricObject$canvas.getZoom()) || 1;
|
|
9361
|
+
const scaleFactorX = (fabricObject.scaleX || 1) * zoom;
|
|
9362
|
+
const scaleFactorY = (fabricObject.scaleY || 1) * zoom;
|
|
9360
9363
|
|
|
9361
|
-
// Scale expansion values to match dim's coordinate space
|
|
9364
|
+
// Scale expansion values to match dim's coordinate space (includes zoom)
|
|
9362
9365
|
const scaledExpandLeft = expandLeft * scaleFactorX;
|
|
9363
9366
|
const scaledExpandRight = expandRight * scaleFactorX;
|
|
9364
9367
|
const scaledExpandTop = expandTop * scaleFactorY;
|
|
@@ -10393,11 +10396,12 @@
|
|
|
10393
10396
|
* Draw the expansion preview area
|
|
10394
10397
|
* Called during border rendering when in expand mode
|
|
10395
10398
|
* @param ctx Canvas rendering context
|
|
10396
|
-
* @param size Object dimensions (already includes scale and
|
|
10397
|
-
* @param options Decomposed transform options (contains scaleX, scaleY from
|
|
10399
|
+
* @param size Object dimensions (already includes scale and viewport zoom via _calculateCurrentDimensions)
|
|
10400
|
+
* @param options Decomposed transform options (contains scaleX, scaleY from object transform only)
|
|
10398
10401
|
* Note: expansion values are stored in local object coordinates
|
|
10399
10402
|
*/
|
|
10400
10403
|
drawExpandPreview(ctx, size, options) {
|
|
10404
|
+
var _this$canvas6;
|
|
10401
10405
|
if (!this.expandMode) return;
|
|
10402
10406
|
const {
|
|
10403
10407
|
expandLeft,
|
|
@@ -10407,13 +10411,14 @@
|
|
|
10407
10411
|
} = this.expansion;
|
|
10408
10412
|
|
|
10409
10413
|
// Expansion values are stored in UNSCALED object coordinates.
|
|
10410
|
-
// size
|
|
10411
|
-
//
|
|
10412
|
-
//
|
|
10413
|
-
const
|
|
10414
|
-
const
|
|
10415
|
-
|
|
10416
|
-
|
|
10414
|
+
// size includes both object scale AND viewport zoom (via _calculateCurrentDimensions).
|
|
10415
|
+
// options.scaleX/Y only contains object scale (from calcTransformMatrix, no viewport).
|
|
10416
|
+
// We need to multiply by zoom to match size's coordinate space.
|
|
10417
|
+
const zoom = ((_this$canvas6 = this.canvas) === null || _this$canvas6 === void 0 ? void 0 : _this$canvas6.getZoom()) || 1;
|
|
10418
|
+
const scaleFactorX = ((options === null || options === void 0 ? void 0 : options.scaleX) || this.scaleX || 1) * zoom;
|
|
10419
|
+
const scaleFactorY = ((options === null || options === void 0 ? void 0 : options.scaleY) || this.scaleY || 1) * zoom;
|
|
10420
|
+
|
|
10421
|
+
// Scale expansion values to screen coordinates (includes zoom)
|
|
10417
10422
|
const scaledExpandLeft = expandLeft * scaleFactorX;
|
|
10418
10423
|
const scaledExpandRight = expandRight * scaleFactorX;
|
|
10419
10424
|
const scaledExpandTop = expandTop * scaleFactorY;
|