btv-base-controls 0.1.24 → 0.1.25

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 (71) hide show
  1. package/{esm2020 → esm2022}/btv-base-controls.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/basic.module.mjs +64 -64
  3. package/esm2022/lib/blink-message/blink-message.component.mjs +54 -0
  4. package/{esm2020 → esm2022}/lib/btv-icon-button/btv-counter-button.mjs +47 -47
  5. package/esm2022/lib/btv-icon-button/btv-icon-button.component.mjs +89 -0
  6. package/esm2022/lib/btv-progress/btv-progress.component.mjs +71 -0
  7. package/esm2022/lib/btv-search/btv-search.component.mjs +82 -0
  8. package/{esm2020 → esm2022}/lib/busy-indicator/busy-indicator.component.mjs +16 -16
  9. package/{esm2020 → esm2022}/lib/custom-tool-tip/custom-tool-tip.component.mjs +34 -34
  10. package/esm2022/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +119 -0
  11. package/{esm2020 → esm2022}/lib/illustration/illustration.component.mjs +17 -17
  12. package/esm2022/lib/wm-avatar/avatar.component.mjs +175 -0
  13. package/{esm2020 → esm2022}/lib/wm-back-btn/wm-back-btn.component.mjs +26 -26
  14. package/{esm2020 → esm2022}/lib/wm-beta-text/wm-beta-text.component.mjs +19 -19
  15. package/{esm2020 → esm2022}/lib/wm-info/info-models.mjs +13 -13
  16. package/esm2022/lib/wm-info/wm-info.component.mjs +239 -0
  17. package/{esm2020 → esm2022}/lib/wm-info-card/wm-info-card.component.mjs +23 -23
  18. package/{esm2020 → esm2022}/lib/wm-no-content/wm-no-content.component.mjs +30 -30
  19. package/esm2022/lib/wm-panel-bar/wm-panel-bar.component.mjs +78 -0
  20. package/esm2022/lib/wm-scalable-div/scalable-div.component.mjs +105 -0
  21. package/esm2022/lib/wm-spinner/wm-spinner.component.mjs +135 -0
  22. package/{esm2020 → esm2022}/lib/wm-state-icon/wm-state-icon.component.mjs +18 -18
  23. package/{esm2020 → esm2022}/lib/wm-tag/wm-tag.component.mjs +28 -28
  24. package/esm2022/lib/wm-tamplate-image/wm-template-image.component.mjs +71 -0
  25. package/{esm2020 → esm2022}/lib/wm-toggle/wm-toggle.component.mjs +31 -31
  26. package/{esm2020 → esm2022}/models/guidExtension.mjs +14 -14
  27. package/{esm2020 → esm2022}/public-api.mjs +27 -27
  28. package/{fesm2020 → fesm2022}/btv-base-controls.mjs +1436 -1430
  29. package/fesm2022/btv-base-controls.mjs.map +1 -0
  30. package/index.d.ts +5 -5
  31. package/lib/basic.module.d.ts +33 -33
  32. package/lib/blink-message/blink-message.component.d.ts +20 -20
  33. package/lib/btv-icon-button/btv-counter-button.d.ts +12 -12
  34. package/lib/btv-icon-button/btv-icon-button.component.d.ts +30 -30
  35. package/lib/btv-progress/btv-progress.component.d.ts +20 -20
  36. package/lib/btv-search/btv-search.component.d.ts +31 -31
  37. package/lib/busy-indicator/busy-indicator.component.d.ts +7 -7
  38. package/lib/custom-tool-tip/custom-tool-tip.component.d.ts +35 -35
  39. package/lib/custom-tool-tip/tool-tip-renderer.directive.d.ts +49 -49
  40. package/lib/illustration/illustration.component.d.ts +10 -10
  41. package/lib/wm-avatar/avatar.component.d.ts +63 -63
  42. package/lib/wm-back-btn/wm-back-btn.component.d.ts +10 -10
  43. package/lib/wm-beta-text/wm-beta-text.component.d.ts +7 -7
  44. package/lib/wm-info/info-models.d.ts +21 -21
  45. package/lib/wm-info/wm-info.component.d.ts +34 -34
  46. package/lib/wm-info-card/wm-info-card.component.d.ts +9 -9
  47. package/lib/wm-no-content/wm-no-content.component.d.ts +11 -11
  48. package/lib/wm-panel-bar/wm-panel-bar.component.d.ts +25 -25
  49. package/lib/wm-scalable-div/scalable-div.component.d.ts +24 -24
  50. package/lib/wm-spinner/wm-spinner.component.d.ts +37 -37
  51. package/lib/wm-state-icon/wm-state-icon.component.d.ts +9 -9
  52. package/lib/wm-tag/wm-tag.component.d.ts +10 -10
  53. package/lib/wm-tamplate-image/wm-template-image.component.d.ts +49 -49
  54. package/lib/wm-toggle/wm-toggle.component.d.ts +11 -11
  55. package/models/guidExtension.d.ts +5 -5
  56. package/package.json +5 -11
  57. package/public-api.d.ts +24 -24
  58. package/esm2020/lib/blink-message/blink-message.component.mjs +0 -54
  59. package/esm2020/lib/btv-icon-button/btv-icon-button.component.mjs +0 -89
  60. package/esm2020/lib/btv-progress/btv-progress.component.mjs +0 -71
  61. package/esm2020/lib/btv-search/btv-search.component.mjs +0 -82
  62. package/esm2020/lib/custom-tool-tip/tool-tip-renderer.directive.mjs +0 -113
  63. package/esm2020/lib/wm-avatar/avatar.component.mjs +0 -175
  64. package/esm2020/lib/wm-info/wm-info.component.mjs +0 -239
  65. package/esm2020/lib/wm-panel-bar/wm-panel-bar.component.mjs +0 -78
  66. package/esm2020/lib/wm-scalable-div/scalable-div.component.mjs +0 -105
  67. package/esm2020/lib/wm-spinner/wm-spinner.component.mjs +0 -135
  68. package/esm2020/lib/wm-tamplate-image/wm-template-image.component.mjs +0 -71
  69. package/fesm2015/btv-base-controls.mjs +0 -1482
  70. package/fesm2015/btv-base-controls.mjs.map +0 -1
  71. package/fesm2020/btv-base-controls.mjs.map +0 -1
@@ -0,0 +1,82 @@
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,16 +1,16 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class BusyIndicatorComponent {
5
- }
6
- BusyIndicatorComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BusyIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- BusyIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BusyIndicatorComponent, selector: "wm-busy-indicator", inputs: { busy: "busy", long: "long" }, ngImport: i0, template: "<div class=\"load-snake-wrap\" *ngIf=\"busy\" [ngClass]=\"{'long-snake-wrap': long}\">\r\n <span class=\"snake-field\" ></span>\r\n <span class=\"snake\" [ngClass]=\"{'longSnake': long}\">\r\n <span class=\"snake-shadow\" [ngClass]=\"{'longRotate': long}\"></span>\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}}.load-snake-wrap{width:120px;height:12px;overflow:hidden;align-self:flex-end}.snake-field{display:block;width:100%;height:2px;background:#22252C;top:5px;position:relative}.snake{display:inline-block;width:80px;height:2px;background:#7F868C;animation-play-state:running;position:relative;top:-9px;animation:snakeMove 2s linear 0s infinite}.snake-shadow{display:inline-block;width:40px;height:8px;position:absolute;margin-top:-3px;animation:rotate 2s linear 0s infinite;animation-play-state:running;border-radius:25%}.long-snake-wrap{width:400px}.longSnake{animation:snakeLongMove 3s linear 0s infinite}.longRotate{animation:rotate 3s linear 0s infinite}@keyframes snakeMove{0%{left:-80px}50%{left:200px}to{left:-200px}}@keyframes snakeLongMove{0%{left:-80px}50%{left:440px}to{left:-200px}}@keyframes rotate{0%{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(152,141,103,.4) 100%);right:0}to{background:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(152,141,103,.4) 100%);left:0;right:unset}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BusyIndicatorComponent, decorators: [{
9
- type: Component,
10
- args: [{ selector: 'wm-busy-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"load-snake-wrap\" *ngIf=\"busy\" [ngClass]=\"{'long-snake-wrap': long}\">\r\n <span class=\"snake-field\" ></span>\r\n <span class=\"snake\" [ngClass]=\"{'longSnake': long}\">\r\n <span class=\"snake-shadow\" [ngClass]=\"{'longRotate': long}\"></span>\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}}.load-snake-wrap{width:120px;height:12px;overflow:hidden;align-self:flex-end}.snake-field{display:block;width:100%;height:2px;background:#22252C;top:5px;position:relative}.snake{display:inline-block;width:80px;height:2px;background:#7F868C;animation-play-state:running;position:relative;top:-9px;animation:snakeMove 2s linear 0s infinite}.snake-shadow{display:inline-block;width:40px;height:8px;position:absolute;margin-top:-3px;animation:rotate 2s linear 0s infinite;animation-play-state:running;border-radius:25%}.long-snake-wrap{width:400px}.longSnake{animation:snakeLongMove 3s linear 0s infinite}.longRotate{animation:rotate 3s linear 0s infinite}@keyframes snakeMove{0%{left:-80px}50%{left:200px}to{left:-200px}}@keyframes snakeLongMove{0%{left:-80px}50%{left:440px}to{left:-200px}}@keyframes rotate{0%{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(152,141,103,.4) 100%);right:0}to{background:linear-gradient(to left,rgba(0,0,0,0) 0%,rgba(152,141,103,.4) 100%);left:0;right:unset}}\n"] }]
11
- }], propDecorators: { busy: [{
12
- type: Input
13
- }], long: [{
14
- type: Input
15
- }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnR2LWJhc2UtY29udHJvbHMvc3JjL2xpYi9idXN5LWluZGljYXRvci9idXN5LWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2J1c3ktaW5kaWNhdG9yL2J1c3ktaW5kaWNhdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRSxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO3VHQUF0QixzQkFBc0IsaUdDUm5DLGdUQUtNOzJGREdPLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFJL0IsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tYnVzeS1pbmRpY2F0b3InLFxyXG4gIHN0eWxlVXJsczogWycuL2J1c3ktaW5kaWNhdG9yLnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnVzeS1pbmRpY2F0b3IuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1c3lJbmRpY2F0b3JDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgYnVzeTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9uZzogYm9vbGVhbjtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibG9hZC1zbmFrZS13cmFwXCIgKm5nSWY9XCJidXN5XCIgW25nQ2xhc3NdPVwieydsb25nLXNuYWtlLXdyYXAnOiBsb25nfVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzbmFrZS1maWVsZFwiID48L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNuYWtlXCIgW25nQ2xhc3NdPVwieydsb25nU25ha2UnOiBsb25nfVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic25ha2Utc2hhZG93XCIgW25nQ2xhc3NdPVwieydsb25nUm90YXRlJzogbG9uZ31cIj48L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbjwvZGl2PiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class BusyIndicatorComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BusyIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BusyIndicatorComponent, selector: "wm-busy-indicator", inputs: { busy: "busy", long: "long" }, ngImport: i0, template: "<div class=\"load-snake-wrap\" *ngIf=\"busy\" [ngClass]=\"{'long-snake-wrap': long}\">\r\n <span class=\"snake-field\" ></span>\r\n <span class=\"snake\" [ngClass]=\"{'longSnake': long}\">\r\n <span class=\"snake-shadow\" [ngClass]=\"{'longRotate': long}\"></span>\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}}.load-snake-wrap{width:120px;height:12px;overflow:hidden;align-self:flex-end}.snake-field{display:block;width:100%;height:2px;background:#22252c;top:5px;position:relative}.snake{display:inline-block;width:80px;height:2px;background:#7f868c;animation-play-state:running;position:relative;top:-9px;animation:snakeMove 2s linear 0s infinite}.snake-shadow{display:inline-block;width:40px;height:8px;position:absolute;margin-top:-3px;animation:rotate 2s linear 0s infinite;animation-play-state:running;border-radius:25%}.long-snake-wrap{width:400px}.longSnake{animation:snakeLongMove 3s linear 0s infinite}.longRotate{animation:rotate 3s linear 0s infinite}@keyframes snakeMove{0%{left:-80px}50%{left:200px}to{left:-200px}}@keyframes snakeLongMove{0%{left:-80px}50%{left:440px}to{left:-200px}}@keyframes rotate{0%{background:linear-gradient(to right,#0000,#988d6766);right:0}to{background:linear-gradient(to left,#0000,#988d6766);left:0;right:unset}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BusyIndicatorComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'wm-busy-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"load-snake-wrap\" *ngIf=\"busy\" [ngClass]=\"{'long-snake-wrap': long}\">\r\n <span class=\"snake-field\" ></span>\r\n <span class=\"snake\" [ngClass]=\"{'longSnake': long}\">\r\n <span class=\"snake-shadow\" [ngClass]=\"{'longRotate': long}\"></span>\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}}.load-snake-wrap{width:120px;height:12px;overflow:hidden;align-self:flex-end}.snake-field{display:block;width:100%;height:2px;background:#22252c;top:5px;position:relative}.snake{display:inline-block;width:80px;height:2px;background:#7f868c;animation-play-state:running;position:relative;top:-9px;animation:snakeMove 2s linear 0s infinite}.snake-shadow{display:inline-block;width:40px;height:8px;position:absolute;margin-top:-3px;animation:rotate 2s linear 0s infinite;animation-play-state:running;border-radius:25%}.long-snake-wrap{width:400px}.longSnake{animation:snakeLongMove 3s linear 0s infinite}.longRotate{animation:rotate 3s linear 0s infinite}@keyframes snakeMove{0%{left:-80px}50%{left:200px}to{left:-200px}}@keyframes snakeLongMove{0%{left:-80px}50%{left:440px}to{left:-200px}}@keyframes rotate{0%{background:linear-gradient(to right,#0000,#988d6766);right:0}to{background:linear-gradient(to left,#0000,#988d6766);left:0;right:unset}}\n"] }]
11
+ }], propDecorators: { busy: [{
12
+ type: Input
13
+ }], long: [{
14
+ type: Input
15
+ }] } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS1pbmRpY2F0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnR2LWJhc2UtY29udHJvbHMvc3JjL2xpYi9idXN5LWluZGljYXRvci9idXN5LWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2J1c3ktaW5kaWNhdG9yL2J1c3ktaW5kaWNhdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExRSxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQixpR0NSbkMsZ1RBS007OzJGREdPLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFJL0IsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd20tYnVzeS1pbmRpY2F0b3InLFxyXG4gIHN0eWxlVXJsczogWycuL2J1c3ktaW5kaWNhdG9yLnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnVzeS1pbmRpY2F0b3IuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1c3lJbmRpY2F0b3JDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgYnVzeTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9uZzogYm9vbGVhbjtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibG9hZC1zbmFrZS13cmFwXCIgKm5nSWY9XCJidXN5XCIgW25nQ2xhc3NdPVwieydsb25nLXNuYWtlLXdyYXAnOiBsb25nfVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzbmFrZS1maWVsZFwiID48L3NwYW4+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNuYWtlXCIgW25nQ2xhc3NdPVwieydsb25nU25ha2UnOiBsb25nfVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic25ha2Utc2hhZG93XCIgW25nQ2xhc3NdPVwieydsb25nUm90YXRlJzogbG9uZ31cIj48L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbjwvZGl2PiJdfQ==
@@ -1,34 +1,34 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- /**
5
- * This component will be used to show custom tooltip
6
- *
7
- * This component will be rendered using OverlayModule of angular material
8
- * This component will be rendered by directive on an Overlay
9
- *
10
- * CONSUMER will not be using this component directly
11
- * This component will be hosted in an overlay by ToolTipRenderer directive
12
- * This component exposes two properties. These two properties will be filled by ToolTipRenderer directive
13
- * 1. text - This is a simple string which is to be shown in the tooltip; This will be injected in the ToolTipRenderer directive
14
- * by the consumer
15
- * 2. contentTemplate - This gives finer control on the content to be shown in the tooltip
16
- *
17
- * NOTE - ONLY one should be specified; If BOTH are specified then "template" will be rendered and "text" will be ignored
18
- */
19
- export class CustomToolTipComponent {
20
- constructor() { }
21
- ngOnInit() {
22
- }
23
- }
24
- CustomToolTipComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CustomToolTipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- CustomToolTipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: CustomToolTipComponent, selector: "app-custom-tool-tip", inputs: { text: "text", contentTemplate: "contentTemplate" }, ngImport: i0, template: "<div class=\"tooltip-container\">\r\n <div class=\"mat-tooltip\">\r\n <ng-template #simpleText >\r\n {{text}}\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate || simpleText\">\r\n </ng-container>\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}}.tooltip-container{position:relative;box-sizing:border-box;box-shadow:0 16px 16px -1px #051d391a;border-radius:4px;-webkit-appearance:none}.tooltip-container:before{content:\"\";display:block;width:0;height:0;border-style:solid;border-width:6px;border-color:transparent;left:50%;bottom:-12px;margin-left:-6.0625px;border-top-color:var(--pageBackgroundColor);position:absolute}.mat-tooltip{font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;margin:0;transform-origin:center top;box-shadow:none;background:var(--pageBackgroundColor);color:var(--strongFontColor);border-radius:2px;z-index:12000;border-style:solid;border-width:0;padding:5px 5px 5px 6px;background-repeat:repeat-x;min-width:20px;text-align:center;font-size:14px;transform:scale(1)!important}.mat-tooltip.mat-tooltip-show{animation:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CustomToolTipComponent, decorators: [{
27
- type: Component,
28
- args: [{ selector: 'app-custom-tool-tip', template: "<div class=\"tooltip-container\">\r\n <div class=\"mat-tooltip\">\r\n <ng-template #simpleText >\r\n {{text}}\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate || simpleText\">\r\n </ng-container>\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}}.tooltip-container{position:relative;box-sizing:border-box;box-shadow:0 16px 16px -1px #051d391a;border-radius:4px;-webkit-appearance:none}.tooltip-container:before{content:\"\";display:block;width:0;height:0;border-style:solid;border-width:6px;border-color:transparent;left:50%;bottom:-12px;margin-left:-6.0625px;border-top-color:var(--pageBackgroundColor);position:absolute}.mat-tooltip{font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;margin:0;transform-origin:center top;box-shadow:none;background:var(--pageBackgroundColor);color:var(--strongFontColor);border-radius:2px;z-index:12000;border-style:solid;border-width:0;padding:5px 5px 5px 6px;background-repeat:repeat-x;min-width:20px;text-align:center;font-size:14px;transform:scale(1)!important}.mat-tooltip.mat-tooltip-show{animation:none}\n"] }]
29
- }], ctorParameters: function () { return []; }, propDecorators: { text: [{
30
- type: Input
31
- }], contentTemplate: [{
32
- type: Input
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRvb2wtdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvY3VzdG9tLXRvb2wtdGlwL2N1c3RvbS10b29sLXRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2N1c3RvbS10b29sLXRpcC9jdXN0b20tdG9vbC10aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQUV0RTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOzttSEFuQlUsc0JBQXNCO3VHQUF0QixzQkFBc0IseUhDdEJuQyxxUkFRUTsyRkRjSyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCOzBFQVN0QixJQUFJO3NCQUFaLEtBQUs7Z0JBU0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3aWxsIGJlIHVzZWQgdG8gc2hvdyBjdXN0b20gdG9vbHRpcFxyXG4gKiBcclxuICogVGhpcyBjb21wb25lbnQgd2lsbCBiZSByZW5kZXJlZCB1c2luZyBPdmVybGF5TW9kdWxlIG9mIGFuZ3VsYXIgbWF0ZXJpYWxcclxuICogVGhpcyBjb21wb25lbnQgd2lsbCBiZSByZW5kZXJlZCBieSBkaXJlY3RpdmUgb24gYW4gT3ZlcmxheVxyXG4gKiBcclxuICogQ09OU1VNRVIgd2lsbCBub3QgYmUgdXNpbmcgdGhpcyBjb21wb25lbnQgZGlyZWN0bHlcclxuICogVGhpcyBjb21wb25lbnQgd2lsbCBiZSBob3N0ZWQgaW4gYW4gb3ZlcmxheSBieSBUb29sVGlwUmVuZGVyZXIgZGlyZWN0aXZlXHJcbiAqIFRoaXMgY29tcG9uZW50IGV4cG9zZXMgdHdvIHByb3BlcnRpZXMuIFRoZXNlIHR3byBwcm9wZXJ0aWVzIHdpbGwgYmUgZmlsbGVkIGJ5IFRvb2xUaXBSZW5kZXJlciBkaXJlY3RpdmVcclxuICogMS4gdGV4dCAtIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIHdoaWNoIGlzIHRvIGJlIHNob3duIGluIHRoZSB0b29sdGlwOyBUaGlzIHdpbGwgYmUgaW5qZWN0ZWQgaW4gdGhlIFRvb2xUaXBSZW5kZXJlciBkaXJlY3RpdmVcclxuICogICAgYnkgdGhlIGNvbnN1bWVyXHJcbiAqIDIuIGNvbnRlbnRUZW1wbGF0ZSAtIFRoaXMgZ2l2ZXMgZmluZXIgY29udHJvbCBvbiB0aGUgY29udGVudCB0byBiZSBzaG93biBpbiB0aGUgdG9vbHRpcFxyXG4gKiBcclxuICogTk9URSAtIE9OTFkgb25lIHNob3VsZCBiZSBzcGVjaWZpZWQ7IElmIEJPVEggYXJlIHNwZWNpZmllZCB0aGVuIFwidGVtcGxhdGVcIiB3aWxsIGJlIHJlbmRlcmVkIGFuZCBcInRleHRcIiB3aWxsIGJlIGlnbm9yZWRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS10b29sLXRpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS10b29sLXRpcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXRvb2wtdGlwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbVRvb2xUaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGlzIHNpbXBsZSB0ZXh0IHdoaWNoIGlzIHRvIGJlIHNob3duIGluIHRoZSB0b29sdGlwXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIHByb3ZpZGVzIGZpbmVyIGNvbnRyb2wgb24gdGhlIGNvbnRlbnQgdG8gYmUgdmlzaWJsZSBvbiB0aGUgdG9vbHRpcFxyXG4gICAqIFRoaXMgdGVtcGxhdGUgd2lsbCBiZSBpbmplY3RlZCBpbiBNY1Rvb2xUaXBSZW5kZXJlciBkaXJlY3RpdmUgaW4gdGhlIGNvbnN1bWVyIHRlbXBsYXRlXHJcbiAgICogPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cclxuICAgKiAgY29udGVudC4uLi4uXHJcbiAgICogPC9uZy10ZW1wbGF0ZT5cclxuICAgKi9cclxuICBASW5wdXQoKSBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWF0LXRvb2x0aXBcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNzaW1wbGVUZXh0ID5cclxuICAgICAgICB7e3RleHR9fVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlIHx8IHNpbXBsZVRleHRcIj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4iXX0=
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ /**
5
+ * This component will be used to show custom tooltip
6
+ *
7
+ * This component will be rendered using OverlayModule of angular material
8
+ * This component will be rendered by directive on an Overlay
9
+ *
10
+ * CONSUMER will not be using this component directly
11
+ * This component will be hosted in an overlay by ToolTipRenderer directive
12
+ * This component exposes two properties. These two properties will be filled by ToolTipRenderer directive
13
+ * 1. text - This is a simple string which is to be shown in the tooltip; This will be injected in the ToolTipRenderer directive
14
+ * by the consumer
15
+ * 2. contentTemplate - This gives finer control on the content to be shown in the tooltip
16
+ *
17
+ * NOTE - ONLY one should be specified; If BOTH are specified then "template" will be rendered and "text" will be ignored
18
+ */
19
+ export class CustomToolTipComponent {
20
+ constructor() { }
21
+ ngOnInit() {
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CustomToolTipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: CustomToolTipComponent, selector: "app-custom-tool-tip", inputs: { text: "text", contentTemplate: "contentTemplate" }, ngImport: i0, template: "<div class=\"tooltip-container\">\r\n <div class=\"mat-tooltip\">\r\n <ng-template #simpleText >\r\n {{text}}\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate || simpleText\">\r\n </ng-container>\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}}.tooltip-container{position:relative;box-sizing:border-box;box-shadow:0 16px 16px -1px #051d391a;border-radius:4px;-webkit-appearance:none}.tooltip-container:before{content:\"\";display:block;width:0;height:0;border-style:solid;border-width:6px;border-color:transparent;left:50%;bottom:-12px;margin-left:-6.0625px;border-top-color:var(--pageBackgroundColor);position:absolute}.mat-tooltip{font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;margin:0;transform-origin:center top;box-shadow:none;background:var(--pageBackgroundColor);color:var(--strongFontColor);border-radius:2px;z-index:12000;border-style:solid;border-width:0;padding:5px 5px 5px 6px;background-repeat:repeat-x;min-width:20px;text-align:center;font-size:14px;transform:scale(1)!important}.mat-tooltip.mat-tooltip-show{animation:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CustomToolTipComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'app-custom-tool-tip', template: "<div class=\"tooltip-container\">\r\n <div class=\"mat-tooltip\">\r\n <ng-template #simpleText >\r\n {{text}}\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate || simpleText\">\r\n </ng-container>\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}}.tooltip-container{position:relative;box-sizing:border-box;box-shadow:0 16px 16px -1px #051d391a;border-radius:4px;-webkit-appearance:none}.tooltip-container:before{content:\"\";display:block;width:0;height:0;border-style:solid;border-width:6px;border-color:transparent;left:50%;bottom:-12px;margin-left:-6.0625px;border-top-color:var(--pageBackgroundColor);position:absolute}.mat-tooltip{font-family:Inter,Verdana,Geneva,Tahoma,sans-serif;margin:0;transform-origin:center top;box-shadow:none;background:var(--pageBackgroundColor);color:var(--strongFontColor);border-radius:2px;z-index:12000;border-style:solid;border-width:0;padding:5px 5px 5px 6px;background-repeat:repeat-x;min-width:20px;text-align:center;font-size:14px;transform:scale(1)!important}.mat-tooltip.mat-tooltip-show{animation:none}\n"] }]
29
+ }], ctorParameters: () => [], propDecorators: { text: [{
30
+ type: Input
31
+ }], contentTemplate: [{
32
+ type: Input
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRvb2wtdGlwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J0di1iYXNlLWNvbnRyb2xzL3NyYy9saWIvY3VzdG9tLXRvb2wtdGlwL2N1c3RvbS10b29sLXRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idHYtYmFzZS1jb250cm9scy9zcmMvbGliL2N1c3RvbS10b29sLXRpcC9jdXN0b20tdG9vbC10aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQUV0RTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDOzhHQW5CVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix5SEN0Qm5DLHFSQVFROzsyRkRjSyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCO3dEQVN0QixJQUFJO3NCQUFaLEtBQUs7Z0JBU0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3aWxsIGJlIHVzZWQgdG8gc2hvdyBjdXN0b20gdG9vbHRpcFxyXG4gKiBcclxuICogVGhpcyBjb21wb25lbnQgd2lsbCBiZSByZW5kZXJlZCB1c2luZyBPdmVybGF5TW9kdWxlIG9mIGFuZ3VsYXIgbWF0ZXJpYWxcclxuICogVGhpcyBjb21wb25lbnQgd2lsbCBiZSByZW5kZXJlZCBieSBkaXJlY3RpdmUgb24gYW4gT3ZlcmxheVxyXG4gKiBcclxuICogQ09OU1VNRVIgd2lsbCBub3QgYmUgdXNpbmcgdGhpcyBjb21wb25lbnQgZGlyZWN0bHlcclxuICogVGhpcyBjb21wb25lbnQgd2lsbCBiZSBob3N0ZWQgaW4gYW4gb3ZlcmxheSBieSBUb29sVGlwUmVuZGVyZXIgZGlyZWN0aXZlXHJcbiAqIFRoaXMgY29tcG9uZW50IGV4cG9zZXMgdHdvIHByb3BlcnRpZXMuIFRoZXNlIHR3byBwcm9wZXJ0aWVzIHdpbGwgYmUgZmlsbGVkIGJ5IFRvb2xUaXBSZW5kZXJlciBkaXJlY3RpdmVcclxuICogMS4gdGV4dCAtIFRoaXMgaXMgYSBzaW1wbGUgc3RyaW5nIHdoaWNoIGlzIHRvIGJlIHNob3duIGluIHRoZSB0b29sdGlwOyBUaGlzIHdpbGwgYmUgaW5qZWN0ZWQgaW4gdGhlIFRvb2xUaXBSZW5kZXJlciBkaXJlY3RpdmVcclxuICogICAgYnkgdGhlIGNvbnN1bWVyXHJcbiAqIDIuIGNvbnRlbnRUZW1wbGF0ZSAtIFRoaXMgZ2l2ZXMgZmluZXIgY29udHJvbCBvbiB0aGUgY29udGVudCB0byBiZSBzaG93biBpbiB0aGUgdG9vbHRpcFxyXG4gKiBcclxuICogTk9URSAtIE9OTFkgb25lIHNob3VsZCBiZSBzcGVjaWZpZWQ7IElmIEJPVEggYXJlIHNwZWNpZmllZCB0aGVuIFwidGVtcGxhdGVcIiB3aWxsIGJlIHJlbmRlcmVkIGFuZCBcInRleHRcIiB3aWxsIGJlIGlnbm9yZWRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS10b29sLXRpcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS10b29sLXRpcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXRvb2wtdGlwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbVRvb2xUaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIGlzIHNpbXBsZSB0ZXh0IHdoaWNoIGlzIHRvIGJlIHNob3duIGluIHRoZSB0b29sdGlwXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIHByb3ZpZGVzIGZpbmVyIGNvbnRyb2wgb24gdGhlIGNvbnRlbnQgdG8gYmUgdmlzaWJsZSBvbiB0aGUgdG9vbHRpcFxyXG4gICAqIFRoaXMgdGVtcGxhdGUgd2lsbCBiZSBpbmplY3RlZCBpbiBNY1Rvb2xUaXBSZW5kZXJlciBkaXJlY3RpdmUgaW4gdGhlIGNvbnN1bWVyIHRlbXBsYXRlXHJcbiAgICogPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cclxuICAgKiAgY29udGVudC4uLi4uXHJcbiAgICogPC9uZy10ZW1wbGF0ZT5cclxuICAgKi9cclxuICBASW5wdXQoKSBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWF0LXRvb2x0aXBcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNzaW1wbGVUZXh0ID5cclxuICAgICAgICB7e3RleHR9fVxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlIHx8IHNpbXBsZVRleHRcIj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4iXX0=
@@ -0,0 +1,119 @@
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: { "touchstart": "show()", "mousemove": "show($event)", "touchend": "hide()", "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: ['touchstart']
109
+ }, {
110
+ type: HostListener,
111
+ args: ['mousemove', ['$event']]
112
+ }], hide: [{
113
+ type: HostListener,
114
+ args: ['touchend']
115
+ }, {
116
+ type: HostListener,
117
+ args: ['mouseleave']
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC10aXAtcmVuZGVyZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnR2LWJhc2UtY29udHJvbHMvc3JjL2xpYi9jdXN0b20tdG9vbC10aXAvdG9vbC10aXAtcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFtQyxZQUFZLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU10RCxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JqQyxZQUFvQixRQUFpQixFQUN6QixXQUF1QjtRQURmLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFoQm5DOzs7VUFHRTtRQUNPLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBUzVCLGNBQVMsR0FBYSxLQUFLLENBQUM7SUFHRSxDQUFDO0lBRXhDOztPQUVHO0lBQ0gsUUFBUSxLQUFLLENBQUM7SUFFZCxJQUFJLFVBQVU7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFDRDs7OztPQUlHO0lBSUgsSUFBSTtRQUNBLElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDOUQsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBNkI7WUFDNUMsSUFBSSxzQkFBc0IsQ0FDdEIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFDckMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUNoRCx5QkFBeUIsQ0FBQztZQUM5QixJQUFJLHNCQUFzQixDQUN0QixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUN4QyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQzdDLHlCQUF5QixDQUFDO1NBRWpDLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2FBQzVDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDcEMsYUFBYSxDQUFDLGFBQWEsQ0FBQzthQUM1QixzQkFBc0IsQ0FBQyxJQUFJLENBQUM7YUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDcEMsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDdEQsZ0JBQWdCO1NBQ25CLENBQUMsQ0FBQztRQUNILHFFQUFxRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM1RCxrQkFBa0I7WUFDbEIsTUFBTSxVQUFVLEdBQXlDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBUSxDQUFDO1lBQ2pHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDckMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFHSCxJQUFJO1FBQ0EsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNLLFlBQVk7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQzs4R0F2R1Esd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtpQkFDOUI7cUdBT1ksV0FBVztzQkFBbkIsS0FBSztnQkFHa0IsSUFBSTtzQkFBM0IsS0FBSzt1QkFBQyxlQUFlO2dCQUdiLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQXNCTixJQUFJO3NCQUZILFlBQVk7dUJBQUMsWUFBWTs7c0JBQ3pCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQThDckMsSUFBSTtzQkFGSCxZQUFZO3VCQUFDLFVBQVU7O3NCQUN2QixZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgT25Jbml0LCBIb3N0TGlzdGVuZXIsIENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDdXN0b21Ub29sVGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tdG9vbC10aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2N1c3RvbVRvb2xUaXBdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvb2xUaXBSZW5kZXJlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICAvKipcclxuICAgICogVGhpcyB3aWxsIGJlIHVzZWQgdG8gc2hvdyB0b29sdGlwIG9yIG5vdFxyXG4gICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNob3cgdGhlIHRvb2x0aXAgY29uZGl0aW9uYWxseVxyXG4gICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dUb29sVGlwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvL0lmIHRoaXMgaXMgc3BlY2lmaWVkIHRoZW4gc3BlY2lmaWVkIHRleHQgd2lsbCBiZSBzaG93biBpbiB0aGUgdG9vbHRpcFxyXG4gICAgQElucHV0KGBjdXN0b21Ub29sVGlwYCkgdGV4dDogc3RyaW5nO1xyXG5cclxuICAgIC8vSWYgdGhpcyBpcyBzcGVjaWZpZWQgdGhlbiBzcGVjaWZpZWQgdGVtcGxhdGUgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgdG9vbHRpcFxyXG4gICAgQElucHV0KCkgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUFuY2hvcj86IGFueTtcclxuICAgIEBJbnB1dCgpIHVzZUN1c3RvbT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdCBsaWZlIGN5Y2xlIGV2ZW50IGhhbmRsZXJcclxuICAgICAqL1xyXG4gICAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgICBnZXQgcmVmRWxlbWVudCgpIHtcclxuICAgICAgICBpZiAodGhpcy51c2VDdXN0b20gfHwgdGhpcy5jdXN0b21BbmNob3IpIHJldHVybiB0aGlzLmN1c3RvbUFuY2hvcjtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgbW91c2UgZW50ZXJzIGluIHRoZSBIb3N0IGVsZW1lbnRcclxuICAgICAqIGkuZS4gd2hlcmUgdGhpcyBkaXJlY3RpdmUgaXMgYXBwbGllZFxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBzaG93IHRoZSB0b29sdGlwIGJ5IGluc3RhbnRpYXRpbmcgdGhlIE1jVG9vbFRpcENvbXBvbmVudCBhbmQgYXR0YWNoaW5nIHRvIHRoZSBvdmVybGF5XHJcbiAgICAgKi9cclxuICAgIFxyXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcpXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgc2hvdygpIHtcclxuICAgICAgICBpZiAodGhpcy5yZWZFbGVtZW50KSB0aGlzLmNsb3NlVG9vbFRpcCgpO1xyXG4gICAgICAgIGlmICghdGhpcy5zaG93VG9vbFRpcCB8fCAodGhpcy51c2VDdXN0b20gJiYgIXRoaXMuY3VzdG9tQW5jaG9yKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwb3NpdGlvblBhaXJzOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyW10gPSBbXHJcbiAgICAgICAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxyXG4gICAgICAgICAgICAgICAgeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcgfSxcclxuICAgICAgICAgICAgICAgIHsgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ2JvdHRvbScgfSwgMCwgMCxcclxuICAgICAgICAgICAgICAgICdtYXQtdG9vbHRpcC1wYW5lbC1hYm92ZScpLFxyXG4gICAgICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcclxuICAgICAgICAgICAgICAgIHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICdib3R0b20nIH0sXHJcbiAgICAgICAgICAgICAgICB7IG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICd0b3AnIH0sIDAsIDAsXHJcbiAgICAgICAgICAgICAgICAnbWF0LXRvb2x0aXAtcGFuZWwtYmVsb3cnKVxyXG5cclxuICAgICAgICBdO1xyXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcclxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5yZWZFbGVtZW50KVxyXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhwb3NpdGlvblBhaXJzKVxyXG4gICAgICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0cnVlKVxyXG4gICAgICAgICAgICAud2l0aFB1c2godHJ1ZSk7XHJcblxyXG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdtYXQtdG9vbHRpcC1wYW5lbCcsXHJcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcclxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGF0dGFjaCB0aGUgY29tcG9uZW50IGlmIGl0IGhhcyBub3QgYWxyZWFkeSBhdHRhY2hlZCB0byB0aGUgb3ZlcmxheVxyXG4gICAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmICYmICF0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcclxuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ3VzdG9tVG9vbFRpcENvbXBvbmVudCk7XHJcbiAgICAgICAgICAgIC8vIHRvZG8gY2hlY2sgdGhpc1xyXG4gICAgICAgICAgICBjb25zdCB0b29sdGlwUmVmOiBDb21wb25lbnRSZWY8Q3VzdG9tVG9vbFRpcENvbXBvbmVudD4gPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChjb250ZW50KSBhcyBhbnk7XHJcbiAgICAgICAgICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGV4dCA9IHRoaXMudGV4dDtcclxuICAgICAgICAgICAgdG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50VGVtcGxhdGUgPSB0aGlzLmNvbnRlbnRUZW1wbGF0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCB3aGVuIG1vdXNlIGdvZXMgb3V0IG9mIHRoZSBob3N0IGVsZW1lbnRcclxuICAgICAqIGkuZS4gd2hlcmUgdGhpcyBkaXJlY3RpdmUgaXMgYXBwbGllZFxyXG4gICAgICogVGhpcyBtZXRob2Qgd2lsbCBjbG9zZSB0aGUgdG9vbHRpcCBieSBkZXRhY2hpbmcgdGhlIG92ZXJsYXkgZnJvbSB0aGUgdmlld1xyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCd0b3VjaGVuZCcpXHJcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcclxuICAgIGhpZGUoKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVRvb2xUaXAoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlc3Ryb3kgbGlmZWN5Y2xlIGV2ZW50IGhhbmRsZXJcclxuICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgbWFrZSBzdXJlIHRvIGNsb3NlIHRoZSB0b29sdGlwXHJcbiAgICAgKiBJdCB3aWxsIGJlIG5lZWRlZCBpbiBjYXNlIHdoZW4gYXBwIGlzIG5hdmlnYXRpbmcgdG8gZGlmZmVyZW50IHBhZ2VcclxuICAgICAqIGFuZCB1c2VyIGlzIHN0aWxsIHNlZWluZyB0aGUgdG9vbHRpcDsgSW4gdGhhdCBjYXNlIHdlIGRvIG5vdCB3YW50IHRvIGhhbmcgYXJvdW5kIHRoZVxyXG4gICAgICogdG9vbHRpcCBhZnRlciB0aGUgcGFnZSBbb24gd2hpY2ggdG9vbHRpcCB2aXNpYmxlXSBpcyBkZXN0cm95ZWRcclxuICAgICAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZVRvb2xUaXAoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgbWV0aG9kIHdpbGwgY2xvc2UgdGhlIHRvb2x0aXAgYnkgZGV0YWNoaW5nIHRoZSBjb21wb25lbnQgZnJvbSB0aGUgb3ZlcmxheVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNsb3NlVG9vbFRpcCgpIHtcclxuICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=