btv-base-controls 0.1.21 → 0.1.22

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 (72) hide show
  1. package/README.md +24 -24
  2. package/{esm2022 → esm2020}/btv-base-controls.mjs +4 -4
  3. package/{esm2022 → esm2020}/lib/basic.module.mjs +64 -64
  4. package/esm2020/lib/blink-message/blink-message.component.mjs +54 -0
  5. package/{esm2022 → esm2020}/lib/btv-icon-button/btv-counter-button.mjs +47 -47
  6. package/esm2020/lib/btv-icon-button/btv-icon-button.component.mjs +89 -0
  7. package/esm2020/lib/btv-progress/btv-progress.component.mjs +71 -0
  8. package/esm2020/lib/btv-search/btv-search.component.mjs +82 -0
  9. package/{esm2022 → esm2020}/lib/busy-indicator/busy-indicator.component.mjs +16 -16
  10. package/{esm2022 → esm2020}/lib/custom-tool-tip/custom-tool-tip.component.mjs +34 -34
  11. package/esm2020/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +113 -0
  12. package/{esm2022 → esm2020}/lib/illustration/illustration.component.mjs +17 -17
  13. package/esm2020/lib/wm-avatar/avatar.component.mjs +175 -0
  14. package/{esm2022 → esm2020}/lib/wm-back-btn/wm-back-btn.component.mjs +26 -26
  15. package/{esm2022 → esm2020}/lib/wm-beta-text/wm-beta-text.component.mjs +19 -19
  16. package/{esm2022 → esm2020}/lib/wm-info/info-models.mjs +12 -12
  17. package/esm2020/lib/wm-info/wm-info.component.mjs +237 -0
  18. package/{esm2022 → esm2020}/lib/wm-info-card/wm-info-card.component.mjs +23 -23
  19. package/{esm2022 → esm2020}/lib/wm-no-content/wm-no-content.component.mjs +30 -30
  20. package/esm2020/lib/wm-panel-bar/wm-panel-bar.component.mjs +78 -0
  21. package/esm2020/lib/wm-scalable-div/scalable-div.component.mjs +105 -0
  22. package/esm2020/lib/wm-spinner/wm-spinner.component.mjs +135 -0
  23. package/esm2020/lib/wm-state-icon/wm-state-icon.component.mjs +18 -0
  24. package/{esm2022 → esm2020}/lib/wm-tag/wm-tag.component.mjs +28 -28
  25. package/esm2020/lib/wm-tamplate-image/wm-template-image.component.mjs +71 -0
  26. package/{esm2022 → esm2020}/lib/wm-toggle/wm-toggle.component.mjs +31 -31
  27. package/{esm2022 → esm2020}/models/guidExtension.mjs +14 -14
  28. package/{esm2022 → esm2020}/public-api.mjs +27 -27
  29. package/fesm2015/btv-base-controls.mjs +1479 -0
  30. package/{fesm2022 → fesm2015}/btv-base-controls.mjs.map +1 -1
  31. package/{fesm2022 → fesm2020}/btv-base-controls.mjs +1427 -1427
  32. package/fesm2020/btv-base-controls.mjs.map +1 -0
  33. package/index.d.ts +5 -5
  34. package/lib/basic.module.d.ts +33 -33
  35. package/lib/blink-message/blink-message.component.d.ts +20 -20
  36. package/lib/btv-icon-button/btv-counter-button.d.ts +12 -12
  37. package/lib/btv-icon-button/btv-icon-button.component.d.ts +30 -30
  38. package/lib/btv-progress/btv-progress.component.d.ts +20 -20
  39. package/lib/btv-search/btv-search.component.d.ts +31 -31
  40. package/lib/busy-indicator/busy-indicator.component.d.ts +7 -7
  41. package/lib/custom-tool-tip/custom-tool-tip.component.d.ts +35 -35
  42. package/lib/custom-tool-tip/tool-tip-renderer.directive.d.ts +49 -49
  43. package/lib/illustration/illustration.component.d.ts +10 -10
  44. package/lib/wm-avatar/avatar.component.d.ts +63 -63
  45. package/lib/wm-back-btn/wm-back-btn.component.d.ts +10 -10
  46. package/lib/wm-beta-text/wm-beta-text.component.d.ts +7 -7
  47. package/lib/wm-info/info-models.d.ts +20 -20
  48. package/lib/wm-info/wm-info.component.d.ts +34 -34
  49. package/lib/wm-info-card/wm-info-card.component.d.ts +9 -9
  50. package/lib/wm-no-content/wm-no-content.component.d.ts +11 -11
  51. package/lib/wm-panel-bar/wm-panel-bar.component.d.ts +25 -25
  52. package/lib/wm-scalable-div/scalable-div.component.d.ts +24 -24
  53. package/lib/wm-spinner/wm-spinner.component.d.ts +37 -37
  54. package/lib/wm-state-icon/wm-state-icon.component.d.ts +9 -9
  55. package/lib/wm-tag/wm-tag.component.d.ts +10 -10
  56. package/lib/wm-tamplate-image/wm-template-image.component.d.ts +49 -49
  57. package/lib/wm-toggle/wm-toggle.component.d.ts +11 -11
  58. package/models/guidExtension.d.ts +5 -5
  59. package/package.json +11 -5
  60. package/public-api.d.ts +24 -24
  61. package/esm2022/lib/blink-message/blink-message.component.mjs +0 -54
  62. package/esm2022/lib/btv-icon-button/btv-icon-button.component.mjs +0 -89
  63. package/esm2022/lib/btv-progress/btv-progress.component.mjs +0 -71
  64. package/esm2022/lib/btv-search/btv-search.component.mjs +0 -82
  65. package/esm2022/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +0 -113
  66. package/esm2022/lib/wm-avatar/avatar.component.mjs +0 -175
  67. package/esm2022/lib/wm-info/wm-info.component.mjs +0 -237
  68. package/esm2022/lib/wm-panel-bar/wm-panel-bar.component.mjs +0 -78
  69. package/esm2022/lib/wm-scalable-div/scalable-div.component.mjs +0 -105
  70. package/esm2022/lib/wm-spinner/wm-spinner.component.mjs +0 -135
  71. package/esm2022/lib/wm-state-icon/wm-state-icon.component.mjs +0 -18
  72. package/esm2022/lib/wm-tamplate-image/wm-template-image.component.mjs +0 -71
@@ -1,89 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, 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
- import * as i3 from "../custom-tool-tip/tool-tip-renderer.directive";
6
- export class BtvIconButtonComponent {
7
- get getIsDisabled() { return this.disabled; }
8
- get getIsSmall() { return this.size === 'small'; }
9
- get getIsMedium() { return this.size === 'medium'; }
10
- get getIsDanger() { return this.danger; }
11
- get iconSize() {
12
- switch (this.size) {
13
- case 'small': return 16;
14
- case 'medium': return 20;
15
- default: return 24;
16
- }
17
- }
18
- get animate() {
19
- return {
20
- type: 'zoom',
21
- duration: 200
22
- };
23
- }
24
- constructor() {
25
- this.titleText = '';
26
- this.disabled = false;
27
- this.size = 'large';
28
- this.icon = '';
29
- this.changed = false;
30
- this.isTabStop = false;
31
- this.light = false;
32
- this.buttonClasses = '';
33
- this.imageClasses = 'icon-svg';
34
- this.danger = false;
35
- this.unavailableText = "Unavailable";
36
- this.isHover = false;
37
- this.floor = Math.floor;
38
- this.isInFullScreen = false;
39
- this.iClick = new EventEmitter();
40
- }
41
- onClick($event) {
42
- if (this.disabled)
43
- return;
44
- this.iClick.emit($event);
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BtvIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BtvIconButtonComponent, selector: "btv-icon-button", inputs: { titleText: "titleText", disabled: "disabled", size: "size", icon: "icon", changed: "changed", isTabStop: "isTabStop", light: "light", buttonClasses: "buttonClasses", imageClasses: "imageClasses", danger: "danger", unavailableText: "unavailableText" }, outputs: { iClick: "iClick" }, host: { properties: { "class.disabled": "this.getIsDisabled", "class.small": "this.getIsSmall", "class.medium": "this.getIsMedium", "class.danger": "this.getIsDanger" } }, ngImport: i0, template: "<button class=\"icon flex-row {{buttonClasses}}\" (click)=\"onClick($event)\" type=\"button\" #button\r\n [tabindex]=\"(!isTabStop || disabled) ? -1 : undefined\" [showToolTip]=\"!!titleText\" customToolTip [contentTemplate]=\"template\">\r\n\r\n <wm-template-image [icon]=\"icon\" [size]=\"floor(iconSize * (isHover ? 1.1: 1)) + 'px'\" [active]=\"!disabled && changed\"\r\n [light]=\"light\" [classes]=\"imageClasses\">\r\n </wm-template-image>\r\n <ng-content></ng-content>\r\n\r\n</button>\r\n\r\n<ng-template #template>\r\n <span class=\"tooltip-text\"> {{titleText}} </span>\r\n <span *ngIf=\"disabled\" class=\"tooltip-text\"> - {{unavailableText}} </span>\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}}:host{display:block;background:var(--pageBackgroundColor);border:1px solid;border-radius:4px;border-color:var(--secondaryHover);cursor:pointer;box-sizing:border-box;width:36px;height:36px;flex-shrink:0}:host:focus .icon,:host:hover .icon{outline:none;background:var(--secondaryHover)}:host(.u-no-border){border-width:0px}:host(.small){width:16px;height:16px}:host(.medium){width:30px;height:30px}:host(.disabled){background-color:var(--disabledColor);border-color:var(--disabledColor);color:var(--lightFontColor);cursor:default}:host(.disabled):hover{background-color:var(--disabledColor);border-color:var(--disabledColor)}:host(.disabled) .icon{cursor:default}:host(.danger){background-color:var(--dangerColor);border-color:var(--warningColor)}.tooltip-text{align-self:center}.tooltip-disabled{font-size:14px -2;counter-reset:var(--lightFontColor)}.icon{justify-content:center;align-items:center;width:100%;height:100%;border:0px;cursor:pointer;color:var(--strongFontColor);outline:0px;padding:0;background:transparent;border-radius:inherit}.wm-counter-button{position:relative}.wm-counter{display:inline-block;width:16px;height:16px;line-height:16px;position:absolute;top:0;right:0;border:none;background-color:var(--dangerColor);border-radius:50%;font-size:10px;font-weight:700;text-align:center;color:var(--strongFontColor);text-indent:-1px;overflow:hidden;white-space:nowrap}.u-btn-validate{border-color:var(--dangerColor);background-color:var(--dangerColor);color:var(--onBrandTextColor)}.u-btn-validate:hover{background-color:var(--dangerColor)}.u-btn-primary{border-color:var(--brandColor);background-color:var(--brandColor);color:var(--onBrandTextColor)}.u-btn-primary:hover{background-color:var(--onBrandHoverColor)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.WmTemplateImageComponent, selector: "wm-template-image", inputs: ["icon", "disabled", "active", "light", "classes", "backgroundColor", "size", "sizeBox"] }, { kind: "directive", type: i3.ToolTipRendererDirective, selector: "[customToolTip]", inputs: ["showToolTip", "customToolTip", "contentTemplate", "customAnchor", "useCustom"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BtvIconButtonComponent, decorators: [{
50
- type: Component,
51
- args: [{ selector: 'btv-icon-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button class=\"icon flex-row {{buttonClasses}}\" (click)=\"onClick($event)\" type=\"button\" #button\r\n [tabindex]=\"(!isTabStop || disabled) ? -1 : undefined\" [showToolTip]=\"!!titleText\" customToolTip [contentTemplate]=\"template\">\r\n\r\n <wm-template-image [icon]=\"icon\" [size]=\"floor(iconSize * (isHover ? 1.1: 1)) + 'px'\" [active]=\"!disabled && changed\"\r\n [light]=\"light\" [classes]=\"imageClasses\">\r\n </wm-template-image>\r\n <ng-content></ng-content>\r\n\r\n</button>\r\n\r\n<ng-template #template>\r\n <span class=\"tooltip-text\"> {{titleText}} </span>\r\n <span *ngIf=\"disabled\" class=\"tooltip-text\"> - {{unavailableText}} </span>\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}}:host{display:block;background:var(--pageBackgroundColor);border:1px solid;border-radius:4px;border-color:var(--secondaryHover);cursor:pointer;box-sizing:border-box;width:36px;height:36px;flex-shrink:0}:host:focus .icon,:host:hover .icon{outline:none;background:var(--secondaryHover)}:host(.u-no-border){border-width:0px}:host(.small){width:16px;height:16px}:host(.medium){width:30px;height:30px}:host(.disabled){background-color:var(--disabledColor);border-color:var(--disabledColor);color:var(--lightFontColor);cursor:default}:host(.disabled):hover{background-color:var(--disabledColor);border-color:var(--disabledColor)}:host(.disabled) .icon{cursor:default}:host(.danger){background-color:var(--dangerColor);border-color:var(--warningColor)}.tooltip-text{align-self:center}.tooltip-disabled{font-size:14px -2;counter-reset:var(--lightFontColor)}.icon{justify-content:center;align-items:center;width:100%;height:100%;border:0px;cursor:pointer;color:var(--strongFontColor);outline:0px;padding:0;background:transparent;border-radius:inherit}.wm-counter-button{position:relative}.wm-counter{display:inline-block;width:16px;height:16px;line-height:16px;position:absolute;top:0;right:0;border:none;background-color:var(--dangerColor);border-radius:50%;font-size:10px;font-weight:700;text-align:center;color:var(--strongFontColor);text-indent:-1px;overflow:hidden;white-space:nowrap}.u-btn-validate{border-color:var(--dangerColor);background-color:var(--dangerColor);color:var(--onBrandTextColor)}.u-btn-validate:hover{background-color:var(--dangerColor)}.u-btn-primary{border-color:var(--brandColor);background-color:var(--brandColor);color:var(--onBrandTextColor)}.u-btn-primary:hover{background-color:var(--onBrandHoverColor)}\n"] }]
52
- }], ctorParameters: () => [], propDecorators: { getIsDisabled: [{
53
- type: HostBinding,
54
- args: ['class.disabled']
55
- }], getIsSmall: [{
56
- type: HostBinding,
57
- args: ['class.small']
58
- }], getIsMedium: [{
59
- type: HostBinding,
60
- args: ['class.medium']
61
- }], getIsDanger: [{
62
- type: HostBinding,
63
- args: ['class.danger']
64
- }], titleText: [{
65
- type: Input
66
- }], disabled: [{
67
- type: Input
68
- }], size: [{
69
- type: Input
70
- }], icon: [{
71
- type: Input
72
- }], changed: [{
73
- type: Input
74
- }], isTabStop: [{
75
- type: Input
76
- }], light: [{
77
- type: Input
78
- }], buttonClasses: [{
79
- type: Input
80
- }], imageClasses: [{
81
- type: Input
82
- }], danger: [{
83
- type: Input
84
- }], unavailableText: [{
85
- type: Input
86
- }], iClick: [{
87
- type: Output
88
- }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnR2LWljb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvYnR2LWljb24tYnV0dG9uL2J0di1pY29uLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2J0di1pY29uLWJ1dHRvbi9idHYtaWNvbi1idXR0b24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFXN0csTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxJQUFtQyxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM1RSxJQUFnQyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsSUFBaUMsV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLElBQWlDLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBb0J0RSxJQUFXLFFBQVE7UUFDakIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4QixLQUFLLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU87WUFDTCxJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxHQUFHO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFJRDtRQWxDUyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsU0FBSSxHQUFlLE9BQU8sQ0FBQztRQUMzQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsVUFBVSxDQUFDO1FBQzFCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsb0JBQWUsR0FBVyxhQUFhLENBQUM7UUFDMUMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUV2QixVQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVuQixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQWlCdEIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRzlELENBQUM7SUFFRCxPQUFPLENBQUMsTUFBVztRQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDOzhHQWhEVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix3Z0JDWG5DLG1yQkFhYzs7MkZERkQsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNO3dEQUtaLGFBQWE7c0JBQS9DLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNHLFVBQVU7c0JBQXpDLFdBQVc7dUJBQUMsYUFBYTtnQkFDTyxXQUFXO3NCQUEzQyxXQUFXO3VCQUFDLGNBQWM7Z0JBQ00sV0FBVztzQkFBM0MsV0FBVzt1QkFBQyxjQUFjO2dCQUdsQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQXNCSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBCdXR0b25TaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYnR2LWljb24tYnV0dG9uJyxcclxuICBzdHlsZVVybHM6IFsnLi9idHYtaWNvbi1idXR0b24uc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idHYtaWNvbi1idXR0b24uaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBCdHZJY29uQnV0dG9uQ29tcG9uZW50IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kaXNhYmxlZCcpIGdldCBnZXRJc0Rpc2FibGVkKCkgeyByZXR1cm4gdGhpcy5kaXNhYmxlZDsgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc21hbGwnKSBnZXQgZ2V0SXNTbWFsbCgpIHsgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ3NtYWxsJzsgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWVkaXVtJykgZ2V0IGdldElzTWVkaXVtKCkgeyByZXR1cm4gdGhpcy5zaXplID09PSAnbWVkaXVtJzsgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGFuZ2VyJykgZ2V0IGdldElzRGFuZ2VyKCkgeyByZXR1cm4gdGhpcy5kYW5nZXI7IH1cclxuXHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlVGV4dDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaXplOiBCdXR0b25TaXplID0gJ2xhcmdlJztcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBjaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNUYWJTdG9wOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbGlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBidXR0b25DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgaW1hZ2VDbGFzc2VzID0gJ2ljb24tc3ZnJztcclxuICBASW5wdXQoKSBkYW5nZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB1bmF2YWlsYWJsZVRleHQ6IHN0cmluZyA9IFwiVW5hdmFpbGFibGVcIjtcclxuICBwdWJsaWMgaXNIb3ZlciA9IGZhbHNlO1xyXG5cclxuICBmbG9vciA9IE1hdGguZmxvb3I7XHJcblxyXG4gIGlzSW5GdWxsU2NyZWVuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBnZXQgaWNvblNpemUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xyXG4gICAgICBjYXNlICdzbWFsbCc6IHJldHVybiAxNjtcclxuICAgICAgY2FzZSAnbWVkaXVtJzogcmV0dXJuIDIwO1xyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gMjQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFuaW1hdGUoKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6ICd6b29tJyxcclxuICAgICAgZHVyYXRpb246IDIwMFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBpQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgb25DbGljaygkZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuaUNsaWNrLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxidXR0b24gY2xhc3M9XCJpY29uIGZsZXgtcm93IHt7YnV0dG9uQ2xhc3Nlc319XCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiIHR5cGU9XCJidXR0b25cIiAjYnV0dG9uXHJcbiAgW3RhYmluZGV4XT1cIighaXNUYWJTdG9wIHx8IGRpc2FibGVkKSA/IC0xIDogdW5kZWZpbmVkXCIgW3Nob3dUb29sVGlwXT1cIiEhdGl0bGVUZXh0XCIgY3VzdG9tVG9vbFRpcCBbY29udGVudFRlbXBsYXRlXT1cInRlbXBsYXRlXCI+XHJcblxyXG4gIDx3bS10ZW1wbGF0ZS1pbWFnZSBbaWNvbl09XCJpY29uXCIgW3NpemVdPVwiZmxvb3IoaWNvblNpemUgKiAoaXNIb3ZlciA/IDEuMTogMSkpICsgJ3B4J1wiIFthY3RpdmVdPVwiIWRpc2FibGVkICYmIGNoYW5nZWRcIlxyXG4gICAgW2xpZ2h0XT1cImxpZ2h0XCIgW2NsYXNzZXNdPVwiaW1hZ2VDbGFzc2VzXCI+XHJcbiAgPC93bS10ZW1wbGF0ZS1pbWFnZT5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblxyXG48L2J1dHRvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XHJcbiAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwLXRleHRcIj4ge3t0aXRsZVRleHR9fSA8L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJkaXNhYmxlZFwiIGNsYXNzPVwidG9vbHRpcC10ZXh0XCI+IC0ge3t1bmF2YWlsYWJsZVRleHR9fSA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -1,71 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class BtvProgressComponent {
5
- constructor() {
6
- this.relativeValue = 0;
7
- this._val = 0;
8
- this.height = 8;
9
- this._max = 0;
10
- this.color = '#ffffff';
11
- this._backColor = '#4e5a6b';
12
- this.showFlag = false;
13
- }
14
- get val() {
15
- return this._val;
16
- }
17
- set val(val) {
18
- this._val = val;
19
- this.relativeValue = this.calcRelativeValue(val, this.max);
20
- }
21
- get max() {
22
- return this._max;
23
- }
24
- set max(m) {
25
- this._max = m;
26
- this.relativeValue = this.calcRelativeValue(this._val, m);
27
- }
28
- set backColor(value) {
29
- if (value) {
30
- this._backColor = value;
31
- }
32
- else {
33
- this._backColor = '#4e5a6b';
34
- }
35
- }
36
- get backColor() {
37
- return this._backColor;
38
- }
39
- getFlagPosition() {
40
- const max = this.max;
41
- const val = this.val;
42
- if (!max)
43
- return '0';
44
- const percent = val / max * 100;
45
- return percent + '%';
46
- }
47
- calcRelativeValue(value, max) {
48
- if (!max)
49
- return 100;
50
- return (value / max) * 100;
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BtvProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BtvProgressComponent, selector: "btv-progress", inputs: { height: "height", val: "val", max: "max", color: "color", backColor: "backColor", showFlag: "showFlag" }, ngImport: i0, template: "<div class=\"progress-wrap\" [ngStyle]=\"{'height': height + 'px'}\">\r\n <div class=\"progress\" [ngStyle]=\"{'background-color': backColor}\">\r\n <div class=\"progress-fill\" [ngStyle]=\"{'width': relativeValue + '%', 'background-color': color}\"></div>\r\n <!--workaround for css image resolve plugin-->\r\n <div *ngIf=\"showFlag\" class=\"flag\" [ngStyle]=\"{\r\n 'margin-left': getFlagPosition(),\r\n 'background-image': 'url(./assets/img/flag.png)' \r\n }\">\r\n </div>\r\n </div>\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}}.progress-wrap{display:block;width:100%;height:8px}.progress{width:100%;height:100%;position:relative}.progress-fill{position:absolute;height:100%}.flag{height:14px;width:8px;margin-top:-4px;position:absolute;background-repeat:no-repeat;transform:scaleY(.7)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BtvProgressComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'btv-progress', template: "<div class=\"progress-wrap\" [ngStyle]=\"{'height': height + 'px'}\">\r\n <div class=\"progress\" [ngStyle]=\"{'background-color': backColor}\">\r\n <div class=\"progress-fill\" [ngStyle]=\"{'width': relativeValue + '%', 'background-color': color}\"></div>\r\n <!--workaround for css image resolve plugin-->\r\n <div *ngIf=\"showFlag\" class=\"flag\" [ngStyle]=\"{\r\n 'margin-left': getFlagPosition(),\r\n 'background-image': 'url(./assets/img/flag.png)' \r\n }\">\r\n </div>\r\n </div>\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}}.progress-wrap{display:block;width:100%;height:8px}.progress{width:100%;height:100%;position:relative}.progress-fill{position:absolute;height:100%}.flag{height:14px;width:8px;margin-top:-4px;position:absolute;background-repeat:no-repeat;transform:scaleY(.7)}\n"] }]
58
- }], propDecorators: { height: [{
59
- type: Input
60
- }], val: [{
61
- type: Input
62
- }], max: [{
63
- type: Input
64
- }], color: [{
65
- type: Input
66
- }], backColor: [{
67
- type: Input
68
- }], showFlag: [{
69
- type: Input
70
- }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnR2LXByb2dyZXNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvYnR2LXByb2dyZXNzL2J0di1wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2J0di1wcm9ncmVzcy9idHYtcHJvZ3Jlc3MuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxvQkFBb0I7SUFMakM7UUFPRSxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUVsQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRWhCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFVcEIsU0FBSSxHQUFXLENBQUMsQ0FBQztRQVdoQixVQUFLLEdBQVcsU0FBUyxDQUFDO1FBRTVCLGVBQVUsR0FBVyxTQUFTLENBQUM7UUFjN0IsYUFBUSxHQUFZLEtBQUssQ0FBQztLQWNwQztJQWxEQyxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQWEsR0FBRyxDQUFDLEdBQVc7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBR0QsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFhLEdBQUcsQ0FBQyxDQUFTO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBT0QsSUFBYSxTQUFTLENBQUMsS0FBYTtRQUNsQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBSUQsZUFBZTtRQUNiLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEdBQUc7UUFDMUIsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUNyQixPQUFPLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUM3QixDQUFDOzhHQXhEVSxvQkFBb0I7a0dBQXBCLG9CQUFvQix3S0NQakMsc2pCQVVNOzsyRkRITyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsY0FBYzs4QkFVZixNQUFNO3NCQUFkLEtBQUs7Z0JBS08sR0FBRztzQkFBZixLQUFLO2dCQVVPLEdBQUc7c0JBQWYsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSU8sU0FBUztzQkFBckIsS0FBSztnQkFZRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdidHYtcHJvZ3Jlc3MnLFxyXG4gIHN0eWxlVXJsczogWycuL2J0di1wcm9ncmVzcy5zY3NzJ10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J0di1wcm9ncmVzcy5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnR2UHJvZ3Jlc3NDb21wb25lbnQge1xyXG5cclxuICByZWxhdGl2ZVZhbHVlOiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF92YWw6IG51bWJlciA9IDA7XHJcblxyXG4gIEBJbnB1dCgpIGhlaWdodDogbnVtYmVyID0gODtcclxuICBnZXQgdmFsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCB2YWwodmFsOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX3ZhbCA9IHZhbDtcclxuICAgIHRoaXMucmVsYXRpdmVWYWx1ZSA9IHRoaXMuY2FsY1JlbGF0aXZlVmFsdWUodmFsLCB0aGlzLm1heCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9tYXg6IG51bWJlciA9IDA7XHJcbiAgZ2V0IG1heCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tYXg7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgbWF4KG06IG51bWJlcikge1xyXG4gICAgdGhpcy5fbWF4ID0gbTtcclxuICAgIHRoaXMucmVsYXRpdmVWYWx1ZSA9IHRoaXMuY2FsY1JlbGF0aXZlVmFsdWUodGhpcy5fdmFsLCBtKTtcclxuICB9XHJcblxyXG5cclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJyNmZmZmZmYnO1xyXG5cclxuICBwdWJsaWMgX2JhY2tDb2xvcjogc3RyaW5nID0gJyM0ZTVhNmInO1xyXG5cclxuICBASW5wdXQoKSBzZXQgYmFja0NvbG9yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9iYWNrQ29sb3IgPSB2YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2JhY2tDb2xvciA9ICcjNGU1YTZiJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBiYWNrQ29sb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYmFja0NvbG9yO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2hvd0ZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZ2V0RmxhZ1Bvc2l0aW9uKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBtYXggPSB0aGlzLm1heDtcclxuICAgIGNvbnN0IHZhbCA9IHRoaXMudmFsO1xyXG4gICAgaWYgKCFtYXgpIHJldHVybiAnMCc7XHJcbiAgICBjb25zdCBwZXJjZW50ID0gdmFsIC8gbWF4ICogMTAwO1xyXG4gICAgcmV0dXJuIHBlcmNlbnQgKyAnJSc7XHJcbiAgfVxyXG5cclxuICBjYWxjUmVsYXRpdmVWYWx1ZSh2YWx1ZSwgbWF4KSB7XHJcbiAgICBpZiAoIW1heCkgcmV0dXJuIDEwMDtcclxuICAgIHJldHVybiAodmFsdWUgLyBtYXgpICogMTAwO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3Jlc3Mtd3JhcFwiIFtuZ1N0eWxlXT1cInsnaGVpZ2h0JzogaGVpZ2h0ICsgJ3B4J31cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGJhY2tDb2xvcn1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtZmlsbFwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiByZWxhdGl2ZVZhbHVlICsgJyUnLCAnYmFja2dyb3VuZC1jb2xvcic6IGNvbG9yfVwiPjwvZGl2PlxyXG4gICAgICAgIDwhLS13b3JrYXJvdW5kIGZvciBjc3MgaW1hZ2UgcmVzb2x2ZSBwbHVnaW4tLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0ZsYWdcIiBjbGFzcz1cImZsYWdcIiBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICdtYXJnaW4tbGVmdCc6IGdldEZsYWdQb3NpdGlvbigpLFxyXG4gICAgICAgICAgICAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoLi9hc3NldHMvaW1nL2ZsYWcucG5nKScgXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,82 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { fromEvent } from 'rxjs';
3
- import { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../wm-tamplate-image/wm-template-image.component";
7
- export class ViewState {
8
- get isLaptop() { return window.innerWidth <= 1440; }
9
- get isMobile() { return window.innerWidth <= 1024; }
10
- get isPhone() { return window.innerWidth <= 767; }
11
- isWidthLessOrEqualTo(width) { return window.innerWidth <= width; }
12
- }
13
- export class BtvSearch {
14
- set searchText(value) {
15
- if (value === this._searchText)
16
- return;
17
- this._searchText = value;
18
- if (value) {
19
- this.expanded = true;
20
- }
21
- }
22
- get searchText() {
23
- return this._searchText || '';
24
- }
25
- constructor() {
26
- this.widthAuto = false;
27
- this.isSmall = false;
28
- this.placeholder = 'Search';
29
- this.keepExpanded = false;
30
- this.searchFocus = false;
31
- this.view = new ViewState();
32
- this.searchTextChange = new EventEmitter();
33
- this.expanded = false;
34
- }
35
- ngOnInit() {
36
- let box = this.box.nativeElement;
37
- let observable = fromEvent(box, 'keyup').pipe(debounceTime(400), distinctUntilChanged(), map(x => x.target.value));
38
- this._searchSubscription = observable.subscribe(it => {
39
- this.searchTextChange.emit(it);
40
- });
41
- }
42
- ngOnDestroy() {
43
- if (this._searchSubscription)
44
- this._searchSubscription.unsubscribe();
45
- }
46
- toggleSearch() {
47
- this.expanded = !this.expanded;
48
- if (this.box && this.expanded) {
49
- this.box.nativeElement.focus();
50
- }
51
- }
52
- onFocusOut() {
53
- if (!this.box.nativeElement.value && this.expanded && !this.keepExpanded) {
54
- this.expanded = false;
55
- }
56
- this.searchFocus = false;
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BtvSearch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BtvSearch, selector: "btv-search", inputs: { widthAuto: "widthAuto", isSmall: "isSmall", searchRight: "searchRight", placeholder: "placeholder", keepExpanded: "keepExpanded", searchText: "searchText" }, outputs: { searchTextChange: "searchTextChange" }, viewQueries: [{ propertyName: "box", first: true, predicate: ["searchBox"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"wm-search flex-row\" [ngClass]=\"{'search-reverse': searchRight == 'right', 'always-opened': keepExpanded, 'small': isSmall}\">\r\n\t<div class=\"search-icon inline-col\" [ngClass]=\"{'search-toggle-disabled': keepExpanded || !searchFocus}\"\r\n\t\t(click)=\"toggleSearch()\">\r\n\t\t<wm-template-image class=\"marginXA\" icon=\"search\" [light]=\"(!expanded && !searchFocus) || keepExpanded\">\r\n\t\t</wm-template-image>\r\n\t</div>\r\n\t<div class=\"search-wrap flex-col\"\r\n\t\t[ngClass]=\"{'search-open': keepExpanded || expanded, 'search-focused': (expanded && searchFocus) || (keepExpanded && searchFocus),\r\n\t'width-auto': widthAuto}\">\r\n\t\t<input class=\"search-field\" #searchBox \r\n\t\t\t[value]=\"searchText\" \r\n\t\t\t[placeholder]=\"placeholder\"\r\n\t\t\t(focus)=\"searchFocus = true\" (focusout)=\"onFocusOut()\">\r\n\t</div>\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}}.wm-search,.search-wrap,.search-field{box-sizing:border-box}.wm-search:hover{border-color:var(--brandColor)}.wm-search{background:var(--pageBackgroundColor);height:36px;max-width:280px;border-radius:4px;align-items:center;flex:1 0 100%;flex-shrink:0;border:1px solid var(--secondaryHover)}.wm-search.small{max-width:140px}.wm-search.small .search-open{width:auto}.search-icon{width:36px;height:100%;flex-shrink:0;cursor:pointer}.search-icon.search-toggle-disabled{cursor:text}.search-wrap{width:0px;height:100%;color:var(--mediumFontColor);direction:ltr}.search-open{width:280px;max-width:100%;flex-grow:1;flex-shrink:1}.search-open.width-auto{width:auto}.search-open:hover,.search-focused{color:var(--strongFontColor)}.search-field{width:100%;height:100%;color:inherit;text-indent:.1em;font-size:16px;background-color:transparent;border:none;outline:none;padding:0 8px 0 0}.search-field::placeholder{color:var(--disabledTextColor)}.search-reverse{display:flex;flex-direction:row-reverse}.search-reverse .search-wrap{direction:rtl}.search-reverse .search-field{direction:ltr;padding:0 8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.WmTemplateImageComponent, selector: "wm-template-image", inputs: ["icon", "disabled", "active", "light", "classes", "backgroundColor", "size", "sizeBox"] }] }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BtvSearch, decorators: [{
62
- type: Component,
63
- args: [{ selector: 'btv-search', template: "<div class=\"wm-search flex-row\" [ngClass]=\"{'search-reverse': searchRight == 'right', 'always-opened': keepExpanded, 'small': isSmall}\">\r\n\t<div class=\"search-icon inline-col\" [ngClass]=\"{'search-toggle-disabled': keepExpanded || !searchFocus}\"\r\n\t\t(click)=\"toggleSearch()\">\r\n\t\t<wm-template-image class=\"marginXA\" icon=\"search\" [light]=\"(!expanded && !searchFocus) || keepExpanded\">\r\n\t\t</wm-template-image>\r\n\t</div>\r\n\t<div class=\"search-wrap flex-col\"\r\n\t\t[ngClass]=\"{'search-open': keepExpanded || expanded, 'search-focused': (expanded && searchFocus) || (keepExpanded && searchFocus),\r\n\t'width-auto': widthAuto}\">\r\n\t\t<input class=\"search-field\" #searchBox \r\n\t\t\t[value]=\"searchText\" \r\n\t\t\t[placeholder]=\"placeholder\"\r\n\t\t\t(focus)=\"searchFocus = true\" (focusout)=\"onFocusOut()\">\r\n\t</div>\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}}.wm-search,.search-wrap,.search-field{box-sizing:border-box}.wm-search:hover{border-color:var(--brandColor)}.wm-search{background:var(--pageBackgroundColor);height:36px;max-width:280px;border-radius:4px;align-items:center;flex:1 0 100%;flex-shrink:0;border:1px solid var(--secondaryHover)}.wm-search.small{max-width:140px}.wm-search.small .search-open{width:auto}.search-icon{width:36px;height:100%;flex-shrink:0;cursor:pointer}.search-icon.search-toggle-disabled{cursor:text}.search-wrap{width:0px;height:100%;color:var(--mediumFontColor);direction:ltr}.search-open{width:280px;max-width:100%;flex-grow:1;flex-shrink:1}.search-open.width-auto{width:auto}.search-open:hover,.search-focused{color:var(--strongFontColor)}.search-field{width:100%;height:100%;color:inherit;text-indent:.1em;font-size:16px;background-color:transparent;border:none;outline:none;padding:0 8px 0 0}.search-field::placeholder{color:var(--disabledTextColor)}.search-reverse{display:flex;flex-direction:row-reverse}.search-reverse .search-wrap{direction:rtl}.search-reverse .search-field{direction:ltr;padding:0 8px}\n"] }]
64
- }], ctorParameters: () => [], propDecorators: { widthAuto: [{
65
- type: Input
66
- }], isSmall: [{
67
- type: Input
68
- }], searchRight: [{
69
- type: Input
70
- }], placeholder: [{
71
- type: Input
72
- }], keepExpanded: [{
73
- type: Input
74
- }], box: [{
75
- type: ViewChild,
76
- args: ['searchBox', { static: true }]
77
- }], searchTextChange: [{
78
- type: Output
79
- }], searchText: [{
80
- type: Input
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnR2LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2J0di1zZWFyY2gvYnR2LXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2J0di1zZWFyY2gvYnR2LXNlYXJjaC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRXpFLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLElBQUksUUFBUSxLQUFLLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELElBQUksUUFBUSxLQUFLLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELElBQUksT0FBTyxLQUFLLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLG9CQUFvQixDQUFDLEtBQWEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztDQUNsRjtBQVFELE1BQU0sT0FBTyxTQUFTO0lBZXBCLElBQWEsVUFBVSxDQUFDLEtBQWE7UUFDbkMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEO1FBMUJTLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUMvQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUN2QyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixTQUFJLEdBQWMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUV4QixxQkFBZ0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQW1CNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNqQyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDM0MsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBZSxDQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsbUJBQW1CO1lBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7OEdBMURVLFNBQVM7a0dBQVQsU0FBUyw2WENqQnRCLDAyQkFjTTs7MkZER08sU0FBUztrQkFOckIsU0FBUzsrQkFDRSxZQUFZO3dEQU1iLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdvQyxHQUFHO3NCQUE1QyxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQzlCLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFNTSxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFZpZXdTdGF0ZSB7XHJcbiAgZ2V0IGlzTGFwdG9wKCkgeyByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gMTQ0MDsgfVxyXG4gIGdldCBpc01vYmlsZSgpIHsgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDEwMjQ7IH1cclxuICBnZXQgaXNQaG9uZSgpIHsgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2NzsgfVxyXG4gIHB1YmxpYyBpc1dpZHRoTGVzc09yRXF1YWxUbyh3aWR0aDogbnVtYmVyKSB7IHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA8PSB3aWR0aDsgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2J0di1zZWFyY2gnLFxyXG4gIHN0eWxlVXJsczogWycuL2J0di1zZWFyY2guc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idHYtc2VhcmNoLmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQnR2U2VhcmNoIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHdpZHRoQXV0bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzU21hbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hSaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VhcmNoJztcclxuICBASW5wdXQoKSBrZWVwRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHZpZXc6IFZpZXdTdGF0ZSA9IG5ldyBWaWV3U3RhdGUoKTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnLCB7IHN0YXRpYzogdHJ1ZSB9KSBib3g6IEVsZW1lbnRSZWY7XHJcbiAgQE91dHB1dCgpIHNlYXJjaFRleHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3NlYXJjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIF9zZWFyY2hUZXh0OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBzZWFyY2hUZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fc2VhcmNoVGV4dCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fc2VhcmNoVGV4dCA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHNlYXJjaFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hUZXh0IHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCBib3ggPSB0aGlzLmJveC5uYXRpdmVFbGVtZW50O1xyXG4gICAgbGV0IG9ic2VydmFibGUgPSBmcm9tRXZlbnQoYm94LCAna2V5dXAnKS5waXBlKFxyXG4gICAgICBkZWJvdW5jZVRpbWUoNDAwKSxcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgbWFwKHggPT4gPHN0cmluZz4oPGFueT54KS50YXJnZXQudmFsdWUpXHJcbiAgICApO1xyXG4gICAgdGhpcy5fc2VhcmNoU3Vic2NyaXB0aW9uID0gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoaXQgPT4ge1xyXG4gICAgICB0aGlzLnNlYXJjaFRleHRDaGFuZ2UuZW1pdChpdCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3NlYXJjaFN1YnNjcmlwdGlvbikgdGhpcy5fc2VhcmNoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIHRvZ2dsZVNlYXJjaCgpIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIGlmICh0aGlzLmJveCAmJiB0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgIHRoaXMuYm94Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRm9jdXNPdXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuYm94Lm5hdGl2ZUVsZW1lbnQudmFsdWUgJiYgdGhpcy5leHBhbmRlZCAmJiAhdGhpcy5rZWVwRXhwYW5kZWQpIHtcclxuICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWFyY2hGb2N1cyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndtLXNlYXJjaCBmbGV4LXJvd1wiIFtuZ0NsYXNzXT1cInsnc2VhcmNoLXJldmVyc2UnOiBzZWFyY2hSaWdodCA9PSAncmlnaHQnLCAnYWx3YXlzLW9wZW5lZCc6IGtlZXBFeHBhbmRlZCwgJ3NtYWxsJzogaXNTbWFsbH1cIj5cclxuXHQ8ZGl2IGNsYXNzPVwic2VhcmNoLWljb24gaW5saW5lLWNvbFwiIFtuZ0NsYXNzXT1cInsnc2VhcmNoLXRvZ2dsZS1kaXNhYmxlZCc6IGtlZXBFeHBhbmRlZCB8fCAhc2VhcmNoRm9jdXN9XCJcclxuXHRcdChjbGljayk9XCJ0b2dnbGVTZWFyY2goKVwiPlxyXG5cdFx0PHdtLXRlbXBsYXRlLWltYWdlIGNsYXNzPVwibWFyZ2luWEFcIiBpY29uPVwic2VhcmNoXCIgW2xpZ2h0XT1cIighZXhwYW5kZWQgJiYgIXNlYXJjaEZvY3VzKSB8fCBrZWVwRXhwYW5kZWRcIj5cclxuXHRcdDwvd20tdGVtcGxhdGUtaW1hZ2U+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cInNlYXJjaC13cmFwIGZsZXgtY29sXCJcclxuXHRcdFtuZ0NsYXNzXT1cInsnc2VhcmNoLW9wZW4nOiBrZWVwRXhwYW5kZWQgfHwgZXhwYW5kZWQsICdzZWFyY2gtZm9jdXNlZCc6IChleHBhbmRlZCAmJiBzZWFyY2hGb2N1cykgfHwgKGtlZXBFeHBhbmRlZCAmJiBzZWFyY2hGb2N1cyksXHJcblx0J3dpZHRoLWF1dG8nOiB3aWR0aEF1dG99XCI+XHJcblx0XHQ8aW5wdXQgY2xhc3M9XCJzZWFyY2gtZmllbGRcIiAjc2VhcmNoQm94IFxyXG5cdFx0XHRbdmFsdWVdPVwic2VhcmNoVGV4dFwiIFxyXG5cdFx0XHRbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG5cdFx0XHQoZm9jdXMpPVwic2VhcmNoRm9jdXMgPSB0cnVlXCIgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoKVwiPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,113 +0,0 @@
1
- import { Directive, Input, HostListener } from '@angular/core';
2
- import { ConnectionPositionPair } from '@angular/cdk/overlay';
3
- import { CustomToolTipComponent } from './custom-tool-tip.component';
4
- import { ComponentPortal } from '@angular/cdk/portal';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/overlay";
7
- export class ToolTipRendererDirective {
8
- constructor(_overlay, _elementRef) {
9
- this._overlay = _overlay;
10
- this._elementRef = _elementRef;
11
- /**
12
- * This will be used to show tooltip or not
13
- * This can be used to show the tooltip conditionally
14
- */
15
- this.showToolTip = true;
16
- this.useCustom = false;
17
- }
18
- /**
19
- * Init life cycle event handler
20
- */
21
- ngOnInit() { }
22
- get refElement() {
23
- if (this.useCustom || this.customAnchor)
24
- return this.customAnchor;
25
- return this._elementRef;
26
- }
27
- /**
28
- * This method will be called whenever mouse enters in the Host element
29
- * i.e. where this directive is applied
30
- * This method will show the tooltip by instantiating the McToolTipComponent and attaching to the overlay
31
- */
32
- show() {
33
- if (this.refElement)
34
- this.closeToolTip();
35
- if (!this.showToolTip || (this.useCustom && !this.customAnchor)) {
36
- return;
37
- }
38
- const positionPairs = [
39
- new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, 0, 0, 'mat-tooltip-panel-above'),
40
- new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, 0, 0, 'mat-tooltip-panel-below')
41
- ];
42
- const positionStrategy = this._overlay.position()
43
- .flexibleConnectedTo(this.refElement)
44
- .withPositions(positionPairs)
45
- .withFlexibleDimensions(true)
46
- .withPush(true);
47
- this._overlayRef = this._overlay.create({
48
- panelClass: 'mat-tooltip-panel',
49
- scrollStrategy: this._overlay.scrollStrategies.close(),
50
- positionStrategy
51
- });
52
- // attach the component if it has not already attached to the overlay
53
- if (this._overlayRef && !this._overlayRef.hasAttached()) {
54
- const content = new ComponentPortal(CustomToolTipComponent);
55
- // todo check this
56
- const tooltipRef = this._overlayRef.attach(content);
57
- tooltipRef.instance.text = this.text;
58
- tooltipRef.instance.contentTemplate = this.contentTemplate;
59
- }
60
- }
61
- /**
62
- * This method will be called when mouse goes out of the host element
63
- * i.e. where this directive is applied
64
- * This method will close the tooltip by detaching the overlay from the view
65
- */
66
- hide() {
67
- this.closeToolTip();
68
- }
69
- /**
70
- * Destroy lifecycle event handler
71
- * This method will make sure to close the tooltip
72
- * It will be needed in case when app is navigating to different page
73
- * and user is still seeing the tooltip; In that case we do not want to hang around the
74
- * tooltip after the page [on which tooltip visible] is destroyed
75
- */
76
- ngOnDestroy() {
77
- this.closeToolTip();
78
- }
79
- /**
80
- * This method will close the tooltip by detaching the component from the overlay
81
- */
82
- closeToolTip() {
83
- if (this._overlayRef) {
84
- this._overlayRef.detach();
85
- }
86
- }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ToolTipRendererDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
88
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: ToolTipRendererDirective, selector: "[customToolTip]", inputs: { showToolTip: "showToolTip", text: ["customToolTip", "text"], contentTemplate: "contentTemplate", customAnchor: "customAnchor", useCustom: "useCustom" }, host: { listeners: { "mousemove": "show($event)", "mouseleave": "hide()" } }, ngImport: i0 }); }
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ToolTipRendererDirective, decorators: [{
91
- type: Directive,
92
- args: [{
93
- selector: '[customToolTip]'
94
- }]
95
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ElementRef }], propDecorators: { showToolTip: [{
96
- type: Input
97
- }], text: [{
98
- type: Input,
99
- args: [`customToolTip`]
100
- }], contentTemplate: [{
101
- type: Input
102
- }], customAnchor: [{
103
- type: Input
104
- }], useCustom: [{
105
- type: Input
106
- }], show: [{
107
- type: HostListener,
108
- args: ['mousemove', ['$event']]
109
- }], hide: [{
110
- type: HostListener,
111
- args: ['mouseleave']
112
- }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC10aXAtcmVuZGVyZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnR2LWJhc2UtY29udHJvbHMvc3JjL2xpYi9jdXN0b20tdG9vbC10aXAvdG9vbC10aXAtcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFtQyxZQUFZLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU10RCxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JqQyxZQUFvQixRQUFpQixFQUN6QixXQUF1QjtRQURmLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFoQm5DOzs7VUFHRTtRQUNPLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBUzVCLGNBQVMsR0FBYSxLQUFLLENBQUM7SUFHRSxDQUFDO0lBRXhDOztPQUVHO0lBQ0gsUUFBUSxLQUFLLENBQUM7SUFFZCxJQUFJLFVBQVU7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRDs7OztPQUlHO0lBRUgsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDOUQsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBNkI7WUFDNUMsSUFBSSxzQkFBc0IsQ0FDdEIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFDckMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUNoRCx5QkFBeUIsQ0FBQztZQUM5QixJQUFJLHNCQUFzQixDQUN0QixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUN4QyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQzdDLHlCQUF5QixDQUFDO1NBRWpDLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2FBQzVDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDcEMsYUFBYSxDQUFDLGFBQWEsQ0FBQzthQUM1QixzQkFBc0IsQ0FBQyxJQUFJLENBQUM7YUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDcEMsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDdEQsZ0JBQWdCO1NBQ25CLENBQUMsQ0FBQztRQUNILHFFQUFxRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM1RCxrQkFBa0I7WUFDbEIsTUFBTSxVQUFVLEdBQXlDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBUSxDQUFDO1lBQ2pHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDckMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFFSCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNLLFlBQVk7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQzs4R0FwR1Esd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7cUdBT1ksV0FBVztzQkFBbkIsS0FBSztnQkFHa0IsSUFBSTtzQkFBM0IsS0FBSzt1QkFBQyxlQUFlO2dCQUdiLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQW9CTixJQUFJO3NCQURILFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTZDckMsSUFBSTtzQkFESCxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgT25Jbml0LCBIb3N0TGlzdGVuZXIsIENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDdXN0b21Ub29sVGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdG9vbC10aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2N1c3RvbVRvb2xUaXBdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvb2xUaXBSZW5kZXJlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICAvKipcclxuICAgICogVGhpcyB3aWxsIGJlIHVzZWQgdG8gc2hvdyB0b29sdGlwIG9yIG5vdFxyXG4gICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNob3cgdGhlIHRvb2x0aXAgY29uZGl0aW9uYWxseVxyXG4gICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dUb29sVGlwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvL0lmIHRoaXMgaXMgc3BlY2lmaWVkIHRoZW4gc3BlY2lmaWVkIHRleHQgd2lsbCBiZSBzaG93biBpbiB0aGUgdG9vbHRpcFxyXG4gICAgQElucHV0KGBjdXN0b21Ub29sVGlwYCkgdGV4dDogc3RyaW5nO1xyXG5cclxuICAgIC8vSWYgdGhpcyBpcyBzcGVjaWZpZWQgdGhlbiBzcGVjaWZpZWQgdGVtcGxhdGUgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgdG9vbHRpcFxyXG4gICAgQElucHV0KCkgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUFuY2hvcj86IGFueTtcclxuICAgIEBJbnB1dCgpIHVzZUN1c3RvbT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdCBsaWZlIGN5Y2xlIGV2ZW50IGhhbmRsZXJcclxuICAgICAqL1xyXG4gICAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgICBnZXQgcmVmRWxlbWVudCgpIHtcclxuICAgICAgICBpZiAodGhpcy51c2VDdXN0b20gfHwgdGhpcy5jdXN0b21BbmNob3IpIHJldHVybiB0aGlzLmN1c3RvbUFuY2hvcjtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgbW91c2UgZW50ZXJzIGluIHRoZSBIb3N0IGVsZW1lbnRcclxuICAgICAqIGkuZS4gd2hlcmUgdGhpcyBkaXJlY3RpdmUgaXMgYXBwbGllZFxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBzaG93IHRoZSB0b29sdGlwIGJ5IGluc3RhbnRpYXRpbmcgdGhlIE1jVG9vbFRpcENvbXBvbmVudCBhbmQgYXR0YWNoaW5nIHRvIHRoZSBvdmVybGF5XHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScsIFsnJGV2ZW50J10pXHJcbiAgICBzaG93KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnJlZkVsZW1lbnQpIHRoaXMuY2xvc2VUb29sVGlwKCk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNob3dUb29sVGlwIHx8ICh0aGlzLnVzZUN1c3RvbSAmJiAhdGhpcy5jdXN0b21BbmNob3IpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uUGFpcnM6IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJbXSA9IFtcclxuICAgICAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXHJcbiAgICAgICAgICAgICAgICB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAndG9wJyB9LFxyXG4gICAgICAgICAgICAgICAgeyBvdmVybGF5WDogJ2NlbnRlcicsIG92ZXJsYXlZOiAnYm90dG9tJyB9LCAwLCAwLFxyXG4gICAgICAgICAgICAgICAgJ21hdC10b29sdGlwLXBhbmVsLWFib3ZlJyksXHJcbiAgICAgICAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxyXG4gICAgICAgICAgICAgICAgeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScgfSxcclxuICAgICAgICAgICAgICAgIHsgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSwgMCwgMCxcclxuICAgICAgICAgICAgICAgICdtYXQtdG9vbHRpcC1wYW5lbC1iZWxvdycpXHJcblxyXG4gICAgICAgIF07XHJcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKVxyXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLnJlZkVsZW1lbnQpXHJcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKHBvc2l0aW9uUGFpcnMpXHJcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKHRydWUpXHJcbiAgICAgICAgICAgIC53aXRoUHVzaCh0cnVlKTtcclxuXHJcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ21hdC10b29sdGlwLXBhbmVsJyxcclxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxyXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gYXR0YWNoIHRoZSBjb21wb25lbnQgaWYgaXQgaGFzIG5vdCBhbHJlYWR5IGF0dGFjaGVkIHRvIHRoZSBvdmVybGF5XHJcbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgIXRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xyXG4gICAgICAgICAgICBjb25zdCBjb250ZW50ID0gbmV3IENvbXBvbmVudFBvcnRhbChDdXN0b21Ub29sVGlwQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgLy8gdG9kbyBjaGVjayB0aGlzXHJcbiAgICAgICAgICAgIGNvbnN0IHRvb2x0aXBSZWY6IENvbXBvbmVudFJlZjxDdXN0b21Ub29sVGlwQ29tcG9uZW50PiA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKGNvbnRlbnQpIGFzIGFueTtcclxuICAgICAgICAgICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50ZXh0ID0gdGhpcy50ZXh0O1xyXG4gICAgICAgICAgICB0b29sdGlwUmVmLmluc3RhbmNlLmNvbnRlbnRUZW1wbGF0ZSA9IHRoaXMuY29udGVudFRlbXBsYXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIHdoZW4gbW91c2UgZ29lcyBvdXQgb2YgdGhlIGhvc3QgZWxlbWVudFxyXG4gICAgICogaS5lLiB3aGVyZSB0aGlzIGRpcmVjdGl2ZSBpcyBhcHBsaWVkXHJcbiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIGNsb3NlIHRoZSB0b29sdGlwIGJ5IGRldGFjaGluZyB0aGUgb3ZlcmxheSBmcm9tIHRoZSB2aWV3XHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxyXG4gICAgaGlkZSgpIHtcclxuICAgICAgICB0aGlzLmNsb3NlVG9vbFRpcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGVzdHJveSBsaWZlY3ljbGUgZXZlbnQgaGFuZGxlclxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBtYWtlIHN1cmUgdG8gY2xvc2UgdGhlIHRvb2x0aXBcclxuICAgICAqIEl0IHdpbGwgYmUgbmVlZGVkIGluIGNhc2Ugd2hlbiBhcHAgaXMgbmF2aWdhdGluZyB0byBkaWZmZXJlbnQgcGFnZVxyXG4gICAgICogYW5kIHVzZXIgaXMgc3RpbGwgc2VlaW5nIHRoZSB0b29sdGlwOyBJbiB0aGF0IGNhc2Ugd2UgZG8gbm90IHdhbnQgdG8gaGFuZyBhcm91bmQgdGhlXHJcbiAgICAgKiB0b29sdGlwIGFmdGVyIHRoZSBwYWdlIFtvbiB3aGljaCB0b29sdGlwIHZpc2libGVdIGlzIGRlc3Ryb3llZFxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmNsb3NlVG9vbFRpcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBjbG9zZSB0aGUgdG9vbHRpcCBieSBkZXRhY2hpbmcgdGhlIGNvbXBvbmVudCBmcm9tIHRoZSBvdmVybGF5XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2xvc2VUb29sVGlwKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,175 +0,0 @@
1
- import { Component, Input, SecurityContext } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/platform-browser";
4
- import * as i2 from "@angular/common";
5
- /**
6
- * list of default colors
7
- */
8
- export const defaultColors = [
9
- '#1abc9c',
10
- '#3498db',
11
- '#f1c40f',
12
- '#8e44ad',
13
- '#e74c3c',
14
- '#d35400',
15
- '#2c3e50',
16
- '#7f8c8d'
17
- ];
18
- export class AvatarComponent {
19
- get name() { return this._name; }
20
- set name(value) {
21
- this._name = value;
22
- this.avatarText = this.formTextAvatar(value);
23
- }
24
- ;
25
- ;
26
- get src() { return this._src; }
27
- ;
28
- set src(value) {
29
- this._src = value;
30
- this.avatarSrc = this.transformSrc(value);
31
- }
32
- constructor(sanitizer) {
33
- this.sanitizer = sanitizer;
34
- this.avatarText = null;
35
- this.size = 50;
36
- this.avatarSrc = null;
37
- this.round = true;
38
- this.cornerRadius = 0;
39
- this.textSizeRatio = 3;
40
- this.fgColor = '#FFF';
41
- this.style = {};
42
- this.avatarColors = defaultColors;
43
- this.avatarStyle = {};
44
- this.hostStyle = {};
45
- }
46
- transformSrc(stringInBase64) {
47
- if (!stringInBase64)
48
- return null;
49
- return this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, this.sanitizer.bypassSecurityTrustResourceUrl(stringInBase64));
50
- }
51
- formTextAvatar(val) {
52
- if (!val)
53
- return '?';
54
- const name = val.trim();
55
- const splitted = name.split(' ');
56
- if (splitted.length === 1) {
57
- if (name.length === 1) {
58
- return name[0];
59
- }
60
- return name[0] + name[1];
61
- }
62
- const length = Math.min(splitted.length, 3);
63
- splitted.length = length; // leave first 3 words top
64
- return splitted.map(it => it[0]).join('');
65
- }
66
- /**
67
- * Detect inputs change
68
- *
69
- * param {{ [propKey: string]: SimpleChange }} changes
70
- *
71
- * memberof AvatarComponent
72
- */
73
- ngOnChanges(changes) {
74
- // reinitialize the avatar component when a source property value has changed
75
- // the fallback system must be re-invoked with the new values.
76
- this.initializeAvatar();
77
- }
78
- getStyles() {
79
- if (!this.src) {
80
- this.avatarStyle = this.getInitialsStyle(this.avatarText);
81
- }
82
- else {
83
- this.avatarStyle = this.getImageStyle();
84
- }
85
- }
86
- /**
87
- * Initialize the avatar component and its fallback system
88
- */
89
- initializeAvatar() {
90
- if (!this.src && !this.name)
91
- return;
92
- this.getStyles();
93
- this.hostStyle = {
94
- width: this.size + 'px',
95
- height: this.size + 'px'
96
- };
97
- }
98
- /**
99
- *
100
- * returns initials style
101
- *
102
- */
103
- getInitialsStyle(avatarValue) {
104
- return {
105
- textAlign: 'center',
106
- borderRadius: this.round ? '100%' : this.cornerRadius + 'px',
107
- border: this.borderColor ? '1px solid ' + this.borderColor : '',
108
- textTransform: 'uppercase',
109
- color: this.fgColor,
110
- backgroundColor: this.bgColor
111
- ? this.bgColor
112
- : this.getRandomColor(avatarValue),
113
- font: Math.floor(+this.size / this.textSizeRatio) +
114
- 'px Helvetica, Arial, sans-serif',
115
- lineHeight: this.size + 'px',
116
- ...this.style
117
- };
118
- }
119
- /**
120
- *
121
- * returns image style
122
- */
123
- getImageStyle() {
124
- return {
125
- maxWidth: '100%',
126
- borderRadius: this.round ? '50%' : this.cornerRadius + 'px',
127
- border: this.borderColor ? '1px solid ' + this.borderColor : '',
128
- width: this.size + 'px',
129
- height: this.size + 'px',
130
- ...this.style,
131
- };
132
- }
133
- getRandomColor(avatarText) {
134
- if (!avatarText) {
135
- return 'transparent';
136
- }
137
- const asciiCodeSum = this.calculateAsciiCode(avatarText);
138
- return this.avatarColors[asciiCodeSum % this.avatarColors.length];
139
- }
140
- calculateAsciiCode(value) {
141
- return value
142
- .split('')
143
- .map(letter => letter.charCodeAt(0))
144
- .reduce((previous, current) => previous + current);
145
- }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: AvatarComponent, selector: "wm-avatar", inputs: { name: "name", size: "size", src: "src", value: "value", round: "round", cornerRadius: "cornerRadius", textSizeRatio: "textSizeRatio", bgColor: "bgColor", fgColor: "fgColor", borderColor: "borderColor", style: "style" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"avatar-container\" [ngStyle]=\"hostStyle\">\r\n <img *ngIf=\"avatarSrc; else textAvatar\" \r\n [src]=\"avatarSrc\" \r\n [width]=\"size\" \r\n [height]=\"size\" \r\n [ngStyle]=\"avatarStyle\"\r\n class=\"avatar-content\" loading=\"lazy\" />\r\n <ng-template #textAvatar>\r\n <div *ngIf=\"avatarText\" class=\"avatar-content\" [ngStyle]=\"avatarStyle\">\r\n {{ avatarText }}\r\n </div>\r\n </ng-template>\r\n</div>", styles: [":host{border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
148
- }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AvatarComponent, decorators: [{
150
- type: Component,
151
- args: [{ selector: 'wm-avatar', template: "<div class=\"avatar-container\" [ngStyle]=\"hostStyle\">\r\n <img *ngIf=\"avatarSrc; else textAvatar\" \r\n [src]=\"avatarSrc\" \r\n [width]=\"size\" \r\n [height]=\"size\" \r\n [ngStyle]=\"avatarStyle\"\r\n class=\"avatar-content\" loading=\"lazy\" />\r\n <ng-template #textAvatar>\r\n <div *ngIf=\"avatarText\" class=\"avatar-content\" [ngStyle]=\"avatarStyle\">\r\n {{ avatarText }}\r\n </div>\r\n </ng-template>\r\n</div>", styles: [":host{border-radius:50%}\n"] }]
152
- }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { name: [{
153
- type: Input
154
- }], size: [{
155
- type: Input
156
- }], src: [{
157
- type: Input
158
- }], value: [{
159
- type: Input
160
- }], round: [{
161
- type: Input
162
- }], cornerRadius: [{
163
- type: Input
164
- }], textSizeRatio: [{
165
- type: Input
166
- }], bgColor: [{
167
- type: Input
168
- }], fgColor: [{
169
- type: Input
170
- }], borderColor: [{
171
- type: Input
172
- }], style: [{
173
- type: Input
174
- }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvd20tYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL3dtLWF2YXRhci9hdmF0YXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxlQUFlLEVBQ2hCLE1BQU0sZUFBZSxDQUFDOzs7O0FBSXZCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0NBQ1YsQ0FBQztBQVFGLE1BQU0sT0FBTyxlQUFlO0lBSTFCLElBQVcsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEMsSUFBb0IsSUFBSSxDQUFDLEtBQW9CO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQUEsQ0FBQztJQUN5QyxDQUFDO0lBSTVDLElBQVcsR0FBRyxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3RDLElBQW9CLEdBQUcsQ0FBQyxLQUFvQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQVlELFlBQW9CLFNBQXVCO1FB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QUUsQ0FBQztZQUNoQixPQUFPLGFBQWEsQ0FBQztRQUN2QixDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBYTtRQUN0QyxPQUFPLEtBQUs7YUFDVCxLQUFLLENBQUMsRUFBRSxDQUFDO2FBQ1QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0FoSlUsZUFBZTtrR0FBZixlQUFlLDRTQ2hDNUIsZ2ZBWU07OzJGRG9CTyxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFdBQVc7aUZBU0QsSUFBSTtzQkFBdkIsS0FBSztnQkFJVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtjLEdBQUc7c0JBQXRCLEtBQUs7Z0JBSVUsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFNlY3VyaXR5Q29udGV4dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxudHlwZSBTdHlsZSA9IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XHJcblxyXG4vKipcclxuICogbGlzdCBvZiBkZWZhdWx0IGNvbG9yc1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb2xvcnMgPSBbXHJcbiAgJyMxYWJjOWMnLFxyXG4gICcjMzQ5OGRiJyxcclxuICAnI2YxYzQwZicsXHJcbiAgJyM4ZTQ0YWQnLFxyXG4gICcjZTc0YzNjJyxcclxuICAnI2QzNTQwMCcsXHJcbiAgJyMyYzNlNTAnLFxyXG4gICcjN2Y4YzhkJ1xyXG5dO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tYXZhdGFyJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuc2NzcyddLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIHByaXZhdGUgX25hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgcHVibGljIGF2YXRhclRleHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBnZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWU7IH1cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuYXZhdGFyVGV4dCA9IHRoaXMuZm9ybVRleHRBdmF0YXIodmFsdWUpO1xyXG4gIH07XHJcbiAgQElucHV0KCkgcHVibGljIHNpemU6IHN0cmluZyB8IG51bWJlciA9IDUwOztcclxuXHJcbiAgcHVibGljIGF2YXRhclNyYzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfc3JjOiBzdHJpbmcgfCBudWxsO1xyXG4gIHB1YmxpYyBnZXQgc3JjKCkgeyByZXR1cm4gdGhpcy5fc3JjIH07XHJcbiAgQElucHV0KCkgcHVibGljIHNldCBzcmModmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHRoaXMuX3NyYyA9IHZhbHVlO1xyXG4gICAgdGhpcy5hdmF0YXJTcmMgPSB0aGlzLnRyYW5zZm9ybVNyYyh2YWx1ZSk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZTogc3RyaW5nIHwgbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgcm91bmQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb3JuZXJSYWRpdXM6IHN0cmluZyB8IG51bWJlciA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIHRleHRTaXplUmF0aW8gPSAzO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBiZ0NvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIGZnQ29sb3IgPSAnI0ZGRic7XHJcbiAgQElucHV0KCkgcHVibGljIGJvcmRlckNvbG9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHVibGljIHN0eWxlOiBTdHlsZSA9IHt9O1xyXG5cclxuICBwdWJsaWMgYXZhdGFyQ29sb3JzOiBzdHJpbmdbXSA9IGRlZmF1bHRDb2xvcnM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNmb3JtU3JjKHN0cmluZ0luQmFzZTY0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFzdHJpbmdJbkJhc2U2NCkgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlJFU09VUkNFX1VSTCwgdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHN0cmluZ0luQmFzZTY0KSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvcm1UZXh0QXZhdGFyKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXZhbCkgcmV0dXJuICc/JztcclxuXHJcbiAgICBjb25zdCBuYW1lID0gdmFsLnRyaW0oKTtcclxuICAgIGNvbnN0IHNwbGl0dGVkID0gbmFtZS5zcGxpdCgnICcpO1xyXG5cclxuICAgIGlmIChzcGxpdHRlZC5sZW5ndGggPT09IDEpIHtcclxuICAgICAgaWYgKG5hbWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgcmV0dXJuIG5hbWVbMF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5hbWVbMF0gKyBuYW1lWzFdO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjb25zdCBsZW5ndGggPSBNYXRoLm1pbihzcGxpdHRlZC5sZW5ndGgsIDMpO1xyXG5cclxuICAgIHNwbGl0dGVkLmxlbmd0aCA9IGxlbmd0aDsgLy8gbGVhdmUgZmlyc3QgMyB3b3JkcyB0b3BcclxuICAgIHJldHVybiBzcGxpdHRlZC5tYXAoaXQgPT4gaXRbMF0pLmpvaW4oJycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGF2YXRhclN0eWxlOiBTdHlsZSA9IHt9O1xyXG4gIHB1YmxpYyBob3N0U3R5bGU6IFN0eWxlID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVjdCBpbnB1dHMgY2hhbmdlXHJcbiAgICpcclxuICAgKiBwYXJhbSB7eyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH19IGNoYW5nZXNcclxuICAgKlxyXG4gICAqIG1lbWJlcm9mIEF2YXRhckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvLyByZWluaXRpYWxpemUgdGhlIGF2YXRhciBjb21wb25lbnQgd2hlbiBhIHNvdXJjZSBwcm9wZXJ0eSB2YWx1ZSBoYXMgY2hhbmdlZFxyXG4gICAgLy8gdGhlIGZhbGxiYWNrIHN5c3RlbSBtdXN0IGJlIHJlLWludm9rZWQgd2l0aCB0aGUgbmV3IHZhbHVlcy5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZUF2YXRhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFN0eWxlcygpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuYXZhdGFyU3R5bGUgPSB0aGlzLmdldEluaXRpYWxzU3R5bGUodGhpcy5hdmF0YXJUZXh0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYXZhdGFyU3R5bGUgPSB0aGlzLmdldEltYWdlU3R5bGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIGF2YXRhciBjb21wb25lbnQgYW5kIGl0cyBmYWxsYmFjayBzeXN0ZW1cclxuICAgKi9cclxuICBwcml2YXRlIGluaXRpYWxpemVBdmF0YXIoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc3JjICYmICF0aGlzLm5hbWUpIHJldHVyblxyXG4gICAgdGhpcy5nZXRTdHlsZXMoKTtcclxuICAgIHRoaXMuaG9zdFN0eWxlID0ge1xyXG4gICAgICB3aWR0aDogdGhpcy5zaXplICsgJ3B4JyxcclxuICAgICAgaGVpZ2h0OiB0aGlzLnNpemUgKyAncHgnXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiByZXR1cm5zIGluaXRpYWxzIHN0eWxlXHJcbiAgICpcclxuICAgKi9cclxuICBwcml2YXRlIGdldEluaXRpYWxzU3R5bGUoYXZhdGFyVmFsdWU6IHN0cmluZyk6IFN0eWxlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXHJcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5yb3VuZCA/ICcxMDAlJyA6IHRoaXMuY29ybmVyUmFkaXVzICsgJ3B4JyxcclxuICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlckNvbG9yID8gJzFweCBzb2xpZCAnICsgdGhpcy5ib3JkZXJDb2xvciA6ICcnLFxyXG4gICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcclxuICAgICAgY29sb3I6IHRoaXMuZmdDb2xvcixcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLmJnQ29sb3JcclxuICAgICAgICA/IHRoaXMuYmdDb2xvclxyXG4gICAgICAgIDogdGhpcy5nZXRSYW5kb21Db2xvcihhdmF0YXJWYWx1ZSksXHJcbiAgICAgIGZvbnQ6XHJcbiAgICAgICAgTWF0aC5mbG9vcigrdGhpcy5zaXplIC8gdGhpcy50ZXh0U2l6ZVJhdGlvKSArXHJcbiAgICAgICAgJ3B4IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYnLFxyXG4gICAgICBsaW5lSGVpZ2h0OiB0aGlzLnNpemUgKyAncHgnLFxyXG4gICAgICAuLi50aGlzLnN0eWxlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiByZXR1cm5zIGltYWdlIHN0eWxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRJbWFnZVN0eWxlKCk6IFN0eWxlIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1heFdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5yb3VuZCA/ICc1MCUnIDogdGhpcy5jb3JuZXJSYWRpdXMgKyAncHgnLFxyXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyQ29sb3IgPyAnMXB4IHNvbGlkICcgKyB0aGlzLmJvcmRlckNvbG9yIDogJycsXHJcbiAgICAgIHdpZHRoOiB0aGlzLnNpemUgKyAncHgnLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMuc2l6ZSArICdweCcsXHJcbiAgICAgIC4uLnRoaXMuc3R5bGUsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSYW5kb21Db2xvcihhdmF0YXJUZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFhdmF0YXJUZXh0KSB7XHJcbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXNjaWlDb2RlU3VtID0gdGhpcy5jYWxjdWxhdGVBc2NpaUNvZGUoYXZhdGFyVGV4dCk7XHJcbiAgICByZXR1cm4gdGhpcy5hdmF0YXJDb2xvcnNbYXNjaWlDb2RlU3VtICUgdGhpcy5hdmF0YXJDb2xvcnMubGVuZ3RoXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FsY3VsYXRlQXNjaWlDb2RlKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHZhbHVlXHJcbiAgICAgIC5zcGxpdCgnJylcclxuICAgICAgLm1hcChsZXR0ZXIgPT4gbGV0dGVyLmNoYXJDb2RlQXQoMCkpXHJcbiAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiBwcmV2aW91cyArIGN1cnJlbnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImF2YXRhci1jb250YWluZXJcIiBbbmdTdHlsZV09XCJob3N0U3R5bGVcIj5cclxuICAgIDxpbWcgKm5nSWY9XCJhdmF0YXJTcmM7IGVsc2UgdGV4dEF2YXRhclwiIFxyXG4gICAgICAgIFtzcmNdPVwiYXZhdGFyU3JjXCIgXHJcbiAgICAgICAgW3dpZHRoXT1cInNpemVcIiBcclxuICAgICAgICBbaGVpZ2h0XT1cInNpemVcIiBcclxuICAgICAgICBbbmdTdHlsZV09XCJhdmF0YXJTdHlsZVwiXHJcbiAgICAgICAgY2xhc3M9XCJhdmF0YXItY29udGVudFwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dEF2YXRhcj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyVGV4dFwiIGNsYXNzPVwiYXZhdGFyLWNvbnRlbnRcIiBbbmdTdHlsZV09XCJhdmF0YXJTdHlsZVwiPlxyXG4gICAgICAgICAgICB7eyBhdmF0YXJUZXh0IH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj4iXX0=