@leanix/components 0.4.407 → 0.4.409

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 (40) hide show
  1. package/esm2022/index.mjs +2 -1
  2. package/esm2022/lib/core-ui/components/badge/badge.component.mjs +21 -1
  3. package/esm2022/lib/core-ui/components/banner/banner.component.mjs +23 -1
  4. package/esm2022/lib/core-ui/components/button/button.component.mjs +40 -1
  5. package/esm2022/lib/core-ui/components/card/card.component.mjs +16 -1
  6. package/esm2022/lib/core-ui/components/content-panel/content-panel.component.mjs +18 -3
  7. package/esm2022/lib/core-ui/components/counter/counter.component.mjs +14 -1
  8. package/esm2022/lib/core-ui/components/integration-link-card/integration-link-card.component.mjs +47 -1
  9. package/esm2022/lib/core-ui/components/skeleton/skeleton.component.mjs +19 -1
  10. package/esm2022/lib/core-ui/components/stepper/stepper.component.mjs +41 -1
  11. package/esm2022/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +12 -1
  12. package/esm2022/lib/core-ui/components/tokenizer/tokenizer-overflow-popover/tokenizer-overflow-popover.component.mjs +44 -0
  13. package/esm2022/lib/core-ui/components/tokenizer/tokenizer.component.mjs +3 -3
  14. package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +16 -1
  15. package/esm2022/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +17 -1
  16. package/esm2022/lib/forms-ui/components/date-input/date-input.component.mjs +100 -38
  17. package/esm2022/lib/forms-ui/components/slider-toggle/slider-toggle.component.mjs +18 -1
  18. package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +55 -7
  19. package/esm2022/lib/popover-ui/components/popover/popover.component.mjs +31 -6
  20. package/fesm2022/leanix-components.mjs +541 -82
  21. package/fesm2022/leanix-components.mjs.map +1 -1
  22. package/index.d.ts +1 -0
  23. package/lib/core-ui/components/badge/badge.component.d.ts +23 -0
  24. package/lib/core-ui/components/banner/banner.component.d.ts +22 -0
  25. package/lib/core-ui/components/button/button.component.d.ts +39 -0
  26. package/lib/core-ui/components/card/card.component.d.ts +15 -0
  27. package/lib/core-ui/components/content-panel/content-panel.component.d.ts +18 -1
  28. package/lib/core-ui/components/counter/counter.component.d.ts +14 -0
  29. package/lib/core-ui/components/integration-link-card/integration-link-card.component.d.ts +60 -0
  30. package/lib/core-ui/components/skeleton/skeleton.component.d.ts +18 -0
  31. package/lib/core-ui/components/stepper/stepper.component.d.ts +40 -0
  32. package/lib/core-ui/components/tiny-spinner/tiny-spinner.component.d.ts +11 -0
  33. package/lib/core-ui/components/tokenizer/tokenizer-overflow-popover/tokenizer-overflow-popover.component.d.ts +19 -0
  34. package/lib/core-ui/tooltip/tooltip.directive.d.ts +17 -0
  35. package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +16 -0
  36. package/lib/forms-ui/components/date-input/date-input.component.d.ts +80 -7
  37. package/lib/forms-ui/components/slider-toggle/slider-toggle.component.d.ts +20 -0
  38. package/lib/modal-ui/components/modal/modal.component.d.ts +59 -5
  39. package/lib/popover-ui/components/popover/popover.component.d.ts +37 -5
  40. package/package.json +1 -1
@@ -4,19 +4,59 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/bidi";
6
6
  import * as i2 from "@angular/common";
7
+ /**
8
+ * Stepper component is a wrapper around the Angular CDK Stepper component. It provides a way to create a linear
9
+ * sequence of steps that guide users through a process.
10
+ *
11
+ * ## Usage
12
+ *
13
+ * 1. Import `LxCoreUiModule` module from `@leanix/components` and `CdkStepperModule` module from `@angular/cdk/stepper` in your module where you want to use the component, or in case of a standalone parent component, import the
14
+ * `StepperComponent` and `CdkStepperModule` directly into your standalone component.
15
+ *
16
+ * - Module import:
17
+ *
18
+ * ```ts
19
+ * import { LxCoreUiModule } from '@leanix/components';
20
+ * import { CdkStepperModule } from '@angular/cdk/stepper';
21
+ * ```
22
+ *
23
+ * - Standalone component import:
24
+ *
25
+ * ```ts
26
+ * import { StepperComponent } from '@leanix/components';
27
+ * import { CdkStepperModule } from '@angular/cdk/stepper';
28
+ *
29
+ * @Component({
30
+ * selector: 'lx-my-component',
31
+ * standalone: true,
32
+ * imports: [CdkStepperModule, StepperComponent],
33
+ * templateUrl: './my-component.component.html'
34
+ * })
35
+ * export class MyComponent {}
36
+ * ```
37
+ *
38
+ * 2. Use the component in your template. All steps added to the stepper should be wrapped in a `cdk-step` element.
39
+ *
40
+ * Since this component extends the Angular CDK `CdkStepper` component, all the inputs, outputs, and methods available in the
41
+ * `CdkStepper` component are also available in the `StepperComponent` and are documented in the
42
+ * [Angular CDK documentation](https://material.angular.io/cdk/stepper/api).
43
+ */
7
44
  export class StepperComponent extends CdkStepper {
8
45
  // TODO - Remove this constructor once the following issue is resolved: https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436
9
46
  // Storybook smoke tests for stepper component are failing without this constructor
10
47
  constructor(_dir, _changeDetectorRef, _elementRef) {
11
48
  super(_dir, _changeDetectorRef, _elementRef);
49
+ /** @internal */
12
50
  this.size = 'normal';
13
51
  }
14
52
  get isSmallVariant() {
15
53
  return this.size === 'small';
16
54
  }
55
+ /** @internal */
17
56
  isCompleted(index) {
18
57
  return index < this.selectedIndex;
19
58
  }
59
+ /** @internal */
20
60
  isActiveStep(index) {
21
61
  return index === this.selectedIndex;
22
62
  }
@@ -27,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
27
67
  type: Component,
28
68
  args: [{ selector: 'lx-stepper', standalone: true, imports: [CommonModule, CdkStepperModule], providers: [{ provide: CdkStepper, useExisting: StepperComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"stepper\">\n @for (step of steps; track step.label; let i = $index) {\n <li class=\"step\" [ngClass]=\"{ 'step-completed': isCompleted(i) }\">\n <div\n class=\"step-container\"\n [class]=\"isSmallVariant ? 'step-container-small' : 'step-container-normal'\"\n [ngClass]=\"{ 'step-container-active': isActiveStep(i), 'step-container-completed': isCompleted(i) }\"\n >\n <div class=\"step-number\" [ngClass]=\"{ 'step-number-active': isActiveStep(i) }\">\n @if (isCompleted(i)) {\n <i [class]=\"'far fa-check check-icon'\" [ngClass]=\"{ 'small-icon': isSmallVariant }\"></i>\n } @else if (!isSmallVariant) {\n {{ i + 1 }}\n }\n </div>\n @if (!isSmallVariant) {\n <div class=\"step-title\">\n {{ step.label }}\n </div>\n }\n </div>\n </li>\n }\n</ul>\n@if (selected) {\n <div class=\"content\">\n <ng-container [ngTemplateOutlet]=\"selected!.content\" />\n </div>\n}\n", styles: [".stepper{display:flex;position:relative;align-items:center;padding-left:0}.step{position:relative;z-index:1;flex:1;display:flex;flex-direction:row;flex-shrink:0}.step:not(:last-child):after{content:\"\";position:relative;z-index:1;flex:auto;height:1px;min-width:30px;border-top:2px solid #b2bccc;align-self:center;margin-left:5px;margin-right:5px}.step-container{display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;border:2px solid #b2bccc;border-radius:50%;background-color:#fff;pointer-events:none}.step-container-normal{width:40px;height:40px}.step-container-small{width:22.5px;height:22.5px}.step-number{color:#b2bccc;font-size:15.5px;font-style:normal;font-weight:400;line-height:20px;width:100%;height:100%;padding-top:8px;text-align:center}.step-container-small .step-number{padding-top:0}.step-title{width:max-content;top:50px;position:absolute}.check-icon{font-size:20px;color:#0070f2}.small-icon{position:relative;font-size:12px}@supports (-moz-appearance: none){.small-icon{top:-1px}}.content{margin-top:48px;height:100%}.step:first-child{justify-content:flex-start}.step:first-child .step-title{left:0}.step:not(:first-child):not(:last-child) .step-container{align-self:center}.step:not(:first-child):not(:last-child) .step-container .step-title{align-self:center}.step:last-child{justify-content:flex-end;align-items:flex-end;text-align:right;flex:0 0 auto}.step:last-child .step-container .step-title{align-self:flex-end;right:0}.step:last-child .step-number{margin-right:40%}.step:nth-child(n+19):last-child .step-number{margin-right:31%}.step-container.step-container-active{background-color:#0070f2;border-color:#0070f2}.step-number-active{color:#fff}.step.step-completed:not(:last-child):after{border-color:#0070f2}.step-container.step-container-completed{border-color:#0070f2}\n"] }]
29
69
  }], ctorParameters: () => [{ type: i1.Directionality }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7OztBQVdsRyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQUc5QyxxSkFBcUo7SUFDckosbUZBQW1GO0lBQ25GLFlBQVksSUFBb0IsRUFBRSxrQkFBcUMsRUFBRSxXQUFvQztRQUMzRyxLQUFLLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBTC9DLFNBQUksR0FBdUIsUUFBUSxDQUFDO0lBTXBDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN0QyxDQUFDOzhHQW5CVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix5REFIaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUMsaURDWHJFLHlnQ0E2QkEseTFERHJCWSxZQUFZLG1TQUFFLGdCQUFnQjs7MkZBTTdCLGdCQUFnQjtrQkFUNUIsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLGFBRzlCLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsa0JBQWtCLEVBQUUsQ0FBQyxtQkFDbEQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ2RrU3RlcHBlciwgQ2RrU3RlcHBlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zdGVwcGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1zdGVwcGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2RrU3RlcHBlck1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3N0ZXBwZXIuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENka1N0ZXBwZXIsIHVzZUV4aXN0aW5nOiBTdGVwcGVyQ29tcG9uZW50IH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IGV4dGVuZHMgQ2RrU3RlcHBlciB7XG4gIHNpemU6ICdzbWFsbCcgfCAnbm9ybWFsJyA9ICdub3JtYWwnO1xuXG4gIC8vIFRPRE8gLSBSZW1vdmUgdGhpcyBjb25zdHJ1Y3RvciBvbmNlIHRoZSBmb2xsb3dpbmcgaXNzdWUgaXMgcmVzb2x2ZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzIzNTM0I2lzc3VlY29tbWVudC0yMDQyODg4NDM2XG4gIC8vIFN0b3J5Ym9vayBzbW9rZSB0ZXN0cyBmb3Igc3RlcHBlciBjb21wb25lbnQgYXJlIGZhaWxpbmcgd2l0aG91dCB0aGlzIGNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKF9kaXI6IERpcmVjdGlvbmFsaXR5LCBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBzdXBlcihfZGlyLCBfY2hhbmdlRGV0ZWN0b3JSZWYsIF9lbGVtZW50UmVmKTtcbiAgfVxuXG4gIGdldCBpc1NtYWxsVmFyaWFudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnc21hbGwnO1xuICB9XG5cbiAgaXNDb21wbGV0ZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbmRleCA8IHRoaXMuc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIGlzQWN0aXZlU3RlcChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnNlbGVjdGVkSW5kZXg7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cInN0ZXBwZXJcIj5cbiAgQGZvciAoc3RlcCBvZiBzdGVwczsgdHJhY2sgc3RlcC5sYWJlbDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8bGkgY2xhc3M9XCJzdGVwXCIgW25nQ2xhc3NdPVwieyAnc3RlcC1jb21wbGV0ZWQnOiBpc0NvbXBsZXRlZChpKSB9XCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic3RlcC1jb250YWluZXJcIlxuICAgICAgICBbY2xhc3NdPVwiaXNTbWFsbFZhcmlhbnQgPyAnc3RlcC1jb250YWluZXItc21hbGwnIDogJ3N0ZXAtY29udGFpbmVyLW5vcm1hbCdcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdzdGVwLWNvbnRhaW5lci1hY3RpdmUnOiBpc0FjdGl2ZVN0ZXAoaSksICdzdGVwLWNvbnRhaW5lci1jb21wbGV0ZWQnOiBpc0NvbXBsZXRlZChpKSB9XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtbnVtYmVyXCIgW25nQ2xhc3NdPVwieyAnc3RlcC1udW1iZXItYWN0aXZlJzogaXNBY3RpdmVTdGVwKGkpIH1cIj5cbiAgICAgICAgICBAaWYgKGlzQ29tcGxldGVkKGkpKSB7XG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwiJ2ZhciBmYS1jaGVjayBjaGVjay1pY29uJ1wiIFtuZ0NsYXNzXT1cInsgJ3NtYWxsLWljb24nOiBpc1NtYWxsVmFyaWFudCB9XCI+PC9pPlxuICAgICAgICAgIH0gQGVsc2UgaWYgKCFpc1NtYWxsVmFyaWFudCkge1xuICAgICAgICAgICAge3sgaSArIDEgfX1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKCFpc1NtYWxsVmFyaWFudCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLXRpdGxlXCI+XG4gICAgICAgICAgICB7eyBzdGVwLmxhYmVsIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gIH1cbjwvdWw+XG5AaWYgKHNlbGVjdGVkKSB7XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzZWxlY3RlZCEuY29udGVudFwiIC8+XG4gIDwvZGl2PlxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7OztBQUVsRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NHO0FBVUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFVBQVU7SUFJOUMscUpBQXFKO0lBQ3JKLG1GQUFtRjtJQUNuRixZQUFZLElBQW9CLEVBQUUsa0JBQXFDLEVBQUUsV0FBb0M7UUFDM0csS0FBSyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQU4vQyxnQkFBZ0I7UUFDaEIsU0FBSSxHQUF1QixRQUFRLENBQUM7SUFNcEMsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsV0FBVyxDQUFDLEtBQWE7UUFDdkIsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDdEMsQ0FBQzs4R0F0QlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IseURBSGhCLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLGlEQ2hEckUseWdDQTZCQSx5MUREZ0JZLFlBQVksbVNBQUUsZ0JBQWdCOzsyRkFNN0IsZ0JBQWdCO2tCQVQ1QixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsYUFHOUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtTdGVwcGVyLCBDZGtTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU3RlcHBlciBjb21wb25lbnQgaXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgQW5ndWxhciBDREsgU3RlcHBlciBjb21wb25lbnQuIEl0IHByb3ZpZGVzIGEgd2F5IHRvIGNyZWF0ZSBhIGxpbmVhclxuICogc2VxdWVuY2Ugb2Ygc3RlcHMgdGhhdCBndWlkZSB1c2VycyB0aHJvdWdoIGEgcHJvY2Vzcy5cbiAqXG4gKiAjIyBVc2FnZVxuICpcbiAqIDEuIEltcG9ydCBgTHhDb3JlVWlNb2R1bGVgIG1vZHVsZSBmcm9tIGBAbGVhbml4L2NvbXBvbmVudHNgIGFuZCBgQ2RrU3RlcHBlck1vZHVsZWAgbW9kdWxlIGZyb20gYEBhbmd1bGFyL2Nkay9zdGVwcGVyYCBpbiB5b3VyIG1vZHVsZSB3aGVyZSB5b3Ugd2FudCB0byB1c2UgdGhlIGNvbXBvbmVudCwgb3IgaW4gY2FzZSBvZiBhIHN0YW5kYWxvbmUgcGFyZW50IGNvbXBvbmVudCwgaW1wb3J0IHRoZVxuICogICAgYFN0ZXBwZXJDb21wb25lbnRgIGFuZCBgQ2RrU3RlcHBlck1vZHVsZWAgZGlyZWN0bHkgaW50byB5b3VyIHN0YW5kYWxvbmUgY29tcG9uZW50LlxuICpcbiAqIC0gTW9kdWxlIGltcG9ydDpcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgTHhDb3JlVWlNb2R1bGUgfSBmcm9tICdAbGVhbml4L2NvbXBvbmVudHMnO1xuICogaW1wb3J0IHsgQ2RrU3RlcHBlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zdGVwcGVyJztcbiAqIGBgYFxuICpcbiAqIC0gU3RhbmRhbG9uZSBjb21wb25lbnQgaW1wb3J0OlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnQGxlYW5peC9jb21wb25lbnRzJztcbiAqIGltcG9ydCB7IENka1N0ZXBwZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XG4gKlxuICogQENvbXBvbmVudCh7XG4gKiAgIHNlbGVjdG9yOiAnbHgtbXktY29tcG9uZW50JyxcbiAqICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAqICAgaW1wb3J0czogW0Nka1N0ZXBwZXJNb2R1bGUsIFN0ZXBwZXJDb21wb25lbnRdLFxuICogICB0ZW1wbGF0ZVVybDogJy4vbXktY29tcG9uZW50LmNvbXBvbmVudC5odG1sJ1xuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCB7fVxuICogYGBgXG4gKlxuICogMi4gVXNlIHRoZSBjb21wb25lbnQgaW4geW91ciB0ZW1wbGF0ZS4gQWxsIHN0ZXBzIGFkZGVkIHRvIHRoZSBzdGVwcGVyIHNob3VsZCBiZSB3cmFwcGVkIGluIGEgYGNkay1zdGVwYCBlbGVtZW50LlxuICpcbiAqIFNpbmNlIHRoaXMgY29tcG9uZW50IGV4dGVuZHMgdGhlIEFuZ3VsYXIgQ0RLIGBDZGtTdGVwcGVyYCBjb21wb25lbnQsIGFsbCB0aGUgaW5wdXRzLCBvdXRwdXRzLCBhbmQgbWV0aG9kcyBhdmFpbGFibGUgaW4gdGhlXG4gKiBgQ2RrU3RlcHBlcmAgY29tcG9uZW50IGFyZSBhbHNvIGF2YWlsYWJsZSBpbiB0aGUgYFN0ZXBwZXJDb21wb25lbnRgIGFuZCBhcmUgZG9jdW1lbnRlZCBpbiB0aGVcbiAqIFtBbmd1bGFyIENESyBkb2N1bWVudGF0aW9uXShodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY2RrL3N0ZXBwZXIvYXBpKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtc3RlcHBlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENka1N0ZXBwZXJNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDZGtTdGVwcGVyLCB1c2VFeGlzdGluZzogU3RlcHBlckNvbXBvbmVudCB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU3RlcHBlckNvbXBvbmVudCBleHRlbmRzIENka1N0ZXBwZXIge1xuICAvKiogQGludGVybmFsICovXG4gIHNpemU6ICdzbWFsbCcgfCAnbm9ybWFsJyA9ICdub3JtYWwnO1xuXG4gIC8vIFRPRE8gLSBSZW1vdmUgdGhpcyBjb25zdHJ1Y3RvciBvbmNlIHRoZSBmb2xsb3dpbmcgaXNzdWUgaXMgcmVzb2x2ZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svaXNzdWVzLzIzNTM0I2lzc3VlY29tbWVudC0yMDQyODg4NDM2XG4gIC8vIFN0b3J5Ym9vayBzbW9rZSB0ZXN0cyBmb3Igc3RlcHBlciBjb21wb25lbnQgYXJlIGZhaWxpbmcgd2l0aG91dCB0aGlzIGNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKF9kaXI6IERpcmVjdGlvbmFsaXR5LCBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBzdXBlcihfZGlyLCBfY2hhbmdlRGV0ZWN0b3JSZWYsIF9lbGVtZW50UmVmKTtcbiAgfVxuXG4gIGdldCBpc1NtYWxsVmFyaWFudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnc21hbGwnO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBpc0NvbXBsZXRlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluZGV4IDwgdGhpcy5zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBpc0FjdGl2ZVN0ZXAoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5zZWxlY3RlZEluZGV4O1xuICB9XG59XG4iLCI8dWwgY2xhc3M9XCJzdGVwcGVyXCI+XG4gIEBmb3IgKHN0ZXAgb2Ygc3RlcHM7IHRyYWNrIHN0ZXAubGFiZWw7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGxpIGNsYXNzPVwic3RlcFwiIFtuZ0NsYXNzXT1cInsgJ3N0ZXAtY29tcGxldGVkJzogaXNDb21wbGV0ZWQoaSkgfVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInN0ZXAtY29udGFpbmVyXCJcbiAgICAgICAgW2NsYXNzXT1cImlzU21hbGxWYXJpYW50ID8gJ3N0ZXAtY29udGFpbmVyLXNtYWxsJyA6ICdzdGVwLWNvbnRhaW5lci1ub3JtYWwnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnc3RlcC1jb250YWluZXItYWN0aXZlJzogaXNBY3RpdmVTdGVwKGkpLCAnc3RlcC1jb250YWluZXItY29tcGxldGVkJzogaXNDb21wbGV0ZWQoaSkgfVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLW51bWJlclwiIFtuZ0NsYXNzXT1cInsgJ3N0ZXAtbnVtYmVyLWFjdGl2ZSc6IGlzQWN0aXZlU3RlcChpKSB9XCI+XG4gICAgICAgICAgQGlmIChpc0NvbXBsZXRlZChpKSkge1xuICAgICAgICAgICAgPGkgW2NsYXNzXT1cIidmYXIgZmEtY2hlY2sgY2hlY2staWNvbidcIiBbbmdDbGFzc109XCJ7ICdzbWFsbC1pY29uJzogaXNTbWFsbFZhcmlhbnQgfVwiPjwvaT5cbiAgICAgICAgICB9IEBlbHNlIGlmICghaXNTbWFsbFZhcmlhbnQpIHtcbiAgICAgICAgICAgIHt7IGkgKyAxIH19XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmICghaXNTbWFsbFZhcmlhbnQpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC10aXRsZVwiPlxuICAgICAgICAgICAge3sgc3RlcC5sYWJlbCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICB9XG48L3VsPlxuQGlmIChzZWxlY3RlZCkge1xuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VsZWN0ZWQhLmNvbnRlbnRcIiAvPlxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -1,5 +1,16 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Tiny spinner component is used to show a small spinner.
5
+ *
6
+ * ## Usage
7
+ *
8
+ * 1. Import the `TinySpinnerComponent` component from `@leanix/components` in your module or standalone copmonent where you want to use the component.
9
+ *
10
+ * ```ts
11
+ * import { TinySpinnerComponent } from '@leanix/components';
12
+ * ```
13
+ */
3
14
  export class TinySpinnerComponent {
4
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TinySpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
16
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TinySpinnerComponent, isStandalone: true, selector: "lx-tiny-spinner", ngImport: i0, template: "<i class=\"far fa-spinner fa-spin fa-fw\"></i>\n" }); }
@@ -8,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
8
19
  type: Component,
9
20
  args: [{ selector: 'lx-tiny-spinner', standalone: true, template: "<i class=\"far fa-spinner fa-spin fa-fw\"></i>\n" }]
10
21
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90aW55LXNwaW5uZXIvdGlueS1zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90aW55LXNwaW5uZXIvdGlueS1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyxvQkFBb0I7OEdBQXBCLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJFQ1BqQyxrREFDQTs7MkZETWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQixjQUVmLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtdGlueS1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICd0aW55LXNwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRpbnlTcGlubmVyQ29tcG9uZW50IHt9XG4iLCI8aSBjbGFzcz1cImZhciBmYS1zcGlubmVyIGZhLXNwaW4gZmEtZndcIj48L2k+XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90aW55LXNwaW5uZXIvdGlueS1zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90aW55LXNwaW5uZXIvdGlueS1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOzs7Ozs7Ozs7O0dBVUc7QUFNSCxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7a0dBQXBCLG9CQUFvQiwyRUNsQmpDLGtEQUNBOzsyRkRpQmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQixjQUVmLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaW55IHNwaW5uZXIgY29tcG9uZW50IGlzIHVzZWQgdG8gc2hvdyBhIHNtYWxsIHNwaW5uZXIuXG4gKlxuICogIyMgVXNhZ2VcbiAqXG4gKiAxLiBJbXBvcnQgdGhlIGBUaW55U3Bpbm5lckNvbXBvbmVudGAgY29tcG9uZW50IGZyb20gYEBsZWFuaXgvY29tcG9uZW50c2AgaW4geW91ciBtb2R1bGUgb3Igc3RhbmRhbG9uZSBjb3Btb25lbnQgd2hlcmUgeW91IHdhbnQgdG8gdXNlIHRoZSBjb21wb25lbnQuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFRpbnlTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQGxlYW5peC9jb21wb25lbnRzJztcbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC10aW55LXNwaW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJ3Rpbnktc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGlueVNwaW5uZXJDb21wb25lbnQge31cbiIsIjxpIGNsYXNzPVwiZmFyIGZhLXNwaW5uZXIgZmEtc3BpbiBmYS1md1wiPjwvaT5cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DestroyRef, effect, inject, input, signal, ViewChild } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { SatPopoverComponent, SatPopoverModule } from '@ncstate/sat-popover';
5
+ import { TokenizerComponent } from '../tokenizer.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ncstate/sat-popover";
8
+ export class TokenizerOverflowPopoverComponent {
9
+ constructor() {
10
+ this.destroyRef = inject(DestroyRef);
11
+ this.startIndex = signal(0);
12
+ this.changeDetectorRef = inject(ChangeDetectorRef);
13
+ this.tokenizer = input.required();
14
+ this.horizontalAlign = input('after');
15
+ this.verticalAlign = input('start');
16
+ effect(() => {
17
+ this.overflowClickSubscription?.unsubscribe();
18
+ this.overflowClickSubscription = this.tokenizer()
19
+ .overflowPlaceholderClick.pipe(takeUntilDestroyed(this.destroyRef))
20
+ .subscribe(({ startIndex, counterElement }) => {
21
+ this.startIndex.set(startIndex);
22
+ this.popover.anchor = counterElement;
23
+ this.popover.open();
24
+ });
25
+ });
26
+ }
27
+ closePopover() {
28
+ this.popover.close();
29
+ this.changeDetectorRef.detectChanges();
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TokenizerOverflowPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TokenizerOverflowPopoverComponent, isStandalone: true, selector: "lx-tokenizer-overflow-popover", inputs: { tokenizer: { classPropertyName: "tokenizer", publicName: "tokenizer", isSignal: true, isRequired: true, transformFunction: null }, horizontalAlign: { classPropertyName: "horizontalAlign", publicName: "horizontalAlign", isSignal: true, isRequired: false, transformFunction: null }, verticalAlign: { classPropertyName: "verticalAlign", publicName: "verticalAlign", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "popoverTemplate", first: true, predicate: ["popoverTemplate"], descendants: true }], viewQueries: [{ propertyName: "popover", first: true, predicate: SatPopoverComponent, descendants: true }], ngImport: i0, template: "<sat-popover\n (backdropClicked)=\"closePopover()\"\n [hasBackdrop]=\"true\"\n [horizontalAlign]=\"horizontalAlign()\"\n [verticalAlign]=\"verticalAlign()\"\n openTransition=\"100ms\"\n closeTransition=\"100ms\"\n>\n @if (popoverTemplate) {\n <div\n class=\"tokenizerPopoverContentWrapper\"\n [class.before]=\"horizontalAlign() === 'before'\"\n [class.after]=\"horizontalAlign() === 'after'\"\n >\n <ng-container *ngTemplateOutlet=\"popoverTemplate; context: { $implicit: startIndex() }\" />\n </div>\n }\n</sat-popover>\n", styles: [".tokenizerPopoverContentWrapper{padding:16px;background:#fff;border-radius:4px;box-shadow:0 8px 14px #5261794d}.tokenizerPopoverContentWrapper.before{margin-right:10px}.tokenizerPopoverContentWrapper.after{margin-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TokenizerOverflowPopoverComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'lx-tokenizer-overflow-popover', standalone: true, imports: [TokenizerComponent, SatPopoverModule, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<sat-popover\n (backdropClicked)=\"closePopover()\"\n [hasBackdrop]=\"true\"\n [horizontalAlign]=\"horizontalAlign()\"\n [verticalAlign]=\"verticalAlign()\"\n openTransition=\"100ms\"\n closeTransition=\"100ms\"\n>\n @if (popoverTemplate) {\n <div\n class=\"tokenizerPopoverContentWrapper\"\n [class.before]=\"horizontalAlign() === 'before'\"\n [class.after]=\"horizontalAlign() === 'after'\"\n >\n <ng-container *ngTemplateOutlet=\"popoverTemplate; context: { $implicit: startIndex() }\" />\n </div>\n }\n</sat-popover>\n", styles: [".tokenizerPopoverContentWrapper{padding:16px;background:#fff;border-radius:4px;box-shadow:0 8px 14px #5261794d}.tokenizerPopoverContentWrapper.before{margin-right:10px}.tokenizerPopoverContentWrapper.after{margin-left:10px}\n"] }]
37
+ }], ctorParameters: () => [], propDecorators: { popoverTemplate: [{
38
+ type: ContentChild,
39
+ args: ['popoverTemplate']
40
+ }], popover: [{
41
+ type: ViewChild,
42
+ args: [SatPopoverComponent]
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLW92ZXJmbG93LXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvY29yZS11aS9jb21wb25lbnRzL3Rva2VuaXplci90b2tlbml6ZXItb3ZlcmZsb3ctcG9wb3Zlci90b2tlbml6ZXItb3ZlcmZsb3ctcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL2NvbXBvbmVudHMvdG9rZW5pemVyL3Rva2VuaXplci1vdmVyZmxvdy1wb3BvdmVyL3Rva2VuaXplci1vdmVyZmxvdy1wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUE2QixnQkFBZ0IsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUVqSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBUzVELE1BQU0sT0FBTyxpQ0FBaUM7SUFhNUM7UUFaUSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlCLGVBQVUsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFLdEQsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXNCLENBQUM7UUFDakQsb0JBQWUsR0FBRyxLQUFLLENBQTRCLE9BQU8sQ0FBQyxDQUFDO1FBQzVELGtCQUFhLEdBQUcsS0FBSyxDQUEwQixPQUFPLENBQUMsQ0FBQztRQUd0RCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLHlCQUF5QixFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFO2lCQUM5Qyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNsRSxTQUFTLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQTdCVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx1cUJBT2pDLG1CQUFtQixnRENqQ2hDLGlqQkFrQkEsMFJER2dDLGdCQUFnQiwwZ0JBQUUsZ0JBQWdCOzsyRkFLckQsaUNBQWlDO2tCQVI3QyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxtQkFHaEQsdUJBQXVCLENBQUMsTUFBTTt3REFRSyxlQUFlO3NCQUFsRSxZQUFZO3VCQUFDLGlCQUFpQjtnQkFDb0IsT0FBTztzQkFBekQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU2F0UG9wb3ZlckNvbXBvbmVudCwgU2F0UG9wb3Zlckhvcml6b250YWxBbGlnbiwgU2F0UG9wb3Zlck1vZHVsZSwgU2F0UG9wb3ZlclZlcnRpY2FsQWxpZ24gfSBmcm9tICdAbmNzdGF0ZS9zYXQtcG9wb3Zlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRva2VuaXplckNvbXBvbmVudCB9IGZyb20gJy4uL3Rva2VuaXplci5jb21wb25lbnQnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtdG9rZW5pemVyLW92ZXJmbG93LXBvcG92ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVG9rZW5pemVyQ29tcG9uZW50LCBTYXRQb3BvdmVyTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuaXplci1vdmVyZmxvdy1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9rZW5pemVyLW92ZXJmbG93LXBvcG92ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5pemVyT3ZlcmZsb3dQb3BvdmVyQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIG92ZXJmbG93Q2xpY2tTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByb3RlY3RlZCBzdGFydEluZGV4ID0gc2lnbmFsPG51bWJlcj4oMCk7XG4gIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ3BvcG92ZXJUZW1wbGF0ZScpIHByb3RlY3RlZCByZWFkb25seSBwb3BvdmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQFZpZXdDaGlsZChTYXRQb3BvdmVyQ29tcG9uZW50KSBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9wb3ZlciE6IFNhdFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgdG9rZW5pemVyID0gaW5wdXQucmVxdWlyZWQ8VG9rZW5pemVyQ29tcG9uZW50PigpO1xuICBob3Jpem9udGFsQWxpZ24gPSBpbnB1dDxTYXRQb3BvdmVySG9yaXpvbnRhbEFsaWduPignYWZ0ZXInKTtcbiAgdmVydGljYWxBbGlnbiA9IGlucHV0PFNhdFBvcG92ZXJWZXJ0aWNhbEFsaWduPignc3RhcnQnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5vdmVyZmxvd0NsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vdmVyZmxvd0NsaWNrU3Vic2NyaXB0aW9uID0gdGhpcy50b2tlbml6ZXIoKVxuICAgICAgICAub3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgc3RhcnRJbmRleCwgY291bnRlckVsZW1lbnQgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhcnRJbmRleC5zZXQoc3RhcnRJbmRleCk7XG4gICAgICAgICAgdGhpcy5wb3BvdmVyLmFuY2hvciA9IGNvdW50ZXJFbGVtZW50O1xuICAgICAgICAgIHRoaXMucG9wb3Zlci5vcGVuKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlUG9wb3ZlcigpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIuY2xvc2UoKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPHNhdC1wb3BvdmVyXG4gIChiYWNrZHJvcENsaWNrZWQpPVwiY2xvc2VQb3BvdmVyKClcIlxuICBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiXG4gIFtob3Jpem9udGFsQWxpZ25dPVwiaG9yaXpvbnRhbEFsaWduKClcIlxuICBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduKClcIlxuICBvcGVuVHJhbnNpdGlvbj1cIjEwMG1zXCJcbiAgY2xvc2VUcmFuc2l0aW9uPVwiMTAwbXNcIlxuPlxuICBAaWYgKHBvcG92ZXJUZW1wbGF0ZSkge1xuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwidG9rZW5pemVyUG9wb3ZlckNvbnRlbnRXcmFwcGVyXCJcbiAgICAgIFtjbGFzcy5iZWZvcmVdPVwiaG9yaXpvbnRhbEFsaWduKCkgPT09ICdiZWZvcmUnXCJcbiAgICAgIFtjbGFzcy5hZnRlcl09XCJob3Jpem9udGFsQWxpZ24oKSA9PT0gJ2FmdGVyJ1wiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBvcG92ZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHN0YXJ0SW5kZXgoKSB9XCIgLz5cbiAgICA8L2Rpdj5cbiAgfVxuPC9zYXQtcG9wb3Zlcj5cbiJdfQ==
@@ -87,11 +87,11 @@ export class TokenizerComponent {
87
87
  this.changeDetectorRef.detectChanges();
88
88
  }
89
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TokenizerComponent, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i0.ChangeDetectorRef }, { token: i1.ResizeObserverService }], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TokenizerComponent, isStandalone: true, selector: "lx-tokenizer", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overflowPlaceholderClick: "overflowPlaceholderClick" }, queries: [{ propertyName: "items", predicate: TokenComponent }], viewQueries: [{ propertyName: "counter", first: true, predicate: ["counter"], descendants: true, read: ElementRef }, { propertyName: "tokensContainer", first: true, predicate: ["tokensContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div #tokensContainer class=\"tokensContainer\">\n <ng-content select=\"lx-token\" />\n @if (showCounter()) {\n <button\n lx-button\n class=\"counterButton\"\n mode=\"ghost\"\n (click)=\"onCounterClicked()\"\n [attr.aria-label]=\"\n NAME + (overflowItemCount() === 1 ? '.showMoreItem' : '.showMoreItems') | translate: { count: overflowItemCount() }\n \"\n >\n <lx-counter #counter aria-hidden=\"true\" [content]=\"'+' + overflowItemCount()\" color=\"gray\" />\n </button>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;white-space:nowrap}:host .counterButton{padding:0;display:flex;align-items:center;margin-left:4px}.tokensContainer{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "lx-counter", inputs: ["content", "size", "color"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TokenizerComponent, isStandalone: true, selector: "lx-tokenizer", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overflowPlaceholderClick: "overflowPlaceholderClick" }, queries: [{ propertyName: "items", predicate: TokenComponent }], viewQueries: [{ propertyName: "counter", first: true, predicate: ["counter"], descendants: true, read: ElementRef }, { propertyName: "tokensContainer", first: true, predicate: ["tokensContainer"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div #tokensContainer class=\"tokensContainer\">\n <ng-content select=\"lx-token\" />\n @if (showCounter()) {\n <button\n lx-button\n class=\"counterButton\"\n mode=\"ghost\"\n (click)=\"onCounterClicked()\"\n [attr.aria-label]=\"\n NAME + (overflowItemCount() === 1 ? '.showMoreItem' : '.showMoreItems') | translate: { count: overflowItemCount() }\n \"\n >\n <lx-counter #counter aria-hidden=\"true\" [content]=\"'+' + overflowItemCount()\" color=\"gray\" />\n </button>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;white-space:nowrap}:host .counterButton{padding:0;display:flex;align-items:center;margin-left:4px;border-radius:12px}.tokensContainer{display:flex;align-items:center}\n"], dependencies: [{ kind: "component", type: CounterComponent, selector: "lx-counter", inputs: ["content", "size", "color"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "showSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
91
  }
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TokenizerComponent, decorators: [{
93
93
  type: Component,
94
- args: [{ selector: 'lx-tokenizer', standalone: true, imports: [NgIf, CounterComponent, ButtonComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tokensContainer class=\"tokensContainer\">\n <ng-content select=\"lx-token\" />\n @if (showCounter()) {\n <button\n lx-button\n class=\"counterButton\"\n mode=\"ghost\"\n (click)=\"onCounterClicked()\"\n [attr.aria-label]=\"\n NAME + (overflowItemCount() === 1 ? '.showMoreItem' : '.showMoreItems') | translate: { count: overflowItemCount() }\n \"\n >\n <lx-counter #counter aria-hidden=\"true\" [content]=\"'+' + overflowItemCount()\" color=\"gray\" />\n </button>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;white-space:nowrap}:host .counterButton{padding:0;display:flex;align-items:center;margin-left:4px}.tokensContainer{display:flex;align-items:center}\n"] }]
94
+ args: [{ selector: 'lx-tokenizer', standalone: true, imports: [NgIf, CounterComponent, ButtonComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #tokensContainer class=\"tokensContainer\">\n <ng-content select=\"lx-token\" />\n @if (showCounter()) {\n <button\n lx-button\n class=\"counterButton\"\n mode=\"ghost\"\n (click)=\"onCounterClicked()\"\n [attr.aria-label]=\"\n NAME + (overflowItemCount() === 1 ? '.showMoreItem' : '.showMoreItems') | translate: { count: overflowItemCount() }\n \"\n >\n <lx-counter #counter aria-hidden=\"true\" [content]=\"'+' + overflowItemCount()\" color=\"gray\" />\n </button>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;white-space:nowrap}:host .counterButton{padding:0;display:flex;align-items:center;margin-left:4px;border-radius:12px}.tokensContainer{display:flex;align-items:center}\n"] }]
95
95
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.DestroyRef }, { type: i0.ChangeDetectorRef }, { type: i1.ResizeObserverService }], propDecorators: { overflowPlaceholderClick: [{
96
96
  type: Output
97
97
  }], items: [{
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
104
104
  type: ViewChild,
105
105
  args: ['tokensContainer', { read: ElementRef }]
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUVmLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFVekQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFDVSxVQUFtQyxFQUNuQyxVQUFzQixF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LENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0FyR1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isd1NBa0JaLGNBQWMsNEdBQ0QsVUFBVSw2R0FDRixVQUFVLDZCQ3ZEbEQsNmhCQWdCQSxxUERnQmtCLGdCQUFnQiw2RkFBRSxlQUFlLHNLQUFFLGVBQWU7OzJGQUd2RCxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FHUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNOzRLQWtCckMsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUUwQixLQUFLO3NCQUFyQyxlQUFlO3VCQUFDLGNBQWM7Z0JBQ2EsT0FBTztzQkFBbEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNVLGVBQWU7c0JBQWxFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGlucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY291bnRlci9jb3VudGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vdG9rZW4vdG9rZW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtdG9rZW5pemVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuaXplci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2VuaXplci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbTmdJZiwgQ291bnRlckNvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb2tlbml6ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdUb2tlbml6ZXJDb21wb25lbnQnO1xuXG4gIHByb3RlY3RlZCBvdmVyZmxvd0l0ZW1zID0gc2lnbmFsPFRva2VuQ29tcG9uZW50W10+KFtdKTtcbiAgcHJvdGVjdGVkIG92ZXJmbG93SXRlbUNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vdmVyZmxvd0l0ZW1zKCkubGVuZ3RoKTtcbiAgcHJvdGVjdGVkIHNob3dDb3VudGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY3RpdmUoKSAmJiB0aGlzLm92ZXJmbG93SXRlbUNvdW50KCkgPiAwKTtcblxuICBhY3RpdmUgPSBpbnB1dCh0cnVlKTtcbiAgcHJpdmF0ZSBhY3RpdmUkID0gdG9PYnNlcnZhYmxlKHRoaXMuYWN0aXZlKTtcbiAgcHJpdmF0ZSBvdmVyZmxvd1N0YXJ0SW5kZXggPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY291bnRlciBidXR0b24gaXMgY2xpY2tlZFxuICAgKiBAcGFyYW0gc3RhcnRJbmRleCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IG92ZXJmbG93aW5nIGVsZW1lbnRcbiAgICogQHBhcmFtIGNvdW50ZXJFbGVtZW50IFRoZSBjb3VudGVyIGJ1dHRvbiBlbGVtZW50XG4gICAqL1xuICBAT3V0cHV0KCkgb3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0SW5kZXg6IG51bWJlcjsgY291bnRlckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUb2tlbkNvbXBvbmVudCkgaXRlbXM/OiBRdWVyeUxpc3Q8VG9rZW5Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkKCdjb3VudGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNvdW50ZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgndG9rZW5zQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRva2Vuc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2VcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIFdoZW5ldmVyIHRoZSB0b2tlbml6ZXIgaXMgZGlzYWJsZWQsIGVuc3VyZSBhbGwgdG9rZW5zIGFyZSBzaG93blxuICAgICAgaWYgKCF0aGlzLmFjdGl2ZSgpKSB7XG4gICAgICAgIHRoaXMuaXRlbXMhLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uc2hvdygpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMucmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLmNyZWF0ZVJlc2l6ZU9ic2VydmFibGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoXG4gICAgICBtYXAoKGVudHJ5KSA9PiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCA/PyAwKSxcbiAgICAgIGRlYm91bmNlVGltZSgxNiksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgICBjb25zdCBpdGVtc0NoYW5nZWQkID0gdGhpcy5pdGVtcyEuY2hhbmdlcztcblxuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3RpdmUkLFxuICAgICAgY29udGFpbmVyV2lkdGgucGlwZShzdGFydFdpdGgodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpKSxcbiAgICAgIGl0ZW1zQ2hhbmdlZCQucGlwZShzdGFydFdpdGgodGhpcy5pdGVtcykpXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKFthY3RpdmVdKSA9PiBhY3RpdmUpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgY29udGFpbmVyV2lkdGhdKSA9PiB7XG4gICAgICAgIHRoaXMudG9rZW5pemUoY29udGFpbmVyV2lkdGgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50ZXJDbGlja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLm92ZXJmbG93U3RhcnRJbmRleCgpO1xuICAgIGlmICh0eXBlb2Ygc3RhcnRJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMub3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrLmVtaXQoeyBzdGFydEluZGV4LCBjb3VudGVyRWxlbWVudDogdGhpcy5jb3VudGVyISB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRva2VuaXplKGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaGlkZSgpKTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KFtdKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgY29uc3QgdXNlZFdpZHRoID0gdGhpcy50b2tlbnNDb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgIGlmICh1c2VkV2lkdGggPiBjb250YWluZXJXaWR0aCkge1xuICAgICAgICBpdGVtLmhpZGUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXgpO1xuXG4gICAgICAgIGNvbnN0IHVzZWRXaWR0aEluY2x1ZGluZ0NvdW50ZXIgPSB0aGlzLnRva2Vuc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBpZiAodXNlZFdpZHRoSW5jbHVkaW5nQ291bnRlciA+IGNvbnRhaW5lcldpZHRoICYmIGluZGV4ID49IDEpIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c0l0ZW0gPSB0aGlzLml0ZW1zLnRvQXJyYXkoKVtpbmRleCAtIDFdO1xuICAgICAgICAgIHByZXZpb3VzSXRlbT8uaGlkZSgpO1xuICAgICAgICAgIHRoaXMudXBkYXRlT3ZlcmZsb3dDb3VudGVyKGluZGV4IC0gMSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMub3ZlcmZsb3dTdGFydEluZGV4LnNldChpbmRleCk7XG5cbiAgICBjb25zdCBvdmVyZmxvd2luZ0l0ZW1zID0gdGhpcy5pdGVtcz8udG9BcnJheSgpLnNsaWNlKGluZGV4KSA/PyBbXTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KG92ZXJmbG93aW5nSXRlbXMpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2ICN0b2tlbnNDb250YWluZXIgY2xhc3M9XCJ0b2tlbnNDb250YWluZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibHgtdG9rZW5cIiAvPlxuICBAaWYgKHNob3dDb3VudGVyKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBseC1idXR0b25cbiAgICAgIGNsYXNzPVwiY291bnRlckJ1dHRvblwiXG4gICAgICBtb2RlPVwiZ2hvc3RcIlxuICAgICAgKGNsaWNrKT1cIm9uQ291bnRlckNsaWNrZWQoKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICBOQU1FICsgKG92ZXJmbG93SXRlbUNvdW50KCkgPT09IDEgPyAnLnNob3dNb3JlSXRlbScgOiAnLnNob3dNb3JlSXRlbXMnKSB8IHRyYW5zbGF0ZTogeyBjb3VudDogb3ZlcmZsb3dJdGVtQ291bnQoKSB9XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxseC1jb3VudGVyICNjb3VudGVyIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtjb250ZW50XT1cIicrJyArIG92ZXJmbG93SXRlbUNvdW50KClcIiBjb2xvcj1cImdyYXlcIiAvPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2NvcmUtdWkvY29tcG9uZW50cy90b2tlbml6ZXIvdG9rZW5pemVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsZUFBZSxFQUVmLE1BQU0sRUFDTixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFVekQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFDVSxVQUFtQyxFQUNuQyxVQUFzQixFQUN0QixpQkFBb0MsRUFDcEMscUJBQTRDO1FBSDVDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBekI3QyxTQUFJLEdBQUcsb0JBQW9CLENBQUM7UUFFM0Isa0JBQWEsR0FBRyxNQUFNLENBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXRGLFdBQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDYixZQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyx1QkFBa0IsR0FBRyxNQUFNLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBRXpEOzs7O1dBSUc7UUFDTyw2QkFBd0IsR0FBRyxJQUFJLFlBQVksRUFBbUUsQ0FBQztRQVl2SCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1Ysa0VBQWtFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEtBQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUMxRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUM1QyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQ2hCLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7UUFDRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBTSxDQUFDLE9BQU8sQ0FBQztRQUUxQyxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTztZQUNaLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0YsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFDLENBQUM7YUFDQyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQzVCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDcEM7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzdDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQVEsRUFBRSxDQUFDLENBQUM7UUFDcEYsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsY0FBc0I7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFdkMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkYsSUFBSSxTQUFTLEdBQUcsY0FBYyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWxDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7Z0JBQ25HLElBQUkseUJBQXlCLEdBQUcsY0FBYyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDN0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3JELFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztnQkFFRCxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0FyR1Usa0JBQWtCO2tHQUFsQixrQkFBa0Isd1NBa0JaLGNBQWMsNEdBQ0QsVUFBVSw2R0FDRixVQUFVLDZCQ3ZEbEQsNmhCQWdCQSx3UURnQmtCLGdCQUFnQiw2RkFBRSxlQUFlLHNLQUFFLGVBQWU7OzJGQUd2RCxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FHUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLG1CQUNsRCx1QkFBdUIsQ0FBQyxNQUFNOzRLQWtCckMsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUUwQixLQUFLO3NCQUFyQyxlQUFlO3VCQUFDLGNBQWM7Z0JBQ2EsT0FBTztzQkFBbEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNVLGVBQWU7c0JBQWxFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGVzdHJveVJlZixcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGlucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgc2lnbmFsLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY291bnRlci9jb3VudGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vdG9rZW4vdG9rZW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtdG9rZW5pemVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuaXplci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2VuaXplci5jb21wb25lbnQuc2NzcyddLFxuICBpbXBvcnRzOiBbTmdJZiwgQ291bnRlckNvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb2tlbml6ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcmVhZG9ubHkgTkFNRSA9ICdUb2tlbml6ZXJDb21wb25lbnQnO1xuXG4gIHByb3RlY3RlZCBvdmVyZmxvd0l0ZW1zID0gc2lnbmFsPFRva2VuQ29tcG9uZW50W10+KFtdKTtcbiAgcHJvdGVjdGVkIG92ZXJmbG93SXRlbUNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vdmVyZmxvd0l0ZW1zKCkubGVuZ3RoKTtcbiAgcHJvdGVjdGVkIHNob3dDb3VudGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY3RpdmUoKSAmJiB0aGlzLm92ZXJmbG93SXRlbUNvdW50KCkgPiAwKTtcblxuICBhY3RpdmUgPSBpbnB1dCh0cnVlKTtcbiAgcHJpdmF0ZSBhY3RpdmUkID0gdG9PYnNlcnZhYmxlKHRoaXMuYWN0aXZlKTtcbiAgcHJpdmF0ZSBvdmVyZmxvd1N0YXJ0SW5kZXggPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgY291bnRlciBidXR0b24gaXMgY2xpY2tlZFxuICAgKiBAcGFyYW0gc3RhcnRJbmRleCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IG92ZXJmbG93aW5nIGVsZW1lbnRcbiAgICogQHBhcmFtIGNvdW50ZXJFbGVtZW50IFRoZSBjb3VudGVyIGJ1dHRvbiBlbGVtZW50XG4gICAqL1xuICBAT3V0cHV0KCkgb3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0YXJ0SW5kZXg6IG51bWJlcjsgY291bnRlckVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUb2tlbkNvbXBvbmVudCkgaXRlbXM/OiBRdWVyeUxpc3Q8VG9rZW5Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkKCdjb3VudGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNvdW50ZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgndG9rZW5zQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRva2Vuc0NvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2VcbiAgKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIFdoZW5ldmVyIHRoZSB0b2tlbml6ZXIgaXMgZGlzYWJsZWQsIGVuc3VyZSBhbGwgdG9rZW5zIGFyZSBzaG93blxuICAgICAgaWYgKCF0aGlzLmFjdGl2ZSgpKSB7XG4gICAgICAgIHRoaXMuaXRlbXMhLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uc2hvdygpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMucmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLmNyZWF0ZVJlc2l6ZU9ic2VydmFibGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLnBpcGUoXG4gICAgICBtYXAoKGVudHJ5KSA9PiBlbnRyeS5jb250ZW50UmVjdC53aWR0aCA/PyAwKSxcbiAgICAgIGRlYm91bmNlVGltZSgxNiksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgICBjb25zdCBpdGVtc0NoYW5nZWQkID0gdGhpcy5pdGVtcyEuY2hhbmdlcztcblxuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3RpdmUkLFxuICAgICAgY29udGFpbmVyV2lkdGgucGlwZShzdGFydFdpdGgodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpKSxcbiAgICAgIGl0ZW1zQ2hhbmdlZCQucGlwZShzdGFydFdpdGgodGhpcy5pdGVtcykpXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKFthY3RpdmVdKSA9PiBhY3RpdmUpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoWywgY29udGFpbmVyV2lkdGhdKSA9PiB7XG4gICAgICAgIHRoaXMudG9rZW5pemUoY29udGFpbmVyV2lkdGgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkNvdW50ZXJDbGlja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aGlzLm92ZXJmbG93U3RhcnRJbmRleCgpO1xuICAgIGlmICh0eXBlb2Ygc3RhcnRJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMub3ZlcmZsb3dQbGFjZWhvbGRlckNsaWNrLmVtaXQoeyBzdGFydEluZGV4LCBjb3VudGVyRWxlbWVudDogdGhpcy5jb3VudGVyISB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRva2VuaXplKGNvbnRhaW5lcldpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaGlkZSgpKTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KFtdKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcbiAgICAgIGl0ZW0uc2hvdygpO1xuICAgICAgY29uc3QgdXNlZFdpZHRoID0gdGhpcy50b2tlbnNDb250YWluZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgIGlmICh1c2VkV2lkdGggPiBjb250YWluZXJXaWR0aCkge1xuICAgICAgICBpdGVtLmhpZGUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXgpO1xuXG4gICAgICAgIGNvbnN0IHVzZWRXaWR0aEluY2x1ZGluZ0NvdW50ZXIgPSB0aGlzLnRva2Vuc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICBpZiAodXNlZFdpZHRoSW5jbHVkaW5nQ291bnRlciA+IGNvbnRhaW5lcldpZHRoICYmIGluZGV4ID49IDEpIHtcbiAgICAgICAgICBjb25zdCBwcmV2aW91c0l0ZW0gPSB0aGlzLml0ZW1zLnRvQXJyYXkoKVtpbmRleCAtIDFdO1xuICAgICAgICAgIHByZXZpb3VzSXRlbT8uaGlkZSgpO1xuICAgICAgICAgIHRoaXMudXBkYXRlT3ZlcmZsb3dDb3VudGVyKGluZGV4IC0gMSk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVPdmVyZmxvd0NvdW50ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMub3ZlcmZsb3dTdGFydEluZGV4LnNldChpbmRleCk7XG5cbiAgICBjb25zdCBvdmVyZmxvd2luZ0l0ZW1zID0gdGhpcy5pdGVtcz8udG9BcnJheSgpLnNsaWNlKGluZGV4KSA/PyBbXTtcbiAgICB0aGlzLm92ZXJmbG93SXRlbXMuc2V0KG92ZXJmbG93aW5nSXRlbXMpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8ZGl2ICN0b2tlbnNDb250YWluZXIgY2xhc3M9XCJ0b2tlbnNDb250YWluZXJcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibHgtdG9rZW5cIiAvPlxuICBAaWYgKHNob3dDb3VudGVyKCkpIHtcbiAgICA8YnV0dG9uXG4gICAgICBseC1idXR0b25cbiAgICAgIGNsYXNzPVwiY291bnRlckJ1dHRvblwiXG4gICAgICBtb2RlPVwiZ2hvc3RcIlxuICAgICAgKGNsaWNrKT1cIm9uQ291bnRlckNsaWNrZWQoKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICBOQU1FICsgKG92ZXJmbG93SXRlbUNvdW50KCkgPT09IDEgPyAnLnNob3dNb3JlSXRlbScgOiAnLnNob3dNb3JlSXRlbXMnKSB8IHRyYW5zbGF0ZTogeyBjb3VudDogb3ZlcmZsb3dJdGVtQ291bnQoKSB9XG4gICAgICBcIlxuICAgID5cbiAgICAgIDxseC1jb3VudGVyICNjb3VudGVyIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtjb250ZW50XT1cIicrJyArIG92ZXJmbG93SXRlbUNvdW50KClcIiBjb2xvcj1cImdyYXlcIiAvPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbiJdfQ==
@@ -6,7 +6,19 @@ import { TooltipComponent } from './tooltip.component';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/cdk/overlay";
8
8
  import * as i2 from "@angular/cdk/a11y";
9
+ /**
10
+ * Tooltip directive is used to show a tooltip on hover or focus on an element.
11
+ *
12
+ * ## Usage
13
+ *
14
+ * 1. Import the `TooltipDirective` component from `@leanix/components` in your module or standalone copmonent where you want to use the component.
15
+ *
16
+ * ```ts
17
+ * import { TooltipDirective } from '@leanix/components';
18
+ * ```
19
+ */
9
20
  export class TooltipDirective {
21
+ /** The position of the tooltip. */
10
22
  set lxTooltipPosition(value) {
11
23
  this.position = {
12
24
  x: value && isValidX(value.x) ? value.x : 'center',
@@ -25,6 +37,7 @@ export class TooltipDirective {
25
37
  x: 'center',
26
38
  y: 'top'
27
39
  };
40
+ /** Whether the tooltip content is HTML. */
28
41
  this.lxTooltipIsHtmlContent = false;
29
42
  this.mouseOrFocusOnHost = false;
30
43
  }
@@ -50,6 +63,7 @@ export class TooltipDirective {
50
63
  }
51
64
  }
52
65
  }
66
+ /** @internal */
53
67
  show() {
54
68
  this.mouseOrFocusOnHost = true;
55
69
  setTimeout(() => {
@@ -68,6 +82,7 @@ export class TooltipDirective {
68
82
  this.mouseOrFocusOnHost = false;
69
83
  this.overlayRef?.dispose();
70
84
  }
85
+ /** @internal */
71
86
  hide() {
72
87
  this.mouseOrFocusOnHost = false;
73
88
  this.ariaDescriber.removeDescription(this.elementRef.nativeElement, this.tooltipRef?.location.nativeElement);
@@ -107,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
107
122
  type: HostListener,
108
123
  args: ['blur']
109
124
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBZ0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQW1CLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU12RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLElBQWEsaUJBQWlCLENBQUMsS0FBMkM7UUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLENBQUMsRUFBRSxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUNsRCxDQUFDLEVBQUUsS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFZRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEgsQ0FBQztJQUVE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QUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUtELElBQUk7UUFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQWpGVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3NLQUVxQixPQUFPO3NCQUExQixLQUFLO3VCQUFDLFdBQVc7Z0JBQ0wsaUJBQWlCO3NCQUE3QixLQUFLO2dCQVVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQXlDTixJQUFJO3NCQUZILFlBQVk7dUJBQUMsWUFBWTs7c0JBQ3pCLFlBQVk7dUJBQUMsT0FBTztnQkF3QnJCLElBQUk7c0JBSEgsWUFBWTt1QkFBQyxZQUFZOztzQkFDekIsWUFBWTt1QkFBQyxPQUFPOztzQkFDcEIsWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJpYURlc2NyaWJlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9DZGtQb3NpdGlvbiB9IGZyb20gJy4vdG8tY2RrLXBvc2l0aW9uLmZ1bmN0aW9uJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiwgaXNWYWxpZFgsIGlzVmFsaWRZIH0gZnJvbSAnLi90b29sdGlwLXBvc2l0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tseFRvb2x0aXBdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2x4VG9vbHRpcCcpIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSBzZXQgbHhUb29sdGlwUG9zaXRpb24odmFsdWU6IHsgeDogc3RyaW5nOyB5OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMucG9zaXRpb24gPSB7XG4gICAgICB4OiB2YWx1ZSAmJiBpc1ZhbGlkWCh2YWx1ZS54KSA/IHZhbHVlLnggOiAnY2VudGVyJyxcbiAgICAgIHk6IHZhbHVlICYmIGlzVmFsaWRZKHZhbHVlLnkpID8gdmFsdWUueSA6ICd0b3AnXG4gICAgfTtcbiAgfVxuICBwcml2YXRlIHBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSB7XG4gICAgeDogJ2NlbnRlcicsXG4gICAgeTogJ3RvcCdcbiAgfTtcbiAgQElucHV0KCkgbHhUb29sdGlwRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGx4VG9vbHRpcElzSHRtbENvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuICBwcml2YXRlIHRvb2x0aXBSZWY/OiBDb21wb25lbnRSZWY8VG9vbHRpcENvbXBvbmVudD47XG4gIHByaXZhdGUgbW91c2VPckZvY3VzT25Ib3N0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IHBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlci5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZikud2l0aFBvc2l0aW9ucyhbdG9DZGtQb3NpdGlvbih0aGlzLnBvc2l0aW9uKV0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBhcmlhRGVzY3JpYmVyOiBBcmlhRGVzY3JpYmVyXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZiAmJiBjaGFuZ2VzWydseFRvb2x0aXBQb3NpdGlvbiddKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLnBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgIH1cbiAgICBpZiAodGhpcy50b29sdGlwUmVmKSB7XG4gICAgICBpZiAoY2hhbmdlc1snbHhUb29sdGlwUG9zaXRpb24nXSkge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UucG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKGNoYW5nZXNbJ2x4VG9vbHRpcElzSHRtbENvbnRlbnQnXSkge1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuaXNIdG1sQ29udGVudCA9IHRoaXMubHhUb29sdGlwSXNIdG1sQ29udGVudDtcbiAgICAgIH1cbiAgICAgIGlmIChjaGFuZ2VzWydjb250ZW50J10pIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgc2hvdygpIHtcbiAgICB0aGlzLm1vdXNlT3JGb2N1c09uSG9zdCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSAmJiB0aGlzLm1vdXNlT3JGb2N1c09uSG9zdCAmJiB0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7IHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9zaXRpb25TdHJhdGVneSB9KTtcbiAgICAgICAgY29uc3QgdG9vbHRpcFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoVG9vbHRpcENvbXBvbmVudCk7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2godG9vbHRpcFBvcnRhbCk7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuaXNIdG1sQ29udGVudCA9IHRoaXMubHhUb29sdGlwSXNIdG1sQ29udGVudDtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjtcbiAgICAgICAgdGhpcy5hcmlhRGVzY3JpYmVyLmRlc2NyaWJlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLnRvb2x0aXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgdGhpcy5seFRvb2x0aXBEZWxheSA/PyA5MCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm1vdXNlT3JGb2N1c09uSG9zdCA9IGZhbHNlO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5tb3VzZU9yRm9jdXNPbkhvc3QgPSBmYWxzZTtcbiAgICB0aGlzLmFyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMudG9vbHRpcFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBZ0IsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQW1CLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUV2RDs7Ozs7Ozs7OztHQVVHO0FBS0gsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixtQ0FBbUM7SUFDbkMsSUFBYSxpQkFBaUIsQ0FBQyxLQUEyQztRQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsQ0FBQyxFQUFFLEtBQUssSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ2xELENBQUMsRUFBRSxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztTQUNoRCxDQUFDO0lBQ0osQ0FBQztJQWNELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FB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WUFDckcsQ0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxnQkFBZ0I7SUFJaEIsSUFBSTtRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBdkZVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7c0tBR3FCLE9BQU87c0JBQTFCLEtBQUs7dUJBQUMsV0FBVztnQkFFTCxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBV0csY0FBYztzQkFBdEIsS0FBSztnQkFFRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBMENOLElBQUk7c0JBRkgsWUFBWTt1QkFBQyxZQUFZOztzQkFDekIsWUFBWTt1QkFBQyxPQUFPO2dCQXlCckIsSUFBSTtzQkFISCxZQUFZO3VCQUFDLFlBQVk7O3NCQUN6QixZQUFZO3VCQUFDLE9BQU87O3NCQUNwQixZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmlhRGVzY3JpYmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b0Nka1Bvc2l0aW9uIH0gZnJvbSAnLi90by1jZGstcG9zaXRpb24uZnVuY3Rpb24nO1xuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uLCBpc1ZhbGlkWCwgaXNWYWxpZFkgfSBmcm9tICcuL3Rvb2x0aXAtcG9zaXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAuY29tcG9uZW50JztcblxuLyoqXG4gKiBUb29sdGlwIGRpcmVjdGl2ZSBpcyB1c2VkIHRvIHNob3cgYSB0b29sdGlwIG9uIGhvdmVyIG9yIGZvY3VzIG9uIGFuIGVsZW1lbnQuXG4gKlxuICogIyMgVXNhZ2VcbiAqXG4gKiAxLiBJbXBvcnQgdGhlIGBUb29sdGlwRGlyZWN0aXZlYCBjb21wb25lbnQgZnJvbSBgQGxlYW5peC9jb21wb25lbnRzYCBpbiB5b3VyIG1vZHVsZSBvciBzdGFuZGFsb25lIGNvcG1vbmVudCB3aGVyZSB5b3Ugd2FudCB0byB1c2UgdGhlIGNvbXBvbmVudC5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BsZWFuaXgvY29tcG9uZW50cyc7XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2x4VG9vbHRpcF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKiBUaGUgY29udGVudCBvZiB0aGUgdG9vbHRpcC4gKi9cbiAgQElucHV0KCdseFRvb2x0aXAnKSBjb250ZW50Pzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC4gKi9cbiAgQElucHV0KCkgc2V0IGx4VG9vbHRpcFBvc2l0aW9uKHZhbHVlOiB7IHg6IHN0cmluZzsgeTogc3RyaW5nIH0gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnBvc2l0aW9uID0ge1xuICAgICAgeDogdmFsdWUgJiYgaXNWYWxpZFgodmFsdWUueCkgPyB2YWx1ZS54IDogJ2NlbnRlcicsXG4gICAgICB5OiB2YWx1ZSAmJiBpc1ZhbGlkWSh2YWx1ZS55KSA/IHZhbHVlLnkgOiAndG9wJ1xuICAgIH07XG4gIH1cbiAgcHJpdmF0ZSBwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0ge1xuICAgIHg6ICdjZW50ZXInLFxuICAgIHk6ICd0b3AnXG4gIH07XG4gIC8qKiBUaGUgZGVsYXkgaW4gbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdG9vbHRpcCBpcyBzaG93bi4gKi9cbiAgQElucHV0KCkgbHhUb29sdGlwRGVsYXk/OiBudW1iZXI7XG4gIC8qKiBXaGV0aGVyIHRoZSB0b29sdGlwIGNvbnRlbnQgaXMgSFRNTC4gKi9cbiAgQElucHV0KCkgbHhUb29sdGlwSXNIdG1sQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gIHByaXZhdGUgdG9vbHRpcFJlZj86IENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBtb3VzZU9yRm9jdXNPbkhvc3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgcG9zaXRpb25TdHJhdGVneSgpIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5UG9zaXRpb25CdWlsZGVyLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKS53aXRoUG9zaXRpb25zKFt0b0Nka1Bvc2l0aW9uKHRoaXMucG9zaXRpb24pXSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIGFyaWFEZXNjcmliZXI6IEFyaWFEZXNjcmliZXJcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmICYmIGNoYW5nZXNbJ2x4VG9vbHRpcFBvc2l0aW9uJ10pIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMucG9zaXRpb25TdHJhdGVneSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnRvb2x0aXBSZWYpIHtcbiAgICAgIGlmIChjaGFuZ2VzWydseFRvb2x0aXBQb3NpdGlvbiddKSB7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlc1snbHhUb29sdGlwSXNIdG1sQ29udGVudCddKSB7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5pc0h0bWxDb250ZW50ID0gdGhpcy5seFRvb2x0aXBJc0h0bWxDb250ZW50O1xuICAgICAgfVxuICAgICAgaWYgKGNoYW5nZXNbJ2NvbnRlbnQnXSkge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50KSB7XG4gICAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLmNvbnRlbnQgPSB0aGlzLmNvbnRlbnQ7XG4gICAgICAgICAgdGhpcy5vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIHNob3coKSB7XG4gICAgdGhpcy5tb3VzZU9yRm9jdXNPbkhvc3QgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkgJiYgdGhpcy5tb3VzZU9yRm9jdXNPbkhvc3QgJiYgdGhpcy5jb250ZW50KSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoeyBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnBvc2l0aW9uU3RyYXRlZ3kgfSk7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpO1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRvb2x0aXBQb3J0YWwpO1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuY29udGVudCA9IHRoaXMuY29udGVudDtcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLmlzSHRtbENvbnRlbnQgPSB0aGlzLmx4VG9vbHRpcElzSHRtbENvbnRlbnQ7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG4gICAgICAgIHRoaXMuYXJpYURlc2NyaWJlci5kZXNjcmliZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy50b29sdGlwUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0sIHRoaXMubHhUb29sdGlwRGVsYXkgPz8gOTApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5tb3VzZU9yRm9jdXNPbkhvc3QgPSBmYWxzZTtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5tb3VzZU9yRm9jdXNPbkhvc3QgPSBmYWxzZTtcbiAgICB0aGlzLmFyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMudG9vbHRpcFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -4,9 +4,24 @@ import { KeyboardActionSourceDirective } from '../../directives/keyboard-action-
4
4
  import { CdkOptionsDropdownComponent } from '../cdk-options-dropdown/cdk-options-dropdown.component';
5
5
  import { OptionComponent } from '../option/option.component';
6
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * Breadcrumb component is used to show a list of labels, usually to show the path of user's navigation.
9
+ *
10
+ * ## Usage
11
+ *
12
+ * 1. Import the LxFormsModule module from @leanix/components in your module where you want to use the component.
13
+ *
14
+ * ```ts
15
+ * import { LxFormsModule } from '@leanix/components';
16
+ * ```
17
+ */
7
18
  export class BreadcrumbComponent {
8
19
  constructor() {
20
+ /**
21
+ * Breadcrumbs array to build the component.
22
+ */
9
23
  this.breadcrumbs = [];
24
+ /** @internal */
10
25
  this.viewBreadcrumbs = [];
11
26
  }
12
27
  ngOnChanges(changes) {
@@ -32,6 +47,7 @@ export class BreadcrumbComponent {
32
47
  }, []);
33
48
  }
34
49
  }
50
+ /** @internal */
35
51
  isEllipsedBreadcrumb(breadcrumb) {
36
52
  return !!breadcrumb.breadcrumbs;
37
53
  }
@@ -44,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
44
60
  }], propDecorators: { breadcrumbs: [{
45
61
  type: Input
46
62
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFxQjdELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRVyxnQkFBVyxHQUFpQixFQUFFLENBQUM7UUFFeEMsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO0tBMkJ4QztJQXpCQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUM3RSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN6QixnRUFBZ0U7b0JBQ2hFLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ25DLENBQUM7cUJBQU0sQ0FBQztvQkFDTixvRkFBb0Y7b0JBQ3BGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQzt3QkFDaEUsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQzlDLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixlQUFlLENBQUMsSUFBSSxDQUFDOzRCQUNuQixXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQzFCLENBQUMsQ0FBQztvQkFDTCxDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQyxFQUFFLEVBQXNCLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLFVBQTBCO1FBQzdDLE9BQU8sQ0FBQyxDQUFFLFVBQWlDLENBQUMsV0FBVyxDQUFDO0lBQzFELENBQUM7OEdBN0JVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHNJQ3pCaEMsOHpCQW9CQSw4YkRHWSxZQUFZLCtCQUFFLDJCQUEyQixpSUFBRSw2QkFBNkIseUdBQUUsZUFBZTs7MkZBRXhGLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLDJCQUEyQixFQUFFLDZCQUE2QixFQUFFLGVBQWUsQ0FBQzs4QkFHM0YsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9rZXlib2FyZC1hY3Rpb24tc291cmNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9jZGstb3B0aW9ucy1kcm9wZG93bi9jZGstb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFkY3J1bWIge1xuICBsYWJlbDogc3RyaW5nO1xuICBlbGxpcHNlZD86IGJvb2xlYW47XG4gIG9uQ2xpY2s/OiAoYnJlYWRjcnVtYjogQnJlYWRjcnVtYikgPT4gdm9pZDtcbn1cblxuaW50ZXJmYWNlIEVsbGlwc2VkQnJlYWRjcnVtYiB7XG4gIGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW107XG59XG5cbnR5cGUgVmlld0JyZWFkY3J1bWIgPSBCcmVhZGNydW1iIHwgRWxsaXBzZWRCcmVhZGNydW1iO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1icmVhZGNydW1iJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENka09wdGlvbnNEcm9wZG93bkNvbXBvbmVudCwgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsIE9wdGlvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10gPSBbXTtcblxuICB2aWV3QnJlYWRjcnVtYnM6IFZpZXdCcmVhZGNydW1iW10gPSBbXTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2JyZWFkY3J1bWJzJ10pIHtcbiAgICAgIHRoaXMudmlld0JyZWFkY3J1bWJzID0gdGhpcy5icmVhZGNydW1icy5yZWR1Y2UoKHZpZXdCcmVhZGNydW1icywgYnJlYWRjcnVtYikgPT4ge1xuICAgICAgICBpZiAoIWJyZWFkY3J1bWIuZWxsaXBzZWQpIHtcbiAgICAgICAgICAvLyBBcHBlbmQgbm9ybWFsIGJyZWFkY3J1bWJzIHRvIHRoZSBlbmQgb2YgdmlldyBicmVhZGNydW1iIGFycmF5XG4gICAgICAgICAgdmlld0JyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gUmVkdWNlIGNvbnNlY3V0aXZlIGVsbGlwc2VkIGJyZWFkY3J1bWJzIGludG8gb25lIGVudHJ5IGFuZCBzaG93IGRyb3Bkb3duIG9mIHRoZXNlXG4gICAgICAgICAgY29uc3QgbGFzdEJyZWFkY3J1bWIgPSB2aWV3QnJlYWRjcnVtYnNbdmlld0JyZWFkY3J1bWJzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgIGlmIChsYXN0QnJlYWRjcnVtYiAmJiB0aGlzLmlzRWxsaXBzZWRCcmVhZGNydW1iKGxhc3RCcmVhZGNydW1iKSkge1xuICAgICAgICAgICAgbGFzdEJyZWFkY3J1bWIuYnJlYWRjcnVtYnMucHVzaChicmVhZGNydW1iKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmlld0JyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgICAgICBicmVhZGNydW1iczogW2JyZWFkY3J1bWJdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZpZXdCcmVhZGNydW1icztcbiAgICAgIH0sIFtdIGFzIFZpZXdCcmVhZGNydW1iW10pO1xuICAgIH1cbiAgfVxuXG4gIGlzRWxsaXBzZWRCcmVhZGNydW1iKGJyZWFkY3J1bWI6IFZpZXdCcmVhZGNydW1iKTogYnJlYWRjcnVtYiBpcyBFbGxpcHNlZEJyZWFkY3J1bWIge1xuICAgIHJldHVybiAhIShicmVhZGNydW1iIGFzIEVsbGlwc2VkQnJlYWRjcnVtYikuYnJlYWRjcnVtYnM7XG4gIH1cbn1cbiIsIkBmb3IgKGJyZWFkY3J1bWIgb2Ygdmlld0JyZWFkY3J1bWJzOyB0cmFjayAkaW5kZXg7IGxldCBsYXN0ID0gJGxhc3QpIHtcbiAgQGlmIChpc0VsbGlwc2VkQnJlYWRjcnVtYihicmVhZGNydW1iKSkge1xuICAgIDxseC1jZGstb3B0aW9ucy1kcm9wZG93biBbYWxpZ25dPVwiJ3JpZ2h0J1wiIGNsYXNzPVwiZHJvcGRvd25Db250YWluZXJcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJzdGVwIGNsaWNrYWJsZVwiIGx4S2V5Ym9hcmRBY3Rpb25Tb3VyY2U+Li4uPC9idXR0b24+XG4gICAgICBAZm9yIChlbGxpcHNlZEJyZWFkY3J1bWJzIG9mIGJyZWFkY3J1bWIuYnJlYWRjcnVtYnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8bHgtb3B0aW9uIFtoYXNTZWxlY3RlZFN0YXRlXT1cImZhbHNlXCIgKHNlbGVjdCk9XCJlbGxpcHNlZEJyZWFkY3J1bWJzLm9uQ2xpY2s/LihlbGxpcHNlZEJyZWFkY3J1bWJzKVwiPlxuICAgICAgICAgIHt7IGVsbGlwc2VkQnJlYWRjcnVtYnMubGFiZWwgfX1cbiAgICAgICAgPC9seC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9seC1jZGstb3B0aW9ucy1kcm9wZG93bj5cbiAgfSBAZWxzZSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cInN0ZXBcIiBbZGlzYWJsZWRdPVwiIWJyZWFkY3J1bWIub25DbGlja1wiIChjbGljayk9XCJicmVhZGNydW1iLm9uQ2xpY2s/LihicmVhZGNydW1iKVwiPlxuICAgICAge3sgYnJlYWRjcnVtYi5sYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICB9XG5cbiAgQGlmICghbGFzdCkge1xuICAgIDxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFjN0Q7Ozs7Ozs7Ozs7R0FVRztBQVFILE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRRTs7V0FFRztRQUNNLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUV4QyxnQkFBZ0I7UUFDaEIsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO0tBNEJ4QztJQTFCQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUM3RSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN6QixnRUFBZ0U7b0JBQ2hFLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ25DLENBQUM7cUJBQU0sQ0FBQztvQkFDTixvRkFBb0Y7b0JBQ3BGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQzt3QkFDaEUsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQzlDLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixlQUFlLENBQUMsSUFBSSxDQUFDOzRCQUNuQixXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQzFCLENBQUMsQ0FBQztvQkFDTCxDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQyxFQUFFLEVBQXNCLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixvQkFBb0IsQ0FBQyxVQUEwQjtRQUM3QyxPQUFPLENBQUMsQ0FBRSxVQUFpQyxDQUFDLFdBQVcsQ0FBQztJQUMxRCxDQUFDOzhHQWxDVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixzSUNwQ2hDLDh6QkFvQkEsOGJEY1ksWUFBWSwrQkFBRSwyQkFBMkIsaUlBQUUsNkJBQTZCLHlHQUFFLGVBQWU7OzJGQUV4RixtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwyQkFBMkIsRUFBRSw2QkFBNkIsRUFBRSxlQUFlLENBQUM7OEJBTTNGLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMva2V5Ym9hcmQtYWN0aW9uLXNvdXJjZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2RrT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vY2RrLW9wdGlvbnMtZHJvcGRvd24vY2RrLW9wdGlvbnMtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBCcmVhZGNydW1iIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZWxsaXBzZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWIpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBFbGxpcHNlZEJyZWFkY3J1bWIge1xuICBicmVhZGNydW1iczogQnJlYWRjcnVtYltdO1xufVxuXG50eXBlIFZpZXdCcmVhZGNydW1iID0gQnJlYWRjcnVtYiB8IEVsbGlwc2VkQnJlYWRjcnVtYjtcblxuLyoqXG4gKiBCcmVhZGNydW1iIGNvbXBvbmVudCBpcyB1c2VkIHRvIHNob3cgYSBsaXN0IG9mIGxhYmVscywgdXN1YWxseSB0byBzaG93IHRoZSBwYXRoIG9mIHVzZXIncyBuYXZpZ2F0aW9uLlxuICpcbiAqICMjIFVzYWdlXG4gKlxuICogMS4gSW1wb3J0IHRoZSBMeEZvcm1zTW9kdWxlIG1vZHVsZSBmcm9tIEBsZWFuaXgvY29tcG9uZW50cyBpbiB5b3VyIG1vZHVsZSB3aGVyZSB5b3Ugd2FudCB0byB1c2UgdGhlIGNvbXBvbmVudC5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgTHhGb3Jtc01vZHVsZSB9IGZyb20gJ0BsZWFuaXgvY29tcG9uZW50cyc7XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDZGtPcHRpb25zRHJvcGRvd25Db21wb25lbnQsIEtleWJvYXJkQWN0aW9uU291cmNlRGlyZWN0aXZlLCBPcHRpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvKipcbiAgICogQnJlYWRjcnVtYnMgYXJyYXkgdG8gYnVpbGQgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpIGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10gPSBbXTtcblxuICAvKiogQGludGVybmFsICovXG4gIHZpZXdCcmVhZGNydW1iczogVmlld0JyZWFkY3J1bWJbXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snYnJlYWRjcnVtYnMnXSkge1xuICAgICAgdGhpcy52aWV3QnJlYWRjcnVtYnMgPSB0aGlzLmJyZWFkY3J1bWJzLnJlZHVjZSgodmlld0JyZWFkY3J1bWJzLCBicmVhZGNydW1iKSA9PiB7XG4gICAgICAgIGlmICghYnJlYWRjcnVtYi5lbGxpcHNlZCkge1xuICAgICAgICAgIC8vIEFwcGVuZCBub3JtYWwgYnJlYWRjcnVtYnMgdG8gdGhlIGVuZCBvZiB2aWV3IGJyZWFkY3J1bWIgYXJyYXlcbiAgICAgICAgICB2aWV3QnJlYWRjcnVtYnMucHVzaChicmVhZGNydW1iKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBSZWR1Y2UgY29uc2VjdXRpdmUgZWxsaXBzZWQgYnJlYWRjcnVtYnMgaW50byBvbmUgZW50cnkgYW5kIHNob3cgZHJvcGRvd24gb2YgdGhlc2VcbiAgICAgICAgICBjb25zdCBsYXN0QnJlYWRjcnVtYiA9IHZpZXdCcmVhZGNydW1ic1t2aWV3QnJlYWRjcnVtYnMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgaWYgKGxhc3RCcmVhZGNydW1iICYmIHRoaXMuaXNFbGxpcHNlZEJyZWFkY3J1bWIobGFzdEJyZWFkY3J1bWIpKSB7XG4gICAgICAgICAgICBsYXN0QnJlYWRjcnVtYi5icmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2aWV3QnJlYWRjcnVtYnMucHVzaCh7XG4gICAgICAgICAgICAgIGJyZWFkY3J1bWJzOiBbYnJlYWRjcnVtYl1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmlld0JyZWFkY3J1bWJzO1xuICAgICAgfSwgW10gYXMgVmlld0JyZWFkY3J1bWJbXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBpc0VsbGlwc2VkQnJlYWRjcnVtYihicmVhZGNydW1iOiBWaWV3QnJlYWRjcnVtYik6IGJyZWFkY3J1bWIgaXMgRWxsaXBzZWRCcmVhZGNydW1iIHtcbiAgICByZXR1cm4gISEoYnJlYWRjcnVtYiBhcyBFbGxpcHNlZEJyZWFkY3J1bWIpLmJyZWFkY3J1bWJzO1xuICB9XG59XG4iLCJAZm9yIChicmVhZGNydW1iIG9mIHZpZXdCcmVhZGNydW1iczsgdHJhY2sgJGluZGV4OyBsZXQgbGFzdCA9ICRsYXN0KSB7XG4gIEBpZiAoaXNFbGxpcHNlZEJyZWFkY3J1bWIoYnJlYWRjcnVtYikpIHtcbiAgICA8bHgtY2RrLW9wdGlvbnMtZHJvcGRvd24gW2FsaWduXT1cIidyaWdodCdcIiBjbGFzcz1cImRyb3Bkb3duQ29udGFpbmVyXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwic3RlcCBjbGlja2FibGVcIiBseEtleWJvYXJkQWN0aW9uU291cmNlPi4uLjwvYnV0dG9uPlxuICAgICAgQGZvciAoZWxsaXBzZWRCcmVhZGNydW1icyBvZiBicmVhZGNydW1iLmJyZWFkY3J1bWJzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGx4LW9wdGlvbiBbaGFzU2VsZWN0ZWRTdGF0ZV09XCJmYWxzZVwiIChzZWxlY3QpPVwiZWxsaXBzZWRCcmVhZGNydW1icy5vbkNsaWNrPy4oZWxsaXBzZWRCcmVhZGNydW1icylcIj5cbiAgICAgICAgICB7eyBlbGxpcHNlZEJyZWFkY3J1bWJzLmxhYmVsIH19XG4gICAgICAgIDwvbHgtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvbHgtY2RrLW9wdGlvbnMtZHJvcGRvd24+XG4gIH0gQGVsc2Uge1xuICAgIDxidXR0b24gY2xhc3M9XCJzdGVwXCIgW2Rpc2FibGVkXT1cIiFicmVhZGNydW1iLm9uQ2xpY2tcIiAoY2xpY2spPVwiYnJlYWRjcnVtYi5vbkNsaWNrPy4oYnJlYWRjcnVtYilcIj5cbiAgICAgIHt7IGJyZWFkY3J1bWIubGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgfVxuXG4gIEBpZiAoIWxhc3QpIHtcbiAgICA8aSBjbGFzcz1cImZhIGZhLWFuZ2xlLXJpZ2h0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICB9XG59XG4iXX0=