@ebuilding/bi 2.3.9

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 (64) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/basic/index.d.ts +1 -0
  4. package/basic/src/components/basic.service.d.ts +19 -0
  5. package/basic/src/components/card1/index.d.ts +19 -0
  6. package/basic/src/components/card2/index.d.ts +19 -0
  7. package/basic/src/components/card3/index.d.ts +19 -0
  8. package/basic/src/components/card4/index.d.ts +19 -0
  9. package/basic/src/components/image/index.d.ts +17 -0
  10. package/basic/src/components/line1/index.d.ts +13 -0
  11. package/basic/src/components/line2/index.d.ts +13 -0
  12. package/basic/src/components/number/index.d.ts +18 -0
  13. package/basic/src/components/table/index.d.ts +18 -0
  14. package/basic/src/components/text/index.d.ts +16 -0
  15. package/basic/src/components/time1/index.d.ts +22 -0
  16. package/basic/src/components/time2/index.d.ts +23 -0
  17. package/basic/src/default/index.d.ts +20 -0
  18. package/basic/src/index.module.d.ts +19 -0
  19. package/basic/src/public_api.d.ts +2 -0
  20. package/border/index.d.ts +1 -0
  21. package/border/src/components/1/index.d.ts +17 -0
  22. package/border/src/components/10/index.d.ts +16 -0
  23. package/border/src/components/11/index.d.ts +20 -0
  24. package/border/src/components/12/index.d.ts +18 -0
  25. package/border/src/components/2/index.d.ts +19 -0
  26. package/border/src/components/3/index.d.ts +21 -0
  27. package/border/src/components/4/index.d.ts +27 -0
  28. package/border/src/components/5/index.d.ts +23 -0
  29. package/border/src/components/6/index.d.ts +29 -0
  30. package/border/src/components/7/index.d.ts +24 -0
  31. package/border/src/components/8/index.d.ts +18 -0
  32. package/border/src/components/9/index.d.ts +17 -0
  33. package/border/src/components/basic.service.d.ts +28 -0
  34. package/border/src/default/index.d.ts +21 -0
  35. package/border/src/index.module.d.ts +19 -0
  36. package/border/src/public_api.d.ts +2 -0
  37. package/decorator/index.d.ts +1 -0
  38. package/decorator/src/components/1/index.d.ts +15 -0
  39. package/decorator/src/components/10/index.d.ts +19 -0
  40. package/decorator/src/components/11/index.d.ts +15 -0
  41. package/decorator/src/components/12/index.d.ts +15 -0
  42. package/decorator/src/components/13/index.d.ts +22 -0
  43. package/decorator/src/components/2/index.d.ts +15 -0
  44. package/decorator/src/components/3/index.d.ts +15 -0
  45. package/decorator/src/components/4/index.d.ts +15 -0
  46. package/decorator/src/components/5/index.d.ts +15 -0
  47. package/decorator/src/components/6/index.d.ts +15 -0
  48. package/decorator/src/components/7/index.d.ts +18 -0
  49. package/decorator/src/components/8/index.d.ts +15 -0
  50. package/decorator/src/components/9/index.d.ts +19 -0
  51. package/decorator/src/components/basic.service.d.ts +19 -0
  52. package/decorator/src/default/index.d.ts +21 -0
  53. package/decorator/src/index.module.d.ts +20 -0
  54. package/decorator/src/public_api.d.ts +2 -0
  55. package/fesm2022/bi.basic.mjs +888 -0
  56. package/fesm2022/bi.basic.mjs.map +1 -0
  57. package/fesm2022/bi.border.mjs +1383 -0
  58. package/fesm2022/bi.border.mjs.map +1 -0
  59. package/fesm2022/bi.decorator.mjs +1340 -0
  60. package/fesm2022/bi.decorator.mjs.map +1 -0
  61. package/fesm2022/ebuilding-bi.mjs +3580 -0
  62. package/fesm2022/ebuilding-bi.mjs.map +1 -0
  63. package/index.d.ts +3 -0
  64. package/package.json +32 -0
@@ -0,0 +1,3580 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Input, Directive, Component, ViewContainerRef, ViewChild, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/common';
4
+ import { CommonModule, DecimalPipe, DatePipe } from '@angular/common';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import * as i3 from '@ebuilding/base/shared.pipe';
7
+ import { GramPipeModule } from '@ebuilding/base/shared.pipe';
8
+ import * as i1 from '@ebuilding/base/shared.srv/global.event';
9
+ import { Guid } from '@ebuilding/base/shared.util/guid';
10
+
11
+ let BasicService$2 = class BasicService {
12
+ globalSrv;
13
+ _data = null;
14
+ transform = null;
15
+ width = 0;
16
+ height = 0;
17
+ set data(value) {
18
+ this._data = value;
19
+ this.initPageData(value);
20
+ }
21
+ get data() {
22
+ return this._data;
23
+ }
24
+ set rd(value) {
25
+ if (value != undefined && value != null) {
26
+ this.initPageData(this.data);
27
+ }
28
+ }
29
+ constructor(globalSrv) {
30
+ this.globalSrv = globalSrv;
31
+ }
32
+ ngOnDestroy() {
33
+ }
34
+ initPageData(value) {
35
+ if (value) {
36
+ }
37
+ }
38
+ initStyle() {
39
+ let template = '';
40
+ if (this.data && this.data.font) {
41
+ if (this.data.font.type) {
42
+ template = `${template} font-style: ${this.data.font.type};`;
43
+ }
44
+ if (this.data.font.spacing) {
45
+ template = `${template} letter-spacing: ${this.data.font.spacing}px;`;
46
+ }
47
+ if (this.data.font.size) {
48
+ template = `${template} font-size: ${this.data.font.size}px;`;
49
+ }
50
+ if (this.data.font.weight) {
51
+ template = `${template} font-weight: ${this.data.font.weight};`;
52
+ }
53
+ if (this.data.font.align) {
54
+ template = `${template} text-align: ${this.data.font.align};`;
55
+ }
56
+ if (this.data.font.colorType == 'single') {
57
+ template = `${template} color: ${this.data.font.color}; `;
58
+ }
59
+ else {
60
+ template = `${template} background: linear-gradient(${this.data.font.direction},${this.data.font.color0},${this.data.font.color1});-webkit-background-clip: text !important; -webkit-text-fill-color: transparent;`;
61
+ }
62
+ }
63
+ return template;
64
+ }
65
+ getPageValue() {
66
+ let value = "";
67
+ if (this.data.source.type == 'dynamic') {
68
+ if (this.data?.source?.value != undefined && this.data?.source?.value != null && this.data?.source?.value != "") {
69
+ value = this.data?.source?.value;
70
+ }
71
+ }
72
+ else {
73
+ if (this.data?.source?.staticValue != undefined && this.data?.source?.staticValue != null && this.data?.source?.staticValue != "") {
74
+ value = this.data?.source?.staticValue;
75
+ }
76
+ }
77
+ if (value == undefined || value == null) {
78
+ value = "";
79
+ }
80
+ return value;
81
+ }
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Directive });
83
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: BasicService, isStandalone: true, inputs: { data: "data", rd: "rd" }, ngImport: i0 });
84
+ };
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService$2, decorators: [{
86
+ type: Directive
87
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }], propDecorators: { data: [{
88
+ type: Input
89
+ }], rd: [{
90
+ type: Input
91
+ }] } });
92
+
93
+ class BasicTextComponent extends BasicService$2 {
94
+ globalSrv;
95
+ width = 200;
96
+ height = 60;
97
+ svgTemplate = ``;
98
+ constructor(globalSrv) {
99
+ super(globalSrv);
100
+ this.globalSrv = globalSrv;
101
+ }
102
+ ngOnInit() {
103
+ }
104
+ initPageData(value) {
105
+ this.svgTemplate = this.initTemplate();
106
+ }
107
+ initTemplate() {
108
+ let value = this.getPageValue();
109
+ let template = `<div style="${this.initStyle()}">${value}</div>`;
110
+ return template;
111
+ }
112
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTextComponent, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
113
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicTextComponent, isStandalone: true, selector: "basic-text", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"content-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .content-box{width:100%;text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
114
+ }
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTextComponent, decorators: [{
116
+ type: Component,
117
+ args: [{ selector: 'basic-text', imports: [
118
+ CommonModule,
119
+ FormsModule, ReactiveFormsModule,
120
+ GramPipeModule
121
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"content-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .content-box{width:100%;text-align:center}\n"] }]
122
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
123
+
124
+ class BasicNumberComponent extends BasicService$2 {
125
+ decimalPipe;
126
+ globalSrv;
127
+ width = 200;
128
+ height = 60;
129
+ svgTemplate = ``;
130
+ constructor(decimalPipe, globalSrv) {
131
+ super(globalSrv);
132
+ this.decimalPipe = decimalPipe;
133
+ this.globalSrv = globalSrv;
134
+ }
135
+ ngOnInit() {
136
+ }
137
+ initPageData(value) {
138
+ this.svgTemplate = this.initTemplate();
139
+ }
140
+ initTemplate() {
141
+ let value = this.getPageValue();
142
+ if (value != undefined && value != null && value != "") {
143
+ if (this.data?.font?.thousands == true) {
144
+ let formattedNumber = this.decimalPipe.transform(value, '1.0-0');
145
+ return `<div style="${this.initStyle()}">${formattedNumber}</div>`;
146
+ }
147
+ else {
148
+ return `<div style="${this.initStyle()}">${value}</div>`;
149
+ }
150
+ }
151
+ else {
152
+ return "";
153
+ }
154
+ }
155
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicNumberComponent, deps: [{ token: i2.DecimalPipe }, { token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
156
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicNumberComponent, isStandalone: true, selector: "basic-number", providers: [DecimalPipe], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-box{width:100%;text-align:center;font-family:ds-digitalbold}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
157
+ }
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicNumberComponent, decorators: [{
159
+ type: Component,
160
+ args: [{ selector: 'basic-number', imports: [
161
+ CommonModule,
162
+ FormsModule, ReactiveFormsModule,
163
+ GramPipeModule
164
+ ], providers: [DecimalPipe], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-box{width:100%;text-align:center;font-family:ds-digitalbold}\n"] }]
165
+ }], ctorParameters: () => [{ type: i2.DecimalPipe }, { type: i1.GramGlobalService }] });
166
+
167
+ class BasicLine1Component extends BasicService$2 {
168
+ globalSrv;
169
+ width = 300;
170
+ height = 40;
171
+ constructor(globalSrv) {
172
+ super(globalSrv);
173
+ this.globalSrv = globalSrv;
174
+ }
175
+ ngOnInit() {
176
+ }
177
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicLine1Component, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
178
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicLine1Component, isStandalone: true, selector: "basic-line1", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div class=\"custom-border-box\"\r\n style=\"height: 4px; opacity: 100; background-image: linear-gradient(to right, rgb(131, 191, 246), rgb(24, 141, 240));\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep .control-box{width:100%;text-align:center;-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }] });
179
+ }
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicLine1Component, decorators: [{
181
+ type: Component,
182
+ args: [{ selector: 'basic-line1', imports: [
183
+ CommonModule,
184
+ FormsModule, ReactiveFormsModule,
185
+ GramPipeModule
186
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div class=\"custom-border-box\"\r\n style=\"height: 4px; opacity: 100; background-image: linear-gradient(to right, rgb(131, 191, 246), rgb(24, 141, 240));\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep .control-box{width:100%;text-align:center;-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n"] }]
187
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
188
+
189
+ class BasicLine2Component extends BasicService$2 {
190
+ globalSrv;
191
+ width = 40;
192
+ height = 300;
193
+ constructor(globalSrv) {
194
+ super(globalSrv);
195
+ this.globalSrv = globalSrv;
196
+ }
197
+ ngOnInit() {
198
+ }
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicLine2Component, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicLine2Component, isStandalone: true, selector: "basic-line2", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div class=\"custom-border-box\"\r\n style=\"width: 4px; opacity: 100; background-image: linear-gradient(rgb(131, 191, 246), rgb(24, 141, 240));\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep .control-box{width:100%;text-align:center;-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }] });
201
+ }
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicLine2Component, decorators: [{
203
+ type: Component,
204
+ args: [{ selector: 'basic-line2', imports: [
205
+ CommonModule,
206
+ FormsModule, ReactiveFormsModule,
207
+ GramPipeModule
208
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div class=\"custom-border-box\"\r\n style=\"width: 4px; opacity: 100; background-image: linear-gradient(rgb(131, 191, 246), rgb(24, 141, 240));\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep .control-box{width:100%;text-align:center;-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n"] }]
209
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
210
+
211
+ class BasicCardComponent1 extends BasicService$2 {
212
+ globalSrv;
213
+ width = 300;
214
+ height = 120;
215
+ svgTemplate = ``;
216
+ constructor(globalSrv) {
217
+ super(globalSrv);
218
+ this.globalSrv = globalSrv;
219
+ }
220
+ ngOnInit() {
221
+ }
222
+ initPageData(value) {
223
+ this.svgTemplate = this.initTemplate();
224
+ }
225
+ initTemplate() {
226
+ let value = this.getPageValue();
227
+ let template = `
228
+ <div class="info-box" style="${this.initBgStyle()}">
229
+ <div class="info-value" style="${this.initValueStyle()}">${value}</div>
230
+ <div class="info-second" style="${this.initSecondStyle()}">${this.data.source?.secondValue}</div>
231
+ </div>
232
+ `;
233
+ return template;
234
+ }
235
+ initBgStyle() {
236
+ let template = '';
237
+ if (this.data && this.data.font) {
238
+ if (this.data.font?.bgColorType == 'single') {
239
+ template = `background: ${this.data.font.color};`;
240
+ }
241
+ else {
242
+ template = `background-image: linear-gradient(${this.data.font?.bgDirection},${this.data.font?.bgColor0},${this.data.font?.bgColor1});`;
243
+ }
244
+ template = `${template} width:${this.data.width}px;height:${this.data.height}px;display: flex;`;
245
+ }
246
+ return template;
247
+ }
248
+ initValueStyle() {
249
+ let template = '';
250
+ if (this.data && this.data.font) {
251
+ if (this.data.font?.type) {
252
+ template = `${template} font-style: ${this.data.font.type};`;
253
+ }
254
+ if (this.data.font?.size) {
255
+ template = `${template} font-size: ${this.data.font.size}px;`;
256
+ }
257
+ if (this.data.font?.weight) {
258
+ template = `${template} font-weight: ${this.data.font.weight};`;
259
+ }
260
+ if (this.data.font?.color) {
261
+ template = `${template} color: ${this.data.font.color};`;
262
+ }
263
+ if (this.data.font?.lineDistance) {
264
+ template = `${template} margin-bottom: ${this.data.font.lineDistance}px;`;
265
+ }
266
+ }
267
+ return template;
268
+ }
269
+ initSecondStyle() {
270
+ let template = '';
271
+ if (this.data && this.data.font) {
272
+ if (this.data.font?.secondType) {
273
+ template = `${template} font-style: ${this.data.font.secondType};`;
274
+ }
275
+ if (this.data.font?.secondSize) {
276
+ template = `${template} font-size: ${this.data.font.secondSize}px;`;
277
+ }
278
+ if (this.data.font?.secondWeight) {
279
+ template = `${template} font-weight: ${this.data.font.secondWeight};`;
280
+ }
281
+ if (this.data.font?.secondColor) {
282
+ template = `${template} color: ${this.data.font.secondColor};`;
283
+ }
284
+ }
285
+ return template;
286
+ }
287
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent1, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
288
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicCardComponent1, isStandalone: true, selector: "basic-card1", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex:1;width:100%;height:100%;justify-content:center;flex-direction:column;text-align:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
289
+ }
290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent1, decorators: [{
291
+ type: Component,
292
+ args: [{ selector: 'basic-card1', imports: [
293
+ CommonModule,
294
+ FormsModule, ReactiveFormsModule,
295
+ GramPipeModule
296
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex:1;width:100%;height:100%;justify-content:center;flex-direction:column;text-align:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}\n"] }]
297
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
298
+
299
+ class BasicCardComponent2 extends BasicService$2 {
300
+ globalSrv;
301
+ width = 300;
302
+ height = 120;
303
+ svgTemplate = ``;
304
+ constructor(globalSrv) {
305
+ super(globalSrv);
306
+ this.globalSrv = globalSrv;
307
+ }
308
+ ngOnInit() {
309
+ }
310
+ initPageData(value) {
311
+ this.svgTemplate = this.initTemplate();
312
+ }
313
+ initTemplate() {
314
+ let value = this.getPageValue();
315
+ let template = `
316
+ <div class="info-box" style="${this.initBgStyle()}">
317
+ <div class="info-second" style="${this.initSecondStyle()}">${this.data.source?.secondValue}</div>
318
+ <div class="info-value" style="${this.initValueStyle()}">${value}</div>
319
+ </div>
320
+ `;
321
+ return template;
322
+ }
323
+ initBgStyle() {
324
+ let template = '';
325
+ if (this.data && this.data.font) {
326
+ if (this.data.font?.bgColorType == 'single') {
327
+ template = `background: ${this.data.font.color};`;
328
+ }
329
+ else {
330
+ template = `background-image: linear-gradient(${this.data.font?.bgDirection},${this.data.font?.bgColor0},${this.data.font?.bgColor1});`;
331
+ }
332
+ template = `${template} width:${this.data.width}px;height:${this.data.height}px;display: flex;`;
333
+ }
334
+ return template;
335
+ }
336
+ initValueStyle() {
337
+ let template = '';
338
+ if (this.data && this.data.font) {
339
+ if (this.data.font?.type) {
340
+ template = `${template} font-style: ${this.data.font.type};`;
341
+ }
342
+ if (this.data.font?.size) {
343
+ template = `${template} font-size: ${this.data.font.size}px;`;
344
+ }
345
+ if (this.data.font?.weight) {
346
+ template = `${template} font-weight: ${this.data.font.weight};`;
347
+ }
348
+ if (this.data.font?.color) {
349
+ template = `${template} color: ${this.data.font.color};`;
350
+ }
351
+ }
352
+ return template;
353
+ }
354
+ initSecondStyle() {
355
+ let template = '';
356
+ if (this.data && this.data.font) {
357
+ if (this.data.font?.secondType) {
358
+ template = `${template} font-style: ${this.data.font.secondType};`;
359
+ }
360
+ if (this.data.font?.secondSize) {
361
+ template = `${template} font-size: ${this.data.font.secondSize}px;`;
362
+ }
363
+ if (this.data.font?.secondWeight) {
364
+ template = `${template} font-weight: ${this.data.font.secondWeight};`;
365
+ }
366
+ if (this.data.font?.secondColor) {
367
+ template = `${template} color: ${this.data.font.secondColor};`;
368
+ }
369
+ if (this.data.font?.lineDistance) {
370
+ template = `${template} margin-bottom: ${this.data.font.lineDistance}px;`;
371
+ }
372
+ }
373
+ return template;
374
+ }
375
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent2, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
376
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicCardComponent2, isStandalone: true, selector: "basic-card2", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex:1;width:100%;height:100%;justify-content:center;flex-direction:column;text-align:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}:host ::ng-deep .info-second{padding:15px 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
377
+ }
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent2, decorators: [{
379
+ type: Component,
380
+ args: [{ selector: 'basic-card2', imports: [
381
+ CommonModule,
382
+ FormsModule, ReactiveFormsModule,
383
+ GramPipeModule
384
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex:1;width:100%;height:100%;justify-content:center;flex-direction:column;text-align:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}:host ::ng-deep .info-second{padding:15px 0 0}\n"] }]
385
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
386
+
387
+ class BasicCardComponent3 extends BasicService$2 {
388
+ globalSrv;
389
+ width = 300;
390
+ height = 120;
391
+ svgTemplate = ``;
392
+ constructor(globalSrv) {
393
+ super(globalSrv);
394
+ this.globalSrv = globalSrv;
395
+ }
396
+ ngOnInit() {
397
+ }
398
+ initPageData(value) {
399
+ this.svgTemplate = this.initTemplate();
400
+ }
401
+ initTemplate() {
402
+ let value = this.getPageValue();
403
+ let template = `
404
+ <div class="info-box" style="${this.initBgStyle()}">
405
+ <div class="info-box-left">
406
+ <div style="width: 60px; height: 60px;">
407
+ <img src="/assets/images/design/basic/cardicon.png" style="object-fit: contain;">
408
+ </div>
409
+ </div>
410
+ <div class="info-box-right">
411
+ <div class="info-value" style="${this.initValueStyle()}">${value}</div>
412
+ <div class="info-second" style="${this.initSecondStyle()}">${this.data.source?.secondValue}</div>
413
+ </div>
414
+ </div>
415
+ `;
416
+ return template;
417
+ }
418
+ initBgStyle() {
419
+ let template = '';
420
+ if (this.data && this.data.font) {
421
+ if (this.data.font?.bgColorType == 'single') {
422
+ template = `background: ${this.data.font.color};`;
423
+ }
424
+ else {
425
+ template = `background-image: linear-gradient(${this.data.font?.bgDirection},${this.data.font?.bgColor0},${this.data.font?.bgColor1});`;
426
+ }
427
+ template = `${template} width:${this.data.width}px;height:${this.data.height}px;display: flex;`;
428
+ }
429
+ return template;
430
+ }
431
+ initValueStyle() {
432
+ let template = '';
433
+ if (this.data && this.data.font) {
434
+ if (this.data.font?.type) {
435
+ template = `${template} font-style: ${this.data.font.type};`;
436
+ }
437
+ if (this.data.font?.size) {
438
+ template = `${template} font-size: ${this.data.font.size}px;`;
439
+ }
440
+ if (this.data.font?.weight) {
441
+ template = `${template} font-weight: ${this.data.font.weight};`;
442
+ }
443
+ if (this.data.font?.color) {
444
+ template = `${template} color: ${this.data.font.color};`;
445
+ }
446
+ if (this.data.font?.lineDistance) {
447
+ template = `${template} margin-bottom: ${this.data.font.lineDistance}px;`;
448
+ }
449
+ }
450
+ return template;
451
+ }
452
+ initSecondStyle() {
453
+ let template = '';
454
+ if (this.data && this.data.font) {
455
+ if (this.data.font?.secondType) {
456
+ template = `${template} font-style: ${this.data.font.secondType};`;
457
+ }
458
+ if (this.data.font?.secondSize) {
459
+ template = `${template} font-size: ${this.data.font.secondSize}px;`;
460
+ }
461
+ if (this.data.font?.secondWeight) {
462
+ template = `${template} font-weight: ${this.data.font.secondWeight};`;
463
+ }
464
+ if (this.data.font?.secondColor) {
465
+ template = `${template} color: ${this.data.font.secondColor};`;
466
+ }
467
+ }
468
+ return template;
469
+ }
470
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent3, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
471
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicCardComponent3, isStandalone: true, selector: "basic-card3", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative}:host ::ng-deep .info-box-left{margin-right:30px;display:flex;flex-direction:row;height:100%;align-items:center}:host ::ng-deep .info-box-left img{width:100%;height:100%}:host ::ng-deep .info-box-right{position:relative;display:flex;flex-direction:column;height:100%;justify-content:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
472
+ }
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent3, decorators: [{
474
+ type: Component,
475
+ args: [{ selector: 'basic-card3', imports: [
476
+ CommonModule,
477
+ FormsModule, ReactiveFormsModule,
478
+ GramPipeModule
479
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative}:host ::ng-deep .info-box-left{margin-right:30px;display:flex;flex-direction:row;height:100%;align-items:center}:host ::ng-deep .info-box-left img{width:100%;height:100%}:host ::ng-deep .info-box-right{position:relative;display:flex;flex-direction:column;height:100%;justify-content:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}\n"] }]
480
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
481
+
482
+ class BasicCardComponent4 extends BasicService$2 {
483
+ globalSrv;
484
+ width = 300;
485
+ height = 120;
486
+ svgTemplate = ``;
487
+ constructor(globalSrv) {
488
+ super(globalSrv);
489
+ this.globalSrv = globalSrv;
490
+ }
491
+ ngOnInit() {
492
+ }
493
+ initPageData(value) {
494
+ this.svgTemplate = this.initTemplate();
495
+ }
496
+ initTemplate() {
497
+ let value = this.getPageValue();
498
+ let template = `
499
+ <div class="info-box" style="${this.initBgStyle()}">
500
+ <div class="info-box-left">
501
+ <div style="width: 60px; height: 60px;">
502
+ <img src="/assets/images/design/basic/cardicon.png" style="object-fit: contain;">
503
+ </div>
504
+ </div>
505
+ <div class="info-box-right">
506
+ <div class="info-second" style="${this.initSecondStyle()}">${this.data.source?.secondValue}</div>
507
+ <div class="info-value" style="${this.initValueStyle()}">${value}</div>
508
+ </div>
509
+ </div>
510
+ `;
511
+ return template;
512
+ }
513
+ initBgStyle() {
514
+ let template = '';
515
+ if (this.data && this.data.font) {
516
+ if (this.data.font?.bgColorType == 'single') {
517
+ template = `background: ${this.data.font.color};`;
518
+ }
519
+ else {
520
+ template = `background-image: linear-gradient(${this.data.font?.bgDirection},${this.data.font?.bgColor0},${this.data.font?.bgColor1});`;
521
+ }
522
+ template = `${template} width:${this.data.width}px;height:${this.data.height}px;display: flex;`;
523
+ }
524
+ return template;
525
+ }
526
+ initValueStyle() {
527
+ let template = '';
528
+ if (this.data && this.data.font) {
529
+ if (this.data.font?.type) {
530
+ template = `${template} font-style: ${this.data.font.type};`;
531
+ }
532
+ if (this.data.font?.size) {
533
+ template = `${template} font-size: ${this.data.font.size}px;`;
534
+ }
535
+ if (this.data.font?.weight) {
536
+ template = `${template} font-weight: ${this.data.font.weight};`;
537
+ }
538
+ if (this.data.font?.color) {
539
+ template = `${template} color: ${this.data.font.color};`;
540
+ }
541
+ }
542
+ return template;
543
+ }
544
+ initSecondStyle() {
545
+ let template = '';
546
+ if (this.data && this.data.font) {
547
+ if (this.data.font?.secondType) {
548
+ template = `${template} font-style: ${this.data.font.secondType};`;
549
+ }
550
+ if (this.data.font?.secondSize) {
551
+ template = `${template} font-size: ${this.data.font.secondSize}px;`;
552
+ }
553
+ if (this.data.font?.secondWeight) {
554
+ template = `${template} font-weight: ${this.data.font.secondWeight};`;
555
+ }
556
+ if (this.data.font?.secondColor) {
557
+ template = `${template} color: ${this.data.font.secondColor};`;
558
+ }
559
+ if (this.data.font?.lineDistance) {
560
+ template = `${template} margin-bottom: ${this.data.font.lineDistance}px;`;
561
+ }
562
+ }
563
+ return template;
564
+ }
565
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent4, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
566
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicCardComponent4, isStandalone: true, selector: "basic-card4", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative}:host ::ng-deep .info-box-left{margin-right:30px;display:flex;flex-direction:row;height:100%;align-items:center}:host ::ng-deep .info-box-left img{width:100%;height:100%}:host ::ng-deep .info-box-right{position:relative;display:flex;flex-direction:column;height:100%;justify-content:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}:host ::ng-deep .info-second{padding:15px 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
567
+ }
568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicCardComponent4, decorators: [{
569
+ type: Component,
570
+ args: [{ selector: 'basic-card4', imports: [
571
+ CommonModule,
572
+ FormsModule, ReactiveFormsModule,
573
+ GramPipeModule
574
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\">\r\n </div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;width:100%;height:100%}:host ::ng-deep .control-box{display:flex;flex:1;width:100%;height:100%}:host ::ng-deep .info-box{display:flex;flex-direction:row;align-items:center;justify-content:center;position:relative}:host ::ng-deep .info-box-left{margin-right:30px;display:flex;flex-direction:row;height:100%;align-items:center}:host ::ng-deep .info-box-left img{width:100%;height:100%}:host ::ng-deep .info-box-right{position:relative;display:flex;flex-direction:column;height:100%;justify-content:center}:host ::ng-deep .info-value{font-family:ds-digitalbold}:host ::ng-deep .info-second{padding:15px 0 0}\n"] }]
575
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
576
+
577
+ //当前时间
578
+ class BasicTimeComponent1 extends BasicService$2 {
579
+ datePipe;
580
+ globalSrv;
581
+ width = 300;
582
+ height = 60;
583
+ currentTime;
584
+ interval;
585
+ svgTemplate = ``;
586
+ constructor(datePipe, globalSrv) {
587
+ super(globalSrv);
588
+ this.datePipe = datePipe;
589
+ this.globalSrv = globalSrv;
590
+ this.updateTime();
591
+ }
592
+ ngOnInit() {
593
+ this.interval = setInterval(() => {
594
+ this.updateTime();
595
+ }, 1000);
596
+ }
597
+ updateTime() {
598
+ const now = new Date();
599
+ this.currentTime = this.datePipe.transform(now, 'yyyy-MM-dd HH:mm:ss');
600
+ this.initPageData(null);
601
+ }
602
+ // 清理定时器
603
+ ngOnDestroy() {
604
+ if (this.interval) {
605
+ clearInterval(this.interval);
606
+ }
607
+ }
608
+ initPageData(value) {
609
+ this.svgTemplate = this.initTemplate();
610
+ }
611
+ initTemplate() {
612
+ let template = `<div style="${this.initStyle()}">${this.currentTime}</div>`;
613
+ return template;
614
+ }
615
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTimeComponent1, deps: [{ token: i2.DatePipe }, { token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
616
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicTimeComponent1, isStandalone: true, selector: "basic-time1", providers: [DatePipe], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-box{width:100%;text-align:center;font-family:ds-digitalbold}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
617
+ }
618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTimeComponent1, decorators: [{
619
+ type: Component,
620
+ args: [{ selector: 'basic-time1', imports: [
621
+ CommonModule,
622
+ FormsModule, ReactiveFormsModule,
623
+ GramPipeModule
624
+ ], providers: [DatePipe], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-box{width:100%;text-align:center;font-family:ds-digitalbold}\n"] }]
625
+ }], ctorParameters: () => [{ type: i2.DatePipe }, { type: i1.GramGlobalService }] });
626
+
627
+ //倒计时
628
+ class BasicTimeComponent2 extends BasicService$2 {
629
+ globalSrv;
630
+ width = 300;
631
+ height = 60;
632
+ countdown = 0; //172800; // 设置倒计时总秒数(例如2天 = 172800秒)
633
+ displayTime = '';
634
+ interval;
635
+ svgTemplate = ``;
636
+ constructor(globalSrv) {
637
+ super(globalSrv);
638
+ this.globalSrv = globalSrv;
639
+ }
640
+ ngOnInit() {
641
+ this.startCountdown();
642
+ }
643
+ // 开始倒计时
644
+ startCountdown() {
645
+ this.updateDisplayTime();
646
+ this.interval = setInterval(() => {
647
+ if (this.countdown > 0) {
648
+ this.countdown--; // 每秒减少1秒
649
+ this.updateDisplayTime();
650
+ }
651
+ else {
652
+ clearInterval(this.interval);
653
+ }
654
+ }, 1000);
655
+ }
656
+ // 更新显示的时间
657
+ updateDisplayTime() {
658
+ if (this.data?.endTime) {
659
+ const currentTime = new Date().getTime();
660
+ const targetDate = new Date(this.data.endTime).getTime();
661
+ const timeDifference = targetDate - currentTime;
662
+ if (timeDifference > 0) {
663
+ this.countdown = Math.floor(timeDifference / 1000);
664
+ const days = Math.floor(this.countdown / 86400); // 天数
665
+ const hours = Math.floor((this.countdown % 86400) / 3600); // 小时数
666
+ const minutes = Math.floor((this.countdown % 3600) / 60); // 分钟数
667
+ const seconds = this.countdown % 60; // 秒数
668
+ this.displayTime = `${this.padZero(days)}天 ${this.padZero(hours)}小时 ${this.padZero(minutes)}分钟 ${this.padZero(seconds)}秒`;
669
+ }
670
+ else {
671
+ this.displayTime = `<span style="color:red;">已过期</span>`;
672
+ }
673
+ }
674
+ else {
675
+ this.displayTime = "";
676
+ }
677
+ this.initPageData(null);
678
+ }
679
+ // 补零函数,保证时间格式为 2 位数
680
+ padZero(num) {
681
+ return num < 10 ? '0' + num : num.toString();
682
+ }
683
+ // 清理定时器
684
+ ngOnDestroy() {
685
+ if (this.interval) {
686
+ clearInterval(this.interval);
687
+ }
688
+ }
689
+ initPageData(value) {
690
+ this.svgTemplate = this.initTemplate();
691
+ }
692
+ initTemplate() {
693
+ let template = `<div style="${this.initStyle()}">${this.displayTime}</div>`;
694
+ return template;
695
+ }
696
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTimeComponent2, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
697
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicTimeComponent2, isStandalone: true, selector: "basic-time2", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-box{width:100%;text-align:center;font-family:ds-digitalbold}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
698
+ }
699
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTimeComponent2, decorators: [{
700
+ type: Component,
701
+ args: [{ selector: 'basic-time2', imports: [
702
+ CommonModule,
703
+ FormsModule, ReactiveFormsModule,
704
+ GramPipeModule
705
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"control-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-box{width:100%;text-align:center;font-family:ds-digitalbold}\n"] }]
706
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
707
+
708
+ class BasicImageComponent extends BasicService$2 {
709
+ globalSrv;
710
+ width = 280;
711
+ height = 200;
712
+ svgTemplate = ``;
713
+ src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAFBklEQVR4nO3dz08jZRzHcaYtpS2FAmUTL7KJHBVNVkIU1gPyD0jC3+A/YEw8ejf+H8ZwMISLJoSDgl7WixrXhCbGJbsmGoFSKWWmUz/PZseQhfaZaefH8/D9vBLSZyZkl873zZR2GnDGSDQGIBwDEI4BCMcAhGMAwjEA4RiAcAxAOAYgHAMQjgEIxwCEYwDCMQDhGIBwDEA4BiAcAxCOAQinDWB7e/vj8fHxt3K53JzjOAXsIsP1ej2v2+3+5Xnez1tbW59hV1/aAHZ2dr5Qw8eSLOP7/j8I4ZPNzc3fx/rQBrC7u/sNbshSrut+yAAEK5fLn25sbBxieSsGcMclFsDx8XGp0WhM5vP53tLSUrNWq3nYfUPcn0fRJBbA3t7ePdw8h2G5y8vLp1jeEPfnUTQMQLjEAlCn7KOjo2qhUPAHnbLj/jyKJrEAyA4MQDgGIBwDEI4BCDdyAAcHBx/hhiyFK7lfrqysPMHyVgzgjmMAwjEA4RiAcAxAOAYgHAMQjgEIxwCEYwDCMQDhGIBwDEA4BiAcAxCOAQjHAIRjAMIxAOEYgHDWBdDr9YoXFxevXV1d3fd9v4xdY47jeLgjTyuVym/5fP5f7KKQcNzsCUAN//T09CEGP43NG1QIU1NT3+JOnWGTQsCxsieAk5OT9/sNP6AiqNVq+zwThGNNAO12ewGn/gdYauFOPZmenn6EJWngWNkRwNnZ2Tue572CpZY6C8zNze1iSRrWBBDm9H9dvV7/CjekYU0A+OHvvW63W8cyFAYQjjUBNJvNt13XfRVLrVwu156dnf0aS9KwJgA8758/Pz9/iKVWqVR6PDk5+RhL0rAmACXMWQDf/c2ZmZnv8IPgFTZJw6oAlEERcPjRWReAoh4OLi8v1UvBFWyqp31usVh8Wi6X/8AmRWBlABQfBiAcAxCOAQjHAIRjAMIxgCGoN6Z0Op06rk7O4/pEDbv+VygU/sZT0mc4sFa8KQVfJwMISw2+1Wq9gdchFrA5EF6UauMl6V9Nf22CAYSk3pCCjzcRQaQ/jadCqFarP+BAG3lGwNfFAHRwEepBmO/6fvBKpVepVB7hjPAMm0ZhABqjDv86RPCjaQ8JDGCAOIcfMC0CBtBHEsMPmBQBA7hFksMPmBIBA3hJGsMPmBABA7gmzeEHso6AAbyQxfADWUbAACDL4QeyikB8ACYMP5BFBKIDMGn4gbQjEBuAicMPpBmByABMHn4grQjEBWDD8ANpRGB0ABjUPC7BLna73XvBZVh1ZQ1f9FC/Dsam4QdwPxONAMfSzABardZSp9NZxLKvKAfHxuEHotzPqIwMIMqwJiYmGtVq9Scsb4UzR7HZbK6ot29h01pJRWBcAFGGH1DvukEIR/j4M3hYcF23hjPIAv6t+70XDx+2SyICowIYZvjSxB2BMQFw+OHFGYERAXD40cUVQeYBcPjDiyOCTAPg8Ec3agSZBcDhx2eUCDIJgMOP37ARpB4Ah5+cYSJINQAOP3lRI0gtAA4/PVEiSCUADj99YSNIPAAOPzthIlhbW/scN31pAzg8PPwAF1sWsbyBw8/eoAgcx2msrq4O/KXa2gD29/dL+A/e9X3/dYQwgV3PcfjmeDkCDL6DK6i/tNvt79fX1y+xqy9tAHS3MQDhGIBwDEA4BiAcAxCOAQjHAIRjAMIxAOEYgHAMQDgGIBwDEI4BCMcAhGMAwjEA4RiAcAxAuP8A/aX6rh4U9AMAAAAASUVORK5CYII=";
714
+ src2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAFBklEQVR4nO3dz08jZRzHcaYtpS2FAmUTL7KJHBVNVkIU1gPyD0jC3+A/YEw8ejf+H8ZwMISLJoSDgl7WixrXhCbGJbsmGoFSKWWmUz/PZseQhfaZaefH8/D9vBLSZyZkl873zZR2GnDGSDQGIBwDEI4BCMcAhGMAwjEA4RiAcAxAOAYgHAMQjgEIxwCEYwDCMQDhGIBwDEA4BiAcAxCOAQinDWB7e/vj8fHxt3K53JzjOAXsIsP1ej2v2+3+5Xnez1tbW59hV1/aAHZ2dr5Qw8eSLOP7/j8I4ZPNzc3fx/rQBrC7u/sNbshSrut+yAAEK5fLn25sbBxieSsGcMclFsDx8XGp0WhM5vP53tLSUrNWq3nYfUPcn0fRJBbA3t7ePdw8h2G5y8vLp1jeEPfnUTQMQLjEAlCn7KOjo2qhUPAHnbLj/jyKJrEAyA4MQDgGIBwDEI4BCDdyAAcHBx/hhiyFK7lfrqysPMHyVgzgjmMAwjEA4RiAcAxAOAYgHAMQjgEIxwCEYwDCMQDhGIBwDEA4BiAcAxCOAQjHAIRjAMIxAOEYgHDWBdDr9YoXFxevXV1d3fd9v4xdY47jeLgjTyuVym/5fP5f7KKQcNzsCUAN//T09CEGP43NG1QIU1NT3+JOnWGTQsCxsieAk5OT9/sNP6AiqNVq+zwThGNNAO12ewGn/gdYauFOPZmenn6EJWngWNkRwNnZ2Tue572CpZY6C8zNze1iSRrWBBDm9H9dvV7/CjekYU0A+OHvvW63W8cyFAYQjjUBNJvNt13XfRVLrVwu156dnf0aS9KwJgA8758/Pz9/iKVWqVR6PDk5+RhL0rAmACXMWQDf/c2ZmZnv8IPgFTZJw6oAlEERcPjRWReAoh4OLi8v1UvBFWyqp31usVh8Wi6X/8AmRWBlABQfBiAcAxCOAQjHAIRjAMIxgCGoN6Z0Op06rk7O4/pEDbv+VygU/sZT0mc4sFa8KQVfJwMISw2+1Wq9gdchFrA5EF6UauMl6V9Nf22CAYSk3pCCjzcRQaQ/jadCqFarP+BAG3lGwNfFAHRwEepBmO/6fvBKpVepVB7hjPAMm0ZhABqjDv86RPCjaQ8JDGCAOIcfMC0CBtBHEsMPmBQBA7hFksMPmBIBA3hJGsMPmBABA7gmzeEHso6AAbyQxfADWUbAACDL4QeyikB8ACYMP5BFBKIDMGn4gbQjEBuAicMPpBmByABMHn4grQjEBWDD8ANpRGB0ABjUPC7BLna73XvBZVh1ZQ1f9FC/Dsam4QdwPxONAMfSzABardZSp9NZxLKvKAfHxuEHotzPqIwMIMqwJiYmGtVq9Scsb4UzR7HZbK6ot29h01pJRWBcAFGGH1DvukEIR/j4M3hYcF23hjPIAv6t+70XDx+2SyICowIYZvjSxB2BMQFw+OHFGYERAXD40cUVQeYBcPjDiyOCTAPg8Ec3agSZBcDhx2eUCDIJgMOP37ARpB4Ah5+cYSJINQAOP3lRI0gtAA4/PVEiSCUADj99YSNIPAAOPzthIlhbW/scN31pAzg8PPwAF1sWsbyBw8/eoAgcx2msrq4O/KXa2gD29/dL+A/e9X3/dYQwgV3PcfjmeDkCDL6DK6i/tNvt79fX1y+xqy9tAHS3MQDhGIBwDEA4BiAcAxCOAQjHAIRjAMIxAOEYgHAMQDgGIBwDEI4BCMcAhGMAwjEA4RiAcAxAuP8A/aX6rh4U9AMAAAAASUVORK5CYII=";
715
+ constructor(globalSrv) {
716
+ super(globalSrv);
717
+ this.globalSrv = globalSrv;
718
+ }
719
+ ngOnInit() {
720
+ }
721
+ initPageData(value) {
722
+ if (this.data?.image?.url) {
723
+ this.src = this.data?.image?.url;
724
+ }
725
+ else {
726
+ this.src = this.src2;
727
+ }
728
+ }
729
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicImageComponent, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
730
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicImageComponent, isStandalone: true, selector: "basic-image", providers: [], usesInheritance: true, ngImport: i0, template: "<div class=\"control-image\" [ngStyle]=\"{'opacity':data?.image?.opacity}\">\r\n <img [src]=\"src\" style=\"object-fit: fill;\">\r\n</div>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-image{width:100%;height:100%;opacity:1;position:relative;display:inline-block;overflow:hidden}:host ::ng-deep img{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] });
731
+ }
732
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicImageComponent, decorators: [{
733
+ type: Component,
734
+ args: [{ selector: 'basic-image', imports: [
735
+ CommonModule,
736
+ FormsModule, ReactiveFormsModule
737
+ ], providers: [], template: "<div class=\"control-image\" [ngStyle]=\"{'opacity':data?.image?.opacity}\">\r\n <img [src]=\"src\" style=\"object-fit: fill;\">\r\n</div>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-image{width:100%;height:100%;opacity:1;position:relative;display:inline-block;overflow:hidden}:host ::ng-deep img{width:100%;height:100%}\n"] }]
738
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
739
+
740
+ class BasicTableComponent extends BasicService$2 {
741
+ globalSrv;
742
+ width = 600;
743
+ height = 400;
744
+ headerData = ["排名", "关键词", "用户数", "搜索次数"];
745
+ bodyData = [
746
+ { index: 1, keyWord: "中国", userCnt: "110", searchCnt: 1927 },
747
+ { index: 2, keyWord: "朝鲜", userCnt: "81", searchCnt: 1000 },
748
+ { index: 3, keyWord: "美国", userCnt: "63", searchCnt: 8547 },
749
+ { index: 4, keyWord: "法国", userCnt: "55", searchCnt: 7896 },
750
+ { index: 5, keyWord: "印度", userCnt: "88", searchCnt: 1234 },
751
+ { index: 6, keyWord: "日本", userCnt: "10", searchCnt: 3214 },
752
+ { index: 7, keyWord: "乌克兰", userCnt: "12", searchCnt: 6542 },
753
+ { index: 8, keyWord: "俄罗斯", userCnt: "16", searchCnt: 3785 },
754
+ { index: 9, keyWord: "英格兰", userCnt: "33", searchCnt: 1025 },
755
+ { index: 10, keyWord: "巴基斯坦", userCnt: "44", searchCnt: 9999 }
756
+ ];
757
+ getKeys(item) {
758
+ return Object.keys(item);
759
+ }
760
+ constructor(globalSrv) {
761
+ super(globalSrv);
762
+ this.globalSrv = globalSrv;
763
+ }
764
+ ngOnInit() {
765
+ }
766
+ initPageData(value) {
767
+ }
768
+ initTemplate() {
769
+ }
770
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTableComponent, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
771
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BasicTableComponent, isStandalone: true, selector: "basic-table", providers: [], usesInheritance: true, ngImport: i0, template: "<div class=\"control-table\">\r\n <table>\r\n <thead>\r\n <ng-container *ngFor=\"let item of headerData\">\r\n <th\r\n [ngStyle]=\"{'background-color':data?.table?.headerBgColor,'font-size':data?.table?.headerFontSize+'px','color':data?.table?.headerFontColor}\">\r\n {{item}}\r\n </th>\r\n </ng-container>\r\n </thead>\r\n <tbody [ngStyle]=\"{'background-color':data?.table?.bodyBgColor}\">\r\n <ng-container *ngFor=\"let item of bodyData; let i = index\">\r\n <tr [ngStyle]=\" {'background-color': i % 2===0 ? data?.table?.evenBgColor : data?.table?.oddBgColor}\">\r\n <ng-container *ngFor=\"let key of getKeys(item)\">\r\n <td [ngStyle]=\"{'font-size':data?.table?.bodyFontSize+'px','color':data?.table?.bodyFontColor}\">\r\n {{item[key]}}</td>\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-table{width:100%;height:100%}:host ::ng-deep table{width:100%;height:100%}:host ::ng-deep table th{font-weight:500;padding:15px 0;background-color:#232832}:host ::ng-deep table th,:host ::ng-deep table td{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }] });
772
+ }
773
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicTableComponent, decorators: [{
774
+ type: Component,
775
+ args: [{ selector: 'basic-table', imports: [
776
+ CommonModule,
777
+ FormsModule, ReactiveFormsModule
778
+ ], providers: [], template: "<div class=\"control-table\">\r\n <table>\r\n <thead>\r\n <ng-container *ngFor=\"let item of headerData\">\r\n <th\r\n [ngStyle]=\"{'background-color':data?.table?.headerBgColor,'font-size':data?.table?.headerFontSize+'px','color':data?.table?.headerFontColor}\">\r\n {{item}}\r\n </th>\r\n </ng-container>\r\n </thead>\r\n <tbody [ngStyle]=\"{'background-color':data?.table?.bodyBgColor}\">\r\n <ng-container *ngFor=\"let item of bodyData; let i = index\">\r\n <tr [ngStyle]=\" {'background-color': i % 2===0 ? data?.table?.evenBgColor : data?.table?.oddBgColor}\">\r\n <ng-container *ngFor=\"let key of getKeys(item)\">\r\n <td [ngStyle]=\"{'font-size':data?.table?.bodyFontSize+'px','color':data?.table?.bodyFontColor}\">\r\n {{item[key]}}</td>\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>", styles: [":host ::ng-deep{display:flex;justify-content:center;align-items:center;height:100%;width:100%}:host ::ng-deep .control-table{width:100%;height:100%}:host ::ng-deep table{width:100%;height:100%}:host ::ng-deep table th{font-weight:500;padding:15px 0;background-color:#232832}:host ::ng-deep table th,:host ::ng-deep table td{text-align:center}\n"] }]
779
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
780
+
781
+ const dynamicComponents$2 = {
782
+ text: BasicTextComponent,
783
+ number: BasicNumberComponent,
784
+ line1: BasicLine1Component,
785
+ line2: BasicLine2Component,
786
+ card1: BasicCardComponent1,
787
+ card2: BasicCardComponent2,
788
+ card3: BasicCardComponent3,
789
+ card4: BasicCardComponent4,
790
+ time1: BasicTimeComponent1,
791
+ time2: BasicTimeComponent2,
792
+ image: BasicImageComponent,
793
+ table: BasicTableComponent
794
+ };
795
+ class GramBiBasicComponent {
796
+ componentFactoryResolver;
797
+ _data = null;
798
+ component;
799
+ //@Input() data: any;
800
+ set data(value) {
801
+ this._data = value;
802
+ this.renderComponent();
803
+ }
804
+ get data() {
805
+ return this._data;
806
+ }
807
+ /**
808
+ * 动态子组件
809
+ */
810
+ componentHost;
811
+ ngOnInit() { }
812
+ constructor(componentFactoryResolver) {
813
+ this.componentFactoryResolver = componentFactoryResolver;
814
+ }
815
+ ngOnChanges(changes) {
816
+ // console.log("[]", this.data);
817
+ // if (changes["data"]) {
818
+ // console.log(this.data);
819
+ // if (this.data && this.data?.secondType) {
820
+ // this.renderComponent();
821
+ // }
822
+ // }
823
+ }
824
+ renderComponent() {
825
+ if (this.componentHost && this.data && this.data?.secondType) {
826
+ this.componentHost.clear();
827
+ const compFactory = this.componentFactoryResolver.resolveComponentFactory(dynamicComponents$2[this.data.secondType]);
828
+ this.component = this.componentHost.createComponent(compFactory);
829
+ this.component.instance['data'] = this.data;
830
+ }
831
+ }
832
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBasicComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
833
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GramBiBasicComponent, isStandalone: true, selector: "gram-bi-basic", inputs: { data: "data" }, viewQueries: [{ propertyName: "componentHost", first: true, predicate: ["componentHost"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container #componentHost></ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}:host ::ng-deep svg{transform-origin:left top}\n"] });
834
+ }
835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBasicComponent, decorators: [{
836
+ type: Component,
837
+ args: [{ selector: 'gram-bi-basic', template: "<ng-container #componentHost></ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}:host ::ng-deep svg{transform-origin:left top}\n"] }]
838
+ }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { data: [{
839
+ type: Input
840
+ }], componentHost: [{
841
+ type: ViewChild,
842
+ args: ['componentHost', { read: ViewContainerRef, static: true }]
843
+ }] } });
844
+
845
+ const COMPONENTS$2 = [GramBiBasicComponent];
846
+ const COMPONENTS_NOROUNT$2 = [
847
+ BasicTextComponent,
848
+ BasicNumberComponent,
849
+ BasicLine1Component,
850
+ BasicLine2Component,
851
+ BasicCardComponent1,
852
+ BasicCardComponent2,
853
+ BasicCardComponent3,
854
+ BasicCardComponent4,
855
+ BasicTimeComponent1,
856
+ BasicTimeComponent2,
857
+ BasicImageComponent,
858
+ BasicTableComponent
859
+ ];
860
+ class GramBiBasicModule {
861
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBasicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
862
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: GramBiBasicModule, imports: [GramBiBasicComponent, BasicTextComponent,
863
+ BasicNumberComponent,
864
+ BasicLine1Component,
865
+ BasicLine2Component,
866
+ BasicCardComponent1,
867
+ BasicCardComponent2,
868
+ BasicCardComponent3,
869
+ BasicCardComponent4,
870
+ BasicTimeComponent1,
871
+ BasicTimeComponent2,
872
+ BasicImageComponent,
873
+ BasicTableComponent], exports: [GramBiBasicComponent] });
874
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBasicModule, imports: [COMPONENTS_NOROUNT$2] });
875
+ }
876
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBasicModule, decorators: [{
877
+ type: NgModule,
878
+ args: [{
879
+ imports: [...COMPONENTS$2, ...COMPONENTS_NOROUNT$2],
880
+ exports: [...COMPONENTS$2],
881
+ }]
882
+ }] });
883
+
884
+ let BasicService$1 = class BasicService {
885
+ globalSrv;
886
+ _data = null;
887
+ transform = null;
888
+ width = 0;
889
+ height = 0;
890
+ set data(value) {
891
+ this._data = value;
892
+ this.initPageData(value);
893
+ }
894
+ get data() {
895
+ return this._data;
896
+ }
897
+ set rd(value) {
898
+ if (value != undefined && value != null) {
899
+ this.initPageData(this.data);
900
+ }
901
+ }
902
+ /**
903
+ * 透明度
904
+ * @returns
905
+ */
906
+ get opacity() {
907
+ let res = Number((this.data.border.bgOpacity / 100).toFixed(2));
908
+ return res;
909
+ }
910
+ constructor(globalSrv) {
911
+ this.globalSrv = globalSrv;
912
+ }
913
+ ngOnDestroy() {
914
+ }
915
+ initPageData(value) {
916
+ if (value) {
917
+ let x = parseFloat((value.width / this.width).toFixed(2));
918
+ let y = parseFloat((value.height / this.height).toFixed(2));
919
+ this.transform = `scale(${x}, ${y})`;
920
+ }
921
+ }
922
+ /**
923
+ * 渐变色
924
+ * @returns
925
+ */
926
+ generateGradientData() {
927
+ let template = "";
928
+ let direction = this.data.border.bgDirection;
929
+ if (this.data.border.bgColorType == "single" || direction == undefined || direction == null || direction == "") {
930
+ return "";
931
+ }
932
+ switch (direction) {
933
+ case "to right": //从左到右
934
+ template = `
935
+ <defs>
936
+ <linearGradient id="borderBgjSWcehpx" x1="0%" y1="0%" x2="100%" y2="0%">
937
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
938
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
939
+ </linearGradient>
940
+ </defs>
941
+ `;
942
+ break;
943
+ case "to left": //从右到左
944
+ template = `
945
+ <defs>
946
+ <linearGradient id="borderBgjSWcehpx" x1="100%" y1="0%" x2="0%" y2="0%">
947
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
948
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
949
+ </linearGradient>
950
+ </defs>
951
+ `;
952
+ break;
953
+ case "to bottom": //从上到下
954
+ template = `
955
+ <defs>
956
+ <linearGradient id="borderBgjSWcehpx" x1="0%" y1="0%" x2="0%" y2="100%">
957
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
958
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
959
+ </linearGradient>
960
+ </defs>
961
+ `;
962
+ break;
963
+ case "to top": //从下到上
964
+ template = `
965
+ <defs>
966
+ <linearGradient id="borderBgjSWcehpx" x1="0%" y1="100%" x2="0%" y2="0%">
967
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
968
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
969
+ </linearGradient>
970
+ </defs>
971
+ `;
972
+ break;
973
+ case "to bottom right": //从左上到右下
974
+ template = `
975
+ <defs>
976
+ <linearGradient id="borderBgjSWcehpx" x1="0%" y1="0%" x2="100%" y2="100%">
977
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
978
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
979
+ </linearGradient>
980
+ </defs>
981
+ `;
982
+ break;
983
+ case "to bottom left": //从右上到左下
984
+ template = `
985
+ <defs>
986
+ <linearGradient id="borderBgjSWcehpx" x1="100%" y1="0%" x2="0%" y2="100%">
987
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
988
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
989
+ </linearGradient>
990
+ </defs>
991
+ `;
992
+ break;
993
+ case "to top right": //从左下到右上
994
+ template = `
995
+ <defs>
996
+ <linearGradient id="borderBgjSWcehpx" x1="0%" y1="100%" x2="100%" y2="0%">
997
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
998
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
999
+ </linearGradient>
1000
+ </defs>
1001
+ `;
1002
+ break;
1003
+ case "to top left": //从右下到左上
1004
+ template = `
1005
+ <defs>
1006
+ <linearGradient id="borderBgjSWcehpx" x1="100%" y1="100%" x2="0%" y2="0%">
1007
+ <stop offset="0%" stop-color="${this.data.border.bgColor0}"></stop>
1008
+ <stop offset="100%" stop-color="${this.data.border.bgColor1}"></stop>
1009
+ </linearGradient>
1010
+ </defs>
1011
+ `;
1012
+ break;
1013
+ }
1014
+ return template;
1015
+ }
1016
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Directive });
1017
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: BasicService, isStandalone: true, inputs: { data: "data", rd: "rd" }, ngImport: i0 });
1018
+ };
1019
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService$1, decorators: [{
1020
+ type: Directive
1021
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }], propDecorators: { data: [{
1022
+ type: Input
1023
+ }], rd: [{
1024
+ type: Input
1025
+ }] } });
1026
+
1027
+ class BorderComponent1 extends BasicService$1 {
1028
+ globalSrv;
1029
+ width = 450;
1030
+ height = 320;
1031
+ svgTemplate = ``;
1032
+ constructor(globalSrv) {
1033
+ super(globalSrv);
1034
+ this.globalSrv = globalSrv;
1035
+ }
1036
+ ngOnInit() {
1037
+ }
1038
+ initPageData(value) {
1039
+ this.svgTemplate = this.initTemplate();
1040
+ }
1041
+ initTemplate() {
1042
+ let fill = "transparent";
1043
+ let defs = this.generateGradientData();
1044
+ let coordinates = this.generateCoordinates();
1045
+ if (this.data.border.bgColorType == "single") {
1046
+ if (this.data.border.bgColor) {
1047
+ fill = this.data.border.bgColor;
1048
+ }
1049
+ }
1050
+ else if (this.data.border.bgColorType == "gradient") {
1051
+ fill = "url(#borderBgjSWcehpx)";
1052
+ }
1053
+ let template = `
1054
+ <svg width="${this.data.width}" height="${this.data.height}" class="border" style="opacity: ${this.opacity};">
1055
+ ${defs}
1056
+ <polygon fill="${fill}" points="${coordinates}"></polygon>
1057
+ </svg>
1058
+ <svg width="150px" height="150px" class="left-top border">
1059
+ <polygon
1060
+ points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63"
1061
+ fill="${this.data.border.mainColor}">
1062
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};${this.data.border.mainColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1063
+ </animate>
1064
+ </polygon>
1065
+ <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" fill="${this.data.border.secondColor}">
1066
+ <animate attributeName="fill" values="${this.data.border.secondColor};${this.data.border.mainColor};${this.data.border.secondColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1067
+ </animate>
1068
+ </polygon>
1069
+ <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54"
1070
+ fill="${this.data.border.mainColor}">
1071
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};transparent" dur="1s" begin="0s" repeatCount="indefinite">
1072
+ </animate>
1073
+ </polygon>
1074
+ </svg>
1075
+ <svg width="150px" height="150px" class="right-top border">
1076
+ <polygon
1077
+ points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63"
1078
+ fill="${this.data.border.mainColor}">
1079
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};${this.data.border.mainColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1080
+ </animate>
1081
+ </polygon>
1082
+ <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" fill="${this.data.border.secondColor}">
1083
+ <animate attributeName="fill" values="${this.data.border.secondColor};${this.data.border.mainColor};${this.data.border.secondColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1084
+ </animate>
1085
+ </polygon>
1086
+ <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54"
1087
+ fill="${this.data.border.mainColor}">
1088
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};transparent" dur="1s" begin="0s" repeatCount="indefinite">
1089
+ </animate>
1090
+ </polygon>
1091
+ </svg>
1092
+ <svg width="150px" height="150px" class="left-bottom border">
1093
+ <polygon
1094
+ points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63"
1095
+ fill="${this.data.border.mainColor}">
1096
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};${this.data.border.mainColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1097
+ </animate>
1098
+ </polygon>
1099
+ <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" fill="${this.data.border.secondColor}">
1100
+ <animate attributeName="fill" values="${this.data.border.secondColor};${this.data.border.mainColor};${this.data.border.secondColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1101
+ </animate>
1102
+ </polygon>
1103
+ <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54"
1104
+ fill="${this.data.border.mainColor}">
1105
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};transparent" dur="1s" begin="0s" repeatCount="indefinite">
1106
+ </animate>
1107
+ </polygon>
1108
+ </svg>
1109
+ <svg width="150px" height="150px" class="right-bottom border">
1110
+ <polygon
1111
+ points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63"
1112
+ fill="${this.data.border.mainColor}">
1113
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};${this.data.border.mainColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1114
+ </animate>
1115
+ </polygon>
1116
+ <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" fill="${this.data.border.secondColor}">
1117
+ <animate attributeName="fill" values="${this.data.border.secondColor};${this.data.border.mainColor};${this.data.border.secondColor}" dur="0.5s" begin="0s" repeatCount="indefinite">
1118
+ </animate>
1119
+ </polygon>
1120
+ <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54"
1121
+ fill="${this.data.border.mainColor}">
1122
+ <animate attributeName="fill" values="${this.data.border.mainColor};${this.data.border.secondColor};transparent" dur="1s" begin="0s" repeatCount="indefinite">
1123
+ </animate>
1124
+ </polygon>
1125
+ </svg>
1126
+ `;
1127
+ return template;
1128
+ }
1129
+ generateCoordinates() {
1130
+ // 基准宽度和高度(从给出的第一个449x319的坐标中提取)
1131
+ const baseWidth = 449;
1132
+ const baseHeight = 319;
1133
+ // 原始坐标(基于449x319的初始坐标值)
1134
+ const baseCoordinates = [
1135
+ [10, 27], [10, 292], [13, 295], [13, 298], [24, 308],
1136
+ [38, 308], [41, 311], [73, 311], [75, 309], [81, 309],
1137
+ [85, 313], [364, 313], [368, 309], [374, 309], [376, 311],
1138
+ [408, 311], [411, 308], [425, 308], [436, 298], [436, 295],
1139
+ [439, 292], [439, 27], [436, 25], [436, 21], [425, 11],
1140
+ [411, 11], [408, 8], [376, 8], [374, 10], [368, 10],
1141
+ [364, 6], [85, 6], [81, 10], [75, 10], [73, 8],
1142
+ [41, 8], [38, 11], [24, 11], [13, 21], [13, 24]
1143
+ ];
1144
+ // 宽度和高度的缩放因子
1145
+ const widthScale = this.data.width / baseWidth;
1146
+ const heightScale = this.data.height / baseHeight;
1147
+ // 根据缩放因子调整坐标值
1148
+ const scaledCoordinates = baseCoordinates.map(([x, y]) => {
1149
+ const scaledX = Math.round(x * widthScale);
1150
+ const scaledY = Math.round(y * heightScale);
1151
+ return `${scaledX}, ${scaledY}`;
1152
+ });
1153
+ // 将坐标数组转换为逗号分隔的字符串
1154
+ return scaledCoordinates.join(" ");
1155
+ }
1156
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent1, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1157
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent1, isStandalone: true, selector: "border1", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{transform-origin:unset}:host ::ng-deep .right-top{right:0;top:0;-webkit-transform:rotateY(180deg);transform:rotateY(180deg);transform-origin:top}:host ::ng-deep .right-bottom{right:0;bottom:0;transform:rotateX(180deg) rotateY(180deg) translate(150px,150px);transform-origin:right bottom}:host ::ng-deep .left-bottom{bottom:0;left:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg);transform-origin:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1158
+ }
1159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent1, decorators: [{
1160
+ type: Component,
1161
+ args: [{ selector: 'border1', imports: [
1162
+ CommonModule,
1163
+ FormsModule, ReactiveFormsModule,
1164
+ GramPipeModule
1165
+ ], providers: [], template: "<ng-container *ngIf=\"data\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{transform-origin:unset}:host ::ng-deep .right-top{right:0;top:0;-webkit-transform:rotateY(180deg);transform:rotateY(180deg);transform-origin:top}:host ::ng-deep .right-bottom{right:0;bottom:0;transform:rotateX(180deg) rotateY(180deg) translate(150px,150px);transform-origin:right bottom}:host ::ng-deep .left-bottom{bottom:0;left:0;-webkit-transform:rotateX(180deg);transform:rotateX(180deg);transform-origin:left}\n"] }]
1166
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1167
+
1168
+ class BorderComponent2 extends BasicService$1 {
1169
+ globalSrv;
1170
+ width = 450;
1171
+ height = 320;
1172
+ svgTemplate = ``;
1173
+ points1 = "7, 7 441, 7 441, 311 7, 311";
1174
+ points2 = "2, 2 446 ,2 446, 316 2, 316 2, 2";
1175
+ points3 = "6, 6 442, 6 442, 312 6, 312 6, 6";
1176
+ constructor(globalSrv) {
1177
+ super(globalSrv);
1178
+ this.globalSrv = globalSrv;
1179
+ }
1180
+ ngOnInit() {
1181
+ }
1182
+ initPageData(value) {
1183
+ if (this.data && this.data.width && this.data.height) {
1184
+ this.points1 = `7, 7 ${this.data.width - 7}, 7 ${this.data.width - 7}, ${this.data.height - 7} 7, ${this.data.height}`;
1185
+ this.points2 = `2, 2 ${this.data.width - 2} ,2 ${this.data.width - 2}, ${this.data.height - 2} 2, ${this.data.height - 2} 2, 2`;
1186
+ this.points3 = `6, 6 ${this.data.width - 7}, 6 ${this.data.width - 7}, ${this.data.height - 6} 6, ${this.data.height - 6} 6, 6`;
1187
+ this.svgTemplate = this.initTemplate();
1188
+ }
1189
+ }
1190
+ initTemplate() {
1191
+ let fill = "transparent";
1192
+ let defs = this.generateGradientData();
1193
+ if (this.data.border.bgColorType == "single") {
1194
+ if (this.data.border.bgColor) {
1195
+ fill = this.data.border.bgColor;
1196
+ }
1197
+ }
1198
+ else if (this.data.border.bgColorType == "gradient") {
1199
+ fill = "url(#borderBgjSWcehpx)";
1200
+ }
1201
+ let template = `
1202
+ <svg width="${this.data.width}" height="${this.data.height}" class="border" style="opacity: ${this.opacity};">
1203
+ ${defs}
1204
+ <polygon fill="${fill}" points="${this.points1}"></polygon>
1205
+ <polyline points="${this.points2}" stroke="${this.data.border.mainColor}"></polyline>
1206
+ <polyline points="${this.points3}" stroke="${this.data.border.secondColor}"></polyline>
1207
+ <circle cx="11" cy="11" r="1" fill="${this.data.border.mainColor}"></circle>
1208
+ <circle cx="${this.data.width - 11}" cy="11" r="1" fill="${this.data.border.mainColor}"></circle>
1209
+ <circle cx="${this.data.width - 11}" cy="${this.data.height - 11}" r="1" fill="${this.data.border.mainColor}"></circle>
1210
+ <circle cx="11" cy="${this.data.height - 11}" r="1" fill="${this.data.border.mainColor}"></circle>
1211
+ </svg>
1212
+ `;
1213
+ return template;
1214
+ }
1215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent2, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1216
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent2, isStandalone: true, selector: "border2", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1217
+ }
1218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent2, decorators: [{
1219
+ type: Component,
1220
+ args: [{ selector: 'border2', imports: [
1221
+ CommonModule,
1222
+ FormsModule, ReactiveFormsModule,
1223
+ GramPipeModule
1224
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
1225
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1226
+
1227
+ class BorderComponent3 extends BasicService$1 {
1228
+ globalSrv;
1229
+ width = 450;
1230
+ height = 320;
1231
+ svgTemplate = ``;
1232
+ points1 = "23, 23 425, 23 425, 295 23, 295";
1233
+ points2 = "4, 4 427 ,4 427, 297 4, 297 4, 4";
1234
+ points3 = "10, 10 433, 10 433, 303 10, 303 10, 10";
1235
+ points4 = "16, 16 439, 16 439, 309 16, 309 16, 16";
1236
+ points5 = "22, 22 445, 22 445, 315 22, 315 22, 22";
1237
+ constructor(globalSrv) {
1238
+ super(globalSrv);
1239
+ this.globalSrv = globalSrv;
1240
+ }
1241
+ ngOnInit() {
1242
+ }
1243
+ initPageData(value) {
1244
+ this.points1 = `23, 23 ${this.data.width - 24}, 23 ${this.data.width - 24}, ${this.data.height - 24} 23, ${this.data.height - 24}`;
1245
+ this.points2 = `4, 4 ${this.data.width - 23} ,4 ${this.data.width - 23}, ${this.data.height - 22} 4, ${this.data.height - 22} 4, 4`;
1246
+ this.points3 = `10, 10 ${this.data.width - 16}, 10 ${this.data.width - 16}, ${this.data.height - 16} 10, ${this.data.height - 16} 10, 10`;
1247
+ this.points4 = `16, 16 ${this.data.width - 10}, 16 ${this.data.width - 10}, ${this.data.height - 10} 16, ${this.data.height - 10} 16, 16`;
1248
+ this.points5 = `22, 22 ${this.data.width - 4}, 22 ${this.data.width - 4}, ${this.data.height - 4} 22, ${this.data.height - 4} 22, 22`;
1249
+ this.svgTemplate = this.initTemplate();
1250
+ }
1251
+ initTemplate() {
1252
+ let fill = "transparent";
1253
+ let defs = this.generateGradientData();
1254
+ if (this.data.border.bgColorType == "single") {
1255
+ if (this.data.border.bgColor) {
1256
+ fill = this.data.border.bgColor;
1257
+ }
1258
+ }
1259
+ else if (this.data.border.bgColorType == "gradient") {
1260
+ fill = "url(#borderBgjSWcehpx)";
1261
+ }
1262
+ let template = `
1263
+ <svg width="${this.data.width}" height="${this.data.height}" class="border" style="opacity: ${this.opacity};">
1264
+ ${defs}
1265
+ <polygon fill="${fill}" points="${this.points1}"></polygon>
1266
+ <polyline points="${this.points2}" stroke="${this.data.border.mainColor}"></polyline>
1267
+ <polyline points="${this.points3}" stroke="${this.data.border.secondColor}"></polyline>
1268
+ <polyline points="${this.points4}" stroke="${this.data.border.secondColor}"></polyline>
1269
+ <polyline points="${this.points5}" stroke="${this.data.border.secondColor}"></polyline>
1270
+ </svg>
1271
+ `;
1272
+ return template;
1273
+ }
1274
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent3, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1275
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent3, isStandalone: true, selector: "border3", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1276
+ }
1277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent3, decorators: [{
1278
+ type: Component,
1279
+ args: [{ selector: 'border3', imports: [
1280
+ CommonModule,
1281
+ FormsModule, ReactiveFormsModule,
1282
+ GramPipeModule
1283
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
1284
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1285
+
1286
+ class BorderComponent4 extends BasicService$1 {
1287
+ globalSrv;
1288
+ svgTemplate = ``;
1289
+ width = 450;
1290
+ height = 320;
1291
+ points1 = `
1292
+ 434, 22 170, 22 150, 7 40, 7 28, 21 32, 24
1293
+ 16, 42 16, 287 41, 312 434, 312
1294
+ `;
1295
+ points2 = `
1296
+ 145, 314 40, 314 10, 284
1297
+ 10, 40 40, 5 150, 5 170, 20 434, 20
1298
+ `;
1299
+ points3 = "245, 318 36, 318 14, 296 14, 219";
1300
+ points4 = "7, 279 7, 244";
1301
+ points5 = "28, 24 13, 41 13, 64";
1302
+ points6 = "5, 45 5, 140";
1303
+ points7 = "14, 75 14, 180";
1304
+ points8 = "55, 11 147, 11 167, 26 250, 26";
1305
+ points9 = "158, 5 173, 16";
1306
+ points10 = "200, 17 439, 17";
1307
+ points11 = "385, 17 439, 17";
1308
+ constructor(globalSrv) {
1309
+ super(globalSrv);
1310
+ this.globalSrv = globalSrv;
1311
+ }
1312
+ ngOnInit() {
1313
+ }
1314
+ initPageData(value) {
1315
+ this.points1 = `
1316
+ ${this.data.width - 15}, 22 170, 22 150, 7 40, 7 28, 21 32, 24
1317
+ 16, 42 16, ${this.data.height - 32} 41, ${this.data.height - 7} ${this.data.width - 15}, ${this.data.height - 7}
1318
+ `;
1319
+ this.points2 = `
1320
+ 145, ${this.data.height - 5} 40, ${this.data.height - 5} 10, ${this.data.height - 35}
1321
+ 10, 40 40, 5 150, 5 170, 20 ${this.data.width - 5}, 20
1322
+ `;
1323
+ this.points3 = `245, ${this.data.height - 1} 36, ${this.data.height - 1} 14, ${this.data.height - 23} 14, ${this.data.height - 100}`;
1324
+ this.points4 = `7, ${this.data.height - 40} 7, ${this.data.height - 75}`;
1325
+ this.points5 = `28, 24 13, 41 13, 64`;
1326
+ this.points6 = "5, 45 5, 140";
1327
+ this.points7 = "14, 75 14, 180";
1328
+ this.points8 = "55, 11 147, 11 167, 26 250, 26";
1329
+ this.points9 = "158, 5 173, 16";
1330
+ this.points10 = `200, 17 ${this.data.width - 10}, 17`;
1331
+ this.points11 = `385, 17 ${this.data.width - 10}, 17`;
1332
+ this.svgTemplate = this.initTemplate();
1333
+ }
1334
+ initTemplate() {
1335
+ let fill = "transparent";
1336
+ let defs = this.generateGradientData();
1337
+ if (this.data.border.bgColorType == "single") {
1338
+ if (this.data.border.bgColor) {
1339
+ fill = this.data.border.bgColor;
1340
+ }
1341
+ }
1342
+ else if (this.data.border.bgColorType == "gradient") {
1343
+ fill = "url(#borderBgjSWcehpx)";
1344
+ }
1345
+ let template = `
1346
+ <svg width="${this.data.width}" height="${this.data.height}" class="border" style="opacity: ${this.opacity};">
1347
+ ${defs}
1348
+ <polygon fill="${fill}" points="${this.points1}"></polygon>
1349
+ <polyline points="${this.points2}" stroke="${this.data.border.mainColor}"></polyline>
1350
+ <polyline points="${this.points3}" stroke="${this.data.border.secondColor}"></polyline>
1351
+ <polyline points="${this.points4}" stroke="${this.data.border.mainColor}"></polyline>
1352
+ <polyline points="${this.points5}" stroke="${this.data.border.mainColor}"></polyline>
1353
+ <polyline points="${this.points6}" stroke="${this.data.border.mainColor}"></polyline>
1354
+ <polyline points="${this.points7}" stroke="${this.data.border.secondColor}"></polyline>
1355
+ <polyline points="${this.points8}" stroke="${this.data.border.secondColor}"></polyline>
1356
+ <polyline points="${this.points9}" stroke="${this.data.border.secondColor}"></polyline>
1357
+ <polyline points="${this.points10}" stroke="${this.data.border.mainColor}"></polyline>
1358
+ <polyline points="${this.points11}" stroke="${this.data.border.secondColor}"></polyline>
1359
+ </svg>
1360
+ `;
1361
+ return template;
1362
+ }
1363
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent4, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1364
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent4, isStandalone: true, selector: "border4", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1365
+ }
1366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent4, decorators: [{
1367
+ type: Component,
1368
+ args: [{ selector: 'border4', imports: [
1369
+ CommonModule,
1370
+ FormsModule, ReactiveFormsModule,
1371
+ GramPipeModule
1372
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
1373
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1374
+
1375
+ class BorderComponent5 extends BasicService$1 {
1376
+ globalSrv;
1377
+ svgTemplate = ``;
1378
+ width = 450;
1379
+ height = 320;
1380
+ points1 = `10, 22 427, 22 427, 233 365, 295 10, 295`;
1381
+ points2 = `
1382
+ 8, 5 444, 5 444, 219
1383
+ 349, 314 8, 314 8, 5 `;
1384
+ points3 = `
1385
+ 3, 5 429, 5 429, 259
1386
+ 375, 314 3, 314 3, 5`;
1387
+ points4 = `50, 13 414, 13`;
1388
+ points5 = `15, 20 414, 20`;
1389
+ points6 = "15, 299 339, 299";
1390
+ points7 = "15, 306 339, 306";
1391
+ constructor(globalSrv) {
1392
+ super(globalSrv);
1393
+ this.globalSrv = globalSrv;
1394
+ }
1395
+ ngOnInit() {
1396
+ }
1397
+ initPageData(value) {
1398
+ this.points1 = `10, 22 ${this.data.width - 22}, 22 ${this.data.width - 22}, ${this.data.height - 86} ${this.data.width - 84}, ${this.data.height - 24} 10, ${this.data.height - 24}`;
1399
+ this.points2 = `
1400
+ 8, 5 ${this.data.width - 5}, 5 ${this.data.width - 5}, ${this.data.height - 100}
1401
+ ${this.data.width - 100}, ${this.data.height - 5} 8, ${this.data.height - 5} 8, 5
1402
+ `;
1403
+ this.points3 = `
1404
+ 3, 5 ${this.data.width - 20}, 5 ${this.data.width - 20}, ${this.data.height - 60}
1405
+ ${this.data.width - 74}, ${this.data.height - 5} 3, ${this.data.width - 74} 3, 5
1406
+ `;
1407
+ this.points4 = `50, 13 ${this.data.width - 35}, 13`;
1408
+ this.points5 = `15, 20 ${this.data.width - 35}, 20`;
1409
+ this.points6 = `15, ${this.data.height - 20} ${this.data.width - 110}, ${this.data.height - 20}`;
1410
+ this.points7 = `15, ${this.data.height - 13} ${this.data.width - 110}, ${this.data.height - 13}`;
1411
+ this.svgTemplate = this.initTemplate();
1412
+ }
1413
+ initTemplate() {
1414
+ let fill = "transparent";
1415
+ let defs = this.generateGradientData();
1416
+ if (this.data.border.bgColorType == "single") {
1417
+ if (this.data.border.bgColor) {
1418
+ fill = this.data.border.bgColor;
1419
+ }
1420
+ }
1421
+ else if (this.data.border.bgColorType == "gradient") {
1422
+ fill = "url(#borderBgjSWcehpx)";
1423
+ }
1424
+ let template = `
1425
+ <svg width="${this.data.width}" height="${this.data.height}" class="border" style="opacity: ${this.opacity};">
1426
+ ${defs}
1427
+ <polygon fill="${fill}" points="${this.points1}"></polygon>
1428
+ <polyline points="${this.points2}" stroke="${this.data.border.mainColor}"></polyline>
1429
+ <polyline points="${this.points3}" stroke="${this.data.border.secondColor}"></polyline>
1430
+ <polyline points="${this.points4}" stroke="${this.data.border.secondColor}"></polyline>
1431
+ <polyline points="${this.points5}" stroke="${this.data.border.secondColor}"></polyline>
1432
+ <polyline points="${this.points6}" stroke="${this.data.border.secondColor}"></polyline>
1433
+ <polyline points="${this.points7}" stroke="${this.data.border.secondColor}"></polyline>
1434
+ </svg>
1435
+ `;
1436
+ return template;
1437
+ }
1438
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent5, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1439
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent5, isStandalone: true, selector: "border5", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-width:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1440
+ }
1441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent5, decorators: [{
1442
+ type: Component,
1443
+ args: [{ selector: 'border5', imports: [
1444
+ CommonModule,
1445
+ FormsModule, ReactiveFormsModule,
1446
+ GramPipeModule
1447
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-width:1}\n"] }]
1448
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1449
+
1450
+ class BorderComponent6 extends BasicService$1 {
1451
+ globalSrv;
1452
+ svgTemplate = ``;
1453
+ width = 450;
1454
+ height = 320;
1455
+ points1 = `9, 7 440, 7 440, 312 9, 312`;
1456
+ points2 = `10, 4 439, 4`;
1457
+ points3 = `10, 315 439, 315`;
1458
+ points4 = `5, 70 5, 249`;
1459
+ points5 = `444, 70 444, 249`;
1460
+ points6 = "3, 10, 3, 50";
1461
+ points7 = "7, 30 7, 80";
1462
+ points8 = `446, 10 446, 50`;
1463
+ points9 = `442, 30 442, 80`;
1464
+ points10 = `3, 309 3, 269`;
1465
+ points11 = `7, 289 7, 239`;
1466
+ points12 = `446, 309 446, 269`;
1467
+ points13 = `442, 289 442, 239`;
1468
+ constructor(globalSrv) {
1469
+ super(globalSrv);
1470
+ this.globalSrv = globalSrv;
1471
+ }
1472
+ ngOnInit() {
1473
+ }
1474
+ initPageData(value) {
1475
+ this.points1 = `9, 7 ${this.data.width - 9}, 7 ${this.data.width - 9}, ${this.data.height - 7} 9, ${this.data.height - 7}`;
1476
+ this.points2 = `10, 4 ${this.data.width - 10}, 4`;
1477
+ this.points3 = `10, ${this.data.height - 4} ${this.data.width - 10}, ${this.data.height - 4}`;
1478
+ this.points4 = `5, 70 5, ${this.data.height - 70}`;
1479
+ this.points5 = `${this.data.width - 5}, 70 ${this.data.width - 5}, ${this.data.height - 70}`;
1480
+ this.points6 = "3, 10, 3, 50";
1481
+ this.points7 = "7, 30 7, 80";
1482
+ this.points8 = `${this.data.width - 3}, 10 ${this.data.width - 3}, 50`;
1483
+ this.points9 = `${this.data.width - 7}, 30 ${this.data.width - 7}, 80`;
1484
+ this.points10 = `3, ${this.data.height - 10} 3, ${this.data.height - 50}`;
1485
+ this.points11 = `7, ${this.data.height - 30} 7, ${this.data.height - 80}`;
1486
+ this.points12 = `${this.data.width - 3}, ${this.data.height - 10} ${this.data.width - 3}, ${this.data.height - 50}`;
1487
+ this.points13 = `${this.data.width - 7}, ${this.data.height - 30} ${this.data.width - 7}, ${this.data.height - 80}`;
1488
+ this.svgTemplate = this.initTemplate();
1489
+ }
1490
+ initTemplate() {
1491
+ let fill = "transparent";
1492
+ let defs = this.generateGradientData();
1493
+ if (this.data.border.bgColorType == "single") {
1494
+ if (this.data.border.bgColor) {
1495
+ fill = this.data.border.bgColor;
1496
+ }
1497
+ }
1498
+ else if (this.data.border.bgColorType == "gradient") {
1499
+ fill = "url(#borderBgjSWcehpx)";
1500
+ }
1501
+ let template = `
1502
+ <svg width="${this.data.width}" height="${this.data.height}" class="border" style="opacity: ${this.opacity};">
1503
+ ${defs}
1504
+ <polygon fill="${fill}" points="${this.points1}"></polygon>
1505
+ <circle cx="5" cy="5" r="2" fill="${this.data.border.secondColor}"></circle>
1506
+ <circle cx="444" cy="5" r="2" fill="${this.data.border.secondColor}"></circle>
1507
+ <circle cx="444" cy="314" r="2" fill="${this.data.border.secondColor}"></circle>
1508
+ <circle cx="5" cy="314" r="2" fill="${this.data.border.secondColor}"></circle>
1509
+ <polyline points="${this.points2}" stroke="${this.data.border.mainColor}"></polyline>
1510
+ <polyline points="${this.points3}" stroke="${this.data.border.mainColor}"></polyline>
1511
+ <polyline points="${this.points4}" stroke="${this.data.border.mainColor}"></polyline>
1512
+ <polyline points="${this.points5}" stroke="${this.data.border.mainColor}"></polyline>
1513
+ <polyline points="${this.points6}" stroke="${this.data.border.mainColor}"></polyline>
1514
+ <polyline points="${this.points7}" stroke="${this.data.border.mainColor}"></polyline>
1515
+ <polyline points="${this.points8}" stroke="${this.data.border.mainColor}"></polyline>
1516
+ <polyline points="${this.points9}" stroke="${this.data.border.mainColor}"></polyline>
1517
+ <polyline points="${this.points10}" stroke="${this.data.border.mainColor}"></polyline>
1518
+ <polyline points="${this.points11}" stroke="${this.data.border.mainColor}"></polyline>
1519
+ <polyline points="${this.points12}" stroke="${this.data.border.mainColor}"></polyline>
1520
+ <polyline points="${this.points13}" stroke="${this.data.border.mainColor}"></polyline>
1521
+ </svg>
1522
+ `;
1523
+ return template;
1524
+ }
1525
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent6, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1526
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent6, isStandalone: true, selector: "border6", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-width:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1527
+ }
1528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent6, decorators: [{
1529
+ type: Component,
1530
+ args: [{ selector: 'border6', imports: [
1531
+ CommonModule,
1532
+ FormsModule, ReactiveFormsModule,
1533
+ GramPipeModule
1534
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-width:1}\n"] }]
1535
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1536
+
1537
+ class BorderComponent7 extends BasicService$1 {
1538
+ globalSrv;
1539
+ svgTemplate = ``;
1540
+ width = 450;
1541
+ height = 320;
1542
+ points1 = `0, 25 0, 0 25, 0`;
1543
+ points2 = `422, 0 447, 0 447, 25`;
1544
+ points3 = `422, 317 447, 317 447, 292`;
1545
+ points4 = `0, 292 0, 317 25, 317`;
1546
+ points5 = `0, 10 0, 0 10, 0`;
1547
+ points6 = "437, 0 447, 0 447, 10";
1548
+ points7 = `437, 317 447, 317 447, 307`;
1549
+ points8 = `0, 307 0, 317 10, 317`;
1550
+ constructor(globalSrv) {
1551
+ super(globalSrv);
1552
+ this.globalSrv = globalSrv;
1553
+ }
1554
+ ngOnInit() {
1555
+ }
1556
+ initPageData(value) {
1557
+ let w = this.data.width;
1558
+ let h = this.data.height;
1559
+ this.points1 = `0, 25 0, 0 25, 0`;
1560
+ this.points2 = `${w - 25}, 0 ${w}, 0 ${w}, 25`;
1561
+ this.points3 = `${w - 25}, ${h} ${w}, ${h} ${w}, ${h - 25}`;
1562
+ this.points4 = `0, ${h - 25} 0, ${h} 25, ${h}`;
1563
+ this.points5 = `0, 10 0, 0 10, 0`;
1564
+ this.points6 = `${w - 10}, 0 ${w}, 0 ${w}, 10`;
1565
+ this.points7 = `${w - 10}, ${h} ${w}, ${h} ${w}, ${h - 10}`;
1566
+ this.points8 = `0, ${h - 10} 0, ${h} 10, ${h}`;
1567
+ this.svgTemplate = this.initTemplate();
1568
+ }
1569
+ initTemplate() {
1570
+ let bgColor = "transparent";
1571
+ let svgBgColor = "";
1572
+ if (this.data.border.bgColorType == "single") {
1573
+ if (this.data.border.bgColor) {
1574
+ bgColor = this.data.border.bgColor;
1575
+ }
1576
+ }
1577
+ else if (this.data.border.bgColorType == "gradient") {
1578
+ let direction = this.data.border.bgDirection;
1579
+ if (direction != undefined && direction != null && direction != "") {
1580
+ svgBgColor = `background:linear-gradient(${this.data.border.bgDirection}, ${this.data.border.bgColor0}, ${this.data.border.bgColor1})`;
1581
+ }
1582
+ }
1583
+ let template = `
1584
+ <div class="border-box" style="width:${this.data.width}px;height:${this.data.height}px;background-color:${bgColor};box-shadow: ${this.data.border.mainColor} 0px 0px 40px inset;border: 1px solid ${this.data.border.mainColor};">
1585
+ <svg width="${this.data.width}" height="${this.data.height}" style="opacity:${this.opacity};${svgBgColor}">
1586
+ <polyline points="${this.points1}" stroke="${this.data.border.mainColor}" class="dv-line-width"></polyline>
1587
+ <polyline points="${this.points2}" stroke="${this.data.border.mainColor}" class="dv-line-width"></polyline>
1588
+ <polyline points="${this.points3}" stroke="${this.data.border.mainColor}" class="dv-line-width"></polyline>
1589
+ <polyline points="${this.points4}" stroke="${this.data.border.mainColor}" class="dv-line-width"></polyline>
1590
+ <polyline points="${this.points5}" stroke="${this.data.border.secondColor}" class="dv-line-width"></polyline>
1591
+ <polyline points="${this.points6}" stroke="${this.data.border.secondColor}" class="dv-line-width"></polyline>
1592
+ <polyline points="${this.points7}" stroke="${this.data.border.secondColor}" class="dv-line-width"></polyline>
1593
+ <polyline points="${this.points8}" stroke="${this.data.border.secondColor}" class="dv-line-width"></polyline>
1594
+ </svg>
1595
+ </div>
1596
+ `;
1597
+ return template;
1598
+ }
1599
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent7, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1600
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent7, isStandalone: true, selector: "border7", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-linecap:round}:host ::ng-deep .dv-line-width{stroke-width:4}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1601
+ }
1602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent7, decorators: [{
1603
+ type: Component,
1604
+ args: [{ selector: 'border7', imports: [
1605
+ CommonModule,
1606
+ FormsModule, ReactiveFormsModule,
1607
+ GramPipeModule
1608
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-linecap:round}:host ::ng-deep .dv-line-width{stroke-width:4}\n"] }]
1609
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1610
+
1611
+ class BorderComponent8 extends BasicService$1 {
1612
+ globalSrv;
1613
+ svgTemplate = ``;
1614
+ width = 450;
1615
+ height = 320;
1616
+ points1 = `5, 5 444, 5 444 314 5, 314`;
1617
+ points2 = `M2.5, 2.5 L446.5, 2.5 L446.5, 316.5 L2.5, 316.5 L2.5, 2.5`;
1618
+ constructor(globalSrv) {
1619
+ super(globalSrv);
1620
+ this.globalSrv = globalSrv;
1621
+ }
1622
+ ngOnInit() {
1623
+ }
1624
+ initPageData(value) {
1625
+ this.points1 = `5, 5 ${this.data.width - 5}, 5 ${this.data.width - 5} ${this.data.height - 3} 5, ${this.data.height - 3}`;
1626
+ this.points2 = `M2.5, 2.5 L${this.data.width - 1.5}, 2.5 L${this.data.width - 1.5}, ${this.data.height - 0.5} L2.5, ${this.data.height - 0.5} L2.5, 2.5`;
1627
+ this.svgTemplate = this.initTemplate();
1628
+ }
1629
+ initTemplate() {
1630
+ let fill = "transparent";
1631
+ let defs = this.generateGradientData();
1632
+ if (this.data.border.bgColorType == "single") {
1633
+ if (this.data.border.bgColor) {
1634
+ fill = this.data.border.bgColor;
1635
+ }
1636
+ }
1637
+ else if (this.data.border.bgColorType == "gradient") {
1638
+ fill = "url(#borderBgjSWcehpx)";
1639
+ }
1640
+ let id = Guid.createId();
1641
+ let template = `
1642
+ <svg width="${this.data.width}" height="${this.data.height}" class="dv-border-svg-container" style="opacity: ${this.opacity};">
1643
+ ${defs}
1644
+ <defs>
1645
+ <path id="border-box-8-path-${id}"
1646
+ d="${this.points2}" fill="transparent"></path>
1647
+ <radialGradient id="border-box-8-gradient-${id}" cx="50%" cy="50%" r="50%">
1648
+ <stop offset="0%" stop-color="#fff" stop-opacity="1"></stop>
1649
+ <stop offset="100%" stop-color="#fff" stop-opacity="0"></stop>
1650
+ </radialGradient>
1651
+ <mask id="border-box-8-mask-${id}">
1652
+ <circle cx="0" cy="0" r="150" fill="url(#border-box-8-gradient-${id})">
1653
+ <animateMotion dur="3s" path="M2.5, 2.5 L446.5, 2.5 L446.5, 316.5 L2.5, 316.5 L2.5, 2.5" rotate="auto"
1654
+ repeatCount="indefinite"></animateMotion>
1655
+ </circle>
1656
+ </mask>
1657
+ </defs>
1658
+ <polygon fill="${fill}" points="${this.points1}"></polygon>
1659
+ <use stroke-width="1" xlink:href="#border-box-8-path-${id}" stroke="${this.data.border.mainColor}"></use>
1660
+ <use stroke-width="3" xlink:href="#border-box-8-path-${id}"
1661
+ mask="url(#border-box-8-mask-${id})" stroke="${this.data.border.secondColor}">
1662
+ <animate attributeName="stroke-dasharray" from="0, 1526" to="1526, 0" dur="3s" repeatCount="indefinite">
1663
+ </animate>
1664
+ </use>
1665
+ </svg>
1666
+ `;
1667
+ return template;
1668
+ }
1669
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent8, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1670
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent8, isStandalone: true, selector: "border8", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1671
+ }
1672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent8, decorators: [{
1673
+ type: Component,
1674
+ args: [{ selector: 'border8', imports: [
1675
+ CommonModule,
1676
+ FormsModule, ReactiveFormsModule,
1677
+ GramPipeModule
1678
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
1679
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1680
+
1681
+ class BorderComponent9 extends BasicService$1 {
1682
+ globalSrv;
1683
+ svgTemplate = ``;
1684
+ width = 450;
1685
+ height = 320;
1686
+ points1 = `
1687
+ 15, 9 45.900000000000006, 9 48.900000000000006, 6 235.48000000000002, 6
1688
+ 239.48000000000002, 10 253.41999999999996, 10 258.41999999999996, 6
1689
+ 406.1, 6 410.1, 10 439, 10 439, 25.900000000000002
1690
+ 443, 30.900000000000002 443, 256.20000000000005 439, 261.20000000000005
1691
+ 439, 309 420.08000000000004, 309 415.08000000000004, 313
1692
+ 11, 313 11, 45.85 15, 40.85
1693
+ `;
1694
+ constructor(globalSrv) {
1695
+ super(globalSrv);
1696
+ this.globalSrv = globalSrv;
1697
+ }
1698
+ ngOnInit() {
1699
+ }
1700
+ initPageData(value) {
1701
+ this.svgTemplate = this.generateSvg();
1702
+ }
1703
+ generateSvg() {
1704
+ // 定义原始尺寸
1705
+ const originalWidth = 449;
1706
+ const originalHeight = 319;
1707
+ // 计算缩放比例
1708
+ const widthRatio = this.data.width / originalWidth;
1709
+ const heightRatio = this.data.height / originalHeight;
1710
+ // 定义固定边框宽度
1711
+ const borderWidth = 3; // 固定边框宽度
1712
+ let fill = "transparent";
1713
+ let defs = this.generateGradientData();
1714
+ if (this.data.border.bgColorType == "single") {
1715
+ if (this.data.border.bgColor) {
1716
+ fill = this.data.border.bgColor;
1717
+ }
1718
+ }
1719
+ else if (this.data.border.bgColorType == "gradient") {
1720
+ fill = "url(#borderBgjSWcehpx)";
1721
+ }
1722
+ let id = Guid.createId();
1723
+ // 返回 SVG 字符串
1724
+ return `
1725
+ <svg width="${this.data.width}" height="${this.data.height}" class="dv-border-svg-container">
1726
+ ${defs}
1727
+ <defs>
1728
+ <linearGradient id="border-box-gradient-${id}" x1="0%" y1="0%" x2="100%" y2="100%">
1729
+ <animate attributeName="x1" values="0%;100%;0%" dur="10s" begin="0s" repeatCount="indefinite"></animate>
1730
+ <animate attributeName="x2" values="100%;0%;100%" dur="10s" begin="0s" repeatCount="indefinite"></animate>
1731
+ <stop offset="0%" stop-color="${this.data.border.mainColor}">
1732
+ <animate attributeName="stop-color" values="${this.data.border.mainColor};${this.data.border.secondColor};${this.data.border.mainColor}" dur="10s" begin="0s" repeatCount="indefinite"></animate>
1733
+ </stop>
1734
+ <stop offset="100%" stop-color="${this.data.border.secondColor}">
1735
+ <animate attributeName="stop-color" values="${this.data.border.secondColor};${this.data.border.mainColor};${this.data.border.secondColor}" dur="10s" begin="0s" repeatCount="indefinite"></animate>
1736
+ </stop>
1737
+ </linearGradient>
1738
+ <mask id="border-box-mask-${id}">
1739
+ <polyline stroke="#fff" stroke-width="${borderWidth}" fill="transparent"
1740
+ points="${8}, ${127.6 * heightRatio} ${8}, ${3}
1741
+ ${186.6 * widthRatio}, ${3}"></polyline>
1742
+ <polyline fill="#fff"
1743
+ points="${8}, ${47.85 * heightRatio} ${8}, ${3}
1744
+ ${51.9 * widthRatio}, ${3} ${44.9 * widthRatio}, ${8}
1745
+ ${14}, ${8} ${14}, ${40.85 * heightRatio}"></polyline>
1746
+ <polyline stroke="#fff" stroke-width="${borderWidth}" fill="transparent"
1747
+ points="${224.5 * widthRatio}, ${3} ${446 * widthRatio}, ${3}
1748
+ ${446 * widthRatio}, ${79.75 * heightRatio}"></polyline>
1749
+ <polyline fill="#fff"
1750
+ points="${233.48 * widthRatio}, ${3} ${260.42 * widthRatio}, ${3}
1751
+ ${253.42 * widthRatio}, ${9} ${240.48 * widthRatio}, ${9}"></polyline>
1752
+
1753
+ <polyline fill="#fff"
1754
+ points="${404 * widthRatio}, ${3} ${446 * widthRatio}, ${3}
1755
+ ${446 * widthRatio}, ${30.2 * heightRatio} ${443.2 * widthRatio}, ${24.9 * heightRatio}
1756
+ ${443 * widthRatio}, ${9} ${411.1 * widthRatio}, ${9}"></polyline>
1757
+
1758
+ <polyline stroke="#fff" stroke-width="${borderWidth}" fill="transparent"
1759
+ points="${8}, ${159.5 * heightRatio} ${8}, ${316 * heightRatio}
1760
+ ${141.7 * widthRatio}, ${316 * heightRatio}"></polyline>
1761
+ <polyline fill="#fff"
1762
+ points="${8}, ${175.45 * heightRatio} ${8}, ${223.3 * heightRatio}
1763
+ ${2}, ${216.3 * heightRatio} ${2}, ${182.45 * heightRatio}"></polyline>
1764
+ <polyline stroke="#fff" stroke-width="${borderWidth}" fill="transparent"
1765
+ points="${157.15 * widthRatio}, ${316 * heightRatio} ${446 * widthRatio}, ${316 * heightRatio}
1766
+ ${446 * widthRatio}, ${111.65 * heightRatio}"></polyline>
1767
+
1768
+ <polyline fill="#fff"
1769
+ points="${413.08 * widthRatio}, ${316 * heightRatio} ${446 * widthRatio}, ${316 * heightRatio}
1770
+ ${446 * widthRatio}, ${255.2 * heightRatio} ${443 * widthRatio}, ${262.2 * heightRatio}
1771
+ ${443 * widthRatio}, ${313 * heightRatio} ${420.08 * widthRatio}, ${313 * heightRatio}"></polyline>
1772
+ </mask>
1773
+ </defs>
1774
+ <polygon fill="${fill}"
1775
+ points="${15 * widthRatio}, ${9 * heightRatio} ${45.9 * widthRatio}, ${9 * heightRatio}
1776
+ ${48.9 * widthRatio}, ${6 * heightRatio} ${235.48 * widthRatio}, ${6 * heightRatio}
1777
+ ${239.48 * widthRatio}, ${10 * heightRatio} ${253.42 * widthRatio}, ${10 * heightRatio}
1778
+ ${258.42 * widthRatio}, ${6 * heightRatio} ${406.1 * widthRatio}, ${6 * heightRatio}
1779
+ ${410.1 * widthRatio}, ${10 * heightRatio} ${439 * widthRatio}, ${10 * heightRatio}
1780
+ ${439 * widthRatio}, ${25.9 * heightRatio} ${443 * widthRatio}, ${30.9 * heightRatio}
1781
+ ${443 * widthRatio}, ${256.2 * heightRatio} ${439 * widthRatio}, ${261.2 * heightRatio}
1782
+ ${439 * widthRatio}, ${309 * heightRatio} ${420.08 * widthRatio}, ${309 * heightRatio}
1783
+ ${415.08 * widthRatio}, ${313 * heightRatio} ${11 * widthRatio}, ${313 * heightRatio}
1784
+ ${11 * widthRatio}, ${45.85 * heightRatio} ${15 * widthRatio}, ${40.85 * heightRatio}"></polygon>
1785
+ <rect x="0" y="0" width="${this.data.width}" height="${this.data.height}"
1786
+ fill="url(#border-box-gradient)" mask="url(#border-box-mask)"></rect>
1787
+ </svg>
1788
+ `;
1789
+ }
1790
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent9, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1791
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent9, isStandalone: true, selector: "border9", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1792
+ }
1793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent9, decorators: [{
1794
+ type: Component,
1795
+ args: [{ selector: 'border9', imports: [
1796
+ CommonModule,
1797
+ FormsModule, ReactiveFormsModule,
1798
+ GramPipeModule
1799
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
1800
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1801
+
1802
+ class BorderComponent10 extends BasicService$1 {
1803
+ globalSrv;
1804
+ width = 450;
1805
+ height = 320;
1806
+ svgTemplate = ``;
1807
+ constructor(globalSrv) {
1808
+ super(globalSrv);
1809
+ this.globalSrv = globalSrv;
1810
+ }
1811
+ ngOnInit() {
1812
+ }
1813
+ initPageData(value) {
1814
+ this.svgTemplate = this.generateSvg();
1815
+ }
1816
+ generateSvg() {
1817
+ // 计算缩放因子
1818
+ const widthScale = this.data.width / 449; // 原始SVG宽度
1819
+ const heightScale = this.data.height / 319; // 原始SVG高度
1820
+ let fill = "transparent";
1821
+ let defs = this.generateGradientData();
1822
+ if (this.data.border.bgColorType == "single") {
1823
+ if (this.data.border.bgColor) {
1824
+ fill = this.data.border.bgColor;
1825
+ }
1826
+ }
1827
+ else if (this.data.border.bgColorType == "gradient") {
1828
+ fill = "url(#borderBgjSWcehpx)";
1829
+ }
1830
+ let id = Guid.createId();
1831
+ return `
1832
+ <svg width="${this.data.width}" height="${this.data.height}" class="dv-border-svg-container" style="opacity: ${this.opacity};">
1833
+ ${defs}
1834
+ <defs>
1835
+ <filter id="border-box-10-filterId-${id}" height="150%" width="150%" x="-25%" y="-25%">
1836
+ <feMorphology operator="dilate" radius="2" in="SourceAlpha" result="thicken"></feMorphology>
1837
+ <feGaussianBlur in="thicken" stdDeviation="3" result="blurred"></feGaussianBlur>
1838
+ <feFlood result="glowColor" flood-color="${this.data.border.secondColor}"></feFlood>
1839
+ <feComposite in="glowColor" in2="blurred" operator="in" result="softGlowColored"></feComposite>
1840
+ <feMerge>
1841
+ <feMergeNode in="softGlowColored"></feMergeNode>
1842
+ <feMergeNode in="SourceGraphic"></feMergeNode>
1843
+ </feMerge>
1844
+ </filter>
1845
+ </defs>
1846
+ <polygon fill="${fill}" points="
1847
+ ${20 * widthScale}, ${32 * heightScale}
1848
+ ${99.5 * widthScale}, ${32 * heightScale}
1849
+ ${119.5 * widthScale}, ${53 * heightScale}
1850
+ ${329.5 * widthScale}, ${53 * heightScale}
1851
+ ${349.5 * widthScale}, ${32 * heightScale}
1852
+ ${429 * widthScale}, ${32 * heightScale}
1853
+ ${441 * widthScale}, ${48 * heightScale}
1854
+ ${441 * widthScale}, ${294 * heightScale}
1855
+ ${429 * widthScale}, ${311 * heightScale}
1856
+ ${20 * widthScale}, ${311 * heightScale}
1857
+ ${8 * widthScale}, ${294 * heightScale}
1858
+ ${8 * widthScale}, ${50 * heightScale}
1859
+ "></polygon>
1860
+ <polyline filter="url(#border-box-11-filterId)" points="
1861
+ ${99.5 * widthScale}, ${30 * heightScale}
1862
+ ${20 * widthScale}, ${30 * heightScale}
1863
+ ${7 * widthScale}, ${50 * heightScale}
1864
+ ${7 * widthScale}, ${126 * heightScale}
1865
+ ${13 * widthScale}, ${131 * heightScale}
1866
+ ${13 * widthScale}, ${211 * heightScale}
1867
+ ${7 * widthScale}, ${216 * heightScale}
1868
+ ${7 * widthScale}, ${292 * heightScale}
1869
+ ${20 * widthScale}, ${312 * heightScale}
1870
+ ${429 * widthScale}, ${312 * heightScale}
1871
+ ${442 * widthScale}, ${292 * heightScale}
1872
+ ${442 * widthScale}, ${216 * heightScale}
1873
+ ${436 * widthScale}, ${211 * heightScale}
1874
+ ${436 * widthScale}, ${131 * heightScale}
1875
+ ${442 * widthScale}, ${126 * heightScale}
1876
+ ${442 * widthScale}, ${50 * heightScale}
1877
+ ${429 * widthScale}, ${30 * heightScale}
1878
+ ${349.5 * widthScale}, ${30 * heightScale}
1879
+ ${329.5 * widthScale}, ${7 * heightScale}
1880
+ ${119.5 * widthScale}, ${7 * heightScale}
1881
+ ${99.5 * widthScale}, ${30 * heightScale}
1882
+ ${119.5 * widthScale}, ${52 * heightScale}
1883
+ ${329.5 * widthScale}, ${52 * heightScale}
1884
+ ${349.5 * widthScale}, ${30 * heightScale}
1885
+ " stroke="${this.data.border.mainColor}"></polyline>
1886
+ <polygon fill="transparent" points="
1887
+ ${344.5 * widthScale}, ${30 * heightScale}
1888
+ ${328.5 * widthScale}, ${11 * heightScale}
1889
+ ${322.5 * widthScale}, ${11 * heightScale}
1890
+ ${341.5 * widthScale}, ${34 * heightScale}
1891
+ " stroke="${this.data.border.mainColor}"></polygon>
1892
+ <polygon fill="transparent" points="
1893
+ ${104.5 * widthScale}, ${30 * heightScale}
1894
+ ${121.5 * widthScale}, ${49 * heightScale}
1895
+ ${127.5 * widthScale}, ${49 * heightScale}
1896
+ ${107.5 * widthScale}, ${26 * heightScale}
1897
+ " stroke="${this.data.border.mainColor}"></polygon>
1898
+ <polygon fill="rgba(0,206,209,0.3)" filter="url(#border-box-11-filterId)" points="
1899
+ ${338.5 * widthScale}, ${37 * heightScale}
1900
+ ${317.5 * widthScale}, ${11 * heightScale}
1901
+ ${122.5 * widthScale}, ${11 * heightScale}
1902
+ ${110.5 * widthScale}, ${23 * heightScale}
1903
+ ${132.5 * widthScale}, ${49 * heightScale}
1904
+ ${327.5 * widthScale}, ${49 * heightScale}
1905
+ " stroke="${this.data.border.mainColor}"></polygon>
1906
+ <polygon filter="url(#border-box-11-filterId)" opacity="1" points="
1907
+ ${89.5 * widthScale}, ${37 * heightScale}
1908
+ ${68.5 * widthScale}, ${37 * heightScale}
1909
+ ${74.5 * widthScale}, ${46 * heightScale}
1910
+ ${95.5 * widthScale}, ${46 * heightScale}
1911
+ " fill="${this.data.border.mainColor}">
1912
+ <animate attributeName="opacity" values="1;0.7;1" dur="2s" begin="0s" repeatCount="indefinite"></animate>
1913
+ </polygon>
1914
+ <polygon filter="url(#border-box-11-filterId)" opacity="0.7" points="
1915
+ ${59.5 * widthScale}, ${37 * heightScale}
1916
+ ${38.5 * widthScale}, ${37 * heightScale}
1917
+ ${44.5 * widthScale}, ${46 * heightScale}
1918
+ ${65.5 * widthScale}, ${46 * heightScale}
1919
+ " fill="${this.data.border.mainColor}">
1920
+ <animate attributeName="opacity" values="0.7;0.4;0.7" dur="2s" begin="0s" repeatCount="indefinite"></animate>
1921
+ </polygon>
1922
+ <polygon filter="url(#border-box-11-filterId)" opacity="0.5" points="
1923
+ ${29.5 * widthScale}, ${37 * heightScale}
1924
+ ${8.5 * widthScale}, ${37 * heightScale}
1925
+ ${14.5 * widthScale}, ${46 * heightScale}
1926
+ ${35.5 * widthScale}, ${46 * heightScale}
1927
+ " fill="${this.data.border.mainColor}">
1928
+ <animate attributeName="opacity" values="0.5;0.2;0.5" dur="2s" begin="0s" repeatCount="indefinite"></animate>
1929
+ </polygon>
1930
+ <polygon filter="url(#border-box-11-filterId)" opacity="1" points="
1931
+ ${379.5 * widthScale}, ${37 * heightScale}
1932
+ ${358.5 * widthScale}, ${37 * heightScale}
1933
+ ${352.5 * widthScale}, ${46 * heightScale}
1934
+ ${373.5 * widthScale}, ${46 * heightScale}
1935
+ " fill="${this.data.border.mainColor}">
1936
+ <animate attributeName="opacity" values="1;0.7;1" dur="2s" begin="0s" repeatCount="indefinite"></animate>
1937
+ </polygon>
1938
+ <polygon filter="url(#border-box-11-filterId)" opacity="0.7" points="
1939
+ ${409.5 * widthScale}, ${37 * heightScale}
1940
+ ${388.5 * widthScale}, ${37 * heightScale}
1941
+ ${382.5 * widthScale}, ${46 * heightScale}
1942
+ ${403.5 * widthScale}, ${46 * heightScale}
1943
+ " fill="${this.data.border.mainColor}">
1944
+ <animate attributeName="opacity" values="0.7;0.4;0.7" dur="2s" begin="0s" repeatCount="indefinite"></animate>
1945
+ </polygon>
1946
+ <polygon filter="url(#border-box-11-filterId)" opacity="0.5" points="
1947
+ ${439.5 * widthScale}, ${37 * heightScale}
1948
+ ${418.5 * widthScale}, ${37 * heightScale}
1949
+ ${412.5 * widthScale}, ${46 * heightScale}
1950
+ ${433.5 * widthScale}, ${46 * heightScale}
1951
+ " fill="${this.data.border.mainColor}">
1952
+ <animate attributeName="opacity" values="0.5;0.2;0.5" dur="2s" begin="0s" repeatCount="indefinite"></animate>
1953
+ </polygon>
1954
+ <text x="${224.5 * widthScale}" y="${32 * heightScale}" fill="#fff" font-size="${18 * heightScale}" text-anchor="middle" dominant-baseline="middle" class="dv-border-box-11-title"></text>
1955
+
1956
+ </svg>
1957
+ `;
1958
+ }
1959
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent10, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
1960
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent10, isStandalone: true, selector: "border10", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-width:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
1961
+ }
1962
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent10, decorators: [{
1963
+ type: Component,
1964
+ args: [{ selector: 'border10', imports: [
1965
+ CommonModule,
1966
+ FormsModule, ReactiveFormsModule,
1967
+ GramPipeModule
1968
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [":host ::ng-deep polyline{fill:none;stroke-width:1}\n"] }]
1969
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
1970
+
1971
+ class BorderComponent11 extends BasicService$1 {
1972
+ globalSrv;
1973
+ svgTemplate = ``;
1974
+ width = 450;
1975
+ height = 320;
1976
+ points1 = `
1977
+ M15 5 L 434 5 Q 444 5, 444 15
1978
+ L 444 304 Q 444 314, 434 314
1979
+ L 15, 314 Q 5 314 5 304 L 5 15
1980
+ Q 5 5 15 5
1981
+ `;
1982
+ points2 = `M 429 5 L 434 5 Q 444 5 444 15 L 444 20`;
1983
+ points3 = `
1984
+ M 429 314 L 434 314
1985
+ Q 444 314 444 304
1986
+ L 444 299
1987
+ `;
1988
+ points4 = `
1989
+ M 20 314 L 15 314
1990
+ Q 5 314 5 304
1991
+ L 5 299
1992
+ `;
1993
+ constructor(globalSrv) {
1994
+ super(globalSrv);
1995
+ this.globalSrv = globalSrv;
1996
+ }
1997
+ ngOnInit() {
1998
+ }
1999
+ initPageData(value) {
2000
+ this.points1 = `
2001
+ M15 5 L ${this.data.width - 15} 5 Q ${this.data.width - 5} 5, ${this.data.width - 5} 15
2002
+ L ${this.data.width - 5} ${this.data.height - 15} Q ${this.data.width - 5} ${this.data.height - 5}, ${this.data.width - 15} ${this.data.height - 5}
2003
+ L 15, ${this.data.height - 5} Q 5 ${this.data.height - 5} 5 ${this.data.height - 15} L 5 15
2004
+ Q 5 5 15 5
2005
+ `;
2006
+ this.points2 = `M ${this.data.width - 20} 5 L ${this.data.width - 15} 5 Q ${this.data.width - 5} 5 ${this.data.width - 5} 15 L ${this.data.width - 5} 20`;
2007
+ this.points3 = `
2008
+ M ${this.data.width - 20} ${this.data.height - 5} L ${this.data.width - 15} ${this.data.height - 5}
2009
+ Q ${this.data.width - 5} ${this.data.height - 5} ${this.data.width - 5} ${this.data.height - 15}
2010
+ L ${this.data.width - 5} ${this.data.height - 20}
2011
+ `;
2012
+ this.points4 = `
2013
+ M 20 ${this.data.height - 5} L 15 ${this.data.height - 5}
2014
+ Q 5 ${this.data.height - 5} 5 ${this.data.height - 15}
2015
+ L 5 ${this.data.height - 20}
2016
+ `;
2017
+ this.svgTemplate = this.initTemplate();
2018
+ }
2019
+ initTemplate() {
2020
+ let fill = "transparent";
2021
+ let defs = this.generateGradientData();
2022
+ if (this.data.border.bgColorType == "single") {
2023
+ if (this.data.border.bgColor) {
2024
+ fill = this.data.border.bgColor;
2025
+ }
2026
+ }
2027
+ else if (this.data.border.bgColorType == "gradient") {
2028
+ fill = "url(#borderBgjSWcehpx)";
2029
+ }
2030
+ let id = Guid.createId();
2031
+ let template = `
2032
+ <svg width="${this.data.width}" height="${this.data.height}" style="opacity: ${this.opacity};">
2033
+ ${defs}
2034
+ <defs>
2035
+ <filter id="borderr-box-11-filterId-${id}" height="150%" width="150%" x="-25%"
2036
+ y="-25%">
2037
+ <feMorphology operator="dilate" radius="1" in="SourceAlpha" result="thicken"></feMorphology>
2038
+ <feGaussianBlur in="thicken" stdDeviation="2" result="blurred"></feGaussianBlur>
2039
+ <feFlood flood-color="rgba(0,206,209,0.7)" result="glowColor">
2040
+ <animate attributeName="flood-color" values="
2041
+ rgba(0,206,209,0.7);
2042
+ rgba(0,206,209,0.3);
2043
+ rgba(0,206,209,0.7);
2044
+ " dur="3s" begin="0s" repeatCount="indefinite"></animate>
2045
+ </feFlood>
2046
+ <feComposite in="glowColor" in2="blurred" operator="in" result="softGlowColored"></feComposite>
2047
+ <feMerge>
2048
+ <feMergeNode in="softGlowColored"></feMergeNode>
2049
+ <feMergeNode in="SourceGraphic"></feMergeNode>
2050
+ </feMerge>
2051
+ </filter>
2052
+ </defs>
2053
+ <path fill="${fill}" stroke-width="2" stroke="${this.data.border.mainColor}" d="${this.points1}"></path>
2054
+ <path stroke-width="2" fill="transparent" stroke-linecap="round"
2055
+ filter="url(#borderr-box-11-filterId-${id})" d="M 20 5 L 15 5 Q 5 5 5 15 L 5 20"
2056
+ stroke="${this.data.border.secondColor}"></path>
2057
+ <path stroke-width="2" fill="transparent" stroke-linecap="round"
2058
+ filter="url(#borderr-box-11-filterId-${id})" d="${this.points2}" stroke="${this.data.border.secondColor}">
2059
+ </path>
2060
+ <path stroke-width="2" fill="transparent" stroke-linecap="round"
2061
+ filter="url(#borderr-box-11-filterId-${id})" d="${this.points3}" stroke="${this.data.border.secondColor}">
2062
+ </path>
2063
+ <path stroke-width="2" fill="transparent" stroke-linecap="round"
2064
+ filter="url(#borderr-box-11-filterId-${id})" d="${this.points4}" stroke="${this.data.border.secondColor}">
2065
+ </path>
2066
+ </svg>
2067
+ `;
2068
+ return template;
2069
+ }
2070
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent11, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2071
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent11, isStandalone: true, selector: "border11", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2072
+ }
2073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent11, decorators: [{
2074
+ type: Component,
2075
+ args: [{ selector: 'border11', imports: [
2076
+ CommonModule,
2077
+ FormsModule, ReactiveFormsModule,
2078
+ GramPipeModule
2079
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
2080
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2081
+
2082
+ class BorderComponent12 extends BasicService$1 {
2083
+ globalSrv;
2084
+ svgTemplate = ``;
2085
+ width = 450;
2086
+ height = 320;
2087
+ points1 = `
2088
+ M 5 20 L 5 10 L 12 3 L 60 3 L 68 10
2089
+ L 429 10 L 444 25
2090
+ L 444 314 L 20 314
2091
+ L 5 299 L 5 20
2092
+ `;
2093
+ points2 = `M 444 289 L 444 314 L 419 314`;
2094
+ constructor(globalSrv) {
2095
+ super(globalSrv);
2096
+ this.globalSrv = globalSrv;
2097
+ }
2098
+ ngOnInit() {
2099
+ }
2100
+ initPageData(value) {
2101
+ this.points1 = `
2102
+ M 5 20 L 5 10 L 12 3 L 60 3 L 68 10
2103
+ L ${this.data.width - 20} 10 L ${this.data.width - 5} 25
2104
+ L ${this.data.width - 5} ${this.data.height - 5} L 20 ${this.data.height - 5}
2105
+ L 5 ${this.data.height - 20} L 5 20
2106
+ `;
2107
+ this.points2 = `M ${this.data.width - 5} ${this.data.height - 30} L ${this.data.width - 5} ${this.data.height - 5} L ${this.data.width - 30} ${this.data.height - 5}`;
2108
+ this.svgTemplate = this.initTemplate();
2109
+ }
2110
+ initTemplate() {
2111
+ let fill = "transparent";
2112
+ let defs = this.generateGradientData();
2113
+ if (this.data.border.bgColorType == "single") {
2114
+ if (this.data.border.bgColor) {
2115
+ fill = this.data.border.bgColor;
2116
+ }
2117
+ }
2118
+ else if (this.data.border.bgColorType == "gradient") {
2119
+ fill = "url(#borderBgjSWcehpx)";
2120
+ }
2121
+ let template = `
2122
+ <svg width="${this.data.width}" height="${this.data.height}" style="opacity: ${this.opacity};">
2123
+ ${defs}
2124
+ <path fill="${fill}" d="${this.points1}" stroke="${this.data.border.mainColor}"></path>
2125
+ <path fill="transparent" stroke-width="3" stroke-linecap="round" stroke-dasharray="10, 5" d="M 16 9 L 61 9"
2126
+ stroke="${this.data.border.mainColor}"></path>
2127
+ <path fill="transparent" d="M 5 20 L 5 10 L 12 3 L 60 3 L 68 10" stroke="${this.data.border.secondColor}"></path>
2128
+ <path fill="transparent" d="${this.points2}" stroke="${this.data.border.secondColor}"></path>
2129
+ </svg>
2130
+ `;
2131
+ return template;
2132
+ }
2133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent12, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2134
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: BorderComponent12, isStandalone: true, selector: "border12", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2135
+ }
2136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BorderComponent12, decorators: [{
2137
+ type: Component,
2138
+ args: [{ selector: 'border12', imports: [
2139
+ CommonModule,
2140
+ FormsModule, ReactiveFormsModule,
2141
+ GramPipeModule
2142
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
2143
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2144
+
2145
+ const dynamicComponents$1 = {
2146
+ border1: BorderComponent1,
2147
+ border2: BorderComponent2,
2148
+ border3: BorderComponent3,
2149
+ border4: BorderComponent4,
2150
+ border5: BorderComponent5,
2151
+ border6: BorderComponent6,
2152
+ border7: BorderComponent7,
2153
+ border8: BorderComponent8,
2154
+ border9: BorderComponent9,
2155
+ border10: BorderComponent10,
2156
+ border11: BorderComponent11,
2157
+ border12: BorderComponent12
2158
+ };
2159
+ class GramBiBorderComponent {
2160
+ componentFactoryResolver;
2161
+ _data = null;
2162
+ type = null;
2163
+ component;
2164
+ set data(value) {
2165
+ this._data = value;
2166
+ this.renderComponent();
2167
+ }
2168
+ get data() {
2169
+ return this._data;
2170
+ }
2171
+ set rd(value) {
2172
+ if (this.component) {
2173
+ this.component.instance['rd'] = value;
2174
+ }
2175
+ }
2176
+ /**
2177
+ * 动态子组件
2178
+ */
2179
+ componentHost;
2180
+ ngOnInit() { }
2181
+ constructor(componentFactoryResolver) {
2182
+ this.componentFactoryResolver = componentFactoryResolver;
2183
+ }
2184
+ renderComponent() {
2185
+ if (this.data.secondType) {
2186
+ this.type = this.data.secondType;
2187
+ }
2188
+ if (this.type) {
2189
+ if (this.componentHost) {
2190
+ this.componentHost.clear();
2191
+ const compFactory = this.componentFactoryResolver.resolveComponentFactory(dynamicComponents$1[this.type]);
2192
+ this.component = this.componentHost.createComponent(compFactory);
2193
+ this.component.instance['data'] = this.data;
2194
+ }
2195
+ }
2196
+ }
2197
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBorderComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
2198
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GramBiBorderComponent, isStandalone: true, selector: "gram-bi-border", inputs: { data: "data", rd: "rd" }, viewQueries: [{ propertyName: "componentHost", first: true, predicate: ["componentHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #componentHost></ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}:host ::ng-deep svg{transform-origin:left top}:host ::ng-deep .dv-border-box{position:relative;height:100%;width:100%}:host ::ng-deep .border-box{display:inline-block;position:relative}:host ::ng-deep .border{position:absolute;display:block;border:0!important}:host ::ng-deep polyline{fill:none;stroke-width:1}\n"] });
2199
+ }
2200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBorderComponent, decorators: [{
2201
+ type: Component,
2202
+ args: [{ selector: 'gram-bi-border', template: "<ng-container #componentHost></ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}:host ::ng-deep svg{transform-origin:left top}:host ::ng-deep .dv-border-box{position:relative;height:100%;width:100%}:host ::ng-deep .border-box{display:inline-block;position:relative}:host ::ng-deep .border{position:absolute;display:block;border:0!important}:host ::ng-deep polyline{fill:none;stroke-width:1}\n"] }]
2203
+ }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { data: [{
2204
+ type: Input
2205
+ }], rd: [{
2206
+ type: Input
2207
+ }], componentHost: [{
2208
+ type: ViewChild,
2209
+ args: ['componentHost', { read: ViewContainerRef, static: true }]
2210
+ }] } });
2211
+
2212
+ const COMPONENTS$1 = [GramBiBorderComponent];
2213
+ const COMPONENTS_NOROUNT$1 = [
2214
+ BorderComponent1,
2215
+ BorderComponent2,
2216
+ BorderComponent3,
2217
+ BorderComponent4,
2218
+ BorderComponent5,
2219
+ BorderComponent6,
2220
+ BorderComponent7,
2221
+ BorderComponent8,
2222
+ BorderComponent9,
2223
+ BorderComponent10,
2224
+ BorderComponent11,
2225
+ BorderComponent12
2226
+ ];
2227
+ class GramBiBorderModule {
2228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBorderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2229
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: GramBiBorderModule, imports: [GramBiBorderComponent, BorderComponent1,
2230
+ BorderComponent2,
2231
+ BorderComponent3,
2232
+ BorderComponent4,
2233
+ BorderComponent5,
2234
+ BorderComponent6,
2235
+ BorderComponent7,
2236
+ BorderComponent8,
2237
+ BorderComponent9,
2238
+ BorderComponent10,
2239
+ BorderComponent11,
2240
+ BorderComponent12], exports: [GramBiBorderComponent] });
2241
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBorderModule, imports: [COMPONENTS_NOROUNT$1] });
2242
+ }
2243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiBorderModule, decorators: [{
2244
+ type: NgModule,
2245
+ args: [{
2246
+ imports: [...COMPONENTS$1, ...COMPONENTS_NOROUNT$1],
2247
+ exports: [...COMPONENTS$1],
2248
+ }]
2249
+ }] });
2250
+
2251
+ class BasicService {
2252
+ globalSrv;
2253
+ _data = null;
2254
+ transform = null;
2255
+ width = 0;
2256
+ height = 0;
2257
+ set data(value) {
2258
+ this._data = value;
2259
+ this.initPageData(value);
2260
+ }
2261
+ get data() {
2262
+ return this._data;
2263
+ }
2264
+ set rd(value) {
2265
+ if (value != undefined && value != null) {
2266
+ this.initPageData(this.data);
2267
+ }
2268
+ }
2269
+ constructor(globalSrv) {
2270
+ this.globalSrv = globalSrv;
2271
+ }
2272
+ ngOnDestroy() {
2273
+ }
2274
+ initPageData(value) {
2275
+ if (this.data) {
2276
+ let x = parseFloat((this.data.width / this.width).toFixed(2));
2277
+ let y = parseFloat((this.data.height / this.height).toFixed(2));
2278
+ this.transform = `scale(${x}, ${y})`;
2279
+ this.initDecorator();
2280
+ }
2281
+ }
2282
+ initDecorator() { }
2283
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Directive });
2284
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: BasicService, isStandalone: true, inputs: { data: "data", rd: "rd" }, ngImport: i0 });
2285
+ }
2286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService, decorators: [{
2287
+ type: Directive
2288
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }], propDecorators: { data: [{
2289
+ type: Input
2290
+ }], rd: [{
2291
+ type: Input
2292
+ }] } });
2293
+
2294
+ class DecoratorComponent1 extends BasicService {
2295
+ globalSrv;
2296
+ width = 200;
2297
+ height = 50;
2298
+ svgTemplate = ``;
2299
+ constructor(globalSrv) {
2300
+ super(globalSrv);
2301
+ this.globalSrv = globalSrv;
2302
+ }
2303
+ ngOnInit() {
2304
+ }
2305
+ initDecorator() {
2306
+ let template = `
2307
+ <svg width="${this.data.width}" height="${this.data.height}" style="transform:${this.transform}">
2308
+ <rect fill="${this.data.decorator.mainColor}" x="17.797619047619047" y="8.75" width="2.5" height="2.5">
2309
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};transparent" dur="1s" begin="1.4007378824996928"
2310
+ repeatCount="indefinite"></animate>
2311
+ </rect>
2312
+ <rect fill="${this.data.decorator.mainColor}" x="36.845238095238095" y="8.75" width="2.5" height="2.5">
2313
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};transparent" dur="1s" begin="1.2703866789872844"
2314
+ repeatCount="indefinite"></animate>
2315
+ </rect>
2316
+ <rect fill="${this.data.decorator.mainColor}" x="65.41666666666667" y="8.75" width="2.5" height="2.5"></rect>
2317
+ <rect fill="${this.data.decorator.mainColor}" x="93.98809523809524" y="8.75" width="2.5" height="2.5"></rect>
2318
+
2319
+ <rect fill="${this.data.decorator.mainColor}" x="160.6547619047619" y="8.75" width="2.5" height="2.5"></rect>
2320
+
2321
+ <rect fill="${this.data.decorator.mainColor}" x="17.797619047619047" y="18.75" width="2.5" height="2.5">
2322
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};transparent" dur="1s" begin="1.585853099066676"
2323
+ repeatCount="indefinite"></animate>
2324
+ </rect>
2325
+ <rect fill="${this.data.decorator.mainColor}" x="46.36904761904762" y="18.75" width="2.5" height="2.5"></rect>
2326
+ <rect fill="${this.data.decorator.mainColor}" x="74.94047619047619" y="18.75" width="2.5" height="2.5"></rect>
2327
+ <rect fill="${this.data.decorator.mainColor}" x="93.98809523809524" y="18.75" width="2.5" height="2.5"></rect>
2328
+ <rect fill="${this.data.decorator.mainColor}" x="103.51190476190476" y="18.75" width="2.5" height="2.5"></rect>
2329
+ <rect fill="${this.data.decorator.mainColor}" x="132.08333333333334" y="18.75" width="2.5" height="2.5"></rect>
2330
+
2331
+ <rect fill="${this.data.decorator.mainColor}" x="8.273809523809524" y="28.75" width="2.5" height="2.5"></rect>
2332
+ <rect fill="${this.data.decorator.mainColor}" x="36.845238095238095" y="28.75" width="2.5" height="2.5"></rect>
2333
+ <rect fill="${this.data.decorator.mainColor}" x="46.36904761904762" y="28.75" width="2.5" height="2.5"></rect>
2334
+ <rect fill="${this.data.decorator.mainColor}" x="55.89285714285714" y="28.75" width="2.5" height="2.5"></rect>
2335
+
2336
+ <rect fill="${this.data.decorator.mainColor}" x="170.17857142857142" y="28.75" width="2.5" height="2.5">
2337
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};transparent" dur="1s" begin="1.7408332360887258"
2338
+ repeatCount="indefinite"></animate>
2339
+ </rect>
2340
+ <rect fill="${this.data.decorator.mainColor}" x="189.22619047619048" y="28.75" width="2.5" height="2.5"></rect>
2341
+ <rect fill="${this.data.decorator.mainColor}" x="8.273809523809524" y="38.75" width="2.5" height="2.5"></rect>
2342
+ <rect fill="${this.data.decorator.mainColor}" x="27.32142857142857" y="38.75" width="2.5" height="2.5"></rect>
2343
+ <rect fill="${this.data.decorator.mainColor}" x="46.36904761904762" y="38.75" width="2.5" height="2.5">
2344
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};transparent" dur="1s" begin="1.6532613131714866"
2345
+ repeatCount="indefinite"></animate>
2346
+ </rect>
2347
+ <rect fill="${this.data.decorator.mainColor}" x="74.94047619047619" y="38.75" width="2.5" height="2.5"></rect>
2348
+ <rect fill="${this.data.decorator.mainColor}" x="113.03571428571428" y="38.75" width="2.5" height="2.5"></rect>
2349
+ <rect fill="${this.data.decorator.mainColor}" x="151.13095238095238" y="38.75" width="2.5" height="2.5">
2350
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};transparent" dur="1s" begin="1.7141722761264608"
2351
+ repeatCount="indefinite"></animate>
2352
+ </rect>
2353
+ <rect fill="${this.data.decorator.mainColor}" x="170.17857142857142" y="38.75" width="2.5" height="2.5">
2354
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};transparent" dur="1s" begin="1.6865071622280947"
2355
+ repeatCount="indefinite"></animate>
2356
+ </rect>
2357
+ <rect fill="${this.data.decorator.mainColor}" x="179.70238095238096" y="38.75" width="2.5" height="2.5"></rect>
2358
+ <rect fill="${this.data.decorator.secondColor}" x="187.97619047619048" y="17.5" width="5" height="5">
2359
+ <animate attributeName="width" values="0;5" dur="2s" repeatCount="indefinite"></animate>
2360
+ <animate attributeName="height" values="0;5" dur="2s" repeatCount="indefinite"></animate>
2361
+ <animate attributeName="x" values="190.47619047619048;187.97619047619048" dur="2s" repeatCount="indefinite">
2362
+ </animate>
2363
+ <animate attributeName="y" values="20;17.5" dur="2s" repeatCount="indefinite"></animate>
2364
+ </rect>
2365
+ <rect fill="${this.data.decorator.secondColor}" x="131.42857142857142" y="17.5" width="40" height="5">
2366
+ <animate attributeName="width" values="0;40;0" dur="2s" repeatCount="indefinite"></animate>
2367
+ <animate attributeName="x" values="171.42857142857142;131.42857142857142;171.42857142857142" dur="2s"
2368
+ repeatCount="indefinite"></animate>
2369
+ </rect>
2370
+ </svg>
2371
+ `;
2372
+ this.svgTemplate = template;
2373
+ }
2374
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent1, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2375
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent1, isStandalone: true, selector: "decorator1", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2376
+ }
2377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent1, decorators: [{
2378
+ type: Component,
2379
+ args: [{ selector: 'decorator1', imports: [
2380
+ CommonModule,
2381
+ FormsModule, ReactiveFormsModule,
2382
+ GramPipeModule
2383
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}\n"] }]
2384
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2385
+
2386
+ class DecoratorComponent2 extends BasicService {
2387
+ globalSrv;
2388
+ width = 300;
2389
+ height = 35;
2390
+ svgTemplate = ``;
2391
+ constructor(globalSrv) {
2392
+ super(globalSrv);
2393
+ this.globalSrv = globalSrv;
2394
+ }
2395
+ ngOnInit() {
2396
+ }
2397
+ initDecorator() {
2398
+ let template = `
2399
+ <svg width="${this.data.width}" height="${this.data.height}" style="transform:${this.transform}">
2400
+ <rect fill="${this.data.decorator.mainColor}" x="8.038461538461538" y="8.166666666666666" width="7" height="7">
2401
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.6939015385550487s" begin="1.9399920856617765"
2402
+ repeatCount="indefinite"></animate>
2403
+ </rect>
2404
+ <rect fill="${this.data.decorator.mainColor}" x="19.576923076923077" y="8.166666666666666" width="7" height="7"></rect>
2405
+ <rect fill="${this.data.decorator.mainColor}" x="31.115384615384613" y="8.166666666666666" width="7" height="7"></rect>
2406
+ <rect fill="${this.data.decorator.mainColor}" x="42.65384615384615" y="8.166666666666666" width="7" height="7">
2407
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.6181223528378998s" begin="1.5813407003554452"
2408
+ repeatCount="indefinite"></animate>
2409
+ </rect>
2410
+ <rect fill="${this.data.decorator.mainColor}" x="54.19230769230769" y="8.166666666666666" width="7" height="7"></rect>
2411
+ <rect fill="${this.data.decorator.mainColor}" x="65.73076923076923" y="8.166666666666666" width="7" height="7">
2412
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.420212821915367s" begin="0.8615430854946635"
2413
+ repeatCount="indefinite"></animate>
2414
+ </rect>
2415
+ <rect fill="${this.data.decorator.mainColor}" x="77.26923076923077" y="8.166666666666666" width="7" height="7"></rect>
2416
+ <rect fill="${this.data.decorator.mainColor}" x="88.8076923076923" y="8.166666666666666" width="7" height="7"></rect>
2417
+ <rect fill="${this.data.decorator.mainColor}" x="100.34615384615384" y="8.166666666666666" width="7" height="7"></rect>
2418
+ <rect fill="${this.data.decorator.mainColor}" x="111.88461538461539" y="8.166666666666666" width="7" height="7"></rect>
2419
+ <rect fill="${this.data.decorator.mainColor}" x="123.42307692307692" y="8.166666666666666" width="7" height="7"></rect>
2420
+ <rect fill="${this.data.decorator.mainColor}" x="134.96153846153845" y="8.166666666666666" width="7" height="7"></rect>
2421
+ <rect fill="${this.data.decorator.mainColor}" x="146.5" y="8.166666666666666" width="7" height="7">
2422
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.7653535115838577s" begin="1.7287632898666847"
2423
+ repeatCount="indefinite"></animate>
2424
+ </rect>
2425
+ <rect fill="${this.data.decorator.mainColor}" x="158.03846153846155" y="8.166666666666666" width="7" height="7">
2426
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.4374089631940516s" begin="1.434960418461435"
2427
+ repeatCount="indefinite"></animate>
2428
+ </rect>
2429
+ <rect fill="${this.data.decorator.mainColor}" x="169.57692307692307" y="8.166666666666666" width="7" height="7"></rect>
2430
+ <rect fill="${this.data.decorator.mainColor}" x="181.1153846153846" y="8.166666666666666" width="7" height="7"></rect>
2431
+ <rect fill="${this.data.decorator.mainColor}" x="192.65384615384616" y="8.166666666666666" width="7" height="7"></rect>
2432
+ <rect fill="${this.data.decorator.mainColor}" x="204.19230769230768" y="8.166666666666666" width="7" height="7">
2433
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.7547544598305156s" begin="0.6558397303658849"
2434
+ repeatCount="indefinite"></animate>
2435
+ </rect>
2436
+ <rect fill="${this.data.decorator.mainColor}" x="215.73076923076923" y="8.166666666666666" width="7" height="7"></rect>
2437
+ <rect fill="${this.data.decorator.mainColor}" x="227.26923076923077" y="8.166666666666666" width="7" height="7">
2438
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.899278341715892s" begin="0.5640319508514504"
2439
+ repeatCount="indefinite"></animate>
2440
+ </rect>
2441
+ <rect fill="${this.data.decorator.mainColor}" x="238.8076923076923" y="8.166666666666666" width="7" height="7"></rect>
2442
+ <rect fill="${this.data.decorator.mainColor}" x="250.34615384615384" y="8.166666666666666" width="7" height="7"></rect>
2443
+ <rect fill="${this.data.decorator.mainColor}" x="261.88461538461536" y="8.166666666666666" width="7" height="7">
2444
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.0292146042175951s" begin="0.5538660426504616"
2445
+ repeatCount="indefinite"></animate>
2446
+ </rect>
2447
+ <rect fill="${this.data.decorator.mainColor}" x="273.4230769230769" y="8.166666666666666" width="7" height="7"></rect>
2448
+ <rect fill="${this.data.decorator.mainColor}" x="284.96153846153845" y="8.166666666666666" width="7" height="7"></rect>
2449
+ <rect fill="${this.data.decorator.mainColor}" x="8.038461538461538" y="19.833333333333332" width="7" height="7"></rect>
2450
+ <rect fill="${this.data.decorator.mainColor}" x="19.576923076923077" y="19.833333333333332" width="7" height="7"></rect>
2451
+ <rect fill="${this.data.decorator.mainColor}" x="31.115384615384613" y="19.833333333333332" width="7" height="7">
2452
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.3077290555388084s" begin="1.644163162106782"
2453
+ repeatCount="indefinite"></animate>
2454
+ </rect>
2455
+ <rect fill="${this.data.decorator.mainColor}" x="42.65384615384615" y="19.833333333333332" width="7" height="7"></rect>
2456
+ <rect fill="${this.data.decorator.mainColor}" x="54.19230769230769" y="19.833333333333332" width="7" height="7"></rect>
2457
+ <rect fill="${this.data.decorator.mainColor}" x="65.73076923076923" y="19.833333333333332" width="7" height="7">
2458
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.1502139679254386s" begin="0.22088420935450337"
2459
+ repeatCount="indefinite"></animate>
2460
+ </rect>
2461
+ <rect fill="${this.data.decorator.mainColor}" x="77.26923076923077" y="19.833333333333332" width="7" height="7">
2462
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.171898936715557s" begin="0.9231688099502069"
2463
+ repeatCount="indefinite"></animate>
2464
+ </rect>
2465
+ <rect fill="${this.data.decorator.mainColor}" x="88.8076923076923" y="19.833333333333332" width="7" height="7"></rect>
2466
+ <rect fill="${this.data.decorator.mainColor}" x="100.34615384615384" y="19.833333333333332" width="7" height="7"></rect>
2467
+ <rect fill="${this.data.decorator.mainColor}" x="111.88461538461539" y="19.833333333333332" width="7" height="7">
2468
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.8944443495945935s" begin="1.19309272707756"
2469
+ repeatCount="indefinite"></animate>
2470
+ </rect>
2471
+ <rect fill="${this.data.decorator.mainColor}" x="123.42307692307692" y="19.833333333333332" width="7" height="7"></rect>
2472
+ <rect fill="${this.data.decorator.mainColor}" x="134.96153846153845" y="19.833333333333332" width="7" height="7">
2473
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.5989992208642025s" begin="0.9616475491226768"
2474
+ repeatCount="indefinite"></animate>
2475
+ </rect>
2476
+ <rect fill="${this.data.decorator.mainColor}" x="146.5" y="19.833333333333332" width="7" height="7"></rect>
2477
+ <rect fill="${this.data.decorator.mainColor}" x="158.03846153846155" y="19.833333333333332" width="7" height="7">
2478
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.843108956648455s" begin="1.7204124524000197"
2479
+ repeatCount="indefinite"></animate>
2480
+ </rect>
2481
+ <rect fill="${this.data.decorator.mainColor}" x="169.57692307692307" y="19.833333333333332" width="7" height="7">
2482
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.3020330862923748s" begin="0.20708535541848638"
2483
+ repeatCount="indefinite"></animate>
2484
+ </rect>
2485
+ <rect fill="${this.data.decorator.mainColor}" x="181.1153846153846" y="19.833333333333332" width="7" height="7"></rect>
2486
+ <rect fill="${this.data.decorator.mainColor}" x="192.65384615384616" y="19.833333333333332" width="7" height="7">
2487
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.4420630346486827s" begin="1.3803983202132302"
2488
+ repeatCount="indefinite"></animate>
2489
+ </rect>
2490
+ <rect fill="${this.data.decorator.mainColor}" x="204.19230769230768" y="19.833333333333332" width="7" height="7"></rect>
2491
+ <rect fill="${this.data.decorator.mainColor}" x="215.73076923076923" y="19.833333333333332" width="7" height="7"></rect>
2492
+ <rect fill="${this.data.decorator.mainColor}" x="227.26923076923077" y="19.833333333333332" width="7" height="7"></rect>
2493
+ <rect fill="${this.data.decorator.mainColor}" x="238.8076923076923" y="19.833333333333332" width="7" height="7">
2494
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.2935452210855247s" begin="1.7862024994711616"
2495
+ repeatCount="indefinite"></animate>
2496
+ </rect>
2497
+ <rect fill="${this.data.decorator.mainColor}" x="250.34615384615384" y="19.833333333333332" width="7" height="7">
2498
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.7415724566618818s" begin="1.512871624416912"
2499
+ repeatCount="indefinite"></animate>
2500
+ </rect>
2501
+ <rect fill="${this.data.decorator.mainColor}" x="261.88461538461536" y="19.833333333333332" width="7" height="7">
2502
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.8337454556888064s" begin="0.7800928194202288"
2503
+ repeatCount="indefinite"></animate>
2504
+ </rect>
2505
+ <rect fill="${this.data.decorator.mainColor}" x="273.4230769230769" y="19.833333333333332" width="7" height="7"></rect>
2506
+ <rect fill="${this.data.decorator.mainColor}" x="284.96153846153845" y="19.833333333333332" width="7" height="7">
2507
+ <animate attributeName="fill" values="${this.data.decorator.mainColor};${this.data.decorator.secondColor}" dur="1.2381779599767428s" begin="0.4759196513841868"
2508
+ repeatCount="indefinite"></animate>
2509
+ </rect>
2510
+ </svg>
2511
+ `;
2512
+ this.svgTemplate = template;
2513
+ }
2514
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent2, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2515
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent2, isStandalone: true, selector: "decorator2", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2516
+ }
2517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent2, decorators: [{
2518
+ type: Component,
2519
+ args: [{ selector: 'decorator2', imports: [
2520
+ CommonModule,
2521
+ FormsModule, ReactiveFormsModule,
2522
+ GramPipeModule
2523
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
2524
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2525
+
2526
+ class DecoratorComponent3 extends BasicService {
2527
+ globalSrv;
2528
+ width = 350;
2529
+ height = 20;
2530
+ svgTemplate = ``;
2531
+ constructor(globalSrv) {
2532
+ super(globalSrv);
2533
+ this.globalSrv = globalSrv;
2534
+ }
2535
+ ngOnInit() {
2536
+ }
2537
+ initDecorator() {
2538
+ let template = `
2539
+ <svg width="${this.data}" heigh]="${this.data.height}">
2540
+ <rect x="0" y="${this.data.height / 2}" width="${this.data.width}" height="1" fill="${this.data.decorator.mainColor}">
2541
+ <animate attributeName="width" from="0" to="${this.data.width}" dur="${this.data.decorator.dur}s" calcMode="spline" keyTimes="0;1"
2542
+ keySplines=".42,0,.58,1" repeatCount="indefinite"></animate>
2543
+ </rect>
2544
+ <rect x="0" y="${this.data.height / 2}" width="1" height="1" fill="#fff">
2545
+ <animate attributeName="x" from="0" to="${this.data.width}" dur="${this.data.decorator.dur}s" calcMode="spline" keyTimes="0;1"
2546
+ keySplines="0.42,0,0.58,1" repeatCount="indefinite"></animate>
2547
+ </rect>
2548
+ </svg>
2549
+ `;
2550
+ this.svgTemplate = template;
2551
+ }
2552
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent3, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2553
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent3, isStandalone: true, selector: "decorator3", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2554
+ }
2555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent3, decorators: [{
2556
+ type: Component,
2557
+ args: [{ selector: 'decorator3', imports: [
2558
+ CommonModule,
2559
+ FormsModule, ReactiveFormsModule,
2560
+ GramPipeModule
2561
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
2562
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2563
+
2564
+ class DecoratorComponent4 extends BasicService {
2565
+ globalSrv;
2566
+ width = 20;
2567
+ height = 350;
2568
+ svgTemplate = ``;
2569
+ constructor(globalSrv) {
2570
+ super(globalSrv);
2571
+ this.globalSrv = globalSrv;
2572
+ }
2573
+ ngOnInit() {
2574
+ }
2575
+ initDecorator() {
2576
+ let template = `
2577
+ <svg width="${this.data.width}" height="${this.data.height}">
2578
+ <rect x="${this.data.width / 2}" y="0" width="1" height="${this.data.height}" fill="${this.data.decorator.mainColor}">
2579
+ <animate attributeName="height" from="0" to="${this.data.height}" dur="${this.data.decorator.dur}s" calcMode="spline" keyTimes="0;1"
2580
+ keySplines=".42,0,.58,1" repeatCount="indefinite"></animate>
2581
+ </rect>
2582
+ <rect x="${this.data.width / 2}" y="0" width="1" height="1">
2583
+ <animate attributeName="y" from="0" to="${this.data.height}" dur="${this.data.decorator.dur}s" calcMode="spline" keyTimes="0;1"
2584
+ keySplines="0.42,0,0.58,1" repeatCount="indefinite"></animate>
2585
+ </rect>
2586
+ </svg>
2587
+ `;
2588
+ this.svgTemplate = template;
2589
+ }
2590
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent4, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2591
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent4, isStandalone: true, selector: "decorator4", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2592
+ }
2593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent4, decorators: [{
2594
+ type: Component,
2595
+ args: [{ selector: 'decorator4', imports: [
2596
+ CommonModule,
2597
+ FormsModule, ReactiveFormsModule,
2598
+ GramPipeModule
2599
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
2600
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2601
+
2602
+ class DecoratorComponent5 extends BasicService {
2603
+ globalSrv;
2604
+ width = 5;
2605
+ height = 320;
2606
+ svgTemplate = ``;
2607
+ constructor(globalSrv) {
2608
+ super(globalSrv);
2609
+ this.globalSrv = globalSrv;
2610
+ }
2611
+ ngOnInit() {
2612
+ }
2613
+ initPageData(value) {
2614
+ let template = `
2615
+ <div style="width: 5px; height: ${this.data.height}px; animation-dur: ${this.data.decorator.dur}s;">
2616
+ <svg width="5" height="${this.data.height}">
2617
+ <polyline points="2.5, 0 2.5, ${this.data.height}" stroke="${this.data.decorator.mainColor}"></polyline>
2618
+ <polyline stroke-width="3" stroke-dasharray="20, 80" stroke-dashoffset="-30" points="2.5, 0 2.5, ${this.data.height}" class="bold-line" stroke="${this.data.decorator.secondColor}"></polyline>
2619
+ </svg>
2620
+ </div>
2621
+ `;
2622
+ this.svgTemplate = template;
2623
+ }
2624
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent5, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2625
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent5, isStandalone: true, selector: "decorator5", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep .dv-border-box{position:relative;width:100%;height:100%}:host ::ng-deep .dv-border-box div{width:5px;height:320px;animation-dur:3s;animation:ani-height ease-in-out infinite;left:50%;margin-left:-2px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;position:absolute;-webkit-box-flex:1;-webkit-flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2626
+ }
2627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent5, decorators: [{
2628
+ type: Component,
2629
+ args: [{ selector: 'decorator5', imports: [
2630
+ CommonModule,
2631
+ FormsModule, ReactiveFormsModule,
2632
+ GramPipeModule
2633
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [":host ::ng-deep .dv-border-box{position:relative;width:100%;height:100%}:host ::ng-deep .dv-border-box div{width:5px;height:320px;animation-dur:3s;animation:ani-height ease-in-out infinite;left:50%;margin-left:-2px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;position:absolute;-webkit-box-flex:1;-webkit-flex:1}\n"] }]
2634
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2635
+
2636
+ class DecoratorComponent6 extends BasicService {
2637
+ globalSrv;
2638
+ width = 320;
2639
+ height = 5;
2640
+ svgTemplate = ``;
2641
+ constructor(globalSrv) {
2642
+ super(globalSrv);
2643
+ this.globalSrv = globalSrv;
2644
+ }
2645
+ ngOnInit() {
2646
+ }
2647
+ initPageData(value) {
2648
+ let template = `
2649
+ <div style="width: ${this.data.width}px; height: 5px; animation-dur: ${this.data.decorator.dur}s;">
2650
+ <svg width="${this.data.width}" height="5">
2651
+ <polyline points="0, 2.5 ${this.data.width}, 2.5" stroke="${this.data.decorator.mainColor}"></polyline>
2652
+ <polyline stroke-width="3" stroke-dasharray="20, 80" stroke-dashoffset="-30" points="0, 2.5 ${this.data.width}, 2.5"
2653
+ class="bold-line" stroke="${this.data.decorator.secondColor}"></polyline>
2654
+ </svg>
2655
+ </div>
2656
+ `;
2657
+ this.svgTemplate = template;
2658
+ }
2659
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent6, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2660
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent6, isStandalone: true, selector: "decorator6", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2661
+ }
2662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent6, decorators: [{
2663
+ type: Component,
2664
+ args: [{ selector: 'decorator6', imports: [
2665
+ CommonModule,
2666
+ FormsModule, ReactiveFormsModule,
2667
+ GramPipeModule
2668
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\" class=\"dv-border-box\"></div>\r\n</ng-container>" }]
2669
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2670
+
2671
+ class DecoratorComponent7 extends BasicService {
2672
+ globalSrv;
2673
+ width = 350;
2674
+ height = 50;
2675
+ svgTemplate = ``;
2676
+ constructor(globalSrv) {
2677
+ super(globalSrv);
2678
+ this.globalSrv = globalSrv;
2679
+ }
2680
+ ngOnInit() {
2681
+ }
2682
+ initPageData(value) {
2683
+ this.svgTemplate = this.generateSvg();
2684
+ }
2685
+ generateSvg() {
2686
+ // 生成 SVG 字符串
2687
+ return `
2688
+ <svg width="${this.data.width}" height="${this.data.height}">
2689
+ ${this.generatePolyline1(this.data.width, this.data.height)}
2690
+ ${this.generatePolyline2(this.data.width, this.data.height)}
2691
+ </svg>`;
2692
+ }
2693
+ generatePolyline1(width, height) {
2694
+ const scaleX = width / 349;
2695
+ const scaleY = height / 49;
2696
+ const startX = width * 1.101594414139372;
2697
+ const polyline = `
2698
+ <polyline fill="transparent" stroke-width="3"
2699
+ points="0,${scaleY * 9.8} ${scaleX * 62.82},${scaleY * 9.8} ${scaleX * 69.8},${scaleY * 19.6} ${scaleX * 87.25},${scaleY * 19.6} ${scaleX * 94.23},${scaleY * 29.4} ${scaleX * 251.28},${scaleY * 29.4} ${scaleX * 261.75},${scaleY * 19.6} ${scaleX * 279.2},${scaleY * 19.6} ${scaleX * 286.18},${scaleY * 9.8} ${scaleX * 349},${scaleY * 9.8}"
2700
+ stroke="${this.data.decorator.mainColor}">
2701
+ <animate attributeName="stroke-dasharray" attributeType="XML"
2702
+ from="0, ${startX / 2}, 0, ${startX / 2}" to="0, 0, ${startX}, 0" dur="${this.data.decorator.dur}s" begin="0s"
2703
+ calcMode="spline" keyTimes="0;1" keySplines="0.4,1,0.49,0.98" repeatCount="indefinite"></animate>
2704
+ </polyline>
2705
+ `;
2706
+ return polyline.trim();
2707
+ }
2708
+ generatePolyline2(width, height) {
2709
+ const startX = (width) * 0.3999999999997135;
2710
+ const dashArrayFrom = `0, ${startX / 2}, 0, ${startX / 2}`;
2711
+ const dashArrayTo = `0, 0, ${startX}, 0`;
2712
+ const points = `${width * 0.3},${height * 0.8} ${width * 0.6999999999971347},${height * 0.8}`;
2713
+ // 创建 polyline 元素的字符串
2714
+ const polyline = `
2715
+ <polyline fill="transparent" stroke-width="2" points="${points}" stroke="${this.data.decorator.secondColor}">
2716
+ <animate attributeName="stroke-dasharray" attributeType="XML"
2717
+ from="${dashArrayFrom}" to="${dashArrayTo}"
2718
+ dur="${this.data.decorator.dur}s" begin="0s" calcMode="spline" keyTimes="0;1" keySplines=".4,1,.49,.98" repeatCount="indefinite">
2719
+ </animate>
2720
+ </polyline>
2721
+ `;
2722
+ return polyline.trim();
2723
+ }
2724
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent7, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
2725
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent7, isStandalone: true, selector: "decorator7", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
2726
+ }
2727
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent7, decorators: [{
2728
+ type: Component,
2729
+ args: [{ selector: 'decorator7', imports: [
2730
+ CommonModule,
2731
+ FormsModule, ReactiveFormsModule,
2732
+ GramPipeModule
2733
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
2734
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
2735
+
2736
+ class DecoratorComponent8 extends BasicService {
2737
+ globalSrv;
2738
+ width = 300;
2739
+ height = 35;
2740
+ svgTemplate = ``;
2741
+ constructor(globalSrv) {
2742
+ super(globalSrv);
2743
+ this.globalSrv = globalSrv;
2744
+ }
2745
+ ngOnInit() {
2746
+ }
2747
+ initDecorator() {
2748
+ let template = `
2749
+ <svg width="300px" height="35px" style="transform: ${this.transform};">
2750
+ <rect fill="${this.data.decorator.secondColor}" x="3.8170731707317076" y="13" width="7" height="9">
2751
+ <animate attributeName="y" values="16.22372575208566;13;16.22372575208566" dur="1.9193014841319482s"
2752
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2753
+ repeatCount="indefinite"></animate>
2754
+ <animate attributeName="height" values="2.552548495828684;9;2.552548495828684" dur="1.9193014841319482s"
2755
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2756
+ repeatCount="indefinite"></animate>
2757
+ </rect>
2758
+ <rect fill="${this.data.decorator.secondColor}" x="11.134146341463415" y="11.5" width="7" height="12">
2759
+ <animate attributeName="y" values="14.587694746499118;11.5;14.587694746499118" dur="1.9574817329592584s"
2760
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2761
+ repeatCount="indefinite"></animate>
2762
+ <animate attributeName="height" values="5.824610507001764;12;5.824610507001764" dur="1.9574817329592584s"
2763
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2764
+ repeatCount="indefinite"></animate>
2765
+ </rect>
2766
+ <rect fill="${this.data.decorator.mainColor}" x="18.451219512195124" y="9.5" width="7" height="16">
2767
+ <animate attributeName="y" values="9.684908096502733;9.5;9.684908096502733" dur="1.879920899418064s"
2768
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2769
+ repeatCount="indefinite"></animate>
2770
+ <animate attributeName="height" values="15.630183806994534;16;15.630183806994534" dur="1.879920899418064s"
2771
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2772
+ repeatCount="indefinite"></animate>
2773
+ </rect>
2774
+ <rect fill="${this.data.decorator.mainColor}" x="25.76829268292683" y="5.5" width="7" height="24">
2775
+ <animate attributeName="y" values="8.31138669149416;5.5;8.31138669149416" dur="2.279891112806586s"
2776
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2777
+ repeatCount="indefinite"></animate>
2778
+ <animate attributeName="height" values="18.37722661701168;24;18.37722661701168" dur="2.279891112806586s"
2779
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2780
+ repeatCount="indefinite"></animate>
2781
+ </rect>
2782
+ <rect fill="${this.data.decorator.mainColor}" x="33.08536585365854" y="13" width="7" height="9">
2783
+ <animate attributeName="y" values="17.484301435131716;13;17.484301435131716" dur="1.8820786211494718s"
2784
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2785
+ repeatCount="indefinite"></animate>
2786
+ <animate attributeName="height" values="0.03139712973656894;9;0.03139712973656894" dur="1.8820786211494718s"
2787
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2788
+ repeatCount="indefinite"></animate>
2789
+ </rect>
2790
+ <rect fill="${this.data.decorator.secondColor}" x="40.40243902439025" y="13.5" width="7" height="8">
2791
+ <animate attributeName="y" values="15.636474751626057;13.5;15.636474751626057" dur="1.8882143222931982s"
2792
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2793
+ repeatCount="indefinite"></animate>
2794
+ <animate attributeName="height" values="3.7270504967478875;8;3.7270504967478875" dur="1.8882143222931982s"
2795
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2796
+ repeatCount="indefinite"></animate>
2797
+ </rect>
2798
+ <rect fill="${this.data.decorator.secondColor}" x="47.71951219512195" y="1.5" width="7" height="32">
2799
+ <animate attributeName="y" values="6.765480306699441;1.5;6.765480306699441" dur="1.874184294326255s"
2800
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2801
+ repeatCount="indefinite"></animate>
2802
+ <animate attributeName="height" values="21.469039386601118;32;21.469039386601118" dur="1.874184294326255s"
2803
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2804
+ repeatCount="indefinite"></animate>
2805
+ </rect>
2806
+ <rect fill="${this.data.decorator.secondColor}" x="55.03658536585366" y="14" width="7" height="7">
2807
+ <animate attributeName="y" values="17.02110302527124;14;17.02110302527124" dur="2.490206927917178s"
2808
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2809
+ repeatCount="indefinite"></animate>
2810
+ <animate attributeName="height" values="0.9577939494575174;7;0.9577939494575174" dur="2.490206927917178s"
2811
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2812
+ repeatCount="indefinite"></animate>
2813
+ </rect>
2814
+ <rect fill="${this.data.decorator.secondColor}" x="62.35365853658537" y="11.5" width="7" height="12">
2815
+ <animate attributeName="y" values="16.433842195954014;11.5;16.433842195954014" dur="2.2406112100804476s"
2816
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2817
+ repeatCount="indefinite"></animate>
2818
+ <animate attributeName="height" values="2.132315608091975;12;2.132315608091975" dur="2.2406112100804476s"
2819
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2820
+ repeatCount="indefinite"></animate>
2821
+ </rect>
2822
+ <rect fill="${this.data.decorator.mainColor}" x="69.67073170731707" y="12.5" width="7" height="10">
2823
+ <animate attributeName="y" values="17.198717591613022;12.5;17.198717591613022" dur="2.3863669196404134s"
2824
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2825
+ repeatCount="indefinite"></animate>
2826
+ <animate attributeName="height" values="0.6025648167739561;10;0.6025648167739561" dur="2.3863669196404134s"
2827
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2828
+ repeatCount="indefinite"></animate>
2829
+ </rect>
2830
+ <rect fill="${this.data.decorator.mainColor}" x="76.98780487804878" y="12.5" width="7" height="10">
2831
+ <animate attributeName="y" values="13.854121210216467;12.5;13.854121210216467" dur="1.5496906432252497s"
2832
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2833
+ repeatCount="indefinite"></animate>
2834
+ <animate attributeName="height" values="7.291757579567064;10;7.291757579567064" dur="1.5496906432252497s"
2835
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2836
+ repeatCount="indefinite"></animate>
2837
+ </rect>
2838
+ <rect fill="${this.data.decorator.mainColor}" x="84.3048780487805" y="12.5" width="7" height="10">
2839
+ <animate attributeName="y" values="13.749541962152952;12.5;13.749541962152952" dur="2.0326781748109966s"
2840
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2841
+ repeatCount="indefinite"></animate>
2842
+ <animate attributeName="height" values="7.500916075694097;10;7.500916075694097" dur="2.0326781748109966s"
2843
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2844
+ repeatCount="indefinite"></animate>
2845
+ </rect>
2846
+ <rect fill="${this.data.decorator.mainColor}" x="91.6219512195122" y="10.5" width="7" height="14">
2847
+ <animate attributeName="y" values="13.549514124252724;10.5;13.549514124252724" dur="1.8720409701842267s"
2848
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2849
+ repeatCount="indefinite"></animate>
2850
+ <animate attributeName="height" values="7.90097175149455;14;7.90097175149455" dur="1.8720409701842267s"
2851
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2852
+ repeatCount="indefinite"></animate>
2853
+ </rect>
2854
+ <rect fill="${this.data.decorator.mainColor}" x="98.9390243902439" y="10" width="7" height="15">
2855
+ <animate attributeName="y" values="13.842004977727129;10;13.842004977727129" dur="2.4551927018408337s"
2856
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2857
+ repeatCount="indefinite"></animate>
2858
+ <animate attributeName="height" values="7.315990044545742;15;7.315990044545742" dur="2.4551927018408337s"
2859
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2860
+ repeatCount="indefinite"></animate>
2861
+ </rect>
2862
+ <rect fill="${this.data.decorator.secondColor}" x="106.25609756097562" y="13" width="7" height="9">
2863
+ <animate attributeName="y" values="13.445357718840306;13;13.445357718840306" dur="1.733430691288683s"
2864
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2865
+ repeatCount="indefinite"></animate>
2866
+ <animate attributeName="height" values="8.10928456231939;9;8.10928456231939" dur="1.733430691288683s"
2867
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2868
+ repeatCount="indefinite"></animate>
2869
+ </rect>
2870
+ <rect fill="${this.data.decorator.mainColor}" x="113.57317073170732" y="13" width="7" height="9">
2871
+ <animate attributeName="y" values="14.3642583245489;13;14.3642583245489" dur="2.2936049720379597s"
2872
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2873
+ repeatCount="indefinite"></animate>
2874
+ <animate attributeName="height" values="6.2714833509022005;9;6.2714833509022005" dur="2.2936049720379597s"
2875
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2876
+ repeatCount="indefinite"></animate>
2877
+ </rect>
2878
+ <rect fill="${this.data.decorator.secondColor}" x="120.89024390243902" y="12.5" width="7" height="10">
2879
+ <animate attributeName="y" values="15.053352616841154;12.5;15.053352616841154" dur="1.9977746678159636s"
2880
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2881
+ repeatCount="indefinite"></animate>
2882
+ <animate attributeName="height" values="4.893294766317691;10;4.893294766317691" dur="1.9977746678159636s"
2883
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2884
+ repeatCount="indefinite"></animate>
2885
+ </rect>
2886
+ <rect fill="${this.data.decorator.secondColor}" x="128.20731707317074" y="11.5" width="7" height="12">
2887
+ <animate attributeName="y" values="14.77633280938325;11.5;14.77633280938325" dur="2.0809742365917954s"
2888
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2889
+ repeatCount="indefinite"></animate>
2890
+ <animate attributeName="height" values="5.4473343812335004;12;5.4473343812335004" dur="2.0809742365917954s"
2891
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2892
+ repeatCount="indefinite"></animate>
2893
+ </rect>
2894
+ <rect fill="${this.data.decorator.mainColor}" x="135.52439024390245" y="9" width="7" height="17">
2895
+ <animate attributeName="y" values="10.215099993280838;9;10.215099993280838" dur="2.2482195293409166s"
2896
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2897
+ repeatCount="indefinite"></animate>
2898
+ <animate attributeName="height" values="14.569800013438325;17;14.569800013438325" dur="2.2482195293409166s"
2899
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2900
+ repeatCount="indefinite"></animate>
2901
+ </rect>
2902
+ <rect fill="${this.data.decorator.mainColor}" x="142.84146341463415" y="12" width="7" height="11">
2903
+ <animate attributeName="y" values="16.475468126383543;12;16.475468126383543" dur="2.422039959221712s"
2904
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2905
+ repeatCount="indefinite"></animate>
2906
+ <animate attributeName="height" values="2.049063747232915;11;2.049063747232915" dur="2.422039959221712s"
2907
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2908
+ repeatCount="indefinite"></animate>
2909
+ </rect>
2910
+ <rect fill="${this.data.decorator.secondColor}" x="150.15853658536585" y="12" width="7" height="11">
2911
+ <animate attributeName="y" values="12.765530243869248;12;12.765530243869248" dur="1.5758380000109493s"
2912
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2913
+ repeatCount="indefinite"></animate>
2914
+ <animate attributeName="height" values="9.468939512261503;11;9.468939512261503" dur="1.5758380000109493s"
2915
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2916
+ repeatCount="indefinite"></animate>
2917
+ </rect>
2918
+ <rect fill="${this.data.decorator.secondColor}" x="157.47560975609755" y="8.5" width="7" height="18">
2919
+ <animate attributeName="y" values="11.247619232410663;8.5;11.247619232410663" dur="1.9101922020253537s"
2920
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2921
+ repeatCount="indefinite"></animate>
2922
+ <animate attributeName="height" values="12.504761535178671;18;12.504761535178671" dur="1.9101922020253537s"
2923
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2924
+ repeatCount="indefinite"></animate>
2925
+ </rect>
2926
+ <rect fill="${this.data.decorator.secondColor}" x="164.7926829268293" y="0" width="7" height="35">
2927
+ <animate attributeName="y" values="11.07117879104485;0;11.07117879104485" dur="1.5050324774960475s"
2928
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2929
+ repeatCount="indefinite"></animate>
2930
+ <animate attributeName="height" values="12.857642417910299;35;12.857642417910299" dur="1.5050324774960475s"
2931
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2932
+ repeatCount="indefinite"></animate>
2933
+ </rect>
2934
+ <rect fill="${this.data.decorator.mainColor}" x="172.109756097561" y="10" width="7" height="15">
2935
+ <animate attributeName="y" values="11.547147204786938;10;11.547147204786938" dur="1.9113600258811372s"
2936
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2937
+ repeatCount="indefinite"></animate>
2938
+ <animate attributeName="height" values="11.905705590426122;15;11.905705590426122" dur="1.9113600258811372s"
2939
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2940
+ repeatCount="indefinite"></animate>
2941
+ </rect>
2942
+ <rect fill="${this.data.decorator.secondColor}" x="179.4268292682927" y="13" width="7" height="9">
2943
+ <animate attributeName="y" values="16.23244066387419;13;16.23244066387419" dur="1.6576201023396238s"
2944
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2945
+ repeatCount="indefinite"></animate>
2946
+ <animate attributeName="height" values="2.5351186722516204;9;2.5351186722516204" dur="1.6576201023396238s"
2947
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2948
+ repeatCount="indefinite"></animate>
2949
+ </rect>
2950
+ <rect fill="${this.data.decorator.mainColor}" x="186.7439024390244" y="1.5" width="7" height="32">
2951
+ <animate attributeName="y" values="4.589717285817084;1.5;4.589717285817084" dur="1.7669509673758628s"
2952
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2953
+ repeatCount="indefinite"></animate>
2954
+ <animate attributeName="height" values="25.820565428365832;32;25.820565428365832" dur="1.7669509673758628s"
2955
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2956
+ repeatCount="indefinite"></animate>
2957
+ </rect>
2958
+ <rect fill="${this.data.decorator.secondColor}" x="194.0609756097561" y="9.5" width="7" height="16">
2959
+ <animate attributeName="y" values="12.922910612143342;9.5;12.922910612143342" dur="2.3921373525736804s"
2960
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2961
+ repeatCount="indefinite"></animate>
2962
+ <animate attributeName="height" values="9.154178775713316;16;9.154178775713316" dur="2.3921373525736804s"
2963
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2964
+ repeatCount="indefinite"></animate>
2965
+ </rect>
2966
+ <rect fill="${this.data.decorator.secondColor}" x="201.3780487804878" y="14" width="7" height="7">
2967
+ <animate attributeName="y" values="15.464522095356593;14;15.464522095356593" dur="1.6164308478978615s"
2968
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2969
+ repeatCount="indefinite"></animate>
2970
+ <animate attributeName="height" values="4.070955809286815;7;4.070955809286815" dur="1.6164308478978615s"
2971
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2972
+ repeatCount="indefinite"></animate>
2973
+ </rect>
2974
+ <rect fill="${this.data.decorator.secondColor}" x="208.69512195121953" y="10" width="7" height="15">
2975
+ <animate attributeName="y" values="16.35600823348775;10;16.35600823348775" dur="2.0604276018369085s"
2976
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2977
+ repeatCount="indefinite"></animate>
2978
+ <animate attributeName="height" values="2.2879835330245046;15;2.2879835330245046" dur="2.0604276018369085s"
2979
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2980
+ repeatCount="indefinite"></animate>
2981
+ </rect>
2982
+ <rect fill="${this.data.decorator.mainColor}" x="216.01219512195124" y="4" width="7" height="27">
2983
+ <animate attributeName="y" values="11.112288451861373;4;11.112288451861373" dur="2.3171665982951763s"
2984
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2985
+ repeatCount="indefinite"></animate>
2986
+ <animate attributeName="height" values="12.775423096277255;27;12.775423096277255" dur="2.3171665982951763s"
2987
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2988
+ repeatCount="indefinite"></animate>
2989
+ </rect>
2990
+ <rect fill="${this.data.decorator.mainColor}" x="223.32926829268294" y="10" width="7" height="15">
2991
+ <animate attributeName="y" values="15.123181886550437;10;15.123181886550437" dur="2.4536445934424487s"
2992
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2993
+ repeatCount="indefinite"></animate>
2994
+ <animate attributeName="height" values="4.753636226899127;15;4.753636226899127" dur="2.4536445934424487s"
2995
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
2996
+ repeatCount="indefinite"></animate>
2997
+ </rect>
2998
+ <rect fill="${this.data.decorator.secondColor}" x="230.64634146341464" y="11" width="7" height="13">
2999
+ <animate attributeName="y" values="11.153864165479337;11;11.153864165479337" dur="2.026570396437095s"
3000
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3001
+ repeatCount="indefinite"></animate>
3002
+ <animate attributeName="height" values="12.692271669041324;13;12.692271669041324" dur="2.026570396437095s"
3003
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3004
+ repeatCount="indefinite"></animate>
3005
+ </rect>
3006
+ <rect fill="${this.data.decorator.mainColor}" x="237.96341463414635" y="9.5" width="7" height="16">
3007
+ <animate attributeName="y" values="10.205849402676597;9.5;10.205849402676597" dur="1.9311692847667918s"
3008
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3009
+ repeatCount="indefinite"></animate>
3010
+ <animate attributeName="height" values="14.588301194646807;16;14.588301194646807" dur="1.9311692847667918s"
3011
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3012
+ repeatCount="indefinite"></animate>
3013
+ </rect>
3014
+ <rect fill="${this.data.decorator.secondColor}" x="245.28048780487805" y="10.5" width="7" height="14">
3015
+ <animate attributeName="y" values="16.180877579111698;10.5;16.180877579111698" dur="1.9705155570401023s"
3016
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3017
+ repeatCount="indefinite"></animate>
3018
+ <animate attributeName="height" values="2.6382448417766033;14;2.6382448417766033" dur="1.9705155570401023s"
3019
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3020
+ repeatCount="indefinite"></animate>
3021
+ </rect>
3022
+ <rect fill="${this.data.decorator.secondColor}" x="252.59756097560978" y="11" width="7" height="13">
3023
+ <animate attributeName="y" values="14.803937070734275;11;14.803937070734275" dur="1.536264553364164s"
3024
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3025
+ repeatCount="indefinite"></animate>
3026
+ <animate attributeName="height" values="5.39212585853145;13;5.39212585853145" dur="1.536264553364164s"
3027
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3028
+ repeatCount="indefinite"></animate>
3029
+ </rect>
3030
+ <rect fill="${this.data.decorator.secondColor}" x="259.9146341463415" y="12" width="7" height="11">
3031
+ <animate attributeName="y" values="12.862610930654657;12;12.862610930654657" dur="2.1036543751583303s"
3032
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3033
+ repeatCount="indefinite"></animate>
3034
+ <animate attributeName="height" values="9.274778138690683;11;9.274778138690683" dur="2.1036543751583303s"
3035
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3036
+ repeatCount="indefinite"></animate>
3037
+ </rect>
3038
+ <rect fill="${this.data.decorator.secondColor}" x="267.2317073170732" y="11.5" width="7" height="12">
3039
+ <animate attributeName="y" values="14.215797285058805;11.5;14.215797285058805" dur="1.7326305696266322s"
3040
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3041
+ repeatCount="indefinite"></animate>
3042
+ <animate attributeName="height" values="6.568405429882388;12;6.568405429882388" dur="1.7326305696266322s"
3043
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3044
+ repeatCount="indefinite"></animate>
3045
+ </rect>
3046
+ <rect fill="${this.data.decorator.mainColor}" x="274.5487804878049" y="13" width="7" height="9">
3047
+ <animate attributeName="y" values="15.080354180507161;13;15.080354180507161" dur="2.033946295131261s"
3048
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3049
+ repeatCount="indefinite"></animate>
3050
+ <animate attributeName="height" values="4.839291638985678;9;4.839291638985678" dur="2.033946295131261s"
3051
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3052
+ repeatCount="indefinite"></animate>
3053
+ </rect>
3054
+ <rect fill="${this.data.decorator.secondColor}" x="281.8658536585366" y="11.5" width="7" height="12">
3055
+ <animate attributeName="y" values="15.599631345992517;11.5;15.599631345992517" dur="2.3347658396495947s"
3056
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3057
+ repeatCount="indefinite"></animate>
3058
+ <animate attributeName="height" values="3.800737308014967;12;3.800737308014967" dur="2.3347658396495947s"
3059
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3060
+ repeatCount="indefinite"></animate>
3061
+ </rect>
3062
+ <rect fill="${this.data.decorator.mainColor}" x="289.1829268292683" y="9" width="7" height="17">
3063
+ <animate attributeName="y" values="9.44779313792679;9;9.44779313792679" dur="1.907553220791245s"
3064
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3065
+ repeatCount="indefinite"></animate>
3066
+ <animate attributeName="height" values="16.10441372414642;17;16.10441372414642" dur="1.907553220791245s"
3067
+ keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s"
3068
+ repeatCount="indefinite"></animate>
3069
+ </rect>
3070
+ </svg>
3071
+ `;
3072
+ this.svgTemplate = template;
3073
+ }
3074
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent8, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
3075
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent8, isStandalone: true, selector: "decorator8", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
3076
+ }
3077
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent8, decorators: [{
3078
+ type: Component,
3079
+ args: [{ selector: 'decorator8', imports: [
3080
+ CommonModule,
3081
+ FormsModule, ReactiveFormsModule,
3082
+ GramPipeModule
3083
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
3084
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
3085
+
3086
+ class DecoratorComponent9 extends BasicService {
3087
+ globalSrv;
3088
+ width = 350;
3089
+ height = 50;
3090
+ svgTemplate = ``;
3091
+ points1 = "";
3092
+ points2 = "";
3093
+ points3 = "";
3094
+ constructor(globalSrv) {
3095
+ super(globalSrv);
3096
+ this.globalSrv = globalSrv;
3097
+ }
3098
+ ngOnInit() {
3099
+ }
3100
+ initPageData(value) {
3101
+ const centerX = this.data.width / this.width;
3102
+ this.points1 = `0, 0 30, ${24.5 * centerX}`;
3103
+ this.points2 = `20, 0 50, ${24.5 * centerX} ${this.data.width}, ${24.5 * centerX}`;
3104
+ this.points3 = `0, ${this.data.height - 3}, 200, ${this.data.height - 3}`;
3105
+ this.initDecorator();
3106
+ }
3107
+ initDecorator() {
3108
+ let template = `
3109
+ <svg width="${this.data.width}" height="${this.data.height}">
3110
+ <polyline stroke-width="2" fill="transparent" points="${this.points1}" stroke="${this.data.decorator.mainColor}"></polyline>
3111
+ <polyline stroke-width="2" fill="transparent" points="${this.points2}" stroke="${this.data.decorator.mainColor}"></polyline>
3112
+ <polyline fill="transparent" stroke-width="3" points="${this.points3}" stroke="${this.data.decorator.secondColor}"></polyline>
3113
+ </svg>
3114
+ `;
3115
+ this.svgTemplate = template;
3116
+ }
3117
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent9, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
3118
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent9, isStandalone: true, selector: "decorator9", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
3119
+ }
3120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent9, decorators: [{
3121
+ type: Component,
3122
+ args: [{ selector: 'decorator9', imports: [
3123
+ CommonModule,
3124
+ FormsModule, ReactiveFormsModule,
3125
+ GramPipeModule
3126
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
3127
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
3128
+
3129
+ class DecoratorComponent10 extends BasicService {
3130
+ globalSrv;
3131
+ width = 350;
3132
+ height = 50;
3133
+ points1 = "";
3134
+ points2 = "";
3135
+ points3 = "";
3136
+ svgTemplate = ``;
3137
+ constructor(globalSrv) {
3138
+ super(globalSrv);
3139
+ this.globalSrv = globalSrv;
3140
+ }
3141
+ ngOnInit() {
3142
+ }
3143
+ initPageData(value) {
3144
+ const centerX = this.data.width / this.width;
3145
+ this.points1 = `${this.data.width}, 0 ${this.data.width - 30}, ${centerX * 24.5}`;
3146
+ this.points2 = `${this.data.width - 20}, 0 ${this.data.width - 50}, ${centerX * 24.5} 0, ${centerX * 24.5}`;
3147
+ this.points3 = `${this.data.width}, ${this.data.height * 0.97}, ${this.data.width - 200}, ${this.data.height * 0.97}`;
3148
+ this.initDecorator();
3149
+ }
3150
+ initDecorator() {
3151
+ let template = `
3152
+ <svg width="${this.data.width}" height="${this.data.height}">
3153
+ <polyline stroke-width="2" fill="transparent" points="${this.points1}" stroke="${this.data.decorator.mainColor}"></polyline>
3154
+ <polyline stroke-width="2" fill="transparent" points="${this.points2}" stroke="${this.data.decorator.mainColor}"></polyline>
3155
+ <polyline fill="transparent" stroke-width="3" points="${this.points3}" stroke="${this.data.decorator.secondColor}"></polyline>
3156
+ </svg>
3157
+ `;
3158
+ this.svgTemplate = template;
3159
+ }
3160
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent10, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
3161
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent10, isStandalone: true, selector: "decorator10", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
3162
+ }
3163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent10, decorators: [{
3164
+ type: Component,
3165
+ args: [{ selector: 'decorator10', imports: [
3166
+ CommonModule,
3167
+ FormsModule, ReactiveFormsModule,
3168
+ GramPipeModule
3169
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
3170
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
3171
+
3172
+ class DecoratorComponent11 extends BasicService {
3173
+ globalSrv;
3174
+ width = 100;
3175
+ height = 100;
3176
+ svgTemplate = ``;
3177
+ constructor(globalSrv) {
3178
+ super(globalSrv);
3179
+ this.globalSrv = globalSrv;
3180
+ }
3181
+ ngOnInit() {
3182
+ }
3183
+ initDecorator() {
3184
+ let template = `
3185
+ <svg width="100px" height="100px" style="transform: ${this.transform};">
3186
+ <defs>
3187
+ <polygon id="decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3"
3188
+ points="15, 46.5, 21, 47.5, 21, 52.5, 15, 53.5"></polygon>
3189
+ </defs>
3190
+ <circle cx="50" cy="50" r="45" fill="transparent" stroke-width="10" stroke-dasharray="80, 100, 30, 100"
3191
+ stroke="${this.data.decorator.secondColor}">
3192
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}"
3193
+ repeatCount="indefinite"></animateTransform>
3194
+ </circle>
3195
+ <circle cx="50" cy="50" r="45" fill="transparent" stroke-width="6" stroke-dasharray="50, 66, 100, 66"
3196
+ stroke="${this.data.decorator.mainColor}">
3197
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;-360 50 50" dur="${this.data.decorator.dur}"
3198
+ repeatCount="indefinite"></animateTransform>
3199
+ </circle>
3200
+ <circle cx="50" cy="50" r="38" fill="transparent" stroke="rgba(3,166,224,0.3)" stroke-width="1"
3201
+ stroke-dasharray="5, 1"></circle>
3202
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="${this.data.decorator.mainColor}"
3203
+ stroke="${this.data.decorator.secondColor}">
3204
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="0s"
3205
+ repeatCount="indefinite"></animateTransform>
3206
+ </use>
3207
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="${this.data.decorator.mainColor}"
3208
+ stroke="${this.data.decorator.secondColor}">
3209
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="0.15s"
3210
+ repeatCount="indefinite"></animateTransform>
3211
+ </use>
3212
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="${this.data.decorator.mainColor}"
3213
+ stroke="${this.data.decorator.secondColor}">
3214
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="0.${this.data.decorator.dur}"
3215
+ repeatCount="indefinite"></animateTransform>
3216
+ </use>
3217
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" stroke="${this.data.decorator.secondColor}"
3218
+ fill="transparent">
3219
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="0.45s"
3220
+ repeatCount="indefinite"></animateTransform>
3221
+ </use>
3222
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="transparent"
3223
+ stroke="${this.data.decorator.secondColor}">
3224
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="0.6s"
3225
+ repeatCount="indefinite"></animateTransform>
3226
+ </use>
3227
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="transparent"
3228
+ stroke="${this.data.decorator.secondColor}">
3229
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="0.75s"
3230
+ repeatCount="indefinite"></animateTransform>
3231
+ </use>
3232
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" stroke="${this.data.decorator.secondColor}"
3233
+ fill="transparent">
3234
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="0.9s"
3235
+ repeatCount="indefinite"></animateTransform>
3236
+ </use>
3237
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="transparent"
3238
+ stroke="${this.data.decorator.secondColor}">
3239
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="1.05s"
3240
+ repeatCount="indefinite"></animateTransform>
3241
+ </use>
3242
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" stroke="${this.data.decorator.secondColor}"
3243
+ fill="transparent">
3244
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="1.2s"
3245
+ repeatCount="indefinite"></animateTransform>
3246
+ </use>
3247
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="transparent"
3248
+ stroke="${this.data.decorator.secondColor}">
3249
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="1.35s"
3250
+ repeatCount="indefinite"></animateTransform>
3251
+ </use>
3252
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" stroke="${this.data.decorator.secondColor}"
3253
+ fill="transparent">
3254
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="1.5s"
3255
+ repeatCount="indefinite"></animateTransform>
3256
+ </use>
3257
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="${this.data.decorator.mainColor}"
3258
+ stroke="${this.data.decorator.secondColor}">
3259
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="1.65s"
3260
+ repeatCount="indefinite"></animateTransform>
3261
+ </use>
3262
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="transparent"
3263
+ stroke="${this.data.decorator.secondColor}">
3264
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="1.8s"
3265
+ repeatCount="indefinite"></animateTransform>
3266
+ </use>
3267
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="transparent"
3268
+ stroke="${this.data.decorator.secondColor}">
3269
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="1.95s"
3270
+ repeatCount="indefinite"></animateTransform>
3271
+ </use>
3272
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" stroke="${this.data.decorator.secondColor}"
3273
+ fill="transparent">
3274
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="2.1s"
3275
+ repeatCount="indefinite"></animateTransform>
3276
+ </use>
3277
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="transparent"
3278
+ stroke="${this.data.decorator.secondColor}">
3279
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="2.25s"
3280
+ repeatCount="indefinite"></animateTransform>
3281
+ </use>
3282
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" stroke="${this.data.decorator.secondColor}"
3283
+ fill="${this.data.decorator.mainColor}">
3284
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="2.4s"
3285
+ repeatCount="indefinite"></animateTransform>
3286
+ </use>
3287
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" stroke="${this.data.decorator.secondColor}"
3288
+ fill="${this.data.decorator.mainColor}">
3289
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="2.55s"
3290
+ repeatCount="indefinite"></animateTransform>
3291
+ </use>
3292
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="${this.data.decorator.mainColor}"
3293
+ stroke="${this.data.decorator.secondColor}">
3294
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="2.7s"
3295
+ repeatCount="indefinite"></animateTransform>
3296
+ </use>
3297
+ <use xlink:href="#decoration-9-polygon-8276782a24494d2fb35734d912a2c8b3" fill="${this.data.decorator.mainColor}"
3298
+ stroke="${this.data.decorator.secondColor}">
3299
+ <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="${this.data.decorator.dur}" begin="2.85s"
3300
+ repeatCount="indefinite"></animateTransform>
3301
+ </use>
3302
+ <circle cx="50" cy="50" r="26" fill="transparent" stroke="rgba(3,166,224,0.3)" stroke-width="1"
3303
+ stroke-dasharray="5, 1"></circle>
3304
+ </svg>
3305
+ `;
3306
+ this.svgTemplate = template;
3307
+ }
3308
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent11, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
3309
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent11, isStandalone: true, selector: "decorator11", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
3310
+ }
3311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent11, decorators: [{
3312
+ type: Component,
3313
+ args: [{ selector: 'decorator11', imports: [
3314
+ CommonModule,
3315
+ FormsModule, ReactiveFormsModule,
3316
+ GramPipeModule
3317
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
3318
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
3319
+
3320
+ class DecoratorComponent12 extends BasicService {
3321
+ globalSrv;
3322
+ width = 350;
3323
+ height = 50;
3324
+ svgTemplate = ``;
3325
+ constructor(globalSrv) {
3326
+ super(globalSrv);
3327
+ this.globalSrv = globalSrv;
3328
+ }
3329
+ ngOnInit() {
3330
+ }
3331
+ initDecorator() {
3332
+ let id1 = Guid.createId();
3333
+ let id2 = Guid.createId();
3334
+ let id3 = Guid.createId();
3335
+ let id4 = Guid.createId();
3336
+ let id5 = Guid.createId();
3337
+ let id6 = Guid.createId();
3338
+ let id7 = Guid.createId();
3339
+ let template = `
3340
+ <svg width="${this.data.width}" height="${this.data.height}" style="transform: ${this.transform}">
3341
+ <polyline stroke-width="2" points="0, 24.5 349, 24.5" stroke="${this.data.decorator.secondColor}"></polyline>
3342
+ <polyline stroke-width="2" points="5, 24.5 66.8, 24.5" stroke-dasharray="0, 69.8" fill="freeze"
3343
+ stroke="${this.data.decorator.mainColor}">
3344
+ <animate id="${id1}" attributeName="stroke-dasharray"
3345
+ values="0, 69.8;69.8, 0;" dur="3s" begin="${id3}.end" fill="freeze">
3346
+ </animate>
3347
+ <animate attributeName="stroke-dasharray" values="69.8, 0;0, 69.8" dur="0.01s"
3348
+ begin="${id2}.end" fill="freeze"></animate>
3349
+ </polyline>
3350
+ <polyline stroke-width="2" points="72.8, 24.5 276.2, 24.5" stroke-dasharray="0, 209.4" stroke="${this.data.decorator.mainColor}">
3351
+ <animate id="${id4}" attributeName="stroke-dasharray"
3352
+ values="0, 209.4;209.4, 0" dur="3s" begin="${id5}.end + 1s"
3353
+ fill="freeze"></animate>
3354
+ <animate attributeName="stroke-dasharray" values="209.4, 0;0, 209.4" dur="0.01s"
3355
+ begin="${id2}.end" fill="freeze"></animate>
3356
+ </polyline>
3357
+ <polyline stroke-width="2" points="282.2, 24.5 344, 24.5" stroke-dasharray="0, 69.8" stroke="${this.data.decorator.mainColor}">
3358
+ <animate id="${id6}" attributeName="stroke-dasharray"
3359
+ values="0, 69.8;69.8, 0" dur="3s" begin="${id7}.end + 1s"
3360
+ fill="freeze"></animate>
3361
+ <animate attributeName="stroke-dasharray" values="69.8, 0;0, 104.7" dur="0.01s"
3362
+ begin="${id2}.end" fill="freeze"></animate>
3363
+ </polyline>
3364
+ <circle cx="2" cy="24.5" r="2" fill="${this.data.decorator.secondColor}">
3365
+ <animate id="${id3}" attributeName="fill"
3366
+ values="${this.data.decorator.secondColor};${this.data.decorator.mainColor}" begin="0s;${id2}.end"
3367
+ dur="0.3s" fill="freeze"></animate>
3368
+ </circle>
3369
+ <circle cx="69.8" cy="24.5" r="2" fill="${this.data.decorator.secondColor}">
3370
+ <animate id="${id5}" attributeName="fill"
3371
+ values="${this.data.decorator.secondColor};${this.data.decorator.mainColor}" begin="${id1}.end" dur="0.3s"
3372
+ fill="freeze"></animate>
3373
+ <animate attributeName="fill" values="${this.data.decorator.secondColor};${this.data.decorator.secondColor}" dur="0.01s"
3374
+ begin="${id2}.end" fill="freeze"></animate>
3375
+ </circle>
3376
+ <circle cx="279.2" cy="24.5" r="2" fill="${this.data.decorator.secondColor}">
3377
+ <animate id="${id7}" attributeName="fill"
3378
+ values="${this.data.decorator.secondColor};${this.data.decorator.mainColor}" begin="${id4}.end" dur="0.3s"
3379
+ fill="freeze"></animate>
3380
+ <animate attributeName="fill" values="${this.data.decorator.secondColor};${this.data.decorator.secondColor}" dur="0.01s"
3381
+ begin="${id2}.end" fill="freeze"></animate>
3382
+ </circle>
3383
+ <circle cx="347" cy="24.5" r="2" fill="${this.data.decorator.secondColor}">
3384
+ <animate id="${id2}" attributeName="fill"
3385
+ values="${this.data.decorator.secondColor};${this.data.decorator.mainColor}" begin="${id6}.end" dur="0.3s"
3386
+ fill="freeze"></animate>
3387
+ <animate attributeName="fill" values="${this.data.decorator.secondColor};${this.data.decorator.secondColor}" dur="0.01s"
3388
+ begin="${id2}.end" fill="freeze"></animate>
3389
+ </circle>
3390
+ </svg>
3391
+ `;
3392
+ this.svgTemplate = template;
3393
+ }
3394
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent12, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
3395
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent12, isStandalone: true, selector: "decorator12", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
3396
+ }
3397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent12, decorators: [{
3398
+ type: Component,
3399
+ args: [{ selector: 'decorator12', imports: [
3400
+ CommonModule,
3401
+ FormsModule, ReactiveFormsModule,
3402
+ GramPipeModule
3403
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
3404
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
3405
+
3406
+ class DecoratorComponent13 extends BasicService {
3407
+ globalSrv;
3408
+ width = 349;
3409
+ height = 49;
3410
+ svgTemplate = ``;
3411
+ points1 = "20 39, 25 45, 55 45 60 39";
3412
+ points2 = "329 10, 324 4, 294 4 289 10";
3413
+ points3 = "329 39, 324 45, 294 45 289 39";
3414
+ points4 = `
3415
+ 20 10, 5 24.5 20 39
3416
+ 329 39 344 24.5 329 10
3417
+ `;
3418
+ points5 = "25 18, 15 24.5 25 31";
3419
+ points6 = "324 18, 334 24.5 324 31";
3420
+ constructor(globalSrv) {
3421
+ super(globalSrv);
3422
+ this.globalSrv = globalSrv;
3423
+ }
3424
+ ngOnInit() {
3425
+ }
3426
+ initPageData(value) {
3427
+ this.points1 = `20 ${this.data.height - 10}, 25 ${this.data.height - 4}, 55 ${this.data.height - 4} 60 ${this.data.height - 10}`;
3428
+ this.points2 = `${this.data.width - 20} 10, ${this.data.width - 25} 4, ${this.data.width - 55} 4 ${this.data.width - 60} 10`;
3429
+ this.points3 = `${this.data.width - 20} ${this.data.height - 10}, ${this.data.width - 25} ${this.data.height - 4}, ${this.data.width - 55} ${this.data.height - 4} ${this.data.width - 60} ${this.data.height - 10}`;
3430
+ this.points4 = `
3431
+ 20 10, 5 ${this.data.height / 2} 20 ${this.data.height - 10}
3432
+ ${this.data.width - 20} ${this.data.height - 10} ${this.data.width - 5} ${this.data.height / 2} ${this.data.width - 20} 10
3433
+ `;
3434
+ this.points5 = `25 18, 15 ${this.data.height / 2} 25 ${this.data.height - 18}`;
3435
+ this.points6 = `${this.data.width - 25} 18, ${this.data.width - 15} ${this.data.height / 2} ${this.data.width - 25} ${this.data.height - 18}`;
3436
+ this.initDecorator();
3437
+ }
3438
+ initDecorator() {
3439
+ let template = `
3440
+ <svg width="${this.data.width}" height="${this.data.height}">
3441
+ <polygon fill="rgba(44,247,254,0.1)" points="20 10, 25 4, 55 4 60 10" stroke="${this.data.decorator.secondColor}"></polygon>
3442
+ <polygon fill="rgba(44,247,254,0.1)" points="${this.points1}" stroke="${this.data.decorator.secondColor}"></polygon>
3443
+ <polygon fill="rgba(44,247,254,0.1)" points="${this.points2}" stroke="${this.data.decorator.secondColor}"></polygon>
3444
+ <polygon fill="rgba(44,247,254,0.1)" points="${this.points3}" stroke="${this.data.decorator.secondColor}"></polygon>
3445
+
3446
+ <polygon fill="rgba(26,152,252,0.2)" points="${this.points4}" stroke="${this.data.decorator.mainColor}"></polygon>
3447
+
3448
+ <polyline fill="transparent" stroke="${this.data.decorator.mainColor}" points="${this.points5}"></polyline>
3449
+ <polyline fill="transparent" stroke="${this.data.decorator.mainColor}" points="${this.points6}"></polyline>
3450
+ </svg>
3451
+ `;
3452
+ this.svgTemplate = template;
3453
+ }
3454
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent13, deps: [{ token: i1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
3455
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DecoratorComponent13, isStandalone: true, selector: "decorator13", providers: [], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "safeHtml" }] });
3456
+ }
3457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DecoratorComponent13, decorators: [{
3458
+ type: Component,
3459
+ args: [{ selector: 'decorator13', imports: [
3460
+ CommonModule,
3461
+ FormsModule, ReactiveFormsModule,
3462
+ GramPipeModule
3463
+ ], providers: [], template: "<ng-container *ngIf=\"data!!\">\r\n <div [innerHTML]=\"svgTemplate | safeHtml\"></div>\r\n</ng-container>" }]
3464
+ }], ctorParameters: () => [{ type: i1.GramGlobalService }] });
3465
+
3466
+ const dynamicComponents = {
3467
+ decorator1: DecoratorComponent1,
3468
+ decorator2: DecoratorComponent2,
3469
+ decorator3: DecoratorComponent3,
3470
+ decorator4: DecoratorComponent4,
3471
+ decorator5: DecoratorComponent5,
3472
+ decorator6: DecoratorComponent6,
3473
+ decorator7: DecoratorComponent7,
3474
+ decorator8: DecoratorComponent8,
3475
+ decorator9: DecoratorComponent9,
3476
+ decorator10: DecoratorComponent10,
3477
+ decorator11: DecoratorComponent11,
3478
+ decorator12: DecoratorComponent12,
3479
+ decorator13: DecoratorComponent13
3480
+ };
3481
+ class GramBiDecoratorComponent {
3482
+ componentFactoryResolver;
3483
+ _data = null;
3484
+ type = null;
3485
+ component;
3486
+ set data(value) {
3487
+ this._data = value;
3488
+ this.renderComponent();
3489
+ }
3490
+ get data() {
3491
+ return this._data;
3492
+ }
3493
+ set rd(value) {
3494
+ if (this.component) {
3495
+ this.component.instance['rd'] = value;
3496
+ }
3497
+ }
3498
+ /**
3499
+ * 动态子组件
3500
+ */
3501
+ componentHost;
3502
+ ngOnInit() { }
3503
+ constructor(componentFactoryResolver) {
3504
+ this.componentFactoryResolver = componentFactoryResolver;
3505
+ }
3506
+ renderComponent() {
3507
+ if (this.data.secondType) {
3508
+ this.type = this.data.secondType;
3509
+ }
3510
+ if (this.type) {
3511
+ if (this.componentHost) {
3512
+ this.componentHost.clear();
3513
+ const compFactory = this.componentFactoryResolver.resolveComponentFactory(dynamicComponents[this.type]);
3514
+ this.component = this.componentHost.createComponent(compFactory);
3515
+ this.component.instance['data'] = this.data;
3516
+ }
3517
+ }
3518
+ }
3519
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiDecoratorComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
3520
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GramBiDecoratorComponent, isStandalone: true, selector: "gram-bi-decorator", inputs: { data: "data", rd: "rd" }, viewQueries: [{ propertyName: "componentHost", first: true, predicate: ["componentHost"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #componentHost></ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}:host ::ng-deep svg{transform-origin:left top}\n"] });
3521
+ }
3522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiDecoratorComponent, decorators: [{
3523
+ type: Component,
3524
+ args: [{ selector: 'gram-bi-decorator', template: "<ng-container #componentHost></ng-container>", styles: [":host ::ng-deep{width:100%;height:100%;display:inline-block}:host ::ng-deep svg{transform-origin:left top}\n"] }]
3525
+ }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { data: [{
3526
+ type: Input
3527
+ }], rd: [{
3528
+ type: Input
3529
+ }], componentHost: [{
3530
+ type: ViewChild,
3531
+ args: ['componentHost', { read: ViewContainerRef, static: true }]
3532
+ }] } });
3533
+
3534
+ const COMPONENTS = [GramBiDecoratorComponent];
3535
+ const COMPONENTS_NOROUNT = [
3536
+ DecoratorComponent1,
3537
+ DecoratorComponent2,
3538
+ DecoratorComponent3,
3539
+ DecoratorComponent4,
3540
+ DecoratorComponent5,
3541
+ DecoratorComponent6,
3542
+ DecoratorComponent7,
3543
+ DecoratorComponent8,
3544
+ DecoratorComponent9,
3545
+ DecoratorComponent10,
3546
+ DecoratorComponent11,
3547
+ DecoratorComponent12,
3548
+ DecoratorComponent13
3549
+ ];
3550
+ class GramBiDecoratorModule {
3551
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiDecoratorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3552
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: GramBiDecoratorModule, imports: [GramBiDecoratorComponent, DecoratorComponent1,
3553
+ DecoratorComponent2,
3554
+ DecoratorComponent3,
3555
+ DecoratorComponent4,
3556
+ DecoratorComponent5,
3557
+ DecoratorComponent6,
3558
+ DecoratorComponent7,
3559
+ DecoratorComponent8,
3560
+ DecoratorComponent9,
3561
+ DecoratorComponent10,
3562
+ DecoratorComponent11,
3563
+ DecoratorComponent12,
3564
+ DecoratorComponent13], exports: [GramBiDecoratorComponent] });
3565
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiDecoratorModule, imports: [COMPONENTS_NOROUNT] });
3566
+ }
3567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramBiDecoratorModule, decorators: [{
3568
+ type: NgModule,
3569
+ args: [{
3570
+ imports: [...COMPONENTS, ...COMPONENTS_NOROUNT],
3571
+ exports: [...COMPONENTS],
3572
+ }]
3573
+ }] });
3574
+
3575
+ /**
3576
+ * Generated bundle index. Do not edit.
3577
+ */
3578
+
3579
+ export { GramBiBasicComponent, GramBiBasicModule, GramBiBorderComponent, GramBiBorderModule, GramBiDecoratorComponent, GramBiDecoratorModule };
3580
+ //# sourceMappingURL=ebuilding-bi.mjs.map