modern-idoc 0.10.0 → 0.10.2
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 +19 -10
- package/dist/index.d.cts +5 -3
- package/dist/index.d.mts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +17 -10
- package/package.json +11 -11
package/dist/index.cjs
CHANGED
|
@@ -275,7 +275,11 @@ function propertyOffsetSet(target, key, newValue, declaration) {
|
|
|
275
275
|
} else {
|
|
276
276
|
target[internalKey] = newValue;
|
|
277
277
|
}
|
|
278
|
-
target.onUpdateProperty?.(
|
|
278
|
+
target.onUpdateProperty?.(
|
|
279
|
+
key,
|
|
280
|
+
newValue ?? propertyOffsetGetDefaultValue(target, key, declaration),
|
|
281
|
+
oldValue
|
|
282
|
+
);
|
|
279
283
|
}
|
|
280
284
|
function propertyOffsetGet(target, key, declaration) {
|
|
281
285
|
const {
|
|
@@ -288,14 +292,14 @@ function propertyOffsetGet(target, key, declaration) {
|
|
|
288
292
|
} else {
|
|
289
293
|
result = target[internalKey];
|
|
290
294
|
}
|
|
291
|
-
result = result ??
|
|
295
|
+
result = result ?? propertyOffsetGetDefaultValue(target, key, declaration);
|
|
292
296
|
return result;
|
|
293
297
|
}
|
|
294
|
-
function
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
} = declaration;
|
|
298
|
+
function propertyOffsetGetDefaultValue(target, key, declaration) {
|
|
299
|
+
return propertyDefaultValue(target, key, declaration) ?? propertyFallbackValue(declaration);
|
|
300
|
+
}
|
|
301
|
+
function propertyDefaultValue(target, key, declaration) {
|
|
302
|
+
const { default: _default } = declaration;
|
|
299
303
|
let result;
|
|
300
304
|
if (_default !== void 0 && !target[initedSymbol]) {
|
|
301
305
|
target[initedSymbol] = true;
|
|
@@ -305,9 +309,12 @@ function propertyOffsetDefaultValue(target, key, declaration) {
|
|
|
305
309
|
result = defaultValue;
|
|
306
310
|
}
|
|
307
311
|
}
|
|
308
|
-
result = result ?? (typeof fallback === "function" ? fallback() : fallback);
|
|
309
312
|
return result;
|
|
310
313
|
}
|
|
314
|
+
function propertyFallbackValue(declaration) {
|
|
315
|
+
const { fallback } = declaration;
|
|
316
|
+
return typeof fallback === "function" ? fallback() : fallback;
|
|
317
|
+
}
|
|
311
318
|
function getPropertyDescriptor(key, declaration) {
|
|
312
319
|
function get() {
|
|
313
320
|
if (typeof this.getProperty !== "undefined") {
|
|
@@ -407,7 +414,7 @@ class Reactivable extends Observable {
|
|
|
407
414
|
} else {
|
|
408
415
|
result = this._properties.get(key);
|
|
409
416
|
}
|
|
410
|
-
return result ??
|
|
417
|
+
return result ?? propertyOffsetGetDefaultValue(this, key, declaration);
|
|
411
418
|
}
|
|
412
419
|
}
|
|
413
420
|
return void 0;
|
|
@@ -1933,8 +1940,10 @@ exports.parseGradient = parseGradient;
|
|
|
1933
1940
|
exports.pick = pick;
|
|
1934
1941
|
exports.property = property;
|
|
1935
1942
|
exports.property2 = property2;
|
|
1936
|
-
exports.
|
|
1943
|
+
exports.propertyDefaultValue = propertyDefaultValue;
|
|
1944
|
+
exports.propertyFallbackValue = propertyFallbackValue;
|
|
1937
1945
|
exports.propertyOffsetGet = propertyOffsetGet;
|
|
1946
|
+
exports.propertyOffsetGetDefaultValue = propertyOffsetGetDefaultValue;
|
|
1938
1947
|
exports.propertyOffsetSet = propertyOffsetSet;
|
|
1939
1948
|
exports.round = round;
|
|
1940
1949
|
exports.setNestedValue = setNestedValue;
|
package/dist/index.d.cts
CHANGED
|
@@ -327,7 +327,7 @@ interface PropertyDeclaration {
|
|
|
327
327
|
fallback?: unknown | (() => unknown);
|
|
328
328
|
alias?: string;
|
|
329
329
|
internal?: boolean;
|
|
330
|
-
internalKey: symbol;
|
|
330
|
+
internalKey: symbol | string;
|
|
331
331
|
}
|
|
332
332
|
interface PropertyAccessor {
|
|
333
333
|
getProperty?: (key: string) => any;
|
|
@@ -337,7 +337,9 @@ interface PropertyAccessor {
|
|
|
337
337
|
declare function getDeclarations(constructor: any): Map<string, PropertyDeclaration>;
|
|
338
338
|
declare function propertyOffsetSet(target: any & PropertyAccessor, key: string, newValue: any, declaration: PropertyDeclaration): void;
|
|
339
339
|
declare function propertyOffsetGet(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
340
|
-
declare function
|
|
340
|
+
declare function propertyOffsetGetDefaultValue(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
341
|
+
declare function propertyDefaultValue(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
342
|
+
declare function propertyFallbackValue(declaration: PropertyDeclaration): any;
|
|
341
343
|
declare function getPropertyDescriptor<V, T extends PropertyAccessor>(key: string, declaration: PropertyDeclaration): {
|
|
342
344
|
get: () => any;
|
|
343
345
|
set: (v: any) => void;
|
|
@@ -900,5 +902,5 @@ declare class Reactivable extends Observable implements PropertyAccessor {
|
|
|
900
902
|
clone(): this;
|
|
901
903
|
}
|
|
902
904
|
|
|
903
|
-
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,
|
|
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, propertyDefaultValue, propertyFallbackValue, propertyOffsetGet, propertyOffsetGetDefaultValue, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
904
906
|
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
|
@@ -327,7 +327,7 @@ interface PropertyDeclaration {
|
|
|
327
327
|
fallback?: unknown | (() => unknown);
|
|
328
328
|
alias?: string;
|
|
329
329
|
internal?: boolean;
|
|
330
|
-
internalKey: symbol;
|
|
330
|
+
internalKey: symbol | string;
|
|
331
331
|
}
|
|
332
332
|
interface PropertyAccessor {
|
|
333
333
|
getProperty?: (key: string) => any;
|
|
@@ -337,7 +337,9 @@ interface PropertyAccessor {
|
|
|
337
337
|
declare function getDeclarations(constructor: any): Map<string, PropertyDeclaration>;
|
|
338
338
|
declare function propertyOffsetSet(target: any & PropertyAccessor, key: string, newValue: any, declaration: PropertyDeclaration): void;
|
|
339
339
|
declare function propertyOffsetGet(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
340
|
-
declare function
|
|
340
|
+
declare function propertyOffsetGetDefaultValue(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
341
|
+
declare function propertyDefaultValue(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
342
|
+
declare function propertyFallbackValue(declaration: PropertyDeclaration): any;
|
|
341
343
|
declare function getPropertyDescriptor<V, T extends PropertyAccessor>(key: string, declaration: PropertyDeclaration): {
|
|
342
344
|
get: () => any;
|
|
343
345
|
set: (v: any) => void;
|
|
@@ -900,5 +902,5 @@ declare class Reactivable extends Observable implements PropertyAccessor {
|
|
|
900
902
|
clone(): this;
|
|
901
903
|
}
|
|
902
904
|
|
|
903
|
-
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,
|
|
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, propertyDefaultValue, propertyFallbackValue, propertyOffsetGet, propertyOffsetGetDefaultValue, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
904
906
|
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
|
@@ -327,7 +327,7 @@ interface PropertyDeclaration {
|
|
|
327
327
|
fallback?: unknown | (() => unknown);
|
|
328
328
|
alias?: string;
|
|
329
329
|
internal?: boolean;
|
|
330
|
-
internalKey: symbol;
|
|
330
|
+
internalKey: symbol | string;
|
|
331
331
|
}
|
|
332
332
|
interface PropertyAccessor {
|
|
333
333
|
getProperty?: (key: string) => any;
|
|
@@ -337,7 +337,9 @@ interface PropertyAccessor {
|
|
|
337
337
|
declare function getDeclarations(constructor: any): Map<string, PropertyDeclaration>;
|
|
338
338
|
declare function propertyOffsetSet(target: any & PropertyAccessor, key: string, newValue: any, declaration: PropertyDeclaration): void;
|
|
339
339
|
declare function propertyOffsetGet(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
340
|
-
declare function
|
|
340
|
+
declare function propertyOffsetGetDefaultValue(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
341
|
+
declare function propertyDefaultValue(target: any & PropertyAccessor, key: string, declaration: PropertyDeclaration): any;
|
|
342
|
+
declare function propertyFallbackValue(declaration: PropertyDeclaration): any;
|
|
341
343
|
declare function getPropertyDescriptor<V, T extends PropertyAccessor>(key: string, declaration: PropertyDeclaration): {
|
|
342
344
|
get: () => any;
|
|
343
345
|
set: (v: any) => void;
|
|
@@ -900,5 +902,5 @@ declare class Reactivable extends Observable implements PropertyAccessor {
|
|
|
900
902
|
clone(): this;
|
|
901
903
|
}
|
|
902
904
|
|
|
903
|
-
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,
|
|
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, propertyDefaultValue, propertyFallbackValue, propertyOffsetGet, propertyOffsetGetDefaultValue, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
|
904
906
|
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)},L=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},vt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},yt=function(t){return{r:z(t.r,0,255),g:z(t.g,0,255),b:z(t.b,0,255),a:z(t.a)}},tt=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},we=/^#([0-9a-f]{3,8})$/i,K=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},bt=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}},St=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}},_t=function(t){return{h:vt(t.h),s:z(t.s,0,100),l:z(t.l,0,100),a:z(t.a)}},Ct=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},wt=function(t){return St((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=bt(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,Pt={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:yt({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=_t({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 wt(i)},"hsl"]],object:[[function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=i===void 0?1:i;return L(e)&&L(r)&&L(n)?yt({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(!L(e)||!L(r)||!L(n))return null;var s=_t({h:Number(e),s:Number(r),l:Number(n),a:Number(a)});return wt(s)},"hsl"],[function(t){var e=t.h,r=t.s,n=t.v,i=t.a,a=i===void 0?1:i;if(!L(e)||!L(r)||!L(n))return null;var s=(function(u){return{h:vt(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 St(s)},"hsv"]]},zt=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"?zt(t.trim(),Pt.string):typeof t=="object"&&t!==null?zt(t,Pt.object):[null,void 0]},et=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}},rt=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},Ot=function(t,e){var r=V(t);return{h:r.h,s:r.s,l:z(r.l+100*e,0,100),a:r.a}},Et=(function(){function t(e){this.parsed=Fe(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return this.parsed!==null},t.prototype.brightness=function(){return v(rt(this.rgba),2)},t.prototype.isDark=function(){return rt(this.rgba)<.5},t.prototype.isLight=function(){return rt(this.rgba)>=.5},t.prototype.toHex=function(){return e=tt(this.rgba),r=e.r,n=e.g,i=e.b,s=(a=e.a)<1?K(v(255*a)):"","#"+K(r)+K(n)+K(i)+s;var e,r,n,i,a,s},t.prototype.toRgb=function(){return tt(this.rgba)},t.prototype.toRgbString=function(){return e=tt(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 Ct(V(this.rgba))},t.prototype.toHslString=function(){return e=Ct(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=bt(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 D({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),D(et(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),D(et(this.rgba,-e))},t.prototype.grayscale=function(){return D(et(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),D(Ot(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),D(Ot(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"?D({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"?D({h:e,s:r.s,l:r.l,a:r.a}):v(r.h)},t.prototype.isEqual=function(e){return this.toHex()===D(e).toHex()},t})(),D=function(t){return t instanceof Et?t:new Et(t)};class De{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==="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 q(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){const r=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!r.length||r.every(n=>t[n]===e[n])}return!1}function Ft(t,e,r){const n=e.length-1;if(n<0)return t===void 0?r:t;for(let i=0;i<n;i++){if(t==null)return r;t=t[e[i]]}return t==null||t[e[n]]===void 0?r:t[e[n]]}function 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 Lt(t,e,r){return t==null||!e||typeof e!="string"?r:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Ft(t,e.split("."),r))}function At(t,e,r){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Dt(t,e.split("."),r)}class Nt{_observers=new Map;on(e,r){let n=this._observers.get(e);return n===void 0&&this._observers.set(e,n=new Set),n.add(r),this}once(e,r){const n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n),this}off(e,r){const n=this._observers.get(e);return n!==void 0&&(n.delete(r),n.size===0&&this._observers.delete(e)),this}emit(e,...r){return Array.from((this._observers.get(e)||new Map).values()).forEach(n=>n(...r)),this}destroy(){this._observers=new Map}}class Le{_map=new WeakMap;_toRaw(e){if(e&&typeof e=="object"){const r=e.__v_raw;r&&(e=this._toRaw(r))}return e}delete(e){return this._map.delete(this._toRaw(e))}get(e){return this._map.get(this._toRaw(e))}has(e){return this._map.has(this._toRaw(e))}set(e,r){return this._map.set(this._toRaw(e),this._toRaw(r)),this}}const nt=Symbol("properties"),Rt=Symbol("inited");function $(t){let e;if(Object.hasOwn(t,nt))e=t[nt];else{const r=Object.getPrototypeOf(t);e=new Map(r?$(r):void 0),t[nt]=e}return e}function it(t,e,r,n){const{alias:i,internalKey:a}=n,s=t[e];i?At(t,i,r):t[a]=r,t.onUpdateProperty?.(e,r,s)}function ot(t,e,r){const{alias:n,internalKey:i}=r;let a;return n?a=Lt(t,n):a=t[i],a=a??at(t,e,r),a}function at(t,e,r){const{default:n,fallback:i}=r;let a;if(n!==void 0&&!t[Rt]){t[Rt]=!0;const s=typeof n=="function"?n():n;s!==void 0&&(t[e]=s,a=s)}return a=a??(typeof i=="function"?i():i),a}function st(t,e){function r(){return typeof this.getProperty<"u"?this.getProperty(t):ot(this,t,e)}function n(i){typeof this.setProperty<"u"?this.setProperty(t,i):it(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=st(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=st(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 Nt{_propertyAccessor;_properties=new Map;_updatedProperties=new Map;_changedProperties=new Set;_updatingPromise=Promise.resolve();_updating=!1;constructor(e){super(),this.setProperties(e)}isDirty(e){return e?this._updatedProperties.has(e):this._updatedProperties.size>0}getProperty(e){const r=this.getPropertyDeclaration(e);if(r){if(r.internal||r.alias)return ot(this,e,r);{let n;return this._propertyAccessor?.getProperty?n=this._propertyAccessor.getProperty(e):n=this._properties.get(e),n??at(this,e,r)}}}setProperty(e,r){const n=this.getPropertyDeclaration(e);if(n)if(n.internal||n.alias)it(this,e,r,n);else{const i=this.getProperty(e);this._propertyAccessor?.setProperty?.(e,r),this._properties.set(e,r),this.onUpdateProperty?.(e,r,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())}}function lt(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,D(e)}function Ge(t){return{r:A(t.r),g:A(t.g),b:A(t.b),a:A(t.a,3)}}function J(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const k="#000000FF";function It(t){return lt(t).isValid()}function S(t,e=!1){const r=lt(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),k}const{r:n,g:i,b:a,a:s}=Ge(r.rgba);return`#${J(n)}${J(i)}${J(a)}${J(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(pt)}})}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()||Q()||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=B();if(l.x||l.y)return{type:"position",value:l}}function B(){return{x:Q(),y:Q()}}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 pt(){const l=qe();return l||r("Expected color definition"),l.length=Q(),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(U)}))}function xe(){return u(t.rgbaColor,()=>({type:"rgba",value:M(U)}))}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=U();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=U();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=U();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 U(){return m(t.number)[1]}function Q(){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 mt(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&&mt(d[0].length),c=l.exec(e),c&&mt(c[0].length),c}function mt(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 Y=Y||{};Y.stringify=(function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var r=t.visit(e.orientation);return r&&(r+=", "),e.type+"("+r+t.visit(e.colorStops)+")"},visit_shape:function(e){var r=e.value,n=t.visit(e.at),i=t.visit(e.style);return i&&(r+=" "+i),n&&(r+=" at "+n),r},"visit_default-radial":function(e){var r="",n=t.visit(e.at);return n&&(r+=n),r},"visit_extent-keyword":function(e){var r=e.value,n=t.visit(e.at);return n&&(r+=" at "+n),r},"visit_position-keyword":function(e){return e.value},visit_position:function(e){return t.visit(e.value.x)+" "+t.visit(e.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_calc:function(e){return"calc("+e.value+")"},visit_literal:function(e){return t.visit_color(e.value,e)},visit_hex:function(e){return t.visit_color("#"+e.value,e)},visit_rgb:function(e){return t.visit_color("rgb("+e.value.join(", ")+")",e)},visit_rgba:function(e){return t.visit_color("rgba("+e.value.join(", ")+")",e)},visit_hsl:function(e){return t.visit_color("hsl("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%)",e)},visit_hsla:function(e){return t.visit_color("hsla("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%, "+e.value[3]+")",e)},visit_var:function(e){return t.visit_color("var("+e.value+")",e)},visit_color:function(e,r){var n=e,i=t.visit(r.length);return i&&(n+=" "+i),n},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var r="",n=e.length;return e.forEach(function(i,a){r+=t.visit(i),a<n-1&&(r+=", ")}),r},visit_object:function(e){return e.width&&e.height?t.visit(e.width)+" "+t.visit(e.height):""},visit:function(e){if(!e)return"";if(e instanceof Array)return t.visit_array(e);if(typeof e=="object"&&!e.type)return t.visit_object(e);if(e.type){var r=t["visit_"+e.type];if(r)return r(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}})();const Ie=Y.stringify.bind(Y);function 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 W(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)&&W(t.image)||!!t.linearGradient||!!t.radialGradient}function Jt(t){return typeof t=="string"?W(t):qt(t)}function Xt(t){return!h(t.image)&&!W(t.image)}function Yt(t){return typeof t=="string"?!W(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 ut(){return{color:k,offsetX:0,offsetY:0,blurRadius:1}}function ct(t){return{...ut(),..._({...t,color:h(t.color)?k:S(t.color)})}}function te(){return{...ut(),scaleX:1,scaleY:1}}function ee(t){return{...te(),...ct(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:ct(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 H(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)?k: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 ft=/\r\n|\n\r|\n|\r/,$e=new RegExp(`${ft.source}|<br\\/>`,"g"),ke=new RegExp(`^(${ft.source})$`),dt=`
|
|
2
|
-
`;function
|
|
1
|
+
(function(o,j){typeof exports=="object"&&typeof module<"u"?j(exports):typeof define=="function"&&define.amd?define(["exports"],j):(o=typeof globalThis<"u"?globalThis:o||self,j(o.modernIdoc={}))})(this,(function(o){"use strict";function j(t){return typeof t=="string"?{src:t}:t}var Pe={grad:.9,turn:360,rad:360/(2*Math.PI)},L=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},vt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},yt=function(t){return{r:z(t.r,0,255),g:z(t.g,0,255),b:z(t.b,0,255),a:z(t.a)}},et=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},ze=/^#([0-9a-f]{3,8})$/i,K=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},bt=function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=Math.max(e,r,n),u=a-Math.min(e,r,n),l=u?a===e?(r-n)/u:a===r?2+(n-e)/u:4+(e-r)/u:0;return{h:60*(l<0?l+6:l),s:a?u/a*100:0,v:a/255*100,a:i}},St=function(t){var e=t.h,r=t.s,n=t.v,i=t.a;e=e/360*6,r/=100,n/=100;var a=Math.floor(e),u=n*(1-r),l=n*(1-(e-a)*r),f=n*(1-(1-e+a)*r),g=a%6;return{r:255*[n,l,u,u,f,n][g],g:255*[f,n,n,l,u,u][g],b:255*[u,u,f,n,n,l][g],a:i}},_t=function(t){return{h:vt(t.h),s:z(t.s,0,100),l:z(t.l,0,100),a:z(t.a)}},Ct=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},wt=function(t){return St((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},M=function(t){return{h:(e=bt(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},Oe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ee=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Fe=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,De=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Pt={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=Fe.exec(t)||De.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:yt({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=Oe.exec(t)||Ee.exec(t);if(!e)return null;var r,n,i=_t({h:(r=e[1],n=e[2],n===void 0&&(n="deg"),Number(r)*(Pe[n]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return wt(i)},"hsl"]],object:[[function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=i===void 0?1:i;return L(e)&&L(r)&&L(n)?yt({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(!L(e)||!L(r)||!L(n))return null;var u=_t({h:Number(e),s:Number(r),l:Number(n),a:Number(a)});return wt(u)},"hsl"],[function(t){var e=t.h,r=t.s,n=t.v,i=t.a,a=i===void 0?1:i;if(!L(e)||!L(r)||!L(n))return null;var u=(function(l){return{h:vt(l.h),s:z(l.s,0,100),v:z(l.v,0,100),a:z(l.a)}})({h:Number(e),s:Number(r),v:Number(n),a:Number(a)});return St(u)},"hsv"]]},zt=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]},Le=function(t){return typeof t=="string"?zt(t.trim(),Pt.string):typeof t=="object"&&t!==null?zt(t,Pt.object):[null,void 0]},rt=function(t,e){var r=M(t);return{h:r.h,s:z(r.s+100*e,0,100),l:r.l,a:r.a}},nt=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},Ot=function(t,e){var r=M(t);return{h:r.h,s:r.s,l:z(r.l+100*e,0,100),a:r.a}},Et=(function(){function t(e){this.parsed=Le(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(nt(this.rgba),2)},t.prototype.isDark=function(){return nt(this.rgba)<.5},t.prototype.isLight=function(){return nt(this.rgba)>=.5},t.prototype.toHex=function(){return e=et(this.rgba),r=e.r,n=e.g,i=e.b,u=(a=e.a)<1?K(v(255*a)):"","#"+K(r)+K(n)+K(i)+u;var e,r,n,i,a,u},t.prototype.toRgb=function(){return et(this.rgba)},t.prototype.toRgbString=function(){return e=et(this.rgba),r=e.r,n=e.g,i=e.b,(a=e.a)<1?"rgba("+r+", "+n+", "+i+", "+a+")":"rgb("+r+", "+n+", "+i+")";var e,r,n,i,a},t.prototype.toHsl=function(){return Ct(M(this.rgba))},t.prototype.toHslString=function(){return e=Ct(M(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=bt(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 D({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),D(rt(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),D(rt(this.rgba,-e))},t.prototype.grayscale=function(){return D(rt(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),D(Ot(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),D(Ot(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"?D({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=M(this.rgba);return typeof e=="number"?D({h:e,s:r.s,l:r.l,a:r.a}):v(r.h)},t.prototype.isEqual=function(e){return this.toHex()===D(e).toHex()},t})(),D=function(t){return t instanceof Et?t:new Et(t)};class Ae{eventListeners=new Map;addEventListener(e,r,n){const i={value:r,options:n},a=this.eventListeners.get(e);return a?Array.isArray(a)?a.push(i):this.eventListeners.set(e,[a,i]):this.eventListeners.set(e,i),this}removeEventListener(e,r,n){if(!r)return this.eventListeners.delete(e),this;const i=this.eventListeners.get(e);if(!i)return this;if(Array.isArray(i)){const a=[];for(let u=0,l=i.length;u<l;u++){const f=i[u];(f.value!==r||typeof n=="object"&&n?.once&&(typeof f.options=="boolean"||!f.options?.once))&&a.push(f)}a.length?this.eventListeners.set(e,a.length===1?a[0]:a):this.eventListeners.delete(e)}else i.value===r&&(typeof n=="boolean"||!n?.once||typeof i.options=="boolean"||i.options?.once)&&this.eventListeners.delete(e);return this}removeAllListeners(){return this.eventListeners.clear(),this}hasEventListener(e){return this.eventListeners.has(e)}dispatchEvent(e,...r){const n=this.eventListeners.get(e);if(n){if(Array.isArray(n))for(let i=n.length,a=0;a<i;a++){const u=n[a];typeof u.options=="object"&&u.options?.once&&this.off(e,u.value,u.options),u.value.apply(this,r)}else typeof n.options=="object"&&n.options?.once&&this.off(e,n.value,n.options),n.value.apply(this,r);return!0}else return!1}on(e,r,n){return this.addEventListener(e,r,n)}once(e,r){return this.addEventListener(e,r,{once:!0})}off(e,r,n){return this.removeEventListener(e,r,n)}emit(e,...r){this.dispatchEvent(e,...r)}}function h(t){return t==null||t==="none"}function 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 q(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){const r=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!r.length||r.every(n=>t[n]===e[n])}return!1}function Ft(t,e,r){const n=e.length-1;if(n<0)return t===void 0?r:t;for(let i=0;i<n;i++){if(t==null)return r;t=t[e[i]]}return t==null||t[e[n]]===void 0?r:t[e[n]]}function 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 Lt(t,e,r){return t==null||!e||typeof e!="string"?r:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Ft(t,e.split("."),r))}function At(t,e,r){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Dt(t,e.split("."),r)}class Nt{_observers=new Map;on(e,r){let n=this._observers.get(e);return n===void 0&&this._observers.set(e,n=new Set),n.add(r),this}once(e,r){const n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n),this}off(e,r){const n=this._observers.get(e);return n!==void 0&&(n.delete(r),n.size===0&&this._observers.delete(e)),this}emit(e,...r){return Array.from((this._observers.get(e)||new Map).values()).forEach(n=>n(...r)),this}destroy(){this._observers=new Map}}class Ne{_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 it=Symbol("properties"),Rt=Symbol("inited");function k(t){let e;if(Object.hasOwn(t,it))e=t[it];else{const r=Object.getPrototypeOf(t);e=new Map(r?k(r):void 0),t[it]=e}return e}function ot(t,e,r,n){const{alias:i,internalKey:a}=n,u=t[e];i?At(t,i,r):t[a]=r,t.onUpdateProperty?.(e,r??J(t,e,n),u)}function at(t,e,r){const{alias:n,internalKey:i}=r;let a;return n?a=Lt(t,n):a=t[i],a=a??J(t,e,r),a}function J(t,e,r){return Gt(t,e,r)??It(r)}function Gt(t,e,r){const{default:n}=r;let i;if(n!==void 0&&!t[Rt]){t[Rt]=!0;const a=typeof n=="function"?n():n;a!==void 0&&(t[e]=a,i=a)}return i}function It(t){const{fallback:e}=t;return typeof e=="function"?e():e}function st(t,e){function r(){return typeof this.getProperty<"u"?this.getProperty(t):at(this,t,e)}function n(i){typeof this.setProperty<"u"?this.setProperty(t,i):ot(this,t,i,e)}return{get:r,set:n}}function jt(t,e,r={}){const n={...r,internalKey:Symbol(e)};k(t).set(e,n);const i=st(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 Re(t){return function(e,r){if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");jt(e.constructor,r,t)}}function Ge(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=st(n,i);return{init(u){return k(this.constructor).set(n,i),a.set.call(this,u),u},get(){return a.get.call(this)},set(u){a.set.call(this,u)}}}}class Ie extends Nt{_propertyAccessor;_properties=new Map;_updatedProperties=new Map;_changedProperties=new Set;_updatingPromise=Promise.resolve();_updating=!1;constructor(e){super(),this.setProperties(e)}isDirty(e){return e?this._updatedProperties.has(e):this._updatedProperties.size>0}getProperty(e){const r=this.getPropertyDeclaration(e);if(r){if(r.internal||r.alias)return at(this,e,r);{let n;return this._propertyAccessor?.getProperty?n=this._propertyAccessor.getProperty(e):n=this._properties.get(e),n??J(this,e,r)}}}setProperty(e,r){const n=this.getPropertyDeclaration(e);if(n)if(n.internal||n.alias)ot(this,e,r,n);else{const i=this.getProperty(e);this._propertyAccessor?.setProperty?.(e,r),this._properties.set(e,r),this.onUpdateProperty?.(e,r,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 u=this.getProperty(a),l=n[a];u!==void 0&&!Object.is(u,l)&&(this.setProperty(a,u),!i.internal&&!i.alias&&this.requestUpdate(a,u,l))}),this}async _nextTick(){return"requestAnimationFrame"in globalThis?new Promise(e=>globalThis.requestAnimationFrame(e)):Promise.resolve()}async _enqueueUpdate(){this._updating=!0;try{await this._updatingPromise}catch(e){Promise.reject(e)}await this._nextTick(),this._updating&&(this.onUpdate(),this._updating=!1)}onUpdate(){this._update(this._updatedProperties),this._updatedProperties=new Map}onUpdateProperty(e,r,n){Object.is(r,n)||this.requestUpdate(e,r,n)}requestUpdate(e,r,n){e!==void 0&&(this._updatedProperties.set(e,n),this._changedProperties.add(e),this._updateProperty(e,r,n),this.emit("updateProperty",e,r,n)),this._updating||(this._updatingPromise=this._enqueueUpdate())}_update(e){}_updateProperty(e,r,n){}toJSON(){const e={};return this._properties.forEach((r,n)=>{r!==void 0&&(r&&typeof r=="object"?"toJSON"in r&&typeof r.toJSON=="function"?e[n]=r.toJSON():Array.isArray(r)?e[n]=[...r]:e[n]={...r}:e[n]=r)}),e}clone(){return new this.constructor(this.toJSON())}}function 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,D(e)}function je(t){return{r:A(t.r),g:A(t.g),b:A(t.b),a:A(t.a,3)}}function X(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const $="#000000FF";function Vt(t){return ut(t).isValid()}function S(t,e=!1){const r=ut(t);if(!r.isValid()){if(typeof t=="string")return t;const l=`Failed to normalizeColor ${t}`;if(e)throw new Error(l);return console.warn(l),$}const{r:n,g:i,b:a,a:u}=je(r.rgba);return`#${X(n)}${X(i)}${X(a)}${X(A(u*255))}`}var Y=Y||{};Y.parse=(function(){const t={linearGradient:/^(-(webkit|o|ms|moz)-)?(linear-gradient)/i,repeatingLinearGradient:/^(-(webkit|o|ms|moz)-)?(repeating-linear-gradient)/i,radialGradient:/^(-(webkit|o|ms|moz)-)?(radial-gradient)/i,repeatingRadialGradient:/^(-(webkit|o|ms|moz)-)?(repeating-radial-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?((\d*\.\d+)|(\d+\.?)))px/,percentageValue:/^(-?((\d*\.\d+)|(\d+\.?)))%/,emValue:/^(-?((\d*\.\d+)|(\d+\.?)))em/,angleValue:/^(-?((\d*\.\d+)|(\d+\.?)))deg/,radianValue:/^(-?((\d*\.\d+)|(\d+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^#([0-9a-f]+)/i,literalColor:/^([a-z]+)/i,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-z0-9-,\s#]+)/i,number:/^((\d*\.\d+)|(\d+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i};let e="";function r(s){const c=new Error(`${e}: ${s}`);throw c.source=e,c}function n(){const s=i();return e.length>0&&r("Invalid input not EOF"),s}function i(){return T(a)}function a(){return u("linear-gradient",t.linearGradient,f)||u("repeating-linear-gradient",t.repeatingLinearGradient,f)||u("radial-gradient",t.radialGradient,p)||u("repeating-radial-gradient",t.repeatingRadialGradient,p)}function u(s,c,d){return l(c,b=>{const I=d();return I&&(m(t.comma)||r("Missing comma before color stops")),{type:s,orientation:I,colorStops:T(pt)}})}function l(s,c){const d=m(s);if(d){m(t.startCall)||r("Missing (");const b=c(d);return m(t.endCall)||r("Missing )"),b}}function f(){const s=g();if(s)return s;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 s,c=C(),d;return c&&(s=[],s.push(c),d=e,m(t.comma)&&(c=C(),c?s.push(c):e=d)),s}function C(){let s=w()||R();if(s)s.at=F();else{const c=O();if(c){s=c;const d=F();d&&(s.at=d)}else{const d=F();if(d)s={type:"default-radial",at:d};else{const b=G();b&&(s={type:"default-radial",at:b})}}}return s}function w(){const s=P("shape",/^(circle)/i,0);return s&&(s.style=we()||O()),s}function R(){const s=P("shape",/^(ellipse)/i,0);return s&&(s.style=G()||tt()||O()),s}function O(){return P("extent-keyword",t.extentKeywords,1)}function F(){if(P("position",/^at/,0)){const s=G();return s||r("Missing positioning value"),s}}function G(){const s=B();if(s.x||s.y)return{type:"position",value:s}}function B(){return{x:tt(),y:tt()}}function T(s){let c=s();const d=[];if(c)for(d.push(c);m(t.comma);)c=s(),c?d.push(c):r("One extra comma");return d}function pt(){const s=Xe();return s||r("Expected color definition"),s.length=tt(),s}function Xe(){return xe()||rr()||er()||Qe()||Ze()||tr()||Ye()}function Ye(){return P("literal",t.literalColor,0)}function xe(){return P("hex",t.hexColor,1)}function Ze(){return l(t.rgbColor,()=>({type:"rgb",value:T(U)}))}function Qe(){return l(t.rgbaColor,()=>({type:"rgba",value:T(U)}))}function tr(){return l(t.varColor,()=>({type:"var",value:nr()}))}function er(){return l(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=U();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 rr(){return l(t.hslaColor,()=>{const s=U();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=U();return(!d||!b)&&r("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[s,d,b,I]}})}function nr(){return m(t.variableName)[1]}function U(){return m(t.number)[1]}function tt(){return P("%",t.percentageValue,1)||ir()||or()||we()}function ir(){return P("position-keyword",t.positionKeywords,1)}function or(){return l(t.calcValue,()=>{let s=1,c=0;for(;s>0&&c<e.length;){const b=e.charAt(c);b==="("?s++:b===")"&&s--,c++}s>0&&r("Missing closing parenthesis in calc() expression");const d=e.substring(0,c-1);return mt(c-1),{type:"calc",value:d}})}function we(){return P("px",t.pixelValue,1)||P("em",t.emValue,1)}function P(s,c,d){const b=m(c);if(b)return{type:s,value:b[d]}}function m(s){let c,d;return d=/^\s+/.exec(e),d&&mt(d[0].length),c=s.exec(e),c&&mt(c[0].length),c}function mt(s){e=e.substr(s)}return function(s){return e=s.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),n()}})();const Tt=Y.parse.bind(Y);var x=x||{};x.stringify=(function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var 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=x.stringify.bind(x);function Mt(t){const e=t.length-1;return t.map((r,n)=>{const i=r.value;let a=A(n/e,3),u="#00000000";switch(r.type){case"rgb":u=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":u=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":u=S(r.value);break;case"hex":u=S(`#${r.value}`);break}switch(r.length?.type){case"%":a=Number(r.length.value)/100;break}return{offset:a,color:u}})}function kt(t){let e=0;switch(t.orientation?.type){case"angular":e=Number(t.orientation.value);break}return{type:"linear-gradient",angle:e,stops:Mt(t.colorStops)}}function $t(t){return t.orientation?.map(e=>{switch(e?.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:Mt(t.colorStops)}}function W(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function Wt(t){return Tt(t).map(e=>{switch(e?.type){case"linear-gradient":return kt(e);case"repeating-linear-gradient":return{...kt(e),repeat:!0};case"radial-gradient":return $t(e);case"repeating-radial-gradient":return{...$t(e),repeat:!0};default:return}}).filter(Boolean)}function Ht(t){let e;return typeof t=="string"?e={color:t}:e={...t},{color:S(e.color)}}function Bt(t){let e;if(typeof t=="string"?e={image:t}:e={...t},e.image){const{type:r,...n}=Wt(e.image)[0]??{};switch(r){case"radial-gradient":return{radialGradient:n};case"linear-gradient":return{linearGradient:n}}}return N(e,["linearGradient","radialGradient","rotateWithShape"])}function Ut(t){let e;return typeof t=="string"?e={image:t}:e={...t},N(e,["image","cropRect","stretchRect","tile","dpi","opacity","rotateWithShape"])}function Kt(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 qt(t){return!h(t.color)}function Jt(t){return typeof t=="string"?Vt(t):qt(t)}function Xt(t){return!h(t.image)&&W(t.image)||!!t.linearGradient||!!t.radialGradient}function Yt(t){return typeof t=="string"?W(t):Xt(t)}function xt(t){return!h(t.image)&&!W(t.image)}function Zt(t){return typeof t=="string"?!W(t):xt(t)}function Qt(t){return!h(t.preset)}function te(t){return typeof t=="string"?!1:Qt(t)}function E(t){const e=t&&typeof t=="object"?t.enabled:void 0;return Jt(t)?_({enabled:e,...Ht(t)}):Yt(t)?_({enabled:e,...Bt(t)}):Zt(t)?_({enabled:e,...Ut(t)}):te(t)?_({enabled:e,...Kt(t)}):{}}function ee(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}function lt(){return{color:$,offsetX:0,offsetY:0,blurRadius:1}}function ct(t){return{...lt(),..._({...t,color:h(t.color)?$:S(t.color)})}}function re(){return{...lt(),scaleX:1,scaleY:1}}function ne(t){return{...re(),...ct(t)}}function Te(t){return t}function ie(t){return _({...t,softEdge:h(t.softEdge)?void 0:t.softEdge,outerShadow:h(t.outerShadow)?void 0:ne(t.outerShadow),innerShadow:h(t.innerShadow)?void 0:ct(t.innerShadow)})}function oe(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}const Me="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let ke=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Me[r[t]&63];return e};const ae=()=>ke(10),se=ae;function H(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["width","style","lineCap","lineJoin","headEnd","tailEnd"])}}function ue(t){return typeof t=="string"?{color:S(t)}:{...t,color:h(t.color)?$:S(t.color)}}function le(){return{boxShadow:"none"}}function ce(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 fe(){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 de(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function he(){return{...fe(),...de(),...le(),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 ge(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function pe(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function me(){return{...ge(),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 ve(){return{...pe(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function ye(){return{...ve(),...me(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function V(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 $e(){return{...he(),...ye()}}const ft=/\r\n|\n\r|\n|\r/,We=new RegExp(`${ft.source}|<br\\/>`,"g"),He=new RegExp(`^(${ft.source})$`),dt=`
|
|
2
|
+
`;function Be(t){return ft.test(t)}function ht(t){return He.test(t)}function be(t){return t.replace(We,dt)}function Z(t){const e=[];function r(){return e[e.length-1]}function n(l,f,g){const y=l?V(l):{},p=f?E(f):void 0,C=g?H(g):void 0,w=_({...y,fill:p,outline:C,fragments:[]});return e[e.length-1]?.fragments.length===0?e[e.length-1]=w:e.push(w),w}function i(l="",f,g,y){const p=f?V(f):{},C=g?E(g):void 0,w=y?H(y):void 0;Array.from(l).forEach(R=>{if(ht(R)){const{fragments:O,fill:F,outline:G,...B}=r()||n();O.length||O.push(_({...p,fill:C,outline:w,content:dt})),n(B,F,G)}else{const O=r()||n(),F=O.fragments[O.fragments.length-1];if(F){const{content:G,fill:B,outline:T,...pt}=F;if(q(C,B)&&q(w,T)&&q(p,pt)){F.content=`${G}${R}`;return}}O.fragments.push(_({...p,fill:C,outline:w,content:R}))}})}(Array.isArray(t)?t:[t]).forEach(l=>{if(typeof l=="string")n(),i(l);else if(gt(l)){const{content:f,fill:g,outline:y,...p}=l;n(p,g,y),i(f)}else if(Se(l)){const{fragments:f,fill:g,outline:y,...p}=l;n(p,g,y),f.forEach(C=>{const{content:w,fill:R,outline:O,...F}=C;i(w,F,R,O)})}else Array.isArray(l)?(n(),l.forEach(f=>{if(typeof f=="string")i(f);else if(gt(f)){const{content:g,fill:y,outline:p,...C}=f;i(g,C,y,p)}})):console.warn("Failed to parse text content",l)});const u=r();return u&&!u.fragments.length&&u.fragments.push({content:""}),e}function Se(t){return t&&typeof t=="object"&&"fragments"in t&&Array.isArray(t.fragments)}function gt(t){return t&&typeof t=="object"&&"content"in t&&typeof t.content=="string"}function _e(t){return typeof t=="string"||Array.isArray(t)?{content:Z(t)}:_({...t,content:Z(t.content??""),style:t.style?V(t.style):void 0,effects:t.effects?t.effects.map(e=>V(e)):void 0,measureDom:t.measureDom,fonts:t.fonts,fill:t.fill?E(t.fill):void 0,outline:t.outline?H(t.outline):void 0})}function Ue(t){return Z(t).map(e=>{const r=be(e.fragments.flatMap(n=>n.content).join(""));return ht(r)?"":r}).join(dt)}function Ce(t){return typeof t=="string"?{src:t}:t}function Q(t){return _({...t,id:t.id??se(),style:h(t.style)?void 0:V(t.style),text:h(t.text)?void 0:_e(t.text),background:h(t.background)?void 0:ee(t.background),shape:h(t.shape)?void 0:ce(t.shape),fill:h(t.fill)?void 0:E(t.fill),outline:h(t.outline)?void 0:H(t.outline),foreground:h(t.foreground)?void 0:oe(t.foreground),shadow:h(t.shadow)?void 0:ue(t.shadow),video:h(t.video)?void 0:Ce(t.video),audio:h(t.audio)?void 0:j(t.audio),effect:h(t.effect)?void 0:ie(t.effect),children:t.children?.map(e=>Q(e))})}function Ke(t){return Q(t)}function qe(t){const e={};for(const r in t.children){const n=Q(t.children[r]);delete n.children,e[r]=n}return{...t,children:e}}function Je(t){const{children:e,...r}=t;function n(f){const{parentId:g,childrenIds:y,...p}=f;return{...p,children:[]}}const i={},a=[],u={...r,children:a};function l(f){if(!e[f]||i[f])return;const g=e[f],y=n(g);i[f]=y;const p=g.parentId;if(p){l(p);const C=e[p],w=i[p];if(!w)return;C?.childrenIds&&w?.children&&(w.children[C.childrenIds.indexOf(f)]=y)}else a.push(y)}for(const f in e)l(f);return u}o.EventEmitter=Ae,o.Observable=Nt,o.RawWeakMap=Ne,o.Reactivable=Ie,o.clearUndef=_,o.defaultColor=$,o.defineProperty=jt,o.flatDocumentToDocument=Je,o.getDeclarations=k,o.getDefaultElementStyle=he,o.getDefaultHighlightStyle=ge,o.getDefaultInnerShadow=lt,o.getDefaultLayoutStyle=fe,o.getDefaultListStyleStyle=pe,o.getDefaultOuterShadow=re,o.getDefaultShadowStyle=le,o.getDefaultStyle=$e,o.getDefaultTextInlineStyle=me,o.getDefaultTextLineStyle=ve,o.getDefaultTextStyle=ye,o.getDefaultTransformStyle=de,o.getNestedValue=Ft,o.getObjectValueByPath=Lt,o.getPropertyDescriptor=st,o.hasCRLF=Be,o.idGenerator=se,o.isCRLF=ht,o.isColor=Vt,o.isColorFill=Jt,o.isColorFillObject=qt,o.isEqualObject=q,o.isFragmentObject=gt,o.isGradient=W,o.isGradientFill=Yt,o.isGradientFillObject=Xt,o.isImageFill=Zt,o.isImageFillObject=xt,o.isNone=h,o.isParagraphObject=Se,o.isPresetFill=te,o.isPresetFillObject=Qt,o.nanoid=ae,o.normalizeAudio=j,o.normalizeBackground=ee,o.normalizeCRLF=be,o.normalizeColor=S,o.normalizeColorFill=Ht,o.normalizeDocument=Ke,o.normalizeEffect=ie,o.normalizeElement=Q,o.normalizeFill=E,o.normalizeFlatDocument=qe,o.normalizeForeground=oe,o.normalizeGradient=Wt,o.normalizeGradientFill=Bt,o.normalizeImageFill=Ut,o.normalizeInnerShadow=ct,o.normalizeOuterShadow=ne,o.normalizeOutline=H,o.normalizePresetFill=Kt,o.normalizeShadow=ue,o.normalizeShape=ce,o.normalizeSoftEdge=Te,o.normalizeStyle=V,o.normalizeText=_e,o.normalizeTextContent=Z,o.normalizeVideo=Ce,o.parseColor=ut,o.parseGradient=Tt,o.pick=N,o.property=Re,o.property2=Ge,o.propertyDefaultValue=Gt,o.propertyFallbackValue=It,o.propertyOffsetGet=at,o.propertyOffsetGetDefaultValue=J,o.propertyOffsetSet=ot,o.round=A,o.setNestedValue=Dt,o.setObjectValueByPath=At,o.stringifyGradient=Ve,o.textContentToString=Ue,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/index.mjs
CHANGED
|
@@ -273,7 +273,11 @@ function propertyOffsetSet(target, key, newValue, declaration) {
|
|
|
273
273
|
} else {
|
|
274
274
|
target[internalKey] = newValue;
|
|
275
275
|
}
|
|
276
|
-
target.onUpdateProperty?.(
|
|
276
|
+
target.onUpdateProperty?.(
|
|
277
|
+
key,
|
|
278
|
+
newValue ?? propertyOffsetGetDefaultValue(target, key, declaration),
|
|
279
|
+
oldValue
|
|
280
|
+
);
|
|
277
281
|
}
|
|
278
282
|
function propertyOffsetGet(target, key, declaration) {
|
|
279
283
|
const {
|
|
@@ -286,14 +290,14 @@ function propertyOffsetGet(target, key, declaration) {
|
|
|
286
290
|
} else {
|
|
287
291
|
result = target[internalKey];
|
|
288
292
|
}
|
|
289
|
-
result = result ??
|
|
293
|
+
result = result ?? propertyOffsetGetDefaultValue(target, key, declaration);
|
|
290
294
|
return result;
|
|
291
295
|
}
|
|
292
|
-
function
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
} = declaration;
|
|
296
|
+
function propertyOffsetGetDefaultValue(target, key, declaration) {
|
|
297
|
+
return propertyDefaultValue(target, key, declaration) ?? propertyFallbackValue(declaration);
|
|
298
|
+
}
|
|
299
|
+
function propertyDefaultValue(target, key, declaration) {
|
|
300
|
+
const { default: _default } = declaration;
|
|
297
301
|
let result;
|
|
298
302
|
if (_default !== void 0 && !target[initedSymbol]) {
|
|
299
303
|
target[initedSymbol] = true;
|
|
@@ -303,9 +307,12 @@ function propertyOffsetDefaultValue(target, key, declaration) {
|
|
|
303
307
|
result = defaultValue;
|
|
304
308
|
}
|
|
305
309
|
}
|
|
306
|
-
result = result ?? (typeof fallback === "function" ? fallback() : fallback);
|
|
307
310
|
return result;
|
|
308
311
|
}
|
|
312
|
+
function propertyFallbackValue(declaration) {
|
|
313
|
+
const { fallback } = declaration;
|
|
314
|
+
return typeof fallback === "function" ? fallback() : fallback;
|
|
315
|
+
}
|
|
309
316
|
function getPropertyDescriptor(key, declaration) {
|
|
310
317
|
function get() {
|
|
311
318
|
if (typeof this.getProperty !== "undefined") {
|
|
@@ -405,7 +412,7 @@ class Reactivable extends Observable {
|
|
|
405
412
|
} else {
|
|
406
413
|
result = this._properties.get(key);
|
|
407
414
|
}
|
|
408
|
-
return result ??
|
|
415
|
+
return result ?? propertyOffsetGetDefaultValue(this, key, declaration);
|
|
409
416
|
}
|
|
410
417
|
}
|
|
411
418
|
return void 0;
|
|
@@ -1859,4 +1866,4 @@ function flatDocumentToDocument(flatDoc) {
|
|
|
1859
1866
|
return doc;
|
|
1860
1867
|
}
|
|
1861
1868
|
|
|
1862
|
-
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,
|
|
1869
|
+
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, propertyDefaultValue, propertyFallbackValue, propertyOffsetGet, propertyOffsetGetDefaultValue, propertyOffsetSet, round, setNestedValue, setObjectValueByPath, stringifyGradient, textContentToString };
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "modern-idoc",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.10.
|
|
5
|
-
"packageManager": "pnpm@
|
|
4
|
+
"version": "0.10.2",
|
|
5
|
+
"packageManager": "pnpm@10.18.1",
|
|
6
6
|
"description": "Intermediate document for modern codec libs",
|
|
7
7
|
"author": "wxm",
|
|
8
8
|
"license": "MIT",
|
|
@@ -56,20 +56,20 @@
|
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"colord": "^2.9.3",
|
|
59
|
-
"nanoid": "^5.1.
|
|
59
|
+
"nanoid": "^5.1.6"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@antfu/eslint-config": "^
|
|
63
|
-
"@types/node": "^24.
|
|
64
|
-
"bumpp": "^10.
|
|
62
|
+
"@antfu/eslint-config": "^6.0.0",
|
|
63
|
+
"@types/node": "^24.9.1",
|
|
64
|
+
"bumpp": "^10.3.1",
|
|
65
65
|
"conventional-changelog-cli": "^5.0.0",
|
|
66
|
-
"eslint": "^9.
|
|
67
|
-
"lint-staged": "^16.
|
|
66
|
+
"eslint": "^9.38.0",
|
|
67
|
+
"lint-staged": "^16.2.6",
|
|
68
68
|
"simple-git-hooks": "^2.13.1",
|
|
69
|
-
"typescript": "^5.9.
|
|
69
|
+
"typescript": "^5.9.3",
|
|
70
70
|
"unbuild": "^3.6.1",
|
|
71
|
-
"vite": "^7.1.
|
|
72
|
-
"vitest": "^
|
|
71
|
+
"vite": "^7.1.12",
|
|
72
|
+
"vitest": "^4.0.2"
|
|
73
73
|
},
|
|
74
74
|
"simple-git-hooks": {
|
|
75
75
|
"pre-commit": "pnpm lint-staged"
|