modern-idoc 0.10.7 → 0.10.9
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 +55 -34
- package/dist/index.d.cts +7 -3
- package/dist/index.d.mts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +52 -35
- package/package.json +8 -8
package/dist/index.cjs
CHANGED
|
@@ -1213,6 +1213,9 @@ function normalizeGradient(cssText) {
|
|
|
1213
1213
|
}).filter(Boolean);
|
|
1214
1214
|
}
|
|
1215
1215
|
|
|
1216
|
+
const colorFillFields = [
|
|
1217
|
+
"color"
|
|
1218
|
+
];
|
|
1216
1219
|
function normalizeColorFill(fill) {
|
|
1217
1220
|
let obj;
|
|
1218
1221
|
if (typeof fill === "string") {
|
|
@@ -1220,11 +1223,17 @@ function normalizeColorFill(fill) {
|
|
|
1220
1223
|
} else {
|
|
1221
1224
|
obj = { ...fill };
|
|
1222
1225
|
}
|
|
1223
|
-
|
|
1224
|
-
color
|
|
1225
|
-
}
|
|
1226
|
+
if (obj.color) {
|
|
1227
|
+
obj.color = normalizeColor(obj.color);
|
|
1228
|
+
}
|
|
1229
|
+
return pick(obj, colorFillFields);
|
|
1226
1230
|
}
|
|
1227
1231
|
|
|
1232
|
+
const gradientFillFields = [
|
|
1233
|
+
"linearGradient",
|
|
1234
|
+
"radialGradient",
|
|
1235
|
+
"rotateWithShape"
|
|
1236
|
+
];
|
|
1228
1237
|
function normalizeGradientFill(fill) {
|
|
1229
1238
|
let obj;
|
|
1230
1239
|
if (typeof fill === "string") {
|
|
@@ -1245,13 +1254,18 @@ function normalizeGradientFill(fill) {
|
|
|
1245
1254
|
};
|
|
1246
1255
|
}
|
|
1247
1256
|
}
|
|
1248
|
-
return pick(obj,
|
|
1249
|
-
"linearGradient",
|
|
1250
|
-
"radialGradient",
|
|
1251
|
-
"rotateWithShape"
|
|
1252
|
-
]);
|
|
1257
|
+
return pick(obj, gradientFillFields);
|
|
1253
1258
|
}
|
|
1254
1259
|
|
|
1260
|
+
const imageFillFiedls = [
|
|
1261
|
+
"image",
|
|
1262
|
+
"cropRect",
|
|
1263
|
+
"stretchRect",
|
|
1264
|
+
"tile",
|
|
1265
|
+
"dpi",
|
|
1266
|
+
"opacity",
|
|
1267
|
+
"rotateWithShape"
|
|
1268
|
+
];
|
|
1255
1269
|
function normalizeImageFill(fill) {
|
|
1256
1270
|
let obj;
|
|
1257
1271
|
if (typeof fill === "string") {
|
|
@@ -1259,17 +1273,14 @@ function normalizeImageFill(fill) {
|
|
|
1259
1273
|
} else {
|
|
1260
1274
|
obj = { ...fill };
|
|
1261
1275
|
}
|
|
1262
|
-
return pick(obj,
|
|
1263
|
-
"image",
|
|
1264
|
-
"cropRect",
|
|
1265
|
-
"stretchRect",
|
|
1266
|
-
"tile",
|
|
1267
|
-
"dpi",
|
|
1268
|
-
"opacity",
|
|
1269
|
-
"rotateWithShape"
|
|
1270
|
-
]);
|
|
1276
|
+
return pick(obj, imageFillFiedls);
|
|
1271
1277
|
}
|
|
1272
1278
|
|
|
1279
|
+
const presetFillFiedls = [
|
|
1280
|
+
"preset",
|
|
1281
|
+
"foregroundColor",
|
|
1282
|
+
"backgroundColor"
|
|
1283
|
+
];
|
|
1273
1284
|
function normalizePresetFill(fill) {
|
|
1274
1285
|
let obj;
|
|
1275
1286
|
if (typeof fill === "string") {
|
|
@@ -1287,11 +1298,7 @@ function normalizePresetFill(fill) {
|
|
|
1287
1298
|
} else {
|
|
1288
1299
|
obj.backgroundColor = normalizeColor(obj.backgroundColor);
|
|
1289
1300
|
}
|
|
1290
|
-
return pick(obj,
|
|
1291
|
-
"preset",
|
|
1292
|
-
"foregroundColor",
|
|
1293
|
-
"backgroundColor"
|
|
1294
|
-
]);
|
|
1301
|
+
return pick(obj, presetFillFiedls);
|
|
1295
1302
|
}
|
|
1296
1303
|
|
|
1297
1304
|
function isColorFillObject(fill) {
|
|
@@ -1320,16 +1327,25 @@ function isPresetFill(fill) {
|
|
|
1320
1327
|
}
|
|
1321
1328
|
function normalizeFill(fill) {
|
|
1322
1329
|
const enabled = fill && typeof fill === "object" ? fill.enabled : void 0;
|
|
1330
|
+
const obj = { enabled };
|
|
1323
1331
|
if (isColorFill(fill)) {
|
|
1324
|
-
|
|
1325
|
-
}
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1332
|
+
Object.assign(obj, normalizeColorFill(fill));
|
|
1333
|
+
}
|
|
1334
|
+
if (isGradientFill(fill)) {
|
|
1335
|
+
Object.assign(obj, normalizeGradientFill(fill));
|
|
1336
|
+
}
|
|
1337
|
+
if (isImageFill(fill)) {
|
|
1338
|
+
Object.assign(obj, normalizeImageFill(fill));
|
|
1339
|
+
}
|
|
1340
|
+
if (isPresetFill(fill)) {
|
|
1341
|
+
Object.assign(obj, normalizePresetFill(fill));
|
|
1331
1342
|
}
|
|
1332
|
-
return
|
|
1343
|
+
return pick(clearUndef(obj), Array.from(/* @__PURE__ */ new Set([
|
|
1344
|
+
...colorFillFields,
|
|
1345
|
+
...imageFillFiedls,
|
|
1346
|
+
...gradientFillFields,
|
|
1347
|
+
...presetFillFiedls
|
|
1348
|
+
])));
|
|
1333
1349
|
}
|
|
1334
1350
|
|
|
1335
1351
|
function normalizeBackground(background) {
|
|
@@ -1559,7 +1575,7 @@ function getDefaultElementStyle() {
|
|
|
1559
1575
|
// outline
|
|
1560
1576
|
outlineWidth: 0,
|
|
1561
1577
|
outlineOffset: 0,
|
|
1562
|
-
outlineColor: "
|
|
1578
|
+
outlineColor: "none",
|
|
1563
1579
|
outlineStyle: "none",
|
|
1564
1580
|
// other
|
|
1565
1581
|
visibility: "visible",
|
|
@@ -1596,7 +1612,7 @@ function getDefaultListStyleStyle() {
|
|
|
1596
1612
|
function getDefaultTextInlineStyle() {
|
|
1597
1613
|
return {
|
|
1598
1614
|
...getDefaultHighlightStyle(),
|
|
1599
|
-
color: "
|
|
1615
|
+
color: "#000000",
|
|
1600
1616
|
verticalAlign: "baseline",
|
|
1601
1617
|
letterSpacing: 0,
|
|
1602
1618
|
wordSpacing: 0,
|
|
@@ -1630,7 +1646,7 @@ function getDefaultTextStyle() {
|
|
|
1630
1646
|
...getDefaultTextInlineStyle(),
|
|
1631
1647
|
// textStroke
|
|
1632
1648
|
textStrokeWidth: 0,
|
|
1633
|
-
textStrokeColor: "
|
|
1649
|
+
textStrokeColor: "none"
|
|
1634
1650
|
};
|
|
1635
1651
|
}
|
|
1636
1652
|
|
|
@@ -1641,7 +1657,8 @@ function normalizeStyle(style) {
|
|
|
1641
1657
|
backgroundColor: isNone(style.backgroundColor) ? void 0 : normalizeColor(style.backgroundColor),
|
|
1642
1658
|
borderColor: isNone(style.borderColor) ? void 0 : normalizeColor(style.borderColor),
|
|
1643
1659
|
outlineColor: isNone(style.outlineColor) ? void 0 : normalizeColor(style.outlineColor),
|
|
1644
|
-
shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor)
|
|
1660
|
+
shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor),
|
|
1661
|
+
textStrokeColor: isNone(style.textStrokeColor) ? void 0 : normalizeColor(style.textStrokeColor)
|
|
1645
1662
|
});
|
|
1646
1663
|
}
|
|
1647
1664
|
function getDefaultStyle() {
|
|
@@ -1883,6 +1900,7 @@ exports.Observable = Observable;
|
|
|
1883
1900
|
exports.RawWeakMap = RawWeakMap;
|
|
1884
1901
|
exports.Reactivable = Reactivable;
|
|
1885
1902
|
exports.clearUndef = clearUndef;
|
|
1903
|
+
exports.colorFillFields = colorFillFields;
|
|
1886
1904
|
exports.defaultColor = defaultColor;
|
|
1887
1905
|
exports.defineProperty = defineProperty;
|
|
1888
1906
|
exports.flatDocumentToDocument = flatDocumentToDocument;
|
|
@@ -1902,8 +1920,10 @@ exports.getDefaultTransformStyle = getDefaultTransformStyle;
|
|
|
1902
1920
|
exports.getNestedValue = getNestedValue;
|
|
1903
1921
|
exports.getObjectValueByPath = getObjectValueByPath;
|
|
1904
1922
|
exports.getPropertyDescriptor = getPropertyDescriptor;
|
|
1923
|
+
exports.gradientFillFields = gradientFillFields;
|
|
1905
1924
|
exports.hasCRLF = hasCRLF;
|
|
1906
1925
|
exports.idGenerator = idGenerator;
|
|
1926
|
+
exports.imageFillFiedls = imageFillFiedls;
|
|
1907
1927
|
exports.isCRLF = isCRLF;
|
|
1908
1928
|
exports.isColor = isColor;
|
|
1909
1929
|
exports.isColorFill = isColorFill;
|
|
@@ -1948,6 +1968,7 @@ exports.normalizeVideo = normalizeVideo;
|
|
|
1948
1968
|
exports.parseColor = parseColor;
|
|
1949
1969
|
exports.parseGradient = parseGradient;
|
|
1950
1970
|
exports.pick = pick;
|
|
1971
|
+
exports.presetFillFiedls = presetFillFiedls;
|
|
1951
1972
|
exports.property = property;
|
|
1952
1973
|
exports.property2 = property2;
|
|
1953
1974
|
exports.propertyOffsetFallback = propertyOffsetFallback;
|
package/dist/index.d.cts
CHANGED
|
@@ -221,6 +221,7 @@ type ColorFill = string | ColorFillObject;
|
|
|
221
221
|
interface NormalizedColorFill {
|
|
222
222
|
color: NormalizedColor;
|
|
223
223
|
}
|
|
224
|
+
declare const colorFillFields: (keyof NormalizedColorFill)[];
|
|
224
225
|
declare function normalizeColorFill(fill: ColorFill): NormalizedColorFill;
|
|
225
226
|
|
|
226
227
|
type GradientFillObject = {
|
|
@@ -232,6 +233,7 @@ interface NormalizedGradientFill {
|
|
|
232
233
|
radialGradient?: RadialGradient;
|
|
233
234
|
rotateWithShape?: boolean;
|
|
234
235
|
}
|
|
236
|
+
declare const gradientFillFields: (keyof NormalizedGradientFill)[];
|
|
235
237
|
declare function normalizeGradientFill(fill: GradientFill): NormalizedGradientFill;
|
|
236
238
|
|
|
237
239
|
/**
|
|
@@ -276,6 +278,7 @@ interface ImageFillObject {
|
|
|
276
278
|
type ImageFill = string | ImageFillObject;
|
|
277
279
|
interface NormalizedImageFill extends ImageFillObject {
|
|
278
280
|
}
|
|
281
|
+
declare const imageFillFiedls: (keyof NormalizedImageFill)[];
|
|
279
282
|
declare function normalizeImageFill(fill: ImageFill): NormalizedImageFill;
|
|
280
283
|
|
|
281
284
|
type None = undefined | null | 'none';
|
|
@@ -294,6 +297,7 @@ interface NormalizedPresetFill extends PresetFillObject {
|
|
|
294
297
|
foregroundColor?: NormalizedColor;
|
|
295
298
|
backgroundColor?: NormalizedColor;
|
|
296
299
|
}
|
|
300
|
+
declare const presetFillFiedls: (keyof NormalizedPresetFill)[];
|
|
297
301
|
declare function normalizePresetFill(fill: PresetFill): NormalizedPresetFill;
|
|
298
302
|
|
|
299
303
|
type FillObject = {
|
|
@@ -670,10 +674,10 @@ declare function getDefaultTextLineStyle(): NormalizedTextLineStyle;
|
|
|
670
674
|
|
|
671
675
|
interface NormalizedTextDrawStyle {
|
|
672
676
|
textStrokeWidth: number;
|
|
673
|
-
textStrokeColor: NormalizedColor
|
|
677
|
+
textStrokeColor: WithStyleNone<NormalizedColor>;
|
|
674
678
|
}
|
|
675
679
|
type NormalizedTextStyle = NormalizedTextLineStyle & NormalizedTextInlineStyle & NormalizedTextDrawStyle;
|
|
676
|
-
declare function getDefaultTextStyle():
|
|
680
|
+
declare function getDefaultTextStyle(): NormalizedTextStyle;
|
|
677
681
|
|
|
678
682
|
type FullStyle = NormalizedTextStyle & NormalizedElementStyle;
|
|
679
683
|
type NormalizedStyle = Partial<FullStyle>;
|
|
@@ -902,5 +906,5 @@ declare class Reactivable extends Observable implements PropertyAccessor {
|
|
|
902
906
|
destroy(): void;
|
|
903
907
|
}
|
|
904
908
|
|
|
905
|
-
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, hasCRLF, idGenerator, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
909
|
+
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, colorFillFields, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, gradientFillFields, hasCRLF, idGenerator, imageFillFiedls, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, presetFillFiedls, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
906
910
|
export type { Align, AngularNode, Audio, Background, BackgroundObject, BackgroundSize, BorderStyle, BoxShadow, BoxSizing, CmykColor, CmykaColor, Color, ColorFill, ColorFillObject, ColorStop, ColorStopNode, DefaultRadialNode, Direction, DirectionalNode, Display, Document, Effect, EffectObject, Element, EmNode, EventListener, EventListenerOptions, EventListenerValue, ExtentKeywordNode, Fill, FillObject, FillRule, FlatDocument, FlatElement, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, FullStyle, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, IdGenerator, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineCap, LineEndSize, LineEndType, LineJoin, LinearGradient, LinearGradientNode, LinearGradientWithType, ListStyleColormap, ListStyleImage, ListStylePosition, ListStyleSize, ListStyleType, LiteralNode, Meta, Node, None, NormalizedAudio, NormalizedBackground, NormalizedBaseBackground, NormalizedBaseForeground, NormalizedBaseOuterShadow, NormalizedBaseOutline, NormalizedColor, NormalizedColorFill, NormalizedDocument, NormalizedEffect, NormalizedElement, NormalizedElementStyle, NormalizedFill, NormalizedFlatDocument, NormalizedFlatElement, NormalizedForeground, NormalizedFragment, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedParagraph, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, ObservableEvents, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PropertyAccessor, PropertyDeclaration, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, ReactivableEvents, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextObject, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
package/dist/index.d.mts
CHANGED
|
@@ -221,6 +221,7 @@ type ColorFill = string | ColorFillObject;
|
|
|
221
221
|
interface NormalizedColorFill {
|
|
222
222
|
color: NormalizedColor;
|
|
223
223
|
}
|
|
224
|
+
declare const colorFillFields: (keyof NormalizedColorFill)[];
|
|
224
225
|
declare function normalizeColorFill(fill: ColorFill): NormalizedColorFill;
|
|
225
226
|
|
|
226
227
|
type GradientFillObject = {
|
|
@@ -232,6 +233,7 @@ interface NormalizedGradientFill {
|
|
|
232
233
|
radialGradient?: RadialGradient;
|
|
233
234
|
rotateWithShape?: boolean;
|
|
234
235
|
}
|
|
236
|
+
declare const gradientFillFields: (keyof NormalizedGradientFill)[];
|
|
235
237
|
declare function normalizeGradientFill(fill: GradientFill): NormalizedGradientFill;
|
|
236
238
|
|
|
237
239
|
/**
|
|
@@ -276,6 +278,7 @@ interface ImageFillObject {
|
|
|
276
278
|
type ImageFill = string | ImageFillObject;
|
|
277
279
|
interface NormalizedImageFill extends ImageFillObject {
|
|
278
280
|
}
|
|
281
|
+
declare const imageFillFiedls: (keyof NormalizedImageFill)[];
|
|
279
282
|
declare function normalizeImageFill(fill: ImageFill): NormalizedImageFill;
|
|
280
283
|
|
|
281
284
|
type None = undefined | null | 'none';
|
|
@@ -294,6 +297,7 @@ interface NormalizedPresetFill extends PresetFillObject {
|
|
|
294
297
|
foregroundColor?: NormalizedColor;
|
|
295
298
|
backgroundColor?: NormalizedColor;
|
|
296
299
|
}
|
|
300
|
+
declare const presetFillFiedls: (keyof NormalizedPresetFill)[];
|
|
297
301
|
declare function normalizePresetFill(fill: PresetFill): NormalizedPresetFill;
|
|
298
302
|
|
|
299
303
|
type FillObject = {
|
|
@@ -670,10 +674,10 @@ declare function getDefaultTextLineStyle(): NormalizedTextLineStyle;
|
|
|
670
674
|
|
|
671
675
|
interface NormalizedTextDrawStyle {
|
|
672
676
|
textStrokeWidth: number;
|
|
673
|
-
textStrokeColor: NormalizedColor
|
|
677
|
+
textStrokeColor: WithStyleNone<NormalizedColor>;
|
|
674
678
|
}
|
|
675
679
|
type NormalizedTextStyle = NormalizedTextLineStyle & NormalizedTextInlineStyle & NormalizedTextDrawStyle;
|
|
676
|
-
declare function getDefaultTextStyle():
|
|
680
|
+
declare function getDefaultTextStyle(): NormalizedTextStyle;
|
|
677
681
|
|
|
678
682
|
type FullStyle = NormalizedTextStyle & NormalizedElementStyle;
|
|
679
683
|
type NormalizedStyle = Partial<FullStyle>;
|
|
@@ -902,5 +906,5 @@ declare class Reactivable extends Observable implements PropertyAccessor {
|
|
|
902
906
|
destroy(): void;
|
|
903
907
|
}
|
|
904
908
|
|
|
905
|
-
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, hasCRLF, idGenerator, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
909
|
+
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, colorFillFields, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, gradientFillFields, hasCRLF, idGenerator, imageFillFiedls, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, presetFillFiedls, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
906
910
|
export type { Align, AngularNode, Audio, Background, BackgroundObject, BackgroundSize, BorderStyle, BoxShadow, BoxSizing, CmykColor, CmykaColor, Color, ColorFill, ColorFillObject, ColorStop, ColorStopNode, DefaultRadialNode, Direction, DirectionalNode, Display, Document, Effect, EffectObject, Element, EmNode, EventListener, EventListenerOptions, EventListenerValue, ExtentKeywordNode, Fill, FillObject, FillRule, FlatDocument, FlatElement, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, FullStyle, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, IdGenerator, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineCap, LineEndSize, LineEndType, LineJoin, LinearGradient, LinearGradientNode, LinearGradientWithType, ListStyleColormap, ListStyleImage, ListStylePosition, ListStyleSize, ListStyleType, LiteralNode, Meta, Node, None, NormalizedAudio, NormalizedBackground, NormalizedBaseBackground, NormalizedBaseForeground, NormalizedBaseOuterShadow, NormalizedBaseOutline, NormalizedColor, NormalizedColorFill, NormalizedDocument, NormalizedEffect, NormalizedElement, NormalizedElementStyle, NormalizedFill, NormalizedFlatDocument, NormalizedFlatElement, NormalizedForeground, NormalizedFragment, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedParagraph, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, ObservableEvents, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PropertyAccessor, PropertyDeclaration, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, ReactivableEvents, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextObject, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
package/dist/index.d.ts
CHANGED
|
@@ -221,6 +221,7 @@ type ColorFill = string | ColorFillObject;
|
|
|
221
221
|
interface NormalizedColorFill {
|
|
222
222
|
color: NormalizedColor;
|
|
223
223
|
}
|
|
224
|
+
declare const colorFillFields: (keyof NormalizedColorFill)[];
|
|
224
225
|
declare function normalizeColorFill(fill: ColorFill): NormalizedColorFill;
|
|
225
226
|
|
|
226
227
|
type GradientFillObject = {
|
|
@@ -232,6 +233,7 @@ interface NormalizedGradientFill {
|
|
|
232
233
|
radialGradient?: RadialGradient;
|
|
233
234
|
rotateWithShape?: boolean;
|
|
234
235
|
}
|
|
236
|
+
declare const gradientFillFields: (keyof NormalizedGradientFill)[];
|
|
235
237
|
declare function normalizeGradientFill(fill: GradientFill): NormalizedGradientFill;
|
|
236
238
|
|
|
237
239
|
/**
|
|
@@ -276,6 +278,7 @@ interface ImageFillObject {
|
|
|
276
278
|
type ImageFill = string | ImageFillObject;
|
|
277
279
|
interface NormalizedImageFill extends ImageFillObject {
|
|
278
280
|
}
|
|
281
|
+
declare const imageFillFiedls: (keyof NormalizedImageFill)[];
|
|
279
282
|
declare function normalizeImageFill(fill: ImageFill): NormalizedImageFill;
|
|
280
283
|
|
|
281
284
|
type None = undefined | null | 'none';
|
|
@@ -294,6 +297,7 @@ interface NormalizedPresetFill extends PresetFillObject {
|
|
|
294
297
|
foregroundColor?: NormalizedColor;
|
|
295
298
|
backgroundColor?: NormalizedColor;
|
|
296
299
|
}
|
|
300
|
+
declare const presetFillFiedls: (keyof NormalizedPresetFill)[];
|
|
297
301
|
declare function normalizePresetFill(fill: PresetFill): NormalizedPresetFill;
|
|
298
302
|
|
|
299
303
|
type FillObject = {
|
|
@@ -670,10 +674,10 @@ declare function getDefaultTextLineStyle(): NormalizedTextLineStyle;
|
|
|
670
674
|
|
|
671
675
|
interface NormalizedTextDrawStyle {
|
|
672
676
|
textStrokeWidth: number;
|
|
673
|
-
textStrokeColor: NormalizedColor
|
|
677
|
+
textStrokeColor: WithStyleNone<NormalizedColor>;
|
|
674
678
|
}
|
|
675
679
|
type NormalizedTextStyle = NormalizedTextLineStyle & NormalizedTextInlineStyle & NormalizedTextDrawStyle;
|
|
676
|
-
declare function getDefaultTextStyle():
|
|
680
|
+
declare function getDefaultTextStyle(): NormalizedTextStyle;
|
|
677
681
|
|
|
678
682
|
type FullStyle = NormalizedTextStyle & NormalizedElementStyle;
|
|
679
683
|
type NormalizedStyle = Partial<FullStyle>;
|
|
@@ -902,5 +906,5 @@ declare class Reactivable extends Observable implements PropertyAccessor {
|
|
|
902
906
|
destroy(): void;
|
|
903
907
|
}
|
|
904
908
|
|
|
905
|
-
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, hasCRLF, idGenerator, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
909
|
+
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, colorFillFields, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, gradientFillFields, hasCRLF, idGenerator, imageFillFiedls, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, presetFillFiedls, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
906
910
|
export type { Align, AngularNode, Audio, Background, BackgroundObject, BackgroundSize, BorderStyle, BoxShadow, BoxSizing, CmykColor, CmykaColor, Color, ColorFill, ColorFillObject, ColorStop, ColorStopNode, DefaultRadialNode, Direction, DirectionalNode, Display, Document, Effect, EffectObject, Element, EmNode, EventListener, EventListenerOptions, EventListenerValue, ExtentKeywordNode, Fill, FillObject, FillRule, FlatDocument, FlatElement, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, FullStyle, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, IdGenerator, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineCap, LineEndSize, LineEndType, LineJoin, LinearGradient, LinearGradientNode, LinearGradientWithType, ListStyleColormap, ListStyleImage, ListStylePosition, ListStyleSize, ListStyleType, LiteralNode, Meta, Node, None, NormalizedAudio, NormalizedBackground, NormalizedBaseBackground, NormalizedBaseForeground, NormalizedBaseOuterShadow, NormalizedBaseOutline, NormalizedColor, NormalizedColorFill, NormalizedDocument, NormalizedEffect, NormalizedElement, NormalizedElementStyle, NormalizedFill, NormalizedFlatDocument, NormalizedFlatElement, NormalizedForeground, NormalizedFragment, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedParagraph, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, ObservableEvents, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PropertyAccessor, PropertyDeclaration, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, ReactivableEvents, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextObject, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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 Ce={grad:.9,turn:360,rad:360/(2*Math.PI)},D=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},v=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},yt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},bt=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)}},rt=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},we=/^#([0-9a-f]{3,8})$/i,q=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},St=function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=Math.max(e,r,n),s=a-Math.min(e,r,n),u=s?a===e?(r-n)/s:a===r?2+(n-e)/s:4+(e-r)/s:0;return{h:60*(u<0?u+6:u),s:a?s/a*100:0,v:a/255*100,a:i}},_t=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),s=n*(1-r),u=n*(1-(e-a)*r),f=n*(1-(1-e+a)*r),g=a%6;return{r:255*[n,u,s,s,f,n][g],g:255*[f,n,n,u,s,s][g],b:255*[s,s,f,n,n,u][g],a:i}},Ct=function(t){return{h:yt(t.h),s:z(t.s,0,100),l:z(t.l,0,100),a:z(t.a)}},wt=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},Pt=function(t){return _t((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=St(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},Pe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ze=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Oe=/^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,zt={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?v(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?v(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=Oe.exec(t)||Ee.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:bt({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=Pe.exec(t)||ze.exec(t);if(!e)return null;var r,n,i=Ct({h:(r=e[1],n=e[2],n===void 0&&(n="deg"),Number(r)*(Ce[n]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return Pt(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)?bt({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 s=Ct({h:Number(e),s:Number(r),l:Number(n),a:Number(a)});return Pt(s)},"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 s=(function(u){return{h:yt(u.h),s:z(u.s,0,100),v:z(u.v,0,100),a:z(u.a)}})({h:Number(e),s:Number(r),v:Number(n),a:Number(a)});return _t(s)},"hsv"]]},Ot=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"?Ot(t.trim(),zt.string):typeof t=="object"&&t!==null?Ot(t,zt.object):[null,void 0]},nt=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}},it=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},Et=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}},Ft=(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 v(it(this.rgba),2)},t.prototype.isDark=function(){return it(this.rgba)<.5},t.prototype.isLight=function(){return it(this.rgba)>=.5},t.prototype.toHex=function(){return e=rt(this.rgba),r=e.r,n=e.g,i=e.b,s=(a=e.a)<1?q(v(255*a)):"","#"+q(r)+q(n)+q(i)+s;var e,r,n,i,a,s},t.prototype.toRgb=function(){return rt(this.rgba)},t.prototype.toRgbString=function(){return e=rt(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 wt(V(this.rgba))},t.prototype.toHslString=function(){return e=wt(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=St(this.rgba),{h:v(e.h),s:v(e.s),v:v(e.v),a:v(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(nt(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),L(nt(this.rgba,-e))},t.prototype.grayscale=function(){return L(nt(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),L(Et(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),L(Et(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}):v(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}):v(r.h)},t.prototype.isEqual=function(e){return this.toHex()===L(e).toHex()},t})(),L=function(t){return t instanceof Ft?t:new Ft(t)};class Le{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 s=0,u=i.length;s<u;s++){const f=i[s];(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 s=n[a];typeof s.options=="object"&&s.options?.once&&this.off(e,s.value,s.options),s.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===""||t==="none"}function A(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 N(t,e){const r={};return e.forEach(n=>{n in t&&(r[n]=t[n])}),r}function J(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 Lt(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 Dt(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 At(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(/^\./,""),Lt(t,e.split("."),r))}function Nt(t,e,r){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Dt(t,e.split("."),r)}class Rt{_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 De{_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 ot=Symbol("properties"),X=Symbol("inited");function $(t){let e;if(Object.hasOwn(t,ot))e=t[ot];else{const r=Object.getPrototypeOf(t);e=new Map(r?$(r):void 0),t[ot]=e}return e}function at(t,e,r,n){const{alias:i,internalKey:a}=n,s=t[e];i?Nt(t,i,r):t[a]=r,t.onUpdateProperty?.(e,r??k(t,e,n),s)}function st(t,e,r){const{alias:n,internalKey:i}=r;let a;return n?a=At(t,n):a=t[i],a=a??k(t,e,r),a}function k(t,e,r){const{default:n,fallback:i}=r;let a;if(n!==void 0&&!t[X]?.[e]){t[X]||(t[X]={}),t[X][e]=!0;const s=typeof n=="function"?n():n;s!==void 0&&(t[e]=s,a=s)}return a===void 0&&i!==void 0&&(a=typeof i=="function"?i():i),a}function lt(t,e){function r(){return typeof this.getProperty<"u"?this.getProperty(t):st(this,t,e)}function n(i){typeof this.setProperty<"u"?this.setProperty(t,i):at(this,t,i,e)}return{get:r,set:n}}function Gt(t,e,r={}){const n={...r,internalKey:Symbol(e)};$(t).set(e,n);const i=lt(e,n);Object.defineProperty(t.prototype,e,{get(){return i.get.call(this)},set(a){i.set.call(this,a)},configurable:!0,enumerable:!0})}function Ae(t){return function(e,r){if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");Gt(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={...t,internalKey:Symbol(n)},a=lt(n,i);return{init(s){return $(this.constructor).set(n,i),a.set.call(this,s),s},get(){return a.get.call(this)},set(s){a.set.call(this,s)}}}}class Re extends Rt{_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}getProperty(e){const r=this.getPropertyDeclaration(e);if(r){if(r.internal||r.alias)return st(this,e,r);{let n;return this._propertyAccessor?.getProperty?n=this._propertyAccessor.getProperty(e):n=this._properties.get(e),n??k(this,e,r)}}}setProperty(e,r){const n=this.getPropertyDeclaration(e);if(n)if(n.internal||n.alias)at(this,e,r,n);else{const i=this.getProperty(e);this._propertyAccessor?.setProperty?.(e,r),this._properties.set(e,r),this.onUpdateProperty?.(e,r??k(this,e,n),i)}}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 in e)this.setProperty(r,e[r]);return this}resetProperties(){for(const[e,r]of this.getPropertyDeclarations())this.setProperty(e,typeof r.default=="function"?r.default():r.default);return this}getPropertyDeclarations(){return $(this.constructor)}getPropertyDeclaration(e){return this.getPropertyDeclarations().get(e)}setPropertyAccessor(e){const r=this.getPropertyDeclarations();this._propertyAccessor=void 0;const n={};return r.forEach((i,a)=>{n[a]=this.getProperty(a)}),this._propertyAccessor=e,r.forEach((i,a)=>{const s=this.getProperty(a),u=n[a];s!==void 0&&!Object.is(s,u)&&(this.setProperty(a,s),!i.internal&&!i.alias&&this.requestUpdate(a,s,u))}),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())}destroy(){this.emit("destroy"),super.destroy()}}function ut(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 Ge(t){return{r:A(t.r),g:A(t.g),b:A(t.b),a:A(t.a,3)}}function Y(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const W="#000000FF";function It(t){return ut(t).isValid()}function S(t,e=!1){const r=ut(t);if(!r.isValid()){if(typeof t=="string")return t;const u=`Failed to normalizeColor ${t}`;if(e)throw new Error(u);return console.warn(u),W}const{r:n,g:i,b:a,a:s}=Ge(r.rgba);return`#${Y(n)}${Y(i)}${Y(a)}${Y(A(s*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(l){const c=new Error(`${e}: ${l}`);throw c.source=e,c}function n(){const l=i();return e.length>0&&r("Invalid input not EOF"),l}function i(){return M(a)}function a(){return s("linear-gradient",t.linearGradient,f)||s("repeating-linear-gradient",t.repeatingLinearGradient,f)||s("radial-gradient",t.radialGradient,p)||s("repeating-radial-gradient",t.repeatingRadialGradient,p)}function s(l,c,d){return u(c,b=>{const I=d();return I&&(m(t.comma)||r("Missing comma before color stops")),{type:l,orientation:I,colorStops:M(mt)}})}function u(l,c){const d=m(l);if(d){m(t.startCall)||r("Missing (");const b=c(d);return m(t.endCall)||r("Missing )"),b}}function f(){const l=g();if(l)return l;const c=P("position-keyword",t.positionKeywords,1);return c?{type:"directional",value:c.value}:y()}function g(){return P("directional",t.sideOrCorner,1)}function y(){return P("angular",t.angleValue,1)||P("angular",t.radianValue,1)}function p(){let l,c=C(),d;return c&&(l=[],l.push(c),d=e,m(t.comma)&&(c=C(),c?l.push(c):e=d)),l}function C(){let l=w()||R();if(l)l.at=F();else{const c=O();if(c){l=c;const d=F();d&&(l.at=d)}else{const d=F();if(d)l={type:"default-radial",at:d};else{const b=G();b&&(l={type:"default-radial",at:b})}}}return l}function w(){const l=P("shape",/^(circle)/i,0);return l&&(l.style=_e()||O()),l}function R(){const l=P("shape",/^(ellipse)/i,0);return l&&(l.style=G()||et()||O()),l}function O(){return P("extent-keyword",t.extentKeywords,1)}function F(){if(P("position",/^at/,0)){const l=G();return l||r("Missing positioning value"),l}}function G(){const l=U();if(l.x||l.y)return{type:"position",value:l}}function U(){return{x:et(),y:et()}}function M(l){let c=l();const d=[];if(c)for(d.push(c);m(t.comma);)c=l(),c?d.push(c):r("One extra comma");return d}function mt(){const l=qe();return l||r("Expected color definition"),l.length=et(),l}function qe(){return Xe()||tr()||Qe()||xe()||Ye()||Ze()||Je()}function Je(){return P("literal",t.literalColor,0)}function Xe(){return P("hex",t.hexColor,1)}function Ye(){return u(t.rgbColor,()=>({type:"rgb",value:M(K)}))}function xe(){return u(t.rgbaColor,()=>({type:"rgba",value:M(K)}))}function Ze(){return u(t.varColor,()=>({type:"var",value:er()}))}function Qe(){return u(t.hslColor,()=>{m(t.percentageValue)&&r("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const c=K();m(t.comma);let d=m(t.percentageValue);const b=d?d[1]:null;m(t.comma),d=m(t.percentageValue);const I=d?d[1]:null;return(!b||!I)&&r("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[c,b,I]}})}function tr(){return u(t.hslaColor,()=>{const l=K();m(t.comma);let c=m(t.percentageValue);const d=c?c[1]:null;m(t.comma),c=m(t.percentageValue);const b=c?c[1]:null;m(t.comma);const I=K();return(!d||!b)&&r("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[l,d,b,I]}})}function er(){return m(t.variableName)[1]}function K(){return m(t.number)[1]}function et(){return P("%",t.percentageValue,1)||rr()||nr()||_e()}function rr(){return P("position-keyword",t.positionKeywords,1)}function nr(){return u(t.calcValue,()=>{let l=1,c=0;for(;l>0&&c<e.length;){const b=e.charAt(c);b==="("?l++:b===")"&&l--,c++}l>0&&r("Missing closing parenthesis in calc() expression");const d=e.substring(0,c-1);return vt(c-1),{type:"calc",value:d}})}function _e(){return P("px",t.pixelValue,1)||P("em",t.emValue,1)}function P(l,c,d){const b=m(c);if(b)return{type:l,value:b[d]}}function m(l){let c,d;return d=/^\s+/.exec(e),d&&vt(d[0].length),c=l.exec(e),c&&vt(c[0].length),c}function vt(l){e=e.substr(l)}return function(l){return e=l.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),n()}})();const jt=x.parse.bind(x);var Z=Z||{};Z.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=Z.stringify.bind(Z);function Tt(t){const e=t.length-1;return t.map((r,n)=>{const i=r.value;let a=A(n/e,3),s="#00000000";switch(r.type){case"rgb":s=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":s=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":s=S(r.value);break;case"hex":s=S(`#${r.value}`);break}switch(r.length?.type){case"%":a=Number(r.length.value)/100;break}return{offset:a,color:s}})}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:Tt(t.colorStops)}}function Vt(t){return t.orientation?.map(e=>{switch(e?.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:Tt(t.colorStops)}}function H(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function $t(t){return jt(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 Vt(e);case"repeating-radial-gradient":return{...Vt(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 Wt(t){let e;if(typeof t=="string"?e={image:t}:e={...t},e.image){const{type:r,...n}=$t(e.image)[0]??{};switch(r){case"radial-gradient":return{radialGradient:n};case"linear-gradient":return{linearGradient:n}}}return N(e,["linearGradient","radialGradient","rotateWithShape"])}function Ht(t){let e;return typeof t=="string"?e={image:t}:e={...t},N(e,["image","cropRect","stretchRect","tile","dpi","opacity","rotateWithShape"])}function Bt(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),N(e,["preset","foregroundColor","backgroundColor"])}function Ut(t){return!h(t.color)}function Kt(t){return typeof t=="string"?It(t):Ut(t)}function qt(t){return!h(t.image)&&H(t.image)||!!t.linearGradient||!!t.radialGradient}function Jt(t){return typeof t=="string"?H(t):qt(t)}function Xt(t){return!h(t.image)&&!H(t.image)}function Yt(t){return typeof t=="string"?!H(t):Xt(t)}function xt(t){return!h(t.preset)}function Zt(t){return typeof t=="string"?!1:xt(t)}function E(t){const e=t&&typeof t=="object"?t.enabled:void 0;return Kt(t)?_({enabled:e,...kt(t)}):Jt(t)?_({enabled:e,...Wt(t)}):Yt(t)?_({enabled:e,...Ht(t)}):Zt(t)?_({enabled:e,...Bt(t)}):{}}function Qt(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}function ct(){return{color:W,offsetX:0,offsetY:0,blurRadius:1}}function ft(t){return{...ct(),..._({...t,color:h(t.color)?W:S(t.color)})}}function te(){return{...ct(),scaleX:1,scaleY:1}}function ee(t){return{...te(),...ft(t)}}function je(t){return t}function re(t){return _({...t,softEdge:h(t.softEdge)?void 0:t.softEdge,outerShadow:h(t.outerShadow)?void 0:ee(t.outerShadow),innerShadow:h(t.innerShadow)?void 0:ft(t.innerShadow)})}function ne(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}const Te="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Me=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Te[r[t]&63];return e};const ie=()=>Me(10),oe=ie;function B(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["width","style","lineCap","lineJoin","headEnd","tailEnd"])}}function ae(t){return typeof t=="string"?{color:S(t)}:{...t,color:h(t.color)?W:S(t.color)}}function se(){return{boxShadow:"none"}}function le(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 ce(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function fe(){return{...ue(),...ce(),...se(),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 de(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function he(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function ge(){return{...de(),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 pe(){return{...he(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function me(){return{...pe(),...ge(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function T(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 Ve(){return{...fe(),...me()}}const dt=/\r\n|\n\r|\n|\r/,$e=new RegExp(`${dt.source}|<br\\/>`,"g"),ke=new RegExp(`^(${dt.source})$`),ht=`
|
|
2
|
-
`;function
|
|
1
|
+
(function(o,I){typeof exports=="object"&&typeof module<"u"?I(exports):typeof define=="function"&&define.amd?define(["exports"],I):(o=typeof globalThis<"u"?globalThis:o||self,I(o.modernIdoc={}))})(this,(function(o){"use strict";function I(t){return typeof t=="string"?{src:t}:t}var Oe={grad:.9,turn:360,rad:360/(2*Math.PI)},D=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},v=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=Math.pow(10,e)),Math.round(r*t)/r+0},P=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=1),t>r?r:t>e?t:e},Ct=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},wt=function(t){return{r:P(t.r,0,255),g:P(t.g,0,255),b:P(t.b,0,255),a:P(t.a)}},rt=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},ze=/^#([0-9a-f]{3,8})$/i,q=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},Pt=function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=Math.max(e,r,n),s=a-Math.min(e,r,n),u=s?a===e?(r-n)/s:a===r?2+(n-e)/s:4+(e-r)/s:0;return{h:60*(u<0?u+6:u),s:a?s/a*100:0,v:a/255*100,a:i}},Ft=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),s=n*(1-r),u=n*(1-(e-a)*r),f=n*(1-(1-e+a)*r),g=a%6;return{r:255*[n,u,s,s,f,n][g],g:255*[f,n,n,u,s,s][g],b:255*[s,s,f,n,n,u][g],a:i}},Ot=function(t){return{h:Ct(t.h),s:P(t.s,0,100),l:P(t.l,0,100),a:P(t.a)}},zt=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},Et=function(t){return Ft((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=Pt(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},Ee=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Le=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,De=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ae=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Lt={string:[[function(t){var e=ze.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?v(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?v(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=De.exec(t)||Ae.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:wt({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=Ee.exec(t)||Le.exec(t);if(!e)return null;var r,n,i=Ot({h:(r=e[1],n=e[2],n===void 0&&(n="deg"),Number(r)*(Oe[n]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return Et(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)?wt({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 s=Ot({h:Number(e),s:Number(r),l:Number(n),a:Number(a)});return Et(s)},"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 s=(function(u){return{h:Ct(u.h),s:P(u.s,0,100),v:P(u.v,0,100),a:P(u.a)}})({h:Number(e),s:Number(r),v:Number(n),a:Number(a)});return Ft(s)},"hsv"]]},Dt=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]},Ne=function(t){return typeof t=="string"?Dt(t.trim(),Lt.string):typeof t=="object"&&t!==null?Dt(t,Lt.object):[null,void 0]},nt=function(t,e){var r=V(t);return{h:r.h,s:P(r.s+100*e,0,100),l:r.l,a:r.a}},it=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},At=function(t,e){var r=V(t);return{h:r.h,s:r.s,l:P(r.l+100*e,0,100),a:r.a}},Nt=(function(){function t(e){this.parsed=Ne(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 v(it(this.rgba),2)},t.prototype.isDark=function(){return it(this.rgba)<.5},t.prototype.isLight=function(){return it(this.rgba)>=.5},t.prototype.toHex=function(){return e=rt(this.rgba),r=e.r,n=e.g,i=e.b,s=(a=e.a)<1?q(v(255*a)):"","#"+q(r)+q(n)+q(i)+s;var e,r,n,i,a,s},t.prototype.toRgb=function(){return rt(this.rgba)},t.prototype.toRgbString=function(){return e=rt(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 zt(V(this.rgba))},t.prototype.toHslString=function(){return e=zt(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=Pt(this.rgba),{h:v(e.h),s:v(e.s),v:v(e.v),a:v(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(nt(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),L(nt(this.rgba,-e))},t.prototype.grayscale=function(){return L(nt(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),L(At(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),L(At(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}):v(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}):v(r.h)},t.prototype.isEqual=function(e){return this.toHex()===L(e).toHex()},t})(),L=function(t){return t instanceof Nt?t:new Nt(t)};class Re{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 s=0,u=i.length;s<u;s++){const f=i[s];(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 s=n[a];typeof s.options=="object"&&s.options?.once&&this.off(e,s.value,s.options),s.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===""||t==="none"}function N(t,e=0,r=10**e){return Math.round(r*t)/r+0}function F(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(n=>F(n,e)):t;const r={};for(const n in t){const i=t[n];i!=null&&(e?r[n]=F(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 J(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 Rt(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 jt(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 Gt(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(/^\./,""),Rt(t,e.split("."),r))}function It(t,e,r){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),jt(t,e.split("."),r)}class Tt{_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 je{_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 ot=Symbol("properties"),X=Symbol("inited");function k(t){let e;if(Object.hasOwn(t,ot))e=t[ot];else{const r=Object.getPrototypeOf(t);e=new Map(r?k(r):void 0),t[ot]=e}return e}function at(t,e,r,n){const{alias:i,internalKey:a}=n,s=t[e];i?It(t,i,r):t[a]=r,t.onUpdateProperty?.(e,r??$(t,e,n),s)}function st(t,e,r){const{alias:n,internalKey:i}=r;let a;return n?a=Gt(t,n):a=t[i],a=a??$(t,e,r),a}function $(t,e,r){const{default:n,fallback:i}=r;let a;if(n!==void 0&&!t[X]?.[e]){t[X]||(t[X]={}),t[X][e]=!0;const s=typeof n=="function"?n():n;s!==void 0&&(t[e]=s,a=s)}return a===void 0&&i!==void 0&&(a=typeof i=="function"?i():i),a}function lt(t,e){function r(){return typeof this.getProperty<"u"?this.getProperty(t):st(this,t,e)}function n(i){typeof this.setProperty<"u"?this.setProperty(t,i):at(this,t,i,e)}return{get:r,set:n}}function Mt(t,e,r={}){const n={...r,internalKey:Symbol(e)};k(t).set(e,n);const i=lt(e,n);Object.defineProperty(t.prototype,e,{get(){return i.get.call(this)},set(a){i.set.call(this,a)},configurable:!0,enumerable:!0})}function Ge(t){return function(e,r){if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");Mt(e.constructor,r,t)}}function Ie(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={...t,internalKey:Symbol(n)},a=lt(n,i);return{init(s){return k(this.constructor).set(n,i),a.set.call(this,s),s},get(){return a.get.call(this)},set(s){a.set.call(this,s)}}}}class Te extends Tt{_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}getProperty(e){const r=this.getPropertyDeclaration(e);if(r){if(r.internal||r.alias)return st(this,e,r);{let n;return this._propertyAccessor?.getProperty?n=this._propertyAccessor.getProperty(e):n=this._properties.get(e),n??$(this,e,r)}}}setProperty(e,r){const n=this.getPropertyDeclaration(e);if(n)if(n.internal||n.alias)at(this,e,r,n);else{const i=this.getProperty(e);this._propertyAccessor?.setProperty?.(e,r),this._properties.set(e,r),this.onUpdateProperty?.(e,r??$(this,e,n),i)}}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 in e)this.setProperty(r,e[r]);return this}resetProperties(){for(const[e,r]of this.getPropertyDeclarations())this.setProperty(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){const r=this.getPropertyDeclarations();this._propertyAccessor=void 0;const n={};return r.forEach((i,a)=>{n[a]=this.getProperty(a)}),this._propertyAccessor=e,r.forEach((i,a)=>{const s=this.getProperty(a),u=n[a];s!==void 0&&!Object.is(s,u)&&(this.setProperty(a,s),!i.internal&&!i.alias&&this.requestUpdate(a,s,u))}),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())}destroy(){this.emit("destroy"),super.destroy()}}function ut(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 Me(t){return{r:N(t.r),g:N(t.g),b:N(t.b),a:N(t.a,3)}}function Y(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const W="#000000FF";function Vt(t){return ut(t).isValid()}function y(t,e=!1){const r=ut(t);if(!r.isValid()){if(typeof t=="string")return t;const u=`Failed to normalizeColor ${t}`;if(e)throw new Error(u);return console.warn(u),W}const{r:n,g:i,b:a,a:s}=Me(r.rgba);return`#${Y(n)}${Y(i)}${Y(a)}${Y(N(s*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(l){const c=new Error(`${e}: ${l}`);throw c.source=e,c}function n(){const l=i();return e.length>0&&r("Invalid input not EOF"),l}function i(){return M(a)}function a(){return s("linear-gradient",t.linearGradient,f)||s("repeating-linear-gradient",t.repeatingLinearGradient,f)||s("radial-gradient",t.radialGradient,p)||s("repeating-radial-gradient",t.repeatingRadialGradient,p)}function s(l,c,d){return u(c,S=>{const G=d();return G&&(m(t.comma)||r("Missing comma before color stops")),{type:l,orientation:G,colorStops:M(St)}})}function u(l,c){const d=m(l);if(d){m(t.startCall)||r("Missing (");const S=c(d);return m(t.endCall)||r("Missing )"),S}}function f(){const l=g();if(l)return l;const c=w("position-keyword",t.positionKeywords,1);return c?{type:"directional",value:c.value}:b()}function g(){return w("directional",t.sideOrCorner,1)}function b(){return w("angular",t.angleValue,1)||w("angular",t.radianValue,1)}function p(){let l,c=_(),d;return c&&(l=[],l.push(c),d=e,m(t.comma)&&(c=_(),c?l.push(c):e=d)),l}function _(){let l=C()||R();if(l)l.at=E();else{const c=O();if(c){l=c;const d=E();d&&(l.at=d)}else{const d=E();if(d)l={type:"default-radial",at:d};else{const S=j();S&&(l={type:"default-radial",at:S})}}}return l}function C(){const l=w("shape",/^(circle)/i,0);return l&&(l.style=Fe()||O()),l}function R(){const l=w("shape",/^(ellipse)/i,0);return l&&(l.style=j()||et()||O()),l}function O(){return w("extent-keyword",t.extentKeywords,1)}function E(){if(w("position",/^at/,0)){const l=j();return l||r("Missing positioning value"),l}}function j(){const l=U();if(l.x||l.y)return{type:"position",value:l}}function U(){return{x:et(),y:et()}}function M(l){let c=l();const d=[];if(c)for(d.push(c);m(t.comma);)c=l(),c?d.push(c):r("One extra comma");return d}function St(){const l=xe();return l||r("Expected color definition"),l.length=et(),l}function xe(){return Qe()||ir()||nr()||er()||tr()||rr()||Ze()}function Ze(){return w("literal",t.literalColor,0)}function Qe(){return w("hex",t.hexColor,1)}function tr(){return u(t.rgbColor,()=>({type:"rgb",value:M(K)}))}function er(){return u(t.rgbaColor,()=>({type:"rgba",value:M(K)}))}function rr(){return u(t.varColor,()=>({type:"var",value:or()}))}function nr(){return u(t.hslColor,()=>{m(t.percentageValue)&&r("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const c=K();m(t.comma);let d=m(t.percentageValue);const S=d?d[1]:null;m(t.comma),d=m(t.percentageValue);const G=d?d[1]:null;return(!S||!G)&&r("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[c,S,G]}})}function ir(){return u(t.hslaColor,()=>{const l=K();m(t.comma);let c=m(t.percentageValue);const d=c?c[1]:null;m(t.comma),c=m(t.percentageValue);const S=c?c[1]:null;m(t.comma);const G=K();return(!d||!S)&&r("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[l,d,S,G]}})}function or(){return m(t.variableName)[1]}function K(){return m(t.number)[1]}function et(){return w("%",t.percentageValue,1)||ar()||sr()||Fe()}function ar(){return w("position-keyword",t.positionKeywords,1)}function sr(){return u(t.calcValue,()=>{let l=1,c=0;for(;l>0&&c<e.length;){const S=e.charAt(c);S==="("?l++:S===")"&&l--,c++}l>0&&r("Missing closing parenthesis in calc() expression");const d=e.substring(0,c-1);return _t(c-1),{type:"calc",value:d}})}function Fe(){return w("px",t.pixelValue,1)||w("em",t.emValue,1)}function w(l,c,d){const S=m(c);if(S)return{type:l,value:S[d]}}function m(l){let c,d;return d=/^\s+/.exec(e),d&&_t(d[0].length),c=l.exec(e),c&&_t(c[0].length),c}function _t(l){e=e.substr(l)}return function(l){return e=l.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),n()}})();const kt=x.parse.bind(x);var Z=Z||{};Z.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 Ve=Z.stringify.bind(Z);function $t(t){const e=t.length-1;return t.map((r,n)=>{const i=r.value;let a=N(n/e,3),s="#00000000";switch(r.type){case"rgb":s=y({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":s=y({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":s=y(r.value);break;case"hex":s=y(`#${r.value}`);break}return r.length?.type==="%"&&(a=Number(r.length.value)/100),{offset:a,color:s}})}function Wt(t){let e=0;return t.orientation?.type==="angular"&&(e=Number(t.orientation.value)),{type:"linear-gradient",angle:e,stops:$t(t.colorStops)}}function Ht(t){return t.orientation?.map(e=>{switch(e?.type){default:return null}}),{type:"radial-gradient",stops:$t(t.colorStops)}}function H(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function Bt(t){return kt(t).map(e=>{switch(e?.type){case"linear-gradient":return Wt(e);case"repeating-linear-gradient":return{...Wt(e),repeat:!0};case"radial-gradient":return Ht(e);case"repeating-radial-gradient":return{...Ht(e),repeat:!0};default:return}}).filter(Boolean)}const ct=["color"];function Ut(t){let e;return typeof t=="string"?e={color:t}:e={...t},e.color&&(e.color=y(e.color)),A(e,ct)}const ft=["linearGradient","radialGradient","rotateWithShape"];function Kt(t){let e;if(typeof t=="string"?e={image:t}:e={...t},e.image){const{type:r,...n}=Bt(e.image)[0]??{};switch(r){case"radial-gradient":return{radialGradient:n};case"linear-gradient":return{linearGradient:n}}}return A(e,ft)}const dt=["image","cropRect","stretchRect","tile","dpi","opacity","rotateWithShape"];function qt(t){let e;return typeof t=="string"?e={image:t}:e={...t},A(e,dt)}const ht=["preset","foregroundColor","backgroundColor"];function Jt(t){let e;return typeof t=="string"?e={preset:t}:e={...t},h(e.foregroundColor)?delete e.foregroundColor:e.foregroundColor=y(e.foregroundColor),h(e.backgroundColor)?delete e.backgroundColor:e.backgroundColor=y(e.backgroundColor),A(e,ht)}function Xt(t){return!h(t.color)}function Yt(t){return typeof t=="string"?Vt(t):Xt(t)}function xt(t){return!h(t.image)&&H(t.image)||!!t.linearGradient||!!t.radialGradient}function Zt(t){return typeof t=="string"?H(t):xt(t)}function Qt(t){return!h(t.image)&&!H(t.image)}function te(t){return typeof t=="string"?!H(t):Qt(t)}function ee(t){return!h(t.preset)}function re(t){return typeof t=="string"?!1:ee(t)}function z(t){const r={enabled:t&&typeof t=="object"?t.enabled:void 0};return Yt(t)&&Object.assign(r,Ut(t)),Zt(t)&&Object.assign(r,Kt(t)),te(t)&&Object.assign(r,qt(t)),re(t)&&Object.assign(r,Jt(t)),A(F(r),Array.from(new Set([...ct,...dt,...ft,...ht])))}function ne(t){return typeof t=="string"?{...z(t)}:{...z(t),...A(t,["fillWithShape"])}}function gt(){return{color:W,offsetX:0,offsetY:0,blurRadius:1}}function pt(t){return{...gt(),...F({...t,color:h(t.color)?W:y(t.color)})}}function ie(){return{...gt(),scaleX:1,scaleY:1}}function oe(t){return{...ie(),...pt(t)}}function ke(t){return t}function ae(t){return F({...t,softEdge:h(t.softEdge)?void 0:t.softEdge,outerShadow:h(t.outerShadow)?void 0:oe(t.outerShadow),innerShadow:h(t.innerShadow)?void 0:pt(t.innerShadow)})}function se(t){return typeof t=="string"?{...z(t)}:{...z(t),...A(t,["fillWithShape"])}}const $e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let We=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=$e[r[t]&63];return e};const le=()=>We(10),ue=le;function B(t){return typeof t=="string"?{...z(t)}:{...z(t),...A(t,["width","style","lineCap","lineJoin","headEnd","tailEnd"])}}function ce(t){return typeof t=="string"?{color:y(t)}:{...t,color:h(t.color)?W:y(t.color)}}function fe(){return{boxShadow:"none"}}function de(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 he(){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 ge(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function pe(){return{...he(),...ge(),...fe(),backgroundImage:"none",backgroundSize:"auto, auto",backgroundColor:"none",backgroundColormap:"none",borderRadius:0,borderColor:"none",borderStyle:"solid",outlineWidth:0,outlineOffset:0,outlineColor:"none",outlineStyle:"none",visibility:"visible",filter:"none",opacity:1,pointerEvents:"auto",maskImage:"none"}}function me(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function ve(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function ye(){return{...me(),color:"#000000",verticalAlign:"baseline",letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textTransform:"none",textOrientation:"mixed",textDecoration:"none"}}function be(){return{...ve(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function Se(){return{...be(),...ye(),textStrokeWidth:0,textStrokeColor:"none"}}function T(t){return F({...t,color:h(t.color)?void 0:y(t.color),backgroundColor:h(t.backgroundColor)?void 0:y(t.backgroundColor),borderColor:h(t.borderColor)?void 0:y(t.borderColor),outlineColor:h(t.outlineColor)?void 0:y(t.outlineColor),shadowColor:h(t.shadowColor)?void 0:y(t.shadowColor),textStrokeColor:h(t.textStrokeColor)?void 0:y(t.textStrokeColor)})}function He(){return{...pe(),...Se()}}const mt=/\r\n|\n\r|\n|\r/,Be=new RegExp(`${mt.source}|<br\\/>`,"g"),Ue=new RegExp(`^(${mt.source})$`),vt=`
|
|
2
|
+
`;function Ke(t){return mt.test(t)}function yt(t){return Ue.test(t)}function _e(t){return t.replace(Be,vt)}function Q(t){const e=[];function r(){return e[e.length-1]}function n(u,f,g){const b=u?T(u):{},p=f?z(f):void 0,_=g?B(g):void 0,C=F({...b,fill:p,outline:_,fragments:[]});return e[e.length-1]?.fragments.length===0?e[e.length-1]=C:e.push(C),C}function i(u="",f,g,b){const p=f?T(f):{},_=g?z(g):void 0,C=b?B(b):void 0;Array.from(u).forEach(R=>{if(yt(R)){const{fragments:O,fill:E,outline:j,...U}=r()||n();O.length||O.push(F({...p,fill:_,outline:C,content:vt})),n(U,E,j)}else{const O=r()||n(),E=O.fragments[O.fragments.length-1];if(E){const{content:j,fill:U,outline:M,...St}=E;if(J(_,U)&&J(C,M)&&J(p,St)){E.content=`${j}${R}`;return}}O.fragments.push(F({...p,fill:_,outline:C,content:R}))}})}(Array.isArray(t)?t:[t]).forEach(u=>{if(typeof u=="string")n(),i(u);else if(bt(u)){const{content:f,fill:g,outline:b,...p}=u;n(p,g,b),i(f)}else if(Ce(u)){const{fragments:f,fill:g,outline:b,...p}=u;n(p,g,b),f.forEach(_=>{const{content:C,fill:R,outline:O,...E}=_;i(C,E,R,O)})}else Array.isArray(u)?(n(),u.forEach(f=>{if(typeof f=="string")i(f);else if(bt(f)){const{content:g,fill:b,outline:p,..._}=f;i(g,_,b,p)}})):console.warn("Failed to parse text content",u)});const s=r();return s&&!s.fragments.length&&s.fragments.push({content:""}),e}function Ce(t){return t&&typeof t=="object"&&"fragments"in t&&Array.isArray(t.fragments)}function bt(t){return t&&typeof t=="object"&&"content"in t&&typeof t.content=="string"}function we(t){return typeof t=="string"||Array.isArray(t)?{content:Q(t)}:F({...t,content:Q(t.content??""),style:t.style?T(t.style):void 0,effects:t.effects?t.effects.map(e=>T(e)):void 0,measureDom:t.measureDom,fonts:t.fonts,fill:t.fill?z(t.fill):void 0,outline:t.outline?B(t.outline):void 0})}function qe(t){return Q(t).map(e=>{const r=_e(e.fragments.flatMap(n=>n.content).join(""));return yt(r)?"":r}).join(vt)}function Pe(t){return typeof t=="string"?{src:t}:t}function tt(t){return F({...t,id:t.id??ue(),style:h(t.style)?void 0:T(t.style),text:h(t.text)?void 0:we(t.text),background:h(t.background)?void 0:ne(t.background),shape:h(t.shape)?void 0:de(t.shape),fill:h(t.fill)?void 0:z(t.fill),outline:h(t.outline)?void 0:B(t.outline),foreground:h(t.foreground)?void 0:se(t.foreground),shadow:h(t.shadow)?void 0:ce(t.shadow),video:h(t.video)?void 0:Pe(t.video),audio:h(t.audio)?void 0:I(t.audio),effect:h(t.effect)?void 0:ae(t.effect),children:t.children?.map(e=>tt(e))})}function Je(t){return tt(t)}function Xe(t){const e={};for(const r in t.children){const n=tt(t.children[r]);delete n.children,e[r]=n}return{...t,children:e}}function Ye(t){const{children:e,...r}=t;function n(f){const{parentId:g,childrenIds:b,...p}=f;return{...p,children:[]}}const i={},a=[],s={...r,children:a};function u(f){if(!e[f]||i[f])return;const g=e[f],b=n(g);i[f]=b;const p=g.parentId;if(p){u(p);const _=e[p],C=i[p];if(!C)return;_?.childrenIds&&C?.children&&(C.children[_.childrenIds.indexOf(f)]=b)}else a.push(b)}for(const f in e)u(f);return s}o.EventEmitter=Re,o.Observable=Tt,o.RawWeakMap=je,o.Reactivable=Te,o.clearUndef=F,o.colorFillFields=ct,o.defaultColor=W,o.defineProperty=Mt,o.flatDocumentToDocument=Ye,o.getDeclarations=k,o.getDefaultElementStyle=pe,o.getDefaultHighlightStyle=me,o.getDefaultInnerShadow=gt,o.getDefaultLayoutStyle=he,o.getDefaultListStyleStyle=ve,o.getDefaultOuterShadow=ie,o.getDefaultShadowStyle=fe,o.getDefaultStyle=He,o.getDefaultTextInlineStyle=ye,o.getDefaultTextLineStyle=be,o.getDefaultTextStyle=Se,o.getDefaultTransformStyle=ge,o.getNestedValue=Rt,o.getObjectValueByPath=Gt,o.getPropertyDescriptor=lt,o.gradientFillFields=ft,o.hasCRLF=Ke,o.idGenerator=ue,o.imageFillFiedls=dt,o.isCRLF=yt,o.isColor=Vt,o.isColorFill=Yt,o.isColorFillObject=Xt,o.isEqualObject=J,o.isFragmentObject=bt,o.isGradient=H,o.isGradientFill=Zt,o.isGradientFillObject=xt,o.isImageFill=te,o.isImageFillObject=Qt,o.isNone=h,o.isParagraphObject=Ce,o.isPresetFill=re,o.isPresetFillObject=ee,o.nanoid=le,o.normalizeAudio=I,o.normalizeBackground=ne,o.normalizeCRLF=_e,o.normalizeColor=y,o.normalizeColorFill=Ut,o.normalizeDocument=Je,o.normalizeEffect=ae,o.normalizeElement=tt,o.normalizeFill=z,o.normalizeFlatDocument=Xe,o.normalizeForeground=se,o.normalizeGradient=Bt,o.normalizeGradientFill=Kt,o.normalizeImageFill=qt,o.normalizeInnerShadow=pt,o.normalizeOuterShadow=oe,o.normalizeOutline=B,o.normalizePresetFill=Jt,o.normalizeShadow=ce,o.normalizeShape=de,o.normalizeSoftEdge=ke,o.normalizeStyle=T,o.normalizeText=we,o.normalizeTextContent=Q,o.normalizeVideo=Pe,o.parseColor=ut,o.parseGradient=kt,o.pick=A,o.presetFillFiedls=ht,o.property=Ge,o.property2=Ie,o.propertyOffsetFallback=$,o.propertyOffsetGet=st,o.propertyOffsetSet=at,o.round=N,o.setNestedValue=jt,o.setObjectValueByPath=It,o.stringifyGradient=Ve,o.textContentToString=qe,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/index.mjs
CHANGED
|
@@ -1211,6 +1211,9 @@ function normalizeGradient(cssText) {
|
|
|
1211
1211
|
}).filter(Boolean);
|
|
1212
1212
|
}
|
|
1213
1213
|
|
|
1214
|
+
const colorFillFields = [
|
|
1215
|
+
"color"
|
|
1216
|
+
];
|
|
1214
1217
|
function normalizeColorFill(fill) {
|
|
1215
1218
|
let obj;
|
|
1216
1219
|
if (typeof fill === "string") {
|
|
@@ -1218,11 +1221,17 @@ function normalizeColorFill(fill) {
|
|
|
1218
1221
|
} else {
|
|
1219
1222
|
obj = { ...fill };
|
|
1220
1223
|
}
|
|
1221
|
-
|
|
1222
|
-
color
|
|
1223
|
-
}
|
|
1224
|
+
if (obj.color) {
|
|
1225
|
+
obj.color = normalizeColor(obj.color);
|
|
1226
|
+
}
|
|
1227
|
+
return pick(obj, colorFillFields);
|
|
1224
1228
|
}
|
|
1225
1229
|
|
|
1230
|
+
const gradientFillFields = [
|
|
1231
|
+
"linearGradient",
|
|
1232
|
+
"radialGradient",
|
|
1233
|
+
"rotateWithShape"
|
|
1234
|
+
];
|
|
1226
1235
|
function normalizeGradientFill(fill) {
|
|
1227
1236
|
let obj;
|
|
1228
1237
|
if (typeof fill === "string") {
|
|
@@ -1243,13 +1252,18 @@ function normalizeGradientFill(fill) {
|
|
|
1243
1252
|
};
|
|
1244
1253
|
}
|
|
1245
1254
|
}
|
|
1246
|
-
return pick(obj,
|
|
1247
|
-
"linearGradient",
|
|
1248
|
-
"radialGradient",
|
|
1249
|
-
"rotateWithShape"
|
|
1250
|
-
]);
|
|
1255
|
+
return pick(obj, gradientFillFields);
|
|
1251
1256
|
}
|
|
1252
1257
|
|
|
1258
|
+
const imageFillFiedls = [
|
|
1259
|
+
"image",
|
|
1260
|
+
"cropRect",
|
|
1261
|
+
"stretchRect",
|
|
1262
|
+
"tile",
|
|
1263
|
+
"dpi",
|
|
1264
|
+
"opacity",
|
|
1265
|
+
"rotateWithShape"
|
|
1266
|
+
];
|
|
1253
1267
|
function normalizeImageFill(fill) {
|
|
1254
1268
|
let obj;
|
|
1255
1269
|
if (typeof fill === "string") {
|
|
@@ -1257,17 +1271,14 @@ function normalizeImageFill(fill) {
|
|
|
1257
1271
|
} else {
|
|
1258
1272
|
obj = { ...fill };
|
|
1259
1273
|
}
|
|
1260
|
-
return pick(obj,
|
|
1261
|
-
"image",
|
|
1262
|
-
"cropRect",
|
|
1263
|
-
"stretchRect",
|
|
1264
|
-
"tile",
|
|
1265
|
-
"dpi",
|
|
1266
|
-
"opacity",
|
|
1267
|
-
"rotateWithShape"
|
|
1268
|
-
]);
|
|
1274
|
+
return pick(obj, imageFillFiedls);
|
|
1269
1275
|
}
|
|
1270
1276
|
|
|
1277
|
+
const presetFillFiedls = [
|
|
1278
|
+
"preset",
|
|
1279
|
+
"foregroundColor",
|
|
1280
|
+
"backgroundColor"
|
|
1281
|
+
];
|
|
1271
1282
|
function normalizePresetFill(fill) {
|
|
1272
1283
|
let obj;
|
|
1273
1284
|
if (typeof fill === "string") {
|
|
@@ -1285,11 +1296,7 @@ function normalizePresetFill(fill) {
|
|
|
1285
1296
|
} else {
|
|
1286
1297
|
obj.backgroundColor = normalizeColor(obj.backgroundColor);
|
|
1287
1298
|
}
|
|
1288
|
-
return pick(obj,
|
|
1289
|
-
"preset",
|
|
1290
|
-
"foregroundColor",
|
|
1291
|
-
"backgroundColor"
|
|
1292
|
-
]);
|
|
1299
|
+
return pick(obj, presetFillFiedls);
|
|
1293
1300
|
}
|
|
1294
1301
|
|
|
1295
1302
|
function isColorFillObject(fill) {
|
|
@@ -1318,16 +1325,25 @@ function isPresetFill(fill) {
|
|
|
1318
1325
|
}
|
|
1319
1326
|
function normalizeFill(fill) {
|
|
1320
1327
|
const enabled = fill && typeof fill === "object" ? fill.enabled : void 0;
|
|
1328
|
+
const obj = { enabled };
|
|
1321
1329
|
if (isColorFill(fill)) {
|
|
1322
|
-
|
|
1323
|
-
}
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1330
|
+
Object.assign(obj, normalizeColorFill(fill));
|
|
1331
|
+
}
|
|
1332
|
+
if (isGradientFill(fill)) {
|
|
1333
|
+
Object.assign(obj, normalizeGradientFill(fill));
|
|
1334
|
+
}
|
|
1335
|
+
if (isImageFill(fill)) {
|
|
1336
|
+
Object.assign(obj, normalizeImageFill(fill));
|
|
1337
|
+
}
|
|
1338
|
+
if (isPresetFill(fill)) {
|
|
1339
|
+
Object.assign(obj, normalizePresetFill(fill));
|
|
1329
1340
|
}
|
|
1330
|
-
return
|
|
1341
|
+
return pick(clearUndef(obj), Array.from(/* @__PURE__ */ new Set([
|
|
1342
|
+
...colorFillFields,
|
|
1343
|
+
...imageFillFiedls,
|
|
1344
|
+
...gradientFillFields,
|
|
1345
|
+
...presetFillFiedls
|
|
1346
|
+
])));
|
|
1331
1347
|
}
|
|
1332
1348
|
|
|
1333
1349
|
function normalizeBackground(background) {
|
|
@@ -1557,7 +1573,7 @@ function getDefaultElementStyle() {
|
|
|
1557
1573
|
// outline
|
|
1558
1574
|
outlineWidth: 0,
|
|
1559
1575
|
outlineOffset: 0,
|
|
1560
|
-
outlineColor: "
|
|
1576
|
+
outlineColor: "none",
|
|
1561
1577
|
outlineStyle: "none",
|
|
1562
1578
|
// other
|
|
1563
1579
|
visibility: "visible",
|
|
@@ -1594,7 +1610,7 @@ function getDefaultListStyleStyle() {
|
|
|
1594
1610
|
function getDefaultTextInlineStyle() {
|
|
1595
1611
|
return {
|
|
1596
1612
|
...getDefaultHighlightStyle(),
|
|
1597
|
-
color: "
|
|
1613
|
+
color: "#000000",
|
|
1598
1614
|
verticalAlign: "baseline",
|
|
1599
1615
|
letterSpacing: 0,
|
|
1600
1616
|
wordSpacing: 0,
|
|
@@ -1628,7 +1644,7 @@ function getDefaultTextStyle() {
|
|
|
1628
1644
|
...getDefaultTextInlineStyle(),
|
|
1629
1645
|
// textStroke
|
|
1630
1646
|
textStrokeWidth: 0,
|
|
1631
|
-
textStrokeColor: "
|
|
1647
|
+
textStrokeColor: "none"
|
|
1632
1648
|
};
|
|
1633
1649
|
}
|
|
1634
1650
|
|
|
@@ -1639,7 +1655,8 @@ function normalizeStyle(style) {
|
|
|
1639
1655
|
backgroundColor: isNone(style.backgroundColor) ? void 0 : normalizeColor(style.backgroundColor),
|
|
1640
1656
|
borderColor: isNone(style.borderColor) ? void 0 : normalizeColor(style.borderColor),
|
|
1641
1657
|
outlineColor: isNone(style.outlineColor) ? void 0 : normalizeColor(style.outlineColor),
|
|
1642
|
-
shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor)
|
|
1658
|
+
shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor),
|
|
1659
|
+
textStrokeColor: isNone(style.textStrokeColor) ? void 0 : normalizeColor(style.textStrokeColor)
|
|
1643
1660
|
});
|
|
1644
1661
|
}
|
|
1645
1662
|
function getDefaultStyle() {
|
|
@@ -1876,4 +1893,4 @@ function flatDocumentToDocument(flatDoc) {
|
|
|
1876
1893
|
return doc;
|
|
1877
1894
|
}
|
|
1878
1895
|
|
|
1879
|
-
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, hasCRLF, idGenerator, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
1896
|
+
export { EventEmitter, Observable, RawWeakMap, Reactivable, clearUndef, colorFillFields, defaultColor, defineProperty, flatDocumentToDocument, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, getNestedValue, getObjectValueByPath, getPropertyDescriptor, gradientFillFields, hasCRLF, idGenerator, imageFillFiedls, isCRLF, isColor, isColorFill, isColorFillObject, isEqualObject, isFragmentObject, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isParagraphObject, isPresetFill, isPresetFillObject, nanoid, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeFlatDocument, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, presetFillFiedls, property, property2, propertyOffsetFallback, propertyOffsetGet, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "modern-idoc",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.10.
|
|
4
|
+
"version": "0.10.9",
|
|
5
5
|
"packageManager": "pnpm@10.18.1",
|
|
6
6
|
"description": "Intermediate document for modern codec libs",
|
|
7
7
|
"author": "wxm",
|
|
@@ -59,17 +59,17 @@
|
|
|
59
59
|
"nanoid": "^5.1.6"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@antfu/eslint-config": "^6.
|
|
63
|
-
"@types/node": "^
|
|
64
|
-
"bumpp": "^10.3.
|
|
62
|
+
"@antfu/eslint-config": "^6.7.3",
|
|
63
|
+
"@types/node": "^25.0.3",
|
|
64
|
+
"bumpp": "^10.3.2",
|
|
65
65
|
"conventional-changelog-cli": "^5.0.0",
|
|
66
|
-
"eslint": "^9.
|
|
67
|
-
"lint-staged": "^16.2.
|
|
66
|
+
"eslint": "^9.39.2",
|
|
67
|
+
"lint-staged": "^16.2.7",
|
|
68
68
|
"simple-git-hooks": "^2.13.1",
|
|
69
69
|
"typescript": "^5.9.3",
|
|
70
70
|
"unbuild": "^3.6.1",
|
|
71
|
-
"vite": "^7.
|
|
72
|
-
"vitest": "^4.0.
|
|
71
|
+
"vite": "^7.3.0",
|
|
72
|
+
"vitest": "^4.0.16"
|
|
73
73
|
},
|
|
74
74
|
"simple-git-hooks": {
|
|
75
75
|
"pre-commit": "pnpm lint-staged"
|