@tailor-cms/ce-image-edit 1.0.4 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Edit.vue.d.ts +2 -1
- package/dist/{index-PPSxWWE-.cjs → index-B7I2cEJD.cjs} +1 -0
- package/dist/{index-Dl6RoEe8.js → index-CjgztT59.js} +1 -0
- package/dist/index.cjs +175 -125
- package/dist/index.css +1 -1
- package/dist/index.js +175 -125
- package/package.json +15 -12
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Element } from '@tailor-cms/ce-image-manifest';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
element: Element;
|
|
4
|
+
isDragged: boolean;
|
|
4
5
|
isFocused: boolean;
|
|
5
|
-
|
|
6
|
+
isReadonly: boolean;
|
|
6
7
|
};
|
|
7
8
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
9
|
save: (...args: any[]) => void;
|
|
@@ -3497,6 +3497,7 @@ var _a17, _b17;
|
|
|
3497
3497
|
appIds: /* @__PURE__ */ new Set()
|
|
3498
3498
|
};
|
|
3499
3499
|
init_esm_shims();
|
|
3500
|
+
init_esm_shims();
|
|
3500
3501
|
function toggleHighPerfMode(state) {
|
|
3501
3502
|
devtoolsState.highPerfModeEnabled = state != null ? state : !devtoolsState.highPerfModeEnabled;
|
|
3502
3503
|
if (!state && activeAppRecord.value) {
|
|
@@ -3495,6 +3495,7 @@ var _a17, _b17;
|
|
|
3495
3495
|
appIds: /* @__PURE__ */ new Set()
|
|
3496
3496
|
};
|
|
3497
3497
|
init_esm_shims();
|
|
3498
|
+
init_esm_shims();
|
|
3498
3499
|
function toggleHighPerfMode(state) {
|
|
3499
3500
|
devtoolsState.highPerfModeEnabled = state != null ? state : !devtoolsState.highPerfModeEnabled;
|
|
3500
3501
|
if (!state && activeAppRecord.value) {
|
package/dist/index.cjs
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
2
|
var import_index = require("./index.css");
|
|
6
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
7
4
|
const vue = require("vue");
|
|
@@ -779,8 +776,8 @@ Stack.prototype.set = stackSet;
|
|
|
779
776
|
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
|
|
780
777
|
var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
|
|
781
778
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
782
|
-
var
|
|
783
|
-
|
|
779
|
+
var Buffer = moduleExports ? root.Buffer : void 0;
|
|
780
|
+
Buffer ? Buffer.allocUnsafe : void 0;
|
|
784
781
|
function cloneBuffer(buffer, isDeep) {
|
|
785
782
|
{
|
|
786
783
|
return buffer.slice();
|
|
@@ -855,10 +852,10 @@ function initCloneArray(array2) {
|
|
|
855
852
|
}
|
|
856
853
|
return result;
|
|
857
854
|
}
|
|
858
|
-
var
|
|
855
|
+
var Uint8Array = root.Uint8Array;
|
|
859
856
|
function cloneArrayBuffer(arrayBuffer) {
|
|
860
857
|
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
|
861
|
-
new
|
|
858
|
+
new Uint8Array(result).set(new Uint8Array(arrayBuffer));
|
|
862
859
|
return result;
|
|
863
860
|
}
|
|
864
861
|
function cloneDataView(dataView, isDeep) {
|
|
@@ -1089,7 +1086,7 @@ function equalByTag(object2, other, tag, bitmask, customizer, equalFunc, stack)
|
|
|
1089
1086
|
object2 = object2.buffer;
|
|
1090
1087
|
other = other.buffer;
|
|
1091
1088
|
case arrayBufferTag:
|
|
1092
|
-
if (object2.byteLength != other.byteLength || !equalFunc(new
|
|
1089
|
+
if (object2.byteLength != other.byteLength || !equalFunc(new Uint8Array(object2), new Uint8Array(other))) {
|
|
1093
1090
|
return false;
|
|
1094
1091
|
}
|
|
1095
1092
|
return true;
|
|
@@ -1533,10 +1530,10 @@ function uniqueId(prefix) {
|
|
|
1533
1530
|
var id = ++idCounter;
|
|
1534
1531
|
return toString$1(prefix) + id;
|
|
1535
1532
|
}
|
|
1536
|
-
var
|
|
1533
|
+
var __defProp = Object.defineProperty;
|
|
1537
1534
|
var __export = (target, all) => {
|
|
1538
1535
|
for (var name2 in all)
|
|
1539
|
-
|
|
1536
|
+
__defProp(target, name2, { get: all[name2], enumerable: true });
|
|
1540
1537
|
};
|
|
1541
1538
|
var InsertLocation = /* @__PURE__ */ ((InsertLocation2) => {
|
|
1542
1539
|
InsertLocation2["AddBefore"] = "ADD_BEFORE";
|
|
@@ -4344,7 +4341,7 @@ async function installDevtoolsPlugin(app) {
|
|
|
4344
4341
|
if (!isClient) {
|
|
4345
4342
|
return;
|
|
4346
4343
|
}
|
|
4347
|
-
const devtools = await Promise.resolve().then(() => require("./index-
|
|
4344
|
+
const devtools = await Promise.resolve().then(() => require("./index-B7I2cEJD.cjs"));
|
|
4348
4345
|
devtools.setupDevtoolsPlugin({
|
|
4349
4346
|
id: "vee-validate-devtools-plugin",
|
|
4350
4347
|
label: "VeeValidate Plugin",
|
|
@@ -16635,7 +16632,7 @@ const cut = (originRange, targetPos) => ({ editor, tr }) => {
|
|
|
16635
16632
|
tr.deleteRange(originRange.from, originRange.to);
|
|
16636
16633
|
const newPos = tr.mapping.map(targetPos);
|
|
16637
16634
|
tr.insert(newPos, contentSlice.content);
|
|
16638
|
-
tr.setSelection(new TextSelection(tr.doc.resolve(newPos - 1)));
|
|
16635
|
+
tr.setSelection(new TextSelection(tr.doc.resolve(Math.max(newPos - 1, 0))));
|
|
16639
16636
|
return true;
|
|
16640
16637
|
};
|
|
16641
16638
|
const deleteCurrentNode = () => ({ tr, dispatch }) => {
|
|
@@ -18524,6 +18521,26 @@ function markPasteRule(config) {
|
|
|
18524
18521
|
}
|
|
18525
18522
|
});
|
|
18526
18523
|
}
|
|
18524
|
+
function canInsertNode(state, nodeType) {
|
|
18525
|
+
const { selection } = state;
|
|
18526
|
+
const { $from } = selection;
|
|
18527
|
+
if (selection instanceof NodeSelection) {
|
|
18528
|
+
const index2 = $from.index();
|
|
18529
|
+
const parent = $from.parent;
|
|
18530
|
+
return parent.canReplaceWith(index2, index2 + 1, nodeType);
|
|
18531
|
+
}
|
|
18532
|
+
let depth = $from.depth;
|
|
18533
|
+
while (depth >= 0) {
|
|
18534
|
+
const index2 = $from.index(depth);
|
|
18535
|
+
const parent = $from.node(depth);
|
|
18536
|
+
const match = parent.contentMatchAt(index2);
|
|
18537
|
+
if (match.matchType(nodeType)) {
|
|
18538
|
+
return true;
|
|
18539
|
+
}
|
|
18540
|
+
depth -= 1;
|
|
18541
|
+
}
|
|
18542
|
+
return false;
|
|
18543
|
+
}
|
|
18527
18544
|
Extension.create({
|
|
18528
18545
|
name: "characterCount",
|
|
18529
18546
|
addOptions() {
|
|
@@ -20124,6 +20141,9 @@ const HorizontalRule = Node2.create({
|
|
|
20124
20141
|
addCommands() {
|
|
20125
20142
|
return {
|
|
20126
20143
|
setHorizontalRule: () => ({ chain, state }) => {
|
|
20144
|
+
if (!canInsertNode(state, state.schema.nodes[this.name])) {
|
|
20145
|
+
return false;
|
|
20146
|
+
}
|
|
20127
20147
|
const { selection } = state;
|
|
20128
20148
|
const { $from: $originFrom, $to: $originTo } = selection;
|
|
20129
20149
|
const currentChain = chain();
|
|
@@ -20763,10 +20783,7 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
20763
20783
|
const [urlInput] = defineField("url");
|
|
20764
20784
|
const hasAsset = vue.computed(() => file.value || urlInput.value);
|
|
20765
20785
|
const hasChanges = vue.computed(
|
|
20766
|
-
() =>
|
|
20767
|
-
var _a;
|
|
20768
|
-
return props2.url !== (urlInput.value || ((_a = file.value) == null ? void 0 : _a.url) || null);
|
|
20769
|
-
}
|
|
20786
|
+
() => props2.url !== (urlInput.value || file.value?.url || null)
|
|
20770
20787
|
);
|
|
20771
20788
|
const fileName = vue.computed(() => {
|
|
20772
20789
|
if (!file.value || !file.value.url) return;
|
|
@@ -20835,7 +20852,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
20835
20852
|
default: vue.withCtx(() => _cache[4] || (_cache[4] = [
|
|
20836
20853
|
vue.createTextVNode("Edit")
|
|
20837
20854
|
])),
|
|
20838
|
-
_: 1
|
|
20855
|
+
_: 1,
|
|
20856
|
+
__: [4]
|
|
20839
20857
|
})) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 4 }, [
|
|
20840
20858
|
hasChanges.value ? (vue.openBlock(), vue.createBlock(_component_VBtn, {
|
|
20841
20859
|
key: 0,
|
|
@@ -20845,7 +20863,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
20845
20863
|
default: vue.withCtx(() => _cache[5] || (_cache[5] = [
|
|
20846
20864
|
vue.createTextVNode("Save")
|
|
20847
20865
|
])),
|
|
20848
|
-
_: 1
|
|
20866
|
+
_: 1,
|
|
20867
|
+
__: [5]
|
|
20849
20868
|
}, 8, ["disabled"])) : vue.createCommentVNode("", true),
|
|
20850
20869
|
hasChanges.value || _ctx.url ? (vue.openBlock(), vue.createBlock(_component_VBtn, {
|
|
20851
20870
|
key: 1,
|
|
@@ -20855,7 +20874,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
20855
20874
|
default: vue.withCtx(() => _cache[6] || (_cache[6] = [
|
|
20856
20875
|
vue.createTextVNode(" Cancel ")
|
|
20857
20876
|
])),
|
|
20858
|
-
_: 1
|
|
20877
|
+
_: 1,
|
|
20878
|
+
__: [6]
|
|
20859
20879
|
}, 8, ["disabled"])) : vue.createCommentVNode("", true)
|
|
20860
20880
|
], 64))
|
|
20861
20881
|
]),
|
|
@@ -21496,7 +21516,7 @@ class Color {
|
|
|
21496
21516
|
}
|
|
21497
21517
|
}
|
|
21498
21518
|
/*!
|
|
21499
|
-
* Chart.js v4.
|
|
21519
|
+
* Chart.js v4.5.0
|
|
21500
21520
|
* https://www.chartjs.org
|
|
21501
21521
|
* (c) 2025 Chart.js Contributors
|
|
21502
21522
|
* Released under the MIT License
|
|
@@ -22393,7 +22413,7 @@ function _isDomSupported() {
|
|
|
22393
22413
|
return passiveSupported;
|
|
22394
22414
|
})();
|
|
22395
22415
|
/*!
|
|
22396
|
-
* Chart.js v4.
|
|
22416
|
+
* Chart.js v4.5.0
|
|
22397
22417
|
* https://www.chartjs.org
|
|
22398
22418
|
* (c) 2025 Chart.js Contributors
|
|
22399
22419
|
* Released under the MIT License
|
|
@@ -22402,10 +22422,6 @@ function abstract() {
|
|
|
22402
22422
|
throw new Error("This method is not implemented: Check that a complete date adapter is provided.");
|
|
22403
22423
|
}
|
|
22404
22424
|
class DateAdapterBase {
|
|
22405
|
-
constructor(options) {
|
|
22406
|
-
__publicField(this, "options");
|
|
22407
|
-
this.options = options || {};
|
|
22408
|
-
}
|
|
22409
22425
|
/**
|
|
22410
22426
|
* Override default date adapter methods.
|
|
22411
22427
|
* Accepts type parameter to define options type.
|
|
@@ -22419,6 +22435,10 @@ class DateAdapterBase {
|
|
|
22419
22435
|
static override(members) {
|
|
22420
22436
|
Object.assign(DateAdapterBase.prototype, members);
|
|
22421
22437
|
}
|
|
22438
|
+
options;
|
|
22439
|
+
constructor(options) {
|
|
22440
|
+
this.options = options || {};
|
|
22441
|
+
}
|
|
22422
22442
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
22423
22443
|
init() {
|
|
22424
22444
|
}
|
|
@@ -22448,13 +22468,13 @@ var adapters = {
|
|
|
22448
22468
|
_date: DateAdapterBase
|
|
22449
22469
|
};
|
|
22450
22470
|
class Element {
|
|
22451
|
-
|
|
22452
|
-
|
|
22453
|
-
|
|
22454
|
-
|
|
22455
|
-
|
|
22456
|
-
|
|
22457
|
-
|
|
22471
|
+
static defaults = {};
|
|
22472
|
+
static defaultRoutes = void 0;
|
|
22473
|
+
x;
|
|
22474
|
+
y;
|
|
22475
|
+
active = false;
|
|
22476
|
+
options;
|
|
22477
|
+
$animations;
|
|
22458
22478
|
tooltipPosition(useFinalPosition) {
|
|
22459
22479
|
const { x, y } = this.getProps([
|
|
22460
22480
|
"x",
|
|
@@ -22480,8 +22500,6 @@ class Element {
|
|
|
22480
22500
|
return ret;
|
|
22481
22501
|
}
|
|
22482
22502
|
}
|
|
22483
|
-
__publicField(Element, "defaults", {});
|
|
22484
|
-
__publicField(Element, "defaultRoutes");
|
|
22485
22503
|
function autoSkip(scale, ticks) {
|
|
22486
22504
|
const tickOpts = scale.options.ticks;
|
|
22487
22505
|
const determinedMaxTicks = determineMaxTicks(scale);
|
|
@@ -23864,6 +23882,34 @@ class Scale extends Element {
|
|
|
23864
23882
|
return (this.isHorizontal() ? this.width : this.height) / fontSize;
|
|
23865
23883
|
}
|
|
23866
23884
|
}
|
|
23885
|
+
function clipSelf(ctx, element, endAngle) {
|
|
23886
|
+
const { startAngle, x, y, outerRadius, innerRadius, options } = element;
|
|
23887
|
+
const { borderWidth, borderJoinStyle } = options;
|
|
23888
|
+
const outerAngleClip = Math.min(borderWidth / outerRadius, _normalizeAngle(startAngle - endAngle));
|
|
23889
|
+
ctx.beginPath();
|
|
23890
|
+
ctx.arc(x, y, outerRadius - borderWidth / 2, startAngle + outerAngleClip / 2, endAngle - outerAngleClip / 2);
|
|
23891
|
+
if (innerRadius > 0) {
|
|
23892
|
+
const innerAngleClip = Math.min(borderWidth / innerRadius, _normalizeAngle(startAngle - endAngle));
|
|
23893
|
+
ctx.arc(x, y, innerRadius + borderWidth / 2, endAngle - innerAngleClip / 2, startAngle + innerAngleClip / 2, true);
|
|
23894
|
+
} else {
|
|
23895
|
+
const clipWidth = Math.min(borderWidth / 2, outerRadius * _normalizeAngle(startAngle - endAngle));
|
|
23896
|
+
if (borderJoinStyle === "round") {
|
|
23897
|
+
ctx.arc(x, y, clipWidth, endAngle - PI / 2, startAngle + PI / 2, true);
|
|
23898
|
+
} else if (borderJoinStyle === "bevel") {
|
|
23899
|
+
const r = 2 * clipWidth * clipWidth;
|
|
23900
|
+
const endX = -r * Math.cos(endAngle + PI / 2) + x;
|
|
23901
|
+
const endY = -r * Math.sin(endAngle + PI / 2) + y;
|
|
23902
|
+
const startX = r * Math.cos(startAngle + PI / 2) + x;
|
|
23903
|
+
const startY = r * Math.sin(startAngle + PI / 2) + y;
|
|
23904
|
+
ctx.lineTo(endX, endY);
|
|
23905
|
+
ctx.lineTo(startX, startY);
|
|
23906
|
+
}
|
|
23907
|
+
}
|
|
23908
|
+
ctx.closePath();
|
|
23909
|
+
ctx.moveTo(0, 0);
|
|
23910
|
+
ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height);
|
|
23911
|
+
ctx.clip("evenodd");
|
|
23912
|
+
}
|
|
23867
23913
|
function clipArc(ctx, element, endAngle) {
|
|
23868
23914
|
const { startAngle, pixelMargin, x, y, outerRadius, innerRadius } = element;
|
|
23869
23915
|
let angleMargin = pixelMargin / outerRadius;
|
|
@@ -23990,7 +24036,7 @@ function drawArc(ctx, element, offset, spacing, circular) {
|
|
|
23990
24036
|
}
|
|
23991
24037
|
function drawBorder(ctx, element, offset, spacing, circular) {
|
|
23992
24038
|
const { fullCircles, startAngle, circumference, options } = element;
|
|
23993
|
-
const { borderWidth, borderJoinStyle, borderDash, borderDashOffset } = options;
|
|
24039
|
+
const { borderWidth, borderJoinStyle, borderDash, borderDashOffset, borderRadius } = options;
|
|
23994
24040
|
const inner = options.borderAlign === "inner";
|
|
23995
24041
|
if (!borderWidth) {
|
|
23996
24042
|
return;
|
|
@@ -24017,21 +24063,46 @@ function drawBorder(ctx, element, offset, spacing, circular) {
|
|
|
24017
24063
|
if (inner) {
|
|
24018
24064
|
clipArc(ctx, element, endAngle);
|
|
24019
24065
|
}
|
|
24066
|
+
if (options.selfJoin && endAngle - startAngle >= PI && borderRadius === 0 && borderJoinStyle !== "miter") {
|
|
24067
|
+
clipSelf(ctx, element, endAngle);
|
|
24068
|
+
}
|
|
24020
24069
|
if (!fullCircles) {
|
|
24021
24070
|
pathArc(ctx, element, offset, spacing, endAngle, circular);
|
|
24022
24071
|
ctx.stroke();
|
|
24023
24072
|
}
|
|
24024
24073
|
}
|
|
24025
24074
|
class ArcElement extends Element {
|
|
24075
|
+
static id = "arc";
|
|
24076
|
+
static defaults = {
|
|
24077
|
+
borderAlign: "center",
|
|
24078
|
+
borderColor: "#fff",
|
|
24079
|
+
borderDash: [],
|
|
24080
|
+
borderDashOffset: 0,
|
|
24081
|
+
borderJoinStyle: void 0,
|
|
24082
|
+
borderRadius: 0,
|
|
24083
|
+
borderWidth: 2,
|
|
24084
|
+
offset: 0,
|
|
24085
|
+
spacing: 0,
|
|
24086
|
+
angle: void 0,
|
|
24087
|
+
circular: true,
|
|
24088
|
+
selfJoin: false
|
|
24089
|
+
};
|
|
24090
|
+
static defaultRoutes = {
|
|
24091
|
+
backgroundColor: "backgroundColor"
|
|
24092
|
+
};
|
|
24093
|
+
static descriptors = {
|
|
24094
|
+
_scriptable: true,
|
|
24095
|
+
_indexable: (name2) => name2 !== "borderDash"
|
|
24096
|
+
};
|
|
24097
|
+
circumference;
|
|
24098
|
+
endAngle;
|
|
24099
|
+
fullCircles;
|
|
24100
|
+
innerRadius;
|
|
24101
|
+
outerRadius;
|
|
24102
|
+
pixelMargin;
|
|
24103
|
+
startAngle;
|
|
24026
24104
|
constructor(cfg) {
|
|
24027
24105
|
super();
|
|
24028
|
-
__publicField(this, "circumference");
|
|
24029
|
-
__publicField(this, "endAngle");
|
|
24030
|
-
__publicField(this, "fullCircles");
|
|
24031
|
-
__publicField(this, "innerRadius");
|
|
24032
|
-
__publicField(this, "outerRadius");
|
|
24033
|
-
__publicField(this, "pixelMargin");
|
|
24034
|
-
__publicField(this, "startAngle");
|
|
24035
24106
|
this.options = void 0;
|
|
24036
24107
|
this.circumference = void 0;
|
|
24037
24108
|
this.startAngle = void 0;
|
|
@@ -24109,27 +24180,6 @@ class ArcElement extends Element {
|
|
|
24109
24180
|
ctx.restore();
|
|
24110
24181
|
}
|
|
24111
24182
|
}
|
|
24112
|
-
__publicField(ArcElement, "id", "arc");
|
|
24113
|
-
__publicField(ArcElement, "defaults", {
|
|
24114
|
-
borderAlign: "center",
|
|
24115
|
-
borderColor: "#fff",
|
|
24116
|
-
borderDash: [],
|
|
24117
|
-
borderDashOffset: 0,
|
|
24118
|
-
borderJoinStyle: void 0,
|
|
24119
|
-
borderRadius: 0,
|
|
24120
|
-
borderWidth: 2,
|
|
24121
|
-
offset: 0,
|
|
24122
|
-
spacing: 0,
|
|
24123
|
-
angle: void 0,
|
|
24124
|
-
circular: true
|
|
24125
|
-
});
|
|
24126
|
-
__publicField(ArcElement, "defaultRoutes", {
|
|
24127
|
-
backgroundColor: "backgroundColor"
|
|
24128
|
-
});
|
|
24129
|
-
__publicField(ArcElement, "descriptors", {
|
|
24130
|
-
_scriptable: true,
|
|
24131
|
-
_indexable: (name2) => name2 !== "borderDash"
|
|
24132
|
-
});
|
|
24133
24183
|
function inRange$1(el, pos, axis, useFinalPosition) {
|
|
24134
24184
|
const options = el.options;
|
|
24135
24185
|
const { [axis]: value } = el.getProps([
|
|
@@ -24138,11 +24188,31 @@ function inRange$1(el, pos, axis, useFinalPosition) {
|
|
|
24138
24188
|
return Math.abs(pos - value) < options.radius + options.hitRadius;
|
|
24139
24189
|
}
|
|
24140
24190
|
class PointElement extends Element {
|
|
24191
|
+
static id = "point";
|
|
24192
|
+
parsed;
|
|
24193
|
+
skip;
|
|
24194
|
+
stop;
|
|
24195
|
+
/**
|
|
24196
|
+
* @type {any}
|
|
24197
|
+
*/
|
|
24198
|
+
static defaults = {
|
|
24199
|
+
borderWidth: 1,
|
|
24200
|
+
hitRadius: 1,
|
|
24201
|
+
hoverBorderWidth: 1,
|
|
24202
|
+
hoverRadius: 4,
|
|
24203
|
+
pointStyle: "circle",
|
|
24204
|
+
radius: 3,
|
|
24205
|
+
rotation: 0
|
|
24206
|
+
};
|
|
24207
|
+
/**
|
|
24208
|
+
* @type {any}
|
|
24209
|
+
*/
|
|
24210
|
+
static defaultRoutes = {
|
|
24211
|
+
backgroundColor: "backgroundColor",
|
|
24212
|
+
borderColor: "borderColor"
|
|
24213
|
+
};
|
|
24141
24214
|
constructor(cfg) {
|
|
24142
24215
|
super();
|
|
24143
|
-
__publicField(this, "parsed");
|
|
24144
|
-
__publicField(this, "skip");
|
|
24145
|
-
__publicField(this, "stop");
|
|
24146
24216
|
this.options = void 0;
|
|
24147
24217
|
this.parsed = void 0;
|
|
24148
24218
|
this.skip = void 0;
|
|
@@ -24197,26 +24267,6 @@ class PointElement extends Element {
|
|
|
24197
24267
|
return options.radius + options.hitRadius;
|
|
24198
24268
|
}
|
|
24199
24269
|
}
|
|
24200
|
-
__publicField(PointElement, "id", "point");
|
|
24201
|
-
/**
|
|
24202
|
-
* @type {any}
|
|
24203
|
-
*/
|
|
24204
|
-
__publicField(PointElement, "defaults", {
|
|
24205
|
-
borderWidth: 1,
|
|
24206
|
-
hitRadius: 1,
|
|
24207
|
-
hoverBorderWidth: 1,
|
|
24208
|
-
hoverRadius: 4,
|
|
24209
|
-
pointStyle: "circle",
|
|
24210
|
-
radius: 3,
|
|
24211
|
-
rotation: 0
|
|
24212
|
-
});
|
|
24213
|
-
/**
|
|
24214
|
-
* @type {any}
|
|
24215
|
-
*/
|
|
24216
|
-
__publicField(PointElement, "defaultRoutes", {
|
|
24217
|
-
backgroundColor: "backgroundColor",
|
|
24218
|
-
borderColor: "borderColor"
|
|
24219
|
-
});
|
|
24220
24270
|
function getBarBounds(bar, useFinalPosition) {
|
|
24221
24271
|
const { x, y, base: base2, width, height } = bar.getProps([
|
|
24222
24272
|
"x",
|
|
@@ -24331,6 +24381,18 @@ function inflateRect(rect, amount, refRect = {}) {
|
|
|
24331
24381
|
};
|
|
24332
24382
|
}
|
|
24333
24383
|
class BarElement extends Element {
|
|
24384
|
+
static id = "bar";
|
|
24385
|
+
static defaults = {
|
|
24386
|
+
borderSkipped: "start",
|
|
24387
|
+
borderWidth: 0,
|
|
24388
|
+
borderRadius: 0,
|
|
24389
|
+
inflateAmount: "auto",
|
|
24390
|
+
pointStyle: void 0
|
|
24391
|
+
};
|
|
24392
|
+
static defaultRoutes = {
|
|
24393
|
+
backgroundColor: "backgroundColor",
|
|
24394
|
+
borderColor: "borderColor"
|
|
24395
|
+
};
|
|
24334
24396
|
constructor(cfg) {
|
|
24335
24397
|
super();
|
|
24336
24398
|
this.options = void 0;
|
|
@@ -24387,18 +24449,6 @@ class BarElement extends Element {
|
|
|
24387
24449
|
return axis === "x" ? this.width / 2 : this.height / 2;
|
|
24388
24450
|
}
|
|
24389
24451
|
}
|
|
24390
|
-
__publicField(BarElement, "id", "bar");
|
|
24391
|
-
__publicField(BarElement, "defaults", {
|
|
24392
|
-
borderSkipped: "start",
|
|
24393
|
-
borderWidth: 0,
|
|
24394
|
-
borderRadius: 0,
|
|
24395
|
-
inflateAmount: "auto",
|
|
24396
|
-
pointStyle: void 0
|
|
24397
|
-
});
|
|
24398
|
-
__publicField(BarElement, "defaultRoutes", {
|
|
24399
|
-
backgroundColor: "backgroundColor",
|
|
24400
|
-
borderColor: "borderColor"
|
|
24401
|
-
});
|
|
24402
24452
|
const INTERVALS = {
|
|
24403
24453
|
millisecond: {
|
|
24404
24454
|
common: true,
|
|
@@ -24535,6 +24585,26 @@ function ticksFromTimestamps(scale, values, majorUnit) {
|
|
|
24535
24585
|
return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map3, majorUnit);
|
|
24536
24586
|
}
|
|
24537
24587
|
class TimeScale extends Scale {
|
|
24588
|
+
static id = "time";
|
|
24589
|
+
static defaults = {
|
|
24590
|
+
bounds: "data",
|
|
24591
|
+
adapters: {},
|
|
24592
|
+
time: {
|
|
24593
|
+
parser: false,
|
|
24594
|
+
unit: false,
|
|
24595
|
+
round: false,
|
|
24596
|
+
isoWeekday: false,
|
|
24597
|
+
minUnit: "millisecond",
|
|
24598
|
+
displayFormats: {}
|
|
24599
|
+
},
|
|
24600
|
+
ticks: {
|
|
24601
|
+
source: "auto",
|
|
24602
|
+
callback: false,
|
|
24603
|
+
major: {
|
|
24604
|
+
enabled: false
|
|
24605
|
+
}
|
|
24606
|
+
}
|
|
24607
|
+
};
|
|
24538
24608
|
constructor(props2) {
|
|
24539
24609
|
super(props2);
|
|
24540
24610
|
this._cache = {
|
|
@@ -24801,26 +24871,6 @@ class TimeScale extends Scale {
|
|
|
24801
24871
|
return _arrayUnique(values.sort(sorter));
|
|
24802
24872
|
}
|
|
24803
24873
|
}
|
|
24804
|
-
__publicField(TimeScale, "id", "time");
|
|
24805
|
-
__publicField(TimeScale, "defaults", {
|
|
24806
|
-
bounds: "data",
|
|
24807
|
-
adapters: {},
|
|
24808
|
-
time: {
|
|
24809
|
-
parser: false,
|
|
24810
|
-
unit: false,
|
|
24811
|
-
round: false,
|
|
24812
|
-
isoWeekday: false,
|
|
24813
|
-
minUnit: "millisecond",
|
|
24814
|
-
displayFormats: {}
|
|
24815
|
-
},
|
|
24816
|
-
ticks: {
|
|
24817
|
-
source: "auto",
|
|
24818
|
-
callback: false,
|
|
24819
|
-
major: {
|
|
24820
|
-
enabled: false
|
|
24821
|
-
}
|
|
24822
|
-
}
|
|
24823
|
-
});
|
|
24824
24874
|
function interpolate(table, val, reverse) {
|
|
24825
24875
|
let lo = 0;
|
|
24826
24876
|
let hi = table.length - 1;
|
|
@@ -24842,6 +24892,8 @@ function interpolate(table, val, reverse) {
|
|
|
24842
24892
|
return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;
|
|
24843
24893
|
}
|
|
24844
24894
|
class TimeSeriesScale extends TimeScale {
|
|
24895
|
+
static id = "timeseries";
|
|
24896
|
+
static defaults = TimeScale.defaults;
|
|
24845
24897
|
constructor(props2) {
|
|
24846
24898
|
super(props2);
|
|
24847
24899
|
this._table = [];
|
|
@@ -24927,8 +24979,6 @@ class TimeSeriesScale extends TimeScale {
|
|
|
24927
24979
|
return interpolate(this._table, decimal * this._tableRange + this._minPos, true);
|
|
24928
24980
|
}
|
|
24929
24981
|
}
|
|
24930
|
-
__publicField(TimeSeriesScale, "id", "timeseries");
|
|
24931
|
-
__publicField(TimeSeriesScale, "defaults", TimeScale.defaults);
|
|
24932
24982
|
/*!
|
|
24933
24983
|
* chartjs-plugin-datalabels v2.2.0
|
|
24934
24984
|
* https://chartjs-plugin-datalabels.netlify.app
|
|
@@ -25631,8 +25681,9 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25631
25681
|
__name: "Edit",
|
|
25632
25682
|
props: {
|
|
25633
25683
|
element: {},
|
|
25684
|
+
isDragged: { type: Boolean },
|
|
25634
25685
|
isFocused: { type: Boolean },
|
|
25635
|
-
|
|
25686
|
+
isReadonly: { type: Boolean }
|
|
25636
25687
|
},
|
|
25637
25688
|
emits: ["save"],
|
|
25638
25689
|
setup(__props) {
|
|
@@ -25642,7 +25693,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25642
25693
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
|
|
25643
25694
|
!_ctx.element.data.url ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$3), {
|
|
25644
25695
|
key: 0,
|
|
25645
|
-
"is-disabled": _ctx.
|
|
25696
|
+
"is-disabled": _ctx.isReadonly,
|
|
25646
25697
|
"is-focused": _ctx.isFocused,
|
|
25647
25698
|
name: `${vue.unref(index_default).name} component`,
|
|
25648
25699
|
"active-icon": "mdi-arrow-up",
|
|
@@ -25669,7 +25720,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
25669
25720
|
};
|
|
25670
25721
|
}
|
|
25671
25722
|
});
|
|
25672
|
-
const Edit = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
25723
|
+
const Edit = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-d53be3ce"]]);
|
|
25673
25724
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
25674
25725
|
__name: "SideToolbar",
|
|
25675
25726
|
props: {
|
|
@@ -25722,12 +25773,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
25722
25773
|
emit2("save", elementData);
|
|
25723
25774
|
};
|
|
25724
25775
|
return (_ctx, _cache) => {
|
|
25725
|
-
var _a;
|
|
25726
25776
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
25727
25777
|
vue.createVNode(vue.unref(_sfc_main$4), {
|
|
25728
25778
|
extensions: [".png", ".jpg", ".jpeg"],
|
|
25729
25779
|
"public-url": _ctx.element.data.url,
|
|
25730
|
-
url:
|
|
25780
|
+
url: _ctx.element.data.assets?.url,
|
|
25731
25781
|
class: "mx-auto",
|
|
25732
25782
|
"upload-label": "Upload image",
|
|
25733
25783
|
onInput: save2
|
package/dist/index.css
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
1
|
import "./index.css";
|
|
5
2
|
import { ref, reactive, computed, toValue, unref, onMounted, isRef, watch, provide, readonly, watchEffect, nextTick, shallowRef, warn, getCurrentInstance, onUnmounted, inject, resolveComponent, TransitionGroup, defineComponent, h, createElementBlock, createCommentVNode, openBlock, Fragment as Fragment$1, createBlock, withCtx, createVNode, createTextVNode, toDisplayString, normalizeClass, createElementVNode } from "vue";
|
|
6
3
|
var type = "IMAGE";
|
|
@@ -777,8 +774,8 @@ Stack.prototype.set = stackSet;
|
|
|
777
774
|
var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
|
|
778
775
|
var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
|
|
779
776
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
780
|
-
var
|
|
781
|
-
|
|
777
|
+
var Buffer = moduleExports ? root.Buffer : void 0;
|
|
778
|
+
Buffer ? Buffer.allocUnsafe : void 0;
|
|
782
779
|
function cloneBuffer(buffer, isDeep) {
|
|
783
780
|
{
|
|
784
781
|
return buffer.slice();
|
|
@@ -853,10 +850,10 @@ function initCloneArray(array2) {
|
|
|
853
850
|
}
|
|
854
851
|
return result;
|
|
855
852
|
}
|
|
856
|
-
var
|
|
853
|
+
var Uint8Array = root.Uint8Array;
|
|
857
854
|
function cloneArrayBuffer(arrayBuffer) {
|
|
858
855
|
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
|
859
|
-
new
|
|
856
|
+
new Uint8Array(result).set(new Uint8Array(arrayBuffer));
|
|
860
857
|
return result;
|
|
861
858
|
}
|
|
862
859
|
function cloneDataView(dataView, isDeep) {
|
|
@@ -1087,7 +1084,7 @@ function equalByTag(object2, other, tag, bitmask, customizer, equalFunc, stack)
|
|
|
1087
1084
|
object2 = object2.buffer;
|
|
1088
1085
|
other = other.buffer;
|
|
1089
1086
|
case arrayBufferTag:
|
|
1090
|
-
if (object2.byteLength != other.byteLength || !equalFunc(new
|
|
1087
|
+
if (object2.byteLength != other.byteLength || !equalFunc(new Uint8Array(object2), new Uint8Array(other))) {
|
|
1091
1088
|
return false;
|
|
1092
1089
|
}
|
|
1093
1090
|
return true;
|
|
@@ -1531,10 +1528,10 @@ function uniqueId(prefix) {
|
|
|
1531
1528
|
var id = ++idCounter;
|
|
1532
1529
|
return toString$1(prefix) + id;
|
|
1533
1530
|
}
|
|
1534
|
-
var
|
|
1531
|
+
var __defProp = Object.defineProperty;
|
|
1535
1532
|
var __export = (target, all) => {
|
|
1536
1533
|
for (var name2 in all)
|
|
1537
|
-
|
|
1534
|
+
__defProp(target, name2, { get: all[name2], enumerable: true });
|
|
1538
1535
|
};
|
|
1539
1536
|
var InsertLocation = /* @__PURE__ */ ((InsertLocation2) => {
|
|
1540
1537
|
InsertLocation2["AddBefore"] = "ADD_BEFORE";
|
|
@@ -4342,7 +4339,7 @@ async function installDevtoolsPlugin(app) {
|
|
|
4342
4339
|
if (!isClient) {
|
|
4343
4340
|
return;
|
|
4344
4341
|
}
|
|
4345
|
-
const devtools = await import("./index-
|
|
4342
|
+
const devtools = await import("./index-CjgztT59.js");
|
|
4346
4343
|
devtools.setupDevtoolsPlugin({
|
|
4347
4344
|
id: "vee-validate-devtools-plugin",
|
|
4348
4345
|
label: "VeeValidate Plugin",
|
|
@@ -16633,7 +16630,7 @@ const cut = (originRange, targetPos) => ({ editor, tr }) => {
|
|
|
16633
16630
|
tr.deleteRange(originRange.from, originRange.to);
|
|
16634
16631
|
const newPos = tr.mapping.map(targetPos);
|
|
16635
16632
|
tr.insert(newPos, contentSlice.content);
|
|
16636
|
-
tr.setSelection(new TextSelection(tr.doc.resolve(newPos - 1)));
|
|
16633
|
+
tr.setSelection(new TextSelection(tr.doc.resolve(Math.max(newPos - 1, 0))));
|
|
16637
16634
|
return true;
|
|
16638
16635
|
};
|
|
16639
16636
|
const deleteCurrentNode = () => ({ tr, dispatch }) => {
|
|
@@ -18522,6 +18519,26 @@ function markPasteRule(config) {
|
|
|
18522
18519
|
}
|
|
18523
18520
|
});
|
|
18524
18521
|
}
|
|
18522
|
+
function canInsertNode(state, nodeType) {
|
|
18523
|
+
const { selection } = state;
|
|
18524
|
+
const { $from } = selection;
|
|
18525
|
+
if (selection instanceof NodeSelection) {
|
|
18526
|
+
const index2 = $from.index();
|
|
18527
|
+
const parent = $from.parent;
|
|
18528
|
+
return parent.canReplaceWith(index2, index2 + 1, nodeType);
|
|
18529
|
+
}
|
|
18530
|
+
let depth = $from.depth;
|
|
18531
|
+
while (depth >= 0) {
|
|
18532
|
+
const index2 = $from.index(depth);
|
|
18533
|
+
const parent = $from.node(depth);
|
|
18534
|
+
const match = parent.contentMatchAt(index2);
|
|
18535
|
+
if (match.matchType(nodeType)) {
|
|
18536
|
+
return true;
|
|
18537
|
+
}
|
|
18538
|
+
depth -= 1;
|
|
18539
|
+
}
|
|
18540
|
+
return false;
|
|
18541
|
+
}
|
|
18525
18542
|
Extension.create({
|
|
18526
18543
|
name: "characterCount",
|
|
18527
18544
|
addOptions() {
|
|
@@ -20122,6 +20139,9 @@ const HorizontalRule = Node2.create({
|
|
|
20122
20139
|
addCommands() {
|
|
20123
20140
|
return {
|
|
20124
20141
|
setHorizontalRule: () => ({ chain, state }) => {
|
|
20142
|
+
if (!canInsertNode(state, state.schema.nodes[this.name])) {
|
|
20143
|
+
return false;
|
|
20144
|
+
}
|
|
20125
20145
|
const { selection } = state;
|
|
20126
20146
|
const { $from: $originFrom, $to: $originTo } = selection;
|
|
20127
20147
|
const currentChain = chain();
|
|
@@ -20761,10 +20781,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
20761
20781
|
const [urlInput] = defineField("url");
|
|
20762
20782
|
const hasAsset = computed(() => file.value || urlInput.value);
|
|
20763
20783
|
const hasChanges = computed(
|
|
20764
|
-
() =>
|
|
20765
|
-
var _a;
|
|
20766
|
-
return props2.url !== (urlInput.value || ((_a = file.value) == null ? void 0 : _a.url) || null);
|
|
20767
|
-
}
|
|
20784
|
+
() => props2.url !== (urlInput.value || file.value?.url || null)
|
|
20768
20785
|
);
|
|
20769
20786
|
const fileName = computed(() => {
|
|
20770
20787
|
if (!file.value || !file.value.url) return;
|
|
@@ -20833,7 +20850,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
20833
20850
|
default: withCtx(() => _cache[4] || (_cache[4] = [
|
|
20834
20851
|
createTextVNode("Edit")
|
|
20835
20852
|
])),
|
|
20836
|
-
_: 1
|
|
20853
|
+
_: 1,
|
|
20854
|
+
__: [4]
|
|
20837
20855
|
})) : (openBlock(), createElementBlock(Fragment$1, { key: 4 }, [
|
|
20838
20856
|
hasChanges.value ? (openBlock(), createBlock(_component_VBtn, {
|
|
20839
20857
|
key: 0,
|
|
@@ -20843,7 +20861,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
20843
20861
|
default: withCtx(() => _cache[5] || (_cache[5] = [
|
|
20844
20862
|
createTextVNode("Save")
|
|
20845
20863
|
])),
|
|
20846
|
-
_: 1
|
|
20864
|
+
_: 1,
|
|
20865
|
+
__: [5]
|
|
20847
20866
|
}, 8, ["disabled"])) : createCommentVNode("", true),
|
|
20848
20867
|
hasChanges.value || _ctx.url ? (openBlock(), createBlock(_component_VBtn, {
|
|
20849
20868
|
key: 1,
|
|
@@ -20853,7 +20872,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
20853
20872
|
default: withCtx(() => _cache[6] || (_cache[6] = [
|
|
20854
20873
|
createTextVNode(" Cancel ")
|
|
20855
20874
|
])),
|
|
20856
|
-
_: 1
|
|
20875
|
+
_: 1,
|
|
20876
|
+
__: [6]
|
|
20857
20877
|
}, 8, ["disabled"])) : createCommentVNode("", true)
|
|
20858
20878
|
], 64))
|
|
20859
20879
|
]),
|
|
@@ -21494,7 +21514,7 @@ class Color {
|
|
|
21494
21514
|
}
|
|
21495
21515
|
}
|
|
21496
21516
|
/*!
|
|
21497
|
-
* Chart.js v4.
|
|
21517
|
+
* Chart.js v4.5.0
|
|
21498
21518
|
* https://www.chartjs.org
|
|
21499
21519
|
* (c) 2025 Chart.js Contributors
|
|
21500
21520
|
* Released under the MIT License
|
|
@@ -22391,7 +22411,7 @@ function _isDomSupported() {
|
|
|
22391
22411
|
return passiveSupported;
|
|
22392
22412
|
})();
|
|
22393
22413
|
/*!
|
|
22394
|
-
* Chart.js v4.
|
|
22414
|
+
* Chart.js v4.5.0
|
|
22395
22415
|
* https://www.chartjs.org
|
|
22396
22416
|
* (c) 2025 Chart.js Contributors
|
|
22397
22417
|
* Released under the MIT License
|
|
@@ -22400,10 +22420,6 @@ function abstract() {
|
|
|
22400
22420
|
throw new Error("This method is not implemented: Check that a complete date adapter is provided.");
|
|
22401
22421
|
}
|
|
22402
22422
|
class DateAdapterBase {
|
|
22403
|
-
constructor(options) {
|
|
22404
|
-
__publicField(this, "options");
|
|
22405
|
-
this.options = options || {};
|
|
22406
|
-
}
|
|
22407
22423
|
/**
|
|
22408
22424
|
* Override default date adapter methods.
|
|
22409
22425
|
* Accepts type parameter to define options type.
|
|
@@ -22417,6 +22433,10 @@ class DateAdapterBase {
|
|
|
22417
22433
|
static override(members) {
|
|
22418
22434
|
Object.assign(DateAdapterBase.prototype, members);
|
|
22419
22435
|
}
|
|
22436
|
+
options;
|
|
22437
|
+
constructor(options) {
|
|
22438
|
+
this.options = options || {};
|
|
22439
|
+
}
|
|
22420
22440
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
22421
22441
|
init() {
|
|
22422
22442
|
}
|
|
@@ -22446,13 +22466,13 @@ var adapters = {
|
|
|
22446
22466
|
_date: DateAdapterBase
|
|
22447
22467
|
};
|
|
22448
22468
|
class Element {
|
|
22449
|
-
|
|
22450
|
-
|
|
22451
|
-
|
|
22452
|
-
|
|
22453
|
-
|
|
22454
|
-
|
|
22455
|
-
|
|
22469
|
+
static defaults = {};
|
|
22470
|
+
static defaultRoutes = void 0;
|
|
22471
|
+
x;
|
|
22472
|
+
y;
|
|
22473
|
+
active = false;
|
|
22474
|
+
options;
|
|
22475
|
+
$animations;
|
|
22456
22476
|
tooltipPosition(useFinalPosition) {
|
|
22457
22477
|
const { x, y } = this.getProps([
|
|
22458
22478
|
"x",
|
|
@@ -22478,8 +22498,6 @@ class Element {
|
|
|
22478
22498
|
return ret;
|
|
22479
22499
|
}
|
|
22480
22500
|
}
|
|
22481
|
-
__publicField(Element, "defaults", {});
|
|
22482
|
-
__publicField(Element, "defaultRoutes");
|
|
22483
22501
|
function autoSkip(scale, ticks) {
|
|
22484
22502
|
const tickOpts = scale.options.ticks;
|
|
22485
22503
|
const determinedMaxTicks = determineMaxTicks(scale);
|
|
@@ -23862,6 +23880,34 @@ class Scale extends Element {
|
|
|
23862
23880
|
return (this.isHorizontal() ? this.width : this.height) / fontSize;
|
|
23863
23881
|
}
|
|
23864
23882
|
}
|
|
23883
|
+
function clipSelf(ctx, element, endAngle) {
|
|
23884
|
+
const { startAngle, x, y, outerRadius, innerRadius, options } = element;
|
|
23885
|
+
const { borderWidth, borderJoinStyle } = options;
|
|
23886
|
+
const outerAngleClip = Math.min(borderWidth / outerRadius, _normalizeAngle(startAngle - endAngle));
|
|
23887
|
+
ctx.beginPath();
|
|
23888
|
+
ctx.arc(x, y, outerRadius - borderWidth / 2, startAngle + outerAngleClip / 2, endAngle - outerAngleClip / 2);
|
|
23889
|
+
if (innerRadius > 0) {
|
|
23890
|
+
const innerAngleClip = Math.min(borderWidth / innerRadius, _normalizeAngle(startAngle - endAngle));
|
|
23891
|
+
ctx.arc(x, y, innerRadius + borderWidth / 2, endAngle - innerAngleClip / 2, startAngle + innerAngleClip / 2, true);
|
|
23892
|
+
} else {
|
|
23893
|
+
const clipWidth = Math.min(borderWidth / 2, outerRadius * _normalizeAngle(startAngle - endAngle));
|
|
23894
|
+
if (borderJoinStyle === "round") {
|
|
23895
|
+
ctx.arc(x, y, clipWidth, endAngle - PI / 2, startAngle + PI / 2, true);
|
|
23896
|
+
} else if (borderJoinStyle === "bevel") {
|
|
23897
|
+
const r = 2 * clipWidth * clipWidth;
|
|
23898
|
+
const endX = -r * Math.cos(endAngle + PI / 2) + x;
|
|
23899
|
+
const endY = -r * Math.sin(endAngle + PI / 2) + y;
|
|
23900
|
+
const startX = r * Math.cos(startAngle + PI / 2) + x;
|
|
23901
|
+
const startY = r * Math.sin(startAngle + PI / 2) + y;
|
|
23902
|
+
ctx.lineTo(endX, endY);
|
|
23903
|
+
ctx.lineTo(startX, startY);
|
|
23904
|
+
}
|
|
23905
|
+
}
|
|
23906
|
+
ctx.closePath();
|
|
23907
|
+
ctx.moveTo(0, 0);
|
|
23908
|
+
ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height);
|
|
23909
|
+
ctx.clip("evenodd");
|
|
23910
|
+
}
|
|
23865
23911
|
function clipArc(ctx, element, endAngle) {
|
|
23866
23912
|
const { startAngle, pixelMargin, x, y, outerRadius, innerRadius } = element;
|
|
23867
23913
|
let angleMargin = pixelMargin / outerRadius;
|
|
@@ -23988,7 +24034,7 @@ function drawArc(ctx, element, offset, spacing, circular) {
|
|
|
23988
24034
|
}
|
|
23989
24035
|
function drawBorder(ctx, element, offset, spacing, circular) {
|
|
23990
24036
|
const { fullCircles, startAngle, circumference, options } = element;
|
|
23991
|
-
const { borderWidth, borderJoinStyle, borderDash, borderDashOffset } = options;
|
|
24037
|
+
const { borderWidth, borderJoinStyle, borderDash, borderDashOffset, borderRadius } = options;
|
|
23992
24038
|
const inner = options.borderAlign === "inner";
|
|
23993
24039
|
if (!borderWidth) {
|
|
23994
24040
|
return;
|
|
@@ -24015,21 +24061,46 @@ function drawBorder(ctx, element, offset, spacing, circular) {
|
|
|
24015
24061
|
if (inner) {
|
|
24016
24062
|
clipArc(ctx, element, endAngle);
|
|
24017
24063
|
}
|
|
24064
|
+
if (options.selfJoin && endAngle - startAngle >= PI && borderRadius === 0 && borderJoinStyle !== "miter") {
|
|
24065
|
+
clipSelf(ctx, element, endAngle);
|
|
24066
|
+
}
|
|
24018
24067
|
if (!fullCircles) {
|
|
24019
24068
|
pathArc(ctx, element, offset, spacing, endAngle, circular);
|
|
24020
24069
|
ctx.stroke();
|
|
24021
24070
|
}
|
|
24022
24071
|
}
|
|
24023
24072
|
class ArcElement extends Element {
|
|
24073
|
+
static id = "arc";
|
|
24074
|
+
static defaults = {
|
|
24075
|
+
borderAlign: "center",
|
|
24076
|
+
borderColor: "#fff",
|
|
24077
|
+
borderDash: [],
|
|
24078
|
+
borderDashOffset: 0,
|
|
24079
|
+
borderJoinStyle: void 0,
|
|
24080
|
+
borderRadius: 0,
|
|
24081
|
+
borderWidth: 2,
|
|
24082
|
+
offset: 0,
|
|
24083
|
+
spacing: 0,
|
|
24084
|
+
angle: void 0,
|
|
24085
|
+
circular: true,
|
|
24086
|
+
selfJoin: false
|
|
24087
|
+
};
|
|
24088
|
+
static defaultRoutes = {
|
|
24089
|
+
backgroundColor: "backgroundColor"
|
|
24090
|
+
};
|
|
24091
|
+
static descriptors = {
|
|
24092
|
+
_scriptable: true,
|
|
24093
|
+
_indexable: (name2) => name2 !== "borderDash"
|
|
24094
|
+
};
|
|
24095
|
+
circumference;
|
|
24096
|
+
endAngle;
|
|
24097
|
+
fullCircles;
|
|
24098
|
+
innerRadius;
|
|
24099
|
+
outerRadius;
|
|
24100
|
+
pixelMargin;
|
|
24101
|
+
startAngle;
|
|
24024
24102
|
constructor(cfg) {
|
|
24025
24103
|
super();
|
|
24026
|
-
__publicField(this, "circumference");
|
|
24027
|
-
__publicField(this, "endAngle");
|
|
24028
|
-
__publicField(this, "fullCircles");
|
|
24029
|
-
__publicField(this, "innerRadius");
|
|
24030
|
-
__publicField(this, "outerRadius");
|
|
24031
|
-
__publicField(this, "pixelMargin");
|
|
24032
|
-
__publicField(this, "startAngle");
|
|
24033
24104
|
this.options = void 0;
|
|
24034
24105
|
this.circumference = void 0;
|
|
24035
24106
|
this.startAngle = void 0;
|
|
@@ -24107,27 +24178,6 @@ class ArcElement extends Element {
|
|
|
24107
24178
|
ctx.restore();
|
|
24108
24179
|
}
|
|
24109
24180
|
}
|
|
24110
|
-
__publicField(ArcElement, "id", "arc");
|
|
24111
|
-
__publicField(ArcElement, "defaults", {
|
|
24112
|
-
borderAlign: "center",
|
|
24113
|
-
borderColor: "#fff",
|
|
24114
|
-
borderDash: [],
|
|
24115
|
-
borderDashOffset: 0,
|
|
24116
|
-
borderJoinStyle: void 0,
|
|
24117
|
-
borderRadius: 0,
|
|
24118
|
-
borderWidth: 2,
|
|
24119
|
-
offset: 0,
|
|
24120
|
-
spacing: 0,
|
|
24121
|
-
angle: void 0,
|
|
24122
|
-
circular: true
|
|
24123
|
-
});
|
|
24124
|
-
__publicField(ArcElement, "defaultRoutes", {
|
|
24125
|
-
backgroundColor: "backgroundColor"
|
|
24126
|
-
});
|
|
24127
|
-
__publicField(ArcElement, "descriptors", {
|
|
24128
|
-
_scriptable: true,
|
|
24129
|
-
_indexable: (name2) => name2 !== "borderDash"
|
|
24130
|
-
});
|
|
24131
24181
|
function inRange$1(el, pos, axis, useFinalPosition) {
|
|
24132
24182
|
const options = el.options;
|
|
24133
24183
|
const { [axis]: value } = el.getProps([
|
|
@@ -24136,11 +24186,31 @@ function inRange$1(el, pos, axis, useFinalPosition) {
|
|
|
24136
24186
|
return Math.abs(pos - value) < options.radius + options.hitRadius;
|
|
24137
24187
|
}
|
|
24138
24188
|
class PointElement extends Element {
|
|
24189
|
+
static id = "point";
|
|
24190
|
+
parsed;
|
|
24191
|
+
skip;
|
|
24192
|
+
stop;
|
|
24193
|
+
/**
|
|
24194
|
+
* @type {any}
|
|
24195
|
+
*/
|
|
24196
|
+
static defaults = {
|
|
24197
|
+
borderWidth: 1,
|
|
24198
|
+
hitRadius: 1,
|
|
24199
|
+
hoverBorderWidth: 1,
|
|
24200
|
+
hoverRadius: 4,
|
|
24201
|
+
pointStyle: "circle",
|
|
24202
|
+
radius: 3,
|
|
24203
|
+
rotation: 0
|
|
24204
|
+
};
|
|
24205
|
+
/**
|
|
24206
|
+
* @type {any}
|
|
24207
|
+
*/
|
|
24208
|
+
static defaultRoutes = {
|
|
24209
|
+
backgroundColor: "backgroundColor",
|
|
24210
|
+
borderColor: "borderColor"
|
|
24211
|
+
};
|
|
24139
24212
|
constructor(cfg) {
|
|
24140
24213
|
super();
|
|
24141
|
-
__publicField(this, "parsed");
|
|
24142
|
-
__publicField(this, "skip");
|
|
24143
|
-
__publicField(this, "stop");
|
|
24144
24214
|
this.options = void 0;
|
|
24145
24215
|
this.parsed = void 0;
|
|
24146
24216
|
this.skip = void 0;
|
|
@@ -24195,26 +24265,6 @@ class PointElement extends Element {
|
|
|
24195
24265
|
return options.radius + options.hitRadius;
|
|
24196
24266
|
}
|
|
24197
24267
|
}
|
|
24198
|
-
__publicField(PointElement, "id", "point");
|
|
24199
|
-
/**
|
|
24200
|
-
* @type {any}
|
|
24201
|
-
*/
|
|
24202
|
-
__publicField(PointElement, "defaults", {
|
|
24203
|
-
borderWidth: 1,
|
|
24204
|
-
hitRadius: 1,
|
|
24205
|
-
hoverBorderWidth: 1,
|
|
24206
|
-
hoverRadius: 4,
|
|
24207
|
-
pointStyle: "circle",
|
|
24208
|
-
radius: 3,
|
|
24209
|
-
rotation: 0
|
|
24210
|
-
});
|
|
24211
|
-
/**
|
|
24212
|
-
* @type {any}
|
|
24213
|
-
*/
|
|
24214
|
-
__publicField(PointElement, "defaultRoutes", {
|
|
24215
|
-
backgroundColor: "backgroundColor",
|
|
24216
|
-
borderColor: "borderColor"
|
|
24217
|
-
});
|
|
24218
24268
|
function getBarBounds(bar, useFinalPosition) {
|
|
24219
24269
|
const { x, y, base: base2, width, height } = bar.getProps([
|
|
24220
24270
|
"x",
|
|
@@ -24329,6 +24379,18 @@ function inflateRect(rect, amount, refRect = {}) {
|
|
|
24329
24379
|
};
|
|
24330
24380
|
}
|
|
24331
24381
|
class BarElement extends Element {
|
|
24382
|
+
static id = "bar";
|
|
24383
|
+
static defaults = {
|
|
24384
|
+
borderSkipped: "start",
|
|
24385
|
+
borderWidth: 0,
|
|
24386
|
+
borderRadius: 0,
|
|
24387
|
+
inflateAmount: "auto",
|
|
24388
|
+
pointStyle: void 0
|
|
24389
|
+
};
|
|
24390
|
+
static defaultRoutes = {
|
|
24391
|
+
backgroundColor: "backgroundColor",
|
|
24392
|
+
borderColor: "borderColor"
|
|
24393
|
+
};
|
|
24332
24394
|
constructor(cfg) {
|
|
24333
24395
|
super();
|
|
24334
24396
|
this.options = void 0;
|
|
@@ -24385,18 +24447,6 @@ class BarElement extends Element {
|
|
|
24385
24447
|
return axis === "x" ? this.width / 2 : this.height / 2;
|
|
24386
24448
|
}
|
|
24387
24449
|
}
|
|
24388
|
-
__publicField(BarElement, "id", "bar");
|
|
24389
|
-
__publicField(BarElement, "defaults", {
|
|
24390
|
-
borderSkipped: "start",
|
|
24391
|
-
borderWidth: 0,
|
|
24392
|
-
borderRadius: 0,
|
|
24393
|
-
inflateAmount: "auto",
|
|
24394
|
-
pointStyle: void 0
|
|
24395
|
-
});
|
|
24396
|
-
__publicField(BarElement, "defaultRoutes", {
|
|
24397
|
-
backgroundColor: "backgroundColor",
|
|
24398
|
-
borderColor: "borderColor"
|
|
24399
|
-
});
|
|
24400
24450
|
const INTERVALS = {
|
|
24401
24451
|
millisecond: {
|
|
24402
24452
|
common: true,
|
|
@@ -24533,6 +24583,26 @@ function ticksFromTimestamps(scale, values, majorUnit) {
|
|
|
24533
24583
|
return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map3, majorUnit);
|
|
24534
24584
|
}
|
|
24535
24585
|
class TimeScale extends Scale {
|
|
24586
|
+
static id = "time";
|
|
24587
|
+
static defaults = {
|
|
24588
|
+
bounds: "data",
|
|
24589
|
+
adapters: {},
|
|
24590
|
+
time: {
|
|
24591
|
+
parser: false,
|
|
24592
|
+
unit: false,
|
|
24593
|
+
round: false,
|
|
24594
|
+
isoWeekday: false,
|
|
24595
|
+
minUnit: "millisecond",
|
|
24596
|
+
displayFormats: {}
|
|
24597
|
+
},
|
|
24598
|
+
ticks: {
|
|
24599
|
+
source: "auto",
|
|
24600
|
+
callback: false,
|
|
24601
|
+
major: {
|
|
24602
|
+
enabled: false
|
|
24603
|
+
}
|
|
24604
|
+
}
|
|
24605
|
+
};
|
|
24536
24606
|
constructor(props2) {
|
|
24537
24607
|
super(props2);
|
|
24538
24608
|
this._cache = {
|
|
@@ -24799,26 +24869,6 @@ class TimeScale extends Scale {
|
|
|
24799
24869
|
return _arrayUnique(values.sort(sorter));
|
|
24800
24870
|
}
|
|
24801
24871
|
}
|
|
24802
|
-
__publicField(TimeScale, "id", "time");
|
|
24803
|
-
__publicField(TimeScale, "defaults", {
|
|
24804
|
-
bounds: "data",
|
|
24805
|
-
adapters: {},
|
|
24806
|
-
time: {
|
|
24807
|
-
parser: false,
|
|
24808
|
-
unit: false,
|
|
24809
|
-
round: false,
|
|
24810
|
-
isoWeekday: false,
|
|
24811
|
-
minUnit: "millisecond",
|
|
24812
|
-
displayFormats: {}
|
|
24813
|
-
},
|
|
24814
|
-
ticks: {
|
|
24815
|
-
source: "auto",
|
|
24816
|
-
callback: false,
|
|
24817
|
-
major: {
|
|
24818
|
-
enabled: false
|
|
24819
|
-
}
|
|
24820
|
-
}
|
|
24821
|
-
});
|
|
24822
24872
|
function interpolate(table, val, reverse) {
|
|
24823
24873
|
let lo = 0;
|
|
24824
24874
|
let hi = table.length - 1;
|
|
@@ -24840,6 +24890,8 @@ function interpolate(table, val, reverse) {
|
|
|
24840
24890
|
return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;
|
|
24841
24891
|
}
|
|
24842
24892
|
class TimeSeriesScale extends TimeScale {
|
|
24893
|
+
static id = "timeseries";
|
|
24894
|
+
static defaults = TimeScale.defaults;
|
|
24843
24895
|
constructor(props2) {
|
|
24844
24896
|
super(props2);
|
|
24845
24897
|
this._table = [];
|
|
@@ -24925,8 +24977,6 @@ class TimeSeriesScale extends TimeScale {
|
|
|
24925
24977
|
return interpolate(this._table, decimal * this._tableRange + this._minPos, true);
|
|
24926
24978
|
}
|
|
24927
24979
|
}
|
|
24928
|
-
__publicField(TimeSeriesScale, "id", "timeseries");
|
|
24929
|
-
__publicField(TimeSeriesScale, "defaults", TimeScale.defaults);
|
|
24930
24980
|
/*!
|
|
24931
24981
|
* chartjs-plugin-datalabels v2.2.0
|
|
24932
24982
|
* https://chartjs-plugin-datalabels.netlify.app
|
|
@@ -25629,8 +25679,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
25629
25679
|
__name: "Edit",
|
|
25630
25680
|
props: {
|
|
25631
25681
|
element: {},
|
|
25682
|
+
isDragged: { type: Boolean },
|
|
25632
25683
|
isFocused: { type: Boolean },
|
|
25633
|
-
|
|
25684
|
+
isReadonly: { type: Boolean }
|
|
25634
25685
|
},
|
|
25635
25686
|
emits: ["save"],
|
|
25636
25687
|
setup(__props) {
|
|
@@ -25640,7 +25691,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
25640
25691
|
return openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
25641
25692
|
!_ctx.element.data.url ? (openBlock(), createBlock(unref(_sfc_main$3), {
|
|
25642
25693
|
key: 0,
|
|
25643
|
-
"is-disabled": _ctx.
|
|
25694
|
+
"is-disabled": _ctx.isReadonly,
|
|
25644
25695
|
"is-focused": _ctx.isFocused,
|
|
25645
25696
|
name: `${unref(index_default).name} component`,
|
|
25646
25697
|
"active-icon": "mdi-arrow-up",
|
|
@@ -25667,7 +25718,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
25667
25718
|
};
|
|
25668
25719
|
}
|
|
25669
25720
|
});
|
|
25670
|
-
const Edit = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-
|
|
25721
|
+
const Edit = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-d53be3ce"]]);
|
|
25671
25722
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
25672
25723
|
__name: "SideToolbar",
|
|
25673
25724
|
props: {
|
|
@@ -25720,12 +25771,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
25720
25771
|
emit2("save", elementData);
|
|
25721
25772
|
};
|
|
25722
25773
|
return (_ctx, _cache) => {
|
|
25723
|
-
var _a;
|
|
25724
25774
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
25725
25775
|
createVNode(unref(_sfc_main$4), {
|
|
25726
25776
|
extensions: [".png", ".jpg", ".jpeg"],
|
|
25727
25777
|
"public-url": _ctx.element.data.url,
|
|
25728
|
-
url:
|
|
25778
|
+
url: _ctx.element.data.assets?.url,
|
|
25729
25779
|
class: "mx-auto",
|
|
25730
25780
|
"upload-label": "Upload image",
|
|
25731
25781
|
onInput: save2
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Tailor CMS image element authoring component",
|
|
4
4
|
"author": "Studion <info@gostudion.com> (https://github.com/tailor-cms)",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"version": "1.0
|
|
6
|
+
"version": "1.1.0",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
9
|
"import": "./dist/index.js",
|
|
@@ -19,17 +19,17 @@
|
|
|
19
19
|
"vue": "^3.5.13"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@tailor-cms/eslint-config": "
|
|
22
|
+
"@tailor-cms/eslint-config": "1.1.2",
|
|
23
23
|
"@types/lodash-es": "^4.17.12",
|
|
24
|
-
"@vitejs/plugin-vue": "^
|
|
25
|
-
"typescript": "^5.
|
|
26
|
-
"vite": "^
|
|
27
|
-
"vue-tsc": "^
|
|
28
|
-
"@tailor-cms/ce-image-manifest": "1.0
|
|
24
|
+
"@vitejs/plugin-vue": "^6.0.0",
|
|
25
|
+
"typescript": "^5.8.3",
|
|
26
|
+
"vite": "^7.0.3",
|
|
27
|
+
"vue-tsc": "^3.0.1",
|
|
28
|
+
"@tailor-cms/ce-image-manifest": "1.1.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@tailor-cms/cek-common": "^
|
|
32
|
-
"@tailor-cms/core-components": "^1.0
|
|
31
|
+
"@tailor-cms/cek-common": "^1.3.2",
|
|
32
|
+
"@tailor-cms/core-components": "^1.2.0",
|
|
33
33
|
"lodash-es": "^4.17.21"
|
|
34
34
|
},
|
|
35
35
|
"publishConfig": {
|
|
@@ -37,8 +37,11 @@
|
|
|
37
37
|
},
|
|
38
38
|
"scripts": {
|
|
39
39
|
"dev": "vite build --watch",
|
|
40
|
-
"build": "vue-tsc && vite build",
|
|
41
|
-
"lint": "eslint
|
|
42
|
-
"lint:fix": "pnpm lint --fix"
|
|
40
|
+
"build": "pnpm nuke:dist && vue-tsc && vite build",
|
|
41
|
+
"lint": "eslint ./src",
|
|
42
|
+
"lint:fix": "pnpm lint --fix",
|
|
43
|
+
"nuke": "pnpm dlx del-cli dist node_modules",
|
|
44
|
+
"nuke:dist": "pnpm dlx del-cli dist",
|
|
45
|
+
"prepublish": "pnpm build"
|
|
43
46
|
}
|
|
44
47
|
}
|