modern-idoc 0.6.12 → 0.6.14
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 +106 -3
- package/dist/index.d.cts +40 -4
- package/dist/index.d.mts +40 -4
- package/dist/index.d.ts +40 -4
- package/dist/index.js +2 -2
- package/dist/index.mjs +103 -4
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -809,6 +809,101 @@ function normalizeBackground(background) {
|
|
|
809
809
|
}
|
|
810
810
|
}
|
|
811
811
|
|
|
812
|
+
class RawWeakMap {
|
|
813
|
+
_map = /* @__PURE__ */ new WeakMap();
|
|
814
|
+
// fix: vue reactive object
|
|
815
|
+
_toRaw(value) {
|
|
816
|
+
if (value && typeof value === "object") {
|
|
817
|
+
const raw = value.__v_raw;
|
|
818
|
+
if (raw) {
|
|
819
|
+
value = this._toRaw(raw);
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
return value;
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* Removes the specified element from the WeakMap.
|
|
826
|
+
* @returns true if the element was successfully removed, or false if it was not present.
|
|
827
|
+
*/
|
|
828
|
+
delete(key) {
|
|
829
|
+
return this._map.delete(this._toRaw(key));
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* @returns a specified element.
|
|
833
|
+
*/
|
|
834
|
+
get(key) {
|
|
835
|
+
return this._map.get(this._toRaw(key));
|
|
836
|
+
}
|
|
837
|
+
/**
|
|
838
|
+
* @returns a boolean indicating whether an element with the specified key exists or not.
|
|
839
|
+
*/
|
|
840
|
+
has(key) {
|
|
841
|
+
return this._map.has(this._toRaw(key));
|
|
842
|
+
}
|
|
843
|
+
/**
|
|
844
|
+
* Adds a new element with a specified key and value.
|
|
845
|
+
* @param key Must be an object or symbol.
|
|
846
|
+
*/
|
|
847
|
+
set(key, value) {
|
|
848
|
+
this._map.set(this._toRaw(key), this._toRaw(value));
|
|
849
|
+
return this;
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
const declarationMap = new RawWeakMap();
|
|
854
|
+
function getDeclarations(constructor) {
|
|
855
|
+
let declarations = declarationMap.get(constructor);
|
|
856
|
+
if (!declarations) {
|
|
857
|
+
const superConstructor = Object.getPrototypeOf(constructor);
|
|
858
|
+
declarations = new Map(superConstructor ? getDeclarations(superConstructor) : void 0);
|
|
859
|
+
declarationMap.set(constructor, declarations);
|
|
860
|
+
}
|
|
861
|
+
return declarations;
|
|
862
|
+
}
|
|
863
|
+
function defineProperty(constructor, key, declaration = {}) {
|
|
864
|
+
getDeclarations(constructor).set(key, declaration);
|
|
865
|
+
const {
|
|
866
|
+
default: defaultValue,
|
|
867
|
+
alias = Symbol.for(String(key))
|
|
868
|
+
} = declaration;
|
|
869
|
+
const getDefaultValue = () => typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
870
|
+
const descriptor = Object.getOwnPropertyDescriptor(constructor.prototype, key) || {
|
|
871
|
+
get() {
|
|
872
|
+
return this[alias];
|
|
873
|
+
},
|
|
874
|
+
set(v) {
|
|
875
|
+
this[alias] = v;
|
|
876
|
+
}
|
|
877
|
+
};
|
|
878
|
+
Object.defineProperty(constructor.prototype, key, {
|
|
879
|
+
get() {
|
|
880
|
+
let value = descriptor.get?.call(this);
|
|
881
|
+
if (value === void 0) {
|
|
882
|
+
value = getDefaultValue();
|
|
883
|
+
if (value !== void 0) {
|
|
884
|
+
descriptor.set?.call(this, value);
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
return value;
|
|
888
|
+
},
|
|
889
|
+
set(newValue) {
|
|
890
|
+
let oldValue = descriptor.get?.call(this);
|
|
891
|
+
if (oldValue === void 0) {
|
|
892
|
+
oldValue = getDefaultValue();
|
|
893
|
+
}
|
|
894
|
+
descriptor.set?.call(this, newValue);
|
|
895
|
+
this.requestUpdate?.(key, newValue, oldValue, declaration);
|
|
896
|
+
},
|
|
897
|
+
configurable: true,
|
|
898
|
+
enumerable: true
|
|
899
|
+
});
|
|
900
|
+
}
|
|
901
|
+
function property(options) {
|
|
902
|
+
return function(proto, name) {
|
|
903
|
+
defineProperty(proto.constructor, name, options);
|
|
904
|
+
};
|
|
905
|
+
}
|
|
906
|
+
|
|
812
907
|
function getDefaultInnerShadow() {
|
|
813
908
|
return {
|
|
814
909
|
color: defaultColor,
|
|
@@ -1167,17 +1262,21 @@ function normalizeTextContent(value) {
|
|
|
1167
1262
|
const list = Array.isArray(value) ? value : [value];
|
|
1168
1263
|
list.forEach((p) => {
|
|
1169
1264
|
if (typeof p === "string") {
|
|
1265
|
+
addParagraph();
|
|
1170
1266
|
addFragment(p);
|
|
1171
1267
|
} else if ("content" in p) {
|
|
1172
1268
|
const { content, ...pStyle } = p;
|
|
1173
|
-
|
|
1269
|
+
addParagraph(normalizeStyle(pStyle));
|
|
1270
|
+
addFragment(content);
|
|
1174
1271
|
} else if ("fragments" in p) {
|
|
1175
|
-
|
|
1176
|
-
|
|
1272
|
+
const { fragments, ...pStyle } = p;
|
|
1273
|
+
addParagraph(normalizeStyle(pStyle));
|
|
1274
|
+
fragments.forEach((f) => {
|
|
1177
1275
|
const { content, ...fStyle } = f;
|
|
1178
1276
|
addFragment(content, normalizeStyle(fStyle));
|
|
1179
1277
|
});
|
|
1180
1278
|
} else if (Array.isArray(p)) {
|
|
1279
|
+
addParagraph();
|
|
1181
1280
|
p.forEach((f) => {
|
|
1182
1281
|
if (typeof f === "string") {
|
|
1183
1282
|
addFragment(f);
|
|
@@ -1253,8 +1352,11 @@ function normalizeDocument(doc) {
|
|
|
1253
1352
|
return normalizeElement(doc);
|
|
1254
1353
|
}
|
|
1255
1354
|
|
|
1355
|
+
exports.RawWeakMap = RawWeakMap;
|
|
1256
1356
|
exports.clearUndef = clearUndef;
|
|
1257
1357
|
exports.defaultColor = defaultColor;
|
|
1358
|
+
exports.defineProperty = defineProperty;
|
|
1359
|
+
exports.getDeclarations = getDeclarations;
|
|
1258
1360
|
exports.getDefaultElementStyle = getDefaultElementStyle;
|
|
1259
1361
|
exports.getDefaultHighlightStyle = getDefaultHighlightStyle;
|
|
1260
1362
|
exports.getDefaultInnerShadow = getDefaultInnerShadow;
|
|
@@ -1308,6 +1410,7 @@ exports.normalizeVideo = normalizeVideo;
|
|
|
1308
1410
|
exports.parseColor = parseColor;
|
|
1309
1411
|
exports.parseGradient = parseGradient;
|
|
1310
1412
|
exports.pick = pick;
|
|
1413
|
+
exports.property = property;
|
|
1311
1414
|
exports.round = round;
|
|
1312
1415
|
exports.stringifyGradient = stringifyGradient;
|
|
1313
1416
|
exports.textContentToString = textContentToString;
|
package/dist/index.d.cts
CHANGED
|
@@ -315,6 +315,41 @@ type BackgroundObject = FillObject & Partial<NormalizedBaseBackground>;
|
|
|
315
315
|
type Background = string | BackgroundObject;
|
|
316
316
|
declare function normalizeBackground(background: Background): NormalizedBackground;
|
|
317
317
|
|
|
318
|
+
interface Definable {
|
|
319
|
+
requestUpdate?: (key: PropertyKey, newValue: unknown, oldValue: unknown, declaration: PropertyDeclaration) => void;
|
|
320
|
+
}
|
|
321
|
+
interface PropertyDeclaration {
|
|
322
|
+
readonly [key: string]: any;
|
|
323
|
+
readonly default?: any | (() => any);
|
|
324
|
+
readonly alias?: string;
|
|
325
|
+
}
|
|
326
|
+
declare function getDeclarations(constructor: any): Map<PropertyKey, PropertyDeclaration>;
|
|
327
|
+
declare function defineProperty(constructor: any, key: PropertyKey, declaration?: PropertyDeclaration): void;
|
|
328
|
+
declare function property(options?: PropertyDeclaration): PropertyDecorator;
|
|
329
|
+
|
|
330
|
+
declare class RawWeakMap<K extends WeakKey = WeakKey, V = any> {
|
|
331
|
+
protected _map: WeakMap<K, V>;
|
|
332
|
+
protected _toRaw(value: any): any;
|
|
333
|
+
/**
|
|
334
|
+
* Removes the specified element from the WeakMap.
|
|
335
|
+
* @returns true if the element was successfully removed, or false if it was not present.
|
|
336
|
+
*/
|
|
337
|
+
delete(key: K): boolean;
|
|
338
|
+
/**
|
|
339
|
+
* @returns a specified element.
|
|
340
|
+
*/
|
|
341
|
+
get(key: K): V | undefined;
|
|
342
|
+
/**
|
|
343
|
+
* @returns a boolean indicating whether an element with the specified key exists or not.
|
|
344
|
+
*/
|
|
345
|
+
has(key: K): boolean;
|
|
346
|
+
/**
|
|
347
|
+
* Adds a new element with a specified key and value.
|
|
348
|
+
* @param key Must be an object or symbol.
|
|
349
|
+
*/
|
|
350
|
+
set(key: K, value: V): this;
|
|
351
|
+
}
|
|
352
|
+
|
|
318
353
|
interface NormalizedInnerShadow {
|
|
319
354
|
color: NormalizedColor;
|
|
320
355
|
offsetX: number;
|
|
@@ -670,13 +705,14 @@ type TextContent = FlatTextContent | FlatTextContent[];
|
|
|
670
705
|
type NormalizedTextContent = ParagraphObject[];
|
|
671
706
|
interface NormalizedText {
|
|
672
707
|
content: NormalizedTextContent;
|
|
708
|
+
style?: StyleObject;
|
|
673
709
|
effects?: StyleObject[];
|
|
674
710
|
measureDom?: any;
|
|
675
711
|
fonts?: any;
|
|
676
712
|
}
|
|
677
|
-
type Text = string |
|
|
713
|
+
type Text = string | (Omit<NormalizedText, 'content'> & {
|
|
678
714
|
content: TextContent;
|
|
679
|
-
})
|
|
715
|
+
});
|
|
680
716
|
declare function hasCRLF(content: string): boolean;
|
|
681
717
|
declare function isCRLF(char: string): boolean;
|
|
682
718
|
declare function normalizeCRLF(content: string): string;
|
|
@@ -734,5 +770,5 @@ declare function round(number: number, digits?: number, base?: number): number;
|
|
|
734
770
|
declare function clearUndef<T>(obj: T, deep?: boolean): T;
|
|
735
771
|
declare function pick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
736
772
|
|
|
737
|
-
export { clearUndef, defaultColor, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, round, stringifyGradient, textContentToString };
|
|
738
|
-
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, ExtentKeywordNode, Fill, FillObject, FillRule, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineEndSize, LineEndType, 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, NormalizedForeground, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
|
773
|
+
export { RawWeakMap, clearUndef, defaultColor, defineProperty, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, round, stringifyGradient, textContentToString };
|
|
774
|
+
export type { Align, AngularNode, Audio, Background, BackgroundObject, BackgroundSize, BorderStyle, BoxShadow, BoxSizing, CmykColor, CmykaColor, Color, ColorFill, ColorFillObject, ColorStop, ColorStopNode, DefaultRadialNode, Definable, Direction, DirectionalNode, Display, Document, Effect, EffectObject, Element, EmNode, ExtentKeywordNode, Fill, FillObject, FillRule, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineEndSize, LineEndType, 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, NormalizedForeground, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PropertyDeclaration, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
package/dist/index.d.mts
CHANGED
|
@@ -315,6 +315,41 @@ type BackgroundObject = FillObject & Partial<NormalizedBaseBackground>;
|
|
|
315
315
|
type Background = string | BackgroundObject;
|
|
316
316
|
declare function normalizeBackground(background: Background): NormalizedBackground;
|
|
317
317
|
|
|
318
|
+
interface Definable {
|
|
319
|
+
requestUpdate?: (key: PropertyKey, newValue: unknown, oldValue: unknown, declaration: PropertyDeclaration) => void;
|
|
320
|
+
}
|
|
321
|
+
interface PropertyDeclaration {
|
|
322
|
+
readonly [key: string]: any;
|
|
323
|
+
readonly default?: any | (() => any);
|
|
324
|
+
readonly alias?: string;
|
|
325
|
+
}
|
|
326
|
+
declare function getDeclarations(constructor: any): Map<PropertyKey, PropertyDeclaration>;
|
|
327
|
+
declare function defineProperty(constructor: any, key: PropertyKey, declaration?: PropertyDeclaration): void;
|
|
328
|
+
declare function property(options?: PropertyDeclaration): PropertyDecorator;
|
|
329
|
+
|
|
330
|
+
declare class RawWeakMap<K extends WeakKey = WeakKey, V = any> {
|
|
331
|
+
protected _map: WeakMap<K, V>;
|
|
332
|
+
protected _toRaw(value: any): any;
|
|
333
|
+
/**
|
|
334
|
+
* Removes the specified element from the WeakMap.
|
|
335
|
+
* @returns true if the element was successfully removed, or false if it was not present.
|
|
336
|
+
*/
|
|
337
|
+
delete(key: K): boolean;
|
|
338
|
+
/**
|
|
339
|
+
* @returns a specified element.
|
|
340
|
+
*/
|
|
341
|
+
get(key: K): V | undefined;
|
|
342
|
+
/**
|
|
343
|
+
* @returns a boolean indicating whether an element with the specified key exists or not.
|
|
344
|
+
*/
|
|
345
|
+
has(key: K): boolean;
|
|
346
|
+
/**
|
|
347
|
+
* Adds a new element with a specified key and value.
|
|
348
|
+
* @param key Must be an object or symbol.
|
|
349
|
+
*/
|
|
350
|
+
set(key: K, value: V): this;
|
|
351
|
+
}
|
|
352
|
+
|
|
318
353
|
interface NormalizedInnerShadow {
|
|
319
354
|
color: NormalizedColor;
|
|
320
355
|
offsetX: number;
|
|
@@ -670,13 +705,14 @@ type TextContent = FlatTextContent | FlatTextContent[];
|
|
|
670
705
|
type NormalizedTextContent = ParagraphObject[];
|
|
671
706
|
interface NormalizedText {
|
|
672
707
|
content: NormalizedTextContent;
|
|
708
|
+
style?: StyleObject;
|
|
673
709
|
effects?: StyleObject[];
|
|
674
710
|
measureDom?: any;
|
|
675
711
|
fonts?: any;
|
|
676
712
|
}
|
|
677
|
-
type Text = string |
|
|
713
|
+
type Text = string | (Omit<NormalizedText, 'content'> & {
|
|
678
714
|
content: TextContent;
|
|
679
|
-
})
|
|
715
|
+
});
|
|
680
716
|
declare function hasCRLF(content: string): boolean;
|
|
681
717
|
declare function isCRLF(char: string): boolean;
|
|
682
718
|
declare function normalizeCRLF(content: string): string;
|
|
@@ -734,5 +770,5 @@ declare function round(number: number, digits?: number, base?: number): number;
|
|
|
734
770
|
declare function clearUndef<T>(obj: T, deep?: boolean): T;
|
|
735
771
|
declare function pick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
736
772
|
|
|
737
|
-
export { clearUndef, defaultColor, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, round, stringifyGradient, textContentToString };
|
|
738
|
-
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, ExtentKeywordNode, Fill, FillObject, FillRule, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineEndSize, LineEndType, 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, NormalizedForeground, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
|
773
|
+
export { RawWeakMap, clearUndef, defaultColor, defineProperty, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, round, stringifyGradient, textContentToString };
|
|
774
|
+
export type { Align, AngularNode, Audio, Background, BackgroundObject, BackgroundSize, BorderStyle, BoxShadow, BoxSizing, CmykColor, CmykaColor, Color, ColorFill, ColorFillObject, ColorStop, ColorStopNode, DefaultRadialNode, Definable, Direction, DirectionalNode, Display, Document, Effect, EffectObject, Element, EmNode, ExtentKeywordNode, Fill, FillObject, FillRule, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineEndSize, LineEndType, 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, NormalizedForeground, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PropertyDeclaration, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
package/dist/index.d.ts
CHANGED
|
@@ -315,6 +315,41 @@ type BackgroundObject = FillObject & Partial<NormalizedBaseBackground>;
|
|
|
315
315
|
type Background = string | BackgroundObject;
|
|
316
316
|
declare function normalizeBackground(background: Background): NormalizedBackground;
|
|
317
317
|
|
|
318
|
+
interface Definable {
|
|
319
|
+
requestUpdate?: (key: PropertyKey, newValue: unknown, oldValue: unknown, declaration: PropertyDeclaration) => void;
|
|
320
|
+
}
|
|
321
|
+
interface PropertyDeclaration {
|
|
322
|
+
readonly [key: string]: any;
|
|
323
|
+
readonly default?: any | (() => any);
|
|
324
|
+
readonly alias?: string;
|
|
325
|
+
}
|
|
326
|
+
declare function getDeclarations(constructor: any): Map<PropertyKey, PropertyDeclaration>;
|
|
327
|
+
declare function defineProperty(constructor: any, key: PropertyKey, declaration?: PropertyDeclaration): void;
|
|
328
|
+
declare function property(options?: PropertyDeclaration): PropertyDecorator;
|
|
329
|
+
|
|
330
|
+
declare class RawWeakMap<K extends WeakKey = WeakKey, V = any> {
|
|
331
|
+
protected _map: WeakMap<K, V>;
|
|
332
|
+
protected _toRaw(value: any): any;
|
|
333
|
+
/**
|
|
334
|
+
* Removes the specified element from the WeakMap.
|
|
335
|
+
* @returns true if the element was successfully removed, or false if it was not present.
|
|
336
|
+
*/
|
|
337
|
+
delete(key: K): boolean;
|
|
338
|
+
/**
|
|
339
|
+
* @returns a specified element.
|
|
340
|
+
*/
|
|
341
|
+
get(key: K): V | undefined;
|
|
342
|
+
/**
|
|
343
|
+
* @returns a boolean indicating whether an element with the specified key exists or not.
|
|
344
|
+
*/
|
|
345
|
+
has(key: K): boolean;
|
|
346
|
+
/**
|
|
347
|
+
* Adds a new element with a specified key and value.
|
|
348
|
+
* @param key Must be an object or symbol.
|
|
349
|
+
*/
|
|
350
|
+
set(key: K, value: V): this;
|
|
351
|
+
}
|
|
352
|
+
|
|
318
353
|
interface NormalizedInnerShadow {
|
|
319
354
|
color: NormalizedColor;
|
|
320
355
|
offsetX: number;
|
|
@@ -670,13 +705,14 @@ type TextContent = FlatTextContent | FlatTextContent[];
|
|
|
670
705
|
type NormalizedTextContent = ParagraphObject[];
|
|
671
706
|
interface NormalizedText {
|
|
672
707
|
content: NormalizedTextContent;
|
|
708
|
+
style?: StyleObject;
|
|
673
709
|
effects?: StyleObject[];
|
|
674
710
|
measureDom?: any;
|
|
675
711
|
fonts?: any;
|
|
676
712
|
}
|
|
677
|
-
type Text = string |
|
|
713
|
+
type Text = string | (Omit<NormalizedText, 'content'> & {
|
|
678
714
|
content: TextContent;
|
|
679
|
-
})
|
|
715
|
+
});
|
|
680
716
|
declare function hasCRLF(content: string): boolean;
|
|
681
717
|
declare function isCRLF(char: string): boolean;
|
|
682
718
|
declare function normalizeCRLF(content: string): string;
|
|
@@ -734,5 +770,5 @@ declare function round(number: number, digits?: number, base?: number): number;
|
|
|
734
770
|
declare function clearUndef<T>(obj: T, deep?: boolean): T;
|
|
735
771
|
declare function pick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
736
772
|
|
|
737
|
-
export { clearUndef, defaultColor, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, round, stringifyGradient, textContentToString };
|
|
738
|
-
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, ExtentKeywordNode, Fill, FillObject, FillRule, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineEndSize, LineEndType, 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, NormalizedForeground, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
|
773
|
+
export { RawWeakMap, clearUndef, defaultColor, defineProperty, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, round, stringifyGradient, textContentToString };
|
|
774
|
+
export type { Align, AngularNode, Audio, Background, BackgroundObject, BackgroundSize, BorderStyle, BoxShadow, BoxSizing, CmykColor, CmykaColor, Color, ColorFill, ColorFillObject, ColorStop, ColorStopNode, DefaultRadialNode, Definable, Direction, DirectionalNode, Display, Document, Effect, EffectObject, Element, EmNode, ExtentKeywordNode, Fill, FillObject, FillRule, FlatTextContent, FlexDirection, FlexWrap, FontKerning, FontStyle, FontWeight, Foreground, ForegroundObject, FragmentObject, GradientFill, GradientFillObject, GradientNode, HeadEnd, Hex8Color, HexNode, HighlightColormap, HighlightImage, HighlightLine, HighlightReferImage, HighlightSize, HighlightThickness, HslColor, HslaColor, HsvColor, HsvaColor, HwbColor, HwbaColor, ImageFill, ImageFillCropRect, ImageFillObject, ImageFillStretchRect, ImageFillTile, InnerShadow, InnerShadowObject, Justify, LabColor, LabaColor, LchColor, LchaColor, LineEndSize, LineEndType, 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, NormalizedForeground, NormalizedGradientFill, NormalizedHighlight, NormalizedHighlightStyle, NormalizedImageFill, NormalizedInnerShadow, NormalizedLayoutStyle, NormalizedListStyle, NormalizedListStyleStyle, NormalizedOuterShadow, NormalizedOutline, NormalizedPresetFill, NormalizedShadow, NormalizedShadowStyle, NormalizedShape, NormalizedSoftEdge, NormalizedStyle, NormalizedText, NormalizedTextContent, NormalizedTextDrawStyle, NormalizedTextInlineStyle, NormalizedTextLineStyle, NormalizedTextStyle, NormalizedTransformStyle, NormalizedVideo, ObjectColor, OuterShadow, OuterShadowObject, Outline, OutlineObject, OutlineStyle, Overflow, ParagraphObject, PercentNode, PointerEvents, Position, PositionKeywordNode, PositionNode, PresetFill, PresetFillObject, PropertyDeclaration, PxNode, RadialGradient, RadialGradientNode, RadialGradientWithType, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RgbColor, RgbNode, RgbaColor, RgbaNode, SVGPathData, Shadow, ShadowObject, Shape, ShapeNode, ShapePath, ShapePathStyle, SoftEdge, StrokeLinecap, StrokeLinejoin, Style, StyleObject, StyleUnit, TailEnd, Text, TextAlign, TextContent, TextDecoration, TextOrientation, TextTransform, TextWrap, Uint32Color, VerticalAlign, Video, Visibility, WithNone, WithStyleNone, WritingMode, XyzColor, XyzaColor };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(o,E){typeof exports=="object"&&typeof module<"u"?E(exports):typeof define=="function"&&define.amd?define(["exports"],E):(o=typeof globalThis<"u"?globalThis:o||self,E(o.modernIdoc={}))})(this,function(o){"use strict";function E(t){return typeof t=="string"?{src:t}:t}var nn={grad:.9,turn:360,rad:360/(2*Math.PI)},w=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},h=function(t,n,e){return n===void 0&&(n=0),e===void 0&&(e=Math.pow(10,n)),Math.round(e*t)/e+0},S=function(t,n,e){return n===void 0&&(n=0),e===void 0&&(e=1),t>e?e:t>n?t:n},it=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},ot=function(t){return{r:S(t.r,0,255),g:S(t.g,0,255),b:S(t.b,0,255),a:S(t.a)}},B=function(t){return{r:h(t.r),g:h(t.g),b:h(t.b),a:h(t.a,3)}},en=/^#([0-9a-f]{3,8})$/i,A=function(t){var n=t.toString(16);return n.length<2?"0"+n:n},at=function(t){var n=t.r,e=t.g,r=t.b,i=t.a,c=Math.max(n,e,r),u=c-Math.min(n,e,r),l=u?c===n?(e-r)/u:c===e?2+(r-n)/u:4+(n-e)/u:0;return{h:60*(l<0?l+6:l),s:c?u/c*100:0,v:c/255*100,a:i}},ut=function(t){var n=t.h,e=t.s,r=t.v,i=t.a;n=n/360*6,e/=100,r/=100;var c=Math.floor(n),u=r*(1-e),l=r*(1-(n-c)*e),p=r*(1-(1-n+c)*e),b=c%6;return{r:255*[r,l,u,u,p,r][b],g:255*[p,r,r,l,u,u][b],b:255*[u,u,p,r,r,l][b],a:i}},lt=function(t){return{h:it(t.h),s:S(t.s,0,100),l:S(t.l,0,100),a:S(t.a)}},st=function(t){return{h:h(t.h),s:h(t.s),l:h(t.l),a:h(t.a,3)}},ct=function(t){return ut((e=(n=t).s,{h:n.h,s:(e*=((r=n.l)<50?r:100-r)/100)>0?2*e/(r+e)*100:0,v:r+e,a:n.a}));var n,e,r},D=function(t){return{h:(n=at(t)).h,s:(i=(200-(e=n.s))*(r=n.v)/100)>0&&i<200?e*r/100/(i<=100?i:200-i)*100:0,l:i/2,a:n.a};var n,e,r,i},rn=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,on=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,an=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,un=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ft={string:[[function(t){var n=en.exec(t);return n?(t=n[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?h(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?h(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var n=an.exec(t)||un.exec(t);return n?n[2]!==n[4]||n[4]!==n[6]?null:ot({r:Number(n[1])/(n[2]?100/255:1),g:Number(n[3])/(n[4]?100/255:1),b:Number(n[5])/(n[6]?100/255:1),a:n[7]===void 0?1:Number(n[7])/(n[8]?100:1)}):null},"rgb"],[function(t){var n=rn.exec(t)||on.exec(t);if(!n)return null;var e,r,i=lt({h:(e=n[1],r=n[2],r===void 0&&(r="deg"),Number(e)*(nn[r]||1)),s:Number(n[3]),l:Number(n[4]),a:n[5]===void 0?1:Number(n[5])/(n[6]?100:1)});return ct(i)},"hsl"]],object:[[function(t){var n=t.r,e=t.g,r=t.b,i=t.a,c=i===void 0?1:i;return w(n)&&w(e)&&w(r)?ot({r:Number(n),g:Number(e),b:Number(r),a:Number(c)}):null},"rgb"],[function(t){var n=t.h,e=t.s,r=t.l,i=t.a,c=i===void 0?1:i;if(!w(n)||!w(e)||!w(r))return null;var u=lt({h:Number(n),s:Number(e),l:Number(r),a:Number(c)});return ct(u)},"hsl"],[function(t){var n=t.h,e=t.s,r=t.v,i=t.a,c=i===void 0?1:i;if(!w(n)||!w(e)||!w(r))return null;var u=function(l){return{h:it(l.h),s:S(l.s,0,100),v:S(l.v,0,100),a:S(l.a)}}({h:Number(n),s:Number(e),v:Number(r),a:Number(c)});return ut(u)},"hsv"]]},dt=function(t,n){for(var e=0;e<n.length;e++){var r=n[e][0](t);if(r)return[r,n[e][1]]}return[null,void 0]},ln=function(t){return typeof t=="string"?dt(t.trim(),ft.string):typeof t=="object"&&t!==null?dt(t,ft.object):[null,void 0]},K=function(t,n){var e=D(t);return{h:e.h,s:S(e.s+100*n,0,100),l:e.l,a:e.a}},X=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},gt=function(t,n){var e=D(t);return{h:e.h,s:e.s,l:S(e.l+100*n,0,100),a:e.a}},ht=function(){function t(n){this.parsed=ln(n)[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 h(X(this.rgba),2)},t.prototype.isDark=function(){return X(this.rgba)<.5},t.prototype.isLight=function(){return X(this.rgba)>=.5},t.prototype.toHex=function(){return n=B(this.rgba),e=n.r,r=n.g,i=n.b,u=(c=n.a)<1?A(h(255*c)):"","#"+A(e)+A(r)+A(i)+u;var n,e,r,i,c,u},t.prototype.toRgb=function(){return B(this.rgba)},t.prototype.toRgbString=function(){return n=B(this.rgba),e=n.r,r=n.g,i=n.b,(c=n.a)<1?"rgba("+e+", "+r+", "+i+", "+c+")":"rgb("+e+", "+r+", "+i+")";var n,e,r,i,c},t.prototype.toHsl=function(){return st(D(this.rgba))},t.prototype.toHslString=function(){return n=st(D(this.rgba)),e=n.h,r=n.s,i=n.l,(c=n.a)<1?"hsla("+e+", "+r+"%, "+i+"%, "+c+")":"hsl("+e+", "+r+"%, "+i+"%)";var n,e,r,i,c},t.prototype.toHsv=function(){return n=at(this.rgba),{h:h(n.h),s:h(n.s),v:h(n.v),a:h(n.a,3)};var n},t.prototype.invert=function(){return C({r:255-(n=this.rgba).r,g:255-n.g,b:255-n.b,a:n.a});var n},t.prototype.saturate=function(n){return n===void 0&&(n=.1),C(K(this.rgba,n))},t.prototype.desaturate=function(n){return n===void 0&&(n=.1),C(K(this.rgba,-n))},t.prototype.grayscale=function(){return C(K(this.rgba,-1))},t.prototype.lighten=function(n){return n===void 0&&(n=.1),C(gt(this.rgba,n))},t.prototype.darken=function(n){return n===void 0&&(n=.1),C(gt(this.rgba,-n))},t.prototype.rotate=function(n){return n===void 0&&(n=15),this.hue(this.hue()+n)},t.prototype.alpha=function(n){return typeof n=="number"?C({r:(e=this.rgba).r,g:e.g,b:e.b,a:n}):h(this.rgba.a,3);var e},t.prototype.hue=function(n){var e=D(this.rgba);return typeof n=="number"?C({h:n,s:e.s,l:e.l,a:e.a}):h(e.h)},t.prototype.isEqual=function(n){return this.toHex()===C(n).toHex()},t}(),C=function(t){return t instanceof ht?t:new ht(t)};function d(t){return t==null||t==="none"}function _(t,n=0,e=10**n){return Math.round(e*t)/e+0}function F(t,n=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return n?t.map(r=>F(r,n)):t;const e={};for(const r in t){const i=t[r];i!=null&&(n?e[r]=F(i,n):e[r]=i)}return e}function T(t,n){const e={};return n.forEach(r=>{r in t&&(e[r]=t[r])}),e}function Y(t){let n;return typeof t=="number"?n={r:t>>24&255,g:t>>16&255,b:t>>8&255,a:(t&255)/255}:n=t,C(n)}function sn(t){return{r:_(t.r),g:_(t.g),b:_(t.b),a:_(t.a,3)}}function V(t){const n=t.toString(16);return n.length<2?`0${n}`:n}const G="#000000FF";function vt(t){return Y(t).isValid()}function m(t,n=!1){const e=Y(t);if(!e.isValid()){if(typeof t=="string")return t;const l=`Failed to normalizeColor ${t}`;if(n)throw new Error(l);return console.warn(l),G}const{r,g:i,b:c,a:u}=sn(e.rgba);return`#${V(r)}${V(i)}${V(c)}${V(_(u*255))}`}var x=x||{};x.parse=function(){const t={linearGradient:/^(-(webkit|o|ms|moz)-)?(linear-gradient)/i,repeatingLinearGradient:/^(-(webkit|o|ms|moz)-)?(repeating-linear-gradient)/i,radialGradient:/^(-(webkit|o|ms|moz)-)?(radial-gradient)/i,repeatingRadialGradient:/^(-(webkit|o|ms|moz)-)?(repeating-radial-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?((\d*\.\d+)|(\d+\.?)))px/,percentageValue:/^(-?((\d*\.\d+)|(\d+\.?)))%/,emValue:/^(-?((\d*\.\d+)|(\d+\.?)))em/,angleValue:/^(-?((\d*\.\d+)|(\d+\.?)))deg/,radianValue:/^(-?((\d*\.\d+)|(\d+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^#([0-9a-f]+)/i,literalColor:/^([a-z]+)/i,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-z0-9-,\s#]+)/i,number:/^((\d*\.\d+)|(\d+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i};let n="";function e(a){const s=new Error(`${n}: ${a}`);throw s.source=n,s}function r(){const a=i();return n.length>0&&e("Invalid input not EOF"),a}function i(){return H(c)}function c(){return u("linear-gradient",t.linearGradient,p)||u("repeating-linear-gradient",t.repeatingLinearGradient,p)||u("radial-gradient",t.radialGradient,M)||u("repeating-radial-gradient",t.repeatingRadialGradient,M)}function u(a,s,f){return l(s,v=>{const N=f();return N&&(g(t.comma)||e("Missing comma before color stops")),{type:a,orientation:N,colorStops:H(Cn)}})}function l(a,s){const f=g(a);if(f){g(t.startCall)||e("Missing (");const v=s(f);return g(t.endCall)||e("Missing )"),v}}function p(){const a=b();if(a)return a;const s=y("position-keyword",t.positionKeywords,1);return s?{type:"directional",value:s.value}:k()}function b(){return y("directional",t.sideOrCorner,1)}function k(){return y("angular",t.angleValue,1)||y("angular",t.radianValue,1)}function M(){let a,s=P(),f;return s&&(a=[],a.push(s),f=n,g(t.comma)&&(s=P(),s?a.push(s):n=f)),a}function P(){let a=bn()||yn();if(a)a.at=nt();else{const s=tt();if(s){a=s;const f=nt();f&&(a.at=f)}else{const f=nt();if(f)a={type:"default-radial",at:f};else{const v=et();v&&(a={type:"default-radial",at:v})}}}return a}function bn(){const a=y("shape",/^(circle)/i,0);return a&&(a.style=tn()||tt()),a}function yn(){const a=y("shape",/^(ellipse)/i,0);return a&&(a.style=et()||W()||tt()),a}function tt(){return y("extent-keyword",t.extentKeywords,1)}function nt(){if(y("position",/^at/,0)){const a=et();return a||e("Missing positioning value"),a}}function et(){const a=Sn();if(a.x||a.y)return{type:"position",value:a}}function Sn(){return{x:W(),y:W()}}function H(a){let s=a();const f=[];if(s)for(f.push(s);g(t.comma);)s=a(),s?f.push(s):e("One extra comma");return f}function Cn(){const a=wn();return a||e("Expected color definition"),a.length=W(),a}function wn(){return _n()||Ln()||En()||kn()||Fn()||Nn()||zn()}function zn(){return y("literal",t.literalColor,0)}function _n(){return y("hex",t.hexColor,1)}function Fn(){return l(t.rgbColor,()=>({type:"rgb",value:H(R)}))}function kn(){return l(t.rgbaColor,()=>({type:"rgba",value:H(R)}))}function Nn(){return l(t.varColor,()=>({type:"var",value:Dn()}))}function En(){return l(t.hslColor,()=>{g(t.percentageValue)&&e("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const s=R();g(t.comma);let f=g(t.percentageValue);const v=f?f[1]:null;g(t.comma),f=g(t.percentageValue);const N=f?f[1]:null;return(!v||!N)&&e("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[s,v,N]}})}function Ln(){return l(t.hslaColor,()=>{const a=R();g(t.comma);let s=g(t.percentageValue);const f=s?s[1]:null;g(t.comma),s=g(t.percentageValue);const v=s?s[1]:null;g(t.comma);const N=R();return(!f||!v)&&e("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[a,f,v,N]}})}function Dn(){return g(t.variableName)[1]}function R(){return g(t.number)[1]}function W(){return y("%",t.percentageValue,1)||Gn()||In()||tn()}function Gn(){return y("position-keyword",t.positionKeywords,1)}function In(){return l(t.calcValue,()=>{let a=1,s=0;for(;a>0&&s<n.length;){const v=n.charAt(s);v==="("?a++:v===")"&&a--,s++}a>0&&e("Missing closing parenthesis in calc() expression");const f=n.substring(0,s-1);return rt(s-1),{type:"calc",value:f}})}function tn(){return y("px",t.pixelValue,1)||y("em",t.emValue,1)}function y(a,s,f){const v=g(s);if(v)return{type:a,value:v[f]}}function g(a){let s,f;return f=/^\s+/.exec(n),f&&rt(f[0].length),s=a.exec(n),s&&rt(s[0].length),s}function rt(a){n=n.substr(a)}return function(a){return n=a.toString().trim(),n.endsWith(";")&&(n=n.slice(0,-1)),r()}}();const mt=x.parse.bind(x);var $=$||{};$.stringify=function(){var t={"visit_linear-gradient":function(n){return t.visit_gradient(n)},"visit_repeating-linear-gradient":function(n){return t.visit_gradient(n)},"visit_radial-gradient":function(n){return t.visit_gradient(n)},"visit_repeating-radial-gradient":function(n){return t.visit_gradient(n)},visit_gradient:function(n){var e=t.visit(n.orientation);return e&&(e+=", "),n.type+"("+e+t.visit(n.colorStops)+")"},visit_shape:function(n){var e=n.value,r=t.visit(n.at),i=t.visit(n.style);return i&&(e+=" "+i),r&&(e+=" at "+r),e},"visit_default-radial":function(n){var e="",r=t.visit(n.at);return r&&(e+=r),e},"visit_extent-keyword":function(n){var e=n.value,r=t.visit(n.at);return r&&(e+=" at "+r),e},"visit_position-keyword":function(n){return n.value},visit_position:function(n){return t.visit(n.value.x)+" "+t.visit(n.value.y)},"visit_%":function(n){return n.value+"%"},visit_em:function(n){return n.value+"em"},visit_px:function(n){return n.value+"px"},visit_calc:function(n){return"calc("+n.value+")"},visit_literal:function(n){return t.visit_color(n.value,n)},visit_hex:function(n){return t.visit_color("#"+n.value,n)},visit_rgb:function(n){return t.visit_color("rgb("+n.value.join(", ")+")",n)},visit_rgba:function(n){return t.visit_color("rgba("+n.value.join(", ")+")",n)},visit_hsl:function(n){return t.visit_color("hsl("+n.value[0]+", "+n.value[1]+"%, "+n.value[2]+"%)",n)},visit_hsla:function(n){return t.visit_color("hsla("+n.value[0]+", "+n.value[1]+"%, "+n.value[2]+"%, "+n.value[3]+")",n)},visit_var:function(n){return t.visit_color("var("+n.value+")",n)},visit_color:function(n,e){var r=n,i=t.visit(e.length);return i&&(r+=" "+i),r},visit_angular:function(n){return n.value+"deg"},visit_directional:function(n){return"to "+n.value},visit_array:function(n){var e="",r=n.length;return n.forEach(function(i,c){e+=t.visit(i),c<r-1&&(e+=", ")}),e},visit_object:function(n){return n.width&&n.height?t.visit(n.width)+" "+t.visit(n.height):""},visit:function(n){if(!n)return"";if(n instanceof Array)return t.visit_array(n);if(typeof n=="object"&&!n.type)return t.visit_object(n);if(n.type){var e=t["visit_"+n.type];if(e)return e(n);throw Error("Missing visitor visit_"+n.type)}else throw Error("Invalid node.")}};return function(n){return t.visit(n)}}();const cn=$.stringify.bind($);function pt(t){const n=t.length-1;return t.map((e,r)=>{var l;const i=e.value;let c=_(r/n,3),u="#00000000";switch(e.type){case"rgb":u=m({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":u=m({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":u=m(e.value);break;case"hex":u=m(`#${e.value}`);break}switch((l=e.length)==null?void 0:l.type){case"%":c=Number(e.length.value)/100;break}return{offset:c,color:u}})}function bt(t){var e;let n=0;switch((e=t.orientation)==null?void 0:e.type){case"angular":n=Number(t.orientation.value);break}return{type:"linear-gradient",angle:n,stops:pt(t.colorStops)}}function yt(t){var n;return(n=t.orientation)==null||n.map(e=>{switch(e==null?void 0:e.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:pt(t.colorStops)}}function I(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function St(t){return mt(t).map(n=>{switch(n==null?void 0:n.type){case"linear-gradient":return bt(n);case"repeating-linear-gradient":return{...bt(n),repeat:!0};case"radial-gradient":return yt(n);case"repeating-radial-gradient":return{...yt(n),repeat:!0};default:return}}).filter(Boolean)}function Ct(t){let n;return typeof t=="string"?n={color:t}:n=t,{color:m(n.color)}}function wt(t){let n;if(typeof t=="string"?n={image:t}:n=t,n.image){const{type:e,...r}=St(n.image)[0]??{};switch(e){case"radial-gradient":return{radialGradient:r};case"linear-gradient":return{linearGradient:r}}}return n}function zt(t){let n;return typeof t=="string"?n={image:t}:n=t,n}function _t(t){let n;return typeof t=="string"?n={preset:t}:n=t,{preset:n.preset,foregroundColor:d(n.foregroundColor)?void 0:m(n.foregroundColor),backgroundColor:d(n.backgroundColor)?void 0:m(n.backgroundColor)}}function Ft(t){return!d(t.color)}function kt(t){return typeof t=="string"?vt(t):Ft(t)}function Nt(t){return!d(t.image)&&I(t.image)||!!t.linearGradient||!!t.radialGradient}function Et(t){return typeof t=="string"?I(t):Nt(t)}function Lt(t){return!d(t.image)&&!I(t.image)}function Dt(t){return typeof t=="string"?!I(t):Lt(t)}function Gt(t){return!d(t.preset)}function It(t){return typeof t=="string"?!1:Gt(t)}function z(t){return kt(t)?Ct(t):Et(t)?wt(t):Dt(t)?zt(t):It(t)?_t(t):{}}function Ot(t){return typeof t=="string"?{...z(t)}:{...z(t),...T(t,["fillWithShape"])}}function q(){return{color:G,offsetX:0,offsetY:0,blurRadius:1}}function U(t){return{...q(),...F({...t,color:d(t.color)?G:m(t.color)})}}function Rt(){return{...q(),scaleX:1,scaleY:1}}function At(t){return{...Rt(),...U(t)}}function fn(t){return t}function Tt(t){return F({...t,softEdge:d(t.softEdge)?void 0:t.softEdge,outerShadow:d(t.outerShadow)?void 0:At(t.outerShadow),innerShadow:d(t.innerShadow)?void 0:U(t.innerShadow)})}function Vt(t){return typeof t=="string"?{...z(t)}:{...z(t),...T(t,["fillWithShape"])}}function xt(t){return typeof t=="string"?{...z(t)}:{...z(t),...T(t,["width","style","headEnd","tailEnd"])}}function $t(t){return typeof t=="string"?{color:m(t)}:{...t,color:d(t.color)?G:m(t.color)}}function jt(){return{boxShadow:"none"}}function Mt(t){return typeof t=="string"?t.startsWith("<svg")?{svg:t}:{paths:[{data:t}]}:Array.isArray(t)?{paths:t.map(n=>typeof n=="string"?{data:n}:n)}:t}function Pt(){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 Ht(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function Wt(){return{...Pt(),...Ht(),...jt(),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 Bt(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function Kt(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function Xt(){return{...Bt(),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 Yt(){return{...Kt(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function qt(){return{...Yt(),...Xt(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function L(t){return F({...t,color:d(t.color)?void 0:m(t.color),backgroundColor:d(t.backgroundColor)?void 0:m(t.backgroundColor),borderColor:d(t.borderColor)?void 0:m(t.borderColor),outlineColor:d(t.outlineColor)?void 0:m(t.outlineColor),shadowColor:d(t.shadowColor)?void 0:m(t.shadowColor)})}function dn(){return{...Wt(),...qt()}}const Z=/\r\n|\n\r|\n|\r/,gn=new RegExp(`${Z.source}|<br\\/>`,"g"),hn=new RegExp(`^(${Z.source})$`),j=`
|
|
2
|
-
`;function
|
|
1
|
+
(function(i,y){typeof exports=="object"&&typeof module<"u"?y(exports):typeof define=="function"&&define.amd?define(["exports"],y):(i=typeof globalThis<"u"?globalThis:i||self,y(i.modernIdoc={}))})(this,function(i){"use strict";var Pe=Object.defineProperty;var Te=(i,y,O)=>y in i?Pe(i,y,{enumerable:!0,configurable:!0,writable:!0,value:O}):i[y]=O;var ae=(i,y,O)=>Te(i,typeof y!="symbol"?y+"":y,O);function y(t){return typeof t=="string"?{src:t}:t}var O={grad:.9,turn:360,rad:360/(2*Math.PI)},_=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},m=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},C=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},at=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},ut=function(t){return{r:C(t.r,0,255),g:C(t.g,0,255),b:C(t.b,0,255),a:C(t.a)}},K=function(t){return{r:m(t.r),g:m(t.g),b:m(t.b),a:m(t.a,3)}},ue=/^#([0-9a-f]{3,8})$/i,M=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},lt=function(t){var e=t.r,n=t.g,r=t.b,o=t.a,c=Math.max(e,n,r),l=c-Math.min(e,n,r),u=l?c===e?(n-r)/l:c===n?2+(r-e)/l:4+(e-n)/l:0;return{h:60*(u<0?u+6:u),s:c?l/c*100:0,v:c/255*100,a:o}},st=function(t){var e=t.h,n=t.s,r=t.v,o=t.a;e=e/360*6,n/=100,r/=100;var c=Math.floor(e),l=r*(1-n),u=r*(1-(e-c)*n),g=r*(1-(1-e+c)*n),h=c%6;return{r:255*[r,u,l,l,g,r][h],g:255*[g,r,r,u,l,l][h],b:255*[l,l,g,r,r,u][h],a:o}},ct=function(t){return{h:at(t.h),s:C(t.s,0,100),l:C(t.l,0,100),a:C(t.a)}},ft=function(t){return{h:m(t.h),s:m(t.s),l:m(t.l),a:m(t.a,3)}},dt=function(t){return st((n=(e=t).s,{h:e.h,s:(n*=((r=e.l)<50?r:100-r)/100)>0?2*n/(r+n)*100:0,v:r+n,a:e.a}));var e,n,r},L=function(t){return{h:(e=lt(t)).h,s:(o=(200-(n=e.s))*(r=e.v)/100)>0&&o<200?n*r/100/(o<=100?o:200-o)*100:0,l:o/2,a:e.a};var e,n,r,o},le=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,se=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ce=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,fe=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,gt={string:[[function(t){var e=ue.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?m(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?m(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=ce.exec(t)||fe.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:ut({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=le.exec(t)||se.exec(t);if(!e)return null;var n,r,o=ct({h:(n=e[1],r=e[2],r===void 0&&(r="deg"),Number(n)*(O[r]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return dt(o)},"hsl"]],object:[[function(t){var e=t.r,n=t.g,r=t.b,o=t.a,c=o===void 0?1:o;return _(e)&&_(n)&&_(r)?ut({r:Number(e),g:Number(n),b:Number(r),a:Number(c)}):null},"rgb"],[function(t){var e=t.h,n=t.s,r=t.l,o=t.a,c=o===void 0?1:o;if(!_(e)||!_(n)||!_(r))return null;var l=ct({h:Number(e),s:Number(n),l:Number(r),a:Number(c)});return dt(l)},"hsl"],[function(t){var e=t.h,n=t.s,r=t.v,o=t.a,c=o===void 0?1:o;if(!_(e)||!_(n)||!_(r))return null;var l=function(u){return{h:at(u.h),s:C(u.s,0,100),v:C(u.v,0,100),a:C(u.a)}}({h:Number(e),s:Number(n),v:Number(r),a:Number(c)});return st(l)},"hsv"]]},ht=function(t,e){for(var n=0;n<e.length;n++){var r=e[n][0](t);if(r)return[r,e[n][1]]}return[null,void 0]},de=function(t){return typeof t=="string"?ht(t.trim(),gt.string):typeof t=="object"&&t!==null?ht(t,gt.object):[null,void 0]},X=function(t,e){var n=L(t);return{h:n.h,s:C(n.s+100*e,0,100),l:n.l,a:n.a}},Y=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},vt=function(t,e){var n=L(t);return{h:n.h,s:n.s,l:C(n.l+100*e,0,100),a:n.a}},mt=function(){function t(e){this.parsed=de(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 m(Y(this.rgba),2)},t.prototype.isDark=function(){return Y(this.rgba)<.5},t.prototype.isLight=function(){return Y(this.rgba)>=.5},t.prototype.toHex=function(){return e=K(this.rgba),n=e.r,r=e.g,o=e.b,l=(c=e.a)<1?M(m(255*c)):"","#"+M(n)+M(r)+M(o)+l;var e,n,r,o,c,l},t.prototype.toRgb=function(){return K(this.rgba)},t.prototype.toRgbString=function(){return e=K(this.rgba),n=e.r,r=e.g,o=e.b,(c=e.a)<1?"rgba("+n+", "+r+", "+o+", "+c+")":"rgb("+n+", "+r+", "+o+")";var e,n,r,o,c},t.prototype.toHsl=function(){return ft(L(this.rgba))},t.prototype.toHslString=function(){return e=ft(L(this.rgba)),n=e.h,r=e.s,o=e.l,(c=e.a)<1?"hsla("+n+", "+r+"%, "+o+"%, "+c+")":"hsl("+n+", "+r+"%, "+o+"%)";var e,n,r,o,c},t.prototype.toHsv=function(){return e=lt(this.rgba),{h:m(e.h),s:m(e.s),v:m(e.v),a:m(e.a,3)};var e},t.prototype.invert=function(){return z({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),z(X(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),z(X(this.rgba,-e))},t.prototype.grayscale=function(){return z(X(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),z(vt(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),z(vt(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"?z({r:(n=this.rgba).r,g:n.g,b:n.b,a:e}):m(this.rgba.a,3);var n},t.prototype.hue=function(e){var n=L(this.rgba);return typeof e=="number"?z({h:e,s:n.s,l:n.l,a:n.a}):m(n.h)},t.prototype.isEqual=function(e){return this.toHex()===z(e).toHex()},t}(),z=function(t){return t instanceof mt?t:new mt(t)};function d(t){return t==null||t==="none"}function R(t,e=0,n=10**e){return Math.round(n*t)/n+0}function N(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(r=>N(r,e)):t;const n={};for(const r in t){const o=t[r];o!=null&&(e?n[r]=N(o,e):n[r]=o)}return n}function P(t,e){const n={};return e.forEach(r=>{r in t&&(n[r]=t[r])}),n}function q(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,z(e)}function ge(t){return{r:R(t.r),g:R(t.g),b:R(t.b),a:R(t.a,3)}}function T(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const G="#000000FF";function pt(t){return q(t).isValid()}function b(t,e=!1){const n=q(t);if(!n.isValid()){if(typeof t=="string")return t;const u=`Failed to normalizeColor ${t}`;if(e)throw new Error(u);return console.warn(u),G}const{r,g:o,b:c,a:l}=ge(n.rgba);return`#${T(r)}${T(o)}${T(c)}${T(R(l*255))}`}var j=j||{};j.parse=function(){const t={linearGradient:/^(-(webkit|o|ms|moz)-)?(linear-gradient)/i,repeatingLinearGradient:/^(-(webkit|o|ms|moz)-)?(repeating-linear-gradient)/i,radialGradient:/^(-(webkit|o|ms|moz)-)?(radial-gradient)/i,repeatingRadialGradient:/^(-(webkit|o|ms|moz)-)?(repeating-radial-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?((\d*\.\d+)|(\d+\.?)))px/,percentageValue:/^(-?((\d*\.\d+)|(\d+\.?)))%/,emValue:/^(-?((\d*\.\d+)|(\d+\.?)))em/,angleValue:/^(-?((\d*\.\d+)|(\d+\.?)))deg/,radianValue:/^(-?((\d*\.\d+)|(\d+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^#([0-9a-f]+)/i,literalColor:/^([a-z]+)/i,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-z0-9-,\s#]+)/i,number:/^((\d*\.\d+)|(\d+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i};let e="";function n(a){const s=new Error(`${e}: ${a}`);throw s.source=e,s}function r(){const a=o();return e.length>0&&n("Invalid input not EOF"),a}function o(){return W(c)}function c(){return l("linear-gradient",t.linearGradient,g)||l("repeating-linear-gradient",t.repeatingLinearGradient,g)||l("radial-gradient",t.radialGradient,F)||l("repeating-radial-gradient",t.repeatingRadialGradient,F)}function l(a,s,f){return u(s,p=>{const E=f();return E&&(v(t.comma)||n("Missing comma before color stops")),{type:a,orientation:E,colorStops:W(ke)}})}function u(a,s){const f=v(a);if(f){v(t.startCall)||n("Missing (");const p=s(f);return v(t.endCall)||n("Missing )"),p}}function g(){const a=h();if(a)return a;const s=S("position-keyword",t.positionKeywords,1);return s?{type:"directional",value:s.value}:w()}function h(){return S("directional",t.sideOrCorner,1)}function w(){return S("angular",t.angleValue,1)||S("angular",t.radianValue,1)}function F(){let a,s=H(),f;return s&&(a=[],a.push(s),f=e,v(t.comma)&&(s=H(),s?a.push(s):e=f)),a}function H(){let a=ze()||_e();if(a)a.at=rt();else{const s=nt();if(s){a=s;const f=rt();f&&(a.at=f)}else{const f=rt();if(f)a={type:"default-radial",at:f};else{const p=it();p&&(a={type:"default-radial",at:p})}}}return a}function ze(){const a=S("shape",/^(circle)/i,0);return a&&(a.style=oe()||nt()),a}function _e(){const a=S("shape",/^(ellipse)/i,0);return a&&(a.style=it()||B()||nt()),a}function nt(){return S("extent-keyword",t.extentKeywords,1)}function rt(){if(S("position",/^at/,0)){const a=it();return a||n("Missing positioning value"),a}}function it(){const a=Fe();if(a.x||a.y)return{type:"position",value:a}}function Fe(){return{x:B(),y:B()}}function W(a){let s=a();const f=[];if(s)for(f.push(s);v(t.comma);)s=a(),s?f.push(s):n("One extra comma");return f}function ke(){const a=Re();return a||n("Expected color definition"),a.length=B(),a}function Re(){return Ee()||Ie()||Ge()||De()||Oe()||Le()||Ne()}function Ne(){return S("literal",t.literalColor,0)}function Ee(){return S("hex",t.hexColor,1)}function Oe(){return u(t.rgbColor,()=>({type:"rgb",value:W(V)}))}function De(){return u(t.rgbaColor,()=>({type:"rgba",value:W(V)}))}function Le(){return u(t.varColor,()=>({type:"var",value:Ae()}))}function Ge(){return u(t.hslColor,()=>{v(t.percentageValue)&&n("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const s=V();v(t.comma);let f=v(t.percentageValue);const p=f?f[1]:null;v(t.comma),f=v(t.percentageValue);const E=f?f[1]:null;return(!p||!E)&&n("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[s,p,E]}})}function Ie(){return u(t.hslaColor,()=>{const a=V();v(t.comma);let s=v(t.percentageValue);const f=s?s[1]:null;v(t.comma),s=v(t.percentageValue);const p=s?s[1]:null;v(t.comma);const E=V();return(!f||!p)&&n("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[a,f,p,E]}})}function Ae(){return v(t.variableName)[1]}function V(){return v(t.number)[1]}function B(){return S("%",t.percentageValue,1)||Ve()||Me()||oe()}function Ve(){return S("position-keyword",t.positionKeywords,1)}function Me(){return u(t.calcValue,()=>{let a=1,s=0;for(;a>0&&s<e.length;){const p=e.charAt(s);p==="("?a++:p===")"&&a--,s++}a>0&&n("Missing closing parenthesis in calc() expression");const f=e.substring(0,s-1);return ot(s-1),{type:"calc",value:f}})}function oe(){return S("px",t.pixelValue,1)||S("em",t.emValue,1)}function S(a,s,f){const p=v(s);if(p)return{type:a,value:p[f]}}function v(a){let s,f;return f=/^\s+/.exec(e),f&&ot(f[0].length),s=a.exec(e),s&&ot(s[0].length),s}function ot(a){e=e.substr(a)}return function(a){return e=a.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),r()}}();const bt=j.parse.bind(j);var $=$||{};$.stringify=function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var n=t.visit(e.orientation);return n&&(n+=", "),e.type+"("+n+t.visit(e.colorStops)+")"},visit_shape:function(e){var n=e.value,r=t.visit(e.at),o=t.visit(e.style);return o&&(n+=" "+o),r&&(n+=" at "+r),n},"visit_default-radial":function(e){var n="",r=t.visit(e.at);return r&&(n+=r),n},"visit_extent-keyword":function(e){var n=e.value,r=t.visit(e.at);return r&&(n+=" at "+r),n},"visit_position-keyword":function(e){return e.value},visit_position:function(e){return t.visit(e.value.x)+" "+t.visit(e.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_calc:function(e){return"calc("+e.value+")"},visit_literal:function(e){return t.visit_color(e.value,e)},visit_hex:function(e){return t.visit_color("#"+e.value,e)},visit_rgb:function(e){return t.visit_color("rgb("+e.value.join(", ")+")",e)},visit_rgba:function(e){return t.visit_color("rgba("+e.value.join(", ")+")",e)},visit_hsl:function(e){return t.visit_color("hsl("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%)",e)},visit_hsla:function(e){return t.visit_color("hsla("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%, "+e.value[3]+")",e)},visit_var:function(e){return t.visit_color("var("+e.value+")",e)},visit_color:function(e,n){var r=e,o=t.visit(n.length);return o&&(r+=" "+o),r},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var n="",r=e.length;return e.forEach(function(o,c){n+=t.visit(o),c<r-1&&(n+=", ")}),n},visit_object:function(e){return e.width&&e.height?t.visit(e.width)+" "+t.visit(e.height):""},visit:function(e){if(!e)return"";if(e instanceof Array)return t.visit_array(e);if(typeof e=="object"&&!e.type)return t.visit_object(e);if(e.type){var n=t["visit_"+e.type];if(n)return n(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}}();const he=$.stringify.bind($);function yt(t){const e=t.length-1;return t.map((n,r)=>{var u;const o=n.value;let c=R(r/e,3),l="#00000000";switch(n.type){case"rgb":l=b({r:Number(o[0]??0),g:Number(o[1]??0),b:Number(o[2]??0)});break;case"rgba":l=b({r:Number(o[0]??0),g:Number(o[1]??0),b:Number(o[2]??0),a:Number(o[3]??0)});break;case"literal":l=b(n.value);break;case"hex":l=b(`#${n.value}`);break}switch((u=n.length)==null?void 0:u.type){case"%":c=Number(n.length.value)/100;break}return{offset:c,color:l}})}function St(t){var n;let e=0;switch((n=t.orientation)==null?void 0:n.type){case"angular":e=Number(t.orientation.value);break}return{type:"linear-gradient",angle:e,stops:yt(t.colorStops)}}function Ct(t){var e;return(e=t.orientation)==null||e.map(n=>{switch(n==null?void 0:n.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:yt(t.colorStops)}}function I(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function wt(t){return bt(t).map(e=>{switch(e==null?void 0:e.type){case"linear-gradient":return St(e);case"repeating-linear-gradient":return{...St(e),repeat:!0};case"radial-gradient":return Ct(e);case"repeating-radial-gradient":return{...Ct(e),repeat:!0};default:return}}).filter(Boolean)}function zt(t){let e;return typeof t=="string"?e={color:t}:e=t,{color:b(e.color)}}function _t(t){let e;if(typeof t=="string"?e={image:t}:e=t,e.image){const{type:n,...r}=wt(e.image)[0]??{};switch(n){case"radial-gradient":return{radialGradient:r};case"linear-gradient":return{linearGradient:r}}}return e}function Ft(t){let e;return typeof t=="string"?e={image:t}:e=t,e}function kt(t){let e;return typeof t=="string"?e={preset:t}:e=t,{preset:e.preset,foregroundColor:d(e.foregroundColor)?void 0:b(e.foregroundColor),backgroundColor:d(e.backgroundColor)?void 0:b(e.backgroundColor)}}function Rt(t){return!d(t.color)}function Nt(t){return typeof t=="string"?pt(t):Rt(t)}function Et(t){return!d(t.image)&&I(t.image)||!!t.linearGradient||!!t.radialGradient}function Ot(t){return typeof t=="string"?I(t):Et(t)}function Dt(t){return!d(t.image)&&!I(t.image)}function Lt(t){return typeof t=="string"?!I(t):Dt(t)}function Gt(t){return!d(t.preset)}function It(t){return typeof t=="string"?!1:Gt(t)}function k(t){return Nt(t)?zt(t):Ot(t)?_t(t):Lt(t)?Ft(t):It(t)?kt(t):{}}function At(t){return typeof t=="string"?{...k(t)}:{...k(t),...P(t,["fillWithShape"])}}class Vt{constructor(){ae(this,"_map",new WeakMap)}_toRaw(e){if(e&&typeof e=="object"){const n=e.__v_raw;n&&(e=this._toRaw(n))}return e}delete(e){return this._map.delete(this._toRaw(e))}get(e){return this._map.get(this._toRaw(e))}has(e){return this._map.has(this._toRaw(e))}set(e,n){return this._map.set(this._toRaw(e),this._toRaw(n)),this}}const Mt=new Vt;function U(t){let e=Mt.get(t);if(!e){const n=Object.getPrototypeOf(t);e=new Map(n?U(n):void 0),Mt.set(t,e)}return e}function Pt(t,e,n={}){U(t).set(e,n);const{default:r,alias:o=Symbol.for(String(e))}=n,c=()=>typeof r=="function"?r():r,l=Object.getOwnPropertyDescriptor(t.prototype,e)||{get(){return this[o]},set(u){this[o]=u}};Object.defineProperty(t.prototype,e,{get(){var g,h;let u=(g=l.get)==null?void 0:g.call(this);return u===void 0&&(u=c(),u!==void 0&&((h=l.set)==null||h.call(this,u))),u},set(u){var h,w,F;let g=(h=l.get)==null?void 0:h.call(this);g===void 0&&(g=c()),(w=l.set)==null||w.call(this,u),(F=this.requestUpdate)==null||F.call(this,e,u,g,n)},configurable:!0,enumerable:!0})}function ve(t){return function(e,n){Pt(e.constructor,n,t)}}function Z(){return{color:G,offsetX:0,offsetY:0,blurRadius:1}}function J(t){return{...Z(),...N({...t,color:d(t.color)?G:b(t.color)})}}function Tt(){return{...Z(),scaleX:1,scaleY:1}}function jt(t){return{...Tt(),...J(t)}}function me(t){return t}function $t(t){return N({...t,softEdge:d(t.softEdge)?void 0:t.softEdge,outerShadow:d(t.outerShadow)?void 0:jt(t.outerShadow),innerShadow:d(t.innerShadow)?void 0:J(t.innerShadow)})}function xt(t){return typeof t=="string"?{...k(t)}:{...k(t),...P(t,["fillWithShape"])}}function Ht(t){return typeof t=="string"?{...k(t)}:{...k(t),...P(t,["width","style","headEnd","tailEnd"])}}function Wt(t){return typeof t=="string"?{color:b(t)}:{...t,color:d(t.color)?G:b(t.color)}}function Bt(){return{boxShadow:"none"}}function Kt(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 Xt(){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 Yt(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function qt(){return{...Xt(),...Yt(),...Bt(),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 Ut(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function Zt(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function Jt(){return{...Ut(),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 Qt(){return{...Zt(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function te(){return{...Qt(),...Jt(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function D(t){return N({...t,color:d(t.color)?void 0:b(t.color),backgroundColor:d(t.backgroundColor)?void 0:b(t.backgroundColor),borderColor:d(t.borderColor)?void 0:b(t.borderColor),outlineColor:d(t.outlineColor)?void 0:b(t.outlineColor),shadowColor:d(t.shadowColor)?void 0:b(t.shadowColor)})}function pe(){return{...qt(),...te()}}const Q=/\r\n|\n\r|\n|\r/,be=new RegExp(`${Q.source}|<br\\/>`,"g"),ye=new RegExp(`^(${Q.source})$`),x=`
|
|
2
|
+
`;function Se(t){return Q.test(t)}function tt(t){return ye.test(t)}function ee(t){return t.replace(be,x)}function ne(t,e){const n=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!n.length||n.every(r=>t[r]===e[r])}function A(t){const e=[];function n(){return e[e.length-1]||r()}function r(l={}){let u=e[e.length-1];return(u==null?void 0:u.fragments.length)===0?(u={...l,fragments:[]},e[e.length-1]=u):(u={...l,fragments:[]},e.push(u)),u}function o(l="",u={}){Array.from(l).forEach(g=>{if(tt(g)){const{fragments:h,...w}=n();h.length||h.push({...u,content:x}),r(w)}else{const h=n(),w=h.fragments[h.fragments.length-1];if(w){const{content:F,...H}=w;if(ne(u,H)){w.content=`${F}${g}`;return}}h.fragments.push({...u,content:g})}})}return(Array.isArray(t)?t:[t]).forEach(l=>{if(typeof l=="string")r(),o(l);else if("content"in l){const{content:u,...g}=l;r(D(g)),o(u)}else if("fragments"in l){const{fragments:u,...g}=l;r(D(g)),u.forEach(h=>{const{content:w,...F}=h;o(w,D(F))})}else Array.isArray(l)?(r(),l.forEach(u=>{if(typeof u=="string")o(u);else{const{content:g,...h}=u;o(g,D(h))}})):console.warn("Failed to parse text content",l)}),n().fragments.length||o(x),e}function re(t){return typeof t=="string"?{content:A(t)}:"content"in t?{...t,content:A(t.content)}:{content:A(t)}}function Ce(t){return A(t).map(e=>{const n=ee(e.fragments.flatMap(r=>r.content).join(""));return tt(n)?"":n}).join(x)}function ie(t){return typeof t=="string"?{src:t}:t}function et(t){var e;return N({...t,style:d(t.style)?void 0:D(t.style),text:d(t.text)?void 0:re(t.text),background:d(t.background)?void 0:At(t.background),shape:d(t.shape)?void 0:Kt(t.shape),fill:d(t.fill)?void 0:k(t.fill),outline:d(t.outline)?void 0:Ht(t.outline),foreground:d(t.foreground)?void 0:xt(t.foreground),shadow:d(t.shadow)?void 0:Wt(t.shadow),video:d(t.video)?void 0:ie(t.video),audio:d(t.audio)?void 0:y(t.audio),effect:d(t.effect)?void 0:$t(t.effect),children:(e=t.children)==null?void 0:e.map(n=>et(n))})}function we(t){return et(t)}i.RawWeakMap=Vt,i.clearUndef=N,i.defaultColor=G,i.defineProperty=Pt,i.getDeclarations=U,i.getDefaultElementStyle=qt,i.getDefaultHighlightStyle=Ut,i.getDefaultInnerShadow=Z,i.getDefaultLayoutStyle=Xt,i.getDefaultListStyleStyle=Zt,i.getDefaultOuterShadow=Tt,i.getDefaultShadowStyle=Bt,i.getDefaultStyle=pe,i.getDefaultTextInlineStyle=Jt,i.getDefaultTextLineStyle=Qt,i.getDefaultTextStyle=te,i.getDefaultTransformStyle=Yt,i.hasCRLF=Se,i.isCRLF=tt,i.isColor=pt,i.isColorFill=Nt,i.isColorFillObject=Rt,i.isEqualStyle=ne,i.isGradient=I,i.isGradientFill=Ot,i.isGradientFillObject=Et,i.isImageFill=Lt,i.isImageFillObject=Dt,i.isNone=d,i.isPresetFill=It,i.isPresetFillObject=Gt,i.normalizeAudio=y,i.normalizeBackground=At,i.normalizeCRLF=ee,i.normalizeColor=b,i.normalizeColorFill=zt,i.normalizeDocument=we,i.normalizeEffect=$t,i.normalizeElement=et,i.normalizeFill=k,i.normalizeForeground=xt,i.normalizeGradient=wt,i.normalizeGradientFill=_t,i.normalizeImageFill=Ft,i.normalizeInnerShadow=J,i.normalizeOuterShadow=jt,i.normalizeOutline=Ht,i.normalizePresetFill=kt,i.normalizeShadow=Wt,i.normalizeShape=Kt,i.normalizeSoftEdge=me,i.normalizeStyle=D,i.normalizeText=re,i.normalizeTextContent=A,i.normalizeVideo=ie,i.parseColor=q,i.parseGradient=bt,i.pick=P,i.property=ve,i.round=R,i.stringifyGradient=he,i.textContentToString=Ce,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
|
package/dist/index.mjs
CHANGED
|
@@ -807,6 +807,101 @@ function normalizeBackground(background) {
|
|
|
807
807
|
}
|
|
808
808
|
}
|
|
809
809
|
|
|
810
|
+
class RawWeakMap {
|
|
811
|
+
_map = /* @__PURE__ */ new WeakMap();
|
|
812
|
+
// fix: vue reactive object
|
|
813
|
+
_toRaw(value) {
|
|
814
|
+
if (value && typeof value === "object") {
|
|
815
|
+
const raw = value.__v_raw;
|
|
816
|
+
if (raw) {
|
|
817
|
+
value = this._toRaw(raw);
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
return value;
|
|
821
|
+
}
|
|
822
|
+
/**
|
|
823
|
+
* Removes the specified element from the WeakMap.
|
|
824
|
+
* @returns true if the element was successfully removed, or false if it was not present.
|
|
825
|
+
*/
|
|
826
|
+
delete(key) {
|
|
827
|
+
return this._map.delete(this._toRaw(key));
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* @returns a specified element.
|
|
831
|
+
*/
|
|
832
|
+
get(key) {
|
|
833
|
+
return this._map.get(this._toRaw(key));
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* @returns a boolean indicating whether an element with the specified key exists or not.
|
|
837
|
+
*/
|
|
838
|
+
has(key) {
|
|
839
|
+
return this._map.has(this._toRaw(key));
|
|
840
|
+
}
|
|
841
|
+
/**
|
|
842
|
+
* Adds a new element with a specified key and value.
|
|
843
|
+
* @param key Must be an object or symbol.
|
|
844
|
+
*/
|
|
845
|
+
set(key, value) {
|
|
846
|
+
this._map.set(this._toRaw(key), this._toRaw(value));
|
|
847
|
+
return this;
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
const declarationMap = new RawWeakMap();
|
|
852
|
+
function getDeclarations(constructor) {
|
|
853
|
+
let declarations = declarationMap.get(constructor);
|
|
854
|
+
if (!declarations) {
|
|
855
|
+
const superConstructor = Object.getPrototypeOf(constructor);
|
|
856
|
+
declarations = new Map(superConstructor ? getDeclarations(superConstructor) : void 0);
|
|
857
|
+
declarationMap.set(constructor, declarations);
|
|
858
|
+
}
|
|
859
|
+
return declarations;
|
|
860
|
+
}
|
|
861
|
+
function defineProperty(constructor, key, declaration = {}) {
|
|
862
|
+
getDeclarations(constructor).set(key, declaration);
|
|
863
|
+
const {
|
|
864
|
+
default: defaultValue,
|
|
865
|
+
alias = Symbol.for(String(key))
|
|
866
|
+
} = declaration;
|
|
867
|
+
const getDefaultValue = () => typeof defaultValue === "function" ? defaultValue() : defaultValue;
|
|
868
|
+
const descriptor = Object.getOwnPropertyDescriptor(constructor.prototype, key) || {
|
|
869
|
+
get() {
|
|
870
|
+
return this[alias];
|
|
871
|
+
},
|
|
872
|
+
set(v) {
|
|
873
|
+
this[alias] = v;
|
|
874
|
+
}
|
|
875
|
+
};
|
|
876
|
+
Object.defineProperty(constructor.prototype, key, {
|
|
877
|
+
get() {
|
|
878
|
+
let value = descriptor.get?.call(this);
|
|
879
|
+
if (value === void 0) {
|
|
880
|
+
value = getDefaultValue();
|
|
881
|
+
if (value !== void 0) {
|
|
882
|
+
descriptor.set?.call(this, value);
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
return value;
|
|
886
|
+
},
|
|
887
|
+
set(newValue) {
|
|
888
|
+
let oldValue = descriptor.get?.call(this);
|
|
889
|
+
if (oldValue === void 0) {
|
|
890
|
+
oldValue = getDefaultValue();
|
|
891
|
+
}
|
|
892
|
+
descriptor.set?.call(this, newValue);
|
|
893
|
+
this.requestUpdate?.(key, newValue, oldValue, declaration);
|
|
894
|
+
},
|
|
895
|
+
configurable: true,
|
|
896
|
+
enumerable: true
|
|
897
|
+
});
|
|
898
|
+
}
|
|
899
|
+
function property(options) {
|
|
900
|
+
return function(proto, name) {
|
|
901
|
+
defineProperty(proto.constructor, name, options);
|
|
902
|
+
};
|
|
903
|
+
}
|
|
904
|
+
|
|
810
905
|
function getDefaultInnerShadow() {
|
|
811
906
|
return {
|
|
812
907
|
color: defaultColor,
|
|
@@ -1165,17 +1260,21 @@ function normalizeTextContent(value) {
|
|
|
1165
1260
|
const list = Array.isArray(value) ? value : [value];
|
|
1166
1261
|
list.forEach((p) => {
|
|
1167
1262
|
if (typeof p === "string") {
|
|
1263
|
+
addParagraph();
|
|
1168
1264
|
addFragment(p);
|
|
1169
1265
|
} else if ("content" in p) {
|
|
1170
1266
|
const { content, ...pStyle } = p;
|
|
1171
|
-
|
|
1267
|
+
addParagraph(normalizeStyle(pStyle));
|
|
1268
|
+
addFragment(content);
|
|
1172
1269
|
} else if ("fragments" in p) {
|
|
1173
|
-
|
|
1174
|
-
|
|
1270
|
+
const { fragments, ...pStyle } = p;
|
|
1271
|
+
addParagraph(normalizeStyle(pStyle));
|
|
1272
|
+
fragments.forEach((f) => {
|
|
1175
1273
|
const { content, ...fStyle } = f;
|
|
1176
1274
|
addFragment(content, normalizeStyle(fStyle));
|
|
1177
1275
|
});
|
|
1178
1276
|
} else if (Array.isArray(p)) {
|
|
1277
|
+
addParagraph();
|
|
1179
1278
|
p.forEach((f) => {
|
|
1180
1279
|
if (typeof f === "string") {
|
|
1181
1280
|
addFragment(f);
|
|
@@ -1251,4 +1350,4 @@ function normalizeDocument(doc) {
|
|
|
1251
1350
|
return normalizeElement(doc);
|
|
1252
1351
|
}
|
|
1253
1352
|
|
|
1254
|
-
export { clearUndef, defaultColor, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, round, stringifyGradient, textContentToString };
|
|
1353
|
+
export { RawWeakMap, clearUndef, defaultColor, defineProperty, getDeclarations, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultInnerShadow, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultOuterShadow, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, hasCRLF, isCRLF, isColor, isColorFill, isColorFillObject, isEqualStyle, isGradient, isGradientFill, isGradientFillObject, isImageFill, isImageFillObject, isNone, isPresetFill, isPresetFillObject, normalizeAudio, normalizeBackground, normalizeCRLF, normalizeColor, normalizeColorFill, normalizeDocument, normalizeEffect, normalizeElement, normalizeFill, normalizeForeground, normalizeGradient, normalizeGradientFill, normalizeImageFill, normalizeInnerShadow, normalizeOuterShadow, normalizeOutline, normalizePresetFill, normalizeShadow, normalizeShape, normalizeSoftEdge, normalizeStyle, normalizeText, normalizeTextContent, normalizeVideo, parseColor, parseGradient, pick, property, round, stringifyGradient, textContentToString };
|