@anu3ev/fabric-image-editor 0.8.3 → 0.8.5
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/main.js +602 -564
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -4269,13 +4269,14 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4269
4269
|
for (let e = 0; e < r.length; e += 1) {
|
|
4270
4270
|
let n = r[e] ?? "", i = a ? a[e] : void 0;
|
|
4271
4271
|
if (i && (d = i), n.length !== 0) {
|
|
4272
|
-
|
|
4273
|
-
|
|
4272
|
+
let t = i;
|
|
4273
|
+
if (!t && d && (t = { ...d }, a || (a = {}, s = !0), s ||= (a = { ...a }, !0), a[e] = t, o = !0), t) {
|
|
4274
|
+
let r = pn({
|
|
4274
4275
|
lineText: n,
|
|
4275
4276
|
lineStyles: c ? c[e] : void 0,
|
|
4276
|
-
lineDefaults:
|
|
4277
|
+
lineDefaults: t
|
|
4277
4278
|
});
|
|
4278
|
-
|
|
4279
|
+
r.changed && (c || (c = {}, u = !0), u ||= (c = { ...c }, !0), r.lineStyles && (c[e] = r.lineStyles), !r.lineStyles && c[e] && delete c[e], l = !0), d = t;
|
|
4279
4280
|
}
|
|
4280
4281
|
continue;
|
|
4281
4282
|
}
|
|
@@ -4293,7 +4294,32 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4293
4294
|
styles: c ?? {},
|
|
4294
4295
|
stylesChanged: l
|
|
4295
4296
|
};
|
|
4296
|
-
}
|
|
4297
|
+
};
|
|
4298
|
+
function hn({ textbox: e }) {
|
|
4299
|
+
let t = (e.text ?? "").split("\n"), n = dn({ textbox: e }), r = mn({
|
|
4300
|
+
lines: t,
|
|
4301
|
+
styles: e.styles,
|
|
4302
|
+
lineFontDefaults: e.lineFontDefaults,
|
|
4303
|
+
globalLineDefaults: n
|
|
4304
|
+
}), i = r.lineFontDefaults && Object.keys(r.lineFontDefaults).length > 0 ? r.lineFontDefaults : void 0, a = {};
|
|
4305
|
+
for (let e in r.styles) {
|
|
4306
|
+
if (!Object.prototype.hasOwnProperty.call(r.styles, e)) continue;
|
|
4307
|
+
let t = Number(e);
|
|
4308
|
+
if (!Number.isInteger(t) || t < 0) continue;
|
|
4309
|
+
let o = r.styles[e];
|
|
4310
|
+
if (!o) continue;
|
|
4311
|
+
let s = ln({
|
|
4312
|
+
lineStyles: o,
|
|
4313
|
+
lineDefaults: i?.[t] ?? n
|
|
4314
|
+
});
|
|
4315
|
+
!s.lineStyles || !Object.keys(s.lineStyles).length || (a[t] = s.lineStyles);
|
|
4316
|
+
}
|
|
4317
|
+
return {
|
|
4318
|
+
lineFontDefaults: i,
|
|
4319
|
+
styles: a
|
|
4320
|
+
};
|
|
4321
|
+
}
|
|
4322
|
+
var gn = ({ currentText: e, previousText: t, textbox: n }) => {
|
|
4297
4323
|
let r = on({
|
|
4298
4324
|
lineFontDefaults: n.lineFontDefaults,
|
|
4299
4325
|
previousText: t,
|
|
@@ -4309,7 +4335,15 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4309
4335
|
...i,
|
|
4310
4336
|
lineFontDefaultsChanged: r.changed || i.lineFontDefaultsChanged
|
|
4311
4337
|
};
|
|
4312
|
-
},
|
|
4338
|
+
}, _n = ({ textbox: e }) => {
|
|
4339
|
+
let t = mn({
|
|
4340
|
+
lines: (e.text ?? "").split("\n"),
|
|
4341
|
+
styles: e.styles,
|
|
4342
|
+
lineFontDefaults: e.lineFontDefaults,
|
|
4343
|
+
globalLineDefaults: dn({ textbox: e })
|
|
4344
|
+
}), n = !1;
|
|
4345
|
+
return t.lineFontDefaultsChanged && (e.lineFontDefaults = t.lineFontDefaults, n = !0), t.stylesChanged && (e.styles = t.styles, e.dirty = !0, n = !0), n;
|
|
4346
|
+
}, vn = ({ lineFontDefaults: e }) => {
|
|
4313
4347
|
if (!e) return;
|
|
4314
4348
|
let t = {};
|
|
4315
4349
|
for (let n in e) {
|
|
@@ -4320,7 +4354,7 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4320
4354
|
i && (t[r] = { ...i });
|
|
4321
4355
|
}
|
|
4322
4356
|
return t;
|
|
4323
|
-
},
|
|
4357
|
+
}, yn = ({ lineFontDefaults: e, scale: t }) => {
|
|
4324
4358
|
if (!e || !Number.isFinite(t) || Math.abs(t - 1) < .01) return;
|
|
4325
4359
|
let n = {}, r = !1, i = !1;
|
|
4326
4360
|
for (let a in e) {
|
|
@@ -4337,18 +4371,18 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4337
4371
|
n[o] = c, r = !0;
|
|
4338
4372
|
}
|
|
4339
4373
|
if (!(!r || !i)) return n;
|
|
4340
|
-
},
|
|
4374
|
+
}, bn = ({ textbox: e, text: t }) => {
|
|
4341
4375
|
let { textLines: n } = e, r = Array.isArray(n) && n.length > 0 ? n.length : Math.max(t.split("\n").length, 1), i = 0;
|
|
4342
4376
|
for (let t = 0; t < r; t += 1) {
|
|
4343
4377
|
let n = e.getLineWidth(t);
|
|
4344
4378
|
n > i && (i = n);
|
|
4345
4379
|
}
|
|
4346
4380
|
return i;
|
|
4347
|
-
},
|
|
4348
|
-
let r = e.width ?? e.calcTextWidth() ?? 0, i = e.height ?? e.calcTextHeight() ?? 0, a = e.paddingTop ?? 0, o = e.paddingRight ?? 0, s = e.paddingBottom ?? 0, c = e.paddingLeft ?? 0, l = -r / 2 + (c - o) / 2, u = -i / 2 + (a - s) / 2, d = new p(l +
|
|
4381
|
+
}, xn = ({ origin: e, size: t }) => e === "left" || e === "top" || e === 0 ? 0 : e === "right" || e === "bottom" || e === 1 ? t : t / 2, Sn = ({ textbox: e, originX: t = e.originX ?? "center", originY: n = e.originY ?? "center" }) => {
|
|
4382
|
+
let r = e.width ?? e.calcTextWidth() ?? 0, i = e.height ?? e.calcTextHeight() ?? 0, a = e.paddingTop ?? 0, o = e.paddingRight ?? 0, s = e.paddingBottom ?? 0, c = e.paddingLeft ?? 0, l = -r / 2 + (c - o) / 2, u = -i / 2 + (a - s) / 2, d = new p(l + xn({
|
|
4349
4383
|
origin: t,
|
|
4350
4384
|
size: r
|
|
4351
|
-
}), u +
|
|
4385
|
+
}), u + xn({
|
|
4352
4386
|
origin: n,
|
|
4353
4387
|
size: i
|
|
4354
4388
|
})), f = e.getPointByOrigin("center", "center"), m = e, h = typeof m.calcTransformMatrix == "function" ? m.calcTransformMatrix() : null, g = Array.isArray(h) ? new p(d.x * h[0] + d.y * h[2] + f.x, d.x * h[1] + d.y * h[3] + f.y) : new p(f.x + d.x, f.y + d.y);
|
|
@@ -4358,13 +4392,13 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4358
4392
|
originX: t,
|
|
4359
4393
|
originY: n
|
|
4360
4394
|
};
|
|
4361
|
-
},
|
|
4395
|
+
}, Cn = ({ textbox: e, montageLeft: t, montageRight: n }) => {
|
|
4362
4396
|
e.setCoords();
|
|
4363
|
-
let r = e.getBoundingRect(
|
|
4397
|
+
let r = e.getBoundingRect(), i = r.left ?? 0, a = i + (r.width ?? 0), o = n - t;
|
|
4364
4398
|
if (o > 0 && (r.width ?? 0) >= o - .01) return !1;
|
|
4365
4399
|
let s = 0;
|
|
4366
4400
|
return i < t ? s = t - i : a > n && (s = n - a), Math.abs(s) <= .01 ? !1 : (e.set({ left: (e.left ?? 0) + s }), !0);
|
|
4367
|
-
},
|
|
4401
|
+
}, wn = ({ rawValue: e, calculatedValue: t }) => typeof e == "number" ? e : typeof t == "number" ? t : 0, Tn = ({ stylesList: e }) => {
|
|
4368
4402
|
let t = e.length;
|
|
4369
4403
|
if (!t) return !1;
|
|
4370
4404
|
for (let n = 0; n < t; n += 1) {
|
|
@@ -4374,16 +4408,16 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4374
4408
|
if (r !== void 0 || i !== void 0 || a !== void 0 || o !== void 0 || s !== void 0 || c !== void 0) return !0;
|
|
4375
4409
|
}
|
|
4376
4410
|
return !1;
|
|
4377
|
-
},
|
|
4378
|
-
let { width: t, height: n, calcTextWidth: r, calcTextHeight: i } = e, a = typeof r == "function" ? r.call(e) : void 0, o = typeof i == "function" ? i.call(e) : void 0, s =
|
|
4411
|
+
}, En = ({ textbox: e }) => {
|
|
4412
|
+
let { width: t, height: n, calcTextWidth: r, calcTextHeight: i } = e, a = typeof r == "function" ? r.call(e) : void 0, o = typeof i == "function" ? i.call(e) : void 0, s = wn({
|
|
4379
4413
|
rawValue: t,
|
|
4380
4414
|
calculatedValue: a
|
|
4381
|
-
}), c =
|
|
4415
|
+
}), c = wn({
|
|
4382
4416
|
rawValue: n,
|
|
4383
4417
|
calculatedValue: o
|
|
4384
4418
|
}), l = Number.isFinite(s) ? Math.round(s) : null, u = Number.isFinite(c) ? Math.round(c) : null, d = {};
|
|
4385
4419
|
return l !== null && l !== s && (d.width = Math.max(0, l)), u !== null && u !== c && (d.height = Math.max(0, u)), Object.keys(d).length ? (e.set(d), !0) : !1;
|
|
4386
|
-
},
|
|
4420
|
+
}, Dn = ({ textbox: e }) => {
|
|
4387
4421
|
let t = e.width ?? e.calcTextWidth(), n = e.fontSize ?? 16, { styles: r = {} } = e, { lineFontDefaults: i } = e, { paddingTop: a = 0, paddingRight: o = 0, paddingBottom: s = 0, paddingLeft: c = 0 } = e, { radiusTopLeft: l = 0, radiusTopRight: u = 0, radiusBottomRight: d = 0, radiusBottomLeft: f = 0 } = e;
|
|
4388
4422
|
return {
|
|
4389
4423
|
width: t,
|
|
@@ -4401,9 +4435,9 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4401
4435
|
bottomLeft: f
|
|
4402
4436
|
},
|
|
4403
4437
|
styles: JSON.parse(JSON.stringify(r)),
|
|
4404
|
-
lineFontDefaults:
|
|
4438
|
+
lineFontDefaults: vn({ lineFontDefaults: i })
|
|
4405
4439
|
};
|
|
4406
|
-
},
|
|
4440
|
+
}, On = ({ base: e }) => {
|
|
4407
4441
|
let t = 1 / Math.max(1, e.width), n = [e.fontSize];
|
|
4408
4442
|
Object.values(e.styles).forEach((e) => {
|
|
4409
4443
|
Object.values(e).forEach((e) => {
|
|
@@ -4420,7 +4454,7 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4420
4454
|
fontScale: r,
|
|
4421
4455
|
proportionalScale: Math.max(t, r)
|
|
4422
4456
|
};
|
|
4423
|
-
},
|
|
4457
|
+
}, kn = ({ textbox: e, base: t, scale: n, shouldScaleFontSize: r = !0, shouldScalePadding: i = !0, shouldScaleRadii: a = !0 }) => {
|
|
4424
4458
|
let { fontSize: o, padding: s, radii: c, styles: l, lineFontDefaults: u } = t, d = Math.max(Math.min(8, o), o * n), f = Object.keys(l).length > 0, p;
|
|
4425
4459
|
if (r && f) {
|
|
4426
4460
|
let e = {};
|
|
@@ -4439,7 +4473,7 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4439
4473
|
}), Object.keys(e).length && (p = e);
|
|
4440
4474
|
}
|
|
4441
4475
|
let m;
|
|
4442
|
-
r && (m =
|
|
4476
|
+
r && (m = yn({
|
|
4443
4477
|
lineFontDefaults: u,
|
|
4444
4478
|
scale: n
|
|
4445
4479
|
}));
|
|
@@ -4465,9 +4499,9 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4465
4499
|
radiusBottomRight: g.bottomRight,
|
|
4466
4500
|
radiusBottomLeft: g.bottomLeft
|
|
4467
4501
|
});
|
|
4468
|
-
},
|
|
4502
|
+
}, An = ({ textbox: e, canvasManager: t, base: n, widthScale: r, heightScale: i, placement: a, anchorPlacement: o, shouldScaleFontSize: s, shouldScalePadding: c, shouldScaleRadii: l, shouldDisableAutoExpandOnHorizontalChange: u = !1, shouldRoundDimensions: d = !0 }) => {
|
|
4469
4503
|
let { width: f } = n, m = Math.max(1, f * r), h = d ? Math.max(1, Math.round(m)) : m, g = e.width ?? f, _ = Math.abs(h - g) > Jt;
|
|
4470
|
-
u && _ && (e.autoExpand = !1),
|
|
4504
|
+
u && _ && (e.autoExpand = !1), kn({
|
|
4471
4505
|
textbox: e,
|
|
4472
4506
|
base: n,
|
|
4473
4507
|
scale: i,
|
|
@@ -4486,7 +4520,7 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4486
4520
|
} finally {
|
|
4487
4521
|
e.shouldRoundDimensionsOnInit = v;
|
|
4488
4522
|
}
|
|
4489
|
-
let y = d ?
|
|
4523
|
+
let y = d ? En({ textbox: e }) : !1;
|
|
4490
4524
|
return y && (e.dirty = !0), o ? (e.set({
|
|
4491
4525
|
originX: a.originX,
|
|
4492
4526
|
originY: a.originY
|
|
@@ -4500,24 +4534,24 @@ var Wt = ({ canvas: e, options: t = {}, centerPoint: n, flags: r = {} }) => {
|
|
|
4500
4534
|
appliedWidth: e.width ?? h,
|
|
4501
4535
|
dimensionsRounded: y
|
|
4502
4536
|
});
|
|
4503
|
-
},
|
|
4537
|
+
}, jn = 1, Mn = 1e-4;
|
|
4504
4538
|
function J({ value: e }) {
|
|
4505
4539
|
return Number(e.toFixed(4));
|
|
4506
4540
|
}
|
|
4507
|
-
function
|
|
4541
|
+
function Nn({ rounding: e }) {
|
|
4508
4542
|
return B({ rounding: e }) > 0;
|
|
4509
4543
|
}
|
|
4510
|
-
function
|
|
4544
|
+
function Pn({ width: e, height: t, strokeWidth: n }) {
|
|
4511
4545
|
let r = Math.max(0, n ?? 0);
|
|
4512
4546
|
return {
|
|
4513
|
-
width: Math.max(
|
|
4514
|
-
height: Math.max(
|
|
4547
|
+
width: Math.max(jn, e - r),
|
|
4548
|
+
height: Math.max(jn, t - r)
|
|
4515
4549
|
};
|
|
4516
4550
|
}
|
|
4517
|
-
function
|
|
4518
|
-
let a =
|
|
4519
|
-
width: Math.max(
|
|
4520
|
-
height: Math.max(
|
|
4551
|
+
function Fn({ shape: e, width: t, height: n, rounding: r, strokeWidth: i }) {
|
|
4552
|
+
let a = Pn({
|
|
4553
|
+
width: Math.max(jn, t),
|
|
4554
|
+
height: Math.max(jn, n),
|
|
4521
4555
|
strokeWidth: i
|
|
4522
4556
|
});
|
|
4523
4557
|
if (e instanceof g) {
|
|
@@ -4536,7 +4570,7 @@ function Nn({ shape: e, width: t, height: n, rounding: r, strokeWidth: i }) {
|
|
|
4536
4570
|
}), e.setCoords();
|
|
4537
4571
|
return;
|
|
4538
4572
|
}
|
|
4539
|
-
let { width: o =
|
|
4573
|
+
let { width: o = jn, height: s = jn } = e, c = Math.max(jn, o), l = Math.max(jn, s);
|
|
4540
4574
|
e.set({
|
|
4541
4575
|
scaleX: a.width / c,
|
|
4542
4576
|
scaleY: a.height / l,
|
|
@@ -4546,11 +4580,11 @@ function Nn({ shape: e, width: t, height: n, rounding: r, strokeWidth: i }) {
|
|
|
4546
4580
|
originY: "center"
|
|
4547
4581
|
}), e.setCoords();
|
|
4548
4582
|
}
|
|
4549
|
-
function
|
|
4583
|
+
function In({ shape: e, style: t }) {
|
|
4550
4584
|
let { fill: n, stroke: r, strokeWidth: i, strokeDashArray: a, opacity: o } = t;
|
|
4551
4585
|
if (e instanceof l) {
|
|
4552
4586
|
let n = e.getObjects();
|
|
4553
|
-
for (let e = 0; e < n.length; e += 1)
|
|
4587
|
+
for (let e = 0; e < n.length; e += 1) In({
|
|
4554
4588
|
shape: n[e],
|
|
4555
4589
|
style: t
|
|
4556
4590
|
});
|
|
@@ -4564,7 +4598,7 @@ function Pn({ shape: e, style: t }) {
|
|
|
4564
4598
|
};
|
|
4565
4599
|
n !== void 0 && (s.fill = n), r !== void 0 && (s.stroke = r), i !== void 0 && (s.strokeWidth = i), a !== void 0 && (s.strokeDashArray = a), o !== void 0 && (s.opacity = o), e.set(s), e.setCoords();
|
|
4566
4600
|
}
|
|
4567
|
-
function
|
|
4601
|
+
function Ln({ points: e, closed: t }) {
|
|
4568
4602
|
if (e.length === 0) return "";
|
|
4569
4603
|
let n = `M ${J({ value: e[0].x })} ${J({ value: e[0].y })}`;
|
|
4570
4604
|
for (let t = 1; t < e.length; t += 1) {
|
|
@@ -4573,7 +4607,7 @@ function Fn({ points: e, closed: t }) {
|
|
|
4573
4607
|
}
|
|
4574
4608
|
return t && (n += " Z"), n;
|
|
4575
4609
|
}
|
|
4576
|
-
function
|
|
4610
|
+
function Rn({ previous: e, current: t, next: n, roundingRatio: r }) {
|
|
4577
4611
|
let i = {
|
|
4578
4612
|
x: e.x - t.x,
|
|
4579
4613
|
y: e.y - t.y
|
|
@@ -4581,7 +4615,7 @@ function In({ previous: e, current: t, next: n, roundingRatio: r }) {
|
|
|
4581
4615
|
x: n.x - t.x,
|
|
4582
4616
|
y: n.y - t.y
|
|
4583
4617
|
}, o = Math.hypot(i.x, i.y), s = Math.hypot(a.x, a.y);
|
|
4584
|
-
if (o <=
|
|
4618
|
+
if (o <= Mn || s <= Mn) return {
|
|
4585
4619
|
start: {
|
|
4586
4620
|
x: J({ value: t.x }),
|
|
4587
4621
|
y: J({ value: t.y })
|
|
@@ -4603,14 +4637,14 @@ function In({ previous: e, current: t, next: n, roundingRatio: r }) {
|
|
|
4603
4637
|
}
|
|
4604
4638
|
};
|
|
4605
4639
|
}
|
|
4606
|
-
function
|
|
4640
|
+
function zn({ points: e, roundingRatio: t, closed: n }) {
|
|
4607
4641
|
let r = e.length;
|
|
4608
4642
|
if (r === 0) return "";
|
|
4609
4643
|
if (!n && r === 1) {
|
|
4610
4644
|
let t = e[0];
|
|
4611
4645
|
return `M ${J({ value: t.x })} ${J({ value: t.y })}`;
|
|
4612
4646
|
}
|
|
4613
|
-
if (t <= 0) return
|
|
4647
|
+
if (t <= 0) return Ln({
|
|
4614
4648
|
points: e,
|
|
4615
4649
|
closed: n
|
|
4616
4650
|
});
|
|
@@ -4618,7 +4652,7 @@ function Ln({ points: e, roundingRatio: t, closed: n }) {
|
|
|
4618
4652
|
let n = [];
|
|
4619
4653
|
for (let i = 0; i < r; i += 1) {
|
|
4620
4654
|
let a = i === 0 ? r - 1 : i - 1, o = i === r - 1 ? 0 : i + 1;
|
|
4621
|
-
n.push(
|
|
4655
|
+
n.push(Rn({
|
|
4622
4656
|
previous: e[a],
|
|
4623
4657
|
current: e[i],
|
|
4624
4658
|
next: e[o],
|
|
@@ -4632,13 +4666,13 @@ function Ln({ points: e, roundingRatio: t, closed: n }) {
|
|
|
4632
4666
|
}
|
|
4633
4667
|
return a += " Z", a;
|
|
4634
4668
|
}
|
|
4635
|
-
if (r === 2) return
|
|
4669
|
+
if (r === 2) return Ln({
|
|
4636
4670
|
points: e,
|
|
4637
4671
|
closed: !1
|
|
4638
4672
|
});
|
|
4639
4673
|
let i = `M ${J({ value: e[0].x })} ${J({ value: e[0].y })}`;
|
|
4640
4674
|
for (let n = 1; n < r - 1; n += 1) {
|
|
4641
|
-
let r =
|
|
4675
|
+
let r = Rn({
|
|
4642
4676
|
previous: e[n - 1],
|
|
4643
4677
|
current: e[n],
|
|
4644
4678
|
next: e[n + 1],
|
|
@@ -4649,8 +4683,8 @@ function Ln({ points: e, roundingRatio: t, closed: n }) {
|
|
|
4649
4683
|
let a = e[r - 1];
|
|
4650
4684
|
return i += ` L ${J({ value: a.x })} ${J({ value: a.y })}`, i;
|
|
4651
4685
|
}
|
|
4652
|
-
function
|
|
4653
|
-
return new d(
|
|
4686
|
+
function Bn({ points: e, rounding: t, closed: n }) {
|
|
4687
|
+
return new d(zn({
|
|
4654
4688
|
points: e,
|
|
4655
4689
|
roundingRatio: V({ rounding: t }),
|
|
4656
4690
|
closed: n
|
|
@@ -4661,8 +4695,8 @@ function Rn({ points: e, rounding: t, closed: n }) {
|
|
|
4661
4695
|
top: 0
|
|
4662
4696
|
});
|
|
4663
4697
|
}
|
|
4664
|
-
function
|
|
4665
|
-
return
|
|
4698
|
+
function Vn({ rounding: e }) {
|
|
4699
|
+
return Nn({ rounding: e }) ? Bn({
|
|
4666
4700
|
points: [
|
|
4667
4701
|
{
|
|
4668
4702
|
x: 50,
|
|
@@ -4688,7 +4722,7 @@ function zn({ rounding: e }) {
|
|
|
4688
4722
|
top: 0
|
|
4689
4723
|
});
|
|
4690
4724
|
}
|
|
4691
|
-
function
|
|
4725
|
+
function Hn({ path: e }) {
|
|
4692
4726
|
return new d(e, {
|
|
4693
4727
|
originX: "center",
|
|
4694
4728
|
originY: "center",
|
|
@@ -4696,8 +4730,8 @@ function Bn({ path: e }) {
|
|
|
4696
4730
|
top: 0
|
|
4697
4731
|
});
|
|
4698
4732
|
}
|
|
4699
|
-
function
|
|
4700
|
-
let n =
|
|
4733
|
+
function Un({ path: e, rounding: t }) {
|
|
4734
|
+
let n = Hn({ path: e }).path ?? [], r = C.makePathSimpler(n), i = [], a = !1;
|
|
4701
4735
|
for (let e = 0; e < r.length; e += 1) {
|
|
4702
4736
|
let t = r[e];
|
|
4703
4737
|
if (!t) return null;
|
|
@@ -4717,19 +4751,19 @@ function Vn({ path: e, rounding: t }) {
|
|
|
4717
4751
|
}
|
|
4718
4752
|
return null;
|
|
4719
4753
|
}
|
|
4720
|
-
return i.length < 2 || a && i.length < 3 ? null :
|
|
4754
|
+
return i.length < 2 || a && i.length < 3 ? null : Bn({
|
|
4721
4755
|
points: i,
|
|
4722
4756
|
rounding: t,
|
|
4723
4757
|
closed: a
|
|
4724
4758
|
});
|
|
4725
4759
|
}
|
|
4726
|
-
function
|
|
4727
|
-
return
|
|
4760
|
+
function Wn({ path: e, rounding: t }) {
|
|
4761
|
+
return Nn({ rounding: t }) && Un({
|
|
4728
4762
|
path: e,
|
|
4729
4763
|
rounding: B({ rounding: t })
|
|
4730
|
-
}) ||
|
|
4764
|
+
}) || Hn({ path: e });
|
|
4731
4765
|
}
|
|
4732
|
-
function
|
|
4766
|
+
function Gn({ points: e, type: t, rounding: n }) {
|
|
4733
4767
|
let r = e.length > 0 ? e : [
|
|
4734
4768
|
{
|
|
4735
4769
|
x: 0,
|
|
@@ -4745,12 +4779,12 @@ function Un({ points: e, type: t, rounding: n }) {
|
|
|
4745
4779
|
}
|
|
4746
4780
|
], i = B({ rounding: n });
|
|
4747
4781
|
if (i > 0) {
|
|
4748
|
-
if (t === "polygon" && r.length >= 3) return
|
|
4782
|
+
if (t === "polygon" && r.length >= 3) return Bn({
|
|
4749
4783
|
points: r,
|
|
4750
4784
|
rounding: i,
|
|
4751
4785
|
closed: !0
|
|
4752
4786
|
});
|
|
4753
|
-
if (t === "polyline" && r.length >= 2) return
|
|
4787
|
+
if (t === "polyline" && r.length >= 2) return Bn({
|
|
4754
4788
|
points: r,
|
|
4755
4789
|
rounding: i,
|
|
4756
4790
|
closed: !1
|
|
@@ -4763,7 +4797,7 @@ function Un({ points: e, type: t, rounding: n }) {
|
|
|
4763
4797
|
top: 0
|
|
4764
4798
|
});
|
|
4765
4799
|
}
|
|
4766
|
-
async function
|
|
4800
|
+
async function Kn({ svg: e }) {
|
|
4767
4801
|
let t = await x(e), n = C.groupSVGElements(t.objects, t.options);
|
|
4768
4802
|
return n.set({
|
|
4769
4803
|
originX: "center",
|
|
@@ -4772,7 +4806,7 @@ async function Wn({ svg: e }) {
|
|
|
4772
4806
|
top: 0
|
|
4773
4807
|
}), n.setCoords(), n;
|
|
4774
4808
|
}
|
|
4775
|
-
async function
|
|
4809
|
+
async function qn({ preset: e, rounding: t }) {
|
|
4776
4810
|
switch (e.type) {
|
|
4777
4811
|
case "rect": return new g({
|
|
4778
4812
|
width: 100,
|
|
@@ -4790,22 +4824,22 @@ async function Gn({ preset: e, rounding: t }) {
|
|
|
4790
4824
|
left: 0,
|
|
4791
4825
|
top: 0
|
|
4792
4826
|
});
|
|
4793
|
-
case "triangle": return
|
|
4794
|
-
case "polygon": return
|
|
4827
|
+
case "triangle": return Vn({ rounding: t });
|
|
4828
|
+
case "polygon": return Gn({
|
|
4795
4829
|
points: e.points,
|
|
4796
4830
|
type: "polygon",
|
|
4797
4831
|
rounding: t
|
|
4798
4832
|
});
|
|
4799
|
-
case "polyline": return
|
|
4833
|
+
case "polyline": return Gn({
|
|
4800
4834
|
points: e.points,
|
|
4801
4835
|
type: "polyline",
|
|
4802
4836
|
rounding: t
|
|
4803
4837
|
});
|
|
4804
|
-
case "path": return
|
|
4838
|
+
case "path": return Wn({
|
|
4805
4839
|
path: e.path,
|
|
4806
4840
|
rounding: t
|
|
4807
4841
|
});
|
|
4808
|
-
case "svg": return
|
|
4842
|
+
case "svg": return Kn({ svg: e.svg });
|
|
4809
4843
|
default: return new g({
|
|
4810
4844
|
width: 100,
|
|
4811
4845
|
height: 100,
|
|
@@ -4816,15 +4850,15 @@ async function Gn({ preset: e, rounding: t }) {
|
|
|
4816
4850
|
});
|
|
4817
4851
|
}
|
|
4818
4852
|
}
|
|
4819
|
-
async function
|
|
4820
|
-
let a = await
|
|
4853
|
+
async function Jn({ preset: e, width: t, height: n, style: r, rounding: i }) {
|
|
4854
|
+
let a = await qn({
|
|
4821
4855
|
preset: e,
|
|
4822
4856
|
rounding: i
|
|
4823
4857
|
});
|
|
4824
|
-
return
|
|
4858
|
+
return In({
|
|
4825
4859
|
shape: a,
|
|
4826
4860
|
style: r
|
|
4827
|
-
}),
|
|
4861
|
+
}), Fn({
|
|
4828
4862
|
shape: a,
|
|
4829
4863
|
width: t,
|
|
4830
4864
|
height: n,
|
|
@@ -4841,17 +4875,17 @@ async function Kn({ preset: e, width: t, height: n, style: r, rounding: i }) {
|
|
|
4841
4875
|
}
|
|
4842
4876
|
//#endregion
|
|
4843
4877
|
//#region src/editor/shape-manager/layout/shape-layout-padding.ts
|
|
4844
|
-
var
|
|
4845
|
-
function
|
|
4878
|
+
var Yn = .5, Xn = 12;
|
|
4879
|
+
function Zn({ width: e, padding: t }) {
|
|
4846
4880
|
let n = Math.max(0, t.left), r = Math.max(0, t.right);
|
|
4847
4881
|
return Math.max(1, e - n - r);
|
|
4848
4882
|
}
|
|
4849
|
-
function
|
|
4883
|
+
function Qn({ text: e }) {
|
|
4850
4884
|
return (e.text ?? "").trim().length > 0;
|
|
4851
4885
|
}
|
|
4852
|
-
function
|
|
4886
|
+
function $n({ start: e, end: t, maxTotalPadding: n, startChanged: r, endChanged: i }) {
|
|
4853
4887
|
let a = Math.max(0, e), o = Math.max(0, t), s = Math.max(0, n);
|
|
4854
|
-
if (a + o <= s +
|
|
4888
|
+
if (a + o <= s + Yn) return {
|
|
4855
4889
|
start: a,
|
|
4856
4890
|
end: o
|
|
4857
4891
|
};
|
|
@@ -4880,8 +4914,8 @@ function Zn({ start: e, end: t, maxTotalPadding: n, startChanged: r, endChanged:
|
|
|
4880
4914
|
end: o * l
|
|
4881
4915
|
};
|
|
4882
4916
|
}
|
|
4883
|
-
function
|
|
4884
|
-
let s = Math.max(0, n), c = Math.max(0, r), l = Math.max(0, i - s - c), u =
|
|
4917
|
+
function er({ start: e, end: t, insetStart: n, insetEnd: r, maxTotalPadding: i, startChanged: a, endChanged: o }) {
|
|
4918
|
+
let s = Math.max(0, n), c = Math.max(0, r), l = Math.max(0, i - s - c), u = $n({
|
|
4885
4919
|
start: Math.max(0, e),
|
|
4886
4920
|
end: Math.max(0, t),
|
|
4887
4921
|
maxTotalPadding: l,
|
|
@@ -4895,23 +4929,23 @@ function Qn({ start: e, end: t, insetStart: n, insetEnd: r, maxTotalPadding: i,
|
|
|
4895
4929
|
appliedUserPaddingEnd: f
|
|
4896
4930
|
};
|
|
4897
4931
|
}
|
|
4898
|
-
function
|
|
4932
|
+
function tr({ text: e, minFrameWidth: t, maxFrameWidth: n, frameHeight: r, measureTextboxHeightForFrame: i }) {
|
|
4899
4933
|
let a = Math.max(1, t), o = Math.max(a, n), s = Math.max(1, r);
|
|
4900
|
-
if (!
|
|
4934
|
+
if (!Qn({ text: e }) || i({
|
|
4901
4935
|
text: e,
|
|
4902
4936
|
frameWidth: a
|
|
4903
|
-
}) <= s +
|
|
4937
|
+
}) <= s + Yn) return a;
|
|
4904
4938
|
if (i({
|
|
4905
4939
|
text: e,
|
|
4906
4940
|
frameWidth: o
|
|
4907
|
-
}) > s +
|
|
4941
|
+
}) > s + Yn) return o;
|
|
4908
4942
|
let c = a, l = o;
|
|
4909
|
-
for (let t = 0; t <
|
|
4943
|
+
for (let t = 0; t < Xn; t += 1) {
|
|
4910
4944
|
let t = (c + l) / 2;
|
|
4911
4945
|
if (i({
|
|
4912
4946
|
text: e,
|
|
4913
4947
|
frameWidth: t
|
|
4914
|
-
}) <= s +
|
|
4948
|
+
}) <= s + Yn) {
|
|
4915
4949
|
l = t;
|
|
4916
4950
|
continue;
|
|
4917
4951
|
}
|
|
@@ -4919,16 +4953,16 @@ function $n({ text: e, minFrameWidth: t, maxFrameWidth: n, frameHeight: r, measu
|
|
|
4919
4953
|
}
|
|
4920
4954
|
return l;
|
|
4921
4955
|
}
|
|
4922
|
-
function
|
|
4923
|
-
let l = Math.max(1, t), u = Math.max(1, n), d =
|
|
4924
|
-
a || (m =
|
|
4956
|
+
function nr({ text: e, width: t, height: n, padding: r, internalShapeTextInset: i, expandShapeHeightToFitText: a, changedPadding: o, measureTextboxHeightForFrame: s, resolveMinimumTextFrameWidth: c }) {
|
|
4957
|
+
let l = Math.max(1, t), u = Math.max(1, n), d = Qn({ text: e }) ? c({ text: e }) : 1, f = i.top + i.bottom, p = Math.max(1, u - f), m = d;
|
|
4958
|
+
a || (m = tr({
|
|
4925
4959
|
text: e,
|
|
4926
4960
|
minFrameWidth: d,
|
|
4927
4961
|
maxFrameWidth: l,
|
|
4928
4962
|
frameHeight: p,
|
|
4929
4963
|
measureTextboxHeightForFrame: s
|
|
4930
4964
|
}));
|
|
4931
|
-
let h = m + i.left + i.right, g = Math.max(0, l - m), _ =
|
|
4965
|
+
let h = m + i.left + i.right, g = Math.max(0, l - m), _ = er({
|
|
4932
4966
|
start: r.left,
|
|
4933
4967
|
end: r.right,
|
|
4934
4968
|
insetStart: i.left,
|
|
@@ -4949,8 +4983,8 @@ function er({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
4949
4983
|
requiredWidth: h
|
|
4950
4984
|
};
|
|
4951
4985
|
}
|
|
4952
|
-
function
|
|
4953
|
-
let a = Math.max(0, Math.max(1, n) - Math.max(1, r)), o =
|
|
4986
|
+
function rr({ padding: e, internalShapeTextInset: t, height: n, textHeight: r, changedPadding: i }) {
|
|
4987
|
+
let a = Math.max(0, Math.max(1, n) - Math.max(1, r)), o = er({
|
|
4954
4988
|
start: e.top,
|
|
4955
4989
|
end: e.bottom,
|
|
4956
4990
|
insetStart: t.top,
|
|
@@ -4970,8 +5004,8 @@ function tr({ padding: e, internalShapeTextInset: t, height: n, textHeight: r, c
|
|
|
4970
5004
|
}
|
|
4971
5005
|
};
|
|
4972
5006
|
}
|
|
4973
|
-
function
|
|
4974
|
-
let l = Math.max(1, t), u = Math.max(1, n), d = Se({ padding: r }), f = Se({ padding: i }), p =
|
|
5007
|
+
function ir({ text: e, width: t, height: n, padding: r, internalShapeTextInset: i, expandShapeHeightToFitText: a, changedPadding: o, measureTextboxHeightForFrame: s, resolveMinimumTextFrameWidth: c }) {
|
|
5008
|
+
let l = Math.max(1, t), u = Math.max(1, n), d = Se({ padding: r }), f = Se({ padding: i }), p = nr({
|
|
4975
5009
|
text: e,
|
|
4976
5010
|
width: l,
|
|
4977
5011
|
height: u,
|
|
@@ -4981,7 +5015,7 @@ function nr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
4981
5015
|
changedPadding: o,
|
|
4982
5016
|
measureTextboxHeightForFrame: s,
|
|
4983
5017
|
resolveMinimumTextFrameWidth: c
|
|
4984
|
-
}), m =
|
|
5018
|
+
}), m = Zn({
|
|
4985
5019
|
width: l,
|
|
4986
5020
|
padding: {
|
|
4987
5021
|
top: 0,
|
|
@@ -4989,10 +5023,10 @@ function nr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
4989
5023
|
bottom: 0,
|
|
4990
5024
|
left: p.appliedPadding.left
|
|
4991
5025
|
}
|
|
4992
|
-
}), h =
|
|
5026
|
+
}), h = Qn({ text: e }) ? s({
|
|
4993
5027
|
text: e,
|
|
4994
5028
|
frameWidth: m
|
|
4995
|
-
}) : 1, g = f.top + f.bottom, _ = a ? Math.max(u, h + g) : u, v =
|
|
5029
|
+
}) : 1, g = f.top + f.bottom, _ = a ? Math.max(u, h + g) : u, v = rr({
|
|
4996
5030
|
padding: d,
|
|
4997
5031
|
internalShapeTextInset: f,
|
|
4998
5032
|
height: _,
|
|
@@ -5018,9 +5052,9 @@ function nr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5018
5052
|
}
|
|
5019
5053
|
//#endregion
|
|
5020
5054
|
//#region src/editor/shape-manager/layout/shape-layout.ts
|
|
5021
|
-
var Y = 1,
|
|
5022
|
-
function
|
|
5023
|
-
let { frame: o, splitByGrapheme: s, textTop: c } =
|
|
5055
|
+
var Y = 1, ar = .5, or = 8, sr = 20, cr = 16;
|
|
5056
|
+
function lr({ text: e, alignV: t, width: n, height: r, appliedPadding: i, appliedUserPadding: a }) {
|
|
5057
|
+
let { frame: o, splitByGrapheme: s, textTop: c } = gr({
|
|
5024
5058
|
text: e,
|
|
5025
5059
|
width: n,
|
|
5026
5060
|
height: r,
|
|
@@ -5037,8 +5071,8 @@ function sr({ text: e, alignV: t, width: n, height: r, appliedPadding: i, applie
|
|
|
5037
5071
|
textTop: c
|
|
5038
5072
|
};
|
|
5039
5073
|
}
|
|
5040
|
-
var
|
|
5041
|
-
let { width: f, height: p, appliedPadding: m, appliedUserPadding: h } = s ?
|
|
5074
|
+
var ur = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTextInset: a, resolveInternalShapeTextInset: o, preserveAspectRatio: s, shapeTextAutoExpandEnabled: c, montageAreaWidth: l, expandShapeHeightToFitText: u = !0, changedPadding: d }) => {
|
|
5075
|
+
let { width: f, height: p, appliedPadding: m, appliedUserPadding: h } = s ? pr({
|
|
5042
5076
|
text: e,
|
|
5043
5077
|
width: t,
|
|
5044
5078
|
height: n,
|
|
@@ -5049,7 +5083,7 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5049
5083
|
montageAreaWidth: l,
|
|
5050
5084
|
expandShapeHeightToFitText: u,
|
|
5051
5085
|
changedPadding: d
|
|
5052
|
-
}) :
|
|
5086
|
+
}) : Sr({
|
|
5053
5087
|
text: e,
|
|
5054
5088
|
width: t,
|
|
5055
5089
|
height: n,
|
|
@@ -5059,7 +5093,7 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5059
5093
|
expandShapeHeightToFitText: u,
|
|
5060
5094
|
changedPadding: d
|
|
5061
5095
|
});
|
|
5062
|
-
return
|
|
5096
|
+
return lr({
|
|
5063
5097
|
text: e,
|
|
5064
5098
|
alignV: r,
|
|
5065
5099
|
width: f,
|
|
@@ -5067,13 +5101,13 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5067
5101
|
appliedPadding: m,
|
|
5068
5102
|
appliedUserPadding: h
|
|
5069
5103
|
});
|
|
5070
|
-
},
|
|
5071
|
-
let l = Ce({ padding: i }), u = Se({ padding: a }), d = Math.max(Y, t), f = Math.max(Y, n), p =
|
|
5104
|
+
}, dr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTextInset: a, resolveInternalShapeTextInset: o, expandShapeHeightToFitText: s = !0, changedPadding: c }) => {
|
|
5105
|
+
let l = Ce({ padding: i }), u = Se({ padding: a }), d = Math.max(Y, t), f = Math.max(Y, n), p = ir({
|
|
5072
5106
|
text: e,
|
|
5073
5107
|
width: d,
|
|
5074
5108
|
height: f,
|
|
5075
5109
|
padding: l,
|
|
5076
|
-
internalShapeTextInset:
|
|
5110
|
+
internalShapeTextInset: xr({
|
|
5077
5111
|
width: d,
|
|
5078
5112
|
height: f,
|
|
5079
5113
|
internalShapeTextInset: u,
|
|
@@ -5081,18 +5115,18 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5081
5115
|
}),
|
|
5082
5116
|
expandShapeHeightToFitText: s,
|
|
5083
5117
|
changedPadding: c,
|
|
5084
|
-
measureTextboxHeightForFrame:
|
|
5085
|
-
resolveMinimumTextFrameWidth:
|
|
5118
|
+
measureTextboxHeightForFrame: Or,
|
|
5119
|
+
resolveMinimumTextFrameWidth: kr
|
|
5086
5120
|
});
|
|
5087
|
-
for (let t = 0; t <
|
|
5121
|
+
for (let t = 0; t < or; t += 1) {
|
|
5088
5122
|
let t = Math.max(f, p.requiredHeight);
|
|
5089
|
-
if (t <= f +
|
|
5090
|
-
f = t, p =
|
|
5123
|
+
if (t <= f + ar) break;
|
|
5124
|
+
f = t, p = ir({
|
|
5091
5125
|
text: e,
|
|
5092
5126
|
width: d,
|
|
5093
5127
|
height: f,
|
|
5094
5128
|
padding: l,
|
|
5095
|
-
internalShapeTextInset:
|
|
5129
|
+
internalShapeTextInset: xr({
|
|
5096
5130
|
width: d,
|
|
5097
5131
|
height: f,
|
|
5098
5132
|
internalShapeTextInset: u,
|
|
@@ -5100,11 +5134,11 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5100
5134
|
}),
|
|
5101
5135
|
expandShapeHeightToFitText: s,
|
|
5102
5136
|
changedPadding: c,
|
|
5103
|
-
measureTextboxHeightForFrame:
|
|
5104
|
-
resolveMinimumTextFrameWidth:
|
|
5137
|
+
measureTextboxHeightForFrame: Or,
|
|
5138
|
+
resolveMinimumTextFrameWidth: kr
|
|
5105
5139
|
});
|
|
5106
5140
|
}
|
|
5107
|
-
return
|
|
5141
|
+
return lr({
|
|
5108
5142
|
text: e,
|
|
5109
5143
|
alignV: r,
|
|
5110
5144
|
width: d,
|
|
@@ -5112,8 +5146,8 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5112
5146
|
appliedPadding: p.appliedPadding,
|
|
5113
5147
|
appliedUserPadding: p.appliedUserPadding
|
|
5114
5148
|
});
|
|
5115
|
-
},
|
|
5116
|
-
let h = Math.max(Y, e.shapeManualBaseWidth ?? r), g = Math.max(Y, e.shapeManualBaseHeight ?? i), { width: _, height: v, appliedUserPadding: y, frame: b, splitByGrapheme: x, textTop: S } =
|
|
5149
|
+
}, fr = ({ group: e, shape: t, text: n, width: r, height: i, alignH: a, alignV: o, padding: s, internalShapeTextInset: c, resolveInternalShapeTextInset: l, preserveAspectRatio: u, shapeTextAutoExpandEnabled: d, montageAreaWidth: f, expandShapeHeightToFitText: p = !0, changedPadding: m }) => {
|
|
5150
|
+
let h = Math.max(Y, e.shapeManualBaseWidth ?? r), g = Math.max(Y, e.shapeManualBaseHeight ?? i), { width: _, height: v, appliedUserPadding: y, frame: b, splitByGrapheme: x, textTop: S } = ur({
|
|
5117
5151
|
text: n,
|
|
5118
5152
|
width: r,
|
|
5119
5153
|
height: i,
|
|
@@ -5127,7 +5161,7 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5127
5161
|
expandShapeHeightToFitText: p,
|
|
5128
5162
|
changedPadding: m
|
|
5129
5163
|
});
|
|
5130
|
-
|
|
5164
|
+
Fn({
|
|
5131
5165
|
shape: t,
|
|
5132
5166
|
width: _,
|
|
5133
5167
|
height: v,
|
|
@@ -5156,9 +5190,9 @@ var cr = ({ text: e, width: t, height: n, alignV: r, padding: i, internalShapeTe
|
|
|
5156
5190
|
scaleY: 1
|
|
5157
5191
|
}), e.set("dirty", !0), e.setCoords();
|
|
5158
5192
|
};
|
|
5159
|
-
function
|
|
5193
|
+
function pr({ text: e, width: t, height: n, padding: r, internalShapeTextInset: i, resolveInternalShapeTextInset: a, shapeTextAutoExpandEnabled: o = !0, montageAreaWidth: s, expandShapeHeightToFitText: c = !0, changedPadding: l }) {
|
|
5160
5194
|
let u = Math.max(Y, t), d = Math.max(Y, n), f = Number.isFinite(s) && (s ?? 0) > 0 ? Math.max(Y, s ?? Y) : null;
|
|
5161
|
-
if (!
|
|
5195
|
+
if (!vr({ text: e })) return Sr({
|
|
5162
5196
|
text: e,
|
|
5163
5197
|
width: u,
|
|
5164
5198
|
height: d,
|
|
@@ -5169,7 +5203,7 @@ function dr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5169
5203
|
changedPadding: l
|
|
5170
5204
|
});
|
|
5171
5205
|
let p = d / u, m = ({ width: t }) => {
|
|
5172
|
-
let n = Math.max(Y, t * p), o =
|
|
5206
|
+
let n = Math.max(Y, t * p), o = Sr({
|
|
5173
5207
|
text: e,
|
|
5174
5208
|
width: t,
|
|
5175
5209
|
height: n,
|
|
@@ -5181,13 +5215,13 @@ function dr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5181
5215
|
});
|
|
5182
5216
|
return {
|
|
5183
5217
|
candidateHeight: n,
|
|
5184
|
-
frameWidth:
|
|
5218
|
+
frameWidth: Zn({
|
|
5185
5219
|
width: t,
|
|
5186
5220
|
padding: o.appliedPadding
|
|
5187
5221
|
}),
|
|
5188
5222
|
layoutResolution: o
|
|
5189
5223
|
};
|
|
5190
|
-
}, h = ({ candidateWidth: e, candidateHeight: t, layoutResolution: n }) => !(n.width > e +
|
|
5224
|
+
}, h = ({ candidateWidth: e, candidateHeight: t, layoutResolution: n }) => !(n.width > e + ar || n.height > t + ar);
|
|
5191
5225
|
if (!o) {
|
|
5192
5226
|
let e = ({ width: e }) => {
|
|
5193
5227
|
let { candidateHeight: t, layoutResolution: n } = m({ width: e });
|
|
@@ -5197,11 +5231,11 @@ function dr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5197
5231
|
layoutResolution: n
|
|
5198
5232
|
});
|
|
5199
5233
|
}, t = f ? Math.max(u, f) : u;
|
|
5200
|
-
e({ width: t }) || (t =
|
|
5234
|
+
e({ width: t }) || (t = Cr({
|
|
5201
5235
|
minimumWidth: t,
|
|
5202
5236
|
isWidthValid: e
|
|
5203
5237
|
}));
|
|
5204
|
-
let { layoutResolution: n } = m({ width:
|
|
5238
|
+
let { layoutResolution: n } = m({ width: wr({
|
|
5205
5239
|
minimumWidth: u,
|
|
5206
5240
|
maximumWidth: t,
|
|
5207
5241
|
isWidthValid: e
|
|
@@ -5214,19 +5248,19 @@ function dr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5214
5248
|
candidateWidth: t,
|
|
5215
5249
|
candidateHeight: r,
|
|
5216
5250
|
layoutResolution: a
|
|
5217
|
-
}) || n !== void 0 && i < n -
|
|
5251
|
+
}) || n !== void 0 && i < n - ar ? !1 : !Dr({
|
|
5218
5252
|
text: e,
|
|
5219
5253
|
frameWidth: i
|
|
5220
5254
|
}).hasWrappedLines;
|
|
5221
|
-
}, _ = f ? Math.max(u, f) :
|
|
5255
|
+
}, _ = f ? Math.max(u, f) : Cr({
|
|
5222
5256
|
minimumWidth: u,
|
|
5223
5257
|
isWidthValid: ({ width: e }) => g({ width: e })
|
|
5224
|
-
}), v = m({ width: _ }), y =
|
|
5258
|
+
}), v = m({ width: _ }), y = Dr({
|
|
5225
5259
|
text: e,
|
|
5226
5260
|
frameWidth: v.frameWidth
|
|
5227
5261
|
});
|
|
5228
5262
|
if (y.hasWrappedLines) return v.layoutResolution;
|
|
5229
|
-
let b = Math.max(Y, y.longestLineWidth), { layoutResolution: x } = m({ width:
|
|
5263
|
+
let b = Math.max(Y, y.longestLineWidth), { layoutResolution: x } = m({ width: wr({
|
|
5230
5264
|
minimumWidth: u,
|
|
5231
5265
|
maximumWidth: _,
|
|
5232
5266
|
isWidthValid: ({ width: e }) => g({
|
|
@@ -5236,67 +5270,67 @@ function dr({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5236
5270
|
}) });
|
|
5237
5271
|
return x;
|
|
5238
5272
|
}
|
|
5239
|
-
var
|
|
5273
|
+
var mr = ({ text: e, currentWidth: t, minimumWidth: n, padding: r, montageAreaWidth: i, resolvePaddingForWidth: a }) => {
|
|
5240
5274
|
let o = Math.max(Y, t), s = Math.max(Y, n);
|
|
5241
|
-
if (!
|
|
5242
|
-
let c = Math.max(s, Number.isFinite(i) && i > 0 ? Math.max(Y, i) : Math.max(o, s)), l =
|
|
5275
|
+
if (!vr({ text: e })) return s;
|
|
5276
|
+
let c = Math.max(s, Number.isFinite(i) && i > 0 ? Math.max(Y, i) : Math.max(o, s)), l = Zn({
|
|
5243
5277
|
width: c,
|
|
5244
|
-
padding:
|
|
5278
|
+
padding: yr({
|
|
5245
5279
|
width: c,
|
|
5246
5280
|
padding: r,
|
|
5247
5281
|
resolvePaddingForWidth: a
|
|
5248
5282
|
})
|
|
5249
|
-
}), u = c, d =
|
|
5283
|
+
}), u = c, d = Dr({
|
|
5250
5284
|
text: e,
|
|
5251
5285
|
frameWidth: l
|
|
5252
5286
|
});
|
|
5253
5287
|
if (d.hasWrappedLines) return u;
|
|
5254
5288
|
let f = Math.max(Y, d.longestLineWidth);
|
|
5255
|
-
return
|
|
5289
|
+
return wr({
|
|
5256
5290
|
minimumWidth: s,
|
|
5257
5291
|
maximumWidth: u,
|
|
5258
5292
|
isWidthValid: ({ width: t }) => {
|
|
5259
|
-
let n =
|
|
5293
|
+
let n = Zn({
|
|
5260
5294
|
width: t,
|
|
5261
|
-
padding:
|
|
5295
|
+
padding: yr({
|
|
5262
5296
|
width: t,
|
|
5263
5297
|
padding: r,
|
|
5264
5298
|
resolvePaddingForWidth: a
|
|
5265
5299
|
})
|
|
5266
5300
|
});
|
|
5267
|
-
return n < f -
|
|
5301
|
+
return n < f - ar ? !1 : !Dr({
|
|
5268
5302
|
text: e,
|
|
5269
5303
|
frameWidth: n
|
|
5270
5304
|
}).hasWrappedLines;
|
|
5271
5305
|
}
|
|
5272
5306
|
});
|
|
5273
|
-
},
|
|
5274
|
-
if (!
|
|
5275
|
-
let r =
|
|
5307
|
+
}, hr = ({ text: e, padding: t, resolvePaddingForWidth: n }) => {
|
|
5308
|
+
if (!vr({ text: e })) return Y;
|
|
5309
|
+
let r = kr({ text: e }), i = Math.max(Y, r), a = ({ width: e }) => Zn({
|
|
5276
5310
|
width: e,
|
|
5277
|
-
padding:
|
|
5311
|
+
padding: yr({
|
|
5278
5312
|
width: e,
|
|
5279
5313
|
padding: t,
|
|
5280
5314
|
resolvePaddingForWidth: n
|
|
5281
5315
|
})
|
|
5282
|
-
}) >= r -
|
|
5283
|
-
return
|
|
5316
|
+
}) >= r - ar;
|
|
5317
|
+
return wr({
|
|
5284
5318
|
minimumWidth: i,
|
|
5285
|
-
maximumWidth:
|
|
5319
|
+
maximumWidth: Cr({
|
|
5286
5320
|
minimumWidth: i,
|
|
5287
5321
|
isWidthValid: a
|
|
5288
5322
|
}),
|
|
5289
5323
|
isWidthValid: a
|
|
5290
5324
|
});
|
|
5291
|
-
},
|
|
5292
|
-
let a =
|
|
5325
|
+
}, gr = ({ text: e, width: t, height: n, alignV: r, padding: i }) => {
|
|
5326
|
+
let a = Tr({
|
|
5293
5327
|
width: Math.max(Y, t),
|
|
5294
5328
|
height: Math.max(Y, n),
|
|
5295
5329
|
padding: Se({ padding: i })
|
|
5296
|
-
}), o =
|
|
5330
|
+
}), o = Mr({
|
|
5297
5331
|
text: e,
|
|
5298
5332
|
frameWidth: a.width
|
|
5299
|
-
}), s =
|
|
5333
|
+
}), s = Or({
|
|
5300
5334
|
text: e,
|
|
5301
5335
|
frameWidth: a.width,
|
|
5302
5336
|
splitByGrapheme: o
|
|
@@ -5304,60 +5338,60 @@ var fr = ({ text: e, currentWidth: t, minimumWidth: n, padding: r, montageAreaWi
|
|
|
5304
5338
|
return {
|
|
5305
5339
|
frame: a,
|
|
5306
5340
|
splitByGrapheme: o,
|
|
5307
|
-
textTop:
|
|
5341
|
+
textTop: jr({
|
|
5308
5342
|
alignV: r,
|
|
5309
5343
|
frameHeight: a.height,
|
|
5310
5344
|
frameTop: a.top,
|
|
5311
5345
|
textHeight: s
|
|
5312
5346
|
})
|
|
5313
5347
|
};
|
|
5314
|
-
},
|
|
5348
|
+
}, _r = ({ text: e, width: t, height: n, padding: r, resolvePaddingForSize: i }) => {
|
|
5315
5349
|
let a = Math.max(Y, n);
|
|
5316
|
-
if (!
|
|
5350
|
+
if (!vr({ text: e })) return a;
|
|
5317
5351
|
let o = Math.max(Y, t), s = a;
|
|
5318
|
-
for (let t = 0; t <
|
|
5319
|
-
let t =
|
|
5352
|
+
for (let t = 0; t < or; t += 1) {
|
|
5353
|
+
let t = br({
|
|
5320
5354
|
width: o,
|
|
5321
5355
|
height: s,
|
|
5322
5356
|
padding: r,
|
|
5323
5357
|
resolvePaddingForSize: i
|
|
5324
|
-
}), n =
|
|
5358
|
+
}), n = Or({
|
|
5325
5359
|
text: e,
|
|
5326
|
-
frameWidth:
|
|
5360
|
+
frameWidth: Zn({
|
|
5327
5361
|
width: o,
|
|
5328
5362
|
padding: t
|
|
5329
5363
|
})
|
|
5330
5364
|
}), c = Math.max(a, n + t.top + t.bottom);
|
|
5331
|
-
if (c <= s +
|
|
5365
|
+
if (c <= s + ar) return c;
|
|
5332
5366
|
s = c;
|
|
5333
5367
|
}
|
|
5334
5368
|
return s;
|
|
5335
5369
|
};
|
|
5336
|
-
function
|
|
5370
|
+
function vr({ text: e }) {
|
|
5337
5371
|
return (e.text ?? "").trim().length > 0;
|
|
5338
5372
|
}
|
|
5339
|
-
function
|
|
5373
|
+
function yr({ width: e, padding: t, resolvePaddingForWidth: n }) {
|
|
5340
5374
|
return Se(n ? { padding: n({ width: Math.max(Y, e) }) } : { padding: t });
|
|
5341
5375
|
}
|
|
5342
|
-
function
|
|
5376
|
+
function br({ width: e, height: t, padding: n, resolvePaddingForSize: r }) {
|
|
5343
5377
|
return Se(r ? { padding: r({
|
|
5344
5378
|
width: Math.max(Y, e),
|
|
5345
5379
|
height: Math.max(Y, t)
|
|
5346
5380
|
}) } : { padding: n });
|
|
5347
5381
|
}
|
|
5348
|
-
function
|
|
5382
|
+
function xr({ width: e, height: t, internalShapeTextInset: n, resolveInternalShapeTextInset: r }) {
|
|
5349
5383
|
return Se(r ? { padding: r({
|
|
5350
5384
|
width: Math.max(Y, e),
|
|
5351
5385
|
height: Math.max(Y, t)
|
|
5352
5386
|
}) } : { padding: n });
|
|
5353
5387
|
}
|
|
5354
|
-
function
|
|
5355
|
-
let c = Ce({ padding: r }), l = Se({ padding: i }), u = Math.max(Y, t), d = Math.max(Y, n), f =
|
|
5388
|
+
function Sr({ text: e, width: t, height: n, padding: r, internalShapeTextInset: i, resolveInternalShapeTextInset: a, expandShapeHeightToFitText: o = !0, changedPadding: s }) {
|
|
5389
|
+
let c = Ce({ padding: r }), l = Se({ padding: i }), u = Math.max(Y, t), d = Math.max(Y, n), f = ir({
|
|
5356
5390
|
text: e,
|
|
5357
5391
|
width: u,
|
|
5358
5392
|
height: d,
|
|
5359
5393
|
padding: c,
|
|
5360
|
-
internalShapeTextInset:
|
|
5394
|
+
internalShapeTextInset: xr({
|
|
5361
5395
|
width: u,
|
|
5362
5396
|
height: d,
|
|
5363
5397
|
internalShapeTextInset: l,
|
|
@@ -5365,18 +5399,18 @@ function br({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5365
5399
|
}),
|
|
5366
5400
|
expandShapeHeightToFitText: o,
|
|
5367
5401
|
changedPadding: s,
|
|
5368
|
-
measureTextboxHeightForFrame:
|
|
5369
|
-
resolveMinimumTextFrameWidth:
|
|
5402
|
+
measureTextboxHeightForFrame: Or,
|
|
5403
|
+
resolveMinimumTextFrameWidth: kr
|
|
5370
5404
|
});
|
|
5371
|
-
for (let t = 0; t <
|
|
5405
|
+
for (let t = 0; t < or; t += 1) {
|
|
5372
5406
|
let t = Math.max(u, f.requiredWidth), n = Math.max(d, f.requiredHeight);
|
|
5373
|
-
if (t <= u +
|
|
5374
|
-
u = t, d = n, f =
|
|
5407
|
+
if (t <= u + ar && n <= d + ar) break;
|
|
5408
|
+
u = t, d = n, f = ir({
|
|
5375
5409
|
text: e,
|
|
5376
5410
|
width: u,
|
|
5377
5411
|
height: d,
|
|
5378
5412
|
padding: c,
|
|
5379
|
-
internalShapeTextInset:
|
|
5413
|
+
internalShapeTextInset: xr({
|
|
5380
5414
|
width: u,
|
|
5381
5415
|
height: d,
|
|
5382
5416
|
internalShapeTextInset: l,
|
|
@@ -5384,8 +5418,8 @@ function br({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5384
5418
|
}),
|
|
5385
5419
|
expandShapeHeightToFitText: o,
|
|
5386
5420
|
changedPadding: s,
|
|
5387
|
-
measureTextboxHeightForFrame:
|
|
5388
|
-
resolveMinimumTextFrameWidth:
|
|
5421
|
+
measureTextboxHeightForFrame: Or,
|
|
5422
|
+
resolveMinimumTextFrameWidth: kr
|
|
5389
5423
|
});
|
|
5390
5424
|
}
|
|
5391
5425
|
return {
|
|
@@ -5395,17 +5429,17 @@ function br({ text: e, width: t, height: n, padding: r, internalShapeTextInset:
|
|
|
5395
5429
|
appliedUserPadding: f.appliedUserPadding
|
|
5396
5430
|
};
|
|
5397
5431
|
}
|
|
5398
|
-
function
|
|
5432
|
+
function Cr({ minimumWidth: e, isWidthValid: t }) {
|
|
5399
5433
|
let n = Math.max(Y, e);
|
|
5400
5434
|
if (t({ width: n })) return n;
|
|
5401
|
-
for (let e = 0; e <
|
|
5435
|
+
for (let e = 0; e < cr; e += 1) if (n = Math.max(n + 1, n * 2), t({ width: n })) return n;
|
|
5402
5436
|
return n;
|
|
5403
5437
|
}
|
|
5404
|
-
function
|
|
5438
|
+
function wr({ minimumWidth: e, maximumWidth: t, isWidthValid: n }) {
|
|
5405
5439
|
let r = Math.max(Y, e), i = Math.max(r, t);
|
|
5406
5440
|
if (n({ width: r })) return r;
|
|
5407
5441
|
if (!n({ width: i })) return i;
|
|
5408
|
-
for (let e = 0; e <
|
|
5442
|
+
for (let e = 0; e < sr && !(i - r <= ar); e += 1) {
|
|
5409
5443
|
let e = r + (i - r) / 2;
|
|
5410
5444
|
if (n({ width: e })) {
|
|
5411
5445
|
i = e;
|
|
@@ -5415,7 +5449,7 @@ function Sr({ minimumWidth: e, maximumWidth: t, isWidthValid: n }) {
|
|
|
5415
5449
|
}
|
|
5416
5450
|
return i;
|
|
5417
5451
|
}
|
|
5418
|
-
function
|
|
5452
|
+
function Tr({ width: e, height: t, padding: n }) {
|
|
5419
5453
|
let r = Math.max(0, n.left), i = Math.max(0, n.right), a = Math.max(0, n.top), o = Math.max(0, n.bottom);
|
|
5420
5454
|
return {
|
|
5421
5455
|
left: -e / 2 + r,
|
|
@@ -5424,7 +5458,7 @@ function Cr({ width: e, height: t, padding: n }) {
|
|
|
5424
5458
|
height: Math.max(Y, t - a - o)
|
|
5425
5459
|
};
|
|
5426
5460
|
}
|
|
5427
|
-
function
|
|
5461
|
+
function Er({ text: e }) {
|
|
5428
5462
|
let { height: t } = e;
|
|
5429
5463
|
if (typeof t == "number" && Number.isFinite(t)) return t;
|
|
5430
5464
|
if (typeof e.calcTextHeight == "function") {
|
|
@@ -5433,18 +5467,18 @@ function wr({ text: e }) {
|
|
|
5433
5467
|
}
|
|
5434
5468
|
return Y;
|
|
5435
5469
|
}
|
|
5436
|
-
function
|
|
5437
|
-
let n =
|
|
5470
|
+
function Dr({ text: e, frameWidth: t }) {
|
|
5471
|
+
let n = Pr({ text: e }), r = Mr({
|
|
5438
5472
|
text: e,
|
|
5439
5473
|
frameWidth: t
|
|
5440
|
-
}), i =
|
|
5474
|
+
}), i = Lr({ text: e });
|
|
5441
5475
|
e.set({
|
|
5442
5476
|
autoExpand: !1,
|
|
5443
5477
|
width: Math.max(Y, t),
|
|
5444
5478
|
splitByGrapheme: r
|
|
5445
5479
|
}), e.initDimensions();
|
|
5446
|
-
let a =
|
|
5447
|
-
return
|
|
5480
|
+
let a = Fr({ text: e }) > n, o = Math.ceil(Nr({ text: e }));
|
|
5481
|
+
return Rr({
|
|
5448
5482
|
text: e,
|
|
5449
5483
|
state: i
|
|
5450
5484
|
}), {
|
|
@@ -5452,8 +5486,8 @@ function Tr({ text: e, frameWidth: t }) {
|
|
|
5452
5486
|
longestLineWidth: o
|
|
5453
5487
|
};
|
|
5454
5488
|
}
|
|
5455
|
-
function
|
|
5456
|
-
let r =
|
|
5489
|
+
function Or({ text: e, frameWidth: t, splitByGrapheme: n }) {
|
|
5490
|
+
let r = Lr({ text: e }), i = n ?? Mr({
|
|
5457
5491
|
text: e,
|
|
5458
5492
|
frameWidth: t
|
|
5459
5493
|
});
|
|
@@ -5462,71 +5496,71 @@ function Er({ text: e, frameWidth: t, splitByGrapheme: n }) {
|
|
|
5462
5496
|
width: Math.max(Y, t),
|
|
5463
5497
|
splitByGrapheme: i
|
|
5464
5498
|
}), e.initDimensions();
|
|
5465
|
-
let a =
|
|
5466
|
-
return
|
|
5499
|
+
let a = Er({ text: e });
|
|
5500
|
+
return Rr({
|
|
5467
5501
|
text: e,
|
|
5468
5502
|
state: r
|
|
5469
5503
|
}), a;
|
|
5470
5504
|
}
|
|
5471
|
-
function
|
|
5472
|
-
let t =
|
|
5505
|
+
function kr({ text: e }) {
|
|
5506
|
+
let t = Ar({
|
|
5473
5507
|
text: e,
|
|
5474
5508
|
frameWidth: Y,
|
|
5475
5509
|
splitByGrapheme: !0
|
|
5476
5510
|
});
|
|
5477
5511
|
return Math.max(Y, t);
|
|
5478
5512
|
}
|
|
5479
|
-
function
|
|
5480
|
-
let r =
|
|
5513
|
+
function Ar({ text: e, frameWidth: t, splitByGrapheme: n }) {
|
|
5514
|
+
let r = Lr({ text: e });
|
|
5481
5515
|
e.set({
|
|
5482
5516
|
autoExpand: !1,
|
|
5483
5517
|
width: Math.max(Y, t),
|
|
5484
5518
|
splitByGrapheme: n
|
|
5485
5519
|
}), e.initDimensions();
|
|
5486
|
-
let i =
|
|
5487
|
-
return
|
|
5520
|
+
let i = Nr({ text: e });
|
|
5521
|
+
return Rr({
|
|
5488
5522
|
text: e,
|
|
5489
5523
|
state: r
|
|
5490
5524
|
}), i;
|
|
5491
5525
|
}
|
|
5492
|
-
function
|
|
5526
|
+
function jr({ alignV: e, frameHeight: t, frameTop: n, textHeight: r }) {
|
|
5493
5527
|
let i = Math.max(0, t - r);
|
|
5494
5528
|
return e === "top" ? n : e === "bottom" ? n + i : n + i / 2;
|
|
5495
5529
|
}
|
|
5496
|
-
function
|
|
5497
|
-
let n = Math.max(Y, t), r =
|
|
5530
|
+
function Mr({ text: e, frameWidth: t }) {
|
|
5531
|
+
let n = Math.max(Y, t), r = Lr({ text: e });
|
|
5498
5532
|
e.set({
|
|
5499
5533
|
autoExpand: !1,
|
|
5500
5534
|
width: n,
|
|
5501
5535
|
splitByGrapheme: !1
|
|
5502
5536
|
}), e.initDimensions();
|
|
5503
|
-
let i =
|
|
5504
|
-
return
|
|
5537
|
+
let i = zr({ text: e }) > n + ar;
|
|
5538
|
+
return Rr({
|
|
5505
5539
|
text: e,
|
|
5506
5540
|
state: r
|
|
5507
5541
|
}), i;
|
|
5508
5542
|
}
|
|
5509
|
-
function
|
|
5510
|
-
let t =
|
|
5511
|
-
if (t > 0) return
|
|
5543
|
+
function Nr({ text: e }) {
|
|
5544
|
+
let t = Fr({ text: e });
|
|
5545
|
+
if (t > 0) return Ir({
|
|
5512
5546
|
text: e,
|
|
5513
5547
|
lineCount: t
|
|
5514
5548
|
});
|
|
5515
5549
|
let n = e.text ?? "";
|
|
5516
|
-
return
|
|
5550
|
+
return Ir({
|
|
5517
5551
|
text: e,
|
|
5518
5552
|
lineCount: Math.max(n.split("\n").length, 1)
|
|
5519
5553
|
});
|
|
5520
5554
|
}
|
|
5521
|
-
function
|
|
5555
|
+
function Pr({ text: e }) {
|
|
5522
5556
|
let t = e.text ?? "";
|
|
5523
5557
|
return Math.max(t.split("\n").length, 1);
|
|
5524
5558
|
}
|
|
5525
|
-
function
|
|
5559
|
+
function Fr({ text: e }) {
|
|
5526
5560
|
let t = e;
|
|
5527
5561
|
return Array.isArray(t.textLines) ? t.textLines.length : 0;
|
|
5528
5562
|
}
|
|
5529
|
-
function
|
|
5563
|
+
function Ir({ text: e, lineCount: t }) {
|
|
5530
5564
|
let n = Y;
|
|
5531
5565
|
for (let r = 0; r < t; r += 1) {
|
|
5532
5566
|
let t = e.getLineWidth(r);
|
|
@@ -5534,7 +5568,7 @@ function Pr({ text: e, lineCount: t }) {
|
|
|
5534
5568
|
}
|
|
5535
5569
|
return n;
|
|
5536
5570
|
}
|
|
5537
|
-
function
|
|
5571
|
+
function Lr({ text: e }) {
|
|
5538
5572
|
let { autoExpand: t, splitByGrapheme: n, width: r } = e;
|
|
5539
5573
|
return {
|
|
5540
5574
|
autoExpand: t,
|
|
@@ -5542,22 +5576,22 @@ function Fr({ text: e }) {
|
|
|
5542
5576
|
width: typeof r == "number" ? r : void 0
|
|
5543
5577
|
};
|
|
5544
5578
|
}
|
|
5545
|
-
function
|
|
5579
|
+
function Rr({ text: e, state: t }) {
|
|
5546
5580
|
let { autoExpand: n, splitByGrapheme: r, width: i } = t, a = {};
|
|
5547
5581
|
n !== void 0 && (a.autoExpand = n), r !== void 0 && (a.splitByGrapheme = r), typeof i == "number" && (a.width = i), Object.keys(a).length > 0 && (e.set(a), e.initDimensions());
|
|
5548
5582
|
}
|
|
5549
|
-
function
|
|
5583
|
+
function zr({ text: e }) {
|
|
5550
5584
|
let { dynamicMinWidth: t } = e;
|
|
5551
5585
|
return typeof t == "number" && Number.isFinite(t) ? t : 0;
|
|
5552
5586
|
}
|
|
5553
5587
|
//#endregion
|
|
5554
5588
|
//#region src/editor/shape-manager/scaling/shape-scaling-transform.ts
|
|
5555
|
-
var
|
|
5589
|
+
var Br = ({ transform: e, key: t }) => {
|
|
5556
5590
|
let n = e?.original;
|
|
5557
5591
|
if (!n || typeof n != "object") return null;
|
|
5558
5592
|
let r = n[t];
|
|
5559
5593
|
return typeof r != "number" || !Number.isFinite(r) ? null : r;
|
|
5560
|
-
},
|
|
5594
|
+
}, Vr = ({ value: e }) => e === "left" || e === "center" || e === "right" || typeof e == "number" && Number.isFinite(e) ? e : null, Hr = ({ value: e }) => e === "top" || e === "center" || e === "bottom" || typeof e == "number" && Number.isFinite(e) ? e : null, Ur = ({ transform: e }) => {
|
|
5561
5595
|
let t = e?.action ?? "", n = typeof e?.corner == "string" ? e.corner : "", r = n === "tl" || n === "tr" || n === "bl" || n === "br", i = t === "scaleX" || n === "ml" || n === "mr", a = t === "scaleY" || n === "mt" || n === "mb", o = i || r, s = a || r;
|
|
5562
5596
|
return {
|
|
5563
5597
|
canScaleWidth: o,
|
|
@@ -5565,37 +5599,37 @@ var Rr = ({ transform: e, key: t }) => {
|
|
|
5565
5599
|
isCornerScaleAction: r,
|
|
5566
5600
|
isVerticalOnlyScale: s && !o
|
|
5567
5601
|
};
|
|
5568
|
-
},
|
|
5602
|
+
}, Wr = ({ event: e, group: t, transform: n, canvas: r }) => {
|
|
5569
5603
|
if (!e) return null;
|
|
5570
5604
|
let i = t.canvas ?? r, a = i.getScenePoint(e), o = t.getRelativeCenterPoint(), s = t.translateToGivenOrigin(o, "center", "center", n.originX, n.originY), c = t.angle ?? 0, l = (c === 0 ? a : a.rotate(-c * Math.PI / 180, o)).subtract(s), u = t.controls[n.corner], d = i.getZoom() || 1, f = (t.padding ?? 0) / d;
|
|
5571
5605
|
return l.x >= f && (l.x -= f), l.x <= -f && (l.x += f), l.y >= f && (l.y -= f), l.y <= -f && (l.y += f), l.x -= u?.offsetX ?? 0, l.y -= u?.offsetY ?? 0, l;
|
|
5572
|
-
},
|
|
5606
|
+
}, Gr = ({ group: e, originX: t, originY: n }) => {
|
|
5573
5607
|
if (t === null || n === null) return null;
|
|
5574
5608
|
let r = e, i = typeof r.getRelativeCenterPoint == "function" ? r.getRelativeCenterPoint() : e.getCenterPoint();
|
|
5575
5609
|
return typeof r.translateToOriginPoint == "function" ? r.translateToOriginPoint(i, t, n) : i;
|
|
5576
|
-
},
|
|
5610
|
+
}, Kr = ({ state: e, transform: t }) => {
|
|
5577
5611
|
if (!t || e.startTransformOriginX === null && e.startTransformOriginY === null) return !1;
|
|
5578
|
-
let n =
|
|
5612
|
+
let n = Vr({ value: t.originX }), r = Hr({ value: t.originY });
|
|
5579
5613
|
return n !== e.startTransformOriginX || r !== e.startTransformOriginY;
|
|
5580
|
-
},
|
|
5614
|
+
}, qr = ({ state: e, transform: t }) => !t || !e.startTransformCorner ? !1 : t.corner !== e.startTransformCorner;
|
|
5581
5615
|
//#endregion
|
|
5582
5616
|
//#region src/editor/shape-manager/scaling/shape-scaling-preview.ts
|
|
5583
|
-
function
|
|
5617
|
+
function Jr({ size: e, scale: t, strokeWidth: n, minSize: r, scaleEpsilon: i }) {
|
|
5584
5618
|
let a = Math.max(i, Math.abs(t) || 1), o = Math.max(0, n);
|
|
5585
5619
|
return o <= 0 ? Math.max(r, e / a) : Math.max(r, e / a + o - o / a);
|
|
5586
5620
|
}
|
|
5587
|
-
function
|
|
5621
|
+
function Yr({ group: e, shape: t, width: n, height: r, scaleX: i, scaleY: a, minSize: o, scaleEpsilon: s }) {
|
|
5588
5622
|
let c = Math.max(0, e.shapeStrokeWidth ?? 0);
|
|
5589
|
-
|
|
5623
|
+
Fn({
|
|
5590
5624
|
shape: t,
|
|
5591
|
-
width:
|
|
5625
|
+
width: Jr({
|
|
5592
5626
|
size: n,
|
|
5593
5627
|
scale: i,
|
|
5594
5628
|
strokeWidth: c,
|
|
5595
5629
|
minSize: o,
|
|
5596
5630
|
scaleEpsilon: s
|
|
5597
5631
|
}),
|
|
5598
|
-
height:
|
|
5632
|
+
height: Jr({
|
|
5599
5633
|
size: r,
|
|
5600
5634
|
scale: a,
|
|
5601
5635
|
strokeWidth: c,
|
|
@@ -5606,7 +5640,7 @@ function qr({ group: e, shape: t, width: n, height: r, scaleX: i, scaleY: a, min
|
|
|
5606
5640
|
strokeWidth: c
|
|
5607
5641
|
});
|
|
5608
5642
|
}
|
|
5609
|
-
function
|
|
5643
|
+
function Xr({ text: e, layout: t, alignH: n, scaleX: r, scaleY: i, scaleEpsilon: a }) {
|
|
5610
5644
|
let o = Math.max(a, Math.abs(r) || 1), s = Math.max(a, Math.abs(i) || 1), c = n ?? "center";
|
|
5611
5645
|
e.set({
|
|
5612
5646
|
autoExpand: !1,
|
|
@@ -5621,13 +5655,13 @@ function Jr({ text: e, layout: t, alignH: n, scaleX: r, scaleY: i, scaleEpsilon:
|
|
|
5621
5655
|
scaleY: 1 / s
|
|
5622
5656
|
}), e.initDimensions(), e.setCoords();
|
|
5623
5657
|
}
|
|
5624
|
-
var
|
|
5658
|
+
var Zr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY: o, minSize: s, scaleEpsilon: c }) => {
|
|
5625
5659
|
let l = Math.max(c, Math.abs(a) || 1), u = Math.max(c, Math.abs(o) || 1);
|
|
5626
5660
|
e.set({
|
|
5627
5661
|
width: r.width / l,
|
|
5628
5662
|
height: r.height / u,
|
|
5629
5663
|
dirty: !0
|
|
5630
|
-
}),
|
|
5664
|
+
}), Yr({
|
|
5631
5665
|
group: e,
|
|
5632
5666
|
shape: t,
|
|
5633
5667
|
width: r.width,
|
|
@@ -5636,7 +5670,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5636
5670
|
scaleY: o,
|
|
5637
5671
|
minSize: s,
|
|
5638
5672
|
scaleEpsilon: c
|
|
5639
|
-
}),
|
|
5673
|
+
}), Xr({
|
|
5640
5674
|
text: n,
|
|
5641
5675
|
layout: r,
|
|
5642
5676
|
alignH: i,
|
|
@@ -5644,7 +5678,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5644
5678
|
scaleY: o,
|
|
5645
5679
|
scaleEpsilon: c
|
|
5646
5680
|
});
|
|
5647
|
-
}, X = 1, Z = 1e-4,
|
|
5681
|
+
}, X = 1, Z = 1e-4, Qr = .5, $r = class e {
|
|
5648
5682
|
constructor({ canvas: t }) {
|
|
5649
5683
|
this.handleObjectScaling = (t) => {
|
|
5650
5684
|
let { target: n, transform: r } = t;
|
|
@@ -5660,7 +5694,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5660
5694
|
text: o,
|
|
5661
5695
|
constraintPadding: s,
|
|
5662
5696
|
transform: r
|
|
5663
|
-
}), { isCornerScaleAction: l } =
|
|
5697
|
+
}), { isCornerScaleAction: l } = Ur({ transform: r }), u = !!(t.e && "shiftKey" in t.e && t.e.shiftKey);
|
|
5664
5698
|
c.isProportionalScaling = l && u;
|
|
5665
5699
|
let d = i.left ?? 0, f = i.top ?? 0, p = !!i.flipX, m = !!i.flipY, h = i.shapeAlignHorizontal ?? "center", g = this._resolveScalingDecision({
|
|
5666
5700
|
group: i,
|
|
@@ -5682,7 +5716,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5682
5716
|
shouldHandleAsNoop: g.shouldHandleAsNoop,
|
|
5683
5717
|
scaleX: g.appliedScaleX,
|
|
5684
5718
|
scaleY: g.appliedScaleY
|
|
5685
|
-
}),
|
|
5719
|
+
}), Zr({
|
|
5686
5720
|
group: i,
|
|
5687
5721
|
shape: a,
|
|
5688
5722
|
text: o,
|
|
@@ -5710,7 +5744,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5710
5744
|
if (!n) return;
|
|
5711
5745
|
let { target: r } = n;
|
|
5712
5746
|
if (!K(r)) return;
|
|
5713
|
-
let { canScaleHeight: i, canScaleWidth: a } =
|
|
5747
|
+
let { canScaleHeight: i, canScaleWidth: a } = Ur({ transform: n });
|
|
5714
5748
|
if (!a && !i) return;
|
|
5715
5749
|
let o = r, s = this.scalingState.get(o);
|
|
5716
5750
|
if (!s || s.isProportionalScaling) return;
|
|
@@ -5725,7 +5759,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5725
5759
|
group: o,
|
|
5726
5760
|
axis: "x"
|
|
5727
5761
|
})) {
|
|
5728
|
-
let t =
|
|
5762
|
+
let t = hr({
|
|
5729
5763
|
text: l,
|
|
5730
5764
|
padding: u,
|
|
5731
5765
|
resolvePaddingForWidth: ({ width: t }) => e._resolveScalingConstraintPadding({
|
|
@@ -5773,7 +5807,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5773
5807
|
shouldHandleAsNoop: !1,
|
|
5774
5808
|
scaleX: h,
|
|
5775
5809
|
scaleY: g
|
|
5776
|
-
}),
|
|
5810
|
+
}), Zr({
|
|
5777
5811
|
group: o,
|
|
5778
5812
|
shape: c,
|
|
5779
5813
|
text: l,
|
|
@@ -5817,7 +5851,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5817
5851
|
this.scalingState.delete(r);
|
|
5818
5852
|
return;
|
|
5819
5853
|
}
|
|
5820
|
-
let p = r.shapeAlignHorizontal ?? "center", m = r.shapeAlignVertical ?? "middle", h = e._resolveScalingConstraintPadding({ group: r }), g = t.transform ?
|
|
5854
|
+
let p = r.shapeAlignHorizontal ?? "center", m = r.shapeAlignVertical ?? "middle", h = e._resolveScalingConstraintPadding({ group: r }), g = t.transform ? Ur({ transform: t.transform }) : null, _ = i?.canScaleWidth ?? g?.canScaleWidth ?? Math.abs(a - 1) > Z, v = i?.canScaleHeight ?? g?.canScaleHeight ?? Math.abs(o - 1) > Z, y = i?.lastAllowedScaleX ?? a, b = i?.lastAllowedScaleY ?? o, x = hr({
|
|
5821
5855
|
text: f,
|
|
5822
5856
|
padding: h,
|
|
5823
5857
|
resolvePaddingForWidth: ({ width: t }) => e._resolveScalingConstraintPadding({
|
|
@@ -5846,7 +5880,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5846
5880
|
state: i
|
|
5847
5881
|
}) && (b = Math.max(X / c, e / c));
|
|
5848
5882
|
}
|
|
5849
|
-
let S = _ ? Math.max(X, s * y) : s, C = v ? Math.max(X, c * b) : u, w = Math.abs(S - s) >
|
|
5883
|
+
let S = _ ? Math.max(X, s * y) : s, C = v ? Math.max(X, c * b) : u, w = Math.abs(S - s) > Qr, T = Math.abs(C - c) > Qr, E = w || T, D = S, O = C;
|
|
5850
5884
|
if (!E && i) {
|
|
5851
5885
|
this._restoreShapeStateWithoutResize({
|
|
5852
5886
|
group: r,
|
|
@@ -5879,7 +5913,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5879
5913
|
width: D,
|
|
5880
5914
|
height: O
|
|
5881
5915
|
});
|
|
5882
|
-
|
|
5916
|
+
fr({
|
|
5883
5917
|
group: r,
|
|
5884
5918
|
shape: d,
|
|
5885
5919
|
text: f,
|
|
@@ -5908,10 +5942,10 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5908
5942
|
}, this.canvas = t, this.scalingState = /* @__PURE__ */ new WeakMap();
|
|
5909
5943
|
}
|
|
5910
5944
|
_resolveScalingDecision({ group: e, text: t, constraintPadding: n, state: r, transform: i }) {
|
|
5911
|
-
let a = e.scaleX ?? 1, o = e.scaleY ?? 1, s = Math.abs(a) || 1, c = Math.abs(o) || 1, l = a < 0 || o < 0, u =
|
|
5945
|
+
let a = e.scaleX ?? 1, o = e.scaleY ?? 1, s = Math.abs(a) || 1, c = Math.abs(o) || 1, l = a < 0 || o < 0, u = Kr({
|
|
5912
5946
|
state: r,
|
|
5913
5947
|
transform: i
|
|
5914
|
-
}), d =
|
|
5948
|
+
}), d = qr({
|
|
5915
5949
|
state: r,
|
|
5916
5950
|
transform: i
|
|
5917
5951
|
});
|
|
@@ -5945,7 +5979,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5945
5979
|
};
|
|
5946
5980
|
}
|
|
5947
5981
|
_resolveScalingConstraintState({ group: t, text: n, constraintPadding: r, state: i, transform: a, scaleX: o, scaleY: s }) {
|
|
5948
|
-
let { startHeight: c, startWidth: l, cannotScaleDownAtStart: u, crossedOppositeCorner: d, isProportionalScaling: f, lastAllowedScaleX: p, lastAllowedScaleY: m, startScaleY: h } = i, g = Math.max(X, l * o), _ = Math.max(X, c * s), v = o < p - Z, y = s < m - Z, b = s < h - Z, { canScaleHeight: x, canScaleWidth: S, isVerticalOnlyScale: C } =
|
|
5982
|
+
let { startHeight: c, startWidth: l, cannotScaleDownAtStart: u, crossedOppositeCorner: d, isProportionalScaling: f, lastAllowedScaleX: p, lastAllowedScaleY: m, startScaleY: h } = i, g = Math.max(X, l * o), _ = Math.max(X, c * s), v = o < p - Z, y = s < m - Z, b = s < h - Z, { canScaleHeight: x, canScaleWidth: S, isVerticalOnlyScale: C } = Ur({ transform: a }), w = S && v ? hr({
|
|
5949
5983
|
text: n,
|
|
5950
5984
|
padding: r,
|
|
5951
5985
|
resolvePaddingForWidth: ({ width: n }) => e._resolveScalingConstraintPadding({
|
|
@@ -5970,7 +6004,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5970
6004
|
};
|
|
5971
6005
|
}
|
|
5972
6006
|
_resolvePreviewDimensions({ group: t, text: n, constraintPadding: r, state: i, appliedScaleX: a, appliedScaleY: o, minimumHeight: s }) {
|
|
5973
|
-
let c = i.canScaleWidth ? Math.max(X, i.startWidth * a) : i.startWidth, l = i.canScaleHeight ? Math.max(X, i.startHeight * o) : i.startManualBaseHeight, u = s ??
|
|
6007
|
+
let c = i.canScaleWidth ? Math.max(X, i.startWidth * a) : i.startWidth, l = i.canScaleHeight ? Math.max(X, i.startHeight * o) : i.startManualBaseHeight, u = s ?? _r({
|
|
5974
6008
|
text: n,
|
|
5975
6009
|
width: c,
|
|
5976
6010
|
height: l,
|
|
@@ -5988,7 +6022,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
5988
6022
|
}
|
|
5989
6023
|
_resolvePreviewLayout({ group: t, text: n, state: r, appliedScaleX: i, appliedScaleY: a, minimumHeight: o }) {
|
|
5990
6024
|
let s = r.canScaleWidth ? Math.max(X, r.startWidth * i) : r.startWidth, c = r.canScaleHeight ? Math.max(X, r.startHeight * a) : r.startManualBaseHeight;
|
|
5991
|
-
return
|
|
6025
|
+
return dr({
|
|
5992
6026
|
text: n,
|
|
5993
6027
|
width: s,
|
|
5994
6028
|
height: o == null ? c : Math.max(c, o),
|
|
@@ -6023,7 +6057,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6023
6057
|
if (!r) return !1;
|
|
6024
6058
|
let { transform: i } = e;
|
|
6025
6059
|
if (!i) return !1;
|
|
6026
|
-
let { canScaleWidth: a } =
|
|
6060
|
+
let { canScaleWidth: a } = Ur({ transform: i });
|
|
6027
6061
|
if (!a || !this._hasPointerReachedScaleOrigin({
|
|
6028
6062
|
event: e,
|
|
6029
6063
|
group: t,
|
|
@@ -6036,7 +6070,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6036
6070
|
if (!r) return !1;
|
|
6037
6071
|
let { transform: i } = e;
|
|
6038
6072
|
if (!i) return !1;
|
|
6039
|
-
let { canScaleHeight: a } =
|
|
6073
|
+
let { canScaleHeight: a } = Ur({ transform: i });
|
|
6040
6074
|
if (!a || !this._hasPointerReachedScaleOrigin({
|
|
6041
6075
|
event: e,
|
|
6042
6076
|
group: t,
|
|
@@ -6050,7 +6084,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6050
6084
|
if (!r) return !1;
|
|
6051
6085
|
let i = r, a = n === "x" ? i.signX : i.signY;
|
|
6052
6086
|
if (typeof a != "number" || !Number.isFinite(a)) return !1;
|
|
6053
|
-
let o =
|
|
6087
|
+
let o = Wr({
|
|
6054
6088
|
event: e.e,
|
|
6055
6089
|
group: t,
|
|
6056
6090
|
transform: r,
|
|
@@ -6067,19 +6101,19 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6067
6101
|
let a = this._resolveScalingStartDimensions({
|
|
6068
6102
|
group: e,
|
|
6069
6103
|
transform: r
|
|
6070
|
-
}), o =
|
|
6104
|
+
}), o = Br({
|
|
6071
6105
|
transform: r,
|
|
6072
6106
|
key: "scaleX"
|
|
6073
|
-
}), s =
|
|
6107
|
+
}), s = Br({
|
|
6074
6108
|
transform: r,
|
|
6075
6109
|
key: "scaleY"
|
|
6076
|
-
}), c =
|
|
6110
|
+
}), c = Br({
|
|
6077
6111
|
transform: r,
|
|
6078
6112
|
key: "left"
|
|
6079
|
-
}), l =
|
|
6113
|
+
}), l = Br({
|
|
6080
6114
|
transform: r,
|
|
6081
6115
|
key: "top"
|
|
6082
|
-
}), u = Math.abs(o ?? e.scaleX ?? 1) || 1, d = Math.abs(s ?? e.scaleY ?? 1) || 1, f = c ?? e.left ?? 0, p = l ?? e.top ?? 0, m =
|
|
6116
|
+
}), u = Math.abs(o ?? e.scaleX ?? 1) || 1, d = Math.abs(s ?? e.scaleY ?? 1) || 1, f = c ?? e.left ?? 0, p = l ?? e.top ?? 0, m = Vr({ value: r?.original?.originX ?? r?.originX }), h = Hr({ value: r?.original?.originY ?? r?.originY }), g = typeof r?.corner == "string" ? r.corner : null, _ = Gr({
|
|
6083
6117
|
group: e,
|
|
6084
6118
|
originX: m,
|
|
6085
6119
|
originY: h
|
|
@@ -6122,7 +6156,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6122
6156
|
return i;
|
|
6123
6157
|
}
|
|
6124
6158
|
_resolveMinimumTextFitHeight({ group: t, text: n, width: r, padding: i }) {
|
|
6125
|
-
return
|
|
6159
|
+
return _r({
|
|
6126
6160
|
text: n,
|
|
6127
6161
|
width: r,
|
|
6128
6162
|
height: X,
|
|
@@ -6176,7 +6210,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6176
6210
|
width: u,
|
|
6177
6211
|
height: d
|
|
6178
6212
|
});
|
|
6179
|
-
|
|
6213
|
+
fr({
|
|
6180
6214
|
group: t,
|
|
6181
6215
|
shape: n,
|
|
6182
6216
|
text: r,
|
|
@@ -6205,7 +6239,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6205
6239
|
}
|
|
6206
6240
|
_restoreGroupTransformOnly({ group: e, shape: t, text: n, state: r }) {
|
|
6207
6241
|
let i = Math.max(X, e.shapeBaseWidth ?? e.width ?? r.startWidth), a = Math.max(X, e.shapeBaseHeight ?? e.height ?? r.startHeight);
|
|
6208
|
-
t && (
|
|
6242
|
+
t && (Fn({
|
|
6209
6243
|
shape: t,
|
|
6210
6244
|
width: i,
|
|
6211
6245
|
height: a,
|
|
@@ -6229,7 +6263,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6229
6263
|
});
|
|
6230
6264
|
}
|
|
6231
6265
|
_resolveScalingStartDimensions({ group: e, transform: t }) {
|
|
6232
|
-
let { canScaleWidth: n, canScaleHeight: r } =
|
|
6266
|
+
let { canScaleWidth: n, canScaleHeight: r } = Ur({ transform: t }), i = Math.max(X, e.shapeBaseWidth ?? e.width ?? e.shapeManualBaseWidth ?? X), a = Math.max(X, e.shapeBaseHeight ?? e.height ?? e.shapeManualBaseHeight ?? X);
|
|
6233
6267
|
return {
|
|
6234
6268
|
startWidth: i,
|
|
6235
6269
|
startHeight: a,
|
|
@@ -6248,7 +6282,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6248
6282
|
height: s
|
|
6249
6283
|
};
|
|
6250
6284
|
}
|
|
6251
|
-
},
|
|
6285
|
+
}, ei = class {
|
|
6252
6286
|
constructor({ canvas: e }) {
|
|
6253
6287
|
this.handleMouseDown = (e) => {
|
|
6254
6288
|
let { target: t, e: n, subTargets: r = [] } = e, i = We({
|
|
@@ -6372,7 +6406,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6372
6406
|
let t = this.canvas;
|
|
6373
6407
|
t.findTarget = e.findTarget, this.editingTargetResolverState = void 0;
|
|
6374
6408
|
}
|
|
6375
|
-
},
|
|
6409
|
+
}, ti = class e {
|
|
6376
6410
|
constructor({ canvas: e }) {
|
|
6377
6411
|
this.canvas = e, this.textEditingSnapshots = /* @__PURE__ */ new WeakMap(), this.pendingTextUpdates = /* @__PURE__ */ new WeakMap(), this.resizeStartSnapshots = /* @__PURE__ */ new Map(), this.pendingResizeUpdates = /* @__PURE__ */ new WeakMap();
|
|
6378
6412
|
}
|
|
@@ -6568,7 +6602,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6568
6602
|
}
|
|
6569
6603
|
}), I;
|
|
6570
6604
|
}
|
|
6571
|
-
},
|
|
6605
|
+
}, ni = "#B4B7BD", ri = 0, ii = 1, ai = class {
|
|
6572
6606
|
constructor({ editor: e }) {
|
|
6573
6607
|
this._handleObjectScaling = (e) => {
|
|
6574
6608
|
let t = e.target && K(e.target) ? e.target : null;
|
|
@@ -6633,7 +6667,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6633
6667
|
if (!(t instanceof _)) return;
|
|
6634
6668
|
let n = t;
|
|
6635
6669
|
this.lifecycleController.finishTextUpdate({ textNode: n });
|
|
6636
|
-
}, this.editor = e, Ue(), this.scalingController = new
|
|
6670
|
+
}, this.editor = e, Ue(), this.scalingController = new $r({ canvas: e.canvas }), this.editingController = new ei({ canvas: e.canvas }), this.editingPlacements = /* @__PURE__ */ new WeakMap(), this.lifecycleController = new ti({ canvas: e.canvas }), this.internalTextUpdates = /* @__PURE__ */ new WeakSet(), this._bindEvents();
|
|
6637
6671
|
}
|
|
6638
6672
|
async add({ presetKey: e = ce, options: t = {} } = {}) {
|
|
6639
6673
|
let n = pe({ presetKey: e });
|
|
@@ -6731,7 +6765,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6731
6765
|
addition: k
|
|
6732
6766
|
})
|
|
6733
6767
|
}));
|
|
6734
|
-
let I = await
|
|
6768
|
+
let I = await Jn({
|
|
6735
6769
|
preset: m,
|
|
6736
6770
|
width: F,
|
|
6737
6771
|
height: x,
|
|
@@ -6861,7 +6895,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6861
6895
|
let be = U({
|
|
6862
6896
|
width: _e,
|
|
6863
6897
|
height: ye
|
|
6864
|
-
}), xe = await
|
|
6898
|
+
}), xe = await Jn({
|
|
6865
6899
|
preset: A,
|
|
6866
6900
|
width: _e,
|
|
6867
6901
|
height: ye,
|
|
@@ -6961,7 +6995,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6961
6995
|
});
|
|
6962
6996
|
this._beginMutation();
|
|
6963
6997
|
try {
|
|
6964
|
-
|
|
6998
|
+
In({
|
|
6965
6999
|
shape: i,
|
|
6966
7000
|
style: { fill: t }
|
|
6967
7001
|
}), r.shapeFill = t, r.setCoords(), this.lifecycleController.fireBefore({ lifecycle: a }), this.editor.canvas.requestRenderAll();
|
|
@@ -6983,7 +7017,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
6983
7017
|
});
|
|
6984
7018
|
this._beginMutation();
|
|
6985
7019
|
try {
|
|
6986
|
-
if (
|
|
7020
|
+
if (In({
|
|
6987
7021
|
shape: o,
|
|
6988
7022
|
style: {
|
|
6989
7023
|
stroke: t,
|
|
@@ -7019,7 +7053,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7019
7053
|
});
|
|
7020
7054
|
this._beginMutation();
|
|
7021
7055
|
try {
|
|
7022
|
-
|
|
7056
|
+
In({
|
|
7023
7057
|
shape: a,
|
|
7024
7058
|
style: { opacity: t }
|
|
7025
7059
|
}), n && o && (o.set({ opacity: t }), o.setCoords()), i.shapeOpacity = t, i.setCoords(), this.lifecycleController.fireBefore({ lifecycle: s }), this.editor.canvas.requestRenderAll();
|
|
@@ -7128,9 +7162,9 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7128
7162
|
width: Math.max(1, (f ?? C) * b),
|
|
7129
7163
|
height: Math.max(1, (p ?? w) * x)
|
|
7130
7164
|
};
|
|
7131
|
-
return Math.abs(S - 1) > 1e-4 && (
|
|
7165
|
+
return Math.abs(S - 1) > 1e-4 && (kn({
|
|
7132
7166
|
textbox: i,
|
|
7133
|
-
base:
|
|
7167
|
+
base: Dn({ textbox: i }),
|
|
7134
7168
|
scale: S
|
|
7135
7169
|
}), n.shapePaddingTop = Math.max(0, m * S), n.shapePaddingRight = Math.max(0, h * S), n.shapePaddingBottom = Math.max(0, g * S), n.shapePaddingLeft = Math.max(0, _ * S)), this._detachShapeGroupAutoLayout({ group: n }), n.shapeManualBaseWidth = E.width, n.shapeManualBaseHeight = E.height, this._applyCurrentLayout({
|
|
7136
7170
|
group: n,
|
|
@@ -7176,7 +7210,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7176
7210
|
padding: h,
|
|
7177
7211
|
style: y,
|
|
7178
7212
|
rounding: b
|
|
7179
|
-
}), x.rehydrateRuntimeState(), qe({ group: x }), Ae({ text: i }),
|
|
7213
|
+
}), x.rehydrateRuntimeState(), qe({ group: x }), Ae({ text: i }), fr({
|
|
7180
7214
|
group: x,
|
|
7181
7215
|
shape: r,
|
|
7182
7216
|
text: i,
|
|
@@ -7351,7 +7385,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7351
7385
|
}
|
|
7352
7386
|
_resolveAutoExpandShapeWidth({ text: e, currentWidth: t, minimumWidth: n, padding: r, resolvePaddingForWidth: i }) {
|
|
7353
7387
|
let a = this._resolveMontageAreaWidth();
|
|
7354
|
-
return a ?
|
|
7388
|
+
return a ? mr({
|
|
7355
7389
|
text: e,
|
|
7356
7390
|
currentWidth: t,
|
|
7357
7391
|
minimumWidth: n,
|
|
@@ -7407,7 +7441,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7407
7441
|
width: y,
|
|
7408
7442
|
height: b
|
|
7409
7443
|
}), S = r ?? this.editor.canvasManager.getObjectPlacement({ object: e }), C = u ? this._resolveMontageAreaWidth() : void 0;
|
|
7410
|
-
|
|
7444
|
+
fr({
|
|
7411
7445
|
group: e,
|
|
7412
7446
|
shape: t,
|
|
7413
7447
|
text: n,
|
|
@@ -7470,11 +7504,11 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7470
7504
|
_resolveShapeStyle({ options: e, fallback: t }) {
|
|
7471
7505
|
let { fill: n, stroke: r, strokeWidth: i, strokeDashArray: a, opacity: o } = e, s = a === void 0 ? t?.shapeStrokeDashArray : a;
|
|
7472
7506
|
return {
|
|
7473
|
-
fill: n ?? t?.shapeFill ??
|
|
7507
|
+
fill: n ?? t?.shapeFill ?? ni,
|
|
7474
7508
|
stroke: r ?? t?.shapeStroke ?? null,
|
|
7475
|
-
strokeWidth: i ?? t?.shapeStrokeWidth ??
|
|
7509
|
+
strokeWidth: i ?? t?.shapeStrokeWidth ?? ri,
|
|
7476
7510
|
strokeDashArray: s ?? null,
|
|
7477
|
-
opacity: o ?? t?.shapeOpacity ??
|
|
7511
|
+
opacity: o ?? t?.shapeOpacity ?? ii
|
|
7478
7512
|
};
|
|
7479
7513
|
}
|
|
7480
7514
|
_collectShapeGroupsFromTarget({ target: t, subTargets: n = [] }) {
|
|
@@ -7530,7 +7564,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7530
7564
|
}
|
|
7531
7565
|
return null;
|
|
7532
7566
|
}
|
|
7533
|
-
},
|
|
7567
|
+
}, oi = class {
|
|
7534
7568
|
constructor({ editor: e }) {
|
|
7535
7569
|
this.editor = e, this.clipboard = null;
|
|
7536
7570
|
}
|
|
@@ -7780,7 +7814,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7780
7814
|
}), !1;
|
|
7781
7815
|
}
|
|
7782
7816
|
}
|
|
7783
|
-
},
|
|
7817
|
+
}, si = class t {
|
|
7784
7818
|
constructor({ editor: e }) {
|
|
7785
7819
|
this.editor = e;
|
|
7786
7820
|
}
|
|
@@ -7845,7 +7879,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7845
7879
|
!(n instanceof _) || !n.isEditing || n.exitEditing();
|
|
7846
7880
|
}
|
|
7847
7881
|
}
|
|
7848
|
-
},
|
|
7882
|
+
}, ci = class {
|
|
7849
7883
|
constructor({ editor: e }) {
|
|
7850
7884
|
this.editor = e;
|
|
7851
7885
|
}
|
|
@@ -7911,7 +7945,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
7911
7945
|
i.resumeHistory(), n || i.saveState();
|
|
7912
7946
|
}
|
|
7913
7947
|
}
|
|
7914
|
-
},
|
|
7948
|
+
}, li = class t {
|
|
7915
7949
|
constructor({ editor: e }) {
|
|
7916
7950
|
this.lastSelection = [], this.isCtrlSelectionBoxActive = !1, this.isSelectionMergeInProgress = !1, this.editor = e, this.selectionKey = this._resolveSelectionKey(), this.handleTextEditingEnteredBound = this._handleTextEditingEntered.bind(this), this.handleTextEditingExitedBound = this._handleTextEditingExited.bind(this), this.handleLockedSelectionBound = this._filterLockedSelection.bind(this), this.handleSelectionMergeBound = this._handleSelectionMerge.bind(this), this.handleSelectionChangeBound = this._handleSelectionChange.bind(this), this.handleSelectionClearedBound = this._handleSelectionCleared.bind(this), this.handleSelectionBoxStartBound = this._handleSelectionBoxStart.bind(this), this.handleSelectionBoxEndBound = this._handleSelectionBoxEnd.bind(this), this._applySelectionKey({ selectionKey: this.selectionKey }), this._bindEvents();
|
|
7917
7951
|
}
|
|
@@ -8105,7 +8139,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8105
8139
|
let { options: e } = this.editor, { selectionKey: t } = e;
|
|
8106
8140
|
return t === void 0 ? ["ctrlKey", "metaKey"] : t;
|
|
8107
8141
|
}
|
|
8108
|
-
},
|
|
8142
|
+
}, ui = class e {
|
|
8109
8143
|
constructor({ editor: e }) {
|
|
8110
8144
|
this.editor = e;
|
|
8111
8145
|
}
|
|
@@ -8145,7 +8179,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8145
8179
|
};
|
|
8146
8180
|
return i.fire("editor:objects-deleted", l), l;
|
|
8147
8181
|
}
|
|
8148
|
-
},
|
|
8182
|
+
}, di = {
|
|
8149
8183
|
IMAGE_MANAGER: {
|
|
8150
8184
|
INVALID_CONTENT_TYPE: "INVALID_CONTENT_TYPE",
|
|
8151
8185
|
INVALID_SOURCE_TYPE: "INVALID_SOURCE_TYPE",
|
|
@@ -8183,7 +8217,7 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8183
8217
|
INVALID_TARGET: "TEMPLATE_INVALID_TARGET",
|
|
8184
8218
|
APPLY_FAILED: "TEMPLATE_APPLY_FAILED"
|
|
8185
8219
|
}
|
|
8186
|
-
},
|
|
8220
|
+
}, fi = class e {
|
|
8187
8221
|
constructor({ editor: e }) {
|
|
8188
8222
|
this._buffer = [], this.editor = e;
|
|
8189
8223
|
}
|
|
@@ -8241,9 +8275,9 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8241
8275
|
}), this.editor.canvas.fire("editor:warning", s);
|
|
8242
8276
|
}
|
|
8243
8277
|
static isValidErrorCode(e) {
|
|
8244
|
-
return e ? Object.values(
|
|
8278
|
+
return e ? Object.values(di).some((t) => Object.values(t).includes(e)) : !1;
|
|
8245
8279
|
}
|
|
8246
|
-
},
|
|
8280
|
+
}, pi = class {
|
|
8247
8281
|
constructor({ editor: e }) {
|
|
8248
8282
|
this.currentBounds = null, this.editor = e;
|
|
8249
8283
|
}
|
|
@@ -8292,32 +8326,32 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8292
8326
|
updateBounds() {
|
|
8293
8327
|
this.currentBounds = this.calculatePanBounds();
|
|
8294
8328
|
}
|
|
8295
|
-
},
|
|
8329
|
+
}, mi = ({ textbox: e }) => {
|
|
8296
8330
|
if (!e.isEditing) return null;
|
|
8297
8331
|
let t = e.selectionStart ?? 0, n = e.selectionEnd ?? t;
|
|
8298
8332
|
return t === n ? null : {
|
|
8299
8333
|
start: Math.min(t, n),
|
|
8300
8334
|
end: Math.max(t, n)
|
|
8301
8335
|
};
|
|
8302
|
-
},
|
|
8336
|
+
}, hi = ({ textbox: e }) => {
|
|
8303
8337
|
let t = e.text?.length ?? 0;
|
|
8304
8338
|
return t <= 0 ? null : {
|
|
8305
8339
|
start: 0,
|
|
8306
8340
|
end: t
|
|
8307
8341
|
};
|
|
8308
|
-
},
|
|
8342
|
+
}, gi = ({ textbox: e, range: t }) => {
|
|
8309
8343
|
if (!t) return !1;
|
|
8310
8344
|
let n = e.text?.length ?? 0;
|
|
8311
8345
|
return n <= 0 ? !1 : t.start <= 0 && t.end >= n;
|
|
8312
|
-
},
|
|
8346
|
+
}, _i = ({ textbox: e, styles: t, range: n }) => {
|
|
8313
8347
|
if (!t || !Object.keys(t).length) return !1;
|
|
8314
8348
|
let { start: r, end: i } = n;
|
|
8315
8349
|
return i <= r ? !1 : (e.setSelectionStyles(t, r, i), !0);
|
|
8316
|
-
},
|
|
8350
|
+
}, vi = ({ textbox: e, range: t, property: n }) => {
|
|
8317
8351
|
if (!t) return;
|
|
8318
8352
|
let r = e.getSelectionStyles(t.start, t.end, !0);
|
|
8319
8353
|
if (r.length) return r[0]?.[n];
|
|
8320
|
-
},
|
|
8354
|
+
}, yi = ({ strokeColor: e, width: t }) => t <= 0 ? null : e ?? "#000000", bi = ({ width: e = 0 }) => e ? Math.max(0, e) : 0, xi = ({ value: e }) => typeof e == "string" ? e.toLocaleUpperCase() : "", Si = ({ value: e, min: t, max: n }) => Math.min(Math.max(e, t), n), Ci = class e extends _ {
|
|
8321
8355
|
static {
|
|
8322
8356
|
this.type = "background-textbox";
|
|
8323
8357
|
}
|
|
@@ -8354,7 +8388,11 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8354
8388
|
];
|
|
8355
8389
|
}
|
|
8356
8390
|
constructor(e, t = {}) {
|
|
8357
|
-
super(e, t), this.backgroundOpacity = t.backgroundOpacity ?? 1, this.lineFontDefaults = t.lineFontDefaults ?? void 0, this.paddingTop = t.paddingTop ?? 0, this.paddingRight = t.paddingRight ?? 0, this.paddingBottom = t.paddingBottom ?? 0, this.paddingLeft = t.paddingLeft ?? 0, this.radiusTopLeft = t.radiusTopLeft ?? 0, this.radiusTopRight = t.radiusTopRight ?? 0, this.radiusBottomRight = t.radiusBottomRight ?? 0, this.radiusBottomLeft = t.radiusBottomLeft ?? 0, this
|
|
8391
|
+
if (super(e, t), this.backgroundOpacity = t.backgroundOpacity ?? 1, this.lineFontDefaults = t.lineFontDefaults ?? void 0, this.paddingTop = t.paddingTop ?? 0, this.paddingRight = t.paddingRight ?? 0, this.paddingBottom = t.paddingBottom ?? 0, this.paddingLeft = t.paddingLeft ?? 0, this.radiusTopLeft = t.radiusTopLeft ?? 0, this.radiusTopRight = t.radiusTopRight ?? 0, this.radiusBottomRight = t.radiusBottomRight ?? 0, this.radiusBottomLeft = t.radiusBottomLeft ?? 0, _n({ textbox: this })) {
|
|
8392
|
+
this.initDimensions(), this.dirty = !0;
|
|
8393
|
+
return;
|
|
8394
|
+
}
|
|
8395
|
+
this._roundDimensions();
|
|
8358
8396
|
}
|
|
8359
8397
|
initDimensions() {
|
|
8360
8398
|
super.initDimensions(), this.shouldRoundDimensionsOnInit !== !1 && this._roundDimensions();
|
|
@@ -8389,10 +8427,12 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8389
8427
|
});
|
|
8390
8428
|
}
|
|
8391
8429
|
toObject(e = []) {
|
|
8430
|
+
let t = super.toObject(e), { lineFontDefaults: n, styles: r } = hn({ textbox: this });
|
|
8392
8431
|
return {
|
|
8393
|
-
...
|
|
8432
|
+
...t,
|
|
8394
8433
|
backgroundOpacity: this.backgroundOpacity,
|
|
8395
|
-
lineFontDefaults:
|
|
8434
|
+
lineFontDefaults: n,
|
|
8435
|
+
styles: C.stylesToArray(r, this.text ?? ""),
|
|
8396
8436
|
paddingTop: this.paddingTop,
|
|
8397
8437
|
paddingRight: this.paddingRight,
|
|
8398
8438
|
paddingBottom: this.paddingBottom,
|
|
@@ -8405,53 +8445,57 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8405
8445
|
}
|
|
8406
8446
|
_renderBackground(t) {
|
|
8407
8447
|
let n = this._getEffectiveBackgroundFill();
|
|
8408
|
-
if (n
|
|
8409
|
-
|
|
8410
|
-
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
}
|
|
8448
|
+
if (!n) return;
|
|
8449
|
+
let r = this._getPadding(), i = this.width ?? 0, a = this.height ?? 0, o = i + r.left + r.right, s = a + r.top + r.bottom, c = this._getCornerRadii({
|
|
8450
|
+
width: o,
|
|
8451
|
+
height: s
|
|
8452
|
+
}), l = this._getLeftOffset() - r.left, u = this._getTopOffset() - r.top;
|
|
8453
|
+
t.save(), e._renderRoundedRect({
|
|
8454
|
+
ctx: t,
|
|
8455
|
+
height: s,
|
|
8456
|
+
left: l,
|
|
8457
|
+
radii: c,
|
|
8458
|
+
top: u,
|
|
8459
|
+
width: o
|
|
8460
|
+
}), t.fillStyle = n, t.fill(), t.restore();
|
|
8422
8461
|
}
|
|
8423
8462
|
_renderTextDecoration(e, t) {
|
|
8424
|
-
|
|
8425
|
-
let
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8463
|
+
let { direction: n, fontSize: r, lineHeight: i, offsets: a, width: o, _fontSizeFraction: s, _textLines: c } = this, l = !1;
|
|
8464
|
+
for (let e = 0; e < c.length; e += 1) if (this.styleHas(t, e)) {
|
|
8465
|
+
l = !0;
|
|
8466
|
+
break;
|
|
8467
|
+
}
|
|
8468
|
+
if (!this[t] && !l) return;
|
|
8469
|
+
let u = this._getTopOffset(), d = this._getLeftOffset(), { path: f } = this, p = this._getWidthOfCharSpacing(), m = a[t], h = 0;
|
|
8470
|
+
t === "linethrough" ? h = .5 : t === "overline" && (h = 1);
|
|
8471
|
+
for (let a = 0, l = c.length; a < l; a += 1) {
|
|
8472
|
+
let l = this.getHeightOfLine(a);
|
|
8429
8473
|
if (!this[t] && !this.styleHas(t, a)) {
|
|
8430
|
-
|
|
8474
|
+
u += l;
|
|
8431
8475
|
continue;
|
|
8432
8476
|
}
|
|
8433
|
-
let g = c[a], _ =
|
|
8477
|
+
let g = c[a], _ = l / i, v = this._getLineLeftOffset(a), y = 0, b = 0, x = this.getValueOfPropertyAt(a, 0, t), S = this._getDecorationColorAt(a, 0), C = this.getValueOfPropertyAt(a, 0, "textDecorationThickness"), w = x, T = S, E = C, D = u + _ * (1 - s), O = this.getHeightOfChar(a, 0), k = this.getValueOfPropertyAt(a, 0, "deltaY");
|
|
8434
8478
|
for (let i = 0, s = g.length; i < s; i += 1) {
|
|
8435
8479
|
let s = this.__charBounds[a][i];
|
|
8436
8480
|
w = this.getValueOfPropertyAt(a, i, t), T = this._getDecorationColorAt(a, i), E = this.getValueOfPropertyAt(a, i, "textDecorationThickness");
|
|
8437
8481
|
let c = this.getHeightOfChar(a, i), l = this.getValueOfPropertyAt(a, i, "deltaY");
|
|
8438
|
-
if (
|
|
8482
|
+
if (f && w && T) {
|
|
8439
8483
|
let t = r * E / 1e3;
|
|
8440
|
-
e.save(), e.fillStyle = S, e.translate(s.renderLeft, s.renderTop), e.rotate(s.angle), e.fillRect(-s.kernedWidth / 2,
|
|
8484
|
+
e.save(), e.fillStyle = S, e.translate(s.renderLeft, s.renderTop), e.rotate(s.angle), e.fillRect(-s.kernedWidth / 2, m * c + l - h * t, s.kernedWidth, t), e.restore();
|
|
8441
8485
|
} else if ((w !== x || T !== S || c !== O || E !== C || l !== k) && b > 0) {
|
|
8442
|
-
let t = r * C / 1e3, i =
|
|
8443
|
-
n === "rtl" && (i = o - i - b), x && S && C && (e.fillStyle = S, e.fillRect(i, D +
|
|
8486
|
+
let t = r * C / 1e3, i = d + v + y;
|
|
8487
|
+
n === "rtl" && (i = o - i - b), x && S && C && (e.fillStyle = S, e.fillRect(i, D + m * O + k - h * t, b, t)), y = s.left, b = s.width, x = w, C = E, S = T, O = c, k = l;
|
|
8444
8488
|
} else b += s.kernedWidth;
|
|
8445
8489
|
}
|
|
8446
|
-
let A =
|
|
8490
|
+
let A = d + v + y;
|
|
8447
8491
|
n === "rtl" && (A = o - A - b), e.fillStyle = T;
|
|
8448
8492
|
let j = r * E / 1e3;
|
|
8449
|
-
w && T && E && e.fillRect(A, D +
|
|
8493
|
+
w && T && E && e.fillRect(A, D + m * O + k - h * j, b - p, j), u += l;
|
|
8450
8494
|
}
|
|
8451
8495
|
this._removeShadow(e);
|
|
8452
8496
|
}
|
|
8453
8497
|
_getDecorationColorAt(e, t) {
|
|
8454
|
-
let n = this.getValueOfPropertyAt(e, t, "strokeWidth"), r =
|
|
8498
|
+
let n = this.getValueOfPropertyAt(e, t, "strokeWidth"), r = bi({ width: typeof n == "number" && Number.isFinite(n) ? n : 0 }), i = this.getValueOfPropertyAt(e, t, "stroke"), a = i == null ? null : yi({
|
|
8455
8499
|
strokeColor: i,
|
|
8456
8500
|
width: r
|
|
8457
8501
|
});
|
|
@@ -8467,22 +8511,22 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8467
8511
|
_getCornerRadii({ width: e, height: t }) {
|
|
8468
8512
|
let n = e / 2, r = t / 2, i = Math.min(n, r);
|
|
8469
8513
|
return {
|
|
8470
|
-
bottomLeft:
|
|
8514
|
+
bottomLeft: Si({
|
|
8471
8515
|
value: this.radiusBottomLeft ?? 0,
|
|
8472
8516
|
min: 0,
|
|
8473
8517
|
max: i
|
|
8474
8518
|
}),
|
|
8475
|
-
bottomRight:
|
|
8519
|
+
bottomRight: Si({
|
|
8476
8520
|
value: this.radiusBottomRight ?? 0,
|
|
8477
8521
|
min: 0,
|
|
8478
8522
|
max: i
|
|
8479
8523
|
}),
|
|
8480
|
-
topLeft:
|
|
8524
|
+
topLeft: Si({
|
|
8481
8525
|
value: this.radiusTopLeft ?? 0,
|
|
8482
8526
|
min: 0,
|
|
8483
8527
|
max: i
|
|
8484
8528
|
}),
|
|
8485
|
-
topRight:
|
|
8529
|
+
topRight: Si({
|
|
8486
8530
|
value: this.radiusTopRight ?? 0,
|
|
8487
8531
|
min: 0,
|
|
8488
8532
|
max: i
|
|
@@ -8500,41 +8544,32 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8500
8544
|
_getEffectiveBackgroundFill() {
|
|
8501
8545
|
let e = this.backgroundColor;
|
|
8502
8546
|
if (!e) return null;
|
|
8503
|
-
let t =
|
|
8547
|
+
let t = Si({
|
|
8504
8548
|
value: this.backgroundOpacity ?? 1,
|
|
8505
8549
|
min: 0,
|
|
8506
8550
|
max: 1
|
|
8507
8551
|
}), r;
|
|
8508
8552
|
try {
|
|
8509
8553
|
r = new n(e);
|
|
8510
|
-
} catch
|
|
8511
|
-
return
|
|
8512
|
-
origin: "BackgroundTextbox",
|
|
8513
|
-
method: "_getEffectiveBackgroundFill",
|
|
8514
|
-
code: "INVALID_COLOR_VALUE",
|
|
8515
|
-
message: `Некорректное значение цвета фона: ${e}`,
|
|
8516
|
-
data: {
|
|
8517
|
-
color: e,
|
|
8518
|
-
error: t
|
|
8519
|
-
}
|
|
8520
|
-
}), null;
|
|
8554
|
+
} catch {
|
|
8555
|
+
return null;
|
|
8521
8556
|
}
|
|
8522
8557
|
return r.setAlpha(t), r.toRgba();
|
|
8523
8558
|
}
|
|
8524
8559
|
static _renderRoundedRect({ ctx: e, height: t, left: n, radii: r, top: i, width: a }) {
|
|
8525
|
-
let o = n + a, s = i + t, { topLeft: c, topRight: l, bottomRight: u, bottomLeft: d } = r, f =
|
|
8560
|
+
let o = n + a, s = i + t, { topLeft: c, topRight: l, bottomRight: u, bottomLeft: d } = r, f = Si({
|
|
8526
8561
|
value: c,
|
|
8527
8562
|
min: 0,
|
|
8528
8563
|
max: a
|
|
8529
|
-
}), p =
|
|
8564
|
+
}), p = Si({
|
|
8530
8565
|
value: l,
|
|
8531
8566
|
min: 0,
|
|
8532
8567
|
max: a
|
|
8533
|
-
}), m =
|
|
8568
|
+
}), m = Si({
|
|
8534
8569
|
value: u,
|
|
8535
8570
|
min: 0,
|
|
8536
8571
|
max: a
|
|
8537
|
-
}), h =
|
|
8572
|
+
}), h = Si({
|
|
8538
8573
|
value: d,
|
|
8539
8574
|
min: 0,
|
|
8540
8575
|
max: a
|
|
@@ -8545,20 +8580,20 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8545
8580
|
let { width: e = 0, height: t = 0 } = this, n = Math.round(e), r = Math.round(t);
|
|
8546
8581
|
n !== e && (this.width = Math.max(0, n)), r !== t && (this.height = Math.max(0, r));
|
|
8547
8582
|
}
|
|
8548
|
-
},
|
|
8549
|
-
y?.setClass && y.setClass(
|
|
8550
|
-
},
|
|
8583
|
+
}, wi = () => {
|
|
8584
|
+
y?.setClass && y.setClass(Ci, "background-textbox");
|
|
8585
|
+
}, Ti = ({ transform: e }) => {
|
|
8551
8586
|
let { corner: t = "", action: n = "" } = e;
|
|
8552
8587
|
return {
|
|
8553
8588
|
isCornerHandle: t === "tl" || t === "tr" || t === "bl" || t === "br" || n === "scale",
|
|
8554
8589
|
isHorizontalHandle: t === "ml" || t === "mr" || n === "scaleX",
|
|
8555
8590
|
isVerticalHandle: t === "mt" || t === "mb" || n === "scaleY"
|
|
8556
8591
|
};
|
|
8557
|
-
},
|
|
8592
|
+
}, Ei = ({ textbox: e, transform: t, appliedWidth: n }) => {
|
|
8558
8593
|
t.scaleX = 1, t.scaleY = 1;
|
|
8559
|
-
let
|
|
8594
|
+
let r = t.original;
|
|
8560
8595
|
r && (r.scaleX = 1, r.scaleY = 1, r.width = n, r.height = e.height, r.left = e.left, r.top = e.top);
|
|
8561
|
-
},
|
|
8596
|
+
}, Di = ({ textbox: e, transform: t, scenePoint: n }) => {
|
|
8562
8597
|
let { x: r, y: i } = e._getTransformedDimensions();
|
|
8563
8598
|
if (r <= 0 || i <= 0) return null;
|
|
8564
8599
|
let a = b.getLocalPoint(t, t.originX, t.originY, n.x, n.y), o = t, s = typeof o.signX == "number" && a.x * o.signX <= 0, c = typeof o.signY == "number" && a.y * o.signY <= 0, l = Math.abs(a.x / r), u = Math.abs(a.y / i);
|
|
@@ -8568,27 +8603,27 @@ var Yr = ({ group: e, shape: t, text: n, layout: r, alignH: i, scaleX: a, scaleY
|
|
|
8568
8603
|
stepScaleX: l,
|
|
8569
8604
|
stepScaleY: u
|
|
8570
8605
|
};
|
|
8571
|
-
},
|
|
8572
|
-
function
|
|
8606
|
+
}, Oi = 1e-4;
|
|
8607
|
+
function ki(e) {
|
|
8573
8608
|
return !!e && e instanceof _;
|
|
8574
8609
|
}
|
|
8575
|
-
function
|
|
8576
|
-
if (!
|
|
8610
|
+
function Ai(e) {
|
|
8611
|
+
if (!ki(e)) return !1;
|
|
8577
8612
|
let t = e.group;
|
|
8578
8613
|
return e.shapeNodeType === "text" && t?.shapeComposite === !0;
|
|
8579
8614
|
}
|
|
8580
|
-
var
|
|
8615
|
+
var ji = class {
|
|
8581
8616
|
constructor({ canvas: t, canvasManager: n, persistScaledTextbox: r }) {
|
|
8582
8617
|
this.handleMouseMove = (e) => {
|
|
8583
8618
|
let t = this.canvas._currentTransform;
|
|
8584
8619
|
if (!t) return;
|
|
8585
8620
|
let { target: n } = t;
|
|
8586
|
-
if (!
|
|
8621
|
+
if (!ki(n) || Ai(n)) return;
|
|
8587
8622
|
let r = this.scalingState.get(n);
|
|
8588
8623
|
if (!r || !e.e) return;
|
|
8589
|
-
let { isCornerHandle: i, isHorizontalHandle: a, isVerticalHandle: o } =
|
|
8624
|
+
let { isCornerHandle: i, isHorizontalHandle: a, isVerticalHandle: o } = Ti({ transform: t });
|
|
8590
8625
|
if (!a && !o && !i) return;
|
|
8591
|
-
let s =
|
|
8626
|
+
let s = Di({
|
|
8592
8627
|
textbox: n,
|
|
8593
8628
|
transform: t,
|
|
8594
8629
|
scenePoint: this.canvas.getScenePoint(e.e)
|
|
@@ -8611,20 +8646,20 @@ var ki = class {
|
|
|
8611
8646
|
}, j = r.lastAllowedScaleX, M = r.lastAllowedScaleY;
|
|
8612
8647
|
if (i) {
|
|
8613
8648
|
let e = Math.max(r.minimumProportionalScale, r.lastAllowedScaleX * Math.sqrt(u * d)), t = c || l ? r.minimumProportionalScale : e;
|
|
8614
|
-
if (Math.abs(t - r.lastAllowedScaleX) <=
|
|
8649
|
+
if (Math.abs(t - r.lastAllowedScaleX) <= Oi) return;
|
|
8615
8650
|
j = t, M = t;
|
|
8616
8651
|
} else {
|
|
8617
8652
|
if (a) {
|
|
8618
8653
|
let e = r.lastAllowedScaleX * u, t = c ? r.minimumWidthScale : Math.max(r.minimumWidthScale, e);
|
|
8619
|
-
Math.abs(t - r.lastAllowedScaleX) >
|
|
8654
|
+
Math.abs(t - r.lastAllowedScaleX) > Oi && (j = t);
|
|
8620
8655
|
}
|
|
8621
8656
|
if (o) {
|
|
8622
8657
|
let e = r.lastAllowedScaleY * d, t = l ? r.minimumFontScale : Math.max(r.minimumFontScale, e);
|
|
8623
|
-
Math.abs(t - r.lastAllowedScaleY) >
|
|
8658
|
+
Math.abs(t - r.lastAllowedScaleY) > Oi && (M = t);
|
|
8624
8659
|
}
|
|
8625
|
-
if (Math.abs(j - r.lastAllowedScaleX) <=
|
|
8660
|
+
if (Math.abs(j - r.lastAllowedScaleX) <= Oi && Math.abs(M - r.lastAllowedScaleY) <= Oi) return;
|
|
8626
8661
|
}
|
|
8627
|
-
let { appliedWidth: N, dimensionsRounded: P } =
|
|
8662
|
+
let { appliedWidth: N, dimensionsRounded: P } = An({
|
|
8628
8663
|
textbox: n,
|
|
8629
8664
|
canvasManager: this.canvasManager,
|
|
8630
8665
|
base: r.startBase,
|
|
@@ -8638,7 +8673,7 @@ var ki = class {
|
|
|
8638
8673
|
shouldDisableAutoExpandOnHorizontalChange: a,
|
|
8639
8674
|
shouldRoundDimensions: !i
|
|
8640
8675
|
});
|
|
8641
|
-
|
|
8676
|
+
Ei({
|
|
8642
8677
|
textbox: n,
|
|
8643
8678
|
transform: t,
|
|
8644
8679
|
appliedWidth: N
|
|
@@ -8659,12 +8694,12 @@ var ki = class {
|
|
|
8659
8694
|
}), this.canvas.requestRenderAll();
|
|
8660
8695
|
}, this.handleObjectScaling = (t) => {
|
|
8661
8696
|
let { target: n, transform: r } = t;
|
|
8662
|
-
if (n instanceof e || !
|
|
8697
|
+
if (n instanceof e || !ki(n) || Ai(n) || !r) return;
|
|
8663
8698
|
n.isScaling = !0;
|
|
8664
8699
|
let i = this._ensureScalingState({
|
|
8665
8700
|
textbox: n,
|
|
8666
8701
|
transform: r
|
|
8667
|
-
}), { startBase: a } = i, { width: o, fontSize: s } = a, { isCornerHandle: c, isHorizontalHandle: l, isVerticalHandle: u } =
|
|
8702
|
+
}), { startBase: a } = i, { width: o, fontSize: s } = a, { isCornerHandle: c, isHorizontalHandle: l, isVerticalHandle: u } = Ti({ transform: r }), d = r.corner ?? "", f = c || u;
|
|
8668
8703
|
if (!l && !u && !c) return;
|
|
8669
8704
|
let p = n.scaleX ?? r.scaleX ?? 1, m = n.scaleY ?? r.scaleY ?? 1, h = Math.abs(p) || 1, g = Math.abs(m) || 1, _ = r.originX ?? n.originX ?? "center", v = r.originY ?? n.originY ?? "center", y = this.canvasManager.getObjectPlacement({
|
|
8670
8705
|
object: n,
|
|
@@ -8679,7 +8714,7 @@ var ki = class {
|
|
|
8679
8714
|
N = e, P = e;
|
|
8680
8715
|
}
|
|
8681
8716
|
} else l && (N = Math.max(i.minimumWidthScale, i.lastAllowedScaleX * h)), u && (P = Math.max(i.minimumFontScale, i.lastAllowedScaleY * g));
|
|
8682
|
-
let { appliedWidth: ee, dimensionsRounded: te } =
|
|
8717
|
+
let { appliedWidth: ee, dimensionsRounded: te } = An({
|
|
8683
8718
|
textbox: n,
|
|
8684
8719
|
canvasManager: this.canvasManager,
|
|
8685
8720
|
base: a,
|
|
@@ -8693,7 +8728,7 @@ var ki = class {
|
|
|
8693
8728
|
shouldDisableAutoExpandOnHorizontalChange: l,
|
|
8694
8729
|
shouldRoundDimensions: !c
|
|
8695
8730
|
});
|
|
8696
|
-
|
|
8731
|
+
Ei({
|
|
8697
8732
|
textbox: n,
|
|
8698
8733
|
transform: r,
|
|
8699
8734
|
appliedWidth: ee
|
|
@@ -8726,7 +8761,7 @@ var ki = class {
|
|
|
8726
8761
|
let { target: n } = t;
|
|
8727
8762
|
if (n instanceof e) {
|
|
8728
8763
|
let t = n.getObjects();
|
|
8729
|
-
if (!t.some((e) =>
|
|
8764
|
+
if (!t.some((e) => ki(e))) return;
|
|
8730
8765
|
let { scaleX: r = 1, scaleY: i = 1 } = n;
|
|
8731
8766
|
if (Math.abs(r - 1) < .01 && Math.abs(i - 1) < .01) return;
|
|
8732
8767
|
this.canvas.discardActiveObject(), t.forEach((e) => {
|
|
@@ -8736,7 +8771,7 @@ var ki = class {
|
|
|
8736
8771
|
this.canvas.setActiveObject(a), this.canvas.requestRenderAll();
|
|
8737
8772
|
return;
|
|
8738
8773
|
}
|
|
8739
|
-
if (!
|
|
8774
|
+
if (!ki(n) || Ai(n)) return;
|
|
8740
8775
|
n.isScaling = !1;
|
|
8741
8776
|
let r = this.scalingState.get(n);
|
|
8742
8777
|
if (this.scalingState.delete(n), !r?.hasScalingChange) return;
|
|
@@ -8761,11 +8796,11 @@ var ki = class {
|
|
|
8761
8796
|
}, this.canvas = t, this.canvasManager = n, this.persistScaledTextbox = r, this.scalingState = /* @__PURE__ */ new WeakMap();
|
|
8762
8797
|
}
|
|
8763
8798
|
commitStandaloneTextScale({ target: e, shouldDisableAutoExpandOnHorizontalChange: t = !1 }) {
|
|
8764
|
-
if (!
|
|
8799
|
+
if (!ki(e) || Ai(e)) return !1;
|
|
8765
8800
|
let n = Math.abs(e.scaleX ?? 1) || 1, r = Math.abs(e.scaleY ?? 1) || 1;
|
|
8766
8801
|
if (!(Math.abs(n - 1) > .01 || Math.abs(r - 1) > .01)) return !1;
|
|
8767
|
-
let i =
|
|
8768
|
-
return
|
|
8802
|
+
let i = Dn({ textbox: e }), a = this.canvasManager.getObjectPlacement({ object: e });
|
|
8803
|
+
return An({
|
|
8769
8804
|
textbox: e,
|
|
8770
8805
|
canvasManager: this.canvasManager,
|
|
8771
8806
|
base: i,
|
|
@@ -8781,7 +8816,7 @@ var ki = class {
|
|
|
8781
8816
|
_ensureScalingState({ textbox: e, transform: t }) {
|
|
8782
8817
|
let n = this.scalingState.get(e);
|
|
8783
8818
|
if (!n) {
|
|
8784
|
-
let r =
|
|
8819
|
+
let r = Dn({ textbox: e }), i = this.canvasManager.getObjectPlacement({ object: e }), a = On({ base: r }), o = t.original?.originX ?? t.originX ?? e.originX ?? "center", s = t.original?.originY ?? t.originY ?? e.originY ?? "center";
|
|
8785
8820
|
n = {
|
|
8786
8821
|
startBase: r,
|
|
8787
8822
|
startObjectPlacement: i,
|
|
@@ -8835,7 +8870,7 @@ var ki = class {
|
|
|
8835
8870
|
originY: a
|
|
8836
8871
|
});
|
|
8837
8872
|
}
|
|
8838
|
-
},
|
|
8873
|
+
}, Mi = class e {
|
|
8839
8874
|
constructor({ editor: t }) {
|
|
8840
8875
|
this._handleTextEditingEntered = (t) => {
|
|
8841
8876
|
this.isTextEditingActive = !0;
|
|
@@ -8848,7 +8883,7 @@ var ki = class {
|
|
|
8848
8883
|
if (!e._isTextbox(n)) return;
|
|
8849
8884
|
let r = e._isShapeOwnedTextbox(n), { text: i = "", uppercase: a, autoExpand: o } = n, s = !!a, c = o !== !1, l = i.toLocaleLowerCase(), u = r ? null : this.editingPlacementState?.get(n) ?? this.editor.canvasManager.getObjectPlacement({ object: n });
|
|
8850
8885
|
if (s) {
|
|
8851
|
-
let e =
|
|
8886
|
+
let e = xi({ value: l });
|
|
8852
8887
|
e !== i && n.set({ text: e }), n.textCaseRaw = l;
|
|
8853
8888
|
} else n.textCaseRaw = i;
|
|
8854
8889
|
if (!r && o === void 0 && (n.autoExpand = !0), r) {
|
|
@@ -8866,7 +8901,7 @@ var ki = class {
|
|
|
8866
8901
|
let r = e._isShapeOwnedTextbox(n);
|
|
8867
8902
|
this.editingPlacementState?.delete(n), delete n.__lineDefaultsPrevText;
|
|
8868
8903
|
let i = n.text ?? "";
|
|
8869
|
-
n.uppercase ? n.textCaseRaw = n.textCaseRaw ?? i.toLocaleLowerCase() : n.textCaseRaw = i, r || (
|
|
8904
|
+
n.uppercase ? n.textCaseRaw = n.textCaseRaw ?? i.toLocaleLowerCase() : n.textCaseRaw = i, r || (En({ textbox: n }) && (n.setCoords(), n.dirty = !0, this.canvas.requestRenderAll()), n.locked || n.set({
|
|
8870
8905
|
lockMovementX: !1,
|
|
8871
8906
|
lockMovementY: !1
|
|
8872
8907
|
}));
|
|
@@ -8893,7 +8928,7 @@ var ki = class {
|
|
|
8893
8928
|
transform: r,
|
|
8894
8929
|
event: i ?? null
|
|
8895
8930
|
});
|
|
8896
|
-
}, this.editor = t, this.canvas = t.canvas, this.fonts = t.options.fonts ?? [], this.scalingController = new
|
|
8931
|
+
}, this.editor = t, this.canvas = t.canvas, this.fonts = t.options.fonts ?? [], this.scalingController = new ji({
|
|
8897
8932
|
canvas: t.canvas,
|
|
8898
8933
|
canvasManager: t.canvasManager,
|
|
8899
8934
|
persistScaledTextbox: ({ target: e, style: t }) => {
|
|
@@ -8902,12 +8937,12 @@ var ki = class {
|
|
|
8902
8937
|
style: t
|
|
8903
8938
|
});
|
|
8904
8939
|
}
|
|
8905
|
-
}), this.editingPlacementState = /* @__PURE__ */ new WeakMap(), this.isTextEditingActive = !1, this._bindEvents(),
|
|
8940
|
+
}), this.editingPlacementState = /* @__PURE__ */ new WeakMap(), this.isTextEditingActive = !1, this._bindEvents(), wi();
|
|
8906
8941
|
}
|
|
8907
8942
|
addText({ id: t = `background-textbox-${D()}`, text: n = "Новый текст", autoExpand: r = !0, fontFamily: i, fontSize: a = 48, bold: o = !1, italic: s = !1, underline: c = !1, uppercase: l = !1, strikethrough: u = !1, align: d = "left", color: f = "#000000", strokeColor: p, strokeWidth: m = 0, opacity: h = 1, backgroundColor: g, backgroundOpacity: _ = 1, paddingTop: v = 0, paddingRight: y = 0, paddingBottom: b = 0, paddingLeft: x = 0, radiusTopLeft: S = 0, radiusTopRight: C = 0, radiusBottomRight: w = 0, radiusBottomLeft: T = 0, ...E } = {}, { withoutSelection: O = !1, withoutSave: k = !1, withoutAdding: A = !1, emitLifecycleEvents: j = !0 } = {}) {
|
|
8908
8943
|
let { canvasManager: M, historyManager: N } = this.editor, { canvas: P } = this;
|
|
8909
8944
|
N.suspendHistory();
|
|
8910
|
-
let F = i ?? this._getDefaultFontFamily(), I =
|
|
8945
|
+
let F = i ?? this._getDefaultFontFamily(), I = bi({ width: m }), ee = yi({
|
|
8911
8946
|
strokeColor: p,
|
|
8912
8947
|
width: I
|
|
8913
8948
|
}), te = {
|
|
@@ -8936,14 +8971,14 @@ var ki = class {
|
|
|
8936
8971
|
radiusBottomRight: w,
|
|
8937
8972
|
radiusBottomLeft: T,
|
|
8938
8973
|
...E
|
|
8939
|
-
}, L = new
|
|
8974
|
+
}, L = new Ci(n, te), ne = r !== !1;
|
|
8940
8975
|
L.autoExpand = ne;
|
|
8941
8976
|
let re = E.left !== void 0 || E.top !== void 0;
|
|
8942
8977
|
if (L.textCaseRaw = L.text ?? "", l) {
|
|
8943
|
-
let e =
|
|
8978
|
+
let e = xi({ value: L.textCaseRaw });
|
|
8944
8979
|
e !== L.text && L.set({ text: e });
|
|
8945
8980
|
}
|
|
8946
|
-
|
|
8981
|
+
En({ textbox: L }) && (L.dirty = !0);
|
|
8947
8982
|
let R;
|
|
8948
8983
|
re && (R = M.resolveObjectPlacement({
|
|
8949
8984
|
object: L,
|
|
@@ -8990,81 +9025,84 @@ var ki = class {
|
|
|
8990
9025
|
top: te,
|
|
8991
9026
|
originX: L,
|
|
8992
9027
|
originY: ne
|
|
8993
|
-
}), z = a === void 0 ?
|
|
9028
|
+
}), z = a === void 0 ? mi({ textbox: s }) : Xt({
|
|
8994
9029
|
text: c,
|
|
8995
9030
|
range: a
|
|
8996
9031
|
}), B = z ? Zt({
|
|
8997
9032
|
textbox: s,
|
|
8998
9033
|
range: z
|
|
8999
|
-
}) : null, V = {}, H = {}, U = {}, ae, W, G, oe, se =
|
|
9034
|
+
}) : null, V = {}, H = {}, U = {}, ae, W, G, oe, se = gi({
|
|
9000
9035
|
textbox: s,
|
|
9001
9036
|
range: z
|
|
9002
|
-
}), ce =
|
|
9003
|
-
|
|
9004
|
-
|
|
9037
|
+
}), ce = gi({
|
|
9038
|
+
textbox: s,
|
|
9039
|
+
range: B
|
|
9040
|
+
}), le = !z || se, ue = le || ce, de = !z;
|
|
9041
|
+
if (h !== void 0 && (B && (H.fontFamily = h), ue && (R.fontFamily = h, de && (U.fontFamily = h))), g !== void 0 && (B && (H.fontSize = g), ue && (R.fontSize = g, de && (U.fontSize = g))), _ !== void 0 && (ae = _ ? "bold" : "normal", z && (V.fontWeight = ae), le && (R.fontWeight = ae, de && (U.fontWeight = ae))), v !== void 0 && (W = v ? "italic" : "normal", z && (V.fontStyle = W), le && (R.fontStyle = W, de && (U.fontStyle = W))), y !== void 0 && (z && (V.underline = y), le && (R.underline = y, de && (U.underline = y))), x !== void 0 && (z && (V.linethrough = x), le && (R.linethrough = x, de && (U.linethrough = x))), S !== void 0 && (R.textAlign = S), C !== void 0 && (z && (V.fill = C), le && (R.fill = C, de && (U.fill = C))), w !== void 0 || T !== void 0) {
|
|
9042
|
+
let e = z ? vi({
|
|
9005
9043
|
textbox: s,
|
|
9006
9044
|
range: z,
|
|
9007
9045
|
property: "strokeWidth"
|
|
9008
|
-
}) : void 0, t = z ?
|
|
9046
|
+
}) : void 0, t = z ? vi({
|
|
9009
9047
|
textbox: s,
|
|
9010
9048
|
range: z,
|
|
9011
9049
|
property: "stroke"
|
|
9012
|
-
}) : void 0;
|
|
9013
|
-
oe =
|
|
9014
|
-
strokeColor: w ??
|
|
9050
|
+
}) : void 0, n = typeof e == "number" ? e : void 0, r = typeof t == "string" ? t : void 0, i = typeof s.stroke == "string" ? s.stroke : void 0;
|
|
9051
|
+
oe = bi({ width: T ?? n ?? s.strokeWidth ?? 0 }), G = yi({
|
|
9052
|
+
strokeColor: w ?? r ?? i,
|
|
9015
9053
|
width: oe
|
|
9016
|
-
}), z && (V.stroke = G, V.strokeWidth = oe),
|
|
9054
|
+
}), z && (V.stroke = G, V.strokeWidth = oe), le && (R.stroke = G, R.strokeWidth = oe, de && (U.stroke = G, U.strokeWidth = oe));
|
|
9017
9055
|
}
|
|
9018
9056
|
E !== void 0 && (R.opacity = E), D !== void 0 && (R.backgroundColor = D), O !== void 0 && (R.backgroundOpacity = O), k !== void 0 && (R.paddingTop = k), A !== void 0 && (R.paddingRight = A), j !== void 0 && (R.paddingBottom = j), M !== void 0 && (R.paddingLeft = M), N !== void 0 && (R.radiusTopLeft = N), P !== void 0 && (R.radiusTopRight = P), F !== void 0 && (R.radiusBottomRight = F), I !== void 0 && (R.radiusBottomLeft = I);
|
|
9019
|
-
let
|
|
9020
|
-
|
|
9021
|
-
let
|
|
9057
|
+
let fe = s.textCaseRaw ?? c, pe = !!s.uppercase, me = p !== void 0, he = me ? p ?? "" : fe, ge = b ?? pe, _e = ge !== pe;
|
|
9058
|
+
me || _e ? (R.text = ge ? xi({ value: he }) : he, s.textCaseRaw = he) : s.textCaseRaw === void 0 && (s.textCaseRaw = fe);
|
|
9059
|
+
let ve = Tn({ stylesList: [
|
|
9022
9060
|
R,
|
|
9023
9061
|
V,
|
|
9024
9062
|
H,
|
|
9025
9063
|
U
|
|
9026
|
-
] }),
|
|
9064
|
+
] }), ye = [
|
|
9027
9065
|
ee,
|
|
9028
9066
|
te,
|
|
9029
9067
|
L,
|
|
9030
9068
|
ne
|
|
9031
|
-
],
|
|
9069
|
+
], be = [
|
|
9032
9070
|
k,
|
|
9033
9071
|
A,
|
|
9034
9072
|
j,
|
|
9035
9073
|
M
|
|
9036
|
-
],
|
|
9037
|
-
|
|
9074
|
+
], xe = ye.some((e) => e !== void 0), Se = be.some((e) => e !== void 0), Ce = Object.prototype.hasOwnProperty.call(R, "width"), we = Se && !xe && !me && !_e && !ve && !Ce, Te = null;
|
|
9075
|
+
we && (Te = Sn({
|
|
9038
9076
|
textbox: s,
|
|
9039
9077
|
originX: ie.originX,
|
|
9040
9078
|
originY: ie.originY
|
|
9041
|
-
})), s.uppercase =
|
|
9042
|
-
let
|
|
9079
|
+
})), s.uppercase = ge, s.set(R);
|
|
9080
|
+
let Ee = !1;
|
|
9043
9081
|
if (z) {
|
|
9044
|
-
let e =
|
|
9082
|
+
let e = _i({
|
|
9045
9083
|
textbox: s,
|
|
9046
9084
|
styles: V,
|
|
9047
9085
|
range: z
|
|
9048
|
-
}), t = B ?
|
|
9086
|
+
}), t = B ? _i({
|
|
9049
9087
|
textbox: s,
|
|
9050
9088
|
styles: H,
|
|
9051
9089
|
range: B
|
|
9052
9090
|
}) : !1;
|
|
9053
|
-
|
|
9091
|
+
Ee = e || t;
|
|
9054
9092
|
} else if (Object.keys(U).length) {
|
|
9055
|
-
let e =
|
|
9056
|
-
e && (
|
|
9093
|
+
let e = hi({ textbox: s });
|
|
9094
|
+
e && (Ee = _i({
|
|
9057
9095
|
textbox: s,
|
|
9058
9096
|
styles: U,
|
|
9059
9097
|
range: e
|
|
9060
9098
|
}));
|
|
9061
9099
|
}
|
|
9062
|
-
let
|
|
9100
|
+
let De = Ee && Tn({ stylesList: [
|
|
9063
9101
|
V,
|
|
9064
9102
|
H,
|
|
9065
9103
|
U
|
|
9066
9104
|
] });
|
|
9067
|
-
if (
|
|
9105
|
+
if (Ee && (s.dirty = !0), B && (h !== void 0 || g !== void 0)) {
|
|
9068
9106
|
let e = Qt({
|
|
9069
9107
|
textbox: s,
|
|
9070
9108
|
range: B
|
|
@@ -9086,47 +9124,47 @@ var ki = class {
|
|
|
9086
9124
|
updates: t
|
|
9087
9125
|
});
|
|
9088
9126
|
}
|
|
9089
|
-
|
|
9127
|
+
De && (s.initDimensions(), s.dirty = !0), [
|
|
9090
9128
|
D,
|
|
9091
9129
|
O,
|
|
9092
|
-
...
|
|
9130
|
+
...be,
|
|
9093
9131
|
N,
|
|
9094
9132
|
P,
|
|
9095
9133
|
F,
|
|
9096
9134
|
I
|
|
9097
9135
|
].some((e) => e !== void 0) && (s.dirty = !0);
|
|
9098
|
-
let { autoExpand:
|
|
9099
|
-
|
|
9100
|
-
let
|
|
9136
|
+
let { autoExpand: Oe } = s, ke = m !== void 0, Ae = (m ?? Oe) !== !1;
|
|
9137
|
+
ke ? s.autoExpand = m !== !1 : Oe === void 0 && (s.autoExpand = !0);
|
|
9138
|
+
let je = Ae && !Ce && (me || _e || ve);
|
|
9101
9139
|
this._normalizeTextboxAfterContentChange({
|
|
9102
9140
|
textbox: s,
|
|
9103
9141
|
placement: ie,
|
|
9104
|
-
shouldAutoExpand:
|
|
9105
|
-
}),
|
|
9142
|
+
shouldAutoExpand: je
|
|
9143
|
+
}), Te && this._restoreTextboxContentPlacement({
|
|
9106
9144
|
textbox: s,
|
|
9107
|
-
contentPlacement:
|
|
9145
|
+
contentPlacement: Te
|
|
9108
9146
|
}), s.setCoords();
|
|
9109
|
-
let
|
|
9147
|
+
let Me = {
|
|
9110
9148
|
withoutSave: !!r,
|
|
9111
9149
|
skipRender: !!i
|
|
9112
|
-
},
|
|
9150
|
+
}, Ne = !!z && Object.keys(V).length > 0, Pe = {
|
|
9113
9151
|
textbox: s,
|
|
9114
9152
|
target: t,
|
|
9115
9153
|
style: n,
|
|
9116
|
-
options:
|
|
9154
|
+
options: Me,
|
|
9117
9155
|
updates: R,
|
|
9118
9156
|
selectionRange: z ?? void 0,
|
|
9119
|
-
selectionStyles:
|
|
9157
|
+
selectionStyles: Ne ? V : void 0
|
|
9120
9158
|
};
|
|
9121
|
-
o && d.fire("editor:before:text-updated",
|
|
9122
|
-
let
|
|
9159
|
+
o && d.fire("editor:before:text-updated", Pe), i || d.requestRenderAll();
|
|
9160
|
+
let Fe = e._getSnapshot(s);
|
|
9123
9161
|
l.resumeHistory(), r || l.saveState();
|
|
9124
|
-
let
|
|
9125
|
-
...
|
|
9162
|
+
let Ie = {
|
|
9163
|
+
...Pe,
|
|
9126
9164
|
before: f,
|
|
9127
|
-
after:
|
|
9165
|
+
after: Fe
|
|
9128
9166
|
};
|
|
9129
|
-
return o && d.fire("editor:text-updated",
|
|
9167
|
+
return o && d.fire("editor:text-updated", Ie), s;
|
|
9130
9168
|
}
|
|
9131
9169
|
stylesFromArray(e, t) {
|
|
9132
9170
|
return C.stylesFromArray(e, t);
|
|
@@ -9186,7 +9224,7 @@ var ki = class {
|
|
|
9186
9224
|
clampToMontage: r
|
|
9187
9225
|
}));
|
|
9188
9226
|
let a = !1;
|
|
9189
|
-
i || (a =
|
|
9227
|
+
i || (a = En({ textbox: e }));
|
|
9190
9228
|
let o = !1;
|
|
9191
9229
|
return !i && t && (this.editor.canvasManager.applyObjectPlacement({
|
|
9192
9230
|
object: e,
|
|
@@ -9194,7 +9232,7 @@ var ki = class {
|
|
|
9194
9232
|
}), o = !0), (i || a) && (e.dirty = !0), (i || a || o) && e.setCoords(), i || a;
|
|
9195
9233
|
}
|
|
9196
9234
|
_restoreTextboxContentPlacement({ textbox: e, contentPlacement: t }) {
|
|
9197
|
-
let n =
|
|
9235
|
+
let n = Sn({
|
|
9198
9236
|
textbox: e,
|
|
9199
9237
|
originX: t.originX,
|
|
9200
9238
|
originY: t.originY
|
|
@@ -9212,7 +9250,7 @@ var ki = class {
|
|
|
9212
9250
|
e.on("object:scaling", this.scalingController.handleObjectScaling), e.on("object:resizing", this._handleObjectResizing), e.on("object:modified", this.scalingController.handleObjectModified), e.on("mouse:move", this.scalingController.handleMouseMove), e.on("text:editing:entered", this._handleTextEditingEntered), e.on("text:editing:exited", this._handleTextEditingExited), e.on("text:changed", this._handleTextChanged);
|
|
9213
9251
|
}
|
|
9214
9252
|
_syncLineFontDefaultsOnTextChanged({ textbox: e }) {
|
|
9215
|
-
let t = e.text ?? "", n =
|
|
9253
|
+
let t = e.text ?? "", n = gn({
|
|
9216
9254
|
textbox: e,
|
|
9217
9255
|
previousText: e.__lineDefaultsPrevText ?? t,
|
|
9218
9256
|
currentText: t
|
|
@@ -9230,16 +9268,16 @@ var ki = class {
|
|
|
9230
9268
|
if (!Number.isFinite(f) || f <= 0) return !1;
|
|
9231
9269
|
let p = a.split("\n").length, m = !1;
|
|
9232
9270
|
Math.abs((e.width ?? 0) - f) > .01 && (e.set({ width: f }), m = !0), e.initDimensions();
|
|
9233
|
-
let { textLines: h } = e, g = Array.isArray(h) && h.length > p, _ = Math.ceil(
|
|
9271
|
+
let { textLines: h } = e, g = Array.isArray(h) && h.length > p, _ = Math.ceil(bn({
|
|
9234
9272
|
textbox: e,
|
|
9235
9273
|
text: a
|
|
9236
9274
|
})), v = Math.min(e.minWidth ?? 1, f), y = Math.min(f, Math.max(_, v));
|
|
9237
|
-
g && (y = f), Math.abs((e.width ?? 0) - y) > .01 && (e.set({ width: y }), e.initDimensions(), m = !0),
|
|
9275
|
+
g && (y = f), Math.abs((e.width ?? 0) - y) > .01 && (e.set({ width: y }), e.initDimensions(), m = !0), En({ textbox: e }) && (m = !0), t && r.applyObjectPlacement({
|
|
9238
9276
|
object: e,
|
|
9239
9277
|
placement: t
|
|
9240
9278
|
});
|
|
9241
9279
|
let b = !1;
|
|
9242
|
-
return n && (b =
|
|
9280
|
+
return n && (b = Cn({
|
|
9243
9281
|
textbox: e,
|
|
9244
9282
|
montageLeft: o,
|
|
9245
9283
|
montageRight: o + s
|
|
@@ -9297,7 +9335,7 @@ var ki = class {
|
|
|
9297
9335
|
_getDefaultFontFamily() {
|
|
9298
9336
|
return this.fonts[0]?.family ?? "Arial";
|
|
9299
9337
|
}
|
|
9300
|
-
},
|
|
9338
|
+
}, Ni = ({ x1: e, y1: t, x2: n, y2: r }) => (Math.atan2(r - t, n - e) * 180 / Math.PI + 360) % 360, Pi = (e) => {
|
|
9301
9339
|
if (!e || typeof e != "object") return null;
|
|
9302
9340
|
let { type: t, coords: n, colorStops: r } = e, i = Array.isArray(r) ? r : [], a = i[0], o = i[i.length - 1], s = typeof a?.color == "string" ? a.color : void 0, c = typeof o?.color == "string" ? o.color : s, l = typeof a?.offset == "number" ? a.offset * 100 : void 0, u = typeof o?.offset == "number" ? o.offset * 100 : void 0, d = i.map((e) => ({
|
|
9303
9341
|
color: typeof e.color == "string" ? e.color : "#000000",
|
|
@@ -9308,7 +9346,7 @@ var ki = class {
|
|
|
9308
9346
|
let { x1: e, y1: t, x2: r, y2: i } = n;
|
|
9309
9347
|
if (typeof e == "number" && typeof t == "number" && typeof r == "number" && typeof i == "number") return {
|
|
9310
9348
|
type: "linear",
|
|
9311
|
-
angle:
|
|
9349
|
+
angle: Ni({
|
|
9312
9350
|
x1: e,
|
|
9313
9351
|
y1: t,
|
|
9314
9352
|
x2: r,
|
|
@@ -9336,7 +9374,7 @@ var ki = class {
|
|
|
9336
9374
|
};
|
|
9337
9375
|
}
|
|
9338
9376
|
return null;
|
|
9339
|
-
},
|
|
9377
|
+
}, Fi = "_templateAnchorX", Ii = "_templateAnchorY", Li = class t {
|
|
9340
9378
|
constructor({ editor: e }) {
|
|
9341
9379
|
this.editor = e;
|
|
9342
9380
|
}
|
|
@@ -9345,7 +9383,7 @@ var ki = class {
|
|
|
9345
9383
|
if (!p.length) return s.emitWarning({
|
|
9346
9384
|
origin: "TemplateManager",
|
|
9347
9385
|
method: "serializeSelection",
|
|
9348
|
-
code:
|
|
9386
|
+
code: di.TEMPLATE_MANAGER.NO_OBJECTS_SELECTED,
|
|
9349
9387
|
message: "Нет объектов для сериализации шаблона"
|
|
9350
9388
|
}), null;
|
|
9351
9389
|
let m = t._getBounds(o), h = t._getMontageSize({
|
|
@@ -9374,14 +9412,14 @@ var ki = class {
|
|
|
9374
9412
|
if (!l?.length) return a.emitWarning({
|
|
9375
9413
|
origin: "TemplateManager",
|
|
9376
9414
|
method: "applyTemplate",
|
|
9377
|
-
code:
|
|
9415
|
+
code: di.TEMPLATE_MANAGER.INVALID_TEMPLATE,
|
|
9378
9416
|
message: "Шаблон не содержит объектов"
|
|
9379
9417
|
}), null;
|
|
9380
9418
|
let f = t._getBounds(r);
|
|
9381
9419
|
if (!f) return a.emitWarning({
|
|
9382
9420
|
origin: "TemplateManager",
|
|
9383
9421
|
method: "applyTemplate",
|
|
9384
|
-
code:
|
|
9422
|
+
code: di.TEMPLATE_MANAGER.INVALID_TARGET,
|
|
9385
9423
|
message: "Не удалось определить границы монтажной области"
|
|
9386
9424
|
}), null;
|
|
9387
9425
|
let p = t._getMontageSize({
|
|
@@ -9400,7 +9438,7 @@ var ki = class {
|
|
|
9400
9438
|
if (!r.length) return a.emitWarning({
|
|
9401
9439
|
origin: "TemplateManager",
|
|
9402
9440
|
method: "applyTemplate",
|
|
9403
|
-
code:
|
|
9441
|
+
code: di.TEMPLATE_MANAGER.INVALID_TEMPLATE,
|
|
9404
9442
|
message: "Не удалось создать объекты шаблона"
|
|
9405
9443
|
}), null;
|
|
9406
9444
|
let { backgroundObject: i, contentObjects: u } = t._extractBackgroundObject(r);
|
|
@@ -9438,7 +9476,7 @@ var ki = class {
|
|
|
9438
9476
|
return a.emitError({
|
|
9439
9477
|
origin: "TemplateManager",
|
|
9440
9478
|
method: "applyTemplate",
|
|
9441
|
-
code:
|
|
9479
|
+
code: di.TEMPLATE_MANAGER.APPLY_FAILED,
|
|
9442
9480
|
message: "Ошибка применения шаблона",
|
|
9443
9481
|
data: {
|
|
9444
9482
|
templateId: d,
|
|
@@ -9592,8 +9630,8 @@ var ki = class {
|
|
|
9592
9630
|
baseHeight: a,
|
|
9593
9631
|
scale: n,
|
|
9594
9632
|
useRelativePositions: o,
|
|
9595
|
-
anchorX: t._resolveAnchor(s,
|
|
9596
|
-
anchorY: t._resolveAnchor(s,
|
|
9633
|
+
anchorX: t._resolveAnchor(s, Fi),
|
|
9634
|
+
anchorY: t._resolveAnchor(s, Ii)
|
|
9597
9635
|
})
|
|
9598
9636
|
}), h = f * n, g = p * n, _ = e.originX ?? "center", v = e.originY ?? "center";
|
|
9599
9637
|
e.set({
|
|
@@ -9607,7 +9645,7 @@ var ki = class {
|
|
|
9607
9645
|
originX: _,
|
|
9608
9646
|
originY: v
|
|
9609
9647
|
}
|
|
9610
|
-
}), delete s[
|
|
9648
|
+
}), delete s[Fi], delete s[Ii];
|
|
9611
9649
|
}
|
|
9612
9650
|
static _getPositioningBounds({ bounds: e, baseWidth: n, baseHeight: r, scale: i, useRelativePositions: a, anchorX: o, anchorY: s }) {
|
|
9613
9651
|
if (!a) return e;
|
|
@@ -9671,7 +9709,7 @@ var ki = class {
|
|
|
9671
9709
|
});
|
|
9672
9710
|
if (!i || !s || !o) return;
|
|
9673
9711
|
e.setCoords();
|
|
9674
|
-
let c = e, l = t._resolveAnchor(c,
|
|
9712
|
+
let c = e, l = t._resolveAnchor(c, Fi), u = typeof c.left == "number" ? c.left : null, d = e.originX ?? "center", f = e.originY ?? "center", p = e.getPointByOrigin(d, f), m = e.getBoundingRect(!1, !0), h = m.left + m.width;
|
|
9675
9713
|
e.set("width", i), e.initDimensions();
|
|
9676
9714
|
let g = t._getLongestLineWidth({
|
|
9677
9715
|
textbox: e,
|
|
@@ -9700,10 +9738,10 @@ var ki = class {
|
|
|
9700
9738
|
x: (p.left - o) / d,
|
|
9701
9739
|
y: (p.top - s) / f
|
|
9702
9740
|
}, h = (u.left - o) / d, g = (u.top - s) / f, _ = h + u.width / d, v = g + u.height / f;
|
|
9703
|
-
return a[
|
|
9741
|
+
return a[Fi] = t._detectAnchor({
|
|
9704
9742
|
start: h,
|
|
9705
9743
|
end: _
|
|
9706
|
-
}), a[
|
|
9744
|
+
}), a[Ii] = t._detectAnchor({
|
|
9707
9745
|
start: g,
|
|
9708
9746
|
end: v
|
|
9709
9747
|
}), a.left = m.x, a.top = m.y, a;
|
|
@@ -9728,7 +9766,7 @@ var ki = class {
|
|
|
9728
9766
|
withoutSave: !0
|
|
9729
9767
|
}), !0;
|
|
9730
9768
|
if (a === "gradient") {
|
|
9731
|
-
let e =
|
|
9769
|
+
let e = Pi(r);
|
|
9732
9770
|
if (e) return n.setGradientBackground({
|
|
9733
9771
|
gradient: e,
|
|
9734
9772
|
customData: o,
|
|
@@ -9749,7 +9787,7 @@ var ki = class {
|
|
|
9749
9787
|
r.emitWarning({
|
|
9750
9788
|
origin: "TemplateManager",
|
|
9751
9789
|
method: "applyTemplate",
|
|
9752
|
-
code:
|
|
9790
|
+
code: di.TEMPLATE_MANAGER.APPLY_FAILED,
|
|
9753
9791
|
message: "Не удалось применить фон из шаблона",
|
|
9754
9792
|
data: e
|
|
9755
9793
|
});
|
|
@@ -9785,29 +9823,29 @@ var ki = class {
|
|
|
9785
9823
|
enlivenObjectEnlivables(e) {
|
|
9786
9824
|
return C.enlivenObjectEnlivables(e);
|
|
9787
9825
|
}
|
|
9788
|
-
},
|
|
9789
|
-
let n =
|
|
9826
|
+
}, Ri = "#3D8BF4", zi = .5, Bi = ({ distance: e }) => Number.isFinite(e) ? Math.round(Math.max(0, e)) : 0, Vi = ({ firstDistance: e, secondDistance: t }) => {
|
|
9827
|
+
let n = Bi({ distance: e }), r = Bi({ distance: t });
|
|
9790
9828
|
return {
|
|
9791
9829
|
firstDisplayDistance: n,
|
|
9792
9830
|
secondDisplayDistance: r,
|
|
9793
9831
|
displayDistanceDiff: Math.abs(n - r),
|
|
9794
9832
|
commonDisplayDistance: Math.max(n, r)
|
|
9795
9833
|
};
|
|
9796
|
-
},
|
|
9834
|
+
}, Hi = ({ firstStart: e, firstEnd: t, secondStart: n, secondEnd: r }) => Math.min(t, r) - Math.max(e, n), Ui = ({ step: e }) => {
|
|
9797
9835
|
let t = Math.abs(e).toString(), n = t.indexOf(".");
|
|
9798
9836
|
return n === -1 ? 0 : t.slice(n + 1).length;
|
|
9799
|
-
},
|
|
9837
|
+
}, Wi = ({ value: e, step: t }) => {
|
|
9800
9838
|
if (t === 0) return e;
|
|
9801
|
-
let n =
|
|
9839
|
+
let n = Ui({ step: t }), r = Math.round(e / t) * t;
|
|
9802
9840
|
return Number(r.toFixed(n));
|
|
9803
|
-
},
|
|
9841
|
+
}, Gi = ({ value: e, step: t }) => {
|
|
9804
9842
|
if (t === 0) return !0;
|
|
9805
|
-
let n =
|
|
9843
|
+
let n = Wi({
|
|
9806
9844
|
value: e,
|
|
9807
9845
|
step: t
|
|
9808
|
-
}), r = 10 ** -(
|
|
9846
|
+
}), r = 10 ** -(Ui({ step: t }) + 4);
|
|
9809
9847
|
return Math.abs(n - e) <= r;
|
|
9810
|
-
},
|
|
9848
|
+
}, Ki = ({ bounds: e, axis: t }) => {
|
|
9811
9849
|
let { left: n = 0, right: r = 0, top: i = 0, bottom: a = 0 } = e;
|
|
9812
9850
|
return t === "vertical" ? {
|
|
9813
9851
|
start: i,
|
|
@@ -9816,7 +9854,7 @@ var ki = class {
|
|
|
9816
9854
|
start: n,
|
|
9817
9855
|
end: r
|
|
9818
9856
|
};
|
|
9819
|
-
},
|
|
9857
|
+
}, qi = ({ items: e, axis: t }) => {
|
|
9820
9858
|
for (let n = 1; n < e.length; n += 1) {
|
|
9821
9859
|
let r = e[n], { bounds: i } = r, a = i[t], o = n - 1;
|
|
9822
9860
|
for (; o >= 0;) {
|
|
@@ -9826,10 +9864,10 @@ var ki = class {
|
|
|
9826
9864
|
}
|
|
9827
9865
|
e[o + 1] = r;
|
|
9828
9866
|
}
|
|
9829
|
-
},
|
|
9867
|
+
}, Ji = ({ items: e, index: t, axis: n, direction: r }) => {
|
|
9830
9868
|
let i = e[t];
|
|
9831
9869
|
if (!i) return null;
|
|
9832
|
-
let { bounds: a } = i, { start: o, end: s } =
|
|
9870
|
+
let { bounds: a } = i, { start: o, end: s } = Ki({
|
|
9833
9871
|
bounds: a,
|
|
9834
9872
|
axis: n
|
|
9835
9873
|
});
|
|
@@ -9837,7 +9875,7 @@ var ki = class {
|
|
|
9837
9875
|
for (let r = t - 1; r >= 0; --r) {
|
|
9838
9876
|
let t = e[r];
|
|
9839
9877
|
if (!t) continue;
|
|
9840
|
-
let { bounds: i } = t, { end: a } =
|
|
9878
|
+
let { bounds: i } = t, { end: a } = Ki({
|
|
9841
9879
|
bounds: i,
|
|
9842
9880
|
axis: n
|
|
9843
9881
|
});
|
|
@@ -9848,26 +9886,26 @@ var ki = class {
|
|
|
9848
9886
|
for (let r = t + 1; r < e.length; r += 1) {
|
|
9849
9887
|
let t = e[r];
|
|
9850
9888
|
if (!t) continue;
|
|
9851
|
-
let { bounds: i } = t, { start: a } =
|
|
9889
|
+
let { bounds: i } = t, { start: a } = Ki({
|
|
9852
9890
|
bounds: i,
|
|
9853
9891
|
axis: n
|
|
9854
9892
|
});
|
|
9855
9893
|
if (a - s >= 0) return r;
|
|
9856
9894
|
}
|
|
9857
9895
|
return null;
|
|
9858
|
-
},
|
|
9896
|
+
}, Yi = ({ items: e }) => {
|
|
9859
9897
|
for (let t = 0; t < e.length; t += 1) {
|
|
9860
9898
|
let { isActive: n } = e[t];
|
|
9861
9899
|
if (n) return t;
|
|
9862
9900
|
}
|
|
9863
9901
|
return -1;
|
|
9864
|
-
},
|
|
9902
|
+
}, Xi = ({ patternAxis: e, activeRangeStart: t, activeRangeEnd: n, tolerance: r = 0 }) => {
|
|
9865
9903
|
let i = Math.min(t, n), a = Math.max(t, n);
|
|
9866
9904
|
return e >= i - r && e <= a + r;
|
|
9867
|
-
},
|
|
9905
|
+
}, Zi = ({ patternStart: e, patternEnd: t, activeStart: n, activeEnd: r }) => t <= n ? "before" : e >= r ? "after" : null, Qi = ({ baseOption: e, candidateOption: t }) => {
|
|
9868
9906
|
let { delta: n, guide: { distance: r } } = e, { delta: i, guide: { distance: a } } = t;
|
|
9869
9907
|
return n === i && r === a;
|
|
9870
|
-
},
|
|
9908
|
+
}, $i = ({ options: e }) => {
|
|
9871
9909
|
let t = e[0];
|
|
9872
9910
|
for (let n = 1; n < e.length; n += 1) {
|
|
9873
9911
|
let r = e[n];
|
|
@@ -9878,11 +9916,11 @@ var ki = class {
|
|
|
9878
9916
|
r.diff === t.diff && Math.abs(r.delta) < Math.abs(t.delta) && (t = r);
|
|
9879
9917
|
}
|
|
9880
9918
|
return t;
|
|
9881
|
-
},
|
|
9919
|
+
}, ea = ({ currentOption: e, nextOption: t }) => {
|
|
9882
9920
|
if (!e) return !0;
|
|
9883
9921
|
let { contextDistance: n, diff: r, delta: i } = e, { contextDistance: a, diff: o, delta: s } = t;
|
|
9884
9922
|
return a < n ? !0 : a > n ? !1 : o < r ? !0 : o > r ? !1 : Math.abs(s) < Math.abs(i);
|
|
9885
|
-
},
|
|
9923
|
+
}, ta = ({ options: e }) => {
|
|
9886
9924
|
let t = [], n = null, r = null;
|
|
9887
9925
|
for (let i of e) {
|
|
9888
9926
|
let { kind: e, side: a } = i;
|
|
@@ -9890,18 +9928,18 @@ var ki = class {
|
|
|
9890
9928
|
t.push(i);
|
|
9891
9929
|
continue;
|
|
9892
9930
|
}
|
|
9893
|
-
a === "before" &&
|
|
9931
|
+
a === "before" && ea({
|
|
9894
9932
|
currentOption: n,
|
|
9895
9933
|
nextOption: i
|
|
9896
|
-
}) && (n = i), a === "after" &&
|
|
9934
|
+
}) && (n = i), a === "after" && ea({
|
|
9897
9935
|
currentOption: r,
|
|
9898
9936
|
nextOption: i
|
|
9899
9937
|
}) && (r = i);
|
|
9900
9938
|
}
|
|
9901
9939
|
return n && t.push(n), r && t.push(r), t;
|
|
9902
|
-
},
|
|
9940
|
+
}, na = ({ options: e, side: t, baseOption: n }) => {
|
|
9903
9941
|
let r = null;
|
|
9904
|
-
for (let i of e) if (i.side === t &&
|
|
9942
|
+
for (let i of e) if (i.side === t && Qi({
|
|
9905
9943
|
baseOption: n,
|
|
9906
9944
|
candidateOption: i
|
|
9907
9945
|
})) {
|
|
@@ -9912,63 +9950,63 @@ var ki = class {
|
|
|
9912
9950
|
!r || i.diff !== r.diff || Math.abs(i.delta) < Math.abs(r.delta) && (r = i);
|
|
9913
9951
|
}
|
|
9914
9952
|
return r;
|
|
9915
|
-
},
|
|
9953
|
+
}, ra = ({ option: e }) => {
|
|
9916
9954
|
let { side: t, kind: n, guide: { distance: r } } = e;
|
|
9917
9955
|
return {
|
|
9918
9956
|
side: t,
|
|
9919
9957
|
kind: n,
|
|
9920
9958
|
distance: r
|
|
9921
9959
|
};
|
|
9922
|
-
},
|
|
9960
|
+
}, ia = ({ option: e, context: t }) => {
|
|
9923
9961
|
let { side: n, kind: r, distance: i } = t, { side: a, kind: o, guide: { distance: s } } = e;
|
|
9924
9962
|
return n !== a || r !== o ? !1 : Math.abs(s - i) <= 1;
|
|
9925
|
-
},
|
|
9963
|
+
}, aa = ({ options: e, context: t }) => {
|
|
9926
9964
|
if (!t) return null;
|
|
9927
|
-
for (let n of e) if (
|
|
9965
|
+
for (let n of e) if (ia({
|
|
9928
9966
|
option: n,
|
|
9929
9967
|
context: t
|
|
9930
9968
|
})) return n;
|
|
9931
9969
|
return null;
|
|
9932
|
-
},
|
|
9933
|
-
let i =
|
|
9970
|
+
}, oa = ({ options: e, bestOption: t, previousContext: n, switchDistance: r = 0 }) => {
|
|
9971
|
+
let i = aa({
|
|
9934
9972
|
options: e,
|
|
9935
9973
|
context: n
|
|
9936
9974
|
});
|
|
9937
9975
|
if (!i) return t;
|
|
9938
9976
|
let a = Math.max(0, r);
|
|
9939
9977
|
return a === 0 || Math.abs(t.delta - i.delta) >= a ? t : i;
|
|
9940
|
-
},
|
|
9978
|
+
}, sa = ({ guides: e, seenGuideKeys: t, guide: n }) => {
|
|
9941
9979
|
let { type: r, axis: i, refStart: a, refEnd: o, activeStart: s, activeEnd: c, distance: l } = n, u = `${r}:${i}:${a}:${o}:${s}:${c}:${l}`;
|
|
9942
9980
|
t.has(u) || (t.add(u), e.push(n));
|
|
9943
|
-
},
|
|
9981
|
+
}, ca = ({ options: e, previousContext: t = null, switchDistance: n = 0 }) => {
|
|
9944
9982
|
if (!e.length) return {
|
|
9945
9983
|
delta: 0,
|
|
9946
9984
|
guides: [],
|
|
9947
9985
|
context: null
|
|
9948
9986
|
};
|
|
9949
|
-
let r =
|
|
9987
|
+
let r = ta({ options: e }), i = [];
|
|
9950
9988
|
for (let e of r) e.kind === "reference" && i.push(e);
|
|
9951
|
-
let a = i.length > 0, o = a ? i : r, s =
|
|
9989
|
+
let a = i.length > 0, o = a ? i : r, s = oa({
|
|
9952
9990
|
options: o,
|
|
9953
|
-
bestOption:
|
|
9991
|
+
bestOption: $i({ options: o }),
|
|
9954
9992
|
previousContext: t,
|
|
9955
9993
|
switchDistance: n
|
|
9956
|
-
}), c =
|
|
9994
|
+
}), c = na({
|
|
9957
9995
|
options: o,
|
|
9958
9996
|
side: "before",
|
|
9959
9997
|
baseOption: s
|
|
9960
|
-
}), l =
|
|
9998
|
+
}), l = na({
|
|
9961
9999
|
options: o,
|
|
9962
10000
|
side: "after",
|
|
9963
10001
|
baseOption: s
|
|
9964
|
-
}), u =
|
|
10002
|
+
}), u = na({
|
|
9965
10003
|
options: a ? r : o,
|
|
9966
10004
|
side: "center",
|
|
9967
10005
|
baseOption: s
|
|
9968
10006
|
}), d = [];
|
|
9969
10007
|
c && l ? d.push(c, l) : (d.push(s), s.side === "before" && l && d.push(l), s.side === "after" && c && d.push(c), s.side === "center" && (c && !l && d.push(c), l && !c && d.push(l)), a && s.side === "before" && !l && u && d.push(u), a && s.side === "after" && !c && u && d.push(u)), !d.length && u && d.push(u);
|
|
9970
10008
|
let f = [], p = /* @__PURE__ */ new Set();
|
|
9971
|
-
for (let e of d)
|
|
10009
|
+
for (let e of d) sa({
|
|
9972
10010
|
guides: f,
|
|
9973
10011
|
seenGuideKeys: p,
|
|
9974
10012
|
guide: e.guide
|
|
@@ -9976,15 +10014,15 @@ var ki = class {
|
|
|
9976
10014
|
return {
|
|
9977
10015
|
delta: s.delta,
|
|
9978
10016
|
guides: f,
|
|
9979
|
-
context:
|
|
10017
|
+
context: ra({ option: s })
|
|
9980
10018
|
};
|
|
9981
|
-
},
|
|
9982
|
-
let s = n - (e - r), c =
|
|
10019
|
+
}, la = ({ activeStart: e, activeEnd: t, targetGap: n, beforeEdge: r, afterEdge: i, threshold: a, step: o }) => {
|
|
10020
|
+
let s = n - (e - r), c = Wi({
|
|
9983
10021
|
value: s,
|
|
9984
10022
|
step: o
|
|
9985
10023
|
}), l = Math.max(1, Math.ceil(a / Math.max(o, 1))), u = null;
|
|
9986
10024
|
for (let d = -l; d <= l; d += 1) {
|
|
9987
|
-
let l = c + d * o, f = e + l, p = t + l, m = f - r, h = i - p, { displayDistanceDiff: g, commonDisplayDistance: _ } =
|
|
10025
|
+
let l = c + d * o, f = e + l, p = t + l, m = f - r, h = i - p, { displayDistanceDiff: g, commonDisplayDistance: _ } = Vi({
|
|
9988
10026
|
firstDistance: m,
|
|
9989
10027
|
secondDistance: h
|
|
9990
10028
|
});
|
|
@@ -9999,13 +10037,13 @@ var ki = class {
|
|
|
9999
10037
|
});
|
|
10000
10038
|
}
|
|
10001
10039
|
return u;
|
|
10002
|
-
},
|
|
10003
|
-
let { secondDisplayDistance: n, displayDistanceDiff: r } =
|
|
10040
|
+
}, ua = ({ currentGap: e, referenceGap: t }) => {
|
|
10041
|
+
let { secondDisplayDistance: n, displayDistanceDiff: r } = Vi({
|
|
10004
10042
|
firstDistance: e,
|
|
10005
10043
|
secondDistance: t
|
|
10006
10044
|
});
|
|
10007
10045
|
return r > 1 ? null : n;
|
|
10008
|
-
},
|
|
10046
|
+
}, da = ({ anchors: e, positions: t, threshold: n }) => {
|
|
10009
10047
|
let r = 0, i = n + 1, a = null;
|
|
10010
10048
|
for (let o of t) for (let t of e) {
|
|
10011
10049
|
let e = Math.abs(t - o);
|
|
@@ -10015,8 +10053,8 @@ var ki = class {
|
|
|
10015
10053
|
delta: r,
|
|
10016
10054
|
guidePosition: a
|
|
10017
10055
|
};
|
|
10018
|
-
},
|
|
10019
|
-
let { left: r, right: i, centerX: a, top: o, bottom: s, centerY: c } = e, l =
|
|
10056
|
+
}, fa = ({ activeBounds: e, threshold: t, anchors: n }) => {
|
|
10057
|
+
let { left: r, right: i, centerX: a, top: o, bottom: s, centerY: c } = e, l = da({
|
|
10020
10058
|
anchors: n.vertical,
|
|
10021
10059
|
positions: [
|
|
10022
10060
|
r,
|
|
@@ -10024,7 +10062,7 @@ var ki = class {
|
|
|
10024
10062
|
i
|
|
10025
10063
|
],
|
|
10026
10064
|
threshold: t
|
|
10027
|
-
}), u =
|
|
10065
|
+
}), u = da({
|
|
10028
10066
|
anchors: n.horizontal,
|
|
10029
10067
|
positions: [
|
|
10030
10068
|
o,
|
|
@@ -10044,11 +10082,11 @@ var ki = class {
|
|
|
10044
10082
|
deltaY: u.delta,
|
|
10045
10083
|
guides: d
|
|
10046
10084
|
};
|
|
10047
|
-
},
|
|
10085
|
+
}, pa = ({ activeBounds: e, candidates: t, threshold: n, patterns: r, previousContext: i = null, switchDistance: a = 0 }) => {
|
|
10048
10086
|
let { centerX: o, top: s, bottom: c, left: l, right: u } = e, d = [];
|
|
10049
10087
|
for (let e of t) {
|
|
10050
10088
|
let { left: t, right: n } = e;
|
|
10051
|
-
|
|
10089
|
+
Hi({
|
|
10052
10090
|
firstStart: t,
|
|
10053
10091
|
firstEnd: n,
|
|
10054
10092
|
secondStart: l,
|
|
@@ -10068,22 +10106,22 @@ var ki = class {
|
|
|
10068
10106
|
f.push({
|
|
10069
10107
|
bounds: e,
|
|
10070
10108
|
isActive: !0
|
|
10071
|
-
}),
|
|
10109
|
+
}), qi({
|
|
10072
10110
|
items: f,
|
|
10073
10111
|
axis: "top"
|
|
10074
10112
|
});
|
|
10075
|
-
let p =
|
|
10113
|
+
let p = Yi({ items: f });
|
|
10076
10114
|
if (p === -1) return {
|
|
10077
10115
|
delta: 0,
|
|
10078
10116
|
guides: [],
|
|
10079
10117
|
context: null
|
|
10080
10118
|
};
|
|
10081
|
-
let m = [], h = c - s, g =
|
|
10119
|
+
let m = [], h = c - s, g = Ji({
|
|
10082
10120
|
items: f,
|
|
10083
10121
|
index: p,
|
|
10084
10122
|
axis: "vertical",
|
|
10085
10123
|
direction: "prev"
|
|
10086
|
-
}), _ =
|
|
10124
|
+
}), _ = Ji({
|
|
10087
10125
|
items: f,
|
|
10088
10126
|
index: p,
|
|
10089
10127
|
axis: "vertical",
|
|
@@ -10092,19 +10130,19 @@ var ki = class {
|
|
|
10092
10130
|
if (v && y) {
|
|
10093
10131
|
let { bounds: e } = v, { bounds: t } = y, { bottom: r } = e, { top: i } = t, a = i - r - h;
|
|
10094
10132
|
if (a >= 0) {
|
|
10095
|
-
let e =
|
|
10133
|
+
let e = Wi({
|
|
10096
10134
|
value: a / 2,
|
|
10097
10135
|
step: 1
|
|
10098
10136
|
}), t = s - r, l = i - c, u = Math.abs(t - e), d = Math.abs(l - e);
|
|
10099
10137
|
if (Math.max(u, d) <= n) {
|
|
10100
|
-
let t =
|
|
10138
|
+
let t = la({
|
|
10101
10139
|
activeStart: s,
|
|
10102
10140
|
activeEnd: c,
|
|
10103
10141
|
targetGap: e,
|
|
10104
10142
|
beforeEdge: r,
|
|
10105
10143
|
afterEdge: i,
|
|
10106
10144
|
threshold: n,
|
|
10107
|
-
step:
|
|
10145
|
+
step: zi
|
|
10108
10146
|
});
|
|
10109
10147
|
if (t) {
|
|
10110
10148
|
let { delta: e, distance: n, diff: i, activeStart: a, activeEnd: s } = t, c = {
|
|
@@ -10141,16 +10179,16 @@ var ki = class {
|
|
|
10141
10179
|
}
|
|
10142
10180
|
for (let e of r) {
|
|
10143
10181
|
let { axis: t, start: r, end: i, distance: a } = e;
|
|
10144
|
-
if (!
|
|
10182
|
+
if (!Gi({
|
|
10145
10183
|
value: a,
|
|
10146
10184
|
step: .5
|
|
10147
|
-
}) || !
|
|
10185
|
+
}) || !Xi({
|
|
10148
10186
|
patternAxis: t,
|
|
10149
10187
|
activeRangeStart: l,
|
|
10150
10188
|
activeRangeEnd: u,
|
|
10151
10189
|
tolerance: n
|
|
10152
10190
|
})) continue;
|
|
10153
|
-
let d =
|
|
10191
|
+
let d = Zi({
|
|
10154
10192
|
patternStart: r,
|
|
10155
10193
|
patternEnd: i,
|
|
10156
10194
|
activeStart: s,
|
|
@@ -10158,12 +10196,12 @@ var ki = class {
|
|
|
10158
10196
|
});
|
|
10159
10197
|
if (d) {
|
|
10160
10198
|
if (b !== null && S && d === "before" && Math.abs(b - a) <= n) {
|
|
10161
|
-
let e =
|
|
10199
|
+
let e = Wi({
|
|
10162
10200
|
value: a - b,
|
|
10163
10201
|
step: 1
|
|
10164
10202
|
}), t = s + e, { bottom: c } = S, l = t - c, u = Math.abs(l - a);
|
|
10165
10203
|
if (u > n) continue;
|
|
10166
|
-
let d =
|
|
10204
|
+
let d = ua({
|
|
10167
10205
|
currentGap: l,
|
|
10168
10206
|
referenceGap: a
|
|
10169
10207
|
});
|
|
@@ -10187,12 +10225,12 @@ var ki = class {
|
|
|
10187
10225
|
});
|
|
10188
10226
|
}
|
|
10189
10227
|
if (x !== null && C && d === "after" && Math.abs(x - a) <= n) {
|
|
10190
|
-
let e =
|
|
10228
|
+
let e = Wi({
|
|
10191
10229
|
value: x - a,
|
|
10192
10230
|
step: 1
|
|
10193
10231
|
}), t = c + e, { top: s } = C, l = s - t, u = Math.abs(l - a);
|
|
10194
10232
|
if (u > n) continue;
|
|
10195
|
-
let d =
|
|
10233
|
+
let d = ua({
|
|
10196
10234
|
currentGap: l,
|
|
10197
10235
|
referenceGap: a
|
|
10198
10236
|
});
|
|
@@ -10217,16 +10255,16 @@ var ki = class {
|
|
|
10217
10255
|
}
|
|
10218
10256
|
}
|
|
10219
10257
|
}
|
|
10220
|
-
return
|
|
10258
|
+
return ca({
|
|
10221
10259
|
options: m,
|
|
10222
10260
|
previousContext: i,
|
|
10223
10261
|
switchDistance: a
|
|
10224
10262
|
});
|
|
10225
|
-
},
|
|
10263
|
+
}, ma = ({ activeBounds: e, candidates: t, threshold: n, patterns: r, previousContext: i = null, switchDistance: a = 0 }) => {
|
|
10226
10264
|
let { centerY: o, left: s, right: c, top: l, bottom: u } = e, d = [];
|
|
10227
10265
|
for (let e of t) {
|
|
10228
10266
|
let { top: t, bottom: n } = e;
|
|
10229
|
-
|
|
10267
|
+
Hi({
|
|
10230
10268
|
firstStart: t,
|
|
10231
10269
|
firstEnd: n,
|
|
10232
10270
|
secondStart: l,
|
|
@@ -10246,22 +10284,22 @@ var ki = class {
|
|
|
10246
10284
|
f.push({
|
|
10247
10285
|
bounds: e,
|
|
10248
10286
|
isActive: !0
|
|
10249
|
-
}),
|
|
10287
|
+
}), qi({
|
|
10250
10288
|
items: f,
|
|
10251
10289
|
axis: "left"
|
|
10252
10290
|
});
|
|
10253
|
-
let p =
|
|
10291
|
+
let p = Yi({ items: f });
|
|
10254
10292
|
if (p === -1) return {
|
|
10255
10293
|
delta: 0,
|
|
10256
10294
|
guides: [],
|
|
10257
10295
|
context: null
|
|
10258
10296
|
};
|
|
10259
|
-
let m = [], h = c - s, g =
|
|
10297
|
+
let m = [], h = c - s, g = Ji({
|
|
10260
10298
|
items: f,
|
|
10261
10299
|
index: p,
|
|
10262
10300
|
axis: "horizontal",
|
|
10263
10301
|
direction: "prev"
|
|
10264
|
-
}), _ =
|
|
10302
|
+
}), _ = Ji({
|
|
10265
10303
|
items: f,
|
|
10266
10304
|
index: p,
|
|
10267
10305
|
axis: "horizontal",
|
|
@@ -10270,19 +10308,19 @@ var ki = class {
|
|
|
10270
10308
|
if (v && y) {
|
|
10271
10309
|
let { bounds: e } = v, { bounds: t } = y, { right: r } = e, { left: i } = t, a = i - r - h;
|
|
10272
10310
|
if (a >= 0) {
|
|
10273
|
-
let e =
|
|
10311
|
+
let e = Wi({
|
|
10274
10312
|
value: a / 2,
|
|
10275
10313
|
step: 1
|
|
10276
10314
|
}), t = s - r, l = i - c, u = Math.abs(t - e), d = Math.abs(l - e);
|
|
10277
10315
|
if (Math.max(u, d) <= n) {
|
|
10278
|
-
let t =
|
|
10316
|
+
let t = la({
|
|
10279
10317
|
activeStart: s,
|
|
10280
10318
|
activeEnd: c,
|
|
10281
10319
|
targetGap: e,
|
|
10282
10320
|
beforeEdge: r,
|
|
10283
10321
|
afterEdge: i,
|
|
10284
10322
|
threshold: n,
|
|
10285
|
-
step:
|
|
10323
|
+
step: zi
|
|
10286
10324
|
});
|
|
10287
10325
|
if (t) {
|
|
10288
10326
|
let { delta: e, distance: n, diff: i, activeStart: a, activeEnd: s } = t, c = {
|
|
@@ -10319,16 +10357,16 @@ var ki = class {
|
|
|
10319
10357
|
}
|
|
10320
10358
|
for (let e of r) {
|
|
10321
10359
|
let { axis: t, start: r, end: i, distance: a } = e;
|
|
10322
|
-
if (!
|
|
10360
|
+
if (!Gi({
|
|
10323
10361
|
value: a,
|
|
10324
10362
|
step: .5
|
|
10325
|
-
}) || !
|
|
10363
|
+
}) || !Xi({
|
|
10326
10364
|
patternAxis: t,
|
|
10327
10365
|
activeRangeStart: l,
|
|
10328
10366
|
activeRangeEnd: u,
|
|
10329
10367
|
tolerance: n
|
|
10330
10368
|
})) continue;
|
|
10331
|
-
let d =
|
|
10369
|
+
let d = Zi({
|
|
10332
10370
|
patternStart: r,
|
|
10333
10371
|
patternEnd: i,
|
|
10334
10372
|
activeStart: s,
|
|
@@ -10336,12 +10374,12 @@ var ki = class {
|
|
|
10336
10374
|
});
|
|
10337
10375
|
if (d) {
|
|
10338
10376
|
if (b !== null && S && d === "before" && Math.abs(b - a) <= n) {
|
|
10339
|
-
let e =
|
|
10377
|
+
let e = Wi({
|
|
10340
10378
|
value: a - b,
|
|
10341
10379
|
step: 1
|
|
10342
10380
|
}), t = s + e, { right: c } = S, l = t - c, u = Math.abs(l - a);
|
|
10343
10381
|
if (u > n) continue;
|
|
10344
|
-
let d =
|
|
10382
|
+
let d = ua({
|
|
10345
10383
|
currentGap: l,
|
|
10346
10384
|
referenceGap: a
|
|
10347
10385
|
});
|
|
@@ -10365,12 +10403,12 @@ var ki = class {
|
|
|
10365
10403
|
});
|
|
10366
10404
|
}
|
|
10367
10405
|
if (x !== null && C && d === "after" && Math.abs(x - a) <= n) {
|
|
10368
|
-
let e =
|
|
10406
|
+
let e = Wi({
|
|
10369
10407
|
value: x - a,
|
|
10370
10408
|
step: 1
|
|
10371
10409
|
}), t = c + e, { left: s } = C, l = s - t, u = Math.abs(l - a);
|
|
10372
10410
|
if (u > n) continue;
|
|
10373
|
-
let d =
|
|
10411
|
+
let d = ua({
|
|
10374
10412
|
currentGap: l,
|
|
10375
10413
|
referenceGap: a
|
|
10376
10414
|
});
|
|
@@ -10395,20 +10433,20 @@ var ki = class {
|
|
|
10395
10433
|
}
|
|
10396
10434
|
}
|
|
10397
10435
|
}
|
|
10398
|
-
return
|
|
10436
|
+
return ca({
|
|
10399
10437
|
options: m,
|
|
10400
10438
|
previousContext: i,
|
|
10401
10439
|
switchDistance: a
|
|
10402
10440
|
});
|
|
10403
|
-
},
|
|
10404
|
-
let { vertical: o = null, horizontal: s = null } = i ?? {}, c =
|
|
10441
|
+
}, ha = ({ activeBounds: e, candidates: t, threshold: n, spacingPatterns: r, previousContexts: i, switchDistance: a = 0 }) => {
|
|
10442
|
+
let { vertical: o = null, horizontal: s = null } = i ?? {}, c = pa({
|
|
10405
10443
|
activeBounds: e,
|
|
10406
10444
|
candidates: t,
|
|
10407
10445
|
threshold: n,
|
|
10408
10446
|
patterns: r.vertical,
|
|
10409
10447
|
previousContext: o,
|
|
10410
10448
|
switchDistance: a
|
|
10411
|
-
}), l =
|
|
10449
|
+
}), l = ma({
|
|
10412
10450
|
activeBounds: e,
|
|
10413
10451
|
candidates: t,
|
|
10414
10452
|
threshold: n,
|
|
@@ -10427,14 +10465,14 @@ var ki = class {
|
|
|
10427
10465
|
horizontal: l.context
|
|
10428
10466
|
}
|
|
10429
10467
|
};
|
|
10430
|
-
},
|
|
10468
|
+
}, ga = ({ context: e, x: t, y: n, width: r, height: i, radius: a }) => {
|
|
10431
10469
|
let o = Math.min(a, r / 2, i / 2);
|
|
10432
10470
|
e.moveTo(t + o, n), e.lineTo(t + r - o, n), e.quadraticCurveTo(t + r, n, t + r, n + o), e.lineTo(t + r, n + i - o), e.quadraticCurveTo(t + r, n + i, t + r - o, n + i), e.lineTo(t + o, n + i), e.quadraticCurveTo(t, n + i, t, n + i - o), e.lineTo(t, n + o), e.quadraticCurveTo(t, n, t + o, n), e.closePath();
|
|
10433
|
-
},
|
|
10471
|
+
}, _a = ({ context: e, type: t, axis: n, start: r, end: i, text: a, zoom: o, color: s, textColor: c = "#ffffff", fontFamily: l = "sans-serif", lineWidth: u = 1, padding: d = 4, radius: f = 4, offsetAlongAxis: p = 0, offsetPerpendicular: m = 0 }) => {
|
|
10434
10472
|
let h = o || 1, g = 12 / h, _ = d / h, v = f / h, y = (r + i) / 2 + p, b = t === "vertical" ? n + m : y, x = t === "vertical" ? y : n + m;
|
|
10435
10473
|
e.save(), e.setLineDash([]), e.fillStyle = s, e.strokeStyle = s, e.lineWidth = u / h, e.font = `${g}px ${l}`, e.textAlign = "center", e.textBaseline = "middle";
|
|
10436
10474
|
let S = e.measureText(a).width + _ * 2, C = g + _ * 2, w = b - S / 2, T = x - C / 2;
|
|
10437
|
-
e.beginPath(),
|
|
10475
|
+
e.beginPath(), ga({
|
|
10438
10476
|
context: e,
|
|
10439
10477
|
x: w,
|
|
10440
10478
|
y: T,
|
|
@@ -10442,11 +10480,11 @@ var ki = class {
|
|
|
10442
10480
|
height: C,
|
|
10443
10481
|
radius: v
|
|
10444
10482
|
}), e.fill(), e.fillStyle = c, e.fillText(a, b, x), e.restore();
|
|
10445
|
-
},
|
|
10446
|
-
let { type: r, axis: i, refStart: a, refEnd: o, activeStart: s, activeEnd: c, distance: l } = t, u =
|
|
10483
|
+
}, va = ({ context: e, guide: t, zoom: n }) => {
|
|
10484
|
+
let { type: r, axis: i, refStart: a, refEnd: o, activeStart: s, activeEnd: c, distance: l } = t, u = Bi({ distance: l }).toString();
|
|
10447
10485
|
e.beginPath(), r === "vertical" ? (e.moveTo(i, a), e.lineTo(i, o), e.moveTo(i, s), e.lineTo(i, c)) : (e.moveTo(a, i), e.lineTo(o, i), e.moveTo(s, i), e.lineTo(c, i)), e.stroke();
|
|
10448
|
-
let d =
|
|
10449
|
-
|
|
10486
|
+
let d = Ri;
|
|
10487
|
+
_a({
|
|
10450
10488
|
context: e,
|
|
10451
10489
|
type: r,
|
|
10452
10490
|
axis: i,
|
|
@@ -10456,7 +10494,7 @@ var ki = class {
|
|
|
10456
10494
|
zoom: n,
|
|
10457
10495
|
color: d,
|
|
10458
10496
|
lineWidth: 1
|
|
10459
|
-
}),
|
|
10497
|
+
}), _a({
|
|
10460
10498
|
context: e,
|
|
10461
10499
|
type: r,
|
|
10462
10500
|
axis: i,
|
|
@@ -10467,10 +10505,10 @@ var ki = class {
|
|
|
10467
10505
|
color: d,
|
|
10468
10506
|
lineWidth: 1
|
|
10469
10507
|
});
|
|
10470
|
-
},
|
|
10508
|
+
}, ya = ({ anchors: e, bounds: t }) => {
|
|
10471
10509
|
let { left: n, right: r, centerX: i, top: a, bottom: o, centerY: s } = t;
|
|
10472
10510
|
e.vertical.push(n, i, r), e.horizontal.push(a, s, o);
|
|
10473
|
-
},
|
|
10511
|
+
}, ba = ({ bounds: e, type: t, primaryStart: n, primaryEnd: r }) => {
|
|
10474
10512
|
let i = [], a = n === "top" ? "left" : "top", o = r === "bottom" ? "right" : "bottom", s = [...e].sort((e, t) => e[n] - t[n]);
|
|
10475
10513
|
for (let e = 0; e < s.length; e += 1) {
|
|
10476
10514
|
let c = s[e], l = null, u = Infinity;
|
|
@@ -10491,35 +10529,35 @@ var ki = class {
|
|
|
10491
10529
|
});
|
|
10492
10530
|
}
|
|
10493
10531
|
return i;
|
|
10494
|
-
},
|
|
10495
|
-
vertical:
|
|
10532
|
+
}, xa = ({ bounds: e }) => ({
|
|
10533
|
+
vertical: ba({
|
|
10496
10534
|
bounds: e,
|
|
10497
10535
|
axis: "centerX",
|
|
10498
10536
|
type: "vertical",
|
|
10499
10537
|
primaryStart: "top",
|
|
10500
10538
|
primaryEnd: "bottom"
|
|
10501
10539
|
}),
|
|
10502
|
-
horizontal:
|
|
10540
|
+
horizontal: ba({
|
|
10503
10541
|
bounds: e,
|
|
10504
10542
|
axis: "centerY",
|
|
10505
10543
|
type: "horizontal",
|
|
10506
10544
|
primaryStart: "left",
|
|
10507
10545
|
primaryEnd: "right"
|
|
10508
10546
|
})
|
|
10509
|
-
}),
|
|
10547
|
+
}), Sa = [
|
|
10510
10548
|
"montage-area",
|
|
10511
10549
|
"background",
|
|
10512
10550
|
"interaction-blocker"
|
|
10513
|
-
],
|
|
10551
|
+
], Ca = ({ activeObject: t }) => {
|
|
10514
10552
|
let n = /* @__PURE__ */ new Set();
|
|
10515
10553
|
return t ? (n.add(t), t instanceof e && t.getObjects().forEach((e) => n.add(e)), n) : n;
|
|
10516
|
-
},
|
|
10554
|
+
}, wa = ({ object: e, excluded: t, ignoredIds: n = Sa }) => {
|
|
10517
10555
|
if (t.has(e)) return !0;
|
|
10518
10556
|
let { visible: r = !0 } = e;
|
|
10519
10557
|
if (!r) return !0;
|
|
10520
10558
|
let { id: i } = e;
|
|
10521
10559
|
return !!(i && n.includes(i));
|
|
10522
|
-
},
|
|
10560
|
+
}, Ta = class e {
|
|
10523
10561
|
constructor({ editor: e }) {
|
|
10524
10562
|
this.anchors = {
|
|
10525
10563
|
vertical: [],
|
|
@@ -10572,7 +10610,7 @@ var ki = class {
|
|
|
10572
10610
|
this._clearSpacingContexts(), this._clearGuides();
|
|
10573
10611
|
return;
|
|
10574
10612
|
}
|
|
10575
|
-
let { canvas: o } = this, s = o.getZoom() || 1, c = 5 / s, { deltaX: l, deltaY: u } =
|
|
10613
|
+
let { canvas: o } = this, s = o.getZoom() || 1, c = 5 / s, { deltaX: l, deltaY: u } = fa({
|
|
10576
10614
|
activeBounds: a,
|
|
10577
10615
|
threshold: c,
|
|
10578
10616
|
anchors: this.anchors
|
|
@@ -10584,7 +10622,7 @@ var ki = class {
|
|
|
10584
10622
|
top: t + u
|
|
10585
10623
|
}), n.setCoords(), a = Ht({ object: n }) ?? a;
|
|
10586
10624
|
}
|
|
10587
|
-
let d = this._resolveCurrentTargetBounds({ activeObject: n }), f = this.spacingContexts.vertical || this.spacingContexts.horizontal ? 10 / s : c, p =
|
|
10625
|
+
let d = this._resolveCurrentTargetBounds({ activeObject: n }), f = this.spacingContexts.vertical || this.spacingContexts.horizontal ? 10 / s : c, p = ha({
|
|
10588
10626
|
activeBounds: a,
|
|
10589
10627
|
candidates: d,
|
|
10590
10628
|
threshold: f,
|
|
@@ -10605,11 +10643,11 @@ var ki = class {
|
|
|
10605
10643
|
target: n,
|
|
10606
10644
|
transform: i
|
|
10607
10645
|
});
|
|
10608
|
-
let h = Ht({ object: n }) ?? a, g =
|
|
10646
|
+
let h = Ht({ object: n }) ?? a, g = fa({
|
|
10609
10647
|
activeBounds: h,
|
|
10610
10648
|
threshold: c,
|
|
10611
10649
|
anchors: this.anchors
|
|
10612
|
-
}), _ =
|
|
10650
|
+
}), _ = ha({
|
|
10613
10651
|
activeBounds: h,
|
|
10614
10652
|
candidates: d,
|
|
10615
10653
|
threshold: c,
|
|
@@ -10840,9 +10878,9 @@ var ki = class {
|
|
|
10840
10878
|
let { canvas: e, guideBounds: t } = this, n = e.getSelectionContext();
|
|
10841
10879
|
if (!n) return;
|
|
10842
10880
|
let { left: r, right: i, top: a, bottom: o } = t ?? this._calculateViewportBounds(), { viewportTransform: s } = e, c = e.getZoom() || 1;
|
|
10843
|
-
n.save(), Array.isArray(s) && n.transform(...s), n.lineWidth = 1 / c, n.strokeStyle =
|
|
10881
|
+
n.save(), Array.isArray(s) && n.transform(...s), n.lineWidth = 1 / c, n.strokeStyle = Ri, n.setLineDash([4, 4]);
|
|
10844
10882
|
for (let e of this.activeGuides) n.beginPath(), e.type === "vertical" ? (n.moveTo(e.position, a), n.lineTo(e.position, o)) : (n.moveTo(r, e.position), n.lineTo(i, e.position)), n.stroke();
|
|
10845
|
-
for (let e of this.activeSpacingGuides)
|
|
10883
|
+
for (let e of this.activeSpacingGuides) va({
|
|
10846
10884
|
context: n,
|
|
10847
10885
|
guide: e,
|
|
10848
10886
|
zoom: c
|
|
@@ -11053,14 +11091,14 @@ var ki = class {
|
|
|
11053
11091
|
}, r = [];
|
|
11054
11092
|
for (let e of t) {
|
|
11055
11093
|
let t = Ht({ object: e });
|
|
11056
|
-
t && (
|
|
11094
|
+
t && (ya({
|
|
11057
11095
|
anchors: n,
|
|
11058
11096
|
bounds: t
|
|
11059
11097
|
}), r.push(t));
|
|
11060
11098
|
}
|
|
11061
11099
|
let { montageArea: i } = this.editor, a = Ht({ object: i });
|
|
11062
11100
|
if (a) {
|
|
11063
|
-
|
|
11101
|
+
ya({
|
|
11064
11102
|
anchors: n,
|
|
11065
11103
|
bounds: a
|
|
11066
11104
|
});
|
|
@@ -11072,12 +11110,12 @@ var ki = class {
|
|
|
11072
11110
|
bottom: i
|
|
11073
11111
|
};
|
|
11074
11112
|
} else this.guideBounds = this._calculateViewportBounds();
|
|
11075
|
-
this.anchors = n, this.spacingPatterns =
|
|
11113
|
+
this.anchors = n, this.spacingPatterns = xa({ bounds: r }), this.cachedTargetBounds = r;
|
|
11076
11114
|
}
|
|
11077
11115
|
_collectTargets({ activeObject: e }) {
|
|
11078
|
-
let t =
|
|
11116
|
+
let t = Ca({ activeObject: e }), n = [];
|
|
11079
11117
|
return this.canvas.forEachObject((e) => {
|
|
11080
|
-
|
|
11118
|
+
wa({
|
|
11081
11119
|
object: e,
|
|
11082
11120
|
excluded: t
|
|
11083
11121
|
}) || n.push(e);
|
|
@@ -11100,7 +11138,7 @@ var ki = class {
|
|
|
11100
11138
|
bottom: (r - s) / a
|
|
11101
11139
|
};
|
|
11102
11140
|
}
|
|
11103
|
-
},
|
|
11141
|
+
}, Ea = "#3D8BF4", Da = class e {
|
|
11104
11142
|
constructor({ editor: e }) {
|
|
11105
11143
|
this.activeGuides = [], this.isAltPressed = !1, this.pendingEvent = null, this.frameRequest = null, this.isToolbarHidden = !1, this.isTargetMontageArea = !1, this.lastMouseEvent = null, this.editor = e, this.canvas = e.canvas, this._onMouseMove = this._handleMouseMove.bind(this), this._onBeforeRender = this._handleBeforeRender.bind(this), this._onAfterRender = this._handleAfterRender.bind(this), this._onSelectionCleared = this._handleSelectionCleared.bind(this), this._onKeyDown = this._handleKeyDown.bind(this), this._onKeyUp = this._handleKeyUp.bind(this), this._onWindowBlur = this._handleWindowBlur.bind(this), this._bindEvents();
|
|
11106
11144
|
}
|
|
@@ -11193,8 +11231,8 @@ var ki = class {
|
|
|
11193
11231
|
this.isTargetMontageArea = l, this.activeGuides = d, this._hideToolbar(), n.requestRenderAll();
|
|
11194
11232
|
}
|
|
11195
11233
|
static _resolveTarget({ event: e, activeObject: t }) {
|
|
11196
|
-
let { target: n } = e, r =
|
|
11197
|
-
return n && !
|
|
11234
|
+
let { target: n } = e, r = Ca({ activeObject: t });
|
|
11235
|
+
return n && !wa({
|
|
11198
11236
|
object: n,
|
|
11199
11237
|
excluded: r
|
|
11200
11238
|
}) ? n : null;
|
|
@@ -11311,18 +11349,18 @@ var ki = class {
|
|
|
11311
11349
|
let { canvas: e } = this, t = e.getSelectionContext();
|
|
11312
11350
|
if (!t) return;
|
|
11313
11351
|
let { viewportTransform: n } = e, r = e.getZoom() || 1, i = this.activeGuides.some((e) => e.type === "vertical"), a = this.activeGuides.some((e) => e.type === "horizontal"), o = i && a && !this.isTargetMontageArea, s = o ? 12 / r : 0;
|
|
11314
|
-
t.save(), Array.isArray(n) && t.transform(...n), t.lineWidth = 1 / r, t.strokeStyle =
|
|
11352
|
+
t.save(), Array.isArray(n) && t.transform(...n), t.lineWidth = 1 / r, t.strokeStyle = Ea, t.setLineDash([]);
|
|
11315
11353
|
for (let e of this.activeGuides) {
|
|
11316
11354
|
let { type: n, axis: i, start: a, end: c, distance: l } = e, u = Math.abs(c - a), d = o ? (a <= c ? -1 : 1) * (u / 2 + s) : 0;
|
|
11317
|
-
t.beginPath(), n === "vertical" ? (t.moveTo(i, a), t.lineTo(i, c)) : (t.moveTo(a, i), t.lineTo(c, i)), t.stroke(),
|
|
11355
|
+
t.beginPath(), n === "vertical" ? (t.moveTo(i, a), t.lineTo(i, c)) : (t.moveTo(a, i), t.lineTo(c, i)), t.stroke(), _a({
|
|
11318
11356
|
context: t,
|
|
11319
11357
|
type: n,
|
|
11320
11358
|
axis: i,
|
|
11321
11359
|
start: a,
|
|
11322
11360
|
end: c,
|
|
11323
|
-
text:
|
|
11361
|
+
text: Bi({ distance: l }).toString(),
|
|
11324
11362
|
zoom: r,
|
|
11325
|
-
color:
|
|
11363
|
+
color: Ea,
|
|
11326
11364
|
lineWidth: 1,
|
|
11327
11365
|
offsetAlongAxis: d,
|
|
11328
11366
|
offsetPerpendicular: 0
|
|
@@ -11340,13 +11378,13 @@ var ki = class {
|
|
|
11340
11378
|
let { toolbar: e } = this.editor;
|
|
11341
11379
|
e?.showAfterTemporary?.(), this.isToolbarHidden = !1;
|
|
11342
11380
|
}
|
|
11343
|
-
},
|
|
11381
|
+
}, Oa = class e {
|
|
11344
11382
|
constructor(e, t) {
|
|
11345
11383
|
this.options = t, this.containerId = e, this.editorId = `${e}-${D()}`, this.init();
|
|
11346
11384
|
}
|
|
11347
11385
|
async init() {
|
|
11348
11386
|
let { editorContainerWidth: e, editorContainerHeight: n, canvasWrapperWidth: r, canvasWrapperHeight: i, canvasCSSWidth: a, canvasCSSHeight: o, initialImage: s, initialState: c, scaleType: l, showRotationAngle: u, _onReadyCallback: d } = this.options;
|
|
11349
|
-
if (ie.apply(), this.canvas = new t(this.containerId, this.options), this.moduleLoader = new A(), this.workerManager = new M(), this.errorManager = new
|
|
11387
|
+
if (ie.apply(), this.canvas = new t(this.containerId, this.options), this.moduleLoader = new A(), this.workerManager = new M(), this.errorManager = new fi({ editor: this }), this.historyManager = new wt({ editor: this }), this.toolbar = new Ye({ editor: this }), this.transformManager = new Ft({ editor: this }), this.zoomManager = new It({ editor: this }), this.canvasManager = new Pt({ editor: this }), this.imageManager = new At({ editor: this }), this.layerManager = new qt({ editor: this }), this.shapeManager = new ai({ editor: this }), this.interactionBlocker = new Gt({ editor: this }), this.backgroundManager = new Kt({ editor: this }), this.clipboardManager = new oi({ editor: this }), this.objectLockManager = new si({ editor: this }), this.groupingManager = new ci({ editor: this }), this.selectionManager = new li({ editor: this }), this.deletionManager = new ui({ editor: this }), this.panConstraintManager = new pi({ editor: this }), this.snappingManager = new Ta({ editor: this }), this.measurementManager = new Da({ editor: this }), this.fontManager = new z(this.options.fonts ?? []), this.textManager = new Mi({ editor: this }), this.templateManager = new Li({ editor: this }), u && (this.angleIndicator = new Qe({ editor: this })), this._createMontageArea(), this._createClippingArea(), this.interactionBlocker.ensureOverlay(), this.listeners = new k({
|
|
11350
11388
|
editor: this,
|
|
11351
11389
|
options: this.options
|
|
11352
11390
|
}), this.canvasManager.setEditorContainerWidth(e), this.canvasManager.setEditorContainerHeight(n), this.canvasManager.setCanvasWrapperWidth(r), this.canvasManager.setCanvasWrapperHeight(i), this.canvasManager.setCanvasCSSWidth(a), this.canvasManager.setCanvasCSSHeight(o), this.canvasManager.updateCanvas(), this.zoomManager.calculateAndApplyDefaultZoom(), await this.fontManager.loadFonts(), c) {
|
|
@@ -11454,7 +11492,7 @@ var ki = class {
|
|
|
11454
11492
|
"U+A640-A69F",
|
|
11455
11493
|
"U+FE2E-FE2F",
|
|
11456
11494
|
"U+2116"
|
|
11457
|
-
].join(", "),
|
|
11495
|
+
].join(", "), ka = {
|
|
11458
11496
|
preserveObjectStacking: !0,
|
|
11459
11497
|
controlsAboveOverlay: !0,
|
|
11460
11498
|
centeredRotation: !0,
|
|
@@ -12308,20 +12346,20 @@ var ki = class {
|
|
|
12308
12346
|
};
|
|
12309
12347
|
//#endregion
|
|
12310
12348
|
//#region src/main.ts
|
|
12311
|
-
function
|
|
12349
|
+
function Aa(e, t = {}) {
|
|
12312
12350
|
let n = {
|
|
12313
|
-
...
|
|
12351
|
+
...ka,
|
|
12314
12352
|
...t
|
|
12315
12353
|
}, r = document.getElementById(e);
|
|
12316
12354
|
if (!r) return Promise.reject(/* @__PURE__ */ Error(`Контейнер с ID "${e}" не найден.`));
|
|
12317
12355
|
let i = document.createElement("canvas");
|
|
12318
12356
|
return i.id = `${e}-canvas`, r.appendChild(i), n.editorContainer = r, new Promise((t) => {
|
|
12319
12357
|
n._onReadyCallback = t;
|
|
12320
|
-
let r = new
|
|
12358
|
+
let r = new Oa(i.id, n);
|
|
12321
12359
|
window[e] = r;
|
|
12322
12360
|
});
|
|
12323
12361
|
}
|
|
12324
12362
|
//#endregion
|
|
12325
|
-
export {
|
|
12363
|
+
export { Aa as default };
|
|
12326
12364
|
|
|
12327
12365
|
//# sourceMappingURL=main.js.map
|