btv-base-controls 0.1.28 → 0.1.30

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 (136) hide show
  1. package/esm2022/btv-base-controls.mjs +5 -0
  2. package/esm2022/lib/basic.module.mjs +64 -0
  3. package/esm2022/lib/blink-message/blink-message.component.mjs +54 -0
  4. package/esm2022/lib/btv-icon-button/btv-counter-button.mjs +47 -0
  5. package/esm2022/lib/btv-icon-button/btv-icon-button.component.mjs +91 -0
  6. package/esm2022/lib/btv-progress/btv-progress.component.mjs +71 -0
  7. package/esm2022/lib/btv-search/btv-search.component.mjs +82 -0
  8. package/esm2022/lib/btv-search/index.mjs +2 -0
  9. package/esm2022/lib/busy-indicator/busy-indicator.component.mjs +16 -0
  10. package/esm2022/lib/custom-tool-tip/custom-tool-tip.component.mjs +34 -0
  11. package/esm2022/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +113 -0
  12. package/esm2022/lib/illustration/illustration.component.mjs +17 -0
  13. package/esm2022/lib/wm-avatar/avatar.component.mjs +175 -0
  14. package/esm2022/lib/wm-back-btn/wm-back-btn.component.mjs +26 -0
  15. package/esm2022/lib/wm-beta-text/wm-beta-text.component.mjs +19 -0
  16. package/esm2022/lib/wm-info/info-models.mjs +14 -0
  17. package/esm2022/lib/wm-info/wm-info.component.mjs +239 -0
  18. package/esm2022/lib/wm-info-card/wm-info-card.component.mjs +23 -0
  19. package/esm2022/lib/wm-no-content/wm-no-content.component.mjs +30 -0
  20. package/esm2022/lib/wm-panel-bar/wm-panel-bar.component.mjs +81 -0
  21. package/esm2022/lib/wm-scalable-div/scalable-div.component.mjs +105 -0
  22. package/esm2022/lib/wm-spinner/wm-spinner.component.mjs +135 -0
  23. package/esm2022/lib/wm-state-icon/wm-state-icon.component.mjs +18 -0
  24. package/esm2022/lib/wm-tag/wm-tag.component.mjs +28 -0
  25. package/esm2022/lib/wm-tamplate-image/wm-template-image.component.mjs +71 -0
  26. package/esm2022/lib/wm-toggle/wm-toggle.component.mjs +31 -0
  27. package/esm2022/models/guidExtension.mjs +15 -0
  28. package/esm2022/public-api.mjs +28 -0
  29. package/fesm2022/btv-base-controls.mjs +1503 -0
  30. package/fesm2022/btv-base-controls.mjs.map +1 -0
  31. package/index.d.ts +5 -0
  32. package/lib/basic.module.d.ts +33 -0
  33. package/lib/blink-message/blink-message.component.d.ts +20 -0
  34. package/lib/btv-icon-button/btv-counter-button.d.ts +12 -0
  35. package/lib/btv-icon-button/btv-icon-button.component.d.ts +32 -0
  36. package/lib/btv-progress/btv-progress.component.d.ts +20 -0
  37. package/lib/btv-search/btv-search.component.d.ts +31 -0
  38. package/{src/lib/btv-search/index.ts → lib/btv-search/index.d.ts} +1 -1
  39. package/lib/busy-indicator/busy-indicator.component.d.ts +7 -0
  40. package/lib/custom-tool-tip/custom-tool-tip.component.d.ts +35 -0
  41. package/lib/custom-tool-tip/tool-tip-renderer.directive.d.ts +49 -0
  42. package/lib/illustration/illustration.component.d.ts +10 -0
  43. package/lib/wm-avatar/avatar.component.d.ts +63 -0
  44. package/lib/wm-back-btn/wm-back-btn.component.d.ts +10 -0
  45. package/lib/wm-beta-text/wm-beta-text.component.d.ts +7 -0
  46. package/lib/wm-info/info-models.d.ts +21 -0
  47. package/lib/wm-info/wm-info.component.d.ts +34 -0
  48. package/lib/wm-info-card/wm-info-card.component.d.ts +9 -0
  49. package/lib/wm-no-content/wm-no-content.component.d.ts +11 -0
  50. package/lib/wm-panel-bar/wm-panel-bar.component.d.ts +26 -0
  51. package/lib/wm-scalable-div/scalable-div.component.d.ts +24 -0
  52. package/lib/wm-spinner/wm-spinner.component.d.ts +37 -0
  53. package/lib/wm-state-icon/wm-state-icon.component.d.ts +9 -0
  54. package/lib/wm-tag/wm-tag.component.d.ts +10 -0
  55. package/lib/wm-tamplate-image/wm-template-image.component.d.ts +49 -0
  56. package/lib/wm-toggle/wm-toggle.component.d.ts +11 -0
  57. package/models/guidExtension.d.ts +5 -0
  58. package/package.json +24 -10
  59. package/public-api.d.ts +24 -0
  60. package/.browserslistrc +0 -16
  61. package/karma.conf.js +0 -44
  62. package/ng-package.json +0 -7
  63. package/src/assets/icon/state-icons.png +0 -0
  64. package/src/assets/theme/wmGlobals.scss +0 -181
  65. package/src/lib/basic.module.ts +0 -48
  66. package/src/lib/blink-message/blink-message.component.html +0 -1
  67. package/src/lib/blink-message/blink-message.component.scss +0 -4
  68. package/src/lib/blink-message/blink-message.component.ts +0 -54
  69. package/src/lib/btv-icon-button/btv-counter-button.html +0 -18
  70. package/src/lib/btv-icon-button/btv-counter-button.ts +0 -34
  71. package/src/lib/btv-icon-button/btv-icon-button.component.ts +0 -64
  72. package/src/lib/btv-icon-button/btv-icon-button.html +0 -14
  73. package/src/lib/btv-icon-button/btv-icon-button.scss +0 -124
  74. package/src/lib/btv-icon-button/index.ts +0 -1
  75. package/src/lib/btv-progress/btv-progress.component.ts +0 -65
  76. package/src/lib/btv-progress/btv-progress.html +0 -11
  77. package/src/lib/btv-progress/btv-progress.scss +0 -24
  78. package/src/lib/btv-search/btv-search.component.ts +0 -78
  79. package/src/lib/btv-search/btv-search.html +0 -15
  80. package/src/lib/btv-search/btv-search.scss +0 -97
  81. package/src/lib/busy-indicator/busy-indicator.component.ts +0 -13
  82. package/src/lib/busy-indicator/busy-indicator.html +0 -6
  83. package/src/lib/busy-indicator/busy-indicator.scss +0 -86
  84. package/src/lib/custom-tool-tip/custom-tool-tip.component.html +0 -9
  85. package/src/lib/custom-tool-tip/custom-tool-tip.component.scss +0 -47
  86. package/src/lib/custom-tool-tip/custom-tool-tip.component.ts +0 -44
  87. package/src/lib/custom-tool-tip/tool-tip-renderer.directive.ts +0 -111
  88. package/src/lib/illustration/illustration.component.html +0 -412
  89. package/src/lib/illustration/illustration.component.scss +0 -48
  90. package/src/lib/illustration/illustration.component.ts +0 -21
  91. package/src/lib/wm-avatar/avatar.component.ts +0 -179
  92. package/src/lib/wm-avatar/avatar.html +0 -13
  93. package/src/lib/wm-avatar/avatar.scss +0 -3
  94. package/src/lib/wm-back-btn/wm-back-btn.component.ts +0 -19
  95. package/src/lib/wm-back-btn/wm-back-btn.html +0 -7
  96. package/src/lib/wm-back-btn/wm-back-btn.scss +0 -51
  97. package/src/lib/wm-beta-text/wm-beta-text.component.html +0 -1
  98. package/src/lib/wm-beta-text/wm-beta-text.component.scss +0 -44
  99. package/src/lib/wm-beta-text/wm-beta-text.component.ts +0 -14
  100. package/src/lib/wm-info/info-models.ts +0 -22
  101. package/src/lib/wm-info/wm-info.component.ts +0 -238
  102. package/src/lib/wm-info/wm-info.html +0 -19
  103. package/src/lib/wm-info/wm-info.scss +0 -64
  104. package/src/lib/wm-info-card/wm-info-card.component.ts +0 -14
  105. package/src/lib/wm-info-card/wm-info-card.html +0 -13
  106. package/src/lib/wm-info-card/wm-info-card.scss +0 -56
  107. package/src/lib/wm-no-content/wm-no-content.component.ts +0 -17
  108. package/src/lib/wm-no-content/wm-no-content.html +0 -13
  109. package/src/lib/wm-no-content/wm-no-content.scss +0 -60
  110. package/src/lib/wm-panel-bar/wm-panel-bar.component.ts +0 -60
  111. package/src/lib/wm-panel-bar/wm-panel-bar.html +0 -43
  112. package/src/lib/wm-panel-bar/wm-panel-bar.scss +0 -114
  113. package/src/lib/wm-scalable-div/scalable-div.component.ts +0 -106
  114. package/src/lib/wm-scalable-div/scalable-div.html +0 -1
  115. package/src/lib/wm-scalable-div/scalable-div.scss +0 -11
  116. package/src/lib/wm-spinner/wm-spinner.component.ts +0 -129
  117. package/src/lib/wm-spinner/wm-spinner.html +0 -37
  118. package/src/lib/wm-spinner/wm-spinner.scss +0 -72
  119. package/src/lib/wm-state-icon/wm-state-icon.component.html +0 -4
  120. package/src/lib/wm-state-icon/wm-state-icon.component.scss +0 -26
  121. package/src/lib/wm-state-icon/wm-state-icon.component.ts +0 -18
  122. package/src/lib/wm-tag/wm-tag.component.html +0 -8
  123. package/src/lib/wm-tag/wm-tag.component.scss +0 -48
  124. package/src/lib/wm-tag/wm-tag.component.ts +0 -17
  125. package/src/lib/wm-tamplate-image/wm-template-image.component.ts +0 -56
  126. package/src/lib/wm-tamplate-image/wm-template-image.html +0 -3
  127. package/src/lib/wm-tamplate-image/wm-template-image.scss +0 -31
  128. package/src/lib/wm-toggle/wm-toggle.component.ts +0 -20
  129. package/src/lib/wm-toggle/wm-toggle.html +0 -5
  130. package/src/lib/wm-toggle/wm-toggle.scss +0 -33
  131. package/src/models/guidExtension.ts +0 -16
  132. package/src/public-api.ts +0 -29
  133. package/src/test.ts +0 -15
  134. package/tsconfig.lib.json +0 -15
  135. package/tsconfig.lib.prod.json +0 -10
  136. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,30 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../illustration/illustration.component";
5
+ export class WmNoContentComponent {
6
+ constructor() {
7
+ this.icon = '';
8
+ this.label = '';
9
+ this.description = '';
10
+ this.useFooter = true;
11
+ this.additionContent = false;
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmNoContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: WmNoContentComponent, selector: "wm-no-content", inputs: { icon: "icon", label: "label", description: "description", useFooter: "useFooter", additionContent: "additionContent" }, ngImport: i0, template: "<div>\r\n <wm-illustration [illustrationId]=\"icon\" class=\"illustration\">\r\n </wm-illustration>\r\n <div class=\"no-content-body\" *ngIf=\"(label || description)\">\r\n <div class=\"no-content-label\" *ngIf=\"label\" [innerHTML]=\"label\"></div>\r\n <div class=\"no-content-desc\" *ngIf=\"description\"> {{description}}</div>\r\n <div class=\"no-content-desc\" *ngIf=\"additionContent\">\r\n <ng-content select=\"[additionContent]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"no-foot\" *ngIf=\"useFooter\">\r\n <ng-content></ng-content>\r\n </div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{display:flex;flex-direction:column;width:100%;height:100%;margin:auto;text-align:center;box-sizing:border-box;padding:0 10px;justify-content:center}.illustration{min-width:260px;max-width:520px;margin:auto}.no-content-wrap *{box-sizing:inherit}.img-wrap{width:120px;height:120px;margin:0 auto;background-repeat:no-repeat;cursor:default}.no-content-body{width:100%;padding:12px 0;overflow-y:hidden;cursor:default}.no-content-label{color:var(--disabledFontColor);font-size:18px;padding-top:12px}.no-content-desc{color:var(--mediumFontColor);font-size:16px;word-break:break-word;padding-top:12px}.no-foot{width:100%;height:64px;display:flex;justify-content:center;padding:12px 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IllustrationComponent, selector: "wm-illustration", inputs: ["illustrationId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmNoContentComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'wm-no-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\r\n <wm-illustration [illustrationId]=\"icon\" class=\"illustration\">\r\n </wm-illustration>\r\n <div class=\"no-content-body\" *ngIf=\"(label || description)\">\r\n <div class=\"no-content-label\" *ngIf=\"label\" [innerHTML]=\"label\"></div>\r\n <div class=\"no-content-desc\" *ngIf=\"description\"> {{description}}</div>\r\n <div class=\"no-content-desc\" *ngIf=\"additionContent\">\r\n <ng-content select=\"[additionContent]\"></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"no-foot\" *ngIf=\"useFooter\">\r\n <ng-content></ng-content>\r\n </div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{display:flex;flex-direction:column;width:100%;height:100%;margin:auto;text-align:center;box-sizing:border-box;padding:0 10px;justify-content:center}.illustration{min-width:260px;max-width:520px;margin:auto}.no-content-wrap *{box-sizing:inherit}.img-wrap{width:120px;height:120px;margin:0 auto;background-repeat:no-repeat;cursor:default}.no-content-body{width:100%;padding:12px 0;overflow-y:hidden;cursor:default}.no-content-label{color:var(--disabledFontColor);font-size:18px;padding-top:12px}.no-content-desc{color:var(--mediumFontColor);font-size:16px;word-break:break-word;padding-top:12px}.no-foot{width:100%;height:64px;display:flex;justify-content:center;padding:12px 0}\n"] }]
19
+ }], propDecorators: { icon: [{
20
+ type: Input
21
+ }], label: [{
22
+ type: Input
23
+ }], description: [{
24
+ type: Input
25
+ }], useFooter: [{
26
+ type: Input
27
+ }], additionContent: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tbm8tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLW5vLWNvbnRlbnQvd20tbm8tY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLW5vLWNvbnRlbnQvd20tbm8tY29udGVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFFLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRVyxTQUFJLEdBQW9CLEVBQUUsQ0FBQztRQUMzQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsb0JBQWUsR0FBWSxLQUFLLENBQUM7S0FDM0M7OEdBTlksb0JBQW9CO2tHQUFwQixvQkFBb0IsdUxDVmpDLG1uQkFZVTs7MkZERkcsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs4QkFJdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElJbGx1c3RyYXRpb25JZCB9IGZyb20gJy4uL2lsbHVzdHJhdGlvbi9pbGx1c3RyYXRpb24uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tbm8tY29udGVudCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tbm8tY29udGVudC5zY3NzJ10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dtLW5vLWNvbnRlbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBXbU5vQ29udGVudENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaWNvbjogSUlsbHVzdHJhdGlvbklkID0gJyc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSB1c2VGb290ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFkZGl0aW9uQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiIsIjxkaXY+XHJcbiAgICA8d20taWxsdXN0cmF0aW9uIFtpbGx1c3RyYXRpb25JZF09XCJpY29uXCIgY2xhc3M9XCJpbGx1c3RyYXRpb25cIj5cclxuICAgIDwvd20taWxsdXN0cmF0aW9uPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vLWNvbnRlbnQtYm9keVwiICpuZ0lmPVwiKGxhYmVsIHx8IGRlc2NyaXB0aW9uKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuby1jb250ZW50LWxhYmVsXCIgKm5nSWY9XCJsYWJlbFwiIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm8tY29udGVudC1kZXNjXCIgKm5nSWY9XCJkZXNjcmlwdGlvblwiPiB7e2Rlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm8tY29udGVudC1kZXNjXCIgKm5nSWY9XCJhZGRpdGlvbkNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FkZGl0aW9uQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJuby1mb290XCIgKm5nSWY9XCJ1c2VGb290ZXJcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj4iXX0=
@@ -0,0 +1,81 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../wm-tamplate-image/wm-template-image.component";
5
+ export class WmPanelBarComponent {
6
+ constructor() {
7
+ this.labelClasses = 'pb-label';
8
+ this.maxHeight = 'unset';
9
+ this.maxWidth = 'unset';
10
+ this.keepInDom = false;
11
+ this._open = false;
12
+ this.collapseText = 'Collapse';
13
+ this.expandText = 'Expand';
14
+ this.openChange = new EventEmitter();
15
+ this.directionBottom = true;
16
+ this.directionLeft = false;
17
+ this._direction = 'bottom';
18
+ }
19
+ set open(value) {
20
+ if (value === this._open)
21
+ return;
22
+ this._open = value;
23
+ }
24
+ get open() {
25
+ return this._open;
26
+ }
27
+ get direction() { return this._direction; }
28
+ set direction(val) {
29
+ if (val !== 'bottom' && val !== 'left') {
30
+ val = 'bottom';
31
+ }
32
+ this._direction = val;
33
+ switch (val) {
34
+ case 'left':
35
+ this.directionLeft = true;
36
+ this.directionBottom = false;
37
+ break;
38
+ default:
39
+ this.directionBottom = true;
40
+ this.directionLeft = false;
41
+ break;
42
+ }
43
+ }
44
+ onClick() {
45
+ this.open = !this.open;
46
+ this.openChange.emit(this.open);
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmPanelBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: WmPanelBarComponent, selector: "wm-panel-bar", inputs: { label: "label", labelClasses: "labelClasses", openedLabel: "openedLabel", width: "width", height: "height", maxHeight: "maxHeight", maxWidth: "maxWidth", keepInDom: "keepInDom", open: "open", collapseText: "collapseText", expandText: "expandText", direction: "direction" }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<div *ngIf=\"directionBottom\" class=\"wm-panel-bar drb flex-col\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"pb-header align-center flex-row\">\r\n <div class={{labelClasses}} *ngIf=\"label\">{{label}}</div>\r\n <ng-content select=\"[headerLabel]\"></ng-content>\r\n <div class=\"pb-header-content flex-row\">\r\n <ng-content select=\"[headerContent]\"></ng-content>\r\n <div class=\"ex-button\" (click)=\"onClick()\">\r\n <span>{{ (open ? collapseText : expandText)}}</span>\r\n <wm-template-image class=\"bar-arrow\" [ngClass]=\"{'bar-open-bottom': open}\" icon=\"arrow-down\">\r\n </wm-template-image>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-row pb-content pb-vertical\" [ngStyle]=\"{'height': !open ? '0px': ''}\"\r\n [ngClass]=\"{'pb-vertical-visible': open}\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!directionBottom\" class=\"wm-panel-bar flex-col drl\" [ngClass]=\"{'pb-drl-open': open}\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"ex-panel flex-row ex-panel-drl\" (click)=\"onClick()\">\r\n <wm-template-image class=\"bar-arrow arrow-left\" [ngClass]=\"{'bar-open-left': open}\" icon=\"arrow-left\">\r\n </wm-template-image>\r\n <div class=\"preview-label\" *ngIf=\"!open\">{{label}}</div>\r\n <div class=\"preview-label\" *ngIf=\"open\">{{openedLabel || label}}</div>\r\n\r\n </div>\r\n @if (keepInDom) {\r\n <div class=\"flex-col pb-content pb-horizontal-visible\" [class.u-hidden-element]=\"!open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n } @else {\r\n <div class=\"flex-col pb-content pb-horizontal-visible\" *ngIf=\"open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #body>\r\n <ng-content></ng-content>\r\n</ng-template>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.wm-panel-bar{border-radius:4px;background:var(--pageBackgroundColor);flex-shrink:0;overflow:hidden;direction:ltr}.ex-button{display:inline-flex;color:var(--mediumFontColor);letter-spacing:0;cursor:pointer;background:transparent;border:none;justify-content:flex-end;align-items:center;width:86px;margin-left:8px}.pb-header{width:100%;flex-shrink:0;min-height:48px;font-size:14px;box-sizing:border-box;padding:4px 16px}.pb-label,.brand-label{font-weight:700;color:var(--strongFontColor);letter-spacing:1.2px;line-height:16px;margin-right:12px;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-label{color:var(--brandColor)}.pb-header-content{align-items:center;margin-left:auto}.bar-open-left,.bar-open-right{transform:rotateY(-180deg)}.drb{box-shadow:0 0 1px #0a16460f,0 1px 1px #0a16461a}.drr{flex-direction:row-reverse}.pb-drl-open{width:100%}.pb-vertical{height:0}.pb-content{direction:ltr;visibility:hidden;overflow:auto}.pb-vertical-visible{visibility:visible;height:100%;max-height:calc(100% - 48px)}.pb-horizontal-visible{visibility:visible;width:100%}.ex-panel{height:40px;width:auto;min-width:1px;max-width:100%;flex-shrink:0;cursor:pointer;background:transparent;border-radius:4px;box-shadow:1px 1px 2px 2px #0a16460f;justify-content:flex-start}.arrow-left{margin:auto 0}.preview-label{align-items:center;margin:auto 4px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.WmTemplateImageComponent, selector: "wm-template-image", inputs: ["icon", "disabled", "active", "light", "classes", "backgroundColor", "size", "sizeBox"] }] }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmPanelBarComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'wm-panel-bar', template: "<div *ngIf=\"directionBottom\" class=\"wm-panel-bar drb flex-col\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"pb-header align-center flex-row\">\r\n <div class={{labelClasses}} *ngIf=\"label\">{{label}}</div>\r\n <ng-content select=\"[headerLabel]\"></ng-content>\r\n <div class=\"pb-header-content flex-row\">\r\n <ng-content select=\"[headerContent]\"></ng-content>\r\n <div class=\"ex-button\" (click)=\"onClick()\">\r\n <span>{{ (open ? collapseText : expandText)}}</span>\r\n <wm-template-image class=\"bar-arrow\" [ngClass]=\"{'bar-open-bottom': open}\" icon=\"arrow-down\">\r\n </wm-template-image>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"flex-row pb-content pb-vertical\" [ngStyle]=\"{'height': !open ? '0px': ''}\"\r\n [ngClass]=\"{'pb-vertical-visible': open}\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!directionBottom\" class=\"wm-panel-bar flex-col drl\" [ngClass]=\"{'pb-drl-open': open}\"\r\n [ngStyle]=\"{'max-width': maxWidth, 'max-height': maxHeight}\">\r\n <div class=\"ex-panel flex-row ex-panel-drl\" (click)=\"onClick()\">\r\n <wm-template-image class=\"bar-arrow arrow-left\" [ngClass]=\"{'bar-open-left': open}\" icon=\"arrow-left\">\r\n </wm-template-image>\r\n <div class=\"preview-label\" *ngIf=\"!open\">{{label}}</div>\r\n <div class=\"preview-label\" *ngIf=\"open\">{{openedLabel || label}}</div>\r\n\r\n </div>\r\n @if (keepInDom) {\r\n <div class=\"flex-col pb-content pb-horizontal-visible\" [class.u-hidden-element]=\"!open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n } @else {\r\n <div class=\"flex-col pb-content pb-horizontal-visible\" *ngIf=\"open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #body>\r\n <ng-content></ng-content>\r\n</ng-template>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.wm-panel-bar{border-radius:4px;background:var(--pageBackgroundColor);flex-shrink:0;overflow:hidden;direction:ltr}.ex-button{display:inline-flex;color:var(--mediumFontColor);letter-spacing:0;cursor:pointer;background:transparent;border:none;justify-content:flex-end;align-items:center;width:86px;margin-left:8px}.pb-header{width:100%;flex-shrink:0;min-height:48px;font-size:14px;box-sizing:border-box;padding:4px 16px}.pb-label,.brand-label{font-weight:700;color:var(--strongFontColor);letter-spacing:1.2px;line-height:16px;margin-right:12px;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-label{color:var(--brandColor)}.pb-header-content{align-items:center;margin-left:auto}.bar-open-left,.bar-open-right{transform:rotateY(-180deg)}.drb{box-shadow:0 0 1px #0a16460f,0 1px 1px #0a16461a}.drr{flex-direction:row-reverse}.pb-drl-open{width:100%}.pb-vertical{height:0}.pb-content{direction:ltr;visibility:hidden;overflow:auto}.pb-vertical-visible{visibility:visible;height:100%;max-height:calc(100% - 48px)}.pb-horizontal-visible{visibility:visible;width:100%}.ex-panel{height:40px;width:auto;min-width:1px;max-width:100%;flex-shrink:0;cursor:pointer;background:transparent;border-radius:4px;box-shadow:1px 1px 2px 2px #0a16460f;justify-content:flex-start}.arrow-left{margin:auto 0}.preview-label{align-items:center;margin:auto 4px}\n"] }]
54
+ }], propDecorators: { label: [{
55
+ type: Input
56
+ }], labelClasses: [{
57
+ type: Input
58
+ }], openedLabel: [{
59
+ type: Input
60
+ }], width: [{
61
+ type: Input
62
+ }], height: [{
63
+ type: Input
64
+ }], maxHeight: [{
65
+ type: Input
66
+ }], maxWidth: [{
67
+ type: Input
68
+ }], keepInDom: [{
69
+ type: Input
70
+ }], open: [{
71
+ type: Input
72
+ }], collapseText: [{
73
+ type: Input
74
+ }], expandText: [{
75
+ type: Input
76
+ }], openChange: [{
77
+ type: Output
78
+ }], direction: [{
79
+ type: Input
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tcGFuZWwtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tcGFuZWwtYmFyL3dtLXBhbmVsLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXBhbmVsLWJhci93bS1wYW5lbC1iYXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFPVyxpQkFBWSxHQUErQixVQUFVLENBQUM7UUFLdEQsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixhQUFRLEdBQVcsT0FBTyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHNUIsVUFBSyxHQUFXLEtBQUssQ0FBQztRQVVyQixpQkFBWSxHQUFXLFVBQVUsQ0FBQztRQUNsQyxlQUFVLEdBQVcsUUFBUSxDQUFDO1FBQzdCLGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxRSxvQkFBZSxHQUFZLElBQUksQ0FBQztRQUNoQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUV2QixlQUFVLEdBQXNCLFFBQVEsQ0FBQztLQXdCbEQ7SUF0Q0MsSUFBYSxJQUFJLENBQUMsS0FBYztRQUM5QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBUUQsSUFBSSxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFhLFNBQVMsQ0FBQyxHQUFHO1FBQ3hCLElBQUksR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDdkMsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNaLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLE1BQU07WUFDUjtnQkFDRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUdELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs4R0FuRFUsbUJBQW1CO2tHQUFuQixtQkFBbUIsdVhDUGhDLGdrRUEwQ2M7OzJGRG5DRCxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsY0FBYzs4QkFLZixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS08sSUFBSTtzQkFBaEIsS0FBSztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFNTSxTQUFTO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tcGFuZWwtYmFyJyxcclxuICBzdHlsZVVybHM6IFsnd20tcGFuZWwtYmFyLnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vd20tcGFuZWwtYmFyLmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbVBhbmVsQmFyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsQ2xhc3NlczogJ3BiLWxhYmVsJyB8ICdicmFuZC1sYWJlbCcgPSAncGItbGFiZWwnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAndW5zZXQnO1xyXG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAndW5zZXQnO1xyXG4gIEBJbnB1dCgpIGtlZXBJbkRvbTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBcclxuICBwcml2YXRlIF9vcGVuOiBib29sZWFuPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fb3BlbikgcmV0dXJuO1xyXG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcclxuICB9XHJcbiAgQElucHV0KCkgY29sbGFwc2VUZXh0OiBzdHJpbmcgPSAnQ29sbGFwc2UnO1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRleHQ6IHN0cmluZyA9ICdFeHBhbmQnO1xyXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgZGlyZWN0aW9uQm90dG9tOiBib29sZWFuID0gdHJ1ZTtcclxuICBkaXJlY3Rpb25MZWZ0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX2RpcmVjdGlvbjogJ2JvdHRvbScgfCAnbGVmdCcgPSAnYm90dG9tJztcclxuICBnZXQgZGlyZWN0aW9uKCkgeyByZXR1cm4gdGhpcy5fZGlyZWN0aW9uOyB9XHJcbiAgQElucHV0KCkgc2V0IGRpcmVjdGlvbih2YWwpIHtcclxuICAgIGlmICh2YWwgIT09ICdib3R0b20nICYmIHZhbCAhPT0gJ2xlZnQnKSB7XHJcbiAgICAgIHZhbCA9ICdib3R0b20nO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGlyZWN0aW9uID0gdmFsO1xyXG4gICAgc3dpdGNoICh2YWwpIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgdGhpcy5kaXJlY3Rpb25MZWZ0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbkJvdHRvbSA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uQm90dG9tID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbkxlZnQgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcclxuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJkaXJlY3Rpb25Cb3R0b21cIiBjbGFzcz1cIndtLXBhbmVsLWJhciBkcmIgZmxleC1jb2xcIlxyXG4gICAgW25nU3R5bGVdPVwieydtYXgtd2lkdGgnOiBtYXhXaWR0aCwgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHR9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGItaGVhZGVyIGFsaWduLWNlbnRlciBmbGV4LXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9e3tsYWJlbENsYXNzZXN9fSAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlckxhYmVsXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGItaGVhZGVyLWNvbnRlbnQgZmxleC1yb3dcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlckNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXgtYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgKG9wZW4gPyBjb2xsYXBzZVRleHQgOiBleHBhbmRUZXh0KX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHdtLXRlbXBsYXRlLWltYWdlIGNsYXNzPVwiYmFyLWFycm93XCIgW25nQ2xhc3NdPVwieydiYXItb3Blbi1ib3R0b20nOiBvcGVufVwiIGljb249XCJhcnJvdy1kb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8L3dtLXRlbXBsYXRlLWltYWdlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtcm93IHBiLWNvbnRlbnQgcGItdmVydGljYWxcIiBbbmdTdHlsZV09XCJ7J2hlaWdodCc6ICFvcGVuID8gJzBweCc6ICcnfVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydwYi12ZXJ0aWNhbC12aXNpYmxlJzogb3Blbn1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFkaXJlY3Rpb25Cb3R0b21cIiBjbGFzcz1cIndtLXBhbmVsLWJhciBmbGV4LWNvbCBkcmxcIiBbbmdDbGFzc109XCJ7J3BiLWRybC1vcGVuJzogb3Blbn1cIlxyXG4gICAgW25nU3R5bGVdPVwieydtYXgtd2lkdGgnOiBtYXhXaWR0aCwgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHR9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXgtcGFuZWwgZmxleC1yb3cgZXgtcGFuZWwtZHJsXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxyXG4gICAgICAgIDx3bS10ZW1wbGF0ZS1pbWFnZSBjbGFzcz1cImJhci1hcnJvdyBhcnJvdy1sZWZ0XCIgW25nQ2xhc3NdPVwieydiYXItb3Blbi1sZWZ0Jzogb3Blbn1cIiBpY29uPVwiYXJyb3ctbGVmdFwiPlxyXG4gICAgICAgIDwvd20tdGVtcGxhdGUtaW1hZ2U+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGFiZWxcIiAqbmdJZj1cIiFvcGVuXCI+e3tsYWJlbH19PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGFiZWxcIiAqbmdJZj1cIm9wZW5cIj57e29wZW5lZExhYmVsIHx8IGxhYmVsfX08L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoa2VlcEluRG9tKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb2wgcGItY29udGVudCBwYi1ob3Jpem9udGFsLXZpc2libGVcIiBbY2xhc3MudS1oaWRkZW4tZWxlbWVudF09XCIhb3BlblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtY29sIHBiLWNvbnRlbnQgcGItaG9yaXpvbnRhbC12aXNpYmxlXCIgKm5nSWY9XCJvcGVuXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJvZHlcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYm9keT5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,105 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { interval } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class ScalableDivComponent {
6
+ get text() { return this._text; }
7
+ set text(value) {
8
+ this._text = value;
9
+ this.recalculateWidth();
10
+ }
11
+ constructor(_zone, _change) {
12
+ this._zone = _zone;
13
+ this._change = _change;
14
+ this.isCalculated = false;
15
+ }
16
+ ngAfterViewInit() {
17
+ this._zone.runOutsideAngular(() => {
18
+ this.firstObservable = interval(500).subscribe(it => {
19
+ if (this.isCalculated) {
20
+ this.firstObservable.unsubscribe();
21
+ return;
22
+ }
23
+ this.recalculateWidth();
24
+ this._change.detectChanges();
25
+ });
26
+ });
27
+ }
28
+ ngOnDestroy() {
29
+ if (!this.firstObservable)
30
+ return;
31
+ this.firstObservable.unsubscribe();
32
+ this.firstObservable = undefined;
33
+ }
34
+ getNumberFromFontSize(fontSize) {
35
+ const numberSize = Number(fontSize.substr(0, fontSize.length - 2));
36
+ return numberSize;
37
+ }
38
+ getFontSizeDim(fontSize) {
39
+ let num;
40
+ let dimLength = 0;
41
+ while (!num) {
42
+ dimLength = dimLength + 1;
43
+ num = Number(fontSize.substr(0, fontSize.length - dimLength));
44
+ }
45
+ return fontSize.substr(fontSize.length - dimLength, dimLength);
46
+ }
47
+ divWidth(text, font, padding) {
48
+ const f = font || '12px arial';
49
+ const o = document.createElement('div');
50
+ o.innerHTML = text;
51
+ o.style.position = 'absolute';
52
+ o.style.visibility = 'hidden';
53
+ o.style['text-align'] = 'center';
54
+ o.style.font = f;
55
+ o.style.padding = padding;
56
+ document.body.appendChild(o);
57
+ const w = o.clientWidth;
58
+ document.body.removeChild(o);
59
+ return w;
60
+ }
61
+ recalculateWidth() {
62
+ if (!this.divEl)
63
+ return;
64
+ const divTag = this.divEl.nativeElement;
65
+ if (divTag.clientWidth === 0)
66
+ return;
67
+ this.isCalculated = true;
68
+ this.doRecalculateWidth(divTag);
69
+ }
70
+ doRecalculateWidth(divTag) {
71
+ divTag.style.fontSize = '';
72
+ const style = window.getComputedStyle(divTag);
73
+ const availableWidth = divTag.offsetParent.clientWidth;
74
+ const sizeDim = this.getFontSizeDim(style.fontSize);
75
+ const text = divTag.textContent;
76
+ let font = style.font;
77
+ let textWidth = this.divWidth(text, font, style.padding);
78
+ const needChange = availableWidth < textWidth;
79
+ let numberSize = this.getNumberFromFontSize(style.fontSize);
80
+ let stringSize = numberSize.toString() + sizeDim;
81
+ while (textWidth - availableWidth > 1) {
82
+ numberSize = numberSize - 1;
83
+ const oldString = stringSize;
84
+ stringSize = numberSize.toString() + sizeDim;
85
+ font = font.replace(oldString, stringSize);
86
+ textWidth = this.divWidth(text, font, style.padding);
87
+ }
88
+ if (needChange)
89
+ divTag.style.fontSize = stringSize;
90
+ }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ScalableDivComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ScalableDivComponent, selector: "wm-scalable-div", inputs: { divClass: "divClass", text: "text" }, viewQueries: [{ propertyName: "divEl", first: true, predicate: ["divEl"], descendants: true, static: true }], ngImport: i0, template: "<div #divEl [ngClass]=\"divClass\">{{text}}<div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{font-size:42px;color:var(--strongFontColor);font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;font-weight:700;padding:0 8px;text-align:center;margin:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ScalableDivComponent, decorators: [{
95
+ type: Component,
96
+ args: [{ selector: 'wm-scalable-div', template: "<div #divEl [ngClass]=\"divClass\">{{text}}<div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{font-size:42px;color:var(--strongFontColor);font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;font-weight:700;padding:0 8px;text-align:center;margin:auto}\n"] }]
97
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { divClass: [{
98
+ type: Input
99
+ }], divEl: [{
100
+ type: ViewChild,
101
+ args: ['divEl', { static: true }]
102
+ }], text: [{
103
+ type: Input
104
+ }] } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFibGUtZGl2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tc2NhbGFibGUtZGl2L3NjYWxhYmxlLWRpdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXNjYWxhYmxlLWRpdi9zY2FsYWJsZS1kaXYuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBNEIsS0FBSyxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7OztBQU85QyxNQUFNLE9BQU8sb0JBQW9CO0lBUTdCLElBQVcsSUFBSSxLQUFzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELElBQW9CLElBQUksQ0FBQyxLQUFzQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBb0IsS0FBYSxFQUFVLE9BQTBCO1FBQWpELFVBQUssR0FBTCxLQUFLLENBQVE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQVZyRSxpQkFBWSxHQUFZLEtBQUssQ0FBQztJQVk5QixDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxD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QyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU1oQixJQUFJO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgTmdab25lLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnd20tc2NhbGFibGUtZGl2JyxcclxuICAgIHN0eWxlVXJsczogWycuL3NjYWxhYmxlLWRpdi5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NhbGFibGUtZGl2Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2FsYWJsZURpdkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KCkgZGl2Q2xhc3M6IHN0cmluZztcclxuICAgIEBWaWV3Q2hpbGQoJ2RpdkVsJywgeyBzdGF0aWM6IHRydWUgfSkgZGl2RWw6IEVsZW1lbnRSZWY7XHJcbiAgICBpc0NhbGN1bGF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZpcnN0T2JzZXJ2YWJsZTogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByaXZhdGUgX3RleHQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcgfCBudW1iZXIgeyByZXR1cm4gdGhpcy5fdGV4dDsgfVxyXG4gICAgQElucHV0KCkgcHVibGljIHNldCB0ZXh0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl90ZXh0ID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZVdpZHRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9uZTogTmdab25lLCBwcml2YXRlIF9jaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlyc3RPYnNlcnZhYmxlID0gaW50ZXJ2YWwoNTAwKS5zdWJzY3JpYmUoaXQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDYWxjdWxhdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdE9ic2VydmFibGUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlV2lkdGgoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5maXJzdE9ic2VydmFibGUpIHJldHVybjtcclxuICAgICAgICB0aGlzLmZpcnN0T2JzZXJ2YWJsZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuZmlyc3RPYnNlcnZhYmxlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TnVtYmVyRnJvbUZvbnRTaXplKGZvbnRTaXplOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IG51bWJlclNpemUgPSBOdW1iZXIoZm9udFNpemUuc3Vic3RyKDAsIGZvbnRTaXplLmxlbmd0aCAtIDIpKTtcclxuICAgICAgICByZXR1cm4gbnVtYmVyU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEZvbnRTaXplRGltKGZvbnRTaXplOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBudW06IG51bWJlcjtcclxuICAgICAgICBsZXQgZGltTGVuZ3RoOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIHdoaWxlICghbnVtKSB7XHJcbiAgICAgICAgICAgIGRpbUxlbmd0aCA9IGRpbUxlbmd0aCArIDE7XHJcbiAgICAgICAgICAgIG51bSA9IE51bWJlcihmb250U2l6ZS5zdWJzdHIoMCwgZm9udFNpemUubGVuZ3RoIC0gZGltTGVuZ3RoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmb250U2l6ZS5zdWJzdHIoZm9udFNpemUubGVuZ3RoIC0gZGltTGVuZ3RoLCBkaW1MZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGl2V2lkdGgodGV4dDogc3RyaW5nLCBmb250OiBzdHJpbmcsIHBhZGRpbmc6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGYgPSBmb250IHx8ICcxMnB4IGFyaWFsJztcclxuICAgICAgICBjb25zdCBvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgby5pbm5lckhUTUwgPSB0ZXh0O1xyXG4gICAgICAgIG8uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICAgIG8uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgIG8uc3R5bGVbJ3RleHQtYWxpZ24nXSA9ICdjZW50ZXInO1xyXG4gICAgICAgIG8uc3R5bGUuZm9udCA9IGY7XHJcbiAgICAgICAgby5zdHlsZS5wYWRkaW5nID0gcGFkZGluZztcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pO1xyXG4gICAgICAgIGNvbnN0IHcgPSBvLmNsaWVudFdpZHRoO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobyk7XHJcbiAgICAgICAgcmV0dXJuIHc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlY2FsY3VsYXRlV2lkdGgoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpdkVsKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgZGl2VGFnID0gdGhpcy5kaXZFbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICgoPGFueT5kaXZUYWcpLmNsaWVudFdpZHRoID09PSAwKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZG9SZWNhbGN1bGF0ZVdpZHRoKGRpdlRhZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkb1JlY2FsY3VsYXRlV2lkdGgoZGl2VGFnOiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIGRpdlRhZy5zdHlsZS5mb250U2l6ZSA9ICcnO1xyXG4gICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2VGFnKTtcclxuICAgICAgICBjb25zdCBhdmFpbGFibGVXaWR0aCA9IGRpdlRhZy5vZmZzZXRQYXJlbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgY29uc3Qgc2l6ZURpbSA9IHRoaXMuZ2V0Rm9udFNpemVEaW0oc3R5bGUuZm9udFNpemUpO1xyXG4gICAgICAgIGNvbnN0IHRleHQgPSBkaXZUYWcudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgbGV0IGZvbnQgPSBzdHlsZS5mb250O1xyXG4gICAgICAgIGxldCB0ZXh0V2lkdGggPSB0aGlzLmRpdldpZHRoKHRleHQsIGZvbnQsIHN0eWxlLnBhZGRpbmcpO1xyXG4gICAgICAgIGNvbnN0IG5lZWRDaGFuZ2U6IGJvb2xlYW4gPSBhdmFpbGFibGVXaWR0aCA8IHRleHRXaWR0aDtcclxuICAgICAgICBsZXQgbnVtYmVyU2l6ZSA9IHRoaXMuZ2V0TnVtYmVyRnJvbUZvbnRTaXplKHN0eWxlLmZvbnRTaXplKTtcclxuICAgICAgICBsZXQgc3RyaW5nU2l6ZSA9IG51bWJlclNpemUudG9TdHJpbmcoKSArIHNpemVEaW07XHJcbiAgICAgICAgd2hpbGUgKHRleHRXaWR0aCAtIGF2YWlsYWJsZVdpZHRoID4gMSkge1xyXG4gICAgICAgICAgICBudW1iZXJTaXplID0gbnVtYmVyU2l6ZSAtIDE7XHJcbiAgICAgICAgICAgIGNvbnN0IG9sZFN0cmluZyA9IHN0cmluZ1NpemU7XHJcbiAgICAgICAgICAgIHN0cmluZ1NpemUgPSBudW1iZXJTaXplLnRvU3RyaW5nKCkgKyBzaXplRGltO1xyXG4gICAgICAgICAgICBmb250ID0gZm9udC5yZXBsYWNlKG9sZFN0cmluZywgc3RyaW5nU2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHRXaWR0aCA9IHRoaXMuZGl2V2lkdGgodGV4dCwgZm9udCwgc3R5bGUucGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChuZWVkQ2hhbmdlKSBkaXZUYWcuc3R5bGUuZm9udFNpemUgPSBzdHJpbmdTaXplO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiAjZGl2RWwgW25nQ2xhc3NdPVwiZGl2Q2xhc3NcIj57e3RleHR9fTxkaXY+Il19
@@ -0,0 +1,135 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { timer } from 'rxjs';
3
+ import { Guid } from '../../models/guidExtension';
4
+ import { InfoType } from '../wm-info/info-models';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "../wm-info/wm-info.component";
8
+ export class SpinnerComponent {
9
+ get showSpinner() { return this._showSpinner; }
10
+ set showSpinner(value) {
11
+ // tslint:disable-next-line:triple-equals we should treat bool false and bool undefined as same. The same for all other cases.
12
+ if (this._showSpinner == value)
13
+ return;
14
+ this._showSpinner = value;
15
+ this.unsubscribeTimers();
16
+ if (value) {
17
+ console.log('spinner started', this.uid);
18
+ // block UI, keep it light
19
+ this.isOverlayVisible = true;
20
+ this.subscribeTimers();
21
+ this.detectChanges();
22
+ }
23
+ else {
24
+ this.stopShowingProgress();
25
+ }
26
+ }
27
+ constructor(zone, change) {
28
+ this.zone = zone;
29
+ this.change = change;
30
+ this.uid = Guid.newGuid();
31
+ this._initialized = false;
32
+ this.isOverlayVisible = false;
33
+ this.isOverlayContrast = false;
34
+ this.minTimeOfVisibilityMs = 500;
35
+ this.showDelay = 250;
36
+ this.delay = false;
37
+ this.longMessageDelay = 12500;
38
+ this.message = 'Waiting for data from server';
39
+ this.messageTakesLong = 'Request is taking a bit longer than expected';
40
+ this.messageBottomWait = 'Please Wait';
41
+ this.infoType = InfoType.Error;
42
+ }
43
+ ngOnInit() {
44
+ this._initialized = true;
45
+ }
46
+ ngOnDestroy() {
47
+ console.log('destroy');
48
+ this.unsubscribeTimers();
49
+ }
50
+ subscribeTimers() {
51
+ this.zone.runOutsideAngular(() => {
52
+ // show long wait message after few configured seconds
53
+ const longMessageTimer = timer(this.longMessageDelay);
54
+ this._longMessageTimeSubscription = longMessageTimer.subscribe(t => {
55
+ this.message = this.messageTakesLong;
56
+ this.change.detectChanges();
57
+ this._longMessageTimeSubscription.unsubscribe();
58
+ });
59
+ // draw overlay message after few configured seconds
60
+ if (!this.delay) {
61
+ this.startShowingProgress();
62
+ return;
63
+ }
64
+ const showAfterDelayTimer = timer(this.showDelay);
65
+ this._showOverlayTimerSubscription = showAfterDelayTimer.subscribe(t => {
66
+ if (this.showSpinner)
67
+ this.startShowingProgress();
68
+ this.change.detectChanges();
69
+ this._showOverlayTimerSubscription.unsubscribe();
70
+ });
71
+ });
72
+ }
73
+ unsubscribeTimers() {
74
+ if (this._longMessageTimeSubscription)
75
+ this._longMessageTimeSubscription.unsubscribe();
76
+ if (this._showOverlayTimerSubscription)
77
+ this._showOverlayTimerSubscription.unsubscribe();
78
+ }
79
+ stopShowingProgress() {
80
+ if (this._startDate) {
81
+ const now = new Date().getTime();
82
+ const duration = (now - this._startDate.getTime()); // ms
83
+ if (duration < this.minTimeOfVisibilityMs) {
84
+ this.zone.runOutsideAngular(() => {
85
+ // let it be at least one second.
86
+ console.log('remains', this.minTimeOfVisibilityMs - duration);
87
+ setTimeout(() => this.doStopProgress(), this.minTimeOfVisibilityMs - duration);
88
+ });
89
+ return;
90
+ }
91
+ }
92
+ this.doStopProgress();
93
+ }
94
+ startShowingProgress() {
95
+ console.log('contrast spinner', this.uid);
96
+ this._startDate = new Date();
97
+ this.isOverlayContrast = true;
98
+ this.detectChanges();
99
+ }
100
+ doStopProgress() {
101
+ console.log('spinner ended', this.uid);
102
+ this.isOverlayContrast = false;
103
+ this.isOverlayVisible = false;
104
+ this._startDate = undefined;
105
+ this.detectChanges();
106
+ }
107
+ detectChanges() {
108
+ if (!this._initialized)
109
+ return;
110
+ this.change.detectChanges();
111
+ }
112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SpinnerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: SpinnerComponent, selector: "wm-spinner", inputs: { delay: "delay", longMessageDelay: "longMessageDelay", message: "message", messageTakesLong: "messageTakesLong", messageBottomWait: "messageBottomWait", detailInfoMessage: "detailInfoMessage", infoType: "infoType", showSpinner: "showSpinner" }, ngImport: i0, template: "<div class=\"spinner-wrap flex-col wh-100\" *ngIf=\"isOverlayVisible\">\r\n <div class=\"spinner-bg wh-100\" [ngClass]=\"{'invisible': !isOverlayContrast }\"></div>\r\n <div class=\"spinner-content inline-col marginXA align-center\" [ngClass]=\"{'invisible': !isOverlayContrast }\">\r\n <div class=\"msg-wrap marginBottomX8\">\r\n <div style=\"display: flex\">\r\n <div class=\"msg\">{{message}}</div>\r\n <wm-info class=\"info\" [type]=\"infoType\" popupPosition=\"top-center\" \r\n [iconAsTemplate]=\"infoType===2\" [useThemeForIconTemplate]=\"infoType===2\"\r\n *ngIf=\"detailInfoMessage\" [header]=\"detailInfoMessage\" style=\"margin-left: 4px\"></wm-info>\r\n </div>\r\n \r\n <div class=\"msg\">{{messageBottomWait}}</div>\r\n </div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 168 168\" id=\"loader\">\r\n <defs>\r\n <linearGradient id=\"a\" x1=\"38.078%\" x2=\"4.941%\" y1=\"8.411%\" y2=\"16.987%\">\r\n <stop offset=\"0%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.1\" />\r\n <stop offset=\"61.554%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.4\" />\r\n <stop offset=\"100%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.5\" />\r\n </linearGradient>\r\n <radialGradient id=\"b\" cy=\"43.835%\" r=\"54.9%\" fx=\"50%\" fy=\"43.835%\"\r\n gradientTransform=\"matrix(-.77913 .62687 -.6485 -.80602 1.174 .478)\">\r\n <stop offset=\"0%\" stop-color=\"#FFF\" />\r\n <stop offset=\"100%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.5\" />\r\n </radialGradient>\r\n </defs>\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g transform=\"translate(10 10)\">\r\n <path stroke=\"url(#a)\" stroke-linecap=\"round\" stroke-width=\"19\"\r\n d=\"M16.198 27.79C6.062 40.453 0 56.518 0 74c0 40.87 33.13 74 74 74s74-33.13 74-74c0-24.611-12.014-46.416-30.498-59.87C105.292 5.244 90.258 0 74 0\" />\r\n <circle cx=\"16.5\" cy=\"27.5\" r=\"9.5\" fill=\"url(#b)\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.spinner-wrap{position:fixed;inset:0;z-index:5;text-shadow:0px 0px 0px var(--pageBackgroundColor);pointer-events:all}.spinner-bg{position:absolute;top:0;left:0;transition:opacity .4s ease-in;opacity:.7;background-color:var(--appBackgroundColor)}.invisible{opacity:.01}.spinner-content{z-index:1;width:80%;height:80%;min-width:120px;min-height:120px;max-width:400px;max-height:400px}.msg-wrap{width:auto;max-width:400px;box-sizing:border-box;text-align:center;font-size:16px;color:var(--strongFontColor);line-height:32px;font-weight:500;word-break:break-word}@media all and (max-width: 767px){.msg-wrap{font-size:14px;line-height:24px}}#loader{animation:rotation 2s infinite linear;animation-play-state:running;width:50%;height:50%;min-width:120px;min-height:120px;max-width:240px;max-height:240px;margin:0 auto}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.WmInfoComponent, selector: "wm-info", inputs: ["preText", "postText", "header", "type", "popupPosition", "iconAsTemplate", "useThemeForIconTemplate", "smallIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
114
+ }
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SpinnerComponent, decorators: [{
116
+ type: Component,
117
+ args: [{ selector: 'wm-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"spinner-wrap flex-col wh-100\" *ngIf=\"isOverlayVisible\">\r\n <div class=\"spinner-bg wh-100\" [ngClass]=\"{'invisible': !isOverlayContrast }\"></div>\r\n <div class=\"spinner-content inline-col marginXA align-center\" [ngClass]=\"{'invisible': !isOverlayContrast }\">\r\n <div class=\"msg-wrap marginBottomX8\">\r\n <div style=\"display: flex\">\r\n <div class=\"msg\">{{message}}</div>\r\n <wm-info class=\"info\" [type]=\"infoType\" popupPosition=\"top-center\" \r\n [iconAsTemplate]=\"infoType===2\" [useThemeForIconTemplate]=\"infoType===2\"\r\n *ngIf=\"detailInfoMessage\" [header]=\"detailInfoMessage\" style=\"margin-left: 4px\"></wm-info>\r\n </div>\r\n \r\n <div class=\"msg\">{{messageBottomWait}}</div>\r\n </div>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 168 168\" id=\"loader\">\r\n <defs>\r\n <linearGradient id=\"a\" x1=\"38.078%\" x2=\"4.941%\" y1=\"8.411%\" y2=\"16.987%\">\r\n <stop offset=\"0%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.1\" />\r\n <stop offset=\"61.554%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.4\" />\r\n <stop offset=\"100%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.5\" />\r\n </linearGradient>\r\n <radialGradient id=\"b\" cy=\"43.835%\" r=\"54.9%\" fx=\"50%\" fy=\"43.835%\"\r\n gradientTransform=\"matrix(-.77913 .62687 -.6485 -.80602 1.174 .478)\">\r\n <stop offset=\"0%\" stop-color=\"#FFF\" />\r\n <stop offset=\"100%\" stop-color=\"var(--brandColor)\" stop-opacity=\"0.5\" />\r\n </radialGradient>\r\n </defs>\r\n <g fill=\"none\" fill-rule=\"evenodd\">\r\n <g transform=\"translate(10 10)\">\r\n <path stroke=\"url(#a)\" stroke-linecap=\"round\" stroke-width=\"19\"\r\n d=\"M16.198 27.79C6.062 40.453 0 56.518 0 74c0 40.87 33.13 74 74 74s74-33.13 74-74c0-24.611-12.014-46.416-30.498-59.87C105.292 5.244 90.258 0 74 0\" />\r\n <circle cx=\"16.5\" cy=\"27.5\" r=\"9.5\" fill=\"url(#b)\" />\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.spinner-wrap{position:fixed;inset:0;z-index:5;text-shadow:0px 0px 0px var(--pageBackgroundColor);pointer-events:all}.spinner-bg{position:absolute;top:0;left:0;transition:opacity .4s ease-in;opacity:.7;background-color:var(--appBackgroundColor)}.invisible{opacity:.01}.spinner-content{z-index:1;width:80%;height:80%;min-width:120px;min-height:120px;max-width:400px;max-height:400px}.msg-wrap{width:auto;max-width:400px;box-sizing:border-box;text-align:center;font-size:16px;color:var(--strongFontColor);line-height:32px;font-weight:500;word-break:break-word}@media all and (max-width: 767px){.msg-wrap{font-size:14px;line-height:24px}}#loader{animation:rotation 2s infinite linear;animation-play-state:running;width:50%;height:50%;min-width:120px;min-height:120px;max-width:240px;max-height:240px;margin:0 auto}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
118
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { delay: [{
119
+ type: Input
120
+ }], longMessageDelay: [{
121
+ type: Input
122
+ }], message: [{
123
+ type: Input
124
+ }], messageTakesLong: [{
125
+ type: Input
126
+ }], messageBottomWait: [{
127
+ type: Input
128
+ }], detailInfoMessage: [{
129
+ type: Input
130
+ }], infoType: [{
131
+ type: Input
132
+ }], showSpinner: [{
133
+ type: Input
134
+ }] } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tc3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXNwaW5uZXIvd20tc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXNwaW5uZXIvd20tc3Bpbm5lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVFsRCxNQUFNLE9BQU8sZ0JBQWdCO0lBc0IzQixJQUFXLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3RELElBQW9CLFdBQVcsQ0FBQyxLQUFjO1FBQzVDLDhIQUE4SDtRQUM5SCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSztZQUFFLE9BQU87UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLDBCQUEwQjtZQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIs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bkhVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdUQ1g3QixrM0VBb0NNOzsyRkR6Qk8sZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTsyR0FlL0IsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUljLFdBQVc7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHdWlkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2d1aWRFeHRlbnNpb24nO1xyXG5pbXBvcnQgeyBJbmZvVHlwZSB9IGZyb20gJy4uL3dtLWluZm8vaW5mby1tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3bS1zcGlubmVyJyxcclxuICBzdHlsZVVybHM6IFsnLi93bS1zcGlubmVyLnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vd20tc3Bpbm5lci5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Bpbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgcHJpdmF0ZSB1aWQgPSBHdWlkLm5ld0d1aWQoKTtcclxuXHJcbiAgcHJpdmF0ZSBfbG9uZ01lc3NhZ2VUaW1lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBfc2hvd092ZXJsYXlUaW1lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgX3N0YXJ0RGF0ZTtcclxuICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc092ZXJsYXlWaXNpYmxlID0gZmFsc2U7XHJcbiAgcHVibGljIGlzT3ZlcmxheUNvbnRyYXN0ID0gZmFsc2U7XHJcbiAgcHVibGljIG1pblRpbWVPZlZpc2liaWxpdHlNcyA9IDUwMDtcclxuICBwdWJsaWMgc2hvd0RlbGF5ID0gMjUwO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgZGVsYXkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9uZ01lc3NhZ2VEZWxheSA9IDEyNTAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcgPSAnV2FpdGluZyBmb3IgZGF0YSBmcm9tIHNlcnZlcic7XHJcbiAgQElucHV0KCkgcHVibGljIG1lc3NhZ2VUYWtlc0xvbmcgPSAnUmVxdWVzdCBpcyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRoYW4gZXhwZWN0ZWQnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlQm90dG9tV2FpdDogc3RyaW5nID0gJ1BsZWFzZSBXYWl0JztcclxuICBASW5wdXQoKSBwdWJsaWMgZGV0YWlsSW5mb01lc3NhZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgaW5mb1R5cGU6IEluZm9UeXBlID0gSW5mb1R5cGUuRXJyb3I7XHJcblxyXG4gIHByaXZhdGUgX3Nob3dTcGlubmVyOiBib29sZWFuO1xyXG4gIHB1YmxpYyBnZXQgc2hvd1NwaW5uZXIoKSB7IHJldHVybiB0aGlzLl9zaG93U3Bpbm5lcjsgfVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2hvd1NwaW5uZXIodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp0cmlwbGUtZXF1YWxzIHdlIHNob3VsZCB0cmVhdCBib29sIGZhbHNlIGFuZCBib29sIHVuZGVmaW5lZCBhcyBzYW1lLiBUaGUgc2FtZSBmb3IgYWxsIG90aGVyIGNhc2VzLlxyXG4gICAgaWYgKHRoaXMuX3Nob3dTcGlubmVyID09IHZhbHVlKSByZXR1cm47XHJcbiAgICB0aGlzLl9zaG93U3Bpbm5lciA9IHZhbHVlO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVRpbWVycygpO1xyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnc3Bpbm5lciBzdGFydGVkJywgdGhpcy51aWQpO1xyXG4gICAgICAvLyBibG9jayBVSSwga2VlcCBpdCBsaWdodFxyXG4gICAgICB0aGlzLmlzT3ZlcmxheVZpc2libGUgPSB0cnVlO1xyXG4gICAgICB0aGlzLnN1YnNjcmliZVRpbWVycygpO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcFNob3dpbmdQcm9ncmVzcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUsIHByaXZhdGUgY2hhbmdlOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdkZXN0cm95Jyk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlVGltZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRpbWVycygpIHtcclxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIC8vIHNob3cgbG9uZyB3YWl0IG1lc3NhZ2UgYWZ0ZXIgZmV3IGNvbmZpZ3VyZWQgc2Vjb25kc1xyXG4gICAgICBjb25zdCBsb25nTWVzc2FnZVRpbWVyID0gdGltZXIodGhpcy5sb25nTWVzc2FnZURlbGF5KTtcclxuICAgICAgdGhpcy5fbG9uZ01lc3NhZ2VUaW1lU3Vic2NyaXB0aW9uID0gbG9uZ01lc3NhZ2VUaW1lci5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gdGhpcy5tZXNzYWdlVGFrZXNMb25nO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLl9sb25nTWVzc2FnZVRpbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICAvLyBkcmF3IG92ZXJsYXkgbWVzc2FnZSBhZnRlciBmZXcgY29uZmlndXJlZCBzZWNvbmRzXHJcbiAgICAgIGlmICghdGhpcy5kZWxheSkge1xyXG4gICAgICAgIHRoaXMuc3RhcnRTaG93aW5nUHJvZ3Jlc3MoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgc2hvd0FmdGVyRGVsYXlUaW1lciA9IHRpbWVyKHRoaXMuc2hvd0RlbGF5KTtcclxuICAgICAgdGhpcy5fc2hvd092ZXJsYXlUaW1lclN1YnNjcmlwdGlvbiA9IHNob3dBZnRlckRlbGF5VGltZXIuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNob3dTcGlubmVyKSB0aGlzLnN0YXJ0U2hvd2luZ1Byb2dyZXNzKCk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMuX3Nob3dPdmVybGF5VGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVUaW1lcnMoKSB7XHJcbiAgICBpZiAodGhpcy5fbG9uZ01lc3NhZ2VUaW1lU3Vic2NyaXB0aW9uKSB0aGlzLl9sb25nTWVzc2FnZVRpbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIGlmICh0aGlzLl9zaG93T3ZlcmxheVRpbWVyU3Vic2NyaXB0aW9uKSB0aGlzLl9zaG93T3ZlcmxheVRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BTaG93aW5nUHJvZ3Jlc3MoKSB7XHJcbiAgICBpZiAodGhpcy5fc3RhcnREYXRlKSB7XHJcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICBjb25zdCBkdXJhdGlvbiA9IChub3cgLSB0aGlzLl9zdGFydERhdGUuZ2V0VGltZSgpKTsgLy8gbXNcclxuICAgICAgaWYgKGR1cmF0aW9uIDwgdGhpcy5taW5UaW1lT2ZWaXNpYmlsaXR5TXMpIHtcclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgLy8gbGV0IGl0IGJlIGF0IGxlYXN0IG9uZSBzZWNvbmQuXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVtYWlucycsIHRoaXMubWluVGltZU9mVmlzaWJpbGl0eU1zIC0gZHVyYXRpb24pO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmRvU3RvcFByb2dyZXNzKCksIHRoaXMubWluVGltZU9mVmlzaWJpbGl0eU1zIC0gZHVyYXRpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kb1N0b3BQcm9ncmVzcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGFydFNob3dpbmdQcm9ncmVzcygpIHtcclxuICAgIGNvbnNvbGUubG9nKCdjb250cmFzdCBzcGlubmVyJywgdGhpcy51aWQpO1xyXG4gICAgdGhpcy5fc3RhcnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHRoaXMuaXNPdmVybGF5Q29udHJhc3QgPSB0cnVlO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRvU3RvcFByb2dyZXNzKCkge1xyXG4gICAgY29uc29sZS5sb2coJ3NwaW5uZXIgZW5kZWQnLCB0aGlzLnVpZCk7XHJcbiAgICB0aGlzLmlzT3ZlcmxheUNvbnRyYXN0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzT3ZlcmxheVZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMuX3N0YXJ0RGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXRlY3RDaGFuZ2VzKCkge1xyXG4gICAgaWYgKCF0aGlzLl9pbml0aWFsaXplZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5jaGFuZ2UuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNwaW5uZXItd3JhcCBmbGV4LWNvbCB3aC0xMDBcIiAqbmdJZj1cImlzT3ZlcmxheVZpc2libGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJnIHdoLTEwMFwiIFtuZ0NsYXNzXT1cInsnaW52aXNpYmxlJzogIWlzT3ZlcmxheUNvbnRyYXN0IH1cIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWNvbnRlbnQgaW5saW5lLWNvbCBtYXJnaW5YQSBhbGlnbi1jZW50ZXJcIiBbbmdDbGFzc109XCJ7J2ludmlzaWJsZSc6ICFpc092ZXJsYXlDb250cmFzdCB9XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zZy13cmFwIG1hcmdpbkJvdHRvbVg4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zZ1wiPnt7bWVzc2FnZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHdtLWluZm8gY2xhc3M9XCJpbmZvXCIgW3R5cGVdPVwiaW5mb1R5cGVcIiBwb3B1cFBvc2l0aW9uPVwidG9wLWNlbnRlclwiIFxyXG4gICAgICAgICAgICAgICAgICAgIFtpY29uQXNUZW1wbGF0ZV09XCJpbmZvVHlwZT09PTJcIiBbdXNlVGhlbWVGb3JJY29uVGVtcGxhdGVdPVwiaW5mb1R5cGU9PT0yXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRldGFpbEluZm9NZXNzYWdlXCIgW2hlYWRlcl09XCJkZXRhaWxJbmZvTWVzc2FnZVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDRweFwiPjwvd20taW5mbz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXNnXCI+e3ttZXNzYWdlQm90dG9tV2FpdH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNjggMTY4XCIgaWQ9XCJsb2FkZXJcIj5cclxuICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJhXCIgeDE9XCIzOC4wNzglXCIgeDI9XCI0Ljk0MSVcIiB5MT1cIjguNDExJVwiIHkyPVwiMTYuOTg3JVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAlXCIgc3RvcC1jb2xvcj1cInZhcigtLWJyYW5kQ29sb3IpXCIgc3RvcC1vcGFjaXR5PVwiMC4xXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCI2MS41NTQlXCIgc3RvcC1jb2xvcj1cInZhcigtLWJyYW5kQ29sb3IpXCIgc3RvcC1vcGFjaXR5PVwiMC40XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxMDAlXCIgc3RvcC1jb2xvcj1cInZhcigtLWJyYW5kQ29sb3IpXCIgc3RvcC1vcGFjaXR5PVwiMC41XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgICAgICAgICAgICAgICA8cmFkaWFsR3JhZGllbnQgaWQ9XCJiXCIgY3k9XCI0My44MzUlXCIgcj1cIjU0LjklXCIgZng9XCI1MCVcIiBmeT1cIjQzLjgzNSVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPVwibWF0cml4KC0uNzc5MTMgLjYyNjg3IC0uNjQ4NSAtLjgwNjAyIDEuMTc0IC40NzgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMCVcIiBzdG9wLWNvbG9yPVwiI0ZGRlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMTAwJVwiIHN0b3AtY29sb3I9XCJ2YXIoLS1icmFuZENvbG9yKVwiIHN0b3Atb3BhY2l0eT1cIjAuNVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3JhZGlhbEdyYWRpZW50PlxyXG4gICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPlxyXG4gICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIDEwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZT1cInVybCgjYSlcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE2LjE5OCAyNy43OUM2LjA2MiA0MC40NTMgMCA1Ni41MTggMCA3NGMwIDQwLjg3IDMzLjEzIDc0IDc0IDc0czc0LTMzLjEzIDc0LTc0YzAtMjQuNjExLTEyLjAxNC00Ni40MTYtMzAuNDk4LTU5Ljg3QzEwNS4yOTIgNS4yNDQgOTAuMjU4IDAgNzQgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjE2LjVcIiBjeT1cIjI3LjVcIiByPVwiOS41XCIgZmlsbD1cInVybCgjYilcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class WmStateIconComponent {
4
+ constructor() {
5
+ this.state = 'ok';
6
+ }
7
+ ngOnInit() {
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmStateIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: WmStateIconComponent, selector: "wm-state-icon", inputs: { state: "state" }, ngImport: i0, template: "<!--workaround for css image resolve plugin-->\r\n<div class=\"icon-wrapper {{state}}\" >\r\n\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.icon-wrapper{margin:0 auto;text-align:center;width:50px;height:50px;background-image:url(/assets/icon/state-icons.png)}.ok{background-position-x:-77px;background-position-y:-82px}.warning{background-position-x:-129px;background-position-y:-82px}.error-i{background-position-x:-321px;background-position-y:-82px;width:70px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmStateIconComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'wm-state-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--workaround for css image resolve plugin-->\r\n<div class=\"icon-wrapper {{state}}\" >\r\n\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.icon-wrapper{margin:0 auto;text-align:center;width:50px;height:50px;background-image:url(/assets/icon/state-icons.png)}.ok{background-position-x:-77px;background-position-y:-82px}.warning{background-position-x:-129px;background-position-y:-82px}.error-i{background-position-x:-321px;background-position-y:-82px;width:70px}\n"] }]
15
+ }], ctorParameters: () => [], propDecorators: { state: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tc3RhdGUtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXN0YXRlLWljb24vd20tc3RhdGUtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXN0YXRlLWljb24vd20tc3RhdGUtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbEYsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQjtRQUZnQixVQUFLLEdBQVcsSUFBSSxDQUFDO0lBRXJCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OEdBUFUsb0JBQW9CO2tHQUFwQixvQkFBb0IsaUZDUmpDLHlHQUdNOzsyRkRLTyxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNO3dEQUkvQixLQUFLO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3bS1zdGF0ZS1pY29uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd20tc3RhdGUtaWNvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tc3RhdGUtaWNvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbVN0YXRlSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdGF0ZTogc3RyaW5nID0gJ29rJztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0td29ya2Fyb3VuZCBmb3IgY3NzIGltYWdlIHJlc29sdmUgcGx1Z2luLS0+XHJcbjxkaXYgY2xhc3M9XCJpY29uLXdyYXBwZXIge3tzdGF0ZX19XCIgPlxyXG5cclxuPC9kaXY+Il19
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../wm-tamplate-image/wm-template-image.component";
5
+ export class WmTagComponent {
6
+ constructor() {
7
+ this.background = 'transparent';
8
+ this.color = 'black';
9
+ this.iconSize = '20px';
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: WmTagComponent, selector: "wm-tag", inputs: { text: "text", background: "background", color: "color", icon: "icon", iconSize: "iconSize" }, ngImport: i0, template: "<div class=\"text-wrap\">\r\n <span class=\"text-bg\" [ngStyle]=\"{'background': background}\"></span>\r\n <span class=\"text-bg text-bg-bor\" [ngStyle]=\"{'border-color': background}\"></span>\r\n <span class=\"text-title\" [ngStyle]=\"{'color': color}\"> \r\n <wm-template-image *ngIf=\"icon\" class=\"text-icon\" [icon]=\"icon\" [size]=\"iconSize\" [backgroundColor]=\"background\"></wm-template-image>\r\n {{text}}\r\n </span>\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.text-title{color:var(--strongFontColor);display:flex;text-align:left;font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;font-weight:500;font-size:14px;min-width:50px;text-align:center;padding:4px 6px;z-index:1;line-height:18px}.text-wrap{position:relative;display:inline-block;line-height:normal}.text-bg{border:1px solid transparent;box-sizing:border-box;position:absolute;width:100%;height:100%;border-radius:6px;opacity:.1}.text-bg-bor{border:1px solid;opacity:.25}.rotate{transform-origin:center center;-webkit-transform:rotate(-6deg);-moz-transform:rotate(-6deg);-ms-transform:rotate(-6deg);-o-transform:rotate(-6deg);transform:rotate(-6deg)}.text-icon{margin-right:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.WmTemplateImageComponent, selector: "wm-template-image", inputs: ["icon", "disabled", "active", "light", "classes", "backgroundColor", "size", "sizeBox"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmTagComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'wm-tag', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"text-wrap\">\r\n <span class=\"text-bg\" [ngStyle]=\"{'background': background}\"></span>\r\n <span class=\"text-bg text-bg-bor\" [ngStyle]=\"{'border-color': background}\"></span>\r\n <span class=\"text-title\" [ngStyle]=\"{'color': color}\"> \r\n <wm-template-image *ngIf=\"icon\" class=\"text-icon\" [icon]=\"icon\" [size]=\"iconSize\" [backgroundColor]=\"background\"></wm-template-image>\r\n {{text}}\r\n </span>\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}.text-title{color:var(--strongFontColor);display:flex;text-align:left;font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;font-weight:500;font-size:14px;min-width:50px;text-align:center;padding:4px 6px;z-index:1;line-height:18px}.text-wrap{position:relative;display:inline-block;line-height:normal}.text-bg{border:1px solid transparent;box-sizing:border-box;position:absolute;width:100%;height:100%;border-radius:6px;opacity:.1}.text-bg-bor{border:1px solid;opacity:.25}.rotate{transform-origin:center center;-webkit-transform:rotate(-6deg);-moz-transform:rotate(-6deg);-ms-transform:rotate(-6deg);-o-transform:rotate(-6deg);transform:rotate(-6deg)}.text-icon{margin-right:4px}\n"] }]
17
+ }], propDecorators: { text: [{
18
+ type: Input
19
+ }], background: [{
20
+ type: Input
21
+ }], color: [{
22
+ type: Input
23
+ }], icon: [{
24
+ type: Input
25
+ }], iconSize: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tdGFnL3dtLXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXRhZy93bS10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUUsTUFBTSxPQUFPLGNBQWM7SUFOM0I7UUFTa0IsZUFBVSxHQUFXLGFBQWEsQ0FBQztRQUNuQyxVQUFLLEdBQVcsT0FBTyxDQUFDO1FBRXhCLGFBQVEsR0FBVyxNQUFNLENBQUM7S0FFM0M7OEdBUlksY0FBYztrR0FBZCxjQUFjLHNKQ1IzQix1ZEFPTTs7MkZEQ08sY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxRQUFRLG1CQUdELHVCQUF1QixDQUFDLE1BQU07OEJBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dtLXRhZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dtLXRhZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tdGFnLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbVRhZ0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGJhY2tncm91bmQ6IHN0cmluZyA9ICd0cmFuc3BhcmVudCc7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGljb25TaXplOiBzdHJpbmcgPSAnMjBweCc7XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0ZXh0LXdyYXBcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1iZ1wiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZCc6IGJhY2tncm91bmR9XCI+PC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWJnIHRleHQtYmctYm9yXCIgW25nU3R5bGVdPVwieydib3JkZXItY29sb3InOiBiYWNrZ3JvdW5kfVwiPjwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC10aXRsZVwiIFtuZ1N0eWxlXT1cInsnY29sb3InOiBjb2xvcn1cIj4gICAgXHJcbiAgICAgICAgPHdtLXRlbXBsYXRlLWltYWdlICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwidGV4dC1pY29uXCIgW2ljb25dPVwiaWNvblwiIFtzaXplXT1cImljb25TaXplXCIgW2JhY2tncm91bmRDb2xvcl09XCJiYWNrZ3JvdW5kXCI+PC93bS10ZW1wbGF0ZS1pbWFnZT5cclxuICAgICAgICB7e3RleHR9fVxyXG4gICAgPC9zcGFuPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,71 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class WmTemplateImageComponent {
5
+ constructor() {
6
+ this.require = ['mask-image', '-webkit-mask-image'];
7
+ this.classes = 'icon-svg';
8
+ this._size = '24px';
9
+ this._sizeBox = undefined;
10
+ }
11
+ get size() { return this._size; }
12
+ set size(value) {
13
+ this._size = value;
14
+ }
15
+ get sizeBox() { return this._sizeBox; }
16
+ set sizeBox(value) {
17
+ this._sizeBox = value;
18
+ }
19
+ get getStyles() {
20
+ if (!this.container.nativeElement)
21
+ return undefined;
22
+ if (this.require.some(it => this.container.nativeElement.style[it] !== undefined)) {
23
+ return {
24
+ '-webkit-mask-position': 'center',
25
+ '-webkit-mask-repeat': 'no-repeat',
26
+ '-webkit-mask-size': this.size,
27
+ '-webkit-mask-image': `url(./assets/icon/svg/${this.icon}.svg)`,
28
+ 'mask-image': `url(./assets/icon/svg/${this.icon}.svg)`,
29
+ 'mask-size': this.size,
30
+ 'width': this.sizeBox ? this.sizeBox : this.size,
31
+ 'height': this.sizeBox ? this.sizeBox : this.size,
32
+ 'background-color': this.backgroundColor,
33
+ };
34
+ }
35
+ return {
36
+ 'background-image': `url(./assets/icon/svg/${this.icon}.svg)`,
37
+ 'background-repeat': 'no-repeat',
38
+ 'background-position': 'center',
39
+ 'background-size': 'contain',
40
+ 'background-color': 'transparent',
41
+ 'width': this.sizeBox ? this.sizeBox : this.size,
42
+ 'height': this.sizeBox ? this.sizeBox : this.size
43
+ };
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmTemplateImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: WmTemplateImageComponent, selector: "wm-template-image", inputs: { icon: "icon", disabled: "disabled", active: "active", light: "light", classes: "classes", backgroundColor: "backgroundColor", size: "size", sizeBox: "sizeBox" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["maskContainer"], descendants: true, static: true }], ngImport: i0, template: "<div #maskContainer class=\"{{classes}}\" [ngClass]=\"{'disabled': disabled,\r\n'active': active, 'light': light }\" [ngStyle]=\"getStyles\">\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{display:block;margin:auto}.icon-svg{background-color:var(--strongFontColor)}.disabled{background-color:var(--mediumFontColor)}.active{background-color:var(--brandColor);border:none}.light{background-color:var(--disabledTextColor)}.on-brand{background-color:var(--onBrandTextColor)}.on-disabled{background-color:var(--disabledTextColor)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WmTemplateImageComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'wm-template-image', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #maskContainer class=\"{{classes}}\" [ngClass]=\"{'disabled': disabled,\r\n'active': active, 'light': light }\" [ngStyle]=\"getStyles\">\r\n</div>", styles: ["@media print{body{all:unset!important}.wm-page{margin:0!important;display:block!important}.not-printable{display:none!important}*{visibility:hidden}.printable,.printable *{visibility:visible!important}}:host{display:block;margin:auto}.icon-svg{background-color:var(--strongFontColor)}.disabled{background-color:var(--mediumFontColor)}.active{background-color:var(--brandColor);border:none}.light{background-color:var(--disabledTextColor)}.on-brand{background-color:var(--onBrandTextColor)}.on-disabled{background-color:var(--disabledTextColor)}\n"] }]
51
+ }], propDecorators: { container: [{
52
+ type: ViewChild,
53
+ args: ['maskContainer', { static: true }]
54
+ }], icon: [{
55
+ type: Input
56
+ }], disabled: [{
57
+ type: Input
58
+ }], active: [{
59
+ type: Input
60
+ }], light: [{
61
+ type: Input
62
+ }], classes: [{
63
+ type: Input
64
+ }], backgroundColor: [{
65
+ type: Input
66
+ }], size: [{
67
+ type: Input
68
+ }], sizeBox: [{
69
+ type: Input
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tdGVtcGxhdGUtaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnR2LWJhc2UtY29udHJvbHMvc3JjL2xpYi93bS10YW1wbGF0ZS1pbWFnZS93bS10ZW1wbGF0ZS1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXRhbXBsYXRlLWltYWdlL3dtLXRlbXBsYXRlLWltYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTakcsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVNFLFlBQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBS3RDLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFHdEIsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUt2QixhQUFRLEdBQVcsU0FBUyxDQUFDO0tBK0J0QztJQW5DQyxJQUFXLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLElBQW9CLElBQUksQ0FBQyxLQUFhO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFXLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlDLElBQW9CLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xGLE9BQU87Z0JBQ0wsdUJBQXVCLEVBQUUsUUFBUTtnQkFDakMscUJBQXFCLEVBQUUsV0FBVztnQkFDbEMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQzlCLG9CQUFvQixFQUFFLHlCQUF5QixJQUFJLENBQUMsSUFBSSxPQUFPO2dCQUMvRCxZQUFZLEVBQUUseUJBQXlCLElBQUksQ0FBQyxJQUFJLE9BQU87Z0JBQ3ZELFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNoRCxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQ2pELGtCQUFrQixFQUFFLElBQUksQ0FBQyxlQUFlO2FBQ3pDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTztZQUNMLGtCQUFrQixFQUFFLHlCQUF5QixJQUFJLENBQUMsSUFBSSxPQUFPO1lBQzdELG1CQUFtQixFQUFFLFdBQVc7WUFDaEMscUJBQXFCLEVBQUUsUUFBUTtZQUMvQixpQkFBaUIsRUFBRSxTQUFTO1lBQzVCLGtCQUFrQixFQUFFLGFBQWE7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ2hELFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSTtTQUNsRCxDQUFDO0lBQ0osQ0FBQzs4R0E3Q1Usd0JBQXdCO2tHQUF4Qix3QkFBd0IsK1ZDVHJDLHlKQUVNOzsyRkRPTyx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBSUQsU0FBUztzQkFBdEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVuQyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUljLElBQUk7c0JBQXZCLEtBQUs7Z0JBS2MsT0FBTztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tdGVtcGxhdGUtaW1hZ2UnLFxyXG4gIHN0eWxlVXJsczogWycuL3dtLXRlbXBsYXRlLWltYWdlLnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vd20tdGVtcGxhdGUtaW1hZ2UuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBXbVRlbXBsYXRlSW1hZ2VDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ21hc2tDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY7XHJcbiAgcmVxdWlyZSA9IFsnbWFzay1pbWFnZScsICctd2Via2l0LW1hc2staW1hZ2UnXTtcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYWN0aXZlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGxpZ2h0OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXMgPSAnaWNvbi1zdmcnO1xyXG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvcjtcclxuXHJcbiAgcHJpdmF0ZSBfc2l6ZTogc3RyaW5nID0gJzI0cHgnO1xyXG4gIHB1YmxpYyBnZXQgc2l6ZSgpIHsgcmV0dXJuIHRoaXMuX3NpemU7IH1cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNpemUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9zaXplQm94OiBzdHJpbmcgPSB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGdldCBzaXplQm94KCkgeyByZXR1cm4gdGhpcy5fc2l6ZUJveDsgfVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2l6ZUJveCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zaXplQm94ID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0U3R5bGVzKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgaWYgKHRoaXMucmVxdWlyZS5zb21lKGl0ID0+IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGVbaXRdICE9PSB1bmRlZmluZWQpKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgJy13ZWJraXQtbWFzay1wb3NpdGlvbic6ICdjZW50ZXInLFxyXG4gICAgICAgICctd2Via2l0LW1hc2stcmVwZWF0JzogJ25vLXJlcGVhdCcsXHJcbiAgICAgICAgJy13ZWJraXQtbWFzay1zaXplJzogdGhpcy5zaXplLFxyXG4gICAgICAgICctd2Via2l0LW1hc2staW1hZ2UnOiBgdXJsKC4vYXNzZXRzL2ljb24vc3ZnLyR7dGhpcy5pY29ufS5zdmcpYCxcclxuICAgICAgICAnbWFzay1pbWFnZSc6IGB1cmwoLi9hc3NldHMvaWNvbi9zdmcvJHt0aGlzLmljb259LnN2ZylgLFxyXG4gICAgICAgICdtYXNrLXNpemUnOiB0aGlzLnNpemUsXHJcbiAgICAgICAgJ3dpZHRoJzogdGhpcy5zaXplQm94ID8gdGhpcy5zaXplQm94IDogdGhpcy5zaXplLFxyXG4gICAgICAgICdoZWlnaHQnOiB0aGlzLnNpemVCb3ggPyB0aGlzLnNpemVCb3ggOiB0aGlzLnNpemUsXHJcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiB0aGlzLmJhY2tncm91bmRDb2xvcixcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzogYHVybCguL2Fzc2V0cy9pY29uL3N2Zy8ke3RoaXMuaWNvbn0uc3ZnKWAsXHJcbiAgICAgICdiYWNrZ3JvdW5kLXJlcGVhdCc6ICduby1yZXBlYXQnLFxyXG4gICAgICAnYmFja2dyb3VuZC1wb3NpdGlvbic6ICdjZW50ZXInLFxyXG4gICAgICAnYmFja2dyb3VuZC1zaXplJzogJ2NvbnRhaW4nLFxyXG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgICd3aWR0aCc6IHRoaXMuc2l6ZUJveCA/IHRoaXMuc2l6ZUJveCA6IHRoaXMuc2l6ZSxcclxuICAgICAgJ2hlaWdodCc6IHRoaXMuc2l6ZUJveCA/IHRoaXMuc2l6ZUJveCA6IHRoaXMuc2l6ZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjbWFza0NvbnRhaW5lciBjbGFzcz1cInt7Y2xhc3Nlc319XCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6IGRpc2FibGVkLFxyXG4nYWN0aXZlJzogYWN0aXZlLCAnbGlnaHQnOiBsaWdodCB9XCIgW25nU3R5bGVdPVwiZ2V0U3R5bGVzXCI+XHJcbjwvZGl2PiJdfQ==