btv-base-controls 0.1.23 → 0.1.24

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 (137) hide show
  1. package/esm2020/btv-base-controls.mjs +5 -0
  2. package/esm2020/lib/basic.module.mjs +64 -0
  3. package/esm2020/lib/blink-message/blink-message.component.mjs +54 -0
  4. package/esm2020/lib/btv-icon-button/btv-counter-button.mjs +47 -0
  5. package/esm2020/lib/btv-icon-button/btv-icon-button.component.mjs +89 -0
  6. package/esm2020/lib/btv-progress/btv-progress.component.mjs +71 -0
  7. package/esm2020/lib/btv-search/btv-search.component.mjs +82 -0
  8. package/esm2020/lib/busy-indicator/busy-indicator.component.mjs +16 -0
  9. package/esm2020/lib/custom-tool-tip/custom-tool-tip.component.mjs +34 -0
  10. package/esm2020/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +113 -0
  11. package/esm2020/lib/illustration/illustration.component.mjs +17 -0
  12. package/esm2020/lib/wm-avatar/avatar.component.mjs +175 -0
  13. package/esm2020/lib/wm-back-btn/wm-back-btn.component.mjs +26 -0
  14. package/esm2020/lib/wm-beta-text/wm-beta-text.component.mjs +19 -0
  15. package/esm2020/lib/wm-info/info-models.mjs +14 -0
  16. package/esm2020/lib/wm-info/wm-info.component.mjs +239 -0
  17. package/esm2020/lib/wm-info-card/wm-info-card.component.mjs +23 -0
  18. package/esm2020/lib/wm-no-content/wm-no-content.component.mjs +30 -0
  19. package/esm2020/lib/wm-panel-bar/wm-panel-bar.component.mjs +78 -0
  20. package/esm2020/lib/wm-scalable-div/scalable-div.component.mjs +105 -0
  21. package/esm2020/lib/wm-spinner/wm-spinner.component.mjs +135 -0
  22. package/esm2020/lib/wm-state-icon/wm-state-icon.component.mjs +18 -0
  23. package/esm2020/lib/wm-tag/wm-tag.component.mjs +28 -0
  24. package/esm2020/lib/wm-tamplate-image/wm-template-image.component.mjs +71 -0
  25. package/esm2020/lib/wm-toggle/wm-toggle.component.mjs +31 -0
  26. package/esm2020/models/guidExtension.mjs +15 -0
  27. package/esm2020/public-api.mjs +28 -0
  28. package/fesm2015/btv-base-controls.mjs +1482 -0
  29. package/fesm2015/btv-base-controls.mjs.map +1 -0
  30. package/fesm2020/btv-base-controls.mjs +1499 -0
  31. package/fesm2020/btv-base-controls.mjs.map +1 -0
  32. package/index.d.ts +5 -0
  33. package/lib/basic.module.d.ts +33 -0
  34. package/lib/blink-message/blink-message.component.d.ts +20 -0
  35. package/lib/btv-icon-button/btv-counter-button.d.ts +12 -0
  36. package/lib/btv-icon-button/btv-icon-button.component.d.ts +30 -0
  37. package/lib/btv-progress/btv-progress.component.d.ts +20 -0
  38. package/lib/btv-search/btv-search.component.d.ts +31 -0
  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 +25 -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 +30 -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 -62
  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 -125
  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/btv-search/index.ts +0 -1
  82. package/src/lib/busy-indicator/busy-indicator.component.ts +0 -13
  83. package/src/lib/busy-indicator/busy-indicator.html +0 -6
  84. package/src/lib/busy-indicator/busy-indicator.scss +0 -86
  85. package/src/lib/custom-tool-tip/custom-tool-tip.component.html +0 -9
  86. package/src/lib/custom-tool-tip/custom-tool-tip.component.scss +0 -47
  87. package/src/lib/custom-tool-tip/custom-tool-tip.component.ts +0 -44
  88. package/src/lib/custom-tool-tip/tool-tip-renderer.directive.ts +0 -111
  89. package/src/lib/illustration/illustration.component.html +0 -412
  90. package/src/lib/illustration/illustration.component.scss +0 -48
  91. package/src/lib/illustration/illustration.component.ts +0 -21
  92. package/src/lib/wm-avatar/avatar.component.ts +0 -179
  93. package/src/lib/wm-avatar/avatar.html +0 -13
  94. package/src/lib/wm-avatar/avatar.scss +0 -3
  95. package/src/lib/wm-back-btn/wm-back-btn.component.ts +0 -19
  96. package/src/lib/wm-back-btn/wm-back-btn.html +0 -7
  97. package/src/lib/wm-back-btn/wm-back-btn.scss +0 -51
  98. package/src/lib/wm-beta-text/wm-beta-text.component.html +0 -1
  99. package/src/lib/wm-beta-text/wm-beta-text.component.scss +0 -44
  100. package/src/lib/wm-beta-text/wm-beta-text.component.ts +0 -14
  101. package/src/lib/wm-info/info-models.ts +0 -22
  102. package/src/lib/wm-info/wm-info.component.ts +0 -238
  103. package/src/lib/wm-info/wm-info.html +0 -19
  104. package/src/lib/wm-info/wm-info.scss +0 -64
  105. package/src/lib/wm-info-card/wm-info-card.component.ts +0 -14
  106. package/src/lib/wm-info-card/wm-info-card.html +0 -13
  107. package/src/lib/wm-info-card/wm-info-card.scss +0 -56
  108. package/src/lib/wm-no-content/wm-no-content.component.ts +0 -17
  109. package/src/lib/wm-no-content/wm-no-content.html +0 -13
  110. package/src/lib/wm-no-content/wm-no-content.scss +0 -60
  111. package/src/lib/wm-panel-bar/wm-panel-bar.component.ts +0 -59
  112. package/src/lib/wm-panel-bar/wm-panel-bar.html +0 -37
  113. package/src/lib/wm-panel-bar/wm-panel-bar.scss +0 -114
  114. package/src/lib/wm-scalable-div/scalable-div.component.ts +0 -106
  115. package/src/lib/wm-scalable-div/scalable-div.html +0 -1
  116. package/src/lib/wm-scalable-div/scalable-div.scss +0 -11
  117. package/src/lib/wm-spinner/wm-spinner.component.ts +0 -129
  118. package/src/lib/wm-spinner/wm-spinner.html +0 -37
  119. package/src/lib/wm-spinner/wm-spinner.scss +0 -72
  120. package/src/lib/wm-state-icon/wm-state-icon.component.html +0 -4
  121. package/src/lib/wm-state-icon/wm-state-icon.component.scss +0 -26
  122. package/src/lib/wm-state-icon/wm-state-icon.component.ts +0 -18
  123. package/src/lib/wm-tag/wm-tag.component.html +0 -8
  124. package/src/lib/wm-tag/wm-tag.component.scss +0 -48
  125. package/src/lib/wm-tag/wm-tag.component.ts +0 -17
  126. package/src/lib/wm-tamplate-image/wm-template-image.component.ts +0 -56
  127. package/src/lib/wm-tamplate-image/wm-template-image.html +0 -3
  128. package/src/lib/wm-tamplate-image/wm-template-image.scss +0 -31
  129. package/src/lib/wm-toggle/wm-toggle.component.ts +0 -20
  130. package/src/lib/wm-toggle/wm-toggle.html +0 -5
  131. package/src/lib/wm-toggle/wm-toggle.scss +0 -33
  132. package/src/models/guidExtension.ts +0 -16
  133. package/src/public-api.ts +0 -29
  134. package/src/test.ts +0 -15
  135. package/tsconfig.lib.json +0 -15
  136. package/tsconfig.lib.prod.json +0 -10
  137. 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
+ }
14
+ WmNoContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmNoContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ WmNoContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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 });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tbm8tY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLW5vLWNvbnRlbnQvd20tbm8tY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLW5vLWNvbnRlbnQvd20tbm8tY29udGVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTFFLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRVyxTQUFJLEdBQW9CLEVBQUUsQ0FBQztRQUMzQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsb0JBQWUsR0FBWSxLQUFLLENBQUM7S0FDM0M7O2lIQU5ZLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHVMQ1ZqQyxtbkJBWVU7MkZERkcsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs4QkFJdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElJbGx1c3RyYXRpb25JZCB9IGZyb20gJy4uL2lsbHVzdHJhdGlvbi9pbGx1c3RyYXRpb24uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tbm8tY29udGVudCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tbm8tY29udGVudC5zY3NzJ10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dtLW5vLWNvbnRlbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBXbU5vQ29udGVudENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaWNvbjogSUlsbHVzdHJhdGlvbklkID0gJyc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSB1c2VGb290ZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGFkZGl0aW9uQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiIsIjxkaXY+XHJcbiAgICA8d20taWxsdXN0cmF0aW9uIFtpbGx1c3RyYXRpb25JZF09XCJpY29uXCIgY2xhc3M9XCJpbGx1c3RyYXRpb25cIj5cclxuICAgIDwvd20taWxsdXN0cmF0aW9uPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vLWNvbnRlbnQtYm9keVwiICpuZ0lmPVwiKGxhYmVsIHx8IGRlc2NyaXB0aW9uKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuby1jb250ZW50LWxhYmVsXCIgKm5nSWY9XCJsYWJlbFwiIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm8tY29udGVudC1kZXNjXCIgKm5nSWY9XCJkZXNjcmlwdGlvblwiPiB7e2Rlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm8tY29udGVudC1kZXNjXCIgKm5nSWY9XCJhZGRpdGlvbkNvbnRlbnRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FkZGl0aW9uQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJuby1mb290XCIgKm5nSWY9XCJ1c2VGb290ZXJcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj4iXX0=
@@ -0,0 +1,78 @@
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._open = false;
11
+ this.collapseText = 'Collapse';
12
+ this.expandText = 'Expand';
13
+ this.openChange = new EventEmitter();
14
+ this.directionBottom = true;
15
+ this.directionLeft = false;
16
+ this._direction = 'bottom';
17
+ }
18
+ set open(value) {
19
+ if (value === this._open)
20
+ return;
21
+ this._open = value;
22
+ }
23
+ get open() {
24
+ return this._open;
25
+ }
26
+ get direction() { return this._direction; }
27
+ set direction(val) {
28
+ if (val !== 'bottom' && val !== 'left') {
29
+ val = 'bottom';
30
+ }
31
+ this._direction = val;
32
+ switch (val) {
33
+ case 'left':
34
+ this.directionLeft = true;
35
+ this.directionBottom = false;
36
+ break;
37
+ default:
38
+ this.directionBottom = true;
39
+ this.directionLeft = false;
40
+ break;
41
+ }
42
+ }
43
+ onClick() {
44
+ this.open = !this.open;
45
+ this.openChange.emit(this.open);
46
+ }
47
+ }
48
+ WmPanelBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmPanelBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
+ WmPanelBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: WmPanelBarComponent, selector: "wm-panel-bar", inputs: { label: "label", labelClasses: "labelClasses", openedLabel: "openedLabel", width: "width", height: "height", maxHeight: "maxHeight", maxWidth: "maxWidth", 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 <div class=\"flex-col pb-content pb-horizontal-visible\" *ngIf=\"open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\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
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmPanelBarComponent, decorators: [{
51
+ type: Component,
52
+ 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 <div class=\"flex-col pb-content pb-horizontal-visible\" *ngIf=\"open\">\r\n <ng-container *ngTemplateOutlet=\"body\"></ng-container>\r\n </div>\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"] }]
53
+ }], propDecorators: { label: [{
54
+ type: Input
55
+ }], labelClasses: [{
56
+ type: Input
57
+ }], openedLabel: [{
58
+ type: Input
59
+ }], width: [{
60
+ type: Input
61
+ }], height: [{
62
+ type: Input
63
+ }], maxHeight: [{
64
+ type: Input
65
+ }], maxWidth: [{
66
+ type: Input
67
+ }], open: [{
68
+ type: Input
69
+ }], collapseText: [{
70
+ type: Input
71
+ }], expandText: [{
72
+ type: Input
73
+ }], openChange: [{
74
+ type: Output
75
+ }], direction: [{
76
+ type: Input
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tcGFuZWwtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tcGFuZWwtYmFyL3dtLXBhbmVsLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXBhbmVsLWJhci93bS1wYW5lbC1iYXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFPVyxpQkFBWSxHQUErQixVQUFVLENBQUM7UUFLdEQsY0FBUyxHQUFXLE9BQU8sQ0FBQztRQUM1QixhQUFRLEdBQVcsT0FBTyxDQUFDO1FBRzVCLFVBQUssR0FBVyxLQUFLLENBQUM7UUFVckIsaUJBQVksR0FBVyxVQUFVLENBQUM7UUFDbEMsZUFBVSxHQUFXLFFBQVEsQ0FBQztRQUM3QixlQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUUsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFdkIsZUFBVSxHQUFzQixRQUFRLENBQUM7S0F3QmxEO0lBdENDLElBQWEsSUFBSSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVFELElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsSUFBYSxTQUFTLENBQUMsR0FBRztRQUN4QixJQUFJLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtZQUN0QyxHQUFHLEdBQUcsUUFBUSxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsUUFBUSxHQUFHLEVBQUU7WUFDWCxLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBR0QsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOztnSEFsRFUsbUJBQW1CO29HQUFuQixtQkFBbUIsK1ZDUGhDLHUxREFvQ2M7MkZEN0JELG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxjQUFjOzhCQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS08sSUFBSTtzQkFBaEIsS0FBSztnQkFRRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFNTSxTQUFTO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tcGFuZWwtYmFyJyxcclxuICBzdHlsZVVybHM6IFsnd20tcGFuZWwtYmFyLnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vd20tcGFuZWwtYmFyLmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbVBhbmVsQmFyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsQ2xhc3NlczogJ3BiLWxhYmVsJyB8ICdicmFuZC1sYWJlbCcgPSAncGItbGFiZWwnO1xyXG4gIEBJbnB1dCgpIG9wZW5lZExhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAndW5zZXQnO1xyXG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAndW5zZXQnO1xyXG5cclxuICBcclxuICBwcml2YXRlIF9vcGVuOiBib29sZWFuPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgc2V0IG9wZW4odmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fb3BlbikgcmV0dXJuO1xyXG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcclxuICB9XHJcbiAgQElucHV0KCkgY29sbGFwc2VUZXh0OiBzdHJpbmcgPSAnQ29sbGFwc2UnO1xyXG4gIEBJbnB1dCgpIGV4cGFuZFRleHQ6IHN0cmluZyA9ICdFeHBhbmQnO1xyXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgZGlyZWN0aW9uQm90dG9tOiBib29sZWFuID0gdHJ1ZTtcclxuICBkaXJlY3Rpb25MZWZ0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX2RpcmVjdGlvbjogJ2JvdHRvbScgfCAnbGVmdCcgPSAnYm90dG9tJztcclxuICBnZXQgZGlyZWN0aW9uKCkgeyByZXR1cm4gdGhpcy5fZGlyZWN0aW9uOyB9XHJcbiAgQElucHV0KCkgc2V0IGRpcmVjdGlvbih2YWwpIHtcclxuICAgIGlmICh2YWwgIT09ICdib3R0b20nICYmIHZhbCAhPT0gJ2xlZnQnKSB7XHJcbiAgICAgIHZhbCA9ICdib3R0b20nO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZGlyZWN0aW9uID0gdmFsO1xyXG4gICAgc3dpdGNoICh2YWwpIHtcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgdGhpcy5kaXJlY3Rpb25MZWZ0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbkJvdHRvbSA9IGZhbHNlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uQm90dG9tID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbkxlZnQgPSBmYWxzZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcclxuICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJkaXJlY3Rpb25Cb3R0b21cIiBjbGFzcz1cIndtLXBhbmVsLWJhciBkcmIgZmxleC1jb2xcIlxyXG4gICAgW25nU3R5bGVdPVwieydtYXgtd2lkdGgnOiBtYXhXaWR0aCwgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHR9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGItaGVhZGVyIGFsaWduLWNlbnRlciBmbGV4LXJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9e3tsYWJlbENsYXNzZXN9fSAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlckxhYmVsXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGItaGVhZGVyLWNvbnRlbnQgZmxleC1yb3dcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlckNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXgtYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgKG9wZW4gPyBjb2xsYXBzZVRleHQgOiBleHBhbmRUZXh0KX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHdtLXRlbXBsYXRlLWltYWdlIGNsYXNzPVwiYmFyLWFycm93XCIgW25nQ2xhc3NdPVwieydiYXItb3Blbi1ib3R0b20nOiBvcGVufVwiIGljb249XCJhcnJvdy1kb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8L3dtLXRlbXBsYXRlLWltYWdlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtcm93IHBiLWNvbnRlbnQgcGItdmVydGljYWxcIiBbbmdTdHlsZV09XCJ7J2hlaWdodCc6ICFvcGVuID8gJzBweCc6ICcnfVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydwYi12ZXJ0aWNhbC12aXNpYmxlJzogb3Blbn1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYm9keVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cIiFkaXJlY3Rpb25Cb3R0b21cIiBjbGFzcz1cIndtLXBhbmVsLWJhciBmbGV4LWNvbCBkcmxcIiBbbmdDbGFzc109XCJ7J3BiLWRybC1vcGVuJzogb3Blbn1cIlxyXG4gICAgW25nU3R5bGVdPVwieydtYXgtd2lkdGgnOiBtYXhXaWR0aCwgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHR9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXgtcGFuZWwgZmxleC1yb3cgZXgtcGFuZWwtZHJsXCIgKGNsaWNrKT1cIm9uQ2xpY2soKVwiPlxyXG4gICAgICAgIDx3bS10ZW1wbGF0ZS1pbWFnZSBjbGFzcz1cImJhci1hcnJvdyBhcnJvdy1sZWZ0XCIgW25nQ2xhc3NdPVwieydiYXItb3Blbi1sZWZ0Jzogb3Blbn1cIiBpY29uPVwiYXJyb3ctbGVmdFwiPlxyXG4gICAgICAgIDwvd20tdGVtcGxhdGUtaW1hZ2U+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGFiZWxcIiAqbmdJZj1cIiFvcGVuXCI+e3tsYWJlbH19PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctbGFiZWxcIiAqbmdJZj1cIm9wZW5cIj57e29wZW5lZExhYmVsIHx8IGxhYmVsfX08L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbCBwYi1jb250ZW50IHBiLWhvcml6b250YWwtdmlzaWJsZVwiICpuZ0lmPVwib3BlblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2JvZHk+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -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
+ constructor(_zone, _change) {
7
+ this._zone = _zone;
8
+ this._change = _change;
9
+ this.isCalculated = false;
10
+ }
11
+ get text() { return this._text; }
12
+ set text(value) {
13
+ this._text = value;
14
+ this.recalculateWidth();
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
+ }
92
+ ScalableDivComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ScalableDivComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
93
+ ScalableDivComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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"] }] });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", 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: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFibGUtZGl2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tc2NhbGFibGUtZGl2L3NjYWxhYmxlLWRpdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXNjYWxhYmxlLWRpdi9zY2FsYWJsZS1kaXYuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBNEIsS0FBSyxFQUFFLFNBQVMsRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7OztBQU85QyxNQUFNLE9BQU8sb0JBQW9CO0lBYzdCLFlBQW9CLEtBQWEsRUFBVSxPQUEwQjtRQUFqRCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFWckUsaUJBQVksR0FBWSxLQUFLLENBQUM7SUFZOUIsQ0FBQztJQVJELElBQVcsSUFBSSxLQUFzQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELElBQW9CLElBQUksQ0FBQyxLQUFzQjtRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBTU0sZUFBZTtRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtvQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztv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SSxFQUFFO2dCQU1oQixJQUFJO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgTmdab25lLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnd20tc2NhbGFibGUtZGl2JyxcclxuICAgIHN0eWxlVXJsczogWycuL3NjYWxhYmxlLWRpdi5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2NhbGFibGUtZGl2Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2FsYWJsZURpdkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KCkgZGl2Q2xhc3M6IHN0cmluZztcclxuICAgIEBWaWV3Q2hpbGQoJ2RpdkVsJywgeyBzdGF0aWM6IHRydWUgfSkgZGl2RWw6IEVsZW1lbnRSZWY7XHJcbiAgICBpc0NhbGN1bGF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZpcnN0T2JzZXJ2YWJsZTogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByaXZhdGUgX3RleHQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcgfCBudW1iZXIgeyByZXR1cm4gdGhpcy5fdGV4dDsgfVxyXG4gICAgQElucHV0KCkgcHVibGljIHNldCB0ZXh0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl90ZXh0ID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZVdpZHRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfem9uZTogTmdab25lLCBwcml2YXRlIF9jaGFuZ2U6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlyc3RPYnNlcnZhYmxlID0gaW50ZXJ2YWwoNTAwKS5zdWJzY3JpYmUoaXQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDYWxjdWxhdGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdE9ic2VydmFibGUudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlV2lkdGgoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5maXJzdE9ic2VydmFibGUpIHJldHVybjtcclxuICAgICAgICB0aGlzLmZpcnN0T2JzZXJ2YWJsZS51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIHRoaXMuZmlyc3RPYnNlcnZhYmxlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TnVtYmVyRnJvbUZvbnRTaXplKGZvbnRTaXplOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IG51bWJlclNpemUgPSBOdW1iZXIoZm9udFNpemUuc3Vic3RyKDAsIGZvbnRTaXplLmxlbmd0aCAtIDIpKTtcclxuICAgICAgICByZXR1cm4gbnVtYmVyU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEZvbnRTaXplRGltKGZvbnRTaXplOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBudW06IG51bWJlcjtcclxuICAgICAgICBsZXQgZGltTGVuZ3RoOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIHdoaWxlICghbnVtKSB7XHJcbiAgICAgICAgICAgIGRpbUxlbmd0aCA9IGRpbUxlbmd0aCArIDE7XHJcbiAgICAgICAgICAgIG51bSA9IE51bWJlcihmb250U2l6ZS5zdWJzdHIoMCwgZm9udFNpemUubGVuZ3RoIC0gZGltTGVuZ3RoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmb250U2l6ZS5zdWJzdHIoZm9udFNpemUubGVuZ3RoIC0gZGltTGVuZ3RoLCBkaW1MZW5ndGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGl2V2lkdGgodGV4dDogc3RyaW5nLCBmb250OiBzdHJpbmcsIHBhZGRpbmc6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGYgPSBmb250IHx8ICcxMnB4IGFyaWFsJztcclxuICAgICAgICBjb25zdCBvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgby5pbm5lckhUTUwgPSB0ZXh0O1xyXG4gICAgICAgIG8uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICAgIG8uc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgIG8uc3R5bGVbJ3RleHQtYWxpZ24nXSA9ICdjZW50ZXInO1xyXG4gICAgICAgIG8uc3R5bGUuZm9udCA9IGY7XHJcbiAgICAgICAgby5zdHlsZS5wYWRkaW5nID0gcGFkZGluZztcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pO1xyXG4gICAgICAgIGNvbnN0IHcgPSBvLmNsaWVudFdpZHRoO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobyk7XHJcbiAgICAgICAgcmV0dXJuIHc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlY2FsY3VsYXRlV2lkdGgoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRpdkVsKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgZGl2VGFnID0gdGhpcy5kaXZFbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICgoPGFueT5kaXZUYWcpLmNsaWVudFdpZHRoID09PSAwKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZG9SZWNhbGN1bGF0ZVdpZHRoKGRpdlRhZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkb1JlY2FsY3VsYXRlV2lkdGgoZGl2VGFnOiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIGRpdlRhZy5zdHlsZS5mb250U2l6ZSA9ICcnO1xyXG4gICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2VGFnKTtcclxuICAgICAgICBjb25zdCBhdmFpbGFibGVXaWR0aCA9IGRpdlRhZy5vZmZzZXRQYXJlbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgY29uc3Qgc2l6ZURpbSA9IHRoaXMuZ2V0Rm9udFNpemVEaW0oc3R5bGUuZm9udFNpemUpO1xyXG4gICAgICAgIGNvbnN0IHRleHQgPSBkaXZUYWcudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgbGV0IGZvbnQgPSBzdHlsZS5mb250O1xyXG4gICAgICAgIGxldCB0ZXh0V2lkdGggPSB0aGlzLmRpdldpZHRoKHRleHQsIGZvbnQsIHN0eWxlLnBhZGRpbmcpO1xyXG4gICAgICAgIGNvbnN0IG5lZWRDaGFuZ2U6IGJvb2xlYW4gPSBhdmFpbGFibGVXaWR0aCA8IHRleHRXaWR0aDtcclxuICAgICAgICBsZXQgbnVtYmVyU2l6ZSA9IHRoaXMuZ2V0TnVtYmVyRnJvbUZvbnRTaXplKHN0eWxlLmZvbnRTaXplKTtcclxuICAgICAgICBsZXQgc3RyaW5nU2l6ZSA9IG51bWJlclNpemUudG9TdHJpbmcoKSArIHNpemVEaW07XHJcbiAgICAgICAgd2hpbGUgKHRleHRXaWR0aCAtIGF2YWlsYWJsZVdpZHRoID4gMSkge1xyXG4gICAgICAgICAgICBudW1iZXJTaXplID0gbnVtYmVyU2l6ZSAtIDE7XHJcbiAgICAgICAgICAgIGNvbnN0IG9sZFN0cmluZyA9IHN0cmluZ1NpemU7XHJcbiAgICAgICAgICAgIHN0cmluZ1NpemUgPSBudW1iZXJTaXplLnRvU3RyaW5nKCkgKyBzaXplRGltO1xyXG4gICAgICAgICAgICBmb250ID0gZm9udC5yZXBsYWNlKG9sZFN0cmluZywgc3RyaW5nU2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHRXaWR0aCA9IHRoaXMuZGl2V2lkdGgodGV4dCwgZm9udCwgc3R5bGUucGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChuZWVkQ2hhbmdlKSBkaXZUYWcuc3R5bGUuZm9udFNpemUgPSBzdHJpbmdTaXplO1xyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiAjZGl2RWwgW25nQ2xhc3NdPVwiZGl2Q2xhc3NcIj57e3RleHR9fTxkaXY+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
+ constructor(zone, change) {
10
+ this.zone = zone;
11
+ this.change = change;
12
+ this.uid = Guid.newGuid();
13
+ this._initialized = false;
14
+ this.isOverlayVisible = false;
15
+ this.isOverlayContrast = false;
16
+ this.minTimeOfVisibilityMs = 500;
17
+ this.showDelay = 250;
18
+ this.delay = false;
19
+ this.longMessageDelay = 12500;
20
+ this.message = 'Waiting for data from server';
21
+ this.messageTakesLong = 'Request is taking a bit longer than expected';
22
+ this.messageBottomWait = 'Please Wait';
23
+ this.infoType = InfoType.Error;
24
+ }
25
+ get showSpinner() { return this._showSpinner; }
26
+ set showSpinner(value) {
27
+ // tslint:disable-next-line:triple-equals we should treat bool false and bool undefined as same. The same for all other cases.
28
+ if (this._showSpinner == value)
29
+ return;
30
+ this._showSpinner = value;
31
+ this.unsubscribeTimers();
32
+ if (value) {
33
+ console.log('spinner started', this.uid);
34
+ // block UI, keep it light
35
+ this.isOverlayVisible = true;
36
+ this.subscribeTimers();
37
+ this.detectChanges();
38
+ }
39
+ else {
40
+ this.stopShowingProgress();
41
+ }
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
+ }
113
+ SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SpinnerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
114
+ SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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 });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", 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: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tc3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXNwaW5uZXIvd20tc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXNwaW5uZXIvd20tc3Bpbm5lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVFsRCxNQUFNLE9BQU8sZ0JBQWdCO0lBd0MzQixZQUFvQixJQUFZLEVBQVUsTUFBeUI7UUFBL0MsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBdEMzRCxRQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBS3JCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsMEJBQXFCLEdBQUcsR0FBRyxDQUFDO1FBQzVCLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFFUCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLFlBQU8sR0FBVyw4QkFBOEIsQ0FBQztRQUNqRCxxQkFBZ0IsR0FBRyw4Q0FBOEMsQ0FBQztRQUNsRSxzQkFBaUIsR0FBVyxhQUFhLENBQUM7UUFFMUMsYUFBUSxHQUFhLFFBQVEs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QUFnQjtrQkFONUIsU0FBUzsrQkFDRSxZQUFZLG1CQUdMLHVCQUF1QixDQUFDLE1BQU07NkhBZS9CLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFJYyxXQUFXO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR3VpZCB9IGZyb20gJy4uLy4uL21vZGVscy9ndWlkRXh0ZW5zaW9uJztcclxuaW1wb3J0IHsgSW5mb1R5cGUgfSBmcm9tICcuLi93bS1pbmZvL2luZm8tbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tc3Bpbm5lcicsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tc3Bpbm5lci5zY3NzJ10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dtLXNwaW5uZXIuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHByaXZhdGUgdWlkID0gR3VpZC5uZXdHdWlkKCk7XHJcblxyXG4gIHByaXZhdGUgX2xvbmdNZXNzYWdlVGltZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgX3Nob3dPdmVybGF5VGltZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIF9zdGFydERhdGU7XHJcbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgaXNPdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBpc092ZXJsYXlDb250cmFzdCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBtaW5UaW1lT2ZWaXNpYmlsaXR5TXMgPSA1MDA7XHJcbiAgcHVibGljIHNob3dEZWxheSA9IDI1MDtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRlbGF5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGxvbmdNZXNzYWdlRGVsYXkgPSAxMjUwMDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZTogc3RyaW5nID0gJ1dhaXRpbmcgZm9yIGRhdGEgZnJvbSBzZXJ2ZXInO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlVGFrZXNMb25nID0gJ1JlcXVlc3QgaXMgdGFraW5nIGEgYml0IGxvbmdlciB0aGFuIGV4cGVjdGVkJztcclxuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZUJvdHRvbVdhaXQ6IHN0cmluZyA9ICdQbGVhc2UgV2FpdCc7XHJcbiAgQElucHV0KCkgcHVibGljIGRldGFpbEluZm9NZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGluZm9UeXBlOiBJbmZvVHlwZSA9IEluZm9UeXBlLkVycm9yO1xyXG5cclxuICBwcml2YXRlIF9zaG93U3Bpbm5lcjogYm9vbGVhbjtcclxuICBwdWJsaWMgZ2V0IHNob3dTcGlubmVyKCkgeyByZXR1cm4gdGhpcy5fc2hvd1NwaW5uZXI7IH1cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNob3dTcGlubmVyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHJpcGxlLWVxdWFscyB3ZSBzaG91bGQgdHJlYXQgYm9vbCBmYWxzZSBhbmQgYm9vbCB1bmRlZmluZWQgYXMgc2FtZS4gVGhlIHNhbWUgZm9yIGFsbCBvdGhlciBjYXNlcy5cclxuICAgIGlmICh0aGlzLl9zaG93U3Bpbm5lciA9PSB2YWx1ZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5fc2hvd1NwaW5uZXIgPSB2YWx1ZTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVUaW1lcnMoKTtcclxuXHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgY29uc29sZS5sb2coJ3NwaW5uZXIgc3RhcnRlZCcsIHRoaXMudWlkKTtcclxuICAgICAgLy8gYmxvY2sgVUksIGtlZXAgaXQgbGlnaHRcclxuICAgICAgdGhpcy5pc092ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zdWJzY3JpYmVUaW1lcnMoKTtcclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0b3BTaG93aW5nUHJvZ3Jlc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIGNoYW5nZTogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnZGVzdHJveScpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVRpbWVycygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUaW1lcnMoKSB7XHJcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAvLyBzaG93IGxvbmcgd2FpdCBtZXNzYWdlIGFmdGVyIGZldyBjb25maWd1cmVkIHNlY29uZHNcclxuICAgICAgY29uc3QgbG9uZ01lc3NhZ2VUaW1lciA9IHRpbWVyKHRoaXMubG9uZ01lc3NhZ2VEZWxheSk7XHJcbiAgICAgIHRoaXMuX2xvbmdNZXNzYWdlVGltZVN1YnNjcmlwdGlvbiA9IGxvbmdNZXNzYWdlVGltZXIuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMubWVzc2FnZVRha2VzTG9uZztcclxuICAgICAgICB0aGlzLmNoYW5nZS5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5fbG9uZ01lc3NhZ2VUaW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLy8gZHJhdyBvdmVybGF5IG1lc3NhZ2UgYWZ0ZXIgZmV3IGNvbmZpZ3VyZWQgc2Vjb25kc1xyXG4gICAgICBpZiAoIXRoaXMuZGVsYXkpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0U2hvd2luZ1Byb2dyZXNzKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHNob3dBZnRlckRlbGF5VGltZXIgPSB0aW1lcih0aGlzLnNob3dEZWxheSk7XHJcbiAgICAgIHRoaXMuX3Nob3dPdmVybGF5VGltZXJTdWJzY3JpcHRpb24gPSBzaG93QWZ0ZXJEZWxheVRpbWVyLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICBpZiAodGhpcy5zaG93U3Bpbm5lcikgdGhpcy5zdGFydFNob3dpbmdQcm9ncmVzcygpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLl9zaG93T3ZlcmxheVRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlVGltZXJzKCkge1xyXG4gICAgaWYgKHRoaXMuX2xvbmdNZXNzYWdlVGltZVN1YnNjcmlwdGlvbikgdGhpcy5fbG9uZ01lc3NhZ2VUaW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAodGhpcy5fc2hvd092ZXJsYXlUaW1lclN1YnNjcmlwdGlvbikgdGhpcy5fc2hvd092ZXJsYXlUaW1lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdG9wU2hvd2luZ1Byb2dyZXNzKCkge1xyXG4gICAgaWYgKHRoaXMuX3N0YXJ0RGF0ZSkge1xyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgY29uc3QgZHVyYXRpb24gPSAobm93IC0gdGhpcy5fc3RhcnREYXRlLmdldFRpbWUoKSk7IC8vIG1zXHJcbiAgICAgIGlmIChkdXJhdGlvbiA8IHRoaXMubWluVGltZU9mVmlzaWJpbGl0eU1zKSB7XHJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgIC8vIGxldCBpdCBiZSBhdCBsZWFzdCBvbmUgc2Vjb25kLlxyXG4gICAgICAgICAgY29uc29sZS5sb2coJ3JlbWFpbnMnLCB0aGlzLm1pblRpbWVPZlZpc2liaWxpdHlNcyAtIGR1cmF0aW9uKTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5kb1N0b3BQcm9ncmVzcygpLCB0aGlzLm1pblRpbWVPZlZpc2liaWxpdHlNcyAtIGR1cmF0aW9uKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZG9TdG9wUHJvZ3Jlc3MoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhcnRTaG93aW5nUHJvZ3Jlc3MoKSB7XHJcbiAgICBjb25zb2xlLmxvZygnY29udHJhc3Qgc3Bpbm5lcicsIHRoaXMudWlkKTtcclxuICAgIHRoaXMuX3N0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLmlzT3ZlcmxheUNvbnRyYXN0ID0gdHJ1ZTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkb1N0b3BQcm9ncmVzcygpIHtcclxuICAgIGNvbnNvbGUubG9nKCdzcGlubmVyIGVuZGVkJywgdGhpcy51aWQpO1xyXG4gICAgdGhpcy5pc092ZXJsYXlDb250cmFzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc092ZXJsYXlWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLl9zdGFydERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGV0ZWN0Q2hhbmdlcygpIHtcclxuICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHJldHVybjtcclxuICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzcGlubmVyLXdyYXAgZmxleC1jb2wgd2gtMTAwXCIgKm5nSWY9XCJpc092ZXJsYXlWaXNpYmxlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1iZyB3aC0xMDBcIiBbbmdDbGFzc109XCJ7J2ludmlzaWJsZSc6ICFpc092ZXJsYXlDb250cmFzdCB9XCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lci1jb250ZW50IGlubGluZS1jb2wgbWFyZ2luWEEgYWxpZ24tY2VudGVyXCIgW25nQ2xhc3NdPVwieydpbnZpc2libGUnOiAhaXNPdmVybGF5Q29udHJhc3QgfVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtc2ctd3JhcCBtYXJnaW5Cb3R0b21YOFwiPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtc2dcIj57e21lc3NhZ2V9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDx3bS1pbmZvIGNsYXNzPVwiaW5mb1wiIFt0eXBlXT1cImluZm9UeXBlXCIgcG9wdXBQb3NpdGlvbj1cInRvcC1jZW50ZXJcIiBcclxuICAgICAgICAgICAgICAgICAgICBbaWNvbkFzVGVtcGxhdGVdPVwiaW5mb1R5cGU9PT0yXCIgW3VzZVRoZW1lRm9ySWNvblRlbXBsYXRlXT1cImluZm9UeXBlPT09MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkZXRhaWxJbmZvTWVzc2FnZVwiIFtoZWFkZXJdPVwiZGV0YWlsSW5mb01lc3NhZ2VcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA0cHhcIj48L3dtLWluZm8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zZ1wiPnt7bWVzc2FnZUJvdHRvbVdhaXR9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTY4IDE2OFwiIGlkPVwibG9hZGVyXCI+XHJcbiAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMzguMDc4JVwiIHgyPVwiNC45NDElXCIgeTE9XCI4LjQxMSVcIiB5Mj1cIjE2Ljk4NyVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIwJVwiIHN0b3AtY29sb3I9XCJ2YXIoLS1icmFuZENvbG9yKVwiIHN0b3Atb3BhY2l0eT1cIjAuMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiNjEuNTU0JVwiIHN0b3AtY29sb3I9XCJ2YXIoLS1icmFuZENvbG9yKVwiIHN0b3Atb3BhY2l0eT1cIjAuNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiMTAwJVwiIHN0b3AtY29sb3I9XCJ2YXIoLS1icmFuZENvbG9yKVwiIHN0b3Atb3BhY2l0eT1cIjAuNVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICAgICAgPHJhZGlhbEdyYWRpZW50IGlkPVwiYlwiIGN5PVwiNDMuODM1JVwiIHI9XCI1NC45JVwiIGZ4PVwiNTAlXCIgZnk9XCI0My44MzUlXCJcclxuICAgICAgICAgICAgICAgICAgICBncmFkaWVudFRyYW5zZm9ybT1cIm1hdHJpeCgtLjc3OTEzIC42MjY4NyAtLjY0ODUgLS44MDYwMiAxLjE3NCAuNDc4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjAlXCIgc3RvcC1jb2xvcj1cIiNGRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjEwMCVcIiBzdG9wLWNvbG9yPVwidmFyKC0tYnJhbmRDb2xvcilcIiBzdG9wLW9wYWNpdHk9XCIwLjVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9yYWRpYWxHcmFkaWVudD5cclxuICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICA8ZyBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj5cclxuICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCAxMClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2U9XCJ1cmwoI2EpXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjE5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNi4xOTggMjcuNzlDNi4wNjIgNDAuNDUzIDAgNTYuNTE4IDAgNzRjMCA0MC44NyAzMy4xMyA3NCA3NCA3NHM3NC0zMy4xMyA3NC03NGMwLTI0LjYxMS0xMi4wMTQtNDYuNDE2LTMwLjQ5OC01OS44N0MxMDUuMjkyIDUuMjQ0IDkwLjI1OCAwIDc0IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxNi41XCIgY3k9XCIyNy41XCIgcj1cIjkuNVwiIGZpbGw9XCJ1cmwoI2IpXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj4iXX0=
@@ -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
+ }
10
+ WmStateIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmStateIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ WmStateIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", 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: function () { return []; }, propDecorators: { state: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tc3RhdGUtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXN0YXRlLWljb24vd20tc3RhdGUtaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXN0YXRlLWljb24vd20tc3RhdGUtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRbEYsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQjtRQUZnQixVQUFLLEdBQVcsSUFBSSxDQUFDO0lBRXJCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7O2lIQVBVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGlGQ1JqQyx5R0FHTTsyRkRLTyxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNOzBFQUkvQixLQUFLO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3bS1zdGF0ZS1pY29uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd20tc3RhdGUtaWNvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tc3RhdGUtaWNvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbVN0YXRlSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdGF0ZTogc3RyaW5nID0gJ29rJztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0td29ya2Fyb3VuZCBmb3IgY3NzIGltYWdlIHJlc29sdmUgcGx1Z2luLS0+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
+ }
12
+ WmTagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ WmTagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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;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 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", 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;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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tdGFnL3dtLXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXRhZy93bS10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRMUUsTUFBTSxPQUFPLGNBQWM7SUFOM0I7UUFTa0IsZUFBVSxHQUFXLGFBQWEsQ0FBQztRQUNuQyxVQUFLLEdBQVcsT0FBTyxDQUFDO1FBRXhCLGFBQVEsR0FBVyxNQUFNLENBQUM7S0FFM0M7OzJHQVJZLGNBQWM7K0ZBQWQsY0FBYyxzSkNSM0IsdWRBT007MkZEQ08sY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxRQUFRLG1CQUdELHVCQUF1QixDQUFDLE1BQU07OEJBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dtLXRhZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dtLXRhZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tdGFnLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXbVRhZ0NvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGJhY2tncm91bmQ6IHN0cmluZyA9ICd0cmFuc3BhcmVudCc7XHJcbiAgQElucHV0KCkgcHVibGljIGNvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpY29uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGljb25TaXplOiBzdHJpbmcgPSAnMjBweCc7XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0ZXh0LXdyYXBcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1iZ1wiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZCc6IGJhY2tncm91bmR9XCI+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
+ }
46
+ WmTemplateImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: WmTemplateImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ WmTemplateImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", 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 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid20tdGVtcGxhdGUtaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnR2LWJhc2UtY29udHJvbHMvc3JjL2xpYi93bS10YW1wbGF0ZS1pbWFnZS93bS10ZW1wbGF0ZS1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLXRhbXBsYXRlLWltYWdlL3dtLXRlbXBsYXRlLWltYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTakcsTUFBTSxPQUFPLHdCQUF3QjtJQVByQztRQVNFLFlBQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBS3RDLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFHdEIsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQUt2QixhQUFRLEdBQVcsU0FBUyxDQUFDO0tBK0J0QztJQW5DQyxJQUFXLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLElBQW9CLElBQUksQ0FBQyxLQUFhO1FBQ3BDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFXLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlDLElBQW9CLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRTtZQUNqRixPQUFPO2dCQUNMLHVCQUF1QixFQUFFLFFBQVE7Z0JBQ2pDLHFCQUFxQixFQUFFLFdBQVc7Z0JBQ2xDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUM5QixvQkFBb0IsRUFBRSx5QkFBeUIsSUFBSSxDQUFDLElBQUksT0FBTztnQkFDL0QsWUFBWSxFQUFFLHlCQUF5QixJQUFJLENBQUMsSUFBSSxPQUFPO2dCQUN2RCxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ3RCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDaEQsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUNqRCxrQkFBa0IsRUFBRSxJQUFJLENBQUMsZUFBZTthQUN6QyxDQUFDO1NBQ0g7UUFDRCxPQUFPO1lBQ0wsa0JBQWtCLEVBQUUseUJBQXlCLElBQUksQ0FBQyxJQUFJLE9BQU87WUFDN0QsbUJBQW1CLEVBQUUsV0FBVztZQUNoQyxxQkFBcUIsRUFBRSxRQUFRO1lBQy9CLGlCQUFpQixFQUFFLFNBQVM7WUFDNUIsa0JBQWtCLEVBQUUsYUFBYTtZQUNqQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDaEQsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO1NBQ2xELENBQUM7SUFDSixDQUFDOztxSEE3Q1Usd0JBQXdCO3lHQUF4Qix3QkFBd0IsK1ZDVHJDLHlKQUVNOzJGRE9PLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFJRCxTQUFTO3NCQUF0RCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRW5DLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSWMsSUFBSTtzQkFBdkIsS0FBSztnQkFLYyxPQUFPO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3bS10ZW1wbGF0ZS1pbWFnZScsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd20tdGVtcGxhdGUtaW1hZ2Uuc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93bS10ZW1wbGF0ZS1pbWFnZS5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFdtVGVtcGxhdGVJbWFnZUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZCgnbWFza0NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuICByZXF1aXJlID0gWydtYXNrLWltYWdlJywgJy13ZWJraXQtbWFzay1pbWFnZSddO1xyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhY3RpdmU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgbGlnaHQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2xhc3NlcyA9ICdpY29uLXN2Zyc7XHJcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yO1xyXG5cclxuICBwcml2YXRlIF9zaXplOiBzdHJpbmcgPSAnMjRweCc7XHJcbiAgcHVibGljIGdldCBzaXplKCkgeyByZXR1cm4gdGhpcy5fc2l6ZTsgfVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2l6ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zaXplID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NpemVCb3g6IHN0cmluZyA9IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgZ2V0IHNpemVCb3goKSB7IHJldHVybiB0aGlzLl9zaXplQm94OyB9XHJcbiAgQElucHV0KCkgcHVibGljIHNldCBzaXplQm94KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3NpemVCb3ggPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBnZXRTdHlsZXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICBpZiAodGhpcy5yZXF1aXJlLnNvbWUoaXQgPT4gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZVtpdF0gIT09IHVuZGVmaW5lZCkpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAnLXdlYmtpdC1tYXNrLXBvc2l0aW9uJzogJ2NlbnRlcicsXHJcbiAgICAgICAgJy13ZWJraXQtbWFzay1yZXBlYXQnOiAnbm8tcmVwZWF0JyxcclxuICAgICAgICAnLXdlYmtpdC1tYXNrLXNpemUnOiB0aGlzLnNpemUsXHJcbiAgICAgICAgJy13ZWJraXQtbWFzay1pbWFnZSc6IGB1cmwoLi9hc3NldHMvaWNvbi9zdmcvJHt0aGlzLmljb259LnN2ZylgLFxyXG4gICAgICAgICdtYXNrLWltYWdlJzogYHVybCguL2Fzc2V0cy9pY29uL3N2Zy8ke3RoaXMuaWNvbn0uc3ZnKWAsXHJcbiAgICAgICAgJ21hc2stc2l6ZSc6IHRoaXMuc2l6ZSxcclxuICAgICAgICAnd2lkdGgnOiB0aGlzLnNpemVCb3ggPyB0aGlzLnNpemVCb3ggOiB0aGlzLnNpemUsXHJcbiAgICAgICAgJ2hlaWdodCc6IHRoaXMuc2l6ZUJveCA/IHRoaXMuc2l6ZUJveCA6IHRoaXMuc2l6ZSxcclxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ2JhY2tncm91bmQtaW1hZ2UnOiBgdXJsKC4vYXNzZXRzL2ljb24vc3ZnLyR7dGhpcy5pY29ufS5zdmcpYCxcclxuICAgICAgJ2JhY2tncm91bmQtcmVwZWF0JzogJ25vLXJlcGVhdCcsXHJcbiAgICAgICdiYWNrZ3JvdW5kLXBvc2l0aW9uJzogJ2NlbnRlcicsXHJcbiAgICAgICdiYWNrZ3JvdW5kLXNpemUnOiAnY29udGFpbicsXHJcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgJ3dpZHRoJzogdGhpcy5zaXplQm94ID8gdGhpcy5zaXplQm94IDogdGhpcy5zaXplLFxyXG4gICAgICAnaGVpZ2h0JzogdGhpcy5zaXplQm94ID8gdGhpcy5zaXplQm94IDogdGhpcy5zaXplXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNtYXNrQ29udGFpbmVyIGNsYXNzPVwie3tjbGFzc2VzfX1cIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogZGlzYWJsZWQsXHJcbidhY3RpdmUnOiBhY3RpdmUsICdsaWdodCc6IGxpZ2h0IH1cIiBbbmdTdHlsZV09XCJnZXRTdHlsZXNcIj5cclxuPC9kaXY+Il19