modern-idoc 0.9.5 → 0.9.7
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/index.cjs +67 -28
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.mjs +67 -28
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -251,6 +251,7 @@ class RawWeakMap {
|
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
+
const internalSymbol = Symbol("internal");
|
|
254
255
|
const propertiesSymbol = Symbol("properties");
|
|
255
256
|
const initedSymbol = Symbol("inited");
|
|
256
257
|
function getDeclarations(constructor) {
|
|
@@ -264,11 +265,18 @@ function getDeclarations(constructor) {
|
|
|
264
265
|
}
|
|
265
266
|
return declarations;
|
|
266
267
|
}
|
|
267
|
-
function getPropertyInternalKey(key) {
|
|
268
|
-
|
|
268
|
+
function getPropertyInternalKey(obj, key) {
|
|
269
|
+
if (!Object.hasOwn(obj, internalSymbol)) {
|
|
270
|
+
obj[internalSymbol] = /* @__PURE__ */ new Map();
|
|
271
|
+
}
|
|
272
|
+
let internalKey = obj[internalSymbol].get(key);
|
|
273
|
+
if (!internalKey) {
|
|
274
|
+
internalKey = Symbol(key);
|
|
275
|
+
obj[internalSymbol].set(key, internalKey);
|
|
276
|
+
}
|
|
277
|
+
return internalKey;
|
|
269
278
|
}
|
|
270
279
|
function getPropertyDescriptor(key, declaration = {}) {
|
|
271
|
-
const internalKey = getPropertyInternalKey(key);
|
|
272
280
|
const {
|
|
273
281
|
default: _default,
|
|
274
282
|
fallback,
|
|
@@ -288,7 +296,7 @@ function getPropertyDescriptor(key, declaration = {}) {
|
|
|
288
296
|
} else if (!internal && typeof this.getProperty !== "undefined") {
|
|
289
297
|
result = this.getProperty(key);
|
|
290
298
|
} else {
|
|
291
|
-
result = this[
|
|
299
|
+
result = this[getPropertyInternalKey(this, key)];
|
|
292
300
|
}
|
|
293
301
|
result = result ?? getFallbackValue();
|
|
294
302
|
if (result === void 0 && _default !== void 0 && !this[initedSymbol]) {
|
|
@@ -308,7 +316,7 @@ function getPropertyDescriptor(key, declaration = {}) {
|
|
|
308
316
|
} else if (!internal && typeof this.setProperty !== "undefined") {
|
|
309
317
|
this.setProperty(key, newValue);
|
|
310
318
|
} else {
|
|
311
|
-
this[
|
|
319
|
+
this[getPropertyInternalKey(this, key)] = newValue;
|
|
312
320
|
}
|
|
313
321
|
this.onUpdateProperty?.(key, newValue, oldValue);
|
|
314
322
|
}
|
|
@@ -429,18 +437,20 @@ class Reactivable extends Observable {
|
|
|
429
437
|
}
|
|
430
438
|
setPropertyAccessor(accessor) {
|
|
431
439
|
this._propertyAccessor = accessor;
|
|
432
|
-
this.getPropertyDeclarations().forEach((
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
440
|
+
this.getPropertyDeclarations().forEach((declaration, key) => {
|
|
441
|
+
if (!accessor.getProperty || declaration.internal || declaration.alias && declaration.alias !== key) {
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
let newValue = accessor.getProperty(key);
|
|
445
|
+
let oldValue = this._properties.get(key);
|
|
446
|
+
if (newValue === void 0 && oldValue !== void 0) {
|
|
447
|
+
newValue = oldValue;
|
|
448
|
+
oldValue = void 0;
|
|
449
|
+
}
|
|
450
|
+
if (!Object.is(newValue, oldValue)) {
|
|
441
451
|
this.offsetSet(key, newValue);
|
|
452
|
+
this.requestUpdate(key, newValue, oldValue);
|
|
442
453
|
}
|
|
443
|
-
this.requestUpdate(key, newValue, oldValue);
|
|
444
454
|
});
|
|
445
455
|
return this;
|
|
446
456
|
}
|
|
@@ -1168,7 +1178,7 @@ function normalizeColorFill(fill) {
|
|
|
1168
1178
|
if (typeof fill === "string") {
|
|
1169
1179
|
obj = { color: fill };
|
|
1170
1180
|
} else {
|
|
1171
|
-
obj = fill;
|
|
1181
|
+
obj = { ...fill };
|
|
1172
1182
|
}
|
|
1173
1183
|
return {
|
|
1174
1184
|
color: normalizeColor(obj.color)
|
|
@@ -1180,7 +1190,7 @@ function normalizeGradientFill(fill) {
|
|
|
1180
1190
|
if (typeof fill === "string") {
|
|
1181
1191
|
obj = { image: fill };
|
|
1182
1192
|
} else {
|
|
1183
|
-
obj = fill;
|
|
1193
|
+
obj = { ...fill };
|
|
1184
1194
|
}
|
|
1185
1195
|
if (obj.image) {
|
|
1186
1196
|
const { type, ...props } = normalizeGradient(obj.image)[0] ?? {};
|
|
@@ -1195,7 +1205,11 @@ function normalizeGradientFill(fill) {
|
|
|
1195
1205
|
};
|
|
1196
1206
|
}
|
|
1197
1207
|
}
|
|
1198
|
-
return obj
|
|
1208
|
+
return pick(obj, [
|
|
1209
|
+
"linearGradient",
|
|
1210
|
+
"radialGradient",
|
|
1211
|
+
"rotateWithShape"
|
|
1212
|
+
]);
|
|
1199
1213
|
}
|
|
1200
1214
|
|
|
1201
1215
|
function normalizeImageFill(fill) {
|
|
@@ -1203,9 +1217,17 @@ function normalizeImageFill(fill) {
|
|
|
1203
1217
|
if (typeof fill === "string") {
|
|
1204
1218
|
obj = { image: fill };
|
|
1205
1219
|
} else {
|
|
1206
|
-
obj = fill;
|
|
1207
|
-
}
|
|
1208
|
-
return obj
|
|
1220
|
+
obj = { ...fill };
|
|
1221
|
+
}
|
|
1222
|
+
return pick(obj, [
|
|
1223
|
+
"image",
|
|
1224
|
+
"cropRect",
|
|
1225
|
+
"stretchRect",
|
|
1226
|
+
"tile",
|
|
1227
|
+
"dpi",
|
|
1228
|
+
"opacity",
|
|
1229
|
+
"rotateWithShape"
|
|
1230
|
+
]);
|
|
1209
1231
|
}
|
|
1210
1232
|
|
|
1211
1233
|
function normalizePresetFill(fill) {
|
|
@@ -1213,13 +1235,23 @@ function normalizePresetFill(fill) {
|
|
|
1213
1235
|
if (typeof fill === "string") {
|
|
1214
1236
|
obj = { preset: fill };
|
|
1215
1237
|
} else {
|
|
1216
|
-
obj = fill;
|
|
1238
|
+
obj = { ...fill };
|
|
1217
1239
|
}
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
}
|
|
1240
|
+
if (isNone(obj.foregroundColor)) {
|
|
1241
|
+
delete obj.foregroundColor;
|
|
1242
|
+
} else {
|
|
1243
|
+
obj.foregroundColor = normalizeColor(obj.foregroundColor);
|
|
1244
|
+
}
|
|
1245
|
+
if (isNone(obj.backgroundColor)) {
|
|
1246
|
+
delete obj.backgroundColor;
|
|
1247
|
+
} else {
|
|
1248
|
+
obj.backgroundColor = normalizeColor(obj.backgroundColor);
|
|
1249
|
+
}
|
|
1250
|
+
return pick(obj, [
|
|
1251
|
+
"preset",
|
|
1252
|
+
"foregroundColor",
|
|
1253
|
+
"backgroundColor"
|
|
1254
|
+
]);
|
|
1223
1255
|
}
|
|
1224
1256
|
|
|
1225
1257
|
function isColorFillObject(fill) {
|
|
@@ -1344,7 +1376,14 @@ function normalizeOutline(outline) {
|
|
|
1344
1376
|
} else {
|
|
1345
1377
|
return {
|
|
1346
1378
|
...normalizeFill(outline),
|
|
1347
|
-
...pick(outline, [
|
|
1379
|
+
...pick(outline, [
|
|
1380
|
+
"width",
|
|
1381
|
+
"style",
|
|
1382
|
+
"lineCap",
|
|
1383
|
+
"lineJoin",
|
|
1384
|
+
"headEnd",
|
|
1385
|
+
"tailEnd"
|
|
1386
|
+
])
|
|
1348
1387
|
};
|
|
1349
1388
|
}
|
|
1350
1389
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -334,7 +334,7 @@ interface PropertyAccessor {
|
|
|
334
334
|
onUpdateProperty?: (key: string, newValue: any, oldValue: any) => void;
|
|
335
335
|
}
|
|
336
336
|
declare function getDeclarations(constructor: any): Map<string, PropertyDeclaration>;
|
|
337
|
-
declare function getPropertyInternalKey(key: string): string;
|
|
337
|
+
declare function getPropertyInternalKey(obj: any, key: string): string;
|
|
338
338
|
declare function getPropertyDescriptor<V, T extends PropertyAccessor>(key: string, declaration?: PropertyDeclaration): {
|
|
339
339
|
get: () => any;
|
|
340
340
|
set: (v: any) => void;
|
package/dist/index.d.mts
CHANGED
|
@@ -334,7 +334,7 @@ interface PropertyAccessor {
|
|
|
334
334
|
onUpdateProperty?: (key: string, newValue: any, oldValue: any) => void;
|
|
335
335
|
}
|
|
336
336
|
declare function getDeclarations(constructor: any): Map<string, PropertyDeclaration>;
|
|
337
|
-
declare function getPropertyInternalKey(key: string): string;
|
|
337
|
+
declare function getPropertyInternalKey(obj: any, key: string): string;
|
|
338
338
|
declare function getPropertyDescriptor<V, T extends PropertyAccessor>(key: string, declaration?: PropertyDeclaration): {
|
|
339
339
|
get: () => any;
|
|
340
340
|
set: (v: any) => void;
|
package/dist/index.d.ts
CHANGED
|
@@ -334,7 +334,7 @@ interface PropertyAccessor {
|
|
|
334
334
|
onUpdateProperty?: (key: string, newValue: any, oldValue: any) => void;
|
|
335
335
|
}
|
|
336
336
|
declare function getDeclarations(constructor: any): Map<string, PropertyDeclaration>;
|
|
337
|
-
declare function getPropertyInternalKey(key: string): string;
|
|
337
|
+
declare function getPropertyInternalKey(obj: any, key: string): string;
|
|
338
338
|
declare function getPropertyDescriptor<V, T extends PropertyAccessor>(key: string, declaration?: PropertyDeclaration): {
|
|
339
339
|
get: () => any;
|
|
340
340
|
set: (v: any) => void;
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(o,G){typeof exports=="object"&&typeof module<"u"?G(exports):typeof define=="function"&&define.amd?define(["exports"],G):(o=typeof globalThis<"u"?globalThis:o||self,G(o.modernIdoc={}))})(this,(function(o){"use strict";function G(t){return typeof t=="string"?{src:t}:t}var Se={grad:.9,turn:360,rad:360/(2*Math.PI)},D=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},b=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},z=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},ht=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},pt=function(t){return{r:z(t.r,0,255),g:z(t.g,0,255),b:z(t.b,0,255),a:z(t.a)}},tt=function(t){return{r:b(t.r),g:b(t.g),b:b(t.b),a:b(t.a,3)}},_e=/^#([0-9a-f]{3,8})$/i,U=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},vt=function(t){var e=t.r,n=t.g,r=t.b,i=t.a,a=Math.max(e,n,r),u=a-Math.min(e,n,r),l=u?a===e?(n-r)/u:a===n?2+(r-e)/u:4+(e-n)/u:0;return{h:60*(l<0?l+6:l),s:a?u/a*100:0,v:a/255*100,a:i}},mt=function(t){var e=t.h,n=t.s,r=t.v,i=t.a;e=e/360*6,n/=100,r/=100;var a=Math.floor(e),u=r*(1-n),l=r*(1-(e-a)*n),f=r*(1-(1-e+a)*n),p=a%6;return{r:255*[r,l,u,u,f,r][p],g:255*[f,r,r,l,u,u][p],b:255*[u,u,f,r,r,l][p],a:i}},yt=function(t){return{h:ht(t.h),s:z(t.s,0,100),l:z(t.l,0,100),a:z(t.a)}},bt=function(t){return{h:b(t.h),s:b(t.s),l:b(t.l),a:b(t.a,3)}},St=function(t){return mt((n=(e=t).s,{h:e.h,s:(n*=((r=e.l)<50?r:100-r)/100)>0?2*n/(r+n)*100:0,v:r+n,a:e.a}));var e,n,r},M=function(t){return{h:(e=vt(t)).h,s:(i=(200-(n=e.s))*(r=e.v)/100)>0&&i<200?n*r/100/(i<=100?i:200-i)*100:0,l:i/2,a:e.a};var e,n,r,i},we=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ce=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Pe=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ze=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_t={string:[[function(t){var e=_e.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?b(parseInt(t[3]+t[3],16)/255,2):1}:t.length===6||t.length===8?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:t.length===8?b(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=Pe.exec(t)||ze.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:pt({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e=we.exec(t)||Ce.exec(t);if(!e)return null;var n,r,i=yt({h:(n=e[1],r=e[2],r===void 0&&(r="deg"),Number(n)*(Se[r]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return St(i)},"hsl"]],object:[[function(t){var e=t.r,n=t.g,r=t.b,i=t.a,a=i===void 0?1:i;return D(e)&&D(n)&&D(r)?pt({r:Number(e),g:Number(n),b:Number(r),a:Number(a)}):null},"rgb"],[function(t){var e=t.h,n=t.s,r=t.l,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(n)||!D(r))return null;var u=yt({h:Number(e),s:Number(n),l:Number(r),a:Number(a)});return St(u)},"hsl"],[function(t){var e=t.h,n=t.s,r=t.v,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(n)||!D(r))return null;var u=(function(l){return{h:ht(l.h),s:z(l.s,0,100),v:z(l.v,0,100),a:z(l.a)}})({h:Number(e),s:Number(n),v:Number(r),a:Number(a)});return mt(u)},"hsv"]]},wt=function(t,e){for(var n=0;n<e.length;n++){var r=e[n][0](t);if(r)return[r,e[n][1]]}return[null,void 0]},Ee=function(t){return typeof t=="string"?wt(t.trim(),_t.string):typeof t=="object"&&t!==null?wt(t,_t.object):[null,void 0]},et=function(t,e){var n=M(t);return{h:n.h,s:z(n.s+100*e,0,100),l:n.l,a:n.a}},nt=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},Ct=function(t,e){var n=M(t);return{h:n.h,s:n.s,l:z(n.l+100*e,0,100),a:n.a}},Pt=(function(){function t(e){this.parsed=Ee(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return this.parsed!==null},t.prototype.brightness=function(){return b(nt(this.rgba),2)},t.prototype.isDark=function(){return nt(this.rgba)<.5},t.prototype.isLight=function(){return nt(this.rgba)>=.5},t.prototype.toHex=function(){return e=tt(this.rgba),n=e.r,r=e.g,i=e.b,u=(a=e.a)<1?U(b(255*a)):"","#"+U(n)+U(r)+U(i)+u;var e,n,r,i,a,u},t.prototype.toRgb=function(){return tt(this.rgba)},t.prototype.toRgbString=function(){return e=tt(this.rgba),n=e.r,r=e.g,i=e.b,(a=e.a)<1?"rgba("+n+", "+r+", "+i+", "+a+")":"rgb("+n+", "+r+", "+i+")";var e,n,r,i,a},t.prototype.toHsl=function(){return bt(M(this.rgba))},t.prototype.toHslString=function(){return e=bt(M(this.rgba)),n=e.h,r=e.s,i=e.l,(a=e.a)<1?"hsla("+n+", "+r+"%, "+i+"%, "+a+")":"hsl("+n+", "+r+"%, "+i+"%)";var e,n,r,i,a},t.prototype.toHsv=function(){return e=vt(this.rgba),{h:b(e.h),s:b(e.s),v:b(e.v),a:b(e.a,3)};var e},t.prototype.invert=function(){return L({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},t.prototype.saturate=function(e){return e===void 0&&(e=.1),L(et(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),L(et(this.rgba,-e))},t.prototype.grayscale=function(){return L(et(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),L(Ct(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),L(Ct(this.rgba,-e))},t.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},t.prototype.alpha=function(e){return typeof e=="number"?L({r:(n=this.rgba).r,g:n.g,b:n.b,a:e}):b(this.rgba.a,3);var n},t.prototype.hue=function(e){var n=M(this.rgba);return typeof e=="number"?L({h:e,s:n.s,l:n.l,a:n.a}):b(n.h)},t.prototype.isEqual=function(e){return this.toHex()===L(e).toHex()},t})(),L=function(t){return t instanceof Pt?t:new Pt(t)};class Fe{eventListeners=new Map;addEventListener(e,n,r){const i={value:n,options:r},a=this.eventListeners.get(e);return a?Array.isArray(a)?a.push(i):this.eventListeners.set(e,[a,i]):this.eventListeners.set(e,i),this}removeEventListener(e,n,r){if(!n)return this.eventListeners.delete(e),this;const i=this.eventListeners.get(e);if(!i)return this;if(Array.isArray(i)){const a=[];for(let u=0,l=i.length;u<l;u++){const f=i[u];(f.value!==n||typeof r=="object"&&r?.once&&(typeof f.options=="boolean"||!f.options?.once))&&a.push(f)}a.length?this.eventListeners.set(e,a.length===1?a[0]:a):this.eventListeners.delete(e)}else i.value===n&&(typeof r=="boolean"||!r?.once||typeof i.options=="boolean"||i.options?.once)&&this.eventListeners.delete(e);return this}removeAllListeners(){return this.eventListeners.clear(),this}hasEventListener(e){return this.eventListeners.has(e)}dispatchEvent(e,...n){const r=this.eventListeners.get(e);if(r){if(Array.isArray(r))for(let i=r.length,a=0;a<i;a++){const u=r[a];typeof u.options=="object"&&u.options?.once&&this.off(e,u.value,u.options),u.value.apply(this,n)}else typeof r.options=="object"&&r.options?.once&&this.off(e,r.value,r.options),r.value.apply(this,n);return!0}else return!1}on(e,n,r){return this.addEventListener(e,n,r)}once(e,n){return this.addEventListener(e,n,{once:!0})}off(e,n,r){return this.removeEventListener(e,n,r)}emit(e,...n){this.dispatchEvent(e,...n)}}function h(t){return t==null||t==="none"}function N(t,e=0,n=10**e){return Math.round(n*t)/n+0}function w(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(r=>w(r,e)):t;const n={};for(const r in t){const i=t[r];i!=null&&(e?n[r]=w(i,e):n[r]=i)}return n}function K(t,e){const n={};return e.forEach(r=>{r in t&&(n[r]=t[r])}),n}function q(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){const n=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!n.length||n.every(r=>t[r]===e[r])}return!1}function zt(t,e,n){const r=e.length-1;if(r<0)return t===void 0?n:t;for(let i=0;i<r;i++){if(t==null)return n;t=t[e[i]]}return t==null||t[e[r]]===void 0?n:t[e[r]]}function Et(t,e,n){const r=e.length-1;for(let i=0;i<r;i++)typeof t[e[i]]!="object"&&(t[e[i]]={}),t=t[e[i]];t[e[r]]=n}function Ft(t,e,n){return t==null||!e||typeof e!="string"?n:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),zt(t,e.split("."),n))}function Ot(t,e,n){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Et(t,e.split("."),n)}class Lt{_observers=new Map;on(e,n){let r=this._observers.get(e);return r===void 0&&this._observers.set(e,r=new Set),r.add(n),this}once(e,n){const r=(...i)=>{this.off(e,r),n(...i)};return this.on(e,r),this}off(e,n){const r=this._observers.get(e);return r!==void 0&&(r.delete(n),r.size===0&&this._observers.delete(e)),this}emit(e,...n){return Array.from((this._observers.get(e)||new Map).values()).forEach(r=>r(...n)),this}destroy(){this._observers=new Map}}class Oe{_map=new WeakMap;_toRaw(e){if(e&&typeof e=="object"){const n=e.__v_raw;n&&(e=this._toRaw(n))}return e}delete(e){return this._map.delete(this._toRaw(e))}get(e){return this._map.get(this._toRaw(e))}has(e){return this._map.has(this._toRaw(e))}set(e,n){return this._map.set(this._toRaw(e),this._toRaw(n)),this}}const rt=Symbol("properties"),Dt=Symbol("inited");function V(t){let e;if(Object.hasOwn(t,rt))e=t[rt];else{const n=Object.getPrototypeOf(t);e=new Map(n?V(n):void 0),t[rt]=e}return e}function Nt(t){return`__internal:${t}`}function it(t,e={}){const n=Nt(t),{default:r,fallback:i,alias:a,internal:u}=e,l=()=>typeof r=="function"?r():r,f=()=>typeof i=="function"?i():i;function p(){let d;if(a&&a!==t?d=Ft(this,a):!u&&typeof this.getProperty<"u"?d=this.getProperty(t):d=this[n],d=d??f(),d===void 0&&r!==void 0&&!this[Dt]){this[Dt]=!0;const v=l();v!==void 0&&(m.call(this,v),d=v)}return d}function m(d){const v=p.call(this);a&&a!==t?Ot(this,a,d):!u&&typeof this.setProperty<"u"?this.setProperty(t,d):this[n]=d,this.onUpdateProperty?.(t,d,v)}return{get:p,set:m}}function At(t,e,n={}){V(t).set(e,n);const r=it(e,n);Object.defineProperty(t.prototype,e,{get(){return r.get.call(this)},set(i){r.set.call(this,i)},configurable:!0,enumerable:!0})}function Le(t){return function(e,n){if(typeof n!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");At(e.constructor,n,t)}}function De(t={}){return function(e,n){const r=n.name;if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");const i=it(r,t);return{init(a){return V(this.constructor).set(r,t),i.set.call(this,a),a},get(){return i.get.call(this)},set(a){i.set.call(this,a)}}}}class Ne extends Lt{_propertyAccessor;_properties=new Map;_updatedProperties=new Map;_changedProperties=new Set;_updatingPromise=Promise.resolve();_updating=!1;constructor(e){super(),this.setProperties(e)}isDirty(e){return e?this._updatedProperties.has(e):this._updatedProperties.size>0}offsetGet(e){return this[e]}offsetSet(e,n){this[e]=n}getProperty(e,n){return this._propertyAccessor?.getProperty?this._propertyAccessor.getProperty(e,n):this._properties.get(e)??n}setProperty(e,n){this._propertyAccessor?.setProperty?.(e,n),this._properties.set(e,n)}getProperties(e){const n={};for(const[r,i]of this.getPropertyDeclarations())!i.internal&&!i.alias&&(!e||e.includes(r))&&(n[r]=this.getProperty(r));return n}setProperties(e){if(e&&typeof e=="object")for(const[n]of this.getPropertyDeclarations())n in e&&this.offsetSet(n,e[n]);return this}resetProperties(){for(const[e,n]of this.getPropertyDeclarations())this.offsetSet(e,typeof n.default=="function"?n.default():n.default);return this}getPropertyDeclarations(){return V(this.constructor)}getPropertyDeclaration(e){return this.getPropertyDeclarations().get(e)}setPropertyAccessor(e){return this._propertyAccessor=e,this.getPropertyDeclarations().forEach((n,r)=>{let i=this.offsetGet(r);const a=this._properties.get(r);i===void 0?a!==void 0&&(i=a,this.offsetSet(r,i)):i!==a&&this.offsetSet(r,i),this.requestUpdate(r,i,a)}),this}async _nextTick(){return"requestAnimationFrame"in globalThis?new Promise(e=>globalThis.requestAnimationFrame(e)):Promise.resolve()}async _enqueueUpdate(){this._updating=!0;try{await this._updatingPromise}catch(e){Promise.reject(e)}await this._nextTick(),this._updating&&(this.onUpdate(),this._updating=!1)}onUpdate(){this._update(this._updatedProperties),this._updatedProperties=new Map}onUpdateProperty(e,n,r){Object.is(n,r)||this.requestUpdate(e,n,r)}requestUpdate(e,n,r){e!==void 0&&(this._updatedProperties.set(e,r),this._changedProperties.add(e),this._updateProperty(e,n,r),this.emit("updateProperty",e,n,r)),this._updating||(this._updatingPromise=this._enqueueUpdate())}_update(e){}_updateProperty(e,n,r){}toJSON(){const e={};return this._properties.forEach((n,r)=>{n!==void 0&&(n&&typeof n=="object"?"toJSON"in n&&typeof n.toJSON=="function"?e[r]=n.toJSON():Array.isArray(n)?e[r]=[...n]:e[r]={...n}:e[r]=n)}),e}clone(){return new this.constructor(this.toJSON())}}function ot(t){let e;return typeof t=="number"?e={r:t>>24&255,g:t>>16&255,b:t>>8&255,a:(t&255)/255}:e=t,L(e)}function Ae(t){return{r:N(t.r),g:N(t.g),b:N(t.b),a:N(t.a,3)}}function x(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const k="#000000FF";function Rt(t){return ot(t).isValid()}function _(t,e=!1){const n=ot(t);if(!n.isValid()){if(typeof t=="string")return t;const l=`Failed to normalizeColor ${t}`;if(e)throw new Error(l);return console.warn(l),k}const{r,g:i,b:a,a:u}=Ae(n.rgba);return`#${x(r)}${x(i)}${x(a)}${x(N(u*255))}`}var J=J||{};J.parse=(function(){const t={linearGradient:/^(-(webkit|o|ms|moz)-)?(linear-gradient)/i,repeatingLinearGradient:/^(-(webkit|o|ms|moz)-)?(repeating-linear-gradient)/i,radialGradient:/^(-(webkit|o|ms|moz)-)?(radial-gradient)/i,repeatingRadialGradient:/^(-(webkit|o|ms|moz)-)?(repeating-radial-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?((\d*\.\d+)|(\d+\.?)))px/,percentageValue:/^(-?((\d*\.\d+)|(\d+\.?)))%/,emValue:/^(-?((\d*\.\d+)|(\d+\.?)))em/,angleValue:/^(-?((\d*\.\d+)|(\d+\.?)))deg/,radianValue:/^(-?((\d*\.\d+)|(\d+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^#([0-9a-f]+)/i,literalColor:/^([a-z]+)/i,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-z0-9-,\s#]+)/i,number:/^((\d*\.\d+)|(\d+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i};let e="";function n(s){const c=new Error(`${e}: ${s}`);throw c.source=e,c}function r(){const s=i();return e.length>0&&n("Invalid input not EOF"),s}function i(){return T(a)}function a(){return u("linear-gradient",t.linearGradient,f)||u("repeating-linear-gradient",t.repeatingLinearGradient,f)||u("radial-gradient",t.radialGradient,d)||u("repeating-radial-gradient",t.repeatingRadialGradient,d)}function u(s,c,g){return l(c,S=>{const I=g();return I&&(y(t.comma)||n("Missing comma before color stops")),{type:s,orientation:I,colorStops:T(dt)}})}function l(s,c){const g=y(s);if(g){y(t.startCall)||n("Missing (");const S=c(g);return y(t.endCall)||n("Missing )"),S}}function f(){const s=p();if(s)return s;const c=P("position-keyword",t.positionKeywords,1);return c?{type:"directional",value:c.value}:m()}function p(){return P("directional",t.sideOrCorner,1)}function m(){return P("angular",t.angleValue,1)||P("angular",t.radianValue,1)}function d(){let s,c=v(),g;return c&&(s=[],s.push(c),g=e,y(t.comma)&&(c=v(),c?s.push(c):e=g)),s}function v(){let s=C()||A();if(s)s.at=O();else{const c=E();if(c){s=c;const g=O();g&&(s.at=g)}else{const g=O();if(g)s={type:"default-radial",at:g};else{const S=R();S&&(s={type:"default-radial",at:S})}}}return s}function C(){const s=P("shape",/^(circle)/i,0);return s&&(s.style=be()||E()),s}function A(){const s=P("shape",/^(ellipse)/i,0);return s&&(s.style=R()||Q()||E()),s}function E(){return P("extent-keyword",t.extentKeywords,1)}function O(){if(P("position",/^at/,0)){const s=R();return s||n("Missing positioning value"),s}}function R(){const s=W();if(s.x||s.y)return{type:"position",value:s}}function W(){return{x:Q(),y:Q()}}function T(s){let c=s();const g=[];if(c)for(g.push(c);y(t.comma);)c=s(),c?g.push(c):n("One extra comma");return g}function dt(){const s=Ue();return s||n("Expected color definition"),s.length=Q(),s}function Ue(){return qe()||Ze()||Ye()||Je()||xe()||Xe()||Ke()}function Ke(){return P("literal",t.literalColor,0)}function qe(){return P("hex",t.hexColor,1)}function xe(){return l(t.rgbColor,()=>({type:"rgb",value:T(B)}))}function Je(){return l(t.rgbaColor,()=>({type:"rgba",value:T(B)}))}function Xe(){return l(t.varColor,()=>({type:"var",value:Qe()}))}function Ye(){return l(t.hslColor,()=>{y(t.percentageValue)&&n("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const c=B();y(t.comma);let g=y(t.percentageValue);const S=g?g[1]:null;y(t.comma),g=y(t.percentageValue);const I=g?g[1]:null;return(!S||!I)&&n("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[c,S,I]}})}function Ze(){return l(t.hslaColor,()=>{const s=B();y(t.comma);let c=y(t.percentageValue);const g=c?c[1]:null;y(t.comma),c=y(t.percentageValue);const S=c?c[1]:null;y(t.comma);const I=B();return(!g||!S)&&n("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[s,g,S,I]}})}function Qe(){return y(t.variableName)[1]}function B(){return y(t.number)[1]}function Q(){return P("%",t.percentageValue,1)||tn()||en()||be()}function tn(){return P("position-keyword",t.positionKeywords,1)}function en(){return l(t.calcValue,()=>{let s=1,c=0;for(;s>0&&c<e.length;){const S=e.charAt(c);S==="("?s++:S===")"&&s--,c++}s>0&&n("Missing closing parenthesis in calc() expression");const g=e.substring(0,c-1);return gt(c-1),{type:"calc",value:g}})}function be(){return P("px",t.pixelValue,1)||P("em",t.emValue,1)}function P(s,c,g){const S=y(c);if(S)return{type:s,value:S[g]}}function y(s){let c,g;return g=/^\s+/.exec(e),g&>(g[0].length),c=s.exec(e),c&>(c[0].length),c}function gt(s){e=e.substr(s)}return function(s){return e=s.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),r()}})();const It=J.parse.bind(J);var X=X||{};X.stringify=(function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var n=t.visit(e.orientation);return n&&(n+=", "),e.type+"("+n+t.visit(e.colorStops)+")"},visit_shape:function(e){var n=e.value,r=t.visit(e.at),i=t.visit(e.style);return i&&(n+=" "+i),r&&(n+=" at "+r),n},"visit_default-radial":function(e){var n="",r=t.visit(e.at);return r&&(n+=r),n},"visit_extent-keyword":function(e){var n=e.value,r=t.visit(e.at);return r&&(n+=" at "+r),n},"visit_position-keyword":function(e){return e.value},visit_position:function(e){return t.visit(e.value.x)+" "+t.visit(e.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_calc:function(e){return"calc("+e.value+")"},visit_literal:function(e){return t.visit_color(e.value,e)},visit_hex:function(e){return t.visit_color("#"+e.value,e)},visit_rgb:function(e){return t.visit_color("rgb("+e.value.join(", ")+")",e)},visit_rgba:function(e){return t.visit_color("rgba("+e.value.join(", ")+")",e)},visit_hsl:function(e){return t.visit_color("hsl("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%)",e)},visit_hsla:function(e){return t.visit_color("hsla("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%, "+e.value[3]+")",e)},visit_var:function(e){return t.visit_color("var("+e.value+")",e)},visit_color:function(e,n){var r=e,i=t.visit(n.length);return i&&(r+=" "+i),r},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var n="",r=e.length;return e.forEach(function(i,a){n+=t.visit(i),a<r-1&&(n+=", ")}),n},visit_object:function(e){return e.width&&e.height?t.visit(e.width)+" "+t.visit(e.height):""},visit:function(e){if(!e)return"";if(e instanceof Array)return t.visit_array(e);if(typeof e=="object"&&!e.type)return t.visit_object(e);if(e.type){var n=t["visit_"+e.type];if(n)return n(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}})();const Re=X.stringify.bind(X);function Gt(t){const e=t.length-1;return t.map((n,r)=>{const i=n.value;let a=N(r/e,3),u="#00000000";switch(n.type){case"rgb":u=_({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":u=_({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":u=_(n.value);break;case"hex":u=_(`#${n.value}`);break}switch(n.length?.type){case"%":a=Number(n.length.value)/100;break}return{offset:a,color:u}})}function jt(t){let e=0;switch(t.orientation?.type){case"angular":e=Number(t.orientation.value);break}return{type:"linear-gradient",angle:e,stops:Gt(t.colorStops)}}function Tt(t){return t.orientation?.map(e=>{switch(e?.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:Gt(t.colorStops)}}function $(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function Mt(t){return It(t).map(e=>{switch(e?.type){case"linear-gradient":return jt(e);case"repeating-linear-gradient":return{...jt(e),repeat:!0};case"radial-gradient":return Tt(e);case"repeating-radial-gradient":return{...Tt(e),repeat:!0};default:return}}).filter(Boolean)}function Vt(t){let e;return typeof t=="string"?e={color:t}:e=t,{color:_(e.color)}}function kt(t){let e;if(typeof t=="string"?e={image:t}:e=t,e.image){const{type:n,...r}=Mt(e.image)[0]??{};switch(n){case"radial-gradient":return{radialGradient:r};case"linear-gradient":return{linearGradient:r}}}return e}function $t(t){let e;return typeof t=="string"?e={image:t}:e=t,e}function Ht(t){let e;return typeof t=="string"?e={preset:t}:e=t,{preset:e.preset,foregroundColor:h(e.foregroundColor)?void 0:_(e.foregroundColor),backgroundColor:h(e.backgroundColor)?void 0:_(e.backgroundColor)}}function Wt(t){return!h(t.color)}function Bt(t){return typeof t=="string"?Rt(t):Wt(t)}function Ut(t){return!h(t.image)&&$(t.image)||!!t.linearGradient||!!t.radialGradient}function Kt(t){return typeof t=="string"?$(t):Ut(t)}function qt(t){return!h(t.image)&&!$(t.image)}function xt(t){return typeof t=="string"?!$(t):qt(t)}function Jt(t){return!h(t.preset)}function Xt(t){return typeof t=="string"?!1:Jt(t)}function F(t){const e=t&&typeof t=="object"?t.enabled:void 0;return Bt(t)?w({enabled:e,...Vt(t)}):Kt(t)?w({enabled:e,...kt(t)}):xt(t)?w({enabled:e,...$t(t)}):Xt(t)?w({enabled:e,...Ht(t)}):{}}function Yt(t){return typeof t=="string"?{...F(t)}:{...F(t),...K(t,["fillWithShape"])}}function at(){return{color:k,offsetX:0,offsetY:0,blurRadius:1}}function st(t){return{...at(),...w({...t,color:h(t.color)?k:_(t.color)})}}function Zt(){return{...at(),scaleX:1,scaleY:1}}function Qt(t){return{...Zt(),...st(t)}}function Ie(t){return t}function te(t){return w({...t,softEdge:h(t.softEdge)?void 0:t.softEdge,outerShadow:h(t.outerShadow)?void 0:Qt(t.outerShadow),innerShadow:h(t.innerShadow)?void 0:st(t.innerShadow)})}function ee(t){return typeof t=="string"?{...F(t)}:{...F(t),...K(t,["fillWithShape"])}}const Ge="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let je=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Ge[n[t]&63];return e};const ne=()=>je(10),re=ne;function H(t){return typeof t=="string"?{...F(t)}:{...F(t),...K(t,["width","style","lineCap","lineJoin","headEnd","tailEnd"])}}function ie(t){return typeof t=="string"?{color:_(t)}:{...t,color:h(t.color)?k:_(t.color)}}function oe(){return{boxShadow:"none"}}function ae(t){return typeof t=="string"?t.startsWith("<svg")?{svg:t}:{paths:[{data:t}]}:Array.isArray(t)?{paths:t.map(e=>typeof e=="string"?{data:e}:e)}:t}function se(){return{overflow:"visible",direction:void 0,display:void 0,boxSizing:void 0,width:void 0,height:void 0,maxHeight:void 0,maxWidth:void 0,minHeight:void 0,minWidth:void 0,position:void 0,left:0,top:0,right:void 0,bottom:void 0,borderTop:void 0,borderLeft:void 0,borderRight:void 0,borderBottom:void 0,borderWidth:0,border:void 0,flex:void 0,flexBasis:void 0,flexDirection:void 0,flexGrow:void 0,flexShrink:void 0,flexWrap:void 0,justifyContent:void 0,gap:void 0,alignContent:void 0,alignItems:void 0,alignSelf:void 0,marginTop:void 0,marginLeft:void 0,marginRight:void 0,marginBottom:void 0,margin:void 0,paddingTop:void 0,paddingLeft:void 0,paddingRight:void 0,paddingBottom:void 0,padding:void 0}}function ue(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function le(){return{...se(),...ue(),...oe(),backgroundImage:"none",backgroundSize:"auto, auto",backgroundColor:"none",backgroundColormap:"none",borderRadius:0,borderColor:"none",borderStyle:"solid",outlineWidth:0,outlineOffset:0,outlineColor:"rgb(0, 0, 0)",outlineStyle:"none",visibility:"visible",filter:"none",opacity:1,pointerEvents:"auto",maskImage:"none"}}function ce(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function fe(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function de(){return{...ce(),color:"rgb(0, 0, 0)",verticalAlign:"baseline",letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textTransform:"none",textOrientation:"mixed",textDecoration:"none"}}function ge(){return{...fe(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function he(){return{...ge(),...de(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function j(t){return w({...t,color:h(t.color)?void 0:_(t.color),backgroundColor:h(t.backgroundColor)?void 0:_(t.backgroundColor),borderColor:h(t.borderColor)?void 0:_(t.borderColor),outlineColor:h(t.outlineColor)?void 0:_(t.outlineColor),shadowColor:h(t.shadowColor)?void 0:_(t.shadowColor)})}function Te(){return{...le(),...he()}}const ut=/\r\n|\n\r|\n|\r/,Me=new RegExp(`${ut.source}|<br\\/>`,"g"),Ve=new RegExp(`^(${ut.source})$`),lt=`
|
|
2
|
-
`;function
|
|
1
|
+
(function(o,j){typeof exports=="object"&&typeof module<"u"?j(exports):typeof define=="function"&&define.amd?define(["exports"],j):(o=typeof globalThis<"u"?globalThis:o||self,j(o.modernIdoc={}))})(this,(function(o){"use strict";function j(t){return typeof t=="string"?{src:t}:t}var _e={grad:.9,turn:360,rad:360/(2*Math.PI)},D=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},y=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=Math.pow(10,e)),Math.round(r*t)/r+0},z=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=1),t>r?r:t>e?t:e},mt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},vt=function(t){return{r:z(t.r,0,255),g:z(t.g,0,255),b:z(t.b,0,255),a:z(t.a)}},et=function(t){return{r:y(t.r),g:y(t.g),b:y(t.b),a:y(t.a,3)}},we=/^#([0-9a-f]{3,8})$/i,K=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},yt=function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=Math.max(e,r,n),u=a-Math.min(e,r,n),l=u?a===e?(r-n)/u:a===r?2+(n-e)/u:4+(e-r)/u:0;return{h:60*(l<0?l+6:l),s:a?u/a*100:0,v:a/255*100,a:i}},bt=function(t){var e=t.h,r=t.s,n=t.v,i=t.a;e=e/360*6,r/=100,n/=100;var a=Math.floor(e),u=n*(1-r),l=n*(1-(e-a)*r),f=n*(1-(1-e+a)*r),m=a%6;return{r:255*[n,l,u,u,f,n][m],g:255*[f,n,n,l,u,u][m],b:255*[u,u,f,n,n,l][m],a:i}},St=function(t){return{h:mt(t.h),s:z(t.s,0,100),l:z(t.l,0,100),a:z(t.a)}},_t=function(t){return{h:y(t.h),s:y(t.s),l:y(t.l),a:y(t.a,3)}},wt=function(t){return bt((r=(e=t).s,{h:e.h,s:(r*=((n=e.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:e.a}));var e,r,n},V=function(t){return{h:(e=yt(t)).h,s:(i=(200-(r=e.s))*(n=e.v)/100)>0&&i<200?r*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:e.a};var e,r,n,i},Ce=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Pe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ze=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ee=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ct={string:[[function(t){var e=we.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?y(parseInt(t[3]+t[3],16)/255,2):1}:t.length===6||t.length===8?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:t.length===8?y(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=ze.exec(t)||Ee.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:vt({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e=Ce.exec(t)||Pe.exec(t);if(!e)return null;var r,n,i=St({h:(r=e[1],n=e[2],n===void 0&&(n="deg"),Number(r)*(_e[n]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return wt(i)},"hsl"]],object:[[function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=i===void 0?1:i;return D(e)&&D(r)&&D(n)?vt({r:Number(e),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(t){var e=t.h,r=t.s,n=t.l,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(r)||!D(n))return null;var u=St({h:Number(e),s:Number(r),l:Number(n),a:Number(a)});return wt(u)},"hsl"],[function(t){var e=t.h,r=t.s,n=t.v,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(r)||!D(n))return null;var u=(function(l){return{h:mt(l.h),s:z(l.s,0,100),v:z(l.v,0,100),a:z(l.a)}})({h:Number(e),s:Number(r),v:Number(n),a:Number(a)});return bt(u)},"hsv"]]},Pt=function(t,e){for(var r=0;r<e.length;r++){var n=e[r][0](t);if(n)return[n,e[r][1]]}return[null,void 0]},Fe=function(t){return typeof t=="string"?Pt(t.trim(),Ct.string):typeof t=="object"&&t!==null?Pt(t,Ct.object):[null,void 0]},rt=function(t,e){var r=V(t);return{h:r.h,s:z(r.s+100*e,0,100),l:r.l,a:r.a}},nt=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},zt=function(t,e){var r=V(t);return{h:r.h,s:r.s,l:z(r.l+100*e,0,100),a:r.a}},Et=(function(){function t(e){this.parsed=Fe(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return this.parsed!==null},t.prototype.brightness=function(){return y(nt(this.rgba),2)},t.prototype.isDark=function(){return nt(this.rgba)<.5},t.prototype.isLight=function(){return nt(this.rgba)>=.5},t.prototype.toHex=function(){return e=et(this.rgba),r=e.r,n=e.g,i=e.b,u=(a=e.a)<1?K(y(255*a)):"","#"+K(r)+K(n)+K(i)+u;var e,r,n,i,a,u},t.prototype.toRgb=function(){return et(this.rgba)},t.prototype.toRgbString=function(){return e=et(this.rgba),r=e.r,n=e.g,i=e.b,(a=e.a)<1?"rgba("+r+", "+n+", "+i+", "+a+")":"rgb("+r+", "+n+", "+i+")";var e,r,n,i,a},t.prototype.toHsl=function(){return _t(V(this.rgba))},t.prototype.toHslString=function(){return e=_t(V(this.rgba)),r=e.h,n=e.s,i=e.l,(a=e.a)<1?"hsla("+r+", "+n+"%, "+i+"%, "+a+")":"hsl("+r+", "+n+"%, "+i+"%)";var e,r,n,i,a},t.prototype.toHsv=function(){return e=yt(this.rgba),{h:y(e.h),s:y(e.s),v:y(e.v),a:y(e.a,3)};var e},t.prototype.invert=function(){return L({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},t.prototype.saturate=function(e){return e===void 0&&(e=.1),L(rt(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),L(rt(this.rgba,-e))},t.prototype.grayscale=function(){return L(rt(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),L(zt(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),L(zt(this.rgba,-e))},t.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},t.prototype.alpha=function(e){return typeof e=="number"?L({r:(r=this.rgba).r,g:r.g,b:r.b,a:e}):y(this.rgba.a,3);var r},t.prototype.hue=function(e){var r=V(this.rgba);return typeof e=="number"?L({h:e,s:r.s,l:r.l,a:r.a}):y(r.h)},t.prototype.isEqual=function(e){return this.toHex()===L(e).toHex()},t})(),L=function(t){return t instanceof Et?t:new Et(t)};class Oe{eventListeners=new Map;addEventListener(e,r,n){const i={value:r,options:n},a=this.eventListeners.get(e);return a?Array.isArray(a)?a.push(i):this.eventListeners.set(e,[a,i]):this.eventListeners.set(e,i),this}removeEventListener(e,r,n){if(!r)return this.eventListeners.delete(e),this;const i=this.eventListeners.get(e);if(!i)return this;if(Array.isArray(i)){const a=[];for(let u=0,l=i.length;u<l;u++){const f=i[u];(f.value!==r||typeof n=="object"&&n?.once&&(typeof f.options=="boolean"||!f.options?.once))&&a.push(f)}a.length?this.eventListeners.set(e,a.length===1?a[0]:a):this.eventListeners.delete(e)}else i.value===r&&(typeof n=="boolean"||!n?.once||typeof i.options=="boolean"||i.options?.once)&&this.eventListeners.delete(e);return this}removeAllListeners(){return this.eventListeners.clear(),this}hasEventListener(e){return this.eventListeners.has(e)}dispatchEvent(e,...r){const n=this.eventListeners.get(e);if(n){if(Array.isArray(n))for(let i=n.length,a=0;a<i;a++){const u=n[a];typeof u.options=="object"&&u.options?.once&&this.off(e,u.value,u.options),u.value.apply(this,r)}else typeof n.options=="object"&&n.options?.once&&this.off(e,n.value,n.options),n.value.apply(this,r);return!0}else return!1}on(e,r,n){return this.addEventListener(e,r,n)}once(e,r){return this.addEventListener(e,r,{once:!0})}off(e,r,n){return this.removeEventListener(e,r,n)}emit(e,...r){this.dispatchEvent(e,...r)}}function h(t){return t==null||t==="none"}function N(t,e=0,r=10**e){return Math.round(r*t)/r+0}function _(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(n=>_(n,e)):t;const r={};for(const n in t){const i=t[n];i!=null&&(e?r[n]=_(i,e):r[n]=i)}return r}function A(t,e){const r={};return e.forEach(n=>{n in t&&(r[n]=t[n])}),r}function q(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){const r=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!r.length||r.every(n=>t[n]===e[n])}return!1}function Ft(t,e,r){const n=e.length-1;if(n<0)return t===void 0?r:t;for(let i=0;i<n;i++){if(t==null)return r;t=t[e[i]]}return t==null||t[e[n]]===void 0?r:t[e[n]]}function Ot(t,e,r){const n=e.length-1;for(let i=0;i<n;i++)typeof t[e[i]]!="object"&&(t[e[i]]={}),t=t[e[i]];t[e[n]]=r}function Lt(t,e,r){return t==null||!e||typeof e!="string"?r:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Ft(t,e.split("."),r))}function Dt(t,e,r){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Ot(t,e.split("."),r)}class Nt{_observers=new Map;on(e,r){let n=this._observers.get(e);return n===void 0&&this._observers.set(e,n=new Set),n.add(r),this}once(e,r){const n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n),this}off(e,r){const n=this._observers.get(e);return n!==void 0&&(n.delete(r),n.size===0&&this._observers.delete(e)),this}emit(e,...r){return Array.from((this._observers.get(e)||new Map).values()).forEach(n=>n(...r)),this}destroy(){this._observers=new Map}}class Le{_map=new WeakMap;_toRaw(e){if(e&&typeof e=="object"){const r=e.__v_raw;r&&(e=this._toRaw(r))}return e}delete(e){return this._map.delete(this._toRaw(e))}get(e){return this._map.get(this._toRaw(e))}has(e){return this._map.has(this._toRaw(e))}set(e,r){return this._map.set(this._toRaw(e),this._toRaw(r)),this}}const x=Symbol("internal"),it=Symbol("properties"),At=Symbol("inited");function k(t){let e;if(Object.hasOwn(t,it))e=t[it];else{const r=Object.getPrototypeOf(t);e=new Map(r?k(r):void 0),t[it]=e}return e}function ot(t,e){Object.hasOwn(t,x)||(t[x]=new Map);let r=t[x].get(e);return r||(r=Symbol(e),t[x].set(e,r)),r}function at(t,e={}){const{default:r,fallback:n,alias:i,internal:a}=e,u=()=>typeof r=="function"?r():r,l=()=>typeof n=="function"?n():n;function f(){let g;if(i&&i!==t?g=Lt(this,i):!a&&typeof this.getProperty<"u"?g=this.getProperty(t):g=this[ot(this,t)],g=g??l(),g===void 0&&r!==void 0&&!this[At]){this[At]=!0;const p=u();p!==void 0&&(m.call(this,p),g=p)}return g}function m(g){const p=f.call(this);i&&i!==t?Dt(this,i,g):!a&&typeof this.setProperty<"u"?this.setProperty(t,g):this[ot(this,t)]=g,this.onUpdateProperty?.(t,g,p)}return{get:f,set:m}}function Rt(t,e,r={}){k(t).set(e,r);const n=at(e,r);Object.defineProperty(t.prototype,e,{get(){return n.get.call(this)},set(i){n.set.call(this,i)},configurable:!0,enumerable:!0})}function De(t){return function(e,r){if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");Rt(e.constructor,r,t)}}function Ne(t={}){return function(e,r){const n=r.name;if(typeof n!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");const i=at(n,t);return{init(a){return k(this.constructor).set(n,t),i.set.call(this,a),a},get(){return i.get.call(this)},set(a){i.set.call(this,a)}}}}class Ae extends Nt{_propertyAccessor;_properties=new Map;_updatedProperties=new Map;_changedProperties=new Set;_updatingPromise=Promise.resolve();_updating=!1;constructor(e){super(),this.setProperties(e)}isDirty(e){return e?this._updatedProperties.has(e):this._updatedProperties.size>0}offsetGet(e){return this[e]}offsetSet(e,r){this[e]=r}getProperty(e,r){return this._propertyAccessor?.getProperty?this._propertyAccessor.getProperty(e,r):this._properties.get(e)??r}setProperty(e,r){this._propertyAccessor?.setProperty?.(e,r),this._properties.set(e,r)}getProperties(e){const r={};for(const[n,i]of this.getPropertyDeclarations())!i.internal&&!i.alias&&(!e||e.includes(n))&&(r[n]=this.getProperty(n));return r}setProperties(e){if(e&&typeof e=="object")for(const[r]of this.getPropertyDeclarations())r in e&&this.offsetSet(r,e[r]);return this}resetProperties(){for(const[e,r]of this.getPropertyDeclarations())this.offsetSet(e,typeof r.default=="function"?r.default():r.default);return this}getPropertyDeclarations(){return k(this.constructor)}getPropertyDeclaration(e){return this.getPropertyDeclarations().get(e)}setPropertyAccessor(e){return this._propertyAccessor=e,this.getPropertyDeclarations().forEach((r,n)=>{if(!e.getProperty||r.internal||r.alias&&r.alias!==n)return;let i=e.getProperty(n),a=this._properties.get(n);i===void 0&&a!==void 0&&(i=a,a=void 0),Object.is(i,a)||(this.offsetSet(n,i),this.requestUpdate(n,i,a))}),this}async _nextTick(){return"requestAnimationFrame"in globalThis?new Promise(e=>globalThis.requestAnimationFrame(e)):Promise.resolve()}async _enqueueUpdate(){this._updating=!0;try{await this._updatingPromise}catch(e){Promise.reject(e)}await this._nextTick(),this._updating&&(this.onUpdate(),this._updating=!1)}onUpdate(){this._update(this._updatedProperties),this._updatedProperties=new Map}onUpdateProperty(e,r,n){Object.is(r,n)||this.requestUpdate(e,r,n)}requestUpdate(e,r,n){e!==void 0&&(this._updatedProperties.set(e,n),this._changedProperties.add(e),this._updateProperty(e,r,n),this.emit("updateProperty",e,r,n)),this._updating||(this._updatingPromise=this._enqueueUpdate())}_update(e){}_updateProperty(e,r,n){}toJSON(){const e={};return this._properties.forEach((r,n)=>{r!==void 0&&(r&&typeof r=="object"?"toJSON"in r&&typeof r.toJSON=="function"?e[n]=r.toJSON():Array.isArray(r)?e[n]=[...r]:e[n]={...r}:e[n]=r)}),e}clone(){return new this.constructor(this.toJSON())}}function st(t){let e;return typeof t=="number"?e={r:t>>24&255,g:t>>16&255,b:t>>8&255,a:(t&255)/255}:e=t,L(e)}function Re(t){return{r:N(t.r),g:N(t.g),b:N(t.b),a:N(t.a,3)}}function J(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const $="#000000FF";function It(t){return st(t).isValid()}function S(t,e=!1){const r=st(t);if(!r.isValid()){if(typeof t=="string")return t;const l=`Failed to normalizeColor ${t}`;if(e)throw new Error(l);return console.warn(l),$}const{r:n,g:i,b:a,a:u}=Re(r.rgba);return`#${J(n)}${J(i)}${J(a)}${J(N(u*255))}`}var X=X||{};X.parse=(function(){const t={linearGradient:/^(-(webkit|o|ms|moz)-)?(linear-gradient)/i,repeatingLinearGradient:/^(-(webkit|o|ms|moz)-)?(repeating-linear-gradient)/i,radialGradient:/^(-(webkit|o|ms|moz)-)?(radial-gradient)/i,repeatingRadialGradient:/^(-(webkit|o|ms|moz)-)?(repeating-radial-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?((\d*\.\d+)|(\d+\.?)))px/,percentageValue:/^(-?((\d*\.\d+)|(\d+\.?)))%/,emValue:/^(-?((\d*\.\d+)|(\d+\.?)))em/,angleValue:/^(-?((\d*\.\d+)|(\d+\.?)))deg/,radianValue:/^(-?((\d*\.\d+)|(\d+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^#([0-9a-f]+)/i,literalColor:/^([a-z]+)/i,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-z0-9-,\s#]+)/i,number:/^((\d*\.\d+)|(\d+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i};let e="";function r(s){const c=new Error(`${e}: ${s}`);throw c.source=e,c}function n(){const s=i();return e.length>0&&r("Invalid input not EOF"),s}function i(){return T(a)}function a(){return u("linear-gradient",t.linearGradient,f)||u("repeating-linear-gradient",t.repeatingLinearGradient,f)||u("radial-gradient",t.radialGradient,p)||u("repeating-radial-gradient",t.repeatingRadialGradient,p)}function u(s,c,d){return l(c,b=>{const G=d();return G&&(v(t.comma)||r("Missing comma before color stops")),{type:s,orientation:G,colorStops:T(ht)}})}function l(s,c){const d=v(s);if(d){v(t.startCall)||r("Missing (");const b=c(d);return v(t.endCall)||r("Missing )"),b}}function f(){const s=m();if(s)return s;const c=P("position-keyword",t.positionKeywords,1);return c?{type:"directional",value:c.value}:g()}function m(){return P("directional",t.sideOrCorner,1)}function g(){return P("angular",t.angleValue,1)||P("angular",t.radianValue,1)}function p(){let s,c=w(),d;return c&&(s=[],s.push(c),d=e,v(t.comma)&&(c=w(),c?s.push(c):e=d)),s}function w(){let s=C()||R();if(s)s.at=O();else{const c=E();if(c){s=c;const d=O();d&&(s.at=d)}else{const d=O();if(d)s={type:"default-radial",at:d};else{const b=I();b&&(s={type:"default-radial",at:b})}}}return s}function C(){const s=P("shape",/^(circle)/i,0);return s&&(s.style=Se()||E()),s}function R(){const s=P("shape",/^(ellipse)/i,0);return s&&(s.style=I()||tt()||E()),s}function E(){return P("extent-keyword",t.extentKeywords,1)}function O(){if(P("position",/^at/,0)){const s=I();return s||r("Missing positioning value"),s}}function I(){const s=B();if(s.x||s.y)return{type:"position",value:s}}function B(){return{x:tt(),y:tt()}}function T(s){let c=s();const d=[];if(c)for(d.push(c);v(t.comma);)c=s(),c?d.push(c):r("One extra comma");return d}function ht(){const s=Ke();return s||r("Expected color definition"),s.length=tt(),s}function Ke(){return xe()||Qe()||Ze()||Xe()||Je()||Ye()||qe()}function qe(){return P("literal",t.literalColor,0)}function xe(){return P("hex",t.hexColor,1)}function Je(){return l(t.rgbColor,()=>({type:"rgb",value:T(U)}))}function Xe(){return l(t.rgbaColor,()=>({type:"rgba",value:T(U)}))}function Ye(){return l(t.varColor,()=>({type:"var",value:tr()}))}function Ze(){return l(t.hslColor,()=>{v(t.percentageValue)&&r("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const c=U();v(t.comma);let d=v(t.percentageValue);const b=d?d[1]:null;v(t.comma),d=v(t.percentageValue);const G=d?d[1]:null;return(!b||!G)&&r("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[c,b,G]}})}function Qe(){return l(t.hslaColor,()=>{const s=U();v(t.comma);let c=v(t.percentageValue);const d=c?c[1]:null;v(t.comma),c=v(t.percentageValue);const b=c?c[1]:null;v(t.comma);const G=U();return(!d||!b)&&r("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[s,d,b,G]}})}function tr(){return v(t.variableName)[1]}function U(){return v(t.number)[1]}function tt(){return P("%",t.percentageValue,1)||er()||rr()||Se()}function er(){return P("position-keyword",t.positionKeywords,1)}function rr(){return l(t.calcValue,()=>{let s=1,c=0;for(;s>0&&c<e.length;){const b=e.charAt(c);b==="("?s++:b===")"&&s--,c++}s>0&&r("Missing closing parenthesis in calc() expression");const d=e.substring(0,c-1);return pt(c-1),{type:"calc",value:d}})}function Se(){return P("px",t.pixelValue,1)||P("em",t.emValue,1)}function P(s,c,d){const b=v(c);if(b)return{type:s,value:b[d]}}function v(s){let c,d;return d=/^\s+/.exec(e),d&&pt(d[0].length),c=s.exec(e),c&&pt(c[0].length),c}function pt(s){e=e.substr(s)}return function(s){return e=s.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),n()}})();const Gt=X.parse.bind(X);var Y=Y||{};Y.stringify=(function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var r=t.visit(e.orientation);return r&&(r+=", "),e.type+"("+r+t.visit(e.colorStops)+")"},visit_shape:function(e){var r=e.value,n=t.visit(e.at),i=t.visit(e.style);return i&&(r+=" "+i),n&&(r+=" at "+n),r},"visit_default-radial":function(e){var r="",n=t.visit(e.at);return n&&(r+=n),r},"visit_extent-keyword":function(e){var r=e.value,n=t.visit(e.at);return n&&(r+=" at "+n),r},"visit_position-keyword":function(e){return e.value},visit_position:function(e){return t.visit(e.value.x)+" "+t.visit(e.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_calc:function(e){return"calc("+e.value+")"},visit_literal:function(e){return t.visit_color(e.value,e)},visit_hex:function(e){return t.visit_color("#"+e.value,e)},visit_rgb:function(e){return t.visit_color("rgb("+e.value.join(", ")+")",e)},visit_rgba:function(e){return t.visit_color("rgba("+e.value.join(", ")+")",e)},visit_hsl:function(e){return t.visit_color("hsl("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%)",e)},visit_hsla:function(e){return t.visit_color("hsla("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%, "+e.value[3]+")",e)},visit_var:function(e){return t.visit_color("var("+e.value+")",e)},visit_color:function(e,r){var n=e,i=t.visit(r.length);return i&&(n+=" "+i),n},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var r="",n=e.length;return e.forEach(function(i,a){r+=t.visit(i),a<n-1&&(r+=", ")}),r},visit_object:function(e){return e.width&&e.height?t.visit(e.width)+" "+t.visit(e.height):""},visit:function(e){if(!e)return"";if(e instanceof Array)return t.visit_array(e);if(typeof e=="object"&&!e.type)return t.visit_object(e);if(e.type){var r=t["visit_"+e.type];if(r)return r(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}})();const Ie=Y.stringify.bind(Y);function jt(t){const e=t.length-1;return t.map((r,n)=>{const i=r.value;let a=N(n/e,3),u="#00000000";switch(r.type){case"rgb":u=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":u=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":u=S(r.value);break;case"hex":u=S(`#${r.value}`);break}switch(r.length?.type){case"%":a=Number(r.length.value)/100;break}return{offset:a,color:u}})}function Mt(t){let e=0;switch(t.orientation?.type){case"angular":e=Number(t.orientation.value);break}return{type:"linear-gradient",angle:e,stops:jt(t.colorStops)}}function Tt(t){return t.orientation?.map(e=>{switch(e?.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:jt(t.colorStops)}}function W(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function Vt(t){return Gt(t).map(e=>{switch(e?.type){case"linear-gradient":return Mt(e);case"repeating-linear-gradient":return{...Mt(e),repeat:!0};case"radial-gradient":return Tt(e);case"repeating-radial-gradient":return{...Tt(e),repeat:!0};default:return}}).filter(Boolean)}function kt(t){let e;return typeof t=="string"?e={color:t}:e={...t},{color:S(e.color)}}function $t(t){let e;if(typeof t=="string"?e={image:t}:e={...t},e.image){const{type:r,...n}=Vt(e.image)[0]??{};switch(r){case"radial-gradient":return{radialGradient:n};case"linear-gradient":return{linearGradient:n}}}return A(e,["linearGradient","radialGradient","rotateWithShape"])}function Wt(t){let e;return typeof t=="string"?e={image:t}:e={...t},A(e,["image","cropRect","stretchRect","tile","dpi","opacity","rotateWithShape"])}function Ht(t){let e;return typeof t=="string"?e={preset:t}:e={...t},h(e.foregroundColor)?delete e.foregroundColor:e.foregroundColor=S(e.foregroundColor),h(e.backgroundColor)?delete e.backgroundColor:e.backgroundColor=S(e.backgroundColor),A(e,["preset","foregroundColor","backgroundColor"])}function Bt(t){return!h(t.color)}function Ut(t){return typeof t=="string"?It(t):Bt(t)}function Kt(t){return!h(t.image)&&W(t.image)||!!t.linearGradient||!!t.radialGradient}function qt(t){return typeof t=="string"?W(t):Kt(t)}function xt(t){return!h(t.image)&&!W(t.image)}function Jt(t){return typeof t=="string"?!W(t):xt(t)}function Xt(t){return!h(t.preset)}function Yt(t){return typeof t=="string"?!1:Xt(t)}function F(t){const e=t&&typeof t=="object"?t.enabled:void 0;return Ut(t)?_({enabled:e,...kt(t)}):qt(t)?_({enabled:e,...$t(t)}):Jt(t)?_({enabled:e,...Wt(t)}):Yt(t)?_({enabled:e,...Ht(t)}):{}}function Zt(t){return typeof t=="string"?{...F(t)}:{...F(t),...A(t,["fillWithShape"])}}function ut(){return{color:$,offsetX:0,offsetY:0,blurRadius:1}}function lt(t){return{...ut(),..._({...t,color:h(t.color)?$:S(t.color)})}}function Qt(){return{...ut(),scaleX:1,scaleY:1}}function te(t){return{...Qt(),...lt(t)}}function Ge(t){return t}function ee(t){return _({...t,softEdge:h(t.softEdge)?void 0:t.softEdge,outerShadow:h(t.outerShadow)?void 0:te(t.outerShadow),innerShadow:h(t.innerShadow)?void 0:lt(t.innerShadow)})}function re(t){return typeof t=="string"?{...F(t)}:{...F(t),...A(t,["fillWithShape"])}}const je="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Me=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=je[r[t]&63];return e};const ne=()=>Me(10),ie=ne;function H(t){return typeof t=="string"?{...F(t)}:{...F(t),...A(t,["width","style","lineCap","lineJoin","headEnd","tailEnd"])}}function oe(t){return typeof t=="string"?{color:S(t)}:{...t,color:h(t.color)?$:S(t.color)}}function ae(){return{boxShadow:"none"}}function se(t){return typeof t=="string"?t.startsWith("<svg")?{svg:t}:{paths:[{data:t}]}:Array.isArray(t)?{paths:t.map(e=>typeof e=="string"?{data:e}:e)}:t}function ue(){return{overflow:"visible",direction:void 0,display:void 0,boxSizing:void 0,width:void 0,height:void 0,maxHeight:void 0,maxWidth:void 0,minHeight:void 0,minWidth:void 0,position:void 0,left:0,top:0,right:void 0,bottom:void 0,borderTop:void 0,borderLeft:void 0,borderRight:void 0,borderBottom:void 0,borderWidth:0,border:void 0,flex:void 0,flexBasis:void 0,flexDirection:void 0,flexGrow:void 0,flexShrink:void 0,flexWrap:void 0,justifyContent:void 0,gap:void 0,alignContent:void 0,alignItems:void 0,alignSelf:void 0,marginTop:void 0,marginLeft:void 0,marginRight:void 0,marginBottom:void 0,margin:void 0,paddingTop:void 0,paddingLeft:void 0,paddingRight:void 0,paddingBottom:void 0,padding:void 0}}function le(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function ce(){return{...ue(),...le(),...ae(),backgroundImage:"none",backgroundSize:"auto, auto",backgroundColor:"none",backgroundColormap:"none",borderRadius:0,borderColor:"none",borderStyle:"solid",outlineWidth:0,outlineOffset:0,outlineColor:"rgb(0, 0, 0)",outlineStyle:"none",visibility:"visible",filter:"none",opacity:1,pointerEvents:"auto",maskImage:"none"}}function fe(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function de(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function ge(){return{...fe(),color:"rgb(0, 0, 0)",verticalAlign:"baseline",letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textTransform:"none",textOrientation:"mixed",textDecoration:"none"}}function he(){return{...de(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function pe(){return{...he(),...ge(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function M(t){return _({...t,color:h(t.color)?void 0:S(t.color),backgroundColor:h(t.backgroundColor)?void 0:S(t.backgroundColor),borderColor:h(t.borderColor)?void 0:S(t.borderColor),outlineColor:h(t.outlineColor)?void 0:S(t.outlineColor),shadowColor:h(t.shadowColor)?void 0:S(t.shadowColor)})}function Te(){return{...ce(),...pe()}}const ct=/\r\n|\n\r|\n|\r/,Ve=new RegExp(`${ct.source}|<br\\/>`,"g"),ke=new RegExp(`^(${ct.source})$`),ft=`
|
|
2
|
+
`;function $e(t){return ct.test(t)}function dt(t){return ke.test(t)}function me(t){return t.replace(Ve,ft)}function Z(t){const e=[];function r(){return e[e.length-1]}function n(l,f,m){const g=l?M(l):{},p=f?F(f):void 0,w=m?H(m):void 0,C=_({...g,fill:p,outline:w,fragments:[]});return e[e.length-1]?.fragments.length===0?e[e.length-1]=C:e.push(C),C}function i(l="",f,m,g){const p=f?M(f):{},w=m?F(m):void 0,C=g?H(g):void 0;Array.from(l).forEach(R=>{if(dt(R)){const{fragments:E,fill:O,outline:I,...B}=r()||n();E.length||E.push(_({...p,fill:w,outline:C,content:ft})),n(B,O,I)}else{const E=r()||n(),O=E.fragments[E.fragments.length-1];if(O){const{content:I,fill:B,outline:T,...ht}=O;if(q(w,B)&&q(C,T)&&q(p,ht)){O.content=`${I}${R}`;return}}E.fragments.push(_({...p,fill:w,outline:C,content:R}))}})}(Array.isArray(t)?t:[t]).forEach(l=>{if(typeof l=="string")n(),i(l);else if(gt(l)){const{content:f,fill:m,outline:g,...p}=l;n(p,m,g),i(f)}else if(ve(l)){const{fragments:f,fill:m,outline:g,...p}=l;n(p,m,g),f.forEach(w=>{const{content:C,fill:R,outline:E,...O}=w;i(C,O,R,E)})}else Array.isArray(l)?(n(),l.forEach(f=>{if(typeof f=="string")i(f);else if(gt(f)){const{content:m,fill:g,outline:p,...w}=f;i(m,w,g,p)}})):console.warn("Failed to parse text content",l)});const u=r();return u&&!u.fragments.length&&u.fragments.push({content:""}),e}function ve(t){return t&&typeof t=="object"&&"fragments"in t&&Array.isArray(t.fragments)}function gt(t){return t&&typeof t=="object"&&"content"in t&&typeof t.content=="string"}function ye(t){return typeof t=="string"||Array.isArray(t)?{content:Z(t)}:_({...t,content:Z(t.content??""),style:t.style?M(t.style):void 0,effects:t.effects?t.effects.map(e=>M(e)):void 0,measureDom:t.measureDom,fonts:t.fonts,fill:t.fill?F(t.fill):void 0,outline:t.outline?H(t.outline):void 0})}function We(t){return Z(t).map(e=>{const r=me(e.fragments.flatMap(n=>n.content).join(""));return dt(r)?"":r}).join(ft)}function be(t){return typeof t=="string"?{src:t}:t}function Q(t){return _({...t,id:t.id??ie(),style:h(t.style)?void 0:M(t.style),text:h(t.text)?void 0:ye(t.text),background:h(t.background)?void 0:Zt(t.background),shape:h(t.shape)?void 0:se(t.shape),fill:h(t.fill)?void 0:F(t.fill),outline:h(t.outline)?void 0:H(t.outline),foreground:h(t.foreground)?void 0:re(t.foreground),shadow:h(t.shadow)?void 0:oe(t.shadow),video:h(t.video)?void 0:be(t.video),audio:h(t.audio)?void 0:j(t.audio),effect:h(t.effect)?void 0:ee(t.effect),children:t.children?.map(e=>Q(e))})}function He(t){return Q(t)}function Be(t){const e={};for(const r in t.children){const n=Q(t.children[r]);delete n.children,e[r]=n}return{...t,children:e}}function Ue(t){const{children:e,...r}=t;function n(f){const{parentId:m,childrenIds:g,...p}=f;return{...p,children:[]}}const i={},a=[],u={...r,children:a};function l(f){if(!e[f]||i[f])return;const m=e[f],g=n(m);i[f]=g;const p=m.parentId;if(p){l(p);const w=e[p],C=i[p];if(!C)return;w?.childrenIds&&C?.children&&(C.children[w.childrenIds.indexOf(f)]=g)}else a.push(g)}for(const f in e)l(f);return u}o.EventEmitter=Oe,o.Observable=Nt,o.RawWeakMap=Le,o.Reactivable=Ae,o.clearUndef=_,o.defaultColor=$,o.defineProperty=Rt,o.flatDocumentToDocument=Ue,o.getDeclarations=k,o.getDefaultElementStyle=ce,o.getDefaultHighlightStyle=fe,o.getDefaultInnerShadow=ut,o.getDefaultLayoutStyle=ue,o.getDefaultListStyleStyle=de,o.getDefaultOuterShadow=Qt,o.getDefaultShadowStyle=ae,o.getDefaultStyle=Te,o.getDefaultTextInlineStyle=ge,o.getDefaultTextLineStyle=he,o.getDefaultTextStyle=pe,o.getDefaultTransformStyle=le,o.getNestedValue=Ft,o.getObjectValueByPath=Lt,o.getPropertyDescriptor=at,o.getPropertyInternalKey=ot,o.hasCRLF=$e,o.idGenerator=ie,o.isCRLF=dt,o.isColor=It,o.isColorFill=Ut,o.isColorFillObject=Bt,o.isEqualObject=q,o.isFragmentObject=gt,o.isGradient=W,o.isGradientFill=qt,o.isGradientFillObject=Kt,o.isImageFill=Jt,o.isImageFillObject=xt,o.isNone=h,o.isParagraphObject=ve,o.isPresetFill=Yt,o.isPresetFillObject=Xt,o.nanoid=ne,o.normalizeAudio=j,o.normalizeBackground=Zt,o.normalizeCRLF=me,o.normalizeColor=S,o.normalizeColorFill=kt,o.normalizeDocument=He,o.normalizeEffect=ee,o.normalizeElement=Q,o.normalizeFill=F,o.normalizeFlatDocument=Be,o.normalizeForeground=re,o.normalizeGradient=Vt,o.normalizeGradientFill=$t,o.normalizeImageFill=Wt,o.normalizeInnerShadow=lt,o.normalizeOuterShadow=te,o.normalizeOutline=H,o.normalizePresetFill=Ht,o.normalizeShadow=oe,o.normalizeShape=se,o.normalizeSoftEdge=Ge,o.normalizeStyle=M,o.normalizeText=ye,o.normalizeTextContent=Z,o.normalizeVideo=be,o.parseColor=st,o.parseGradient=Gt,o.pick=A,o.property=De,o.property2=Ne,o.round=N,o.setNestedValue=Ot,o.setObjectValueByPath=Dt,o.stringifyGradient=Ie,o.textContentToString=We,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/index.mjs
CHANGED
|
@@ -249,6 +249,7 @@ class RawWeakMap {
|
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
+
const internalSymbol = Symbol("internal");
|
|
252
253
|
const propertiesSymbol = Symbol("properties");
|
|
253
254
|
const initedSymbol = Symbol("inited");
|
|
254
255
|
function getDeclarations(constructor) {
|
|
@@ -262,11 +263,18 @@ function getDeclarations(constructor) {
|
|
|
262
263
|
}
|
|
263
264
|
return declarations;
|
|
264
265
|
}
|
|
265
|
-
function getPropertyInternalKey(key) {
|
|
266
|
-
|
|
266
|
+
function getPropertyInternalKey(obj, key) {
|
|
267
|
+
if (!Object.hasOwn(obj, internalSymbol)) {
|
|
268
|
+
obj[internalSymbol] = /* @__PURE__ */ new Map();
|
|
269
|
+
}
|
|
270
|
+
let internalKey = obj[internalSymbol].get(key);
|
|
271
|
+
if (!internalKey) {
|
|
272
|
+
internalKey = Symbol(key);
|
|
273
|
+
obj[internalSymbol].set(key, internalKey);
|
|
274
|
+
}
|
|
275
|
+
return internalKey;
|
|
267
276
|
}
|
|
268
277
|
function getPropertyDescriptor(key, declaration = {}) {
|
|
269
|
-
const internalKey = getPropertyInternalKey(key);
|
|
270
278
|
const {
|
|
271
279
|
default: _default,
|
|
272
280
|
fallback,
|
|
@@ -286,7 +294,7 @@ function getPropertyDescriptor(key, declaration = {}) {
|
|
|
286
294
|
} else if (!internal && typeof this.getProperty !== "undefined") {
|
|
287
295
|
result = this.getProperty(key);
|
|
288
296
|
} else {
|
|
289
|
-
result = this[
|
|
297
|
+
result = this[getPropertyInternalKey(this, key)];
|
|
290
298
|
}
|
|
291
299
|
result = result ?? getFallbackValue();
|
|
292
300
|
if (result === void 0 && _default !== void 0 && !this[initedSymbol]) {
|
|
@@ -306,7 +314,7 @@ function getPropertyDescriptor(key, declaration = {}) {
|
|
|
306
314
|
} else if (!internal && typeof this.setProperty !== "undefined") {
|
|
307
315
|
this.setProperty(key, newValue);
|
|
308
316
|
} else {
|
|
309
|
-
this[
|
|
317
|
+
this[getPropertyInternalKey(this, key)] = newValue;
|
|
310
318
|
}
|
|
311
319
|
this.onUpdateProperty?.(key, newValue, oldValue);
|
|
312
320
|
}
|
|
@@ -427,18 +435,20 @@ class Reactivable extends Observable {
|
|
|
427
435
|
}
|
|
428
436
|
setPropertyAccessor(accessor) {
|
|
429
437
|
this._propertyAccessor = accessor;
|
|
430
|
-
this.getPropertyDeclarations().forEach((
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
438
|
+
this.getPropertyDeclarations().forEach((declaration, key) => {
|
|
439
|
+
if (!accessor.getProperty || declaration.internal || declaration.alias && declaration.alias !== key) {
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
let newValue = accessor.getProperty(key);
|
|
443
|
+
let oldValue = this._properties.get(key);
|
|
444
|
+
if (newValue === void 0 && oldValue !== void 0) {
|
|
445
|
+
newValue = oldValue;
|
|
446
|
+
oldValue = void 0;
|
|
447
|
+
}
|
|
448
|
+
if (!Object.is(newValue, oldValue)) {
|
|
439
449
|
this.offsetSet(key, newValue);
|
|
450
|
+
this.requestUpdate(key, newValue, oldValue);
|
|
440
451
|
}
|
|
441
|
-
this.requestUpdate(key, newValue, oldValue);
|
|
442
452
|
});
|
|
443
453
|
return this;
|
|
444
454
|
}
|
|
@@ -1166,7 +1176,7 @@ function normalizeColorFill(fill) {
|
|
|
1166
1176
|
if (typeof fill === "string") {
|
|
1167
1177
|
obj = { color: fill };
|
|
1168
1178
|
} else {
|
|
1169
|
-
obj = fill;
|
|
1179
|
+
obj = { ...fill };
|
|
1170
1180
|
}
|
|
1171
1181
|
return {
|
|
1172
1182
|
color: normalizeColor(obj.color)
|
|
@@ -1178,7 +1188,7 @@ function normalizeGradientFill(fill) {
|
|
|
1178
1188
|
if (typeof fill === "string") {
|
|
1179
1189
|
obj = { image: fill };
|
|
1180
1190
|
} else {
|
|
1181
|
-
obj = fill;
|
|
1191
|
+
obj = { ...fill };
|
|
1182
1192
|
}
|
|
1183
1193
|
if (obj.image) {
|
|
1184
1194
|
const { type, ...props } = normalizeGradient(obj.image)[0] ?? {};
|
|
@@ -1193,7 +1203,11 @@ function normalizeGradientFill(fill) {
|
|
|
1193
1203
|
};
|
|
1194
1204
|
}
|
|
1195
1205
|
}
|
|
1196
|
-
return obj
|
|
1206
|
+
return pick(obj, [
|
|
1207
|
+
"linearGradient",
|
|
1208
|
+
"radialGradient",
|
|
1209
|
+
"rotateWithShape"
|
|
1210
|
+
]);
|
|
1197
1211
|
}
|
|
1198
1212
|
|
|
1199
1213
|
function normalizeImageFill(fill) {
|
|
@@ -1201,9 +1215,17 @@ function normalizeImageFill(fill) {
|
|
|
1201
1215
|
if (typeof fill === "string") {
|
|
1202
1216
|
obj = { image: fill };
|
|
1203
1217
|
} else {
|
|
1204
|
-
obj = fill;
|
|
1205
|
-
}
|
|
1206
|
-
return obj
|
|
1218
|
+
obj = { ...fill };
|
|
1219
|
+
}
|
|
1220
|
+
return pick(obj, [
|
|
1221
|
+
"image",
|
|
1222
|
+
"cropRect",
|
|
1223
|
+
"stretchRect",
|
|
1224
|
+
"tile",
|
|
1225
|
+
"dpi",
|
|
1226
|
+
"opacity",
|
|
1227
|
+
"rotateWithShape"
|
|
1228
|
+
]);
|
|
1207
1229
|
}
|
|
1208
1230
|
|
|
1209
1231
|
function normalizePresetFill(fill) {
|
|
@@ -1211,13 +1233,23 @@ function normalizePresetFill(fill) {
|
|
|
1211
1233
|
if (typeof fill === "string") {
|
|
1212
1234
|
obj = { preset: fill };
|
|
1213
1235
|
} else {
|
|
1214
|
-
obj = fill;
|
|
1236
|
+
obj = { ...fill };
|
|
1215
1237
|
}
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
}
|
|
1238
|
+
if (isNone(obj.foregroundColor)) {
|
|
1239
|
+
delete obj.foregroundColor;
|
|
1240
|
+
} else {
|
|
1241
|
+
obj.foregroundColor = normalizeColor(obj.foregroundColor);
|
|
1242
|
+
}
|
|
1243
|
+
if (isNone(obj.backgroundColor)) {
|
|
1244
|
+
delete obj.backgroundColor;
|
|
1245
|
+
} else {
|
|
1246
|
+
obj.backgroundColor = normalizeColor(obj.backgroundColor);
|
|
1247
|
+
}
|
|
1248
|
+
return pick(obj, [
|
|
1249
|
+
"preset",
|
|
1250
|
+
"foregroundColor",
|
|
1251
|
+
"backgroundColor"
|
|
1252
|
+
]);
|
|
1221
1253
|
}
|
|
1222
1254
|
|
|
1223
1255
|
function isColorFillObject(fill) {
|
|
@@ -1342,7 +1374,14 @@ function normalizeOutline(outline) {
|
|
|
1342
1374
|
} else {
|
|
1343
1375
|
return {
|
|
1344
1376
|
...normalizeFill(outline),
|
|
1345
|
-
...pick(outline, [
|
|
1377
|
+
...pick(outline, [
|
|
1378
|
+
"width",
|
|
1379
|
+
"style",
|
|
1380
|
+
"lineCap",
|
|
1381
|
+
"lineJoin",
|
|
1382
|
+
"headEnd",
|
|
1383
|
+
"tailEnd"
|
|
1384
|
+
])
|
|
1346
1385
|
};
|
|
1347
1386
|
}
|
|
1348
1387
|
}
|