@mediaclip/library 12.0.2 → 12.1.0-cd.15420

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.
Files changed (31) hide show
  1. package/dist/shared/CollageBuilder.d.ts +15 -2
  2. package/dist/shared/MarginArgument.d.ts +8 -0
  3. package/dist/shared/Rect.d.ts +10 -2
  4. package/dist/shared/arguments/AddClipartElementArgument.d.ts +0 -2
  5. package/dist/shared/arguments/AddGeneratedImageElementArgument.d.ts +7 -0
  6. package/dist/shared/arguments/AddPhotoElementArgument.d.ts +7 -2
  7. package/dist/shared/arguments/AddStaticImageElementArgument.d.ts +0 -2
  8. package/dist/shared/arguments/AddStaticTextElementArgument.d.ts +2 -2
  9. package/dist/shared/arguments/AddTextElementArgument.d.ts +2 -2
  10. package/dist/shared/arguments/index.d.ts +1 -0
  11. package/dist/shared/elements/BackgroundElement.d.ts +1 -2
  12. package/dist/shared/elements/ClipartElement.d.ts +0 -3
  13. package/dist/shared/elements/ElementBorder.d.ts +12 -1
  14. package/dist/shared/elements/FilterInfo.d.ts +3 -0
  15. package/dist/shared/elements/GeneratedImageElement.d.ts +11 -0
  16. package/dist/shared/elements/PhotoElement.d.ts +7 -3
  17. package/dist/shared/elements/StaticImageElement.d.ts +0 -3
  18. package/dist/shared/elements/StaticTextElement.d.ts +3 -3
  19. package/dist/shared/elements/TextElement.d.ts +5 -3
  20. package/dist/shared/elements/VisualElement.d.ts +2 -8
  21. package/dist/shared/elements/index.d.ts +2 -0
  22. package/dist/shared/index.d.ts +1 -0
  23. package/dist/shared/resources/index.d.ts +1 -0
  24. package/dist/themes/Format.d.ts +4 -2
  25. package/dist/themes/ResourcesLoader.d.ts +5 -1
  26. package/dist/themes/ThemeCollageBuilder.d.ts +6 -6
  27. package/dist/themes/ThemeContext.d.ts +6 -1
  28. package/dist/themes/selector/SelectorEntry.d.ts +7 -4
  29. package/dist/themes/styles/StyleEntry.d.ts +20 -14
  30. package/package.json +1 -1
  31. package/dist/layouts/index.d.ts +0 -1
@@ -1,5 +1,6 @@
1
- import { AddClipartElementArgument, AddPhotoElementArgument, AddStaticImageElementArgument, AddStaticTextElementArgument, AddTextElementArgument } from "./arguments";
2
- import { ClipartElement, PhotoElement, StaticImageElement, StaticTextElement, TextElement, VisualElement } from "./elements";
1
+ import { AddClipartElementArgument, AddGeneratedImageElementArgument, AddPhotoElementArgument, AddStaticImageElementArgument, AddStaticTextElementArgument, AddTextElementArgument } from "./arguments";
2
+ import { ClipartElement, GeneratedImageElement, PhotoElement, StaticImageElement, StaticTextElement, TextElement, VisualElement } from "./elements";
3
+ import { MarginArgument } from "./MarginArgument";
3
4
  import { Rect } from "./Rect";
4
5
  export interface CollageBuilder {
5
6
  readonly marginRect: Rect;
@@ -17,7 +18,19 @@ export interface CollageBuilder {
17
18
  addPhoto(value?: AddPhotoElementArgument): PhotoElement;
18
19
  addText(value?: AddTextElementArgument): TextElement;
19
20
  addClipart(value?: AddClipartElementArgument): ClipartElement;
21
+ addGeneratedImageElement(value?: AddGeneratedImageElementArgument): GeneratedImageElement;
20
22
  addStaticText(value?: AddStaticTextElementArgument): StaticTextElement;
21
23
  addStaticImage(value?: AddStaticImageElementArgument): StaticImageElement;
22
24
  log(value: undefined | number | string | unknown): void;
25
+ newRect(value: {
26
+ x?: number;
27
+ y?: number;
28
+ width?: number;
29
+ height?: number;
30
+ rotation?: number;
31
+ }): Rect;
32
+ setLayout(value: {
33
+ spacing?: number;
34
+ margin?: MarginArgument;
35
+ }): void;
23
36
  }
@@ -0,0 +1,8 @@
1
+ export type MarginArgument = number | {
2
+ top?: number;
3
+ right?: number;
4
+ bottom?: number;
5
+ left?: number;
6
+ horizontal?: number;
7
+ vertical?: number;
8
+ };
@@ -1,13 +1,21 @@
1
- export interface IRect {
1
+ export interface RectBase {
2
2
  x: number;
3
3
  y: number;
4
4
  width: number;
5
5
  height: number;
6
6
  rotation: number;
7
+ left: number;
8
+ top: number;
7
9
  right: number;
8
10
  bottom: number;
11
+ centerX: number;
12
+ centerY: number;
13
+ getRect(): RectBase;
14
+ setRect(rect: RectBase): void;
15
+ rotateAroundPoint(rotation: number, x: number, y: number): void;
16
+ fitIn(rect: RectBase): void;
9
17
  }
10
- export interface Rect extends IRect {
18
+ export interface Rect extends RectBase {
11
19
  split(value: {
12
20
  rows?: number | number[];
13
21
  columns?: number | number[];
@@ -1,8 +1,6 @@
1
- import { ElementBorder } from "../elements";
2
1
  import { AddVisualElementArgumentBase } from "./AddVisualElementArgumentBase";
3
2
  export interface AddClipartElementArgument extends AddVisualElementArgumentBase {
4
3
  tag?: string;
5
- border?: ElementBorder;
6
4
  colorize?: string;
7
5
  colorizeSpotColor?: string;
8
6
  }
@@ -0,0 +1,7 @@
1
+ import { GeneratedImageField } from "../elements";
2
+ import { AddVisualElementArgumentBase } from "./AddVisualElementArgumentBase";
3
+ export interface AddGeneratedImageElementArgument extends AddVisualElementArgumentBase {
4
+ type?: string;
5
+ empty?: boolean;
6
+ fields?: GeneratedImageField[];
7
+ }
@@ -1,8 +1,13 @@
1
- import { ElementBorder, PhotoFitting } from "../elements";
1
+ import { ElementFrameBorder, ElementMaskBorder, ElementStraightBorder, FilterInfo, PhotoFitting } from "../elements";
2
+ import { PhotoResource } from "../resources";
2
3
  import { AddVisualElementArgumentBase } from "./AddVisualElementArgumentBase";
3
4
  export interface AddPhotoElementArgument extends AddVisualElementArgumentBase {
4
5
  tag?: string;
5
6
  required?: boolean;
6
- border?: ElementBorder;
7
+ behavior?: string;
8
+ border?: ElementStraightBorder | ElementFrameBorder | ElementMaskBorder;
7
9
  fitting?: PhotoFitting;
10
+ filters?: FilterInfo[];
11
+ photo?: PhotoResource;
12
+ id?: string;
8
13
  }
@@ -1,7 +1,5 @@
1
1
  import { AddVisualElementArgumentBase } from "./AddVisualElementArgumentBase";
2
- import { ElementBorder } from "../elements";
3
2
  export interface AddStaticImageElementArgument extends AddVisualElementArgumentBase {
4
- border?: ElementBorder;
5
3
  colorize?: string;
6
4
  colorizeSpotColor?: string;
7
5
  }
@@ -1,4 +1,4 @@
1
- import { ElementBackground, ElementBorder, HAlign, VAlign } from "../elements";
1
+ import { ElementBackground, ElementFrameBorder, ElementStraightBorder, HAlign, VAlign } from "../elements";
2
2
  import { AddVisualElementArgumentBase } from "./AddVisualElementArgumentBase";
3
3
  export interface AddStaticTextElementArgument extends AddVisualElementArgumentBase {
4
4
  text?: string;
@@ -13,5 +13,5 @@ export interface AddStaticTextElementArgument extends AddVisualElementArgumentBa
13
13
  color?: string;
14
14
  spotColor?: string;
15
15
  background?: ElementBackground;
16
- border?: ElementBorder;
16
+ border?: ElementStraightBorder | ElementFrameBorder;
17
17
  }
@@ -1,4 +1,4 @@
1
- import { ElementBackground, ElementBorder, HAlign, TextElementMode, VAlign } from "../elements";
1
+ import { ElementBackground, ElementFrameBorder, ElementStraightBorder, HAlign, TextElementMode, VAlign } from "../elements";
2
2
  import { AddVisualElementArgumentBase } from "./AddVisualElementArgumentBase";
3
3
  export interface AddTextElementArgument extends AddVisualElementArgumentBase {
4
4
  text?: string;
@@ -18,5 +18,5 @@ export interface AddTextElementArgument extends AddVisualElementArgumentBase {
18
18
  color?: string;
19
19
  spotColor?: string;
20
20
  background?: ElementBackground;
21
- border?: ElementBorder;
21
+ border?: ElementStraightBorder | ElementFrameBorder;
22
22
  }
@@ -1,5 +1,6 @@
1
1
  export * from "../CollageBuilder";
2
2
  export * from "./AddClipartElementArgument";
3
+ export * from "./AddGeneratedImageElementArgument";
3
4
  export * from "./AddPhotoElementArgument";
4
5
  export * from "./AddStaticImageElementArgument";
5
6
  export * from "./AddStaticTextElementArgument";
@@ -1,7 +1,6 @@
1
- import { ImageBackgroundResource } from "../resources/ImageBackgroundResource";
1
+ import { ImageBackgroundResource } from "../resources";
2
2
  import { VisualElement } from "./VisualElement";
3
3
  export interface BackgroundElement extends VisualElement {
4
- readonly type: "BackgroundElement";
5
4
  image?: ImageBackgroundResource;
6
5
  color: string;
7
6
  spotColor?: string;
@@ -1,11 +1,8 @@
1
1
  import { ClipartResource } from "../resources";
2
- import { ElementBorder } from "./ElementBorder";
3
2
  import { VisualElement } from "./VisualElement";
4
3
  export interface ClipartElement extends VisualElement {
5
- readonly type: "ClipartElement";
6
4
  tag?: string;
7
5
  clipart?: ClipartResource;
8
- border?: ElementBorder;
9
6
  colorize?: string;
10
7
  colorizeSpotColor?: string;
11
8
  }
@@ -1,6 +1,17 @@
1
- export interface ElementBorder {
1
+ export interface ElementStraightBorder {
2
+ type: 'straight';
2
3
  /** A hexadecimal color, e.g. #000000 for black */
3
4
  color: string;
4
5
  /** The size of the border in 300 DPI points */
5
6
  size: number;
6
7
  }
8
+ export interface ElementFrameBorder {
9
+ type: 'frame';
10
+ /** Id for frameBorder to load */
11
+ id: string;
12
+ }
13
+ export interface ElementMaskBorder {
14
+ type: 'mask';
15
+ /** Id for maskBorder to load */
16
+ id: string;
17
+ }
@@ -0,0 +1,3 @@
1
+ export interface FilterInfo {
2
+ filterType: string;
3
+ }
@@ -0,0 +1,11 @@
1
+ import { VisualElement } from "./VisualElement";
2
+ export interface GeneratedImageElement extends VisualElement {
3
+ type: string;
4
+ empty: boolean;
5
+ fields?: GeneratedImageField[];
6
+ addField(key: string, value: string): void;
7
+ }
8
+ export interface GeneratedImageField {
9
+ key: string;
10
+ value: string;
11
+ }
@@ -1,12 +1,16 @@
1
- import { ElementBorder } from "./ElementBorder";
1
+ import { ElementFrameBorder, ElementMaskBorder, ElementStraightBorder } from "./ElementBorder";
2
2
  import { PhotoFitting } from "./PhotoFitting";
3
3
  import { PhotoResource } from "../resources";
4
4
  import { VisualElement } from "./VisualElement";
5
+ type PhotoBorder = ElementStraightBorder | ElementFrameBorder | ElementMaskBorder;
5
6
  export interface PhotoElement extends VisualElement {
6
- readonly type: "PhotoElement";
7
7
  photo: PhotoResource;
8
8
  tag?: string;
9
9
  required?: boolean;
10
+ behavior?: string;
10
11
  fitting?: PhotoFitting;
11
- border?: ElementBorder;
12
+ readonly border?: PhotoBorder;
13
+ addFilter(filterType: string): void;
14
+ setBorder(value: PhotoBorder): void;
12
15
  }
16
+ export {};
@@ -1,10 +1,7 @@
1
1
  import { ClipartResource } from "../resources";
2
- import { ElementBorder } from "./ElementBorder";
3
2
  import { VisualElement } from "./VisualElement";
4
3
  export interface StaticImageElement extends VisualElement {
5
- readonly type: "StaticImageElement";
6
4
  clipart?: ClipartResource;
7
- border?: ElementBorder;
8
5
  colorize?: string;
9
6
  colorizeSpotColor?: string;
10
7
  }
@@ -1,10 +1,9 @@
1
1
  import { ElementBackground } from "./ElementBackground";
2
- import { ElementBorder } from "./ElementBorder";
2
+ import { ElementFrameBorder, ElementStraightBorder } from "./ElementBorder";
3
3
  import { HAlign } from "./HAlign";
4
4
  import { VAlign } from "./VAlign";
5
5
  import { VisualElement } from "./VisualElement";
6
6
  export interface StaticTextElement extends VisualElement {
7
- readonly type: "StaticTextElement";
8
7
  text?: string;
9
8
  tag?: string;
10
9
  hAlign: HAlign;
@@ -17,5 +16,6 @@ export interface StaticTextElement extends VisualElement {
17
16
  color: string;
18
17
  spotColor?: string;
19
18
  background?: ElementBackground;
20
- border?: ElementBorder;
19
+ readonly border?: ElementFrameBorder | ElementStraightBorder;
20
+ setBorder(value: ElementStraightBorder | ElementFrameBorder): void;
21
21
  }
@@ -1,11 +1,11 @@
1
1
  import { ElementBackground } from "./ElementBackground";
2
- import { ElementBorder } from "./ElementBorder";
2
+ import { ElementFrameBorder, ElementStraightBorder } from "./ElementBorder";
3
3
  import { HAlign } from "./HAlign";
4
4
  import { TextElementMode } from "./TextElementMode";
5
5
  import { VAlign } from "./VAlign";
6
6
  import { VisualElement } from "./VisualElement";
7
+ type TextBorder = ElementStraightBorder | ElementFrameBorder;
7
8
  export interface TextElement extends VisualElement {
8
- readonly type: "TextElement";
9
9
  text: string;
10
10
  tag?: string;
11
11
  mode: TextElementMode;
@@ -23,5 +23,7 @@ export interface TextElement extends VisualElement {
23
23
  color: string;
24
24
  spotColor?: string;
25
25
  background?: ElementBackground;
26
- border?: ElementBorder;
26
+ readonly border?: TextBorder;
27
+ setBorder(value: TextBorder): void;
27
28
  }
29
+ export {};
@@ -1,12 +1,6 @@
1
- import { IRect, Rect } from "../Rect";
2
- export interface VisualElement extends IRect {
1
+ import { RectBase, Rect } from "../Rect";
2
+ export interface VisualElement extends RectBase {
3
3
  readonly type: string;
4
- x: number;
5
- y: number;
6
- width: number;
7
- height: number;
8
- readonly right: number;
9
- readonly bottom: number;
10
4
  getRect: () => Rect;
11
5
  setRect: (rect: Rect) => void;
12
6
  }
@@ -1,7 +1,9 @@
1
1
  export * from "./BackgroundElement";
2
2
  export * from "./ClipartElement";
3
+ export * from "./GeneratedImageElement";
3
4
  export * from "./ElementBackground";
4
5
  export * from "./ElementBorder";
6
+ export * from "./FilterInfo";
5
7
  export * from "./HAlign";
6
8
  export * from "./PhotoElement";
7
9
  export * from "./StaticImageElement";
@@ -1,3 +1,4 @@
1
1
  export { CollageBuilder } from "./CollageBuilder";
2
2
  export { Rect } from "./Rect";
3
3
  export { Modules } from "./Modules";
4
+ export { MarginArgument } from "./MarginArgument";
@@ -1,2 +1,3 @@
1
1
  export * from "./ClipartResource";
2
+ export * from "./ImageBackgroundResource";
2
3
  export * from "./PhotoResource";
@@ -1,9 +1,11 @@
1
1
  export type Format = PhotobookFormat | GiftingFormat | PrintFormat;
2
2
  export interface FormatBase {
3
3
  getCollageIds: () => string[];
4
- getCollageDimensions: (collageId: string) => CollageDimensions;
4
+ getCollageDimensions: (collageId: string) => CollageSpecifications;
5
+ getProperty: (key: string, defaultValue: string) => string;
5
6
  }
6
- export interface CollageDimensions {
7
+ export interface CollageSpecifications {
8
+ readonly id: string;
7
9
  readonly width: number;
8
10
  readonly height: number;
9
11
  readonly bleed: number;
@@ -1,6 +1,10 @@
1
+ import { ClipartResource, ImageBackgroundResource, PhotoResource } from "../shared/resources";
1
2
  export interface ResourcesLoader {
2
3
  load(value: string | string[] | {
3
4
  name: string;
4
- resources: string[];
5
+ resources: string | string[];
5
6
  }): void;
7
+ getPhoto(id: string): PhotoResource;
8
+ getClipart(id: string): ClipartResource;
9
+ getBackground(id: string): ImageBackgroundResource;
6
10
  }
@@ -1,14 +1,14 @@
1
- import { AddClipartElementArgument, AddPhotoElementArgument, AddStaticImageElementArgument, AddTextElementArgument, SetBackgroundElementArgument } from "./arguments";
2
- import { BackgroundElement, ClipartElement, PhotoElement, StaticImageElement, TextElement } from "../shared/elements";
1
+ import { AddClipartElementArgument, AddStaticImageElementArgument, SetBackgroundElementArgument } from "./arguments";
2
+ import { BackgroundElement, ClipartElement, StaticImageElement } from "../shared/elements";
3
3
  import { CollageBuilder } from "../shared";
4
4
  import { PhotosContainer } from "./PhotosContainer";
5
+ import { ResourcesLoader } from "./ResourcesLoader";
5
6
  export interface ThemeCollageBuilder extends CollageBuilder {
7
+ readonly resources: ResourcesLoader;
6
8
  customizable: boolean;
7
9
  readonly photos: PhotosContainer;
8
10
  readonly background: BackgroundElement;
9
11
  setBackground(value?: string | SetBackgroundElementArgument): BackgroundElement;
10
- addPhoto(value?: AddPhotoElementArgument): PhotoElement;
11
- addText(value?: AddTextElementArgument): TextElement;
12
- addClipart(value?: AddClipartElementArgument): ClipartElement;
13
- addStaticImage(value?: AddStaticImageElementArgument): StaticImageElement;
12
+ addClipart(value?: string | AddClipartElementArgument): ClipartElement;
13
+ addStaticImage(value?: string | AddStaticImageElementArgument): StaticImageElement;
14
14
  }
@@ -3,6 +3,11 @@ import { Modules } from "../shared";
3
3
  export interface ThemeContext {
4
4
  readonly module: Modules;
5
5
  readonly culture: string;
6
+ readonly language: string;
6
7
  readonly format: Format;
7
- getOption(key: string): string;
8
+ readonly isPreview: boolean;
9
+ getOption(key: string, defaultValue: string): string;
10
+ switchLang<T>(lang: {
11
+ [key: string]: T;
12
+ }): T;
8
13
  }
@@ -1,13 +1,16 @@
1
+ import { CollageSpecifications } from "../Format";
1
2
  import { StyleEntry } from "../styles";
2
3
  import { ThemeCollageBuilder } from "../ThemeCollageBuilder";
4
+ type ResourcesToLoad = string | string[] | {
5
+ name: string;
6
+ resources: string | string[];
7
+ };
3
8
  export interface SelectorEntry {
4
9
  name: (name?: string) => SelectorEntry;
5
10
  style: (style: string | StyleEntry) => SelectorEntry;
6
- load: (value: string | string[] | {
7
- name: string;
8
- resources: string[];
9
- }) => SelectorEntry;
11
+ load: (value: (ResourcesToLoad | ((collage: CollageSpecifications) => ResourcesToLoad | undefined))) => SelectorEntry;
10
12
  autoLayout: (ids: string | string[]) => SelectorEntry;
11
13
  empty: () => void;
12
14
  create: (fn: (collage: ThemeCollageBuilder) => void) => void;
13
15
  }
16
+ export {};
@@ -1,20 +1,25 @@
1
- import { ElementBackground, ElementBorder, HAlign, VAlign } from "../../shared/elements";
1
+ import { ElementBackground, ElementFrameBorder, ElementMaskBorder, ElementStraightBorder, HAlign, TextElementMode, VAlign } from "../../shared/elements";
2
+ import { CollageSpecifications } from "../Format";
2
3
  import { SetBackgroundElementArgument } from "../arguments";
3
- export interface StyleEntry {
4
- extends?: string;
5
- id?: string;
4
+ import { MarginArgument } from "../../shared";
5
+ interface StyleDefinition {
6
6
  background?: string | SetBackgroundElementArgument;
7
7
  texts?: TextStyleArgument | TextStyleArgument[];
8
8
  clipart?: ClipartStyleArgument | ClipartStyleArgument[];
9
9
  photos?: PhotoStyleArgument | PhotoStyleArgument[];
10
- margin?: number | {
11
- top: number;
12
- right: number;
13
- bottom: number;
14
- left: number;
15
- };
10
+ margin?: MarginArgument;
16
11
  spacing?: number;
17
12
  }
13
+ interface FixedStyle extends StyleDefinition {
14
+ extends?: string;
15
+ id?: string;
16
+ }
17
+ interface DynamicStyle {
18
+ extends?: string;
19
+ id?: string;
20
+ build: (collage: CollageSpecifications) => StyleDefinition;
21
+ }
22
+ export type StyleEntry = FixedStyle | DynamicStyle;
18
23
  interface TextStyleArgument {
19
24
  tag?: string;
20
25
  hAlign?: HAlign;
@@ -27,17 +32,18 @@ interface TextStyleArgument {
27
32
  color?: string;
28
33
  spotColor?: string;
29
34
  background?: ElementBackground;
30
- border?: ElementBorder;
35
+ border?: ElementStraightBorder | ElementFrameBorder;
36
+ mode?: TextElementMode;
31
37
  computeTextHeight?: boolean;
32
38
  }
33
39
  interface ClipartStyleArgument {
34
- tag: string;
40
+ tag?: string;
35
41
  id: string;
36
42
  colorize?: string;
37
43
  colorizeSpotColor?: string;
38
44
  }
39
45
  interface PhotoStyleArgument {
40
- tag: string;
41
- border?: ElementBorder;
46
+ tag?: string;
47
+ border?: ElementStraightBorder | ElementFrameBorder | ElementMaskBorder;
42
48
  }
43
49
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediaclip/library",
3
- "version": "12.0.2",
3
+ "version": "12.1.0-cd.15420",
4
4
  "description": "",
5
5
  "types": "dist/index.d.ts",
6
6
  "keywords": [],
@@ -1 +0,0 @@
1
- export { CollageBuilder } from "../shared/builder";