@omnia/velcron 8.0.99-vnext → 8.0.101-vnext

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/actions/Date.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { IActionHandler } from "./IActionHandler";
2
2
  export declare const dateFormat: IActionHandler;
3
- export declare const dateCountDown: IActionHandler;
3
+ export declare const diff: IActionHandler;
package/actions/Date.js CHANGED
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dateCountDown = exports.dateFormat = void 0;
3
+ exports.diff = exports.dateFormat = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
6
- const duration_1 = tslib_1.__importDefault(require("dayjs/plugin/duration"));
7
- dayjs_1.default.extend(duration_1.default);
8
6
  exports.dateFormat = {
9
7
  name: "@date.format",
10
8
  action: (action, value) => {
11
9
  return Promise.resolve((0, dayjs_1.default)().format(value));
12
10
  }
13
11
  };
14
- exports.dateCountDown = {
12
+ exports.diff = {
15
13
  name: "@date.diff",
16
14
  action: (action, date, past = false) => {
17
15
  const now = (0, dayjs_1.default)();
@@ -1,4 +1,4 @@
1
- import { VelcronImageRatios } from "@omnia/fx-models";
1
+ import { TypographySize, TypographyType, VelcronImageRatios } from "@omnia/fx-models";
2
2
  export interface ResolvedPropertyEditor {
3
3
  editor: VelcronPropertyEditor;
4
4
  }
@@ -78,16 +78,43 @@ export interface VelcronMarkdownPropertyEditor extends VelcronPropertyEditor<any
78
78
  export interface VelcronImagePropertyEditor extends VelcronPropertyEditor<any> {
79
79
  type: "image";
80
80
  }
81
+ export interface VelcronState {
82
+ images?: VelcronImagesState;
83
+ styling?: VelcronStylingState;
84
+ colorSchema?: VelcronColorSchemaState;
85
+ content?: VelcronContentState;
86
+ properties?: VelcronPropertiesState;
87
+ }
88
+ export interface VelcronTextState {
89
+ text: string;
90
+ typography?: VelcronTypographyState;
91
+ }
92
+ export interface VelcronTypographyState {
93
+ type?: TypographyType;
94
+ size?: TypographySize;
95
+ toned?: boolean;
96
+ }
81
97
  export interface VelcronContentState {
82
- content: {
83
- caption?: string;
84
- main?: string;
85
- };
98
+ caption?: VelcronTextState;
99
+ main?: VelcronTextState;
100
+ title?: VelcronTextState;
101
+ summary?: VelcronTextState;
86
102
  }
87
103
  export interface VelcronPropertiesState {
88
- propertyItems: Array<any>;
104
+ user: any;
105
+ mappings: Array<any>;
106
+ }
107
+ export interface VelcronImagesState {
108
+ main?: VelcronImageState;
89
109
  }
90
110
  export interface VelcronImageState {
91
111
  url?: string;
92
112
  ratio?: VelcronImageRatios;
113
+ caption?: VelcronTextState;
114
+ }
115
+ export interface VelcronStylingState {
116
+ }
117
+ export interface VelcronColorSchemaState {
118
+ type?: string;
119
+ filled?: boolean;
93
120
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@omnia/velcron",
3
3
  "license": "MIT",
4
- "version": "8.0.99-vnext",
4
+ "version": "8.0.101-vnext",
5
5
  "description": "Provide Omnia Velcron Stuffs.",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -2,13 +2,37 @@ import { VelcronPropertyEditor } from "@omnia/fx-models";
2
2
  import { VelcronEditorBuilderBase } from "./VelcronEditorBuilderBase";
3
3
  export declare class VelcronContentEditorBuilder extends VelcronEditorBuilderBase {
4
4
  private mainEditor;
5
+ private mainPropertyEditor;
6
+ private mainTypographyEditor;
5
7
  private captionEditor;
8
+ private captionTypographyEditor;
9
+ private captionPropertyEditor;
10
+ private titleEditor;
11
+ private titlePropertyEditor;
12
+ private titleTypographyEditor;
13
+ private summaryEditor;
14
+ private summaryPropertyEditor;
15
+ private summaryTypographyEditor;
6
16
  constructor(builder: any);
7
17
  main: {
8
- add: () => VelcronContentEditorBuilder;
18
+ addContentEditor: () => VelcronContentEditorBuilder;
19
+ addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
20
+ addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
9
21
  };
10
22
  caption: {
11
- add: () => VelcronContentEditorBuilder;
23
+ addContentEditor: () => VelcronContentEditorBuilder;
24
+ addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
25
+ addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
26
+ };
27
+ title: {
28
+ addContentEditor: () => VelcronContentEditorBuilder;
29
+ addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
30
+ addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
31
+ };
32
+ summary: {
33
+ addContentEditor: () => VelcronContentEditorBuilder;
34
+ addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
35
+ addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
12
36
  };
13
37
  protected internalBuild(): VelcronPropertyEditor<any>[];
14
38
  }
@@ -6,26 +6,156 @@ class VelcronContentEditorBuilder extends VelcronEditorBuilderBase_1.VelcronEdit
6
6
  constructor(builder) {
7
7
  super(builder);
8
8
  this.mainEditor = null;
9
+ this.mainPropertyEditor = null;
10
+ this.mainTypographyEditor = null;
9
11
  this.captionEditor = null;
12
+ this.captionTypographyEditor = null;
13
+ this.captionPropertyEditor = null;
14
+ this.titleEditor = null;
15
+ this.titlePropertyEditor = null;
16
+ this.titleTypographyEditor = null;
17
+ this.summaryEditor = null;
18
+ this.summaryPropertyEditor = null;
19
+ this.summaryTypographyEditor = null;
10
20
  this.main = {
11
- add: () => {
21
+ addContentEditor: () => {
12
22
  if (!this.mainEditor) {
13
23
  this.mainEditor = {
14
24
  name: "Body",
15
25
  type: "markdown",
16
- stateMapping: "content.main"
26
+ stateMapping: "content.main.text"
27
+ };
28
+ }
29
+ return this;
30
+ },
31
+ addPropertyMappingEditor: (title) => {
32
+ if (!this.mainPropertyEditor) {
33
+ this.mainPropertyEditor = {
34
+ name: title ? title : "Main",
35
+ type: "text",
36
+ stateMapping: "content.main.text",
37
+ propertyMapping: true
38
+ };
39
+ }
40
+ return this;
41
+ },
42
+ addTypographyEditor: (title, type) => {
43
+ if (!this.mainTypographyEditor) {
44
+ this.mainTypographyEditor = {
45
+ name: title ? title : "Main formatting",
46
+ type: "typography",
47
+ stateMapping: "content.main.text",
48
+ settings: {
49
+ type: type ? type : "text"
50
+ }
17
51
  };
18
52
  }
19
53
  return this;
20
54
  }
21
55
  };
22
56
  this.caption = {
23
- add: () => {
57
+ addContentEditor: () => {
24
58
  if (!this.captionEditor) {
25
59
  this.captionEditor = {
26
60
  name: "Caption",
27
61
  type: "text",
28
- stateMapping: "content.caption"
62
+ stateMapping: "content.caption.text"
63
+ };
64
+ }
65
+ return this;
66
+ },
67
+ addPropertyMappingEditor: (title) => {
68
+ if (!this.captionPropertyEditor) {
69
+ this.captionPropertyEditor = {
70
+ name: title ? title : "Caption",
71
+ type: "text",
72
+ stateMapping: "content.caption.text",
73
+ propertyMapping: true
74
+ };
75
+ }
76
+ return this;
77
+ },
78
+ addTypographyEditor: (title, type) => {
79
+ if (!this.captionTypographyEditor) {
80
+ this.captionTypographyEditor = {
81
+ name: title ? title : "Caption formatting",
82
+ type: "typography",
83
+ stateMapping: "content.caption.text",
84
+ settings: {
85
+ type: type ? type : "text"
86
+ }
87
+ };
88
+ }
89
+ return this;
90
+ }
91
+ };
92
+ this.title = {
93
+ addContentEditor: () => {
94
+ if (!this.titleEditor) {
95
+ this.titleEditor = {
96
+ name: "Title",
97
+ type: "text",
98
+ stateMapping: "content.title.text"
99
+ };
100
+ }
101
+ return this;
102
+ },
103
+ addPropertyMappingEditor: (title) => {
104
+ if (!this.titlePropertyEditor) {
105
+ this.titlePropertyEditor = {
106
+ name: title ? title : "Title",
107
+ type: "text",
108
+ stateMapping: "content.title.text",
109
+ propertyMapping: true
110
+ };
111
+ }
112
+ return this;
113
+ },
114
+ addTypographyEditor: (title, type) => {
115
+ if (!this.titleTypographyEditor) {
116
+ this.titleTypographyEditor = {
117
+ name: title ? title : "Title formatting",
118
+ type: "typography",
119
+ stateMapping: "content.title.text",
120
+ settings: {
121
+ type: type ? type : "title"
122
+ }
123
+ };
124
+ }
125
+ return this;
126
+ }
127
+ };
128
+ this.summary = {
129
+ addContentEditor: () => {
130
+ if (!this.summaryEditor) {
131
+ this.summaryEditor = {
132
+ name: "Summary",
133
+ type: "text",
134
+ stateMapping: "content.summary.text"
135
+ };
136
+ }
137
+ return this;
138
+ },
139
+ addPropertyMappingEditor: (title) => {
140
+ if (!this.summaryPropertyEditor) {
141
+ this.summaryPropertyEditor = {
142
+ name: title ? title : "Summary",
143
+ type: "text",
144
+ stateMapping: "content.summary.text",
145
+ propertyMapping: true
146
+ };
147
+ }
148
+ return this;
149
+ },
150
+ addTypographyEditor: (title, type) => {
151
+ if (!this.summaryTypographyEditor) {
152
+ this.summaryTypographyEditor = {
153
+ name: title ? title : "Summary formatting",
154
+ type: "typography",
155
+ stateMapping: "content.summary.text",
156
+ settings: {
157
+ type: type ? type : "text"
158
+ }
29
159
  };
30
160
  }
31
161
  return this;
@@ -37,9 +167,39 @@ class VelcronContentEditorBuilder extends VelcronEditorBuilderBase_1.VelcronEdit
37
167
  if (this.mainEditor) {
38
168
  result.push(this.mainEditor);
39
169
  }
170
+ if (this.mainPropertyEditor) {
171
+ result.push(this.mainPropertyEditor);
172
+ }
173
+ if (this.mainTypographyEditor) {
174
+ result.push(this.mainTypographyEditor);
175
+ }
176
+ if (this.titleEditor) {
177
+ result.push(this.titleEditor);
178
+ }
179
+ if (this.titlePropertyEditor) {
180
+ result.push(this.titlePropertyEditor);
181
+ }
182
+ if (this.titleTypographyEditor) {
183
+ result.push(this.titleTypographyEditor);
184
+ }
185
+ if (this.summaryEditor) {
186
+ result.push(this.summaryEditor);
187
+ }
188
+ if (this.summaryPropertyEditor) {
189
+ result.push(this.summaryPropertyEditor);
190
+ }
191
+ if (this.summaryTypographyEditor) {
192
+ result.push(this.summaryTypographyEditor);
193
+ }
40
194
  if (this.captionEditor) {
41
195
  result.push(this.captionEditor);
42
196
  }
197
+ if (this.captionTypographyEditor) {
198
+ result.push(this.captionTypographyEditor);
199
+ }
200
+ if (this.captionPropertyEditor) {
201
+ result.push(this.captionPropertyEditor);
202
+ }
43
203
  return result;
44
204
  }
45
205
  }
@@ -12,7 +12,7 @@ class VelcronPropertyMappingEditorBuilder extends VelcronEditorBuilderBase_1.Vel
12
12
  this.editor = {
13
13
  name: "Properties",
14
14
  type: "enterprise-property",
15
- stateMapping: "propertyItems",
15
+ stateMapping: "properties.mappings",
16
16
  propertyMapping: true,
17
17
  multiple: true,
18
18
  };
@@ -1,11 +1,16 @@
1
- import { ColorSchemaType } from "@omnia/fx-models";
1
+ import { ColorSchemaType, VelcronState } from "@omnia/fx-models";
2
2
  import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
3
3
  export declare class VelcronColorSchemaStateBuilder extends VelcronStateBuilderBase {
4
4
  private colorSchema;
5
+ private filledValue;
5
6
  constructor(stateBuilder: any);
6
- add(colorSchema?: ColorSchemaType): VelcronColorSchemaStateBuilder;
7
- bind: string;
8
- protected internalBuild(): {
9
- colorSchemaType: "info" | "error" | "primary" | "secondary" | "accent1" | "accent2" | "accent3" | "neutral" | "background";
7
+ type: {
8
+ add(colorSchema?: ColorSchemaType): VelcronColorSchemaStateBuilder;
9
+ bind: string;
10
10
  };
11
+ filled: {
12
+ add(filled: boolean): VelcronColorSchemaStateBuilder;
13
+ bind: any;
14
+ };
15
+ protected internalBuild(): VelcronState;
11
16
  }
@@ -5,15 +5,27 @@ const VelcronStateBuilderBase_1 = require("./VelcronStateBuilderBase");
5
5
  class VelcronColorSchemaStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBuilderBase {
6
6
  constructor(stateBuilder) {
7
7
  super(stateBuilder);
8
- this.bind = "{{colorSchemaType}}";
9
- }
10
- add(colorSchema) {
11
- this.colorSchema = colorSchema;
12
- return this;
8
+ this.type = {
9
+ add(colorSchema) {
10
+ this.colorSchema = colorSchema;
11
+ return this;
12
+ },
13
+ bind: "{{colorSchemaType.type}}"
14
+ };
15
+ this.filled = {
16
+ add(filled) {
17
+ this.filledValue = filled;
18
+ return this;
19
+ },
20
+ bind: "{{colorSchemaType.filled}}"
21
+ };
13
22
  }
14
23
  internalBuild() {
15
24
  return {
16
- colorSchemaType: this.colorSchema
25
+ colorSchema: {
26
+ type: this.colorSchema,
27
+ filled: this.filledValue
28
+ }
17
29
  };
18
30
  }
19
31
  }
@@ -1,17 +1,11 @@
1
+ import { VelcronState } from "@omnia/fx-models";
1
2
  import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
3
+ import { VelcronTextContentBuilder } from "./VelcronTextContentBuilder";
2
4
  export declare class VelcronContentStateBuilder extends VelcronStateBuilderBase {
3
- private mainContent;
4
- private captionContent;
5
+ main: VelcronTextContentBuilder<VelcronContentStateBuilder>;
6
+ caption: VelcronTextContentBuilder<VelcronContentStateBuilder>;
7
+ title: VelcronTextContentBuilder<VelcronContentStateBuilder>;
8
+ summary: VelcronTextContentBuilder<VelcronContentStateBuilder>;
5
9
  constructor(stateBuilder: any);
6
- main: {
7
- add: (value?: string) => VelcronContentStateBuilder;
8
- bind: string;
9
- };
10
- caption: {
11
- add: (value?: string) => VelcronContentStateBuilder;
12
- bind: string;
13
- };
14
- protected internalBuild(): {
15
- content: {};
16
- };
10
+ protected internalBuild(): VelcronState;
17
11
  }
@@ -2,34 +2,42 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VelcronContentStateBuilder = void 0;
4
4
  const VelcronStateBuilderBase_1 = require("./VelcronStateBuilderBase");
5
+ const VelcronTextContentBuilder_1 = require("./VelcronTextContentBuilder");
6
+ // title?: VelcronTextState;
7
+ // summary?: VelcronTextState;
5
8
  class VelcronContentStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBuilderBase {
6
9
  constructor(stateBuilder) {
7
10
  super(stateBuilder);
8
- this.main = {
9
- add: (value) => {
10
- this.mainContent = value;
11
- return this;
12
- },
13
- bind: "$state.content.main"
14
- };
15
- this.caption = {
16
- add: (value) => {
17
- this.captionContent = value;
18
- return this;
19
- },
20
- bind: "{{content.caption}}"
21
- };
11
+ this.main = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.main");
12
+ this.caption = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.caption");
13
+ this.title = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.title");
14
+ this.summary = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.summary");
22
15
  }
23
16
  internalBuild() {
24
17
  const resultValue = {};
25
18
  let hasContent = false;
26
- if (this.mainContent) {
27
- resultValue["main"] = this.mainContent;
19
+ const mainContent = this.main.internalBuild();
20
+ const captionContent = this.caption.internalBuild();
21
+ const titleContent = this.title.internalBuild();
22
+ const summaryContent = this.summary.internalBuild();
23
+ if (mainContent) {
24
+ hasContent = true;
25
+ resultValue.main = mainContent;
26
+ }
27
+ if (captionContent) {
28
28
  hasContent = true;
29
+ resultValue.caption = captionContent;
29
30
  }
30
- if (this.captionContent) {
31
- resultValue["caption"] = this.captionContent;
31
+ if (titleContent) {
32
32
  hasContent = true;
33
+ resultValue.title = titleContent;
34
+ }
35
+ if (summaryContent) {
36
+ hasContent = true;
37
+ resultValue.summary = summaryContent;
38
+ }
39
+ if (!hasContent) {
40
+ return null;
33
41
  }
34
42
  return {
35
43
  content: resultValue
@@ -1,4 +1,4 @@
1
- import { VelcronImageRatios } from "../../models";
1
+ import { VelcronImageRatios, VelcronState } from "@omnia/fx-models";
2
2
  import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
3
3
  export declare class VelcronImageStateBuilder extends VelcronStateBuilderBase {
4
4
  private mainImageUrl;
@@ -14,7 +14,5 @@ export declare class VelcronImageStateBuilder extends VelcronStateBuilderBase {
14
14
  bind: string;
15
15
  };
16
16
  };
17
- protected internalBuild(): {
18
- "main-image": {};
19
- };
17
+ protected internalBuild(): VelcronState;
20
18
  }
@@ -11,14 +11,14 @@ class VelcronImageStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBui
11
11
  this.mainImageUrl = url;
12
12
  return this;
13
13
  },
14
- bind: "{{main-image.url}}"
14
+ bind: "{{images.main.url}}"
15
15
  },
16
16
  ratio: {
17
17
  add: (ratio) => {
18
18
  this.mainImageRatio = ratio;
19
19
  return this;
20
20
  },
21
- bind: "{{main-image.ratio}}"
21
+ bind: "{{images.main.ratio}}"
22
22
  }
23
23
  };
24
24
  }
@@ -26,16 +26,22 @@ class VelcronImageStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBui
26
26
  if (!this.mainImageUrl) {
27
27
  return null;
28
28
  }
29
+ let hasContent = false;
29
30
  const resultValue = {};
30
31
  if (this.mainImageRatio) {
31
32
  resultValue["ratio"] = this.mainImageRatio;
33
+ hasContent = true;
32
34
  }
33
35
  if (this.mainImageUrl) {
34
36
  resultValue["url"] = this.mainImageUrl;
37
+ hasContent = true;
38
+ }
39
+ if (!hasContent) {
40
+ return null;
35
41
  }
36
42
  return {
37
- "main-image": {
38
- ...resultValue
43
+ images: {
44
+ main: resultValue
39
45
  }
40
46
  };
41
47
  }
@@ -1,11 +1,12 @@
1
+ import { VelcronState } from "@omnia/fx-models";
1
2
  import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
2
3
  export declare class VelcronPropertyMappingStateBuilder extends VelcronStateBuilderBase {
3
4
  private propertyItemsValue;
4
5
  constructor(stateBuilder: any);
5
- propertyItems: {
6
+ items: {
6
7
  add: (items?: any[]) => VelcronPropertyMappingStateBuilder;
7
8
  bind: string;
8
9
  foreach: string;
9
10
  };
10
- protected internalBuild(): {};
11
+ protected internalBuild(): VelcronState;
11
12
  }
@@ -6,23 +6,30 @@ class VelcronPropertyMappingStateBuilder extends VelcronStateBuilderBase_1.Velcr
6
6
  constructor(stateBuilder) {
7
7
  super(stateBuilder);
8
8
  this.propertyItemsValue = [];
9
- this.propertyItems = {
9
+ this.items = {
10
10
  add: (items) => {
11
11
  this.propertyItemsValue = items;
12
12
  return this;
13
13
  },
14
- bind: "$propertyItems",
15
- foreach: "propertyItems"
14
+ bind: "$properties.mappings",
15
+ foreach: "properties.mappings"
16
16
  };
17
17
  }
18
18
  internalBuild() {
19
19
  const resultValue = {};
20
20
  let hasContent = false;
21
21
  if (this.propertyItemsValue) {
22
- resultValue.propertyItems = this.propertyItemsValue;
22
+ resultValue.mappings = this.propertyItemsValue;
23
23
  hasContent = true;
24
24
  }
25
- return resultValue;
25
+ if (!hasContent) {
26
+ return null;
27
+ }
28
+ return {
29
+ properties: {
30
+ ...resultValue
31
+ }
32
+ };
26
33
  }
27
34
  }
28
35
  exports.VelcronPropertyMappingStateBuilder = VelcronPropertyMappingStateBuilder;
@@ -1,3 +1,4 @@
1
+ import { VelcronState } from "@omnia/fx-models";
1
2
  import { VelcronColorSchemaStateBuilder } from "./VelcronColorSchemaBuilder";
2
3
  import { VelcronContentStateBuilder } from "./VelcronContentStateBuilder";
3
4
  import { VelcronImageStateBuilder } from "./VelcronImageStateBuilder";
@@ -11,5 +12,5 @@ export declare class VelcronStateBuilder {
11
12
  image(): VelcronImageStateBuilder;
12
13
  colorSchemaType(): VelcronColorSchemaStateBuilder;
13
14
  properties(): VelcronPropertyMappingStateBuilder;
14
- build(): any;
15
+ build(): VelcronState;
15
16
  }
@@ -1,8 +1,12 @@
1
1
  import { VelcronStateBuilder } from "./VelcronStateBuilder";
2
- export declare abstract class VelcronStateBuilderBase {
2
+ export declare abstract class VelcronStateBuilderStrategy {
3
+ abstract done(): any;
4
+ protected abstract internalBuild(): any;
5
+ }
6
+ export declare abstract class VelcronStateBuilderBase extends VelcronStateBuilderStrategy {
3
7
  protected stateBuilder: VelcronStateBuilder;
4
- constructor(stateBulder: VelcronStateBuilder);
8
+ constructor(stateBuilder: VelcronStateBuilder);
5
9
  done(): VelcronStateBuilder;
6
- build(): any;
10
+ build(): import("@omnia/fx-models").VelcronState;
7
11
  protected abstract internalBuild(): any;
8
12
  }
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VelcronStateBuilderBase = void 0;
4
- class VelcronStateBuilderBase {
5
- constructor(stateBulder) {
6
- this.stateBuilder = stateBulder;
3
+ exports.VelcronStateBuilderBase = exports.VelcronStateBuilderStrategy = void 0;
4
+ class VelcronStateBuilderStrategy {
5
+ }
6
+ exports.VelcronStateBuilderStrategy = VelcronStateBuilderStrategy;
7
+ class VelcronStateBuilderBase extends VelcronStateBuilderStrategy {
8
+ constructor(stateBuilder) {
9
+ super();
10
+ this.stateBuilder = stateBuilder;
7
11
  }
8
12
  done() {
9
13
  return this.stateBuilder;
@@ -0,0 +1,32 @@
1
+ import { TypographySize, TypographyType, VelcronTextState, VelcronTypographyState } from "@omnia/fx-models";
2
+ import { VelcronStateBuilderStrategy } from "./VelcronStateBuilderBase";
3
+ export declare class VelcronTextContentBuilder<TBaseBuilder> extends VelcronStateBuilderStrategy {
4
+ private _textState;
5
+ private bindingContextValue;
6
+ private _typographyState;
7
+ private baseBuilder;
8
+ constructor(baseBuilder: TBaseBuilder, bind: string);
9
+ get typographyState(): VelcronTypographyState;
10
+ get textState(): VelcronTextState;
11
+ get bindingContext(): string;
12
+ text: {
13
+ add: (value: string) => VelcronTextContentBuilder<TBaseBuilder>;
14
+ bind: () => string;
15
+ };
16
+ typography: {
17
+ type: {
18
+ add: (type: TypographyType) => VelcronTextContentBuilder<TBaseBuilder>;
19
+ bind: () => string;
20
+ };
21
+ size: {
22
+ add: (size: TypographySize) => VelcronTextContentBuilder<TBaseBuilder>;
23
+ bind: () => string;
24
+ };
25
+ toned: {
26
+ add: (toned: boolean) => VelcronTextContentBuilder<TBaseBuilder>;
27
+ bind: () => string;
28
+ };
29
+ };
30
+ done(): TBaseBuilder;
31
+ protected internalBuild(): VelcronTextState;
32
+ }
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VelcronTextContentBuilder = void 0;
4
+ const VelcronStateBuilderBase_1 = require("./VelcronStateBuilderBase");
5
+ // export interface VelcronTextState {
6
+ // text:string,
7
+ // typography?:{
8
+ // type?: TypographyType,
9
+ // size?:TypographySize
10
+ // toned?:boolean;
11
+ // }
12
+ // }
13
+ class VelcronTextContentBuilder extends VelcronStateBuilderBase_1.VelcronStateBuilderStrategy {
14
+ constructor(baseBuilder, bind) {
15
+ super();
16
+ this._textState = undefined;
17
+ this.bindingContextValue = undefined;
18
+ this._typographyState = undefined;
19
+ // :VelcronTextContentBuilder<TBaseBuilder>
20
+ this.text = {
21
+ add: (value) => {
22
+ this.textState.text = value;
23
+ return this;
24
+ },
25
+ bind: () => { return `{{ ${this.bindingContextValue}.text }}`; }
26
+ };
27
+ this.typography = {
28
+ type: {
29
+ add: (type) => {
30
+ this.typographyState.type = type;
31
+ return this;
32
+ },
33
+ bind: () => { return `{{ ${this.bindingContextValue}.typography.type }}`; }
34
+ },
35
+ size: {
36
+ add: (size) => {
37
+ this.typographyState.size = size;
38
+ return this;
39
+ },
40
+ bind: () => { return `{{ ${this.bindingContextValue}.typography.size }}`; }
41
+ },
42
+ toned: {
43
+ add: (toned) => {
44
+ this.typographyState.toned = toned;
45
+ return this;
46
+ },
47
+ bind: () => { return `{{ ${this.bindingContextValue}.typography.toned }}`; }
48
+ }
49
+ };
50
+ this.baseBuilder = baseBuilder;
51
+ this.bindingContextValue = bind;
52
+ }
53
+ get typographyState() {
54
+ if (!this._typographyState) {
55
+ this._typographyState = {};
56
+ }
57
+ return this._typographyState;
58
+ }
59
+ get textState() {
60
+ if (!this._textState) {
61
+ this._textState = {};
62
+ }
63
+ return this._textState;
64
+ }
65
+ get bindingContext() {
66
+ return this.bindingContextValue;
67
+ }
68
+ // typography(type?: TypographyType,size?:TypographySize,toned?:boolean):VelcronTextContentBuilder<TBaseBuilder>{
69
+ // this.textState.typography = {
70
+ // type:type,
71
+ // size:size,
72
+ // toned:toned
73
+ // };
74
+ // return this;
75
+ // }
76
+ done() {
77
+ return this.baseBuilder;
78
+ }
79
+ internalBuild() {
80
+ const resultValue = {};
81
+ let hasContent = false;
82
+ // if(this.mainContent){
83
+ // resultValue["main"] = this.mainContent;
84
+ // hasContent = true;
85
+ // }
86
+ // if(this.captionContent){
87
+ // resultValue["caption"] = this.captionContent;
88
+ // hasContent = true;
89
+ // }
90
+ // if(!hasContent){
91
+ // return null;
92
+ // }
93
+ // return <VelcronState>{
94
+ // content: resultValue as VelcronContentState
95
+ // };
96
+ if (this._textState) {
97
+ hasContent = true;
98
+ resultValue.text = this._textState.text;
99
+ }
100
+ if (this._typographyState) {
101
+ hasContent = true;
102
+ resultValue.typography = this._typographyState;
103
+ }
104
+ if (!hasContent) {
105
+ return null;
106
+ }
107
+ return resultValue;
108
+ }
109
+ }
110
+ exports.VelcronTextContentBuilder = VelcronTextContentBuilder;