@energycap/components 0.44.8 → 0.44.9-Angular19Upgrade.20260217-1620

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 (145) hide show
  1. package/fesm2022/energycap-components.mjs +379 -354
  2. package/fesm2022/energycap-components.mjs.map +1 -1
  3. package/lib/controls/button/copy-button-base.directive.d.ts +1 -1
  4. package/lib/controls/date-input/date-input.component.d.ts +1 -1
  5. package/lib/controls/form-control-base.d.ts +1 -1
  6. package/lib/core/date-time-helper.d.ts +2 -2
  7. package/lib/display/hierarchy/hierarchy-base.d.ts +1 -1
  8. package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +1 -1
  9. package/lib/display/resizable/resizable-base.d.ts +1 -1
  10. package/lib/shared/display/pipes/date-display.pipe.d.ts +1 -1
  11. package/lib/shared/page/page-base/page-base.component.d.ts +1 -1
  12. package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
  13. package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +1 -1
  14. package/package.json +1 -3
  15. package/schematics/utilities/typescript.js +3 -4
  16. package/schematics/utilities/typescript.js.map +1 -1
  17. package/schematics/utilities/workspace.d.ts +0 -8
  18. package/schematics/utilities/workspace.js +48 -71
  19. package/schematics/utilities/workspace.js.map +1 -1
  20. package/esm2022/energycap-components.mjs +0 -5
  21. package/esm2022/lib/components.module.mjs +0 -425
  22. package/esm2022/lib/controls/banner/banner.component.mjs +0 -112
  23. package/esm2022/lib/controls/button/button.component.mjs +0 -114
  24. package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
  25. package/esm2022/lib/controls/button/copy-button.directive.mjs +0 -28
  26. package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
  27. package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -91
  28. package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -251
  29. package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -2
  30. package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
  31. package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +0 -38
  32. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
  33. package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
  34. package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
  35. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
  36. package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
  37. package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
  38. package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
  39. package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
  40. package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
  41. package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -466
  42. package/esm2022/lib/controls/date-input/date-input.types.mjs +0 -44
  43. package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
  44. package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
  45. package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -110
  46. package/esm2022/lib/controls/form-control-base.mjs +0 -151
  47. package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
  48. package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
  49. package/esm2022/lib/controls/help-popover/help-popover.component.mjs +0 -31
  50. package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
  51. package/esm2022/lib/controls/link-button/link-button.component.mjs +0 -11
  52. package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
  53. package/esm2022/lib/controls/navigation/link-item.mjs +0 -2
  54. package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
  55. package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
  56. package/esm2022/lib/controls/navigation/nav-item.mjs +0 -2
  57. package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
  58. package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
  59. package/esm2022/lib/controls/radio-button/radio-button-option.mjs +0 -3
  60. package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
  61. package/esm2022/lib/controls/select/select.component.mjs +0 -88
  62. package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
  63. package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
  64. package/esm2022/lib/core/cache.service.mjs +0 -105
  65. package/esm2022/lib/core/custom-validators.mjs +0 -29
  66. package/esm2022/lib/core/date-time-helper.mjs +0 -228
  67. package/esm2022/lib/core/error.service.mjs +0 -61
  68. package/esm2022/lib/core/router-helper.service.mjs +0 -111
  69. package/esm2022/lib/core/scroll.service.mjs +0 -89
  70. package/esm2022/lib/core/telemetry-tracker.service.mjs +0 -16
  71. package/esm2022/lib/core/telemetry.service.mjs +0 -38
  72. package/esm2022/lib/core/validation-message.service.mjs +0 -185
  73. package/esm2022/lib/core/validation-patterns.mjs +0 -31
  74. package/esm2022/lib/core/window.service.mjs +0 -186
  75. package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -49
  76. package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
  77. package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
  78. package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
  79. package/esm2022/lib/display/dialog/dialog-content.mjs +0 -2
  80. package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
  81. package/esm2022/lib/display/dialog/dialog-types.mjs +0 -77
  82. package/esm2022/lib/display/dialog/dialog.component.mjs +0 -287
  83. package/esm2022/lib/display/dialog/dialog.service.mjs +0 -71
  84. package/esm2022/lib/display/help/help-types.mjs +0 -2
  85. package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
  86. package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +0 -54
  87. package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -65
  88. package/esm2022/lib/display/item-display/item-display.component.mjs +0 -83
  89. package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
  90. package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
  91. package/esm2022/lib/display/resizable/resizable.component.mjs +0 -57
  92. package/esm2022/lib/display/spinner/spinner.component.mjs +0 -12
  93. package/esm2022/lib/display/splash/splash.component.mjs +0 -61
  94. package/esm2022/lib/display/splash/splash.service.mjs +0 -35
  95. package/esm2022/lib/display/table/resizable-column.component.mjs +0 -20
  96. package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
  97. package/esm2022/lib/display/table/searchable-table.component.mjs +0 -344
  98. package/esm2022/lib/display/table/table-detail-row.component.mjs +0 -28
  99. package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
  100. package/esm2022/lib/display/table/table-master-header-row.component.mjs +0 -14
  101. package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
  102. package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
  103. package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
  104. package/esm2022/lib/display/table/table.component.mjs +0 -257
  105. package/esm2022/lib/display/tags/tag.mjs +0 -18
  106. package/esm2022/lib/display/tags/tags.component.mjs +0 -82
  107. package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
  108. package/esm2022/lib/display/toast/toast-types.mjs +0 -8
  109. package/esm2022/lib/display/toast/toast.service.mjs +0 -35
  110. package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
  111. package/esm2022/lib/display/tooltip/tooltip.component.mjs +0 -28
  112. package/esm2022/lib/display/tooltip/tooltip.service.mjs +0 -78
  113. package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
  114. package/esm2022/lib/display/tree/tree.component.mjs +0 -139
  115. package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
  116. package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
  117. package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
  118. package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -103
  119. package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
  120. package/esm2022/lib/shared/display/pipes/date-display-2.pipe.mjs +0 -39
  121. package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -51
  122. package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
  123. package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
  124. package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
  125. package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
  126. package/esm2022/lib/shared/display.mjs +0 -6
  127. package/esm2022/lib/shared/form-group.helper.mjs +0 -67
  128. package/esm2022/lib/shared/json-helper.mjs +0 -19
  129. package/esm2022/lib/shared/lodash-helper.mjs +0 -52
  130. package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
  131. package/esm2022/lib/shared/page/page-statuses.mjs +0 -23
  132. package/esm2022/lib/shared/page/page-title/page-title.component.mjs +0 -23
  133. package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
  134. package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +0 -17
  135. package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +0 -17
  136. package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +0 -38
  137. package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
  138. package/esm2022/lib/shared/testing/public-mocks.spec.mjs +0 -148
  139. package/esm2022/lib/shared/testing/spy-factory.spec.mjs +0 -40
  140. package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +0 -57
  141. package/esm2022/lib/shared/user-preference.service.mjs +0 -17
  142. package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
  143. package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +0 -68
  144. package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +0 -18
  145. package/esm2022/public-api.mjs +0 -115
@@ -1,18 +0,0 @@
1
- /** Tag contains a label and type. Type is default by default */
2
- export class Tag {
3
- constructor(label, type, classList, icon, isDismissable, tooltip, url, target) {
4
- this.target = '_self';
5
- this.label = label;
6
- this.type = type || 'info';
7
- this.icon = icon;
8
- this.isDismissable = isDismissable ?? false;
9
- this.tooltip = tooltip;
10
- this.url = url;
11
- this.target = target || '_self';
12
- if (classList) {
13
- this.classList = classList;
14
- }
15
- }
16
- }
17
- ;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsZ0VBQWdFO0FBQ2hFLE1BQU0sT0FBTyxHQUFHO0lBbUJkLFlBQVksS0FBYSxFQUFFLElBQWMsRUFBRSxTQUFrQixFQUFFLElBQWEsRUFBRSxhQUF1QixFQUFFLE9BQWdCLEVBQUUsR0FBWSxFQUFFLE1BQW1CO1FBRm5KLFdBQU0sR0FBZ0IsT0FBTyxDQUFDO1FBR25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsSUFBSSxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFaEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRhZyB0eXBlIHVzZWQgdG8gc3R5bGUgdGhlIHRhZyAqL1xuZXhwb3J0IHR5cGUgVGFnVHlwZSA9IFwiaW5mb1wiIHwgXCJzdWNjZXNzXCIgfCBcIndhcm5pbmdcIiB8IFwiZGFuZ2VyXCIgfCBcImFjY2VudFwiIHwgXCJjaGFyZ2ViYWNrXCIgfCBcImFjY3J1YWxcIiB8IFwiaW52ZXJ0ZWRcIiB8IFwic3lzdGVtXCIgfCBcImludGVydmFsXCI7XG5cbi8qKiBMaW5rIHRhcmdldCBvcHRpb25zLCBzaGFyZWQgYW1vbmdzdCB0YWcsIG1lbnUgYW5kIGl0ZW0gZGlzcGxheSAqL1xuZXhwb3J0IHR5cGUgTGlua1RhcmdldCA9ICdfc2VsZicgfCAnX2JsYW5rJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcblxuLyoqIFRhZyBjb250YWlucyBhIGxhYmVsIGFuZCB0eXBlLiBUeXBlIGlzIGRlZmF1bHQgYnkgZGVmYXVsdCAqL1xuZXhwb3J0IGNsYXNzIFRhZyB7XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0eXBlOiBUYWdUeXBlO1xuXG4gIHB1YmxpYyBpY29uPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc0Rpc21pc3NhYmxlPzogYm9vbGVhbjtcblxuICAvKiogQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGFnIGZvciBjdXN0b20gc3R5bGluZyAqL1xuICBwdWJsaWMgY2xhc3NMaXN0Pzogc3RyaW5nO1xuXG4gIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKiBXaGVuIHNldCBhIGh5cGVybGluayB3aWxsIGJlIHNob3duIGxpbmtpbmcgdG8gdGhlIHZhbHVlIHNldCAqL1xuICBwdWJsaWMgdXJsPzogc3RyaW5nO1xuXG4gIHB1YmxpYyB0YXJnZXQ/OiBMaW5rVGFyZ2V0ID0gJ19zZWxmJztcblxuICBjb25zdHJ1Y3RvcihsYWJlbDogc3RyaW5nLCB0eXBlPzogVGFnVHlwZSwgY2xhc3NMaXN0Pzogc3RyaW5nLCBpY29uPzogc3RyaW5nLCBpc0Rpc21pc3NhYmxlPzogYm9vbGVhbiwgdG9vbHRpcD86IHN0cmluZywgdXJsPzogc3RyaW5nLCB0YXJnZXQ/OiBMaW5rVGFyZ2V0ICkge1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLnR5cGUgPSB0eXBlIHx8ICdpbmZvJztcbiAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIHRoaXMuaXNEaXNtaXNzYWJsZSA9IGlzRGlzbWlzc2FibGUgPz8gZmFsc2U7XG4gICAgdGhpcy50b29sdGlwID0gdG9vbHRpcDtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldCB8fCAnX3NlbGYnO1xuXG4gICAgaWYgKGNsYXNzTGlzdCkge1xuICAgICAgdGhpcy5jbGFzc0xpc3QgPSBjbGFzc0xpc3Q7XG4gICAgfVxuICB9XG59OyJdfQ==
@@ -1,82 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@ngx-translate/core";
5
- import * as i3 from "../../shared/display/pipes/highlight-text.pipe";
6
- export class TagsComponent {
7
- constructor() {
8
- /**The ID of this set of tags */
9
- this.id = '';
10
- /**
11
- * Determines whether the tags will wrap or not
12
- *
13
- * @type {boolean}
14
- * @memberof TagsComponent
15
- */
16
- this.wrap = true;
17
- /**
18
- * Displays the tags in condensed mode
19
- */
20
- this.isCondensed = false;
21
- /** Highlights text found in any of the tags */
22
- this.highlightText = '';
23
- /**
24
- * Emits the tag item when the tag's close button is clicked
25
- */
26
- this.tagClosed = new EventEmitter();
27
- /**
28
- * Tags to be displayed
29
- *
30
- * @type {Tag[]}
31
- * @memberof TagsComponent
32
- */
33
- this.tagsArray = [];
34
- }
35
- /**
36
- * Angular onChanges lifecycle hook
37
- * @see {@link https://angular.io/guide/lifecycle-hooks | Life-cycle hooks}
38
- *
39
- * @param {SimpleChanges} changes
40
- * @memberof TagsComponent
41
- */
42
- ngOnChanges(changes) {
43
- if (changes.tags) {
44
- if (this.tags) {
45
- // If only given a single item, put it in an array so it works in the template
46
- if (Array.isArray(this.tags)) {
47
- this.tagsArray = this.tags;
48
- }
49
- else {
50
- this.tagsArray = [this.tags];
51
- }
52
- }
53
- else {
54
- // reset array if tags becomes undefined
55
- this.tagsArray = [];
56
- }
57
- }
58
- }
59
- closeTag(tag) {
60
- this.tagsArray = this.tagsArray.filter(t => t !== tag);
61
- this.tagClosed.emit(tag);
62
- }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TagsComponent, selector: "ec-tags", inputs: { id: "id", tags: "tags", wrap: "wrap", isCondensed: "isCondensed", highlightText: "highlightText" }, outputs: { tagClosed: "tagClosed" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.HighlightTextPipe, name: "highlightText" }] }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, decorators: [{
67
- type: Component,
68
- args: [{ selector: 'ec-tags', template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"] }]
69
- }], ctorParameters: () => [], propDecorators: { id: [{
70
- type: Input
71
- }], tags: [{
72
- type: Input
73
- }], wrap: [{
74
- type: Input
75
- }], isCondensed: [{
76
- type: Input
77
- }], highlightText: [{
78
- type: Input
79
- }], tagClosed: [{
80
- type: Output
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWdzL3RhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVFqRyxNQUFNLE9BQU8sYUFBYTtJQTBDeEI7UUF4Q0EsZ0NBQWdDO1FBQ2hCLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFVaEM7Ozs7O1dBS0c7UUFDYSxTQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0MsK0NBQStDO1FBQy9CLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBQ2MsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhFOzs7OztXQUtHO1FBQ0ksY0FBUyxHQUFVLEVBQUUsQ0FBQztJQUViLENBQUM7SUFFakI7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLDhFQUE4RTtnQkFDOUUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLHdDQUF3QztnQkFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQVE7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQXRFVSxhQUFhO21HQUFiLGFBQWEsdU5DUjFCLDY3QkF3Qks7OzRGRGhCUSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7d0RBT0gsRUFBRTtzQkFBakIsS0FBSztnQkFRVSxJQUFJO3NCQUFuQixLQUFLO2dCQVFVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS1UsV0FBVztzQkFBMUIsS0FBSztnQkFHVSxhQUFhO3NCQUE1QixLQUFLO2dCQUtXLFNBQVM7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuL3RhZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VjLXRhZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhZ3MuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAvKipUaGUgSUQgb2YgdGhpcyBzZXQgb2YgdGFncyAqL1xuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBPbmUgb3IgbW9yZSB0YWdzXG4gICAqIFxuICAgKiBAdHlwZSB7KFRhZyB8IFRhZ1tdKX1cbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyB0YWdzPzogVGFnIHwgVGFnW107XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdGFncyB3aWxsIHdyYXAgb3Igbm90XG4gICAqIFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyB3cmFwOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzcGxheXMgdGhlIHRhZ3MgaW4gY29uZGVuc2VkIG1vZGVcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0NvbmRlbnNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIaWdobGlnaHRzIHRleHQgZm91bmQgaW4gYW55IG9mIHRoZSB0YWdzICovXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWdobGlnaHRUZXh0OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHRhZyBpdGVtIHdoZW4gdGhlIHRhZydzIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHRhZ0Nsb3NlZDogRXZlbnRFbWl0dGVyPFRhZz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhZz4oKTtcblxuICAvKipcbiAgICogVGFncyB0byBiZSBkaXNwbGF5ZWRcbiAgICogXG4gICAqIEB0eXBlIHtUYWdbXX1cbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyB0YWdzQXJyYXk6IFRhZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKipcbiAgICogQW5ndWxhciBvbkNoYW5nZXMgbGlmZWN5Y2xlIGhvb2tcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rcyB8IExpZmUtY3ljbGUgaG9va3N9XG4gICAqIFxuICAgKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgXG4gICAqIEBtZW1iZXJvZiBUYWdzQ29tcG9uZW50XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudGFncykge1xuICAgICAgaWYgKHRoaXMudGFncykge1xuICAgICAgICAvLyBJZiBvbmx5IGdpdmVuIGEgc2luZ2xlIGl0ZW0sIHB1dCBpdCBpbiBhbiBhcnJheSBzbyBpdCB3b3JrcyBpbiB0aGUgdGVtcGxhdGVcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy50YWdzKSkge1xuICAgICAgICAgIHRoaXMudGFnc0FycmF5ID0gdGhpcy50YWdzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudGFnc0FycmF5ID0gW3RoaXMudGFnc107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHJlc2V0IGFycmF5IGlmIHRhZ3MgYmVjb21lcyB1bmRlZmluZWRcbiAgICAgICAgdGhpcy50YWdzQXJyYXkgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2VUYWcodGFnOiBUYWcpIHtcbiAgICB0aGlzLnRhZ3NBcnJheSA9IHRoaXMudGFnc0FycmF5LmZpbHRlcih0ID0+IHQgIT09IHRhZyk7XG4gICAgdGhpcy50YWdDbG9zZWQuZW1pdCh0YWcpO1xuICB9XG59XG4iLCI8dWwgY2xhc3M9XCJ0YWdzXCJcbiAgICBbY2xhc3MuaXMtd3JhcHBlZF09XCJ3cmFwXCI+XG4gICA8bGkgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzQXJyYXk7IGluZGV4IGFzIGlcIlxuICAgICAgIGlkPVwie3tpZH19X3RhZ197e2l9fVwiXG4gICAgICAgY2xhc3M9XCJ0YWcgaXMte3t0YWcudHlwZX19IHt7dGFnLmNsYXNzTGlzdH19IG1yLTFcIlxuICAgICAgIFtjbGFzcy5pcy1jb25kZW5zZWRdPVwiaXNDb25kZW5zZWRcIlxuICAgICAgIHRpdGxlPVwie3t0YWcudG9vbHRpcCB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICA8aSAqbmdJZj1cInRhZy5pY29uXCJcbiAgICAgICAgIGNsYXNzPVwiZWMtaWNvbiB7e3RhZy5pY29ufX0gZWMtaWNvbi1zbVwiPjwvaT5cbiAgIDxzcGFuICpuZ0lmPVwiIXRhZy51cmxcIiBbaW5uZXJIdG1sXT1cInRhZy5sYWJlbCB8IHRyYW5zbGF0ZSB8IGhpZ2hsaWdodFRleHQ6aGlnaGxpZ2h0VGV4dFwiPjwvc3Bhbj5cblxuICAgICAgPGEgKm5nSWY9XCJ0YWcudXJsXCJcbiAgICAgICAgIGlkPVwie3tpZH19X3RhZ197e2l9fV9saW5rXCJcbiAgICAgICAgIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiXG4gICAgICAgICBocmVmPVwie3t0YWcudXJsfX1cIlxuICAgICAgICAgdGFyZ2V0PVwie3t0YWcudGFyZ2V0fX1cIj57e3RhZy5sYWJlbCB8IHRyYW5zbGF0ZX19PC9hPlxuXG4gICAgICA8YnV0dG9uIGlkPVwie3tpZH19X3RhZ197e2l9fV9kaXNtaXNzQnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0YWcuaXNEaXNtaXNzYWJsZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhZyh0YWcpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWctY2xvc2UtYnRuXCI+XG4gICAgICAgICA8aSBjbGFzcz1cImVjLWljb24gZWMtaWNvbi1zbSBpY29uLWNhbmNlbFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgPC9saT5cbjwvdWw+Il19
@@ -1,77 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import { race, Subject, timer } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../toast.service";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../../../controls/banner/banner.component";
8
- import * as i4 from "../../../controls/link-button/link-button.component";
9
- import * as i5 from "@ngx-translate/core";
10
- export class ToastComponent {
11
- constructor(toastService) {
12
- this.toastService = toastService;
13
- this.open = false;
14
- this.TOAST_ANIMATION_DURATION = 250;
15
- this.closed = new EventEmitter();
16
- this.TIMED_TOAST_DURATION = 4000;
17
- this.destroyed = new Subject();
18
- }
19
- ngOnInit() {
20
- this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
21
- if (event.action == 'remove' && event.toast === this.toastItem) {
22
- this.close(event);
23
- }
24
- });
25
- }
26
- ngOnChanges(changes) {
27
- if (changes.toastItem && this.toastItem) {
28
- this.id = this.toastItem.id;
29
- this.open = true;
30
- if (!this.toastItem.dismissible) {
31
- this.closeAfterTimer();
32
- }
33
- }
34
- }
35
- ngOnDestroy() {
36
- this.destroyed.next();
37
- this.destroyed.complete();
38
- }
39
- closeClicked() {
40
- if (this.toastItem) {
41
- this.toastService.dismissToast(this.toastItem, 'user');
42
- }
43
- }
44
- close(event) {
45
- this.open = false;
46
- timer(this.TOAST_ANIMATION_DURATION).subscribe(() => {
47
- this.closed.emit(event);
48
- });
49
- }
50
- closeAfterTimer() {
51
- timer(this.TIMED_TOAST_DURATION).pipe(takeUntil(race(this.closed, this.destroyed))).subscribe(() => {
52
- if (this.toastItem) {
53
- this.toastService.dismissToast(this.toastItem, 'auto');
54
- }
55
- });
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, deps: [{ token: i1.ToastService }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToastComponent, selector: "ec-toast", inputs: { toastItem: "toastItem" }, outputs: { closed: "closed" }, host: { properties: { "attr.id": "this.id", "class.is-open": "this.open", "style.--toast-animation-duration.ms": "this.TOAST_ANIMATION_DURATION" } }, usesOnChanges: true, ngImport: i0, template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: i4.LinkButtonComponent, selector: "button[ecLinkButton]" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, decorators: [{
61
- type: Component,
62
- args: [{ selector: 'ec-toast', template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"] }]
63
- }], ctorParameters: () => [{ type: i1.ToastService }], propDecorators: { toastItem: [{
64
- type: Input
65
- }], id: [{
66
- type: HostBinding,
67
- args: ['attr.id']
68
- }], open: [{
69
- type: HostBinding,
70
- args: ['class.is-open']
71
- }], TOAST_ANIMATION_DURATION: [{
72
- type: HostBinding,
73
- args: ['style.--toast-animation-duration.ms']
74
- }], closed: [{
75
- type: Output
76
- }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBUzNDLE1BQU0sT0FBTyxjQUFjO0lBYXpCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUlQsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUNBLDZCQUF3QixHQUFHLEdBQUcsQ0FBQztRQUV6RSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV4Qyx5QkFBb0IsR0FBVyxJQUFJLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFVSxDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6RSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBRWpCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQWlCO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FDbkMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUM3QyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTVEVSxjQUFjO21HQUFkLGNBQWMsOFJDWDNCLDJ0QkFnQlk7OzRGRExDLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTtpRkFNSixTQUFTO3NCQUF4QixLQUFLO2dCQUV5QixFQUFFO3NCQUFoQyxXQUFXO3VCQUFDLFNBQVM7Z0JBQ2UsSUFBSTtzQkFBeEMsV0FBVzt1QkFBQyxlQUFlO2dCQUMrQix3QkFBd0I7c0JBQWxGLFdBQVc7dUJBQUMscUNBQXFDO2dCQUVqQyxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByYWNlLCBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG9hc3RFdmVudCwgVG9hc3RJdGVtIH0gZnJvbSAnLi4vdG9hc3QtdHlwZXMnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VjLXRvYXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBcbiAgQElucHV0KCkgcHVibGljIHRvYXN0SXRlbT86IFRvYXN0SXRlbTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBwdWJsaWMgaWQ/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtb3BlbicpIHB1YmxpYyBvcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS10b2FzdC1hbmltYXRpb24tZHVyYXRpb24ubXMnKSBwdWJsaWMgVE9BU1RfQU5JTUFUSU9OX0RVUkFUSU9OID0gMjUwO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUb2FzdEV2ZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgVElNRURfVE9BU1RfRFVSQVRJT046IG51bWJlciA9IDQwMDA7XG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRvYXN0U2VydmljZS5ldmVudHMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50LmFjdGlvbiA9PSAncmVtb3ZlJyAmJiBldmVudC50b2FzdCA9PT0gdGhpcy50b2FzdEl0ZW0pIHtcbiAgICAgICAgdGhpcy5jbG9zZShldmVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudG9hc3RJdGVtICYmIHRoaXMudG9hc3RJdGVtKSB7XG4gICAgICB0aGlzLmlkID0gdGhpcy50b2FzdEl0ZW0uaWQ7XG4gICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuXG4gICAgICBpZiAoIXRoaXMudG9hc3RJdGVtLmRpc21pc3NpYmxlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VBZnRlclRpbWVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VDbGlja2VkKCkge1xuICAgIGlmICh0aGlzLnRvYXN0SXRlbSkge1xuICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZGlzbWlzc1RvYXN0KHRoaXMudG9hc3RJdGVtLCAndXNlcicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2UoZXZlbnQ6IFRvYXN0RXZlbnQpIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aW1lcih0aGlzLlRPQVNUX0FOSU1BVElPTl9EVVJBVElPTikuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUFmdGVyVGltZXIoKSB7XG4gICAgdGltZXIodGhpcy5USU1FRF9UT0FTVF9EVVJBVElPTikucGlwZShcbiAgICAgIHRha2VVbnRpbChyYWNlKHRoaXMuY2xvc2VkLCB0aGlzLmRlc3Ryb3llZCkpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudG9hc3RJdGVtKSB7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmRpc21pc3NUb2FzdCh0aGlzLnRvYXN0SXRlbSwgJ2F1dG8nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGVjLWJhbm5lciBpZD1cInt7dG9hc3RJdGVtPy5pZH19X2Jhbm5lclwiXG4gICAgICAgICAgIFt0eXBlXT1cInRvYXN0SXRlbT8udHlwZVwiXG4gICAgICAgICAgIGJhbm5lclN0eWxlPVwidG9hc3RcIlxuICAgICAgICAgICBbY3VzdG9tSWNvbl09XCJ0b2FzdEl0ZW0/Lmljb25cIlxuICAgICAgICAgICBbc2hvd0Nsb3NlQnRuXT1cInRvYXN0SXRlbT8uZGlzbWlzc2libGVcIlxuICAgICAgICAgICBbYXV0b0hpZGVPbkNsb3NlXT1cImZhbHNlXCJcbiAgICAgICAgICAgKGNsb3NlZCk9XCJjbG9zZUNsaWNrZWQoKVwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgPGRpdiBpZD1cInt7dG9hc3RJdGVtPy5pZH19X21lc3NhZ2VcIlxuICAgICAgICAgW2lubmVySFRNTF09XCJ0b2FzdEl0ZW0/Lm1lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L2Rpdj5cbiAgICA8YnV0dG9uIGlkPVwie3t0b2FzdEl0ZW0/LmlkfX1fYWN0aW9uXCJcbiAgICAgICAgICAgIGVjTGlua0J1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJ0b2FzdEl0ZW0/LmFjdGlvbiAmJiB0b2FzdEl0ZW0/LmFjdGlvbkxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBtbC0yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2FzdEl0ZW0hLmFjdGlvbiEoKVwiPnt7dG9hc3RJdGVtPy5hY3Rpb25MYWJlbCB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gIDwvZGl2PlxuPC9lYy1iYW5uZXI+Il19
@@ -1,8 +0,0 @@
1
- export class ToastEvent {
2
- constructor(action, toast, source = 'user') {
3
- this.action = action;
4
- this.toast = toast;
5
- this.source = source;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b2FzdC90b2FzdC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFDUyxNQUFtQixFQUNuQixLQUFnQixFQUNoQixTQUFzQixNQUFNO1FBRjVCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFzQjtJQUNqQyxDQUFDO0NBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYW5uZXJUeXBlIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBUb2FzdEFjdGlvbiA9ICdhZGQnIHwgJ3JlbW92ZSc7XG5leHBvcnQgdHlwZSBUb2FzdFNvdXJjZSA9ICd1c2VyJyB8ICdhdXRvJztcblxuZXhwb3J0IHR5cGUgVG9hc3RJdGVtID0ge1xuICAvKiogSWQgdG8gcHV0IG9uIHRoZSB0b2FzdCBlbGVtZW50ICovXG4gIGlkPzogc3RyaW5nLFxuICB0eXBlOiBCYW5uZXJUeXBlLFxuICBtZXNzYWdlOiBzdHJpbmcsXG4gIC8qKiBcbiAgICogV2hlbiBmYWxzZSwgdGhlIHRvYXN0IHdpbGwgY2xvc2UgaXRzZWxmIGFmdGVyIDQgc2Vjb25kcy5cbiAgICogV2hlbiB0cnVlLCB0aGUgdG9hc3Qgd2lsbCBwZXJzaXN0IGFuZCBzaG93IHRoZSBjbG9zZSBidXR0b24uXG4gICAqL1xuICBkaXNtaXNzaWJsZTogYm9vbGVhbixcbiAgLyoqIE92ZXJyaWRlcyB0aGUgZGVmYXVsdCBpY29uLiAqL1xuICBpY29uPzogc3RyaW5nLFxuICBhY3Rpb24/OiAoKSA9PiBhbnksXG4gIGFjdGlvbkxhYmVsPzogc3RyaW5nXG59O1xuXG5leHBvcnQgY2xhc3MgVG9hc3RFdmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhY3Rpb246IFRvYXN0QWN0aW9uLFxuICAgIHB1YmxpYyB0b2FzdDogVG9hc3RJdGVtLFxuICAgIHB1YmxpYyBzb3VyY2U6IFRvYXN0U291cmNlID0gJ3VzZXInXG4gICkgeyB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { ToastEvent } from './toast-types';
4
- import * as i0 from "@angular/core";
5
- export class ToastService {
6
- constructor() {
7
- this._events = new Subject();
8
- this.events = this._events.asObservable();
9
- }
10
- /**
11
- * Display a toast.
12
- * If a toast of the same type is already on screen, the toast is queued until the existing one is dismissed.
13
- */
14
- showToast(toast, source) {
15
- const event = new ToastEvent('add', toast, source);
16
- this._events.next(event);
17
- }
18
- /**
19
- * Remove a toast.
20
- * This will also remove the toast from the queue if it has not already been displayed.
21
- */
22
- dismissToast(toast, source) {
23
- const event = new ToastEvent('remove', toast, source);
24
- this._events.next(event);
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
30
- type: Injectable,
31
- args: [{
32
- providedIn: 'root'
33
- }]
34
- }], ctorParameters: () => [] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE1BQU0sZUFBZSxDQUFDOztBQUtuRSxNQUFNLE9BQU8sWUFBWTtJQUt2QjtRQUhRLFlBQU8sR0FBd0IsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUMxRCxXQUFNLEdBQTJCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFcEQsQ0FBQztJQUVqQjs7O09BR0c7SUFDSSxTQUFTLENBQUMsS0FBZ0IsRUFBRSxNQUFvQjtRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsS0FBZ0IsRUFBRSxNQUFvQjtRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBdkJVLFlBQVk7bUhBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RFdmVudCwgVG9hc3RJdGVtLCBUb2FzdFNvdXJjZSB9IGZyb20gJy4vdG9hc3QtdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2V2ZW50czogU3ViamVjdDxUb2FzdEV2ZW50PiA9IG5ldyBTdWJqZWN0PFRvYXN0RXZlbnQ+KCk7XG4gIHB1YmxpYyBldmVudHM6IE9ic2VydmFibGU8VG9hc3RFdmVudD4gPSB0aGlzLl9ldmVudHMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKiogXG4gICAqIERpc3BsYXkgYSB0b2FzdC5cbiAgICogSWYgYSB0b2FzdCBvZiB0aGUgc2FtZSB0eXBlIGlzIGFscmVhZHkgb24gc2NyZWVuLCB0aGUgdG9hc3QgaXMgcXVldWVkIHVudGlsIHRoZSBleGlzdGluZyBvbmUgaXMgZGlzbWlzc2VkLlxuICAgKi9cbiAgcHVibGljIHNob3dUb2FzdCh0b2FzdDogVG9hc3RJdGVtLCBzb3VyY2U/OiBUb2FzdFNvdXJjZSkge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IFRvYXN0RXZlbnQoJ2FkZCcsIHRvYXN0LCBzb3VyY2UpO1xuICAgIHRoaXMuX2V2ZW50cy5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSB0b2FzdC5cbiAgICogVGhpcyB3aWxsIGFsc28gcmVtb3ZlIHRoZSB0b2FzdCBmcm9tIHRoZSBxdWV1ZSBpZiBpdCBoYXMgbm90IGFscmVhZHkgYmVlbiBkaXNwbGF5ZWQuXG4gICAqL1xuICBwdWJsaWMgZGlzbWlzc1RvYXN0KHRvYXN0OiBUb2FzdEl0ZW0sIHNvdXJjZT86IFRvYXN0U291cmNlKSB7XG4gICAgY29uc3QgZXZlbnQgPSBuZXcgVG9hc3RFdmVudCgncmVtb3ZlJywgdG9hc3QsIHNvdXJjZSk7XG4gICAgdGhpcy5fZXZlbnRzLm5leHQoZXZlbnQpO1xuICB9XG59XG4iXX0=
@@ -1,114 +0,0 @@
1
- import { Component, ElementRef, ViewChild } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../toast.service";
6
- import * as i2 from "../../../core/telemetry.service";
7
- import * as i3 from "../toast/toast.component";
8
- export class ToasterComponent {
9
- constructor(toastService, telemetryService) {
10
- this.toastService = toastService;
11
- this.telemetryService = telemetryService;
12
- this.dismissibleToastBottom = 0;
13
- this.pendingToasts = [];
14
- this.destroyed = new Subject();
15
- }
16
- ngOnInit() {
17
- this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
18
- if (event.action == 'add') {
19
- this.addToast(event.toast);
20
- this.updateDismissibleToastBottom();
21
- this.trackEvent(event);
22
- }
23
- else if (event.action == 'remove' && event.toast !== this.currentDismissibleToast && event.toast !== this.currentTimedToast) {
24
- this.removePendingToast(event.toast);
25
- this.trackEvent(event);
26
- }
27
- });
28
- }
29
- ngOnDestroy() {
30
- this.destroyed.next();
31
- this.destroyed.complete();
32
- }
33
- updateVisibleToast(event) {
34
- if (event.toast.dismissible) {
35
- this.currentDismissibleToast = this.getNextToast(true);
36
- }
37
- else {
38
- this.currentTimedToast = this.getNextToast(false);
39
- }
40
- this.updateDismissibleToastBottom();
41
- this.trackEvent(event);
42
- }
43
- addToast(toast) {
44
- if ((toast.dismissible && this.currentDismissibleToast) || (!toast.dismissible && this.currentTimedToast)) {
45
- this.addPendingToast(toast);
46
- }
47
- else if (toast.dismissible) {
48
- this.currentDismissibleToast = toast;
49
- }
50
- else {
51
- this.currentTimedToast = toast;
52
- }
53
- }
54
- /** Returns the next pending toast of the specified type and removes it from the list of pending toasts. */
55
- getNextToast(dismissible) {
56
- const toast = this.pendingToasts.find(t => t.dismissible === dismissible);
57
- if (toast) {
58
- this.removePendingToast(toast);
59
- }
60
- return toast;
61
- }
62
- /** Add a toast to the list of pending toasts */
63
- addPendingToast(toast) {
64
- this.pendingToasts.push(toast);
65
- }
66
- /** Removes the specified toast from the list of pending toasts */
67
- removePendingToast(toast) {
68
- const index = this.pendingToasts.indexOf(toast);
69
- if (index > -1) {
70
- this.pendingToasts.splice(index, 1);
71
- }
72
- }
73
- /**
74
- * If the timed toast is present, sets the bottom height of the dismissible toast to
75
- * the current height of the timed toast plus .5rem for spacing.
76
- * Returns 0 if there isn't a visible timed toast.
77
- */
78
- updateDismissibleToastBottom() {
79
- if (this.currentTimedToast && this.timedToastEl) {
80
- this.dismissibleToastBottom = (this.timedToastEl.nativeElement.offsetHeight + 8) / 16;
81
- }
82
- else {
83
- this.dismissibleToastBottom = 0;
84
- }
85
- }
86
- trackEvent(event) {
87
- const dismissible = this.pendingToasts.filter(t => t.dismissible);
88
- const transient = this.pendingToasts.filter(t => !t.dismissible);
89
- this.telemetryService.trackEvent(`${event.action} toast`, {
90
- action: event.action,
91
- source: event.source,
92
- hasDismissiblePending: dismissible.length > 0 ? 'yes' : 'no',
93
- dismissiblePendingLength: `${dismissible.length}`,
94
- hasTransientPending: transient.length > 0 ? 'yes' : 'no',
95
- transientPendingLength: `${transient.length}`,
96
- toastId: event.toast.id ?? '',
97
- toastType: event.toast.type,
98
- toastMessage: event.toast.message,
99
- toastDismissible: `${event.toast.dismissible}`,
100
- toastIcon: event.toast.icon ?? '',
101
- toastAction: event.toast.actionLabel ?? '',
102
- });
103
- }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterComponent, deps: [{ token: i1.ToastService }, { token: i2.TelemetryService }], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToasterComponent, selector: "ec-toaster", viewQueries: [{ propertyName: "timedToastEl", first: true, predicate: ["timedToast"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>", dependencies: [{ kind: "component", type: i3.ToastComponent, selector: "ec-toast", inputs: ["toastItem"], outputs: ["closed"] }] }); }
106
- }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterComponent, decorators: [{
108
- type: Component,
109
- args: [{ selector: 'ec-toaster', template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>" }]
110
- }], ctorParameters: () => [{ type: i1.ToastService }, { type: i2.TelemetryService }], propDecorators: { timedToastEl: [{
111
- type: ViewChild,
112
- args: ['timedToast', { static: false, read: ElementRef }]
113
- }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b2FzdC90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3Rlci90b2FzdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBUzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxZQUEwQixFQUMxQixnQkFBa0M7UUFEbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJyQywyQkFBc0IsR0FBVyxDQUFDLENBQUM7UUFHbEMsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBS3BDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekUsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7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OUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDakMsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUU7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EzR1UsZ0JBQWdCO21HQUFoQixnQkFBZ0IseUlBS3FCLFVBQVUsNkJDaEI1RCw0VEFRVzs7NEZER0UsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLFlBQVk7Z0hBUXdDLFlBQVk7c0JBQXpFLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdEV2ZW50LCBUb2FzdEl0ZW0gfSBmcm9tICcuLi90b2FzdC10eXBlcyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWMtdG9hc3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBjdXJyZW50VGltZWRUb2FzdD86IFRvYXN0SXRlbTtcbiAgcHVibGljIGN1cnJlbnREaXNtaXNzaWJsZVRvYXN0PzogVG9hc3RJdGVtO1xuICBwdWJsaWMgZGlzbWlzc2libGVUb2FzdEJvdHRvbTogbnVtYmVyID0gMDtcbiAgQFZpZXdDaGlsZCgndGltZWRUb2FzdCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSB0aW1lZFRvYXN0RWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgXG4gIHByaXZhdGUgcGVuZGluZ1RvYXN0czogVG9hc3RJdGVtW10gPSBbXTtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZWxlbWV0cnlTZXJ2aWNlOiBUZWxlbWV0cnlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b2FzdFNlcnZpY2UuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudC5hY3Rpb24gPT0gJ2FkZCcpIHtcbiAgICAgICAgdGhpcy5hZGRUb2FzdChldmVudC50b2FzdCk7XG4gICAgICAgIHRoaXMudXBkYXRlRGlzbWlzc2libGVUb2FzdEJvdHRvbSgpO1xuICAgICAgICB0aGlzLnRyYWNrRXZlbnQoZXZlbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5hY3Rpb24gPT0gJ3JlbW92ZScgJiYgZXZlbnQudG9hc3QgIT09IHRoaXMuY3VycmVudERpc21pc3NpYmxlVG9hc3QgJiYgZXZlbnQudG9hc3QgIT09IHRoaXMuY3VycmVudFRpbWVkVG9hc3QpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVQZW5kaW5nVG9hc3QoZXZlbnQudG9hc3QpO1xuICAgICAgICB0aGlzLnRyYWNrRXZlbnQoZXZlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVmlzaWJsZVRvYXN0KGV2ZW50OiBUb2FzdEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRvYXN0LmRpc21pc3NpYmxlKSB7XG4gICAgICB0aGlzLmN1cnJlbnREaXNtaXNzaWJsZVRvYXN0ID0gdGhpcy5nZXROZXh0VG9hc3QodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudFRpbWVkVG9hc3QgPSB0aGlzLmdldE5leHRUb2FzdChmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVEaXNtaXNzaWJsZVRvYXN0Qm90dG9tKCk7XG4gICAgdGhpcy50cmFja0V2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9hc3QodG9hc3Q6IFRvYXN0SXRlbSkge1xuICAgIGlmICgodG9hc3QuZGlzbWlzc2libGUgJiYgdGhpcy5jdXJyZW50RGlzbWlzc2libGVUb2FzdCkgfHwgKCF0b2FzdC5kaXNtaXNzaWJsZSAmJiB0aGlzLmN1cnJlbnRUaW1lZFRvYXN0KSkge1xuICAgICAgdGhpcy5hZGRQZW5kaW5nVG9hc3QodG9hc3QpO1xuICAgIH0gZWxzZSBpZiAodG9hc3QuZGlzbWlzc2libGUpIHtcbiAgICAgIHRoaXMuY3VycmVudERpc21pc3NpYmxlVG9hc3QgPSB0b2FzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jdXJyZW50VGltZWRUb2FzdCA9IHRvYXN0O1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBlbmRpbmcgdG9hc3Qgb2YgdGhlIHNwZWNpZmllZCB0eXBlIGFuZCByZW1vdmVzIGl0IGZyb20gdGhlIGxpc3Qgb2YgcGVuZGluZyB0b2FzdHMuICovXG4gIHByaXZhdGUgZ2V0TmV4dFRvYXN0KGRpc21pc3NpYmxlOiBib29sZWFuKTogVG9hc3RJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0b2FzdCA9IHRoaXMucGVuZGluZ1RvYXN0cy5maW5kKHQgPT4gdC5kaXNtaXNzaWJsZSA9PT0gZGlzbWlzc2libGUpO1xuICAgIGlmICh0b2FzdCkge1xuICAgICAgdGhpcy5yZW1vdmVQZW5kaW5nVG9hc3QodG9hc3QpO1xuICAgIH1cbiAgICByZXR1cm4gdG9hc3Q7XG4gIH1cblxuICAvKiogQWRkIGEgdG9hc3QgdG8gdGhlIGxpc3Qgb2YgcGVuZGluZyB0b2FzdHMgKi9cbiAgcHJpdmF0ZSBhZGRQZW5kaW5nVG9hc3QodG9hc3Q6IFRvYXN0SXRlbSkge1xuICAgIHRoaXMucGVuZGluZ1RvYXN0cy5wdXNoKHRvYXN0KTtcbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHRoZSBzcGVjaWZpZWQgdG9hc3QgZnJvbSB0aGUgbGlzdCBvZiBwZW5kaW5nIHRvYXN0cyAqL1xuICBwcml2YXRlIHJlbW92ZVBlbmRpbmdUb2FzdCh0b2FzdDogVG9hc3RJdGVtKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnBlbmRpbmdUb2FzdHMuaW5kZXhPZih0b2FzdCk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMucGVuZGluZ1RvYXN0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBcbiAgICogSWYgdGhlIHRpbWVkIHRvYXN0IGlzIHByZXNlbnQsIHNldHMgdGhlIGJvdHRvbSBoZWlnaHQgb2YgdGhlIGRpc21pc3NpYmxlIHRvYXN0IHRvXG4gICAqIHRoZSBjdXJyZW50IGhlaWdodCBvZiB0aGUgdGltZWQgdG9hc3QgcGx1cyAuNXJlbSBmb3Igc3BhY2luZy5cbiAgICogUmV0dXJucyAwIGlmIHRoZXJlIGlzbid0IGEgdmlzaWJsZSB0aW1lZCB0b2FzdC5cbiAgICovXG4gIHByaXZhdGUgdXBkYXRlRGlzbWlzc2libGVUb2FzdEJvdHRvbSgpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VGltZWRUb2FzdCAmJiB0aGlzLnRpbWVkVG9hc3RFbCkge1xuICAgICAgdGhpcy5kaXNtaXNzaWJsZVRvYXN0Qm90dG9tID0gKHRoaXMudGltZWRUb2FzdEVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgOCkgLyAxNjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNtaXNzaWJsZVRvYXN0Qm90dG9tID0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYWNrRXZlbnQoZXZlbnQ6IFRvYXN0RXZlbnQpIHtcbiAgICBjb25zdCBkaXNtaXNzaWJsZSA9IHRoaXMucGVuZGluZ1RvYXN0cy5maWx0ZXIodCA9PiB0LmRpc21pc3NpYmxlKTtcbiAgICBjb25zdCB0cmFuc2llbnQgPSB0aGlzLnBlbmRpbmdUb2FzdHMuZmlsdGVyKHQgPT4gIXQuZGlzbWlzc2libGUpO1xuXG4gICAgdGhpcy50ZWxlbWV0cnlTZXJ2aWNlLnRyYWNrRXZlbnQoYCR7ZXZlbnQuYWN0aW9ufSB0b2FzdGAsIHtcbiAgICAgIGFjdGlvbjogZXZlbnQuYWN0aW9uLFxuICAgICAgc291cmNlOiBldmVudC5zb3VyY2UsXG4gICAgICBoYXNEaXNtaXNzaWJsZVBlbmRpbmc6IGRpc21pc3NpYmxlLmxlbmd0aCA+IDAgPyAneWVzJyA6ICdubycsXG4gICAgICBkaXNtaXNzaWJsZVBlbmRpbmdMZW5ndGg6IGAke2Rpc21pc3NpYmxlLmxlbmd0aH1gLFxuICAgICAgaGFzVHJhbnNpZW50UGVuZGluZzogdHJhbnNpZW50Lmxlbmd0aCA+IDAgPyAneWVzJyA6ICdubycsXG4gICAgICB0cmFuc2llbnRQZW5kaW5nTGVuZ3RoOiBgJHt0cmFuc2llbnQubGVuZ3RofWAsXG4gICAgICB0b2FzdElkOiBldmVudC50b2FzdC5pZCA/PyAnJyxcbiAgICAgIHRvYXN0VHlwZTogZXZlbnQudG9hc3QudHlwZSxcbiAgICAgIHRvYXN0TWVzc2FnZTogZXZlbnQudG9hc3QubWVzc2FnZSxcbiAgICAgIHRvYXN0RGlzbWlzc2libGU6IGAke2V2ZW50LnRvYXN0LmRpc21pc3NpYmxlfWAsXG4gICAgICB0b2FzdEljb246IGV2ZW50LnRvYXN0Lmljb24gPz8gJycsXG4gICAgICB0b2FzdEFjdGlvbjogZXZlbnQudG9hc3QuYWN0aW9uTGFiZWwgPz8gJycsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxlYy10b2FzdCBbdG9hc3RJdGVtXT1cImN1cnJlbnREaXNtaXNzaWJsZVRvYXN0XCJcbiAgICAgICAgICBbc3R5bGUuLS10b2FzdC1ib3R0b20ucmVtXT1cImRpc21pc3NpYmxlVG9hc3RCb3R0b21cIlxuICAgICAgICAgIChjbG9zZWQpPVwidXBkYXRlVmlzaWJsZVRvYXN0KCRldmVudClcIj5cbjwvZWMtdG9hc3Q+XG5cbjxlYy10b2FzdCAjdGltZWRUb2FzdFxuICAgICAgICAgIFt0b2FzdEl0ZW1dPVwiY3VycmVudFRpbWVkVG9hc3RcIlxuICAgICAgICAgIChjbG9zZWQpPVwidXBkYXRlVmlzaWJsZVRvYXN0KCRldmVudClcIj5cbjwvZWMtdG9hc3Q+Il19
@@ -1,28 +0,0 @@
1
- import { Component, EventEmitter, HostBinding } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../../controls/button/button.component";
5
- export class TooltipComponent {
6
- constructor() {
7
- this.position = 'top-center';
8
- this.dismissible = false;
9
- this.onHide = new EventEmitter();
10
- }
11
- hide() {
12
- this.onHide.next();
13
- this.overlayRef?.dispose();
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TooltipComponent, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor", "style.--ec-tooltip-color-title": "this.titleColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }] }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'ec-tooltip', template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
21
- }], propDecorators: { backgroundColor: [{
22
- type: HostBinding,
23
- args: ['style.--ec-tooltip-background-color']
24
- }], titleColor: [{
25
- type: HostBinding,
26
- args: ['style.--ec-tooltip-color-title']
27
- }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7OztBQTZEbEYsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1FLGFBQVEsR0FBb0IsWUFBWSxDQUFDO1FBTXpDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBV3BCLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQU1qRDtJQUpDLElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0F2QlUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsZ01DOUQ3Qix1ckJBZ0JBOzs0RkQ4Q2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFlBQVk7OEJBaUJ0QixlQUFlO3NCQURkLFdBQVc7dUJBQUMscUNBQXFDO2dCQUlsRCxVQUFVO3NCQURULFdBQVc7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gaXRzIGFuY2hvci4gRm9yIGV4YW1wbGUsIGlmIHBvc2l0aW9uIGlzICd0b3AtbGVmdCcgdGhlIHRoZSB0b29sdGlwIHdpbGwgYXBwZWFyIGFib3ZlIHRoZSBhbmNob3IgYW5kIGV4cGFuZCB0byB0aGUgbGVmdCBvZiB0aGUgYW5jaG9yLlxuICovXG5leHBvcnQgdHlwZSBUb29sdGlwUG9zaXRpb24gPSAndG9wLWxlZnQnIHwgJ3RvcC1jZW50ZXInIHwgJ3RvcC1yaWdodCcgfCAncmlnaHQtdG9wJyB8ICdyaWdodC1jZW50ZXInIHwgJ3JpZ2h0LWJvdHRvbScgfCAnYm90dG9tLWxlZnQnIHwgJ2JvdHRvbS1jZW50ZXInIHwgJ2JvdHRvbS1yaWdodCcgfCAnbGVmdC10b3AnIHwgJ2xlZnQtY2VudGVyJyB8ICdsZWZ0LWJvdHRvbSc7XG5leHBvcnQgaW50ZXJmYWNlIFRvb2x0aXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdG9vbHRpcCB0aGF0IGlzIGFzc2lnbmVkIHRvIHRoZSA8YXJ0aWNsZT4gZWxlbWVudCB0aGF0IHdyYXBzIHRoZSB0b29sdGlwIGNvbnRlbnQuXG4gICAqL1xuICAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdG9vbHRpcCB0aXRsZS4gSGlkZGVuIGlmIG5vdCBkZWZpbmVkLiBUaGUgdG9vbHRpcCBoZWFkZXIgaXMgaGlkZGVuIGlmIGJvdGggdGl0bGUgYW5kIHN1YnRpbGUgYXJlIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUZXh0IHRvIGRpc3BsYXkgdW5kZXIgdGhlIHRvb2x0aXAgdGl0bGUuIEhpZGRlbiBpZiBub3QgZGVmaW5lZC4gVGhlIHRvb2x0aXAgaGVhZGVyIGlzIGhpZGRlbiBpZiBib3RoIHRpdGxlIGFuZCBzdWJ0aXRsZSBhcmUgbm90IGRlZmluZWQuXG4gICAqL1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEhUTUwgc3RyaW5nIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHRoZSB0b29sdGlwLiBXaWxsIGJlIGlnbm9yZWQgaWYgY3VzdG9tQ29udGVudCBoYXMgYSB2YWx1ZS5cbiAgICovXG4gIHRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgVGVtcGxhdGVSZWYgZm9yIGN1c3RvbSBjb250ZW50LiBJZiBjdXN0b21Db250ZW50IGlzIGRlZmluZWQsIGFueSB2YWx1ZSBmb3IgdGV4dCB3aWxsIGJlIGlnbm9yZWQuXG4gICAqL1xuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSBhIGNsb3NlIGJ1dHRvbiBhcHBlYXJzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIHRvIGhpZGUgdGhlIHRvb2x0aXAuIEFuIGV2ZW50IHdpbGwgZW1pdHRlZCB3aGVuIHRoZSB0b29sdGlwIGlzIGhpZGRlbi5cbiAgICovXG4gIGRpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE51bWJlciBpbiBwaXhlbHMgb2YgdGhlIHdpZHRoIG9mIHRoZSB0b29sdGlwLiBJZiB1bmRlZmluZWQgd2lkdGggd2lsbCBiZSBhdXRvLlxuICAgKi9cbiAgd2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBpbiBwaXhlbHMgdGhhdCB0aGUgbWF4LXdpZHRoIG9mIHRoZSB0b29sdGlwIGNhbiBiZS5cbiAgICovXG4gIG1heFdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIGJhY2tncm91bmQgY29sb3IuIENhbiBiZSBhbnkgY29sb3IgdmFsdWUgb3IgY3NzIHZhcmlhYmxlIHdpdGggdmFyKCkgZnVuY3Rpb24uIEZvciBleGFtcGxlOiB2YXIoLS1lYy1iYWNrZ3JvdW5kLWNvbG9yLXN1Y2Nlc3MpO1xuICAgKi9cbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIGNvbG9yIG9mIHRoZSB0aXRsZSB0ZXh0LiBDYW4gYmUgYW55IGNvbG9yIHZhbHVlIG9yIGNzcyB2YXJpYWJsZSB3aXRoIHZhcigpIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZTogdmFyKC0tZWMtY29sb3ItcHJpbWFyeS1saWdodCk7XG4gICAqL1xuICB0aXRsZUNvbG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGhpZGUgdGhlIGFycm93IG9mIHRoZSB0b29sdGlwLiBTaG93aW5nIHRoZSBhcnJvdyBpcyB0aGUgZGVmYXVsdC5cbiAgICovXG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlYy10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCBpbXBsZW1lbnRzIFRvb2x0aXBPcHRpb25zIHtcbiAgcG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9ICd0b3AtY2VudGVyJztcblxuICBpZD86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBkaXNtaXNzaWJsZSA9IGZhbHNlO1xuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcbiAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWVjLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcicpXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tZWMtdG9vbHRpcC1jb2xvci10aXRsZScpXG4gIHRpdGxlQ29sb3I/OiBzdHJpbmc7XG5cbiAgb25IaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLm9uSGlkZS5uZXh0KCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cbiIsIjxhcnRpY2xlIGlkPVwie3tpZH19XCIgY2xhc3M9XCJweS0zIHBvc2l0aW9uLXt7cG9zaXRpb259fVwiIFtjbGFzcy5zaG93LWFycm93XT1cIiFoaWRlQXJyb3dcIj5cbiAgPGhlYWRlciAqbmdJZj1cInRpdGxlIHx8IHN1YnRpdGxlXCIgY2xhc3M9XCJtYi0zXCI+XG4gICAgPGgxIGNsYXNzPVwidGV4dC1oZWFkaW5nLTIgcHgtMyBtYi0wXCI+e3t0aXRsZX19PC9oMT5cbiAgICA8cCBjbGFzcz1cInRleHQtY2FwdGlvbi0xIHB4LTMgbWItMFwiPnt7c3VidGl0bGV9fTwvcD5cbiAgPC9oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUNvbnRlbnQ7IGVsc2UgdGV4dFRlbXBsYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICN0ZXh0VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS0xIHB4LTNcIiBbaW5uZXJIVE1MXT1cInRleHRcIj48L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8ZWMtYnV0dG9uICpuZ0lmPVwiZGlzbWlzc2libGVcIiBpZD1cInRvb2x0aXBEaXNtaXNzXCIgdHlwZT1cImljb25cIiBpY29uPVwiaWNvbi1jYW5jZWxcIiAoY2xpY2tlZCk9XCJoaWRlKClcIj48L2VjLWJ1dHRvbj5cbjwvYXJ0aWNsZT5cbiJdfQ==
@@ -1,78 +0,0 @@
1
- import { OverlayConfig } from "@angular/cdk/overlay";
2
- import { ComponentPortal } from "@angular/cdk/portal";
3
- import { Injectable } from "@angular/core";
4
- import { TooltipComponent } from "./tooltip.component";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/overlay";
7
- export class TooltipService {
8
- constructor(overlay) {
9
- this.overlay = overlay;
10
- this.positions = {
11
- 'top-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 38 },
12
- 'top-center': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
13
- 'top-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -38 },
14
- 'bottom-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 38 },
15
- 'bottom-center': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
16
- 'bottom-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -38 },
17
- 'left-top': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -38 },
18
- 'left-center': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
19
- 'left-bottom': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 38 },
20
- 'right-top': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -38 },
21
- 'right-center': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
22
- 'right-bottom': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 38 }
23
- };
24
- }
25
- /**
26
- * Show a tooltip attached to a specified element
27
- */
28
- show(anchor, position = 'top-center', options) {
29
- const overlayConfig = this.getOverlayConfig(anchor, this.positions[position], options?.width, options?.maxWidth);
30
- const overlayRef = this.overlay.create(overlayConfig);
31
- const contentPortal = new ComponentPortal(TooltipComponent);
32
- const contentViewRef = overlayRef.attach(contentPortal);
33
- contentViewRef.instance.position = position;
34
- contentViewRef.instance.id = options?.id;
35
- contentViewRef.instance.title = options?.title;
36
- contentViewRef.instance.subtitle = options?.subtitle;
37
- contentViewRef.instance.text = options?.text;
38
- contentViewRef.instance.customContent = options?.customContent;
39
- contentViewRef.instance.dismissible = options?.dismissible || false;
40
- contentViewRef.instance.backgroundColor = options?.backgroundColor;
41
- contentViewRef.instance.titleColor = options?.titleColor;
42
- contentViewRef.instance.hideArrow = options?.hideArrow;
43
- contentViewRef.instance.overlayRef = overlayRef;
44
- return contentViewRef.instance;
45
- }
46
- onMove(event, contentRect) {
47
- let callCallback = false;
48
- if (contentRect) {
49
- if (event.clientX > contentRect.right
50
- || event.clientX < contentRect.left
51
- || event.clientY > contentRect.bottom
52
- || event.clientY < contentRect.top) {
53
- callCallback = true;
54
- }
55
- }
56
- return callCallback;
57
- }
58
- getOverlayConfig(element, position, width, maxWidth) {
59
- const positionStrategy = this.overlay.position()
60
- .flexibleConnectedTo(element)
61
- .withPositions([position]);
62
- const config = new OverlayConfig({
63
- positionStrategy: positionStrategy,
64
- width: width,
65
- maxWidth: maxWidth
66
- });
67
- return config;
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, providedIn: 'root' }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, decorators: [{
73
- type: Injectable,
74
- args: [{
75
- providedIn: 'root'
76
- }]
77
- }], ctorParameters: () => [{ type: i1.Overlay }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1DLE1BQU0scUJBQXFCLENBQUM7OztBQUt4RixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBaEJsQixjQUFTLEdBQXVDO1lBQ3RELFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNuRyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzNGLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZHLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQzlGLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFHLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25HLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDM0YsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3hHLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BHLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDNUYsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1NBQzFHLENBQUE7SUFJQyxDQUFDO0lBRUg7O09BRUc7SUFDSCxJQUFJLENBQUMsTUFBbUIsRUFBRSxXQUE0QixZQUFZLEVBQUUsT0FBd0I7UUFDMUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2pILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRELE1BQU0sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUQsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFNUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUN6QyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBQy9DLGNBQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDckQsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQztRQUM3QyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxPQUFPLEVBQUUsYUFBYSxDQUFDO1FBQy9ELGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksS0FBSyxDQUFDO1FBQ3BFLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxHQUFHLE9BQU8sRUFBRSxlQUFlLENBQUM7UUFDbkUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsT0FBTyxFQUFFLFVBQVUsQ0FBQztRQUN6RCxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDO1FBQ3ZELGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUVoRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQixFQUFFLFdBQW1CO1FBQzFDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQ0ksS0FBSyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsS0FBSzttQkFDakMsS0FBSyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSTttQkFDaEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsTUFBTTttQkFDbEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxFQUNqQyxDQUFDO2dCQUNELFlBQVksR0FBRyxJQUFJLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBaUMsRUFBRSxRQUEyQixFQUFFLEtBQWMsRUFBRSxRQUFpQjtRQUN4SCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2FBQzdDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQzthQUM1QixhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRTdCLE1BQU0sTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDO1lBQy9CLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxLQUFLLEVBQUUsS0FBSztZQUNaLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBekVVLGNBQWM7bUhBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zLCBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBwb3NpdGlvbnM6IHtba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbn0gPSB7XG4gICAgJ3RvcC1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiAzOCB9LFxuICAgICd0b3AtY2VudGVyJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgJ3RvcC1yaWdodCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiAtMzggfSxcbiAgICAnYm90dG9tLWxlZnQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IDM4IH0sXG4gICAgJ2JvdHRvbS1jZW50ZXInOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAnYm90dG9tLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IC0zOCB9LFxuICAgICdsZWZ0LXRvcCc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiAtMzggfSxcbiAgICAnbGVmdC1jZW50ZXInOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxuICAgICdsZWZ0LWJvdHRvbSc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAzOCB9LFxuICAgICdyaWdodC10b3AnOiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTM4IH0sXG4gICAgJ3JpZ2h0LWNlbnRlcic6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG4gICAgJ3JpZ2h0LWJvdHRvbSc6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAzOCB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcbiAgKXt9XG5cbiAgLyoqXG4gICAqIFNob3cgYSB0b29sdGlwIGF0dGFjaGVkIHRvIGEgc3BlY2lmaWVkIGVsZW1lbnRcbiAgICovXG4gIHNob3coYW5jaG9yOiBIVE1MRWxlbWVudCwgcG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9ICd0b3AtY2VudGVyJywgb3B0aW9ucz86IFRvb2x0aXBPcHRpb25zKTogVG9vbHRpcENvbXBvbmVudCB7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhhbmNob3IsIHRoaXMucG9zaXRpb25zW3Bvc2l0aW9uXSwgb3B0aW9ucz8ud2lkdGgsIG9wdGlvbnM/Lm1heFdpZHRoKTtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcblxuICAgIGNvbnN0IGNvbnRlbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbnRlbnRWaWV3UmVmID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGVudFBvcnRhbCk7XG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcblxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmlkID0gb3B0aW9ucz8uaWQ7XG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UudGl0bGUgPSBvcHRpb25zPy50aXRsZTtcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5zdWJ0aXRsZSA9IG9wdGlvbnM/LnN1YnRpdGxlO1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRleHQgPSBvcHRpb25zPy50ZXh0O1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmN1c3RvbUNvbnRlbnQgPSBvcHRpb25zPy5jdXN0b21Db250ZW50O1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmRpc21pc3NpYmxlID0gb3B0aW9ucz8uZGlzbWlzc2libGUgfHwgZmFsc2U7XG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuYmFja2dyb3VuZENvbG9yID0gb3B0aW9ucz8uYmFja2dyb3VuZENvbG9yO1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRpdGxlQ29sb3IgPSBvcHRpb25zPy50aXRsZUNvbG9yO1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmhpZGVBcnJvdyA9IG9wdGlvbnM/LmhpZGVBcnJvdztcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcblxuICAgIHJldHVybiBjb250ZW50Vmlld1JlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIG9uTW92ZShldmVudDpNb3VzZUV2ZW50LCBjb250ZW50UmVjdDpET01SZWN0KTpib29sZWFuIHtcbiAgICBsZXQgY2FsbENhbGxiYWNrID0gZmFsc2U7XG4gICAgaWYgKGNvbnRlbnRSZWN0KSB7XG4gICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQuY2xpZW50WCA+IGNvbnRlbnRSZWN0LnJpZ2h0XG4gICAgICAgfHwgZXZlbnQuY2xpZW50WCA8IGNvbnRlbnRSZWN0LmxlZnRcbiAgICAgICB8fCBldmVudC5jbGllbnRZID4gY29udGVudFJlY3QuYm90dG9tXG4gICAgICAgfHwgZXZlbnQuY2xpZW50WSA8IGNvbnRlbnRSZWN0LnRvcFxuICAgICAgKSB7XG4gICAgICAgIGNhbGxDYWxsYmFjayA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYWxsQ2FsbGJhY2s7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmLCBwb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24sIHdpZHRoPzogbnVtYmVyLCBtYXhXaWR0aD86IG51bWJlcik6IE92ZXJsYXlDb25maWcge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWxlbWVudClcbiAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvbl0pO1xuXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIG1heFdpZHRoOiBtYXhXaWR0aFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19