modern-idoc 0.2.13 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,21 +1,42 @@
1
1
  type None = 'none';
2
2
 
3
- type AudioSource = string;
4
- interface AudioDeclaration {
5
- src: AudioSource;
3
+ interface GradientFillDeclaration {
4
+ type: 'gradient';
5
+ opacity?: number;
6
+ }
7
+
8
+ interface SolidFillDeclaration {
9
+ type: 'solid';
10
+ color: string;
11
+ opacity?: number;
6
12
  }
7
- type AudioProp = None | AudioSource | AudioDeclaration;
8
13
 
9
- interface ImageFillStretchRect {
14
+ /**
15
+ * 0 -0.5 0
16
+ * -0.5 -0.5
17
+ * 0 -0.5 0
18
+ */
19
+ interface TextureFillSourceRect {
10
20
  left?: number;
11
21
  top?: number;
12
22
  bottom?: number;
13
23
  right?: number;
14
24
  }
15
- interface ImageFillStretch {
16
- rect?: ImageFillStretchRect;
25
+ /**
26
+ * 0 0.5 0
27
+ * 0.5 0.5
28
+ * 0 0.5 0
29
+ */
30
+ interface TextureFillStretchRect {
31
+ left?: number;
32
+ top?: number;
33
+ bottom?: number;
34
+ right?: number;
35
+ }
36
+ interface TextureFillStretch {
37
+ rect?: TextureFillStretchRect;
17
38
  }
18
- interface ImageFillTile {
39
+ interface TextureFillTile {
19
40
  alignment?: string;
20
41
  scaleX?: number;
21
42
  scaleY?: number;
@@ -23,30 +44,38 @@ interface ImageFillTile {
23
44
  translateY?: number;
24
45
  flip?: string;
25
46
  }
26
- interface CommonFillDeclaration {
27
- opacity?: number;
28
- }
29
- type ImageFillSource = string;
30
- interface ImageFillDeclaration extends CommonFillDeclaration {
31
- type: 'image';
32
- image: ImageFillSource;
47
+ type TextureFillSourceURL = string;
48
+ interface TextureFillDeclaration {
49
+ type: 'texture';
50
+ src: TextureFillSourceURL;
51
+ srcRect?: TextureFillSourceRect;
33
52
  dpi?: number;
34
53
  rotateWithShape?: boolean;
35
- stretch?: ImageFillStretch;
36
- tile?: ImageFillTile;
54
+ stretch?: TextureFillStretch;
55
+ tile?: TextureFillTile;
56
+ opacity?: number;
37
57
  }
38
- interface ColorFillDeclaration extends CommonFillDeclaration {
39
- type: 'color';
40
- color: string;
58
+
59
+ type SingleFillDeclaration = TextureFillDeclaration | SolidFillDeclaration | GradientFillDeclaration;
60
+ type FillDeclaration = SingleFillDeclaration[];
61
+ type FillProperty = None | string | SingleFillDeclaration | FillDeclaration;
62
+ declare function normalizeFill(fill?: FillProperty): FillDeclaration | undefined;
63
+
64
+ type TextureBackgroundSourceURL = TextureFillSourceURL;
65
+ type TextureBackgroundDeclaration = TextureFillDeclaration;
66
+ interface AudioBackgroundDeclaration {
67
+ type: 'audio';
68
+ src: string;
41
69
  }
42
- type FillDeclaration = ImageFillDeclaration | ColorFillDeclaration;
43
- type FillProp = None | string | FillDeclaration;
70
+ type SingleBackgroundDeclaration = AudioBackgroundDeclaration | TextureBackgroundDeclaration;
71
+ type BackgroundDeclaration = SingleBackgroundDeclaration[];
72
+ type BackgroundProperty = None | TextureBackgroundSourceURL | SingleBackgroundDeclaration | BackgroundDeclaration;
44
73
 
45
74
  type SVGPathData = string;
46
75
  type FillRule = 'nonzero' | 'evenodd';
47
76
  type StrokeLinecap = 'butt' | 'round' | 'square';
48
77
  type StrokeLinejoin = 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round';
49
- interface Path2DStyle {
78
+ interface GeometryPathStyle {
50
79
  [key: string]: any;
51
80
  opacity: number;
52
81
  visibility: string;
@@ -66,41 +95,28 @@ interface Path2DStyle {
66
95
  strokeDasharray: number[];
67
96
  strokeDashoffset: number;
68
97
  }
69
- interface Path2DDeclaration extends Partial<Path2DStyle> {
98
+ interface GeometryPathDeclaration extends Partial<GeometryPathStyle> {
70
99
  data: SVGPathData;
71
100
  }
72
101
  interface GeometryDeclaration {
73
102
  name?: string;
74
103
  svg?: string;
75
104
  viewBox?: number[];
76
- data?: Path2DDeclaration[];
105
+ paths?: GeometryPathDeclaration[];
77
106
  }
78
- type GeometryProp = None | SVGPathData | SVGPathData[] | Path2DDeclaration[] | GeometryDeclaration;
107
+ type GeometryProperty = None | SVGPathData | SVGPathData[] | GeometryPathDeclaration[] | GeometryDeclaration;
108
+ declare function normalizeGeometry(geometry?: GeometryProperty): GeometryDeclaration | undefined;
79
109
 
80
- interface MetaProp {
110
+ interface MetaProperty {
81
111
  [key: string]: any;
82
112
  }
83
113
 
84
114
  interface IDOCNode {
85
115
  name?: string;
86
116
  children?: IDOCNode[];
87
- meta?: MetaProp;
117
+ meta?: MetaProperty;
88
118
  }
89
119
 
90
- type ImageSource = string;
91
- interface ImageSourceRect {
92
- left?: number;
93
- top?: number;
94
- bottom?: number;
95
- right?: number;
96
- }
97
- interface ImageDeclaration {
98
- src: ImageSource;
99
- srcRect?: ImageSourceRect;
100
- opacity?: number;
101
- }
102
- type ImageProp = None | ImageSource | ImageDeclaration;
103
-
104
120
  interface OutlineDeclaration {
105
121
  width?: number;
106
122
  style?: 'dashed' | 'solid' | string;
@@ -108,7 +124,8 @@ interface OutlineDeclaration {
108
124
  color?: string;
109
125
  opacity?: number;
110
126
  }
111
- type OutlineProp = None | string | Partial<OutlineDeclaration>;
127
+ type OutlineProperty = None | string | Partial<OutlineDeclaration>;
128
+ declare function normalizeOutline(outline?: OutlineProperty): OutlineDeclaration | undefined;
112
129
 
113
130
  type BoxShadow = None | string;
114
131
  interface ShadowDeclaration {
@@ -117,7 +134,7 @@ interface ShadowDeclaration {
117
134
  offsetY?: number;
118
135
  blur?: number;
119
136
  }
120
- type ShadowProp = None | BoxShadow | ShadowDeclaration;
137
+ type ShadowProperty = None | BoxShadow | ShadowDeclaration;
121
138
  interface ShadowStyleDeclaration {
122
139
  boxShadow: BoxShadow;
123
140
  shadowColor?: string;
@@ -125,6 +142,8 @@ interface ShadowStyleDeclaration {
125
142
  shadowOffsetY?: number;
126
143
  shadowBlur?: number;
127
144
  }
145
+ declare function getDefaultShadowStyle(): ShadowStyleDeclaration;
146
+ declare function normalizeShadow(shadow?: ShadowProperty): ShadowDeclaration | undefined;
128
147
 
129
148
  type StyleUnit = `${number}%` | number;
130
149
  type Display = 'flex' | 'contents';
@@ -205,6 +224,7 @@ interface LayoutStyleDeclaration {
205
224
  paddingBottom?: StyleUnit;
206
225
  padding?: StyleUnit;
207
226
  }
227
+ declare function getDefaultLayoutStyle(): LayoutStyleDeclaration;
208
228
 
209
229
  interface TransformStyleDeclaration {
210
230
  rotate: number;
@@ -217,6 +237,7 @@ interface TransformStyleDeclaration {
217
237
  transform: None | string;
218
238
  transformOrigin: string;
219
239
  }
240
+ declare function getDefaultTransformStyle(): TransformStyleDeclaration;
220
241
 
221
242
  interface ElementStyleDeclaration extends LayoutStyleDeclaration, TransformStyleDeclaration, ShadowStyleDeclaration {
222
243
  backgroundImage?: None | string;
@@ -234,6 +255,7 @@ interface ElementStyleDeclaration extends LayoutStyleDeclaration, TransformStyle
234
255
  pointerEvents: PointerEvents;
235
256
  maskImage: None | string;
236
257
  }
258
+ declare function getDefaultElementStyle(): ElementStyleDeclaration;
237
259
 
238
260
  interface HighlightDeclaration {
239
261
  image: HighlightImage;
@@ -252,6 +274,7 @@ interface HighlightStyleDeclaration {
252
274
  highlightSize: HighlightSize;
253
275
  highlightThickness: HighlightThickness;
254
276
  }
277
+ declare function getDefaultHighlightStyle(): HighlightStyleDeclaration;
255
278
 
256
279
  interface ListStyleDeclaration {
257
280
  type: ListStyleType;
@@ -268,6 +291,7 @@ interface ListStyleStyleDeclaration {
268
291
  listStyleSize: ListStyleSize;
269
292
  listStylePosition: ListStylePosition;
270
293
  }
294
+ declare function getDefaultListStyleStyle(): ListStyleStyleDeclaration;
271
295
 
272
296
  interface TextInlineStyleDeclaration extends HighlightStyleDeclaration {
273
297
  color: string;
@@ -283,6 +307,7 @@ interface TextInlineStyleDeclaration extends HighlightStyleDeclaration {
283
307
  textOrientation: TextOrientation;
284
308
  textDecoration: TextDecoration;
285
309
  }
310
+ declare function getDefaultTextInlineStyle(): TextInlineStyleDeclaration;
286
311
 
287
312
  interface TextLineStyleDeclaration extends ListStyleStyleDeclaration {
288
313
  writingMode: WritingMode;
@@ -291,6 +316,7 @@ interface TextLineStyleDeclaration extends ListStyleStyleDeclaration {
291
316
  textIndent: number;
292
317
  lineHeight: number;
293
318
  }
319
+ declare function getDefaultTextLineStyle(): TextLineStyleDeclaration;
294
320
 
295
321
  interface TextDrawStyleDeclaration {
296
322
  textStrokeWidth: number;
@@ -298,10 +324,12 @@ interface TextDrawStyleDeclaration {
298
324
  }
299
325
  interface TextStyleDeclaration extends TextLineStyleDeclaration, TextInlineStyleDeclaration, TextDrawStyleDeclaration {
300
326
  }
327
+ declare function getDefaultTextStyle(): TextStyleDeclaration;
301
328
 
302
329
  interface StyleDeclaration extends TextStyleDeclaration, ElementStyleDeclaration {
303
330
  }
304
- type StyleProp = Partial<StyleDeclaration>;
331
+ type StyleProperty = Partial<StyleDeclaration>;
332
+ declare function getDefaultStyle(): StyleDeclaration;
305
333
 
306
334
  interface FragmentContent extends Partial<StyleDeclaration> {
307
335
  content: string;
@@ -318,40 +346,32 @@ interface TextDeclaration {
318
346
  measureDom?: any;
319
347
  fonts?: any;
320
348
  }
321
- type TextProp = string | TextContent | (TextDeclaration & {
349
+ type TextProperty = string | TextContent | (TextDeclaration & {
322
350
  content: TextContent;
323
351
  }) | TextDeclaration;
324
-
325
- type VideoSource = string;
326
- interface VideoDeclaration {
327
- src: VideoSource;
328
- opacity?: number;
329
- }
330
- type VideoProp = None | VideoSource | VideoDeclaration;
352
+ declare function normalizeTextContent(content?: TextContent): TextContentDeclaration;
353
+ declare function normalizeText(text?: TextProperty): TextDeclaration | undefined;
331
354
 
332
355
  interface IDOCElement extends IDOCNode {
333
- style?: StyleProp;
334
- image?: ImageProp;
335
- video?: VideoProp;
336
- audio?: AudioProp;
337
- text?: TextProp;
338
- geometry?: GeometryProp;
339
- fill?: FillProp;
340
- outline?: OutlineProp;
341
- shadow?: ShadowProp;
356
+ style?: StyleProperty;
357
+ text?: TextProperty;
358
+ geometry?: GeometryProperty;
359
+ fill?: FillProperty;
360
+ outline?: OutlineProperty;
361
+ background?: BackgroundProperty;
362
+ shadow?: ShadowProperty;
342
363
  children?: IDOCElement[];
343
364
  }
344
365
  interface IDOCElementDeclaration extends IDOCElement {
345
- image?: ImageDeclaration;
346
- video?: VideoDeclaration;
347
- audio?: AudioDeclaration;
348
366
  text?: TextDeclaration;
349
367
  geometry?: GeometryDeclaration;
350
368
  fill?: FillDeclaration;
351
369
  outline?: OutlineDeclaration;
370
+ background?: BackgroundDeclaration;
352
371
  shadow?: ShadowDeclaration;
353
372
  children?: IDOCElementDeclaration[];
354
373
  }
374
+ declare function normalizeElement(element: IDOCElement): IDOCElementDeclaration;
355
375
 
356
376
  interface IDOCDocument extends IDOCElement {
357
377
  fonts?: any;
@@ -359,40 +379,8 @@ interface IDOCDocument extends IDOCElement {
359
379
  interface IDOCDocumentDeclaration extends IDOCElementDeclaration {
360
380
  fonts?: any;
361
381
  }
362
-
363
- declare function getDefaultElementStyle(): ElementStyleDeclaration;
364
-
365
- declare function getDefaultLayoutStyle(): LayoutStyleDeclaration;
366
-
367
- declare function getDefaultShadowStyle(): ShadowStyleDeclaration;
368
-
369
- declare function getDefaultStyle(): StyleDeclaration;
370
-
371
- declare function getDefaultTextStyle(): TextStyleDeclaration;
372
-
373
- declare function getDefaultTransformStyle(): TransformStyleDeclaration;
382
+ declare function normalizeDocument(doc: IDOCDocument): IDOCDocumentDeclaration;
374
383
 
375
384
  declare function clearUndef<T>(obj: T, deep?: boolean): T;
376
- declare function deepClearUndef<T>(obj: T): T;
377
-
378
- declare function normalizeAudio(audio?: AudioProp): AudioDeclaration | undefined;
379
-
380
- declare function normalizeElement(element: IDOCElement): IDOCElementDeclaration;
381
-
382
- declare function normalizeFill(fill?: FillProp): FillDeclaration | undefined;
383
-
384
- declare function normalizeGeometry(geometry?: GeometryProp): GeometryDeclaration | undefined;
385
-
386
- declare function normalizeImage(image?: ImageProp): ImageDeclaration | undefined;
387
-
388
- declare function normalizeOutline(outline?: OutlineProp): OutlineDeclaration | undefined;
389
-
390
- declare function normalizeShadow(shadow?: ShadowProp): ShadowDeclaration | undefined;
391
-
392
- declare function normalizeText(text?: TextProp): TextDeclaration | undefined;
393
-
394
- declare function normalizeTextContent(content?: TextContent): TextContentDeclaration;
395
-
396
- declare function normalizeVideo(video?: VideoProp): VideoDeclaration | undefined;
397
385
 
398
- export { type Align, type AudioDeclaration, type AudioProp, type AudioSource, type BorderStyle, type BoxShadow, type BoxSizing, type ColorFillDeclaration, type CommonFillDeclaration, type Direction, type Display, type ElementStyleDeclaration, type FillDeclaration, type FillProp, type FillRule, type FlexDirection, type FlexWrap, type FontKerning, type FontStyle, type FontWeight, type FragmentContent, type GeometryDeclaration, type GeometryProp, type HighlightColormap, type HighlightDeclaration, type HighlightImage, type HighlightLine, type HighlightReferImage, type HighlightSize, type HighlightStyleDeclaration, type HighlightThickness, type IDOCDocument, type IDOCDocumentDeclaration, type IDOCElement, type IDOCElementDeclaration, type IDOCNode, type ImageDeclaration, type ImageFillDeclaration, type ImageFillSource, type ImageFillStretch, type ImageFillStretchRect, type ImageFillTile, type ImageProp, type ImageSource, type ImageSourceRect, type Justify, type LayoutStyleDeclaration, type ListStyleColormap, type ListStyleDeclaration, type ListStyleImage, type ListStylePosition, type ListStyleSize, type ListStyleStyleDeclaration, type ListStyleType, type MetaProp, type OutlineDeclaration, type OutlineProp, type Overflow, type ParagraphContent, type Path2DDeclaration, type Path2DStyle, type PointerEvents, type Position, type SVGPathData, type ShadowDeclaration, type ShadowProp, type ShadowStyleDeclaration, type StrokeLinecap, type StrokeLinejoin, type StyleDeclaration, type StyleProp, type StyleUnit, type TextAlign, type TextContent, type TextContentDeclaration, type TextContentFlat, type TextDeclaration, type TextDecoration, type TextDrawStyleDeclaration, type TextInlineStyleDeclaration, type TextLineStyleDeclaration, type TextOrientation, type TextProp, type TextStyleDeclaration, type TextTransform, type TextWrap, type TransformStyleDeclaration, type VerticalAlign, type VideoDeclaration, type VideoProp, type VideoSource, type Visibility, type WritingMode, clearUndef, deepClearUndef, getDefaultElementStyle, getDefaultLayoutStyle, getDefaultShadowStyle, getDefaultStyle, getDefaultTextStyle, getDefaultTransformStyle, normalizeAudio, normalizeElement, normalizeFill, normalizeGeometry, normalizeImage, normalizeOutline, normalizeShadow, normalizeText, normalizeTextContent, normalizeVideo };
386
+ export { type Align, type BorderStyle, type BoxShadow, type BoxSizing, type Direction, type Display, type ElementStyleDeclaration, type FillDeclaration, type FillProperty, type FillRule, type FlexDirection, type FlexWrap, type FontKerning, type FontStyle, type FontWeight, type FragmentContent, type GeometryDeclaration, type GeometryPathDeclaration, type GeometryPathStyle, type GeometryProperty, type GradientFillDeclaration, type HighlightColormap, type HighlightDeclaration, type HighlightImage, type HighlightLine, type HighlightReferImage, type HighlightSize, type HighlightStyleDeclaration, type HighlightThickness, type IDOCDocument, type IDOCDocumentDeclaration, type IDOCElement, type IDOCElementDeclaration, type IDOCNode, type Justify, type LayoutStyleDeclaration, type ListStyleColormap, type ListStyleDeclaration, type ListStyleImage, type ListStylePosition, type ListStyleSize, type ListStyleStyleDeclaration, type ListStyleType, type MetaProperty, type None, type OutlineDeclaration, type OutlineProperty, type Overflow, type ParagraphContent, type PointerEvents, type Position, type SVGPathData, type ShadowDeclaration, type ShadowProperty, type ShadowStyleDeclaration, type SingleFillDeclaration, type SolidFillDeclaration, type StrokeLinecap, type StrokeLinejoin, type StyleDeclaration, type StyleProperty, type StyleUnit, type TextAlign, type TextContent, type TextContentDeclaration, type TextContentFlat, type TextDeclaration, type TextDecoration, type TextDrawStyleDeclaration, type TextInlineStyleDeclaration, type TextLineStyleDeclaration, type TextOrientation, type TextProperty, type TextStyleDeclaration, type TextTransform, type TextWrap, type TextureFillDeclaration, type TextureFillSourceRect, type TextureFillSourceURL, type TextureFillStretch, type TextureFillStretchRect, type TextureFillTile, type TransformStyleDeclaration, type VerticalAlign, type Visibility, type WritingMode, clearUndef, getDefaultElementStyle, getDefaultHighlightStyle, getDefaultLayoutStyle, getDefaultListStyleStyle, getDefaultShadowStyle, getDefaultStyle, getDefaultTextInlineStyle, getDefaultTextLineStyle, getDefaultTextStyle, getDefaultTransformStyle, normalizeDocument, normalizeElement, normalizeFill, normalizeGeometry, normalizeOutline, normalizeShadow, normalizeText, normalizeTextContent };