@lucca-front/ng 18.3.1 → 18.3.2

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 (43) hide show
  1. package/core-select/input/select-input.component.d.ts +1 -1
  2. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +3 -3
  3. package/esm2022/core-select/input/select-input.component.mjs +8 -6
  4. package/esm2022/core-select/user/users.directive.mjs +6 -3
  5. package/esm2022/date2/date-input/date-input.component.mjs +24 -5
  6. package/esm2022/form-field/form-field.component.mjs +10 -9
  7. package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +3 -3
  8. package/esm2022/forms/form-field-id.directive.mjs +4 -4
  9. package/esm2022/multi-select/displayer/displayer-input.directive.mjs +5 -5
  10. package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +9 -13
  11. package/esm2022/multi-select/input/select-input.component.mjs +8 -4
  12. package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +2 -2
  13. package/esm2022/tooltip/panel/tooltip-panel.component.mjs +3 -3
  14. package/esm2022/tooltip/trigger/ellipsis.ruler.mjs +40 -18
  15. package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +38 -37
  16. package/esm2022/user/tile/user-tile.component.mjs +2 -2
  17. package/fesm2022/lucca-front-ng-callout.mjs +2 -2
  18. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-core-select-user.mjs +5 -2
  20. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select.mjs +5 -3
  22. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-date2.mjs +23 -4
  24. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-form-field.mjs +9 -8
  26. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-forms.mjs +5 -5
  28. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-multi-select.mjs +18 -19
  30. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  32. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-tooltip.mjs +79 -56
  34. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-user.mjs +2 -2
  36. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  37. package/form-field/form-field.component.d.ts +1 -1
  38. package/multi-select/displayer/displayer-input.directive.d.ts +2 -2
  39. package/multi-select/input/select-input.component.d.ts +3 -1
  40. package/package.json +26 -26
  41. package/tooltip/panel/tooltip-panel.component.d.ts +2 -2
  42. package/tooltip/trigger/ellipsis.ruler.d.ts +9 -2
  43. package/tooltip/trigger/tooltip-trigger.directive.d.ts +4 -6
@@ -24,13 +24,13 @@ export class LuTooltipPanelComponent {
24
24
  };
25
25
  }
26
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuTooltipPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LuTooltipPanelComponent, isStandalone: true, selector: "lu-tooltip-panel", host: { attributes: { "role": "tooltip" }, listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()" }, properties: { "attr.id": "this.id" } }, ngImport: i0, template: "<div class=\"tooltip\" [ngClass]=\"contentPositionClasses\" [innerHtml]=\"content\"></div>\n", styles: [".tooltip{--components-tooltip-background-color: var(--palettes-neutral-900);--components-tooltip-color: var(--palettes-neutral-0);--components-tooltip-max-width: 15rem;--components-tooltip-transformOrigin: center;--components-tooltip-margin: 0;background-color:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);max-width:var(--components-tooltip-max-width);border-radius:var(--commons-borderRadius-M);font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);transform-origin:var(--components-tooltip-transformOrigin);margin:var(--components-tooltip-margin);text-align:center;width:fit-content;animation-name:scaleIn;animation-duration:var(--commons-animations-durations-fast);animation-iteration-count:1}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.tooltip:empty{display:none}@supports (background-image: -webkit-named-image(i)){@media (hover: hover){[luTooltipWhenEllipsis]:after{content:\"\";display:block}}}.tooltip.is-above{--components-tooltip-transformOrigin: bottom center}.tooltip.is-below{--components-tooltip-transformOrigin: top center}.tooltip.is-before{--components-tooltip-transformOrigin: center right}.tooltip.is-before.is-above{--components-tooltip-transformOrigin: bottom right}.tooltip.is-before.is-below{--components-tooltip-transformOrigin: top right}.tooltip.is-after{--components-tooltip-transformOrigin: center left}.tooltip.is-after.is-above{--components-tooltip-transformOrigin: bottom left}.tooltip.is-after.is-below{--components-tooltip-transformOrigin: top left}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LuTooltipPanelComponent, isStandalone: true, selector: "lu-tooltip-panel", host: { attributes: { "role": "tooltip" }, listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()" }, properties: { "attr.id": "this.id" } }, ngImport: i0, template: "<div class=\"tooltip\" [ngClass]=\"contentPositionClasses\" [innerHtml]=\"content()\"></div>\n", styles: [".tooltip{--components-tooltip-background-color: var(--palettes-neutral-900);--components-tooltip-color: var(--palettes-neutral-0);--components-tooltip-max-width: 15rem;--components-tooltip-transformOrigin: center;--components-tooltip-margin: 0;background-color:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);max-width:var(--components-tooltip-max-width);border-radius:var(--commons-borderRadius-M);font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);transform-origin:var(--components-tooltip-transformOrigin);margin:var(--components-tooltip-margin);text-align:center;width:fit-content;animation-name:scaleIn;animation-duration:var(--commons-animations-durations-fast);animation-iteration-count:1}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.tooltip:empty{display:none}@supports (background-image: -webkit-named-image(i)){@media (hover: hover){[luTooltipWhenEllipsis]:after{content:\"\";display:block}}}.tooltip.is-above{--components-tooltip-transformOrigin: bottom center}.tooltip.is-below{--components-tooltip-transformOrigin: top center}.tooltip.is-before{--components-tooltip-transformOrigin: center right}.tooltip.is-before.is-above{--components-tooltip-transformOrigin: bottom right}.tooltip.is-before.is-below{--components-tooltip-transformOrigin: top right}.tooltip.is-after{--components-tooltip-transformOrigin: center left}.tooltip.is-after.is-above{--components-tooltip-transformOrigin: bottom left}.tooltip.is-after.is-below{--components-tooltip-transformOrigin: top left}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuTooltipPanelComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'lu-tooltip-panel', standalone: true, host: {
32
32
  role: 'tooltip',
33
- }, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgClass], template: "<div class=\"tooltip\" [ngClass]=\"contentPositionClasses\" [innerHtml]=\"content\"></div>\n", styles: [".tooltip{--components-tooltip-background-color: var(--palettes-neutral-900);--components-tooltip-color: var(--palettes-neutral-0);--components-tooltip-max-width: 15rem;--components-tooltip-transformOrigin: center;--components-tooltip-margin: 0;background-color:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);max-width:var(--components-tooltip-max-width);border-radius:var(--commons-borderRadius-M);font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);transform-origin:var(--components-tooltip-transformOrigin);margin:var(--components-tooltip-margin);text-align:center;width:fit-content;animation-name:scaleIn;animation-duration:var(--commons-animations-durations-fast);animation-iteration-count:1}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.tooltip:empty{display:none}@supports (background-image: -webkit-named-image(i)){@media (hover: hover){[luTooltipWhenEllipsis]:after{content:\"\";display:block}}}.tooltip.is-above{--components-tooltip-transformOrigin: bottom center}.tooltip.is-below{--components-tooltip-transformOrigin: top center}.tooltip.is-before{--components-tooltip-transformOrigin: center right}.tooltip.is-before.is-above{--components-tooltip-transformOrigin: bottom right}.tooltip.is-before.is-below{--components-tooltip-transformOrigin: top right}.tooltip.is-after{--components-tooltip-transformOrigin: center left}.tooltip.is-after.is-above{--components-tooltip-transformOrigin: bottom left}.tooltip.is-after.is-below{--components-tooltip-transformOrigin: top left}\n"] }]
33
+ }, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgClass], template: "<div class=\"tooltip\" [ngClass]=\"contentPositionClasses\" [innerHtml]=\"content()\"></div>\n", styles: [".tooltip{--components-tooltip-background-color: var(--palettes-neutral-900);--components-tooltip-color: var(--palettes-neutral-0);--components-tooltip-max-width: 15rem;--components-tooltip-transformOrigin: center;--components-tooltip-margin: 0;background-color:var(--components-tooltip-background-color);color:var(--components-tooltip-color);padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);max-width:var(--components-tooltip-max-width);border-radius:var(--commons-borderRadius-M);font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);transform-origin:var(--components-tooltip-transformOrigin);margin:var(--components-tooltip-margin);text-align:center;width:fit-content;animation-name:scaleIn;animation-duration:var(--commons-animations-durations-fast);animation-iteration-count:1}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.tooltip:empty{display:none}@supports (background-image: -webkit-named-image(i)){@media (hover: hover){[luTooltipWhenEllipsis]:after{content:\"\";display:block}}}.tooltip.is-above{--components-tooltip-transformOrigin: bottom center}.tooltip.is-below{--components-tooltip-transformOrigin: top center}.tooltip.is-before{--components-tooltip-transformOrigin: center right}.tooltip.is-before.is-above{--components-tooltip-transformOrigin: bottom right}.tooltip.is-before.is-below{--components-tooltip-transformOrigin: top right}.tooltip.is-after{--components-tooltip-transformOrigin: center left}.tooltip.is-after.is-above{--components-tooltip-transformOrigin: bottom left}.tooltip.is-after.is-below{--components-tooltip-transformOrigin: top left}\n"] }]
34
34
  }], propDecorators: { mouseEnter: [{
35
35
  type: HostListener,
36
36
  args: ['mouseenter']
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
41
41
  type: HostBinding,
42
42
  args: ['attr.id']
43
43
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3BhbmVsL3Rvb2x0aXAtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdG9vbHRpcC9wYW5lbC90b29sdGlwLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWExQyxNQUFNLE9BQU8sdUJBQXVCO0lBWHBDO1FBWUMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPbEMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBWWxDLDJCQUFzQixHQUE0QixFQUFFLENBQUM7S0FVckQ7SUExQkEsVUFBVTtRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUtELFVBQVU7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxnQkFBZ0IsQ0FBQyxJQUE2QixFQUFFLElBQTJCO1FBQzFFLElBQUksQ0FBQyxzQkFBc0IsR0FBRztZQUM3QixXQUFXLEVBQUUsSUFBSSxLQUFLLEtBQUs7WUFDM0IsVUFBVSxFQUFFLElBQUksS0FBSyxPQUFPO1lBQzVCLFVBQVUsRUFBRSxJQUFJLEtBQUssUUFBUTtZQUM3QixVQUFVLEVBQUUsSUFBSSxLQUFLLEtBQUs7U0FDMUIsQ0FBQztJQUNILENBQUM7OEdBL0JXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBPQ2pCcEMsOEZBQ0EsNG9ERGNXLE9BQU87OzJGQUVMLHVCQUF1QjtrQkFYbkMsU0FBUzsrQkFDQyxrQkFBa0IsY0FHaEIsSUFBSSxRQUNWO3dCQUNMLElBQUksRUFBRSxTQUFTO3FCQUNmLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsT0FBTyxDQUFDOzhCQVFsQixVQUFVO3NCQURULFlBQVk7dUJBQUMsWUFBWTtnQkFRMUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLEVBQUU7c0JBREQsV0FBVzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsIFZlcnRpY2FsQ29ubmVjdGlvblBvcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsdS10b29sdGlwLXBhbmVsJyxcblx0dGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi90b29sdGlwLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAndG9vbHRpcCcsXG5cdH0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmdDbGFzc10sXG59KVxuZXhwb3J0IGNsYXNzIEx1VG9vbHRpcFBhbmVsQ29tcG9uZW50IHtcblx0ZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXHRtb3VzZUVudGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG5cdG1vdXNlRW50ZXIoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VzZUVudGVyJC5uZXh0KCk7XG5cdH1cblxuXHRtb3VzZUxlYXZlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG5cdG1vdXNlTGVhdmUoKTogdm9pZCB7XG5cdFx0dGhpcy5tb3VzZUxlYXZlJC5uZXh0KCk7XG5cdH1cblxuXHRjb250ZW50OiBzdHJpbmcgfCBTYWZlSHRtbDtcblxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuXHRpZDogc3RyaW5nO1xuXG5cdGNvbnRlbnRQb3NpdGlvbkNsYXNzZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XG5cblx0c2V0UGFuZWxQb3NpdGlvbihwb3NYOiBIb3Jpem9udGFsQ29ubmVjdGlvblBvcywgcG9zWTogVmVydGljYWxDb25uZWN0aW9uUG9zKTogdm9pZCB7XG5cdFx0dGhpcy5jb250ZW50UG9zaXRpb25DbGFzc2VzID0ge1xuXHRcdFx0J2lzLWJlZm9yZSc6IHBvc1ggPT09ICdlbmQnLFxuXHRcdFx0J2lzLWFmdGVyJzogcG9zWCA9PT0gJ3N0YXJ0Jyxcblx0XHRcdCdpcy1hYm92ZSc6IHBvc1kgPT09ICdib3R0b20nLFxuXHRcdFx0J2lzLWJlbG93JzogcG9zWSA9PT0gJ3RvcCcsXG5cdFx0fTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cInRvb2x0aXBcIiBbbmdDbGFzc109XCJjb250ZW50UG9zaXRpb25DbGFzc2VzXCIgW2lubmVySHRtbF09XCJjb250ZW50XCI+PC9kaXY+XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3BhbmVsL3Rvb2x0aXAtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdG9vbHRpcC9wYW5lbC90b29sdGlwLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQWExQyxNQUFNLE9BQU8sdUJBQXVCO0lBWHBDO1FBWUMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPbEMsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBWWxDLDJCQUFzQixHQUE0QixFQUFFLENBQUM7S0FVckQ7SUExQkEsVUFBVTtRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUtELFVBQVU7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFTRCxnQkFBZ0IsQ0FBQyxJQUE2QixFQUFFLElBQTJCO1FBQzFFLElBQUksQ0FBQyxzQkFBc0IsR0FBRztZQUM3QixXQUFXLEVBQUUsSUFBSSxLQUFLLEtBQUs7WUFDM0IsVUFBVSxFQUFFLElBQUksS0FBSyxPQUFPO1lBQzVCLFVBQVUsRUFBRSxJQUFJLEtBQUssUUFBUTtZQUM3QixVQUFVLEVBQUUsSUFBSSxLQUFLLEtBQUs7U0FDMUIsQ0FBQztJQUNILENBQUM7OEdBL0JXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBPQ2pCcEMsZ0dBQ0EsNG9ERGNXLE9BQU87OzJGQUVMLHVCQUF1QjtrQkFYbkMsU0FBUzsrQkFDQyxrQkFBa0IsY0FHaEIsSUFBSSxRQUNWO3dCQUNMLElBQUksRUFBRSxTQUFTO3FCQUNmLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsT0FBTyxDQUFDOzhCQVFsQixVQUFVO3NCQURULFlBQVk7dUJBQUMsWUFBWTtnQkFRMUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFlBQVk7Z0JBUTFCLEVBQUU7c0JBREQsV0FBVzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsIFZlcnRpY2FsQ29ubmVjdGlvblBvcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2x1LXRvb2x0aXAtcGFuZWwnLFxuXHR0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3Rvb2x0aXAtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICd0b29sdGlwJyxcblx0fSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgTHVUb29sdGlwUGFuZWxDb21wb25lbnQge1xuXHRkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG5cdG1vdXNlRW50ZXIkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcblx0bW91c2VFbnRlcigpOiB2b2lkIHtcblx0XHR0aGlzLm1vdXNlRW50ZXIkLm5leHQoKTtcblx0fVxuXG5cdG1vdXNlTGVhdmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcblx0bW91c2VMZWF2ZSgpOiB2b2lkIHtcblx0XHR0aGlzLm1vdXNlTGVhdmUkLm5leHQoKTtcblx0fVxuXG5cdGNvbnRlbnQ6IFNpZ25hbDxzdHJpbmcgfCBTYWZlSHRtbD47XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcblx0aWQ6IHN0cmluZztcblxuXHRjb250ZW50UG9zaXRpb25DbGFzc2VzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuXG5cdHNldFBhbmVsUG9zaXRpb24ocG9zWDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsIHBvc1k6IFZlcnRpY2FsQ29ubmVjdGlvblBvcyk6IHZvaWQge1xuXHRcdHRoaXMuY29udGVudFBvc2l0aW9uQ2xhc3NlcyA9IHtcblx0XHRcdCdpcy1iZWZvcmUnOiBwb3NYID09PSAnZW5kJyxcblx0XHRcdCdpcy1hZnRlcic6IHBvc1ggPT09ICdzdGFydCcsXG5cdFx0XHQnaXMtYWJvdmUnOiBwb3NZID09PSAnYm90dG9tJyxcblx0XHRcdCdpcy1iZWxvdyc6IHBvc1kgPT09ICd0b3AnLFxuXHRcdH07XG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b29sdGlwXCIgW25nQ2xhc3NdPVwiY29udGVudFBvc2l0aW9uQ2xhc3Nlc1wiIFtpbm5lckh0bWxdPVwiY29udGVudCgpXCI+PC9kaXY+XG4iXX0=
@@ -5,13 +5,9 @@ export class EllipsisRuler {
5
5
  #document;
6
6
  constructor() {
7
7
  this.#document = inject(DOCUMENT);
8
- this.elementCloned = this.#document.createElement('div');
9
8
  this.parentMasked = this.#document.createElement('div');
10
9
  this.parentMasked.classList.add('u-mask');
11
10
  this.parentMasked.setAttribute('aria-hidden', 'true');
12
- this.elementCloned.style.width = 'fit-content';
13
- this.elementCloned.style.whiteSpace = 'nowrap';
14
- this.parentMasked.appendChild(this.elementCloned);
15
11
  this.#document.body.appendChild(this.parentMasked);
16
12
  }
17
13
  /**
@@ -23,31 +19,57 @@ export class EllipsisRuler {
23
19
  *
24
20
  * So we duplicate the properties we're interested in on the element to be tested to calculate its ideal size,
25
21
  * which we then compare with its current size.
22
+ *
23
+ * To avoid doing multiple reflow per check, we wait for the next microtask on each key step of the process:
24
+ * - After computing element style
25
+ * - After cloning the element and appending it to the DOM
26
+ * - After computing the width of the cloned element
27
+ * - After removing the cloned element from the DOM
28
+ *
29
+ * This way, we have 2 reflows per check, no matter how many elements are checked in a row.
26
30
  */
27
- hasEllipsis(element) {
28
- const elementStyle = window.getComputedStyle(element);
31
+ async hasEllipsis(element) {
32
+ const elementStyle = getComputedStyle(element);
29
33
  if (elementStyle.textOverflow !== 'ellipsis') {
30
34
  return false;
31
35
  }
32
- Object.assign(this.elementCloned.style, {
33
- padding: elementStyle.padding,
34
- borderWidth: elementStyle.borderWidth,
35
- borderStyle: elementStyle.borderStyle,
36
- boxSizing: elementStyle.boxSizing,
37
- fontFamily: elementStyle.fontFamily,
38
- fontWeight: elementStyle.fontWeight,
39
- fontStyle: elementStyle.fontStyle,
40
- fontSize: (Number(elementStyle.fontSize.replace('px', '')) / Number(window.getComputedStyle(document.body).fontSize.replace('px', ''))).toString() + 'rem',
36
+ const { padding, borderWidth, borderStyle, boxSizing, fontFamily, fontWeight, fontStyle } = elementStyle;
37
+ const fontSize = (Number(elementStyle.fontSize.replace('px', '')) / Number(getComputedStyle(document.body).fontSize.replace('px', ''))).toString() + 'rem';
38
+ // When multiple elements are checked in a row, we wait for the next microtask to before cloning the element
39
+ // to avoid the browser to reflow the page for each tooltip
40
+ await Promise.resolve();
41
+ const elementCloned = this.#document.createElement('div');
42
+ Object.assign(elementCloned.style, {
43
+ width: 'fit-content',
44
+ whiteSpace: 'nowrap',
45
+ position: 'absolute',
46
+ visibility: 'hidden',
47
+ padding,
48
+ borderWidth,
49
+ borderStyle,
50
+ boxSizing,
51
+ fontFamily,
52
+ fontWeight,
53
+ fontStyle,
54
+ fontSize,
41
55
  });
42
- this.elementCloned.innerHTML = element.innerHTML;
56
+ this.parentMasked.appendChild(elementCloned);
57
+ elementCloned.innerHTML = element.innerHTML;
58
+ // To avoid multiple reflows, we wait for the next microtask before calculating the width
59
+ await Promise.resolve();
43
60
  try {
44
- const elementClonedWidth = this.elementCloned.getBoundingClientRect().width;
61
+ const elementClonedWidth = elementCloned.getBoundingClientRect().width;
45
62
  const elementWidth = element.getBoundingClientRect().width;
46
63
  return elementClonedWidth > elementWidth;
47
64
  }
48
65
  catch (e) {
49
66
  return false;
50
67
  }
68
+ finally {
69
+ // To avoid multiple reflows, we wait for the next microtask before removing the cloned element
70
+ await Promise.resolve();
71
+ this.parentMasked.removeChild(elementCloned);
72
+ }
51
73
  }
52
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EllipsisRuler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
75
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EllipsisRuler, providedIn: 'root' }); }
@@ -56,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
56
78
  type: Injectable,
57
79
  args: [{ providedIn: 'root' }]
58
80
  }], ctorParameters: () => [] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMucnVsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3RyaWdnZXIvZWxsaXBzaXMucnVsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRCxNQUFNLE9BQU8sYUFBYTtJQUN6QixTQUFTLENBQW9CO0lBSTdCO1FBSkEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQixrQkFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7UUFFL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFdBQVcsQ0FBQyxPQUFvQjtRQUMvQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEQsSUFBSSxZQUFZLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzlDLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDdkMsT0FBTyxFQUFFLFlBQVksQ0FBQyxPQUFPO1lBQzdCLFdBQVcsRUFBRSxZQUFZLENBQUMsV0FBVztZQUNyQyxXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDckMsU0FBUyxFQUFFLFlBQVksQ0FBQyxTQUFTO1lBQ2pDLFVBQVUsRUFBRSxZQUFZLENBQUMsVUFBVTtZQUNuQyxVQUFVLEVBQUUsWUFBWSxDQUFDLFVBQVU7WUFDbkMsU0FBUyxFQUFFLFlBQVksQ0FBQyxTQUFTO1lBQ2pDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsS0FBSztTQUMxSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRWpELElBQUksQ0FBQztZQUNKLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM1RSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFFM0QsT0FBTyxrQkFBa0IsR0FBRyxZQUFZLENBQUM7UUFDMUMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDRixDQUFDOzhHQXREVyxhQUFhO2tIQUFiLGFBQWEsY0FEQSxNQUFNOzsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc1J1bGVyIHtcblx0I2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblx0cmVhZG9ubHkgZWxlbWVudENsb25lZCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXHRyZWFkb25seSBwYXJlbnRNYXNrZWQgPSB0aGlzLiNkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLnBhcmVudE1hc2tlZC5jbGFzc0xpc3QuYWRkKCd1LW1hc2snKTtcblx0XHR0aGlzLnBhcmVudE1hc2tlZC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcblxuXHRcdHRoaXMuZWxlbWVudENsb25lZC5zdHlsZS53aWR0aCA9ICdmaXQtY29udGVudCc7XG5cdFx0dGhpcy5lbGVtZW50Q2xvbmVkLnN0eWxlLndoaXRlU3BhY2UgPSAnbm93cmFwJztcblxuXHRcdHRoaXMucGFyZW50TWFza2VkLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudENsb25lZCk7XG5cdFx0dGhpcy4jZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnBhcmVudE1hc2tlZCk7XG5cdH1cblxuXHQvKipcblx0ICogSGFja3kgYWYgYnV0IGxldCdzIGV4cGxhaW4gZXZlcnl0aGluZ1xuXHQgKiBUaGlzIG1ldGhvZCBjaGVja3MgZm9yIGVsbGlwc2lzIGJ5IGNsb25pbmcgdGhlIG5vZGUgYW5kIGNoZWNraW5nIGl0cyB3aWR0aCBhZ2FpbnN0IG9yaWdpbmFsIGVsZW1lbnQuXG5cdCAqXG5cdCAqIFdlIHVzZWQgdG8gZG8gdGhpcyB1c2luZyBzY3JvbGxXaWR0aCBidXQgdGhlIHRoaW5nIGlzLCBpdCdzIGEgcm91bmRlZCB2YWx1ZS4gU29tZXRpbWVzLFxuXHQgKiB5b3UnZCBnZXQgdHJ1ZSB3aGlsZSBpdCBzaG91bGQgYmUgZmFsc2UgYW5kIHZpY2UtdmVyc2EsIGJlY2F1c2Ugb2Ygcm91bmRpbmcuXG5cdCAqXG5cdCAqIFNvIHdlIGR1cGxpY2F0ZSB0aGUgcHJvcGVydGllcyB3ZSdyZSBpbnRlcmVzdGVkIGluIG9uIHRoZSBlbGVtZW50IHRvIGJlIHRlc3RlZCB0byBjYWxjdWxhdGUgaXRzIGlkZWFsIHNpemUsXG5cdCAqIHdoaWNoIHdlIHRoZW4gY29tcGFyZSB3aXRoIGl0cyBjdXJyZW50IHNpemUuXG5cdCAqL1xuXHRoYXNFbGxpcHNpcyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuXHRcdGNvbnN0IGVsZW1lbnRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuXG5cdFx0aWYgKGVsZW1lbnRTdHlsZS50ZXh0T3ZlcmZsb3cgIT09ICdlbGxpcHNpcycpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRPYmplY3QuYXNzaWduKHRoaXMuZWxlbWVudENsb25lZC5zdHlsZSwge1xuXHRcdFx0cGFkZGluZzogZWxlbWVudFN0eWxlLnBhZGRpbmcsXG5cdFx0XHRib3JkZXJXaWR0aDogZWxlbWVudFN0eWxlLmJvcmRlcldpZHRoLFxuXHRcdFx0Ym9yZGVyU3R5bGU6IGVsZW1lbnRTdHlsZS5ib3JkZXJTdHlsZSxcblx0XHRcdGJveFNpemluZzogZWxlbWVudFN0eWxlLmJveFNpemluZyxcblx0XHRcdGZvbnRGYW1pbHk6IGVsZW1lbnRTdHlsZS5mb250RmFtaWx5LFxuXHRcdFx0Zm9udFdlaWdodDogZWxlbWVudFN0eWxlLmZvbnRXZWlnaHQsXG5cdFx0XHRmb250U3R5bGU6IGVsZW1lbnRTdHlsZS5mb250U3R5bGUsXG5cdFx0XHRmb250U2l6ZTogKE51bWJlcihlbGVtZW50U3R5bGUuZm9udFNpemUucmVwbGFjZSgncHgnLCAnJykpIC8gTnVtYmVyKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmZvbnRTaXplLnJlcGxhY2UoJ3B4JywgJycpKSkudG9TdHJpbmcoKSArICdyZW0nLFxuXHRcdH0pO1xuXG5cdFx0dGhpcy5lbGVtZW50Q2xvbmVkLmlubmVySFRNTCA9IGVsZW1lbnQuaW5uZXJIVE1MO1xuXG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IGVsZW1lbnRDbG9uZWRXaWR0aCA9IHRoaXMuZWxlbWVudENsb25lZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblx0XHRcdGNvbnN0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG5cblx0XHRcdHJldHVybiBlbGVtZW50Q2xvbmVkV2lkdGggPiBlbGVtZW50V2lkdGg7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMucnVsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90b29sdGlwL3RyaWdnZXIvZWxsaXBzaXMucnVsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUduRCxNQUFNLE9BQU8sYUFBYTtJQUN6QixTQUFTLENBQW9CO0lBRzdCO1FBSEEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQixpQkFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRzNELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFvQjtRQUNyQyxNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxJQUFJLFlBQVksQ0FBQyxZQUFZLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDOUMsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLFlBQVksQ0FBQztRQUV6RyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFM0osNEdBQTRHO1FBQzVHLDJEQUEyRDtRQUMzRCxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUV4QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxRCxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDbEMsS0FBSyxFQUFFLGFBQWE7WUFDcEIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsT0FBTztZQUNQLFdBQVc7WUFDWCxXQUFXO1lBQ1gsU0FBUztZQUNULFVBQVU7WUFDVixVQUFVO1lBQ1YsU0FBUztZQUNULFFBQVE7U0FDUixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU3QyxhQUFhLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFNUMseUZBQXlGO1FBQ3pGLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQztZQUNKLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3ZFLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUUzRCxPQUFPLGtCQUFrQixHQUFHLFlBQVksQ0FBQztRQUMxQyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNaLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1YsK0ZBQStGO1lBQy9GLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDRixDQUFDOzhHQS9FVyxhQUFhO2tIQUFiLGFBQWEsY0FEQSxNQUFNOzsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc1J1bGVyIHtcblx0I2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblx0cmVhZG9ubHkgcGFyZW50TWFza2VkID0gdGhpcy4jZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5wYXJlbnRNYXNrZWQuY2xhc3NMaXN0LmFkZCgndS1tYXNrJyk7XG5cdFx0dGhpcy5wYXJlbnRNYXNrZWQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG5cdFx0dGhpcy4jZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnBhcmVudE1hc2tlZCk7XG5cdH1cblxuXHQvKipcblx0ICogSGFja3kgYWYgYnV0IGxldCdzIGV4cGxhaW4gZXZlcnl0aGluZ1xuXHQgKiBUaGlzIG1ldGhvZCBjaGVja3MgZm9yIGVsbGlwc2lzIGJ5IGNsb25pbmcgdGhlIG5vZGUgYW5kIGNoZWNraW5nIGl0cyB3aWR0aCBhZ2FpbnN0IG9yaWdpbmFsIGVsZW1lbnQuXG5cdCAqXG5cdCAqIFdlIHVzZWQgdG8gZG8gdGhpcyB1c2luZyBzY3JvbGxXaWR0aCBidXQgdGhlIHRoaW5nIGlzLCBpdCdzIGEgcm91bmRlZCB2YWx1ZS4gU29tZXRpbWVzLFxuXHQgKiB5b3UnZCBnZXQgdHJ1ZSB3aGlsZSBpdCBzaG91bGQgYmUgZmFsc2UgYW5kIHZpY2UtdmVyc2EsIGJlY2F1c2Ugb2Ygcm91bmRpbmcuXG5cdCAqXG5cdCAqIFNvIHdlIGR1cGxpY2F0ZSB0aGUgcHJvcGVydGllcyB3ZSdyZSBpbnRlcmVzdGVkIGluIG9uIHRoZSBlbGVtZW50IHRvIGJlIHRlc3RlZCB0byBjYWxjdWxhdGUgaXRzIGlkZWFsIHNpemUsXG5cdCAqIHdoaWNoIHdlIHRoZW4gY29tcGFyZSB3aXRoIGl0cyBjdXJyZW50IHNpemUuXG5cdCAqXG5cdCAqIFRvIGF2b2lkIGRvaW5nIG11bHRpcGxlIHJlZmxvdyBwZXIgY2hlY2ssIHdlIHdhaXQgZm9yIHRoZSBuZXh0IG1pY3JvdGFzayBvbiBlYWNoIGtleSBzdGVwIG9mIHRoZSBwcm9jZXNzOlxuXHQgKiAtIEFmdGVyIGNvbXB1dGluZyBlbGVtZW50IHN0eWxlXG5cdCAqIC0gQWZ0ZXIgY2xvbmluZyB0aGUgZWxlbWVudCBhbmQgYXBwZW5kaW5nIGl0IHRvIHRoZSBET01cblx0ICogLSBBZnRlciBjb21wdXRpbmcgdGhlIHdpZHRoIG9mIHRoZSBjbG9uZWQgZWxlbWVudFxuXHQgKiAtIEFmdGVyIHJlbW92aW5nIHRoZSBjbG9uZWQgZWxlbWVudCBmcm9tIHRoZSBET01cblx0ICpcblx0ICogVGhpcyB3YXksIHdlIGhhdmUgMiByZWZsb3dzIHBlciBjaGVjaywgbm8gbWF0dGVyIGhvdyBtYW55IGVsZW1lbnRzIGFyZSBjaGVja2VkIGluIGEgcm93LlxuXHQgKi9cblx0YXN5bmMgaGFzRWxsaXBzaXMoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcblx0XHRjb25zdCBlbGVtZW50U3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuXG5cdFx0aWYgKGVsZW1lbnRTdHlsZS50ZXh0T3ZlcmZsb3cgIT09ICdlbGxpcHNpcycpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHRjb25zdCB7IHBhZGRpbmcsIGJvcmRlcldpZHRoLCBib3JkZXJTdHlsZSwgYm94U2l6aW5nLCBmb250RmFtaWx5LCBmb250V2VpZ2h0LCBmb250U3R5bGUgfSA9IGVsZW1lbnRTdHlsZTtcblxuXHRcdGNvbnN0IGZvbnRTaXplID0gKE51bWJlcihlbGVtZW50U3R5bGUuZm9udFNpemUucmVwbGFjZSgncHgnLCAnJykpIC8gTnVtYmVyKGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZm9udFNpemUucmVwbGFjZSgncHgnLCAnJykpKS50b1N0cmluZygpICsgJ3JlbSc7XG5cblx0XHQvLyBXaGVuIG11bHRpcGxlIGVsZW1lbnRzIGFyZSBjaGVja2VkIGluIGEgcm93LCB3ZSB3YWl0IGZvciB0aGUgbmV4dCBtaWNyb3Rhc2sgdG8gYmVmb3JlIGNsb25pbmcgdGhlIGVsZW1lbnRcblx0XHQvLyB0byBhdm9pZCB0aGUgYnJvd3NlciB0byByZWZsb3cgdGhlIHBhZ2UgZm9yIGVhY2ggdG9vbHRpcFxuXHRcdGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuXG5cdFx0Y29uc3QgZWxlbWVudENsb25lZCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG5cdFx0T2JqZWN0LmFzc2lnbihlbGVtZW50Q2xvbmVkLnN0eWxlLCB7XG5cdFx0XHR3aWR0aDogJ2ZpdC1jb250ZW50Jyxcblx0XHRcdHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuXHRcdFx0cG9zaXRpb246ICdhYnNvbHV0ZScsXG5cdFx0XHR2aXNpYmlsaXR5OiAnaGlkZGVuJyxcblx0XHRcdHBhZGRpbmcsXG5cdFx0XHRib3JkZXJXaWR0aCxcblx0XHRcdGJvcmRlclN0eWxlLFxuXHRcdFx0Ym94U2l6aW5nLFxuXHRcdFx0Zm9udEZhbWlseSxcblx0XHRcdGZvbnRXZWlnaHQsXG5cdFx0XHRmb250U3R5bGUsXG5cdFx0XHRmb250U2l6ZSxcblx0XHR9KTtcblxuXHRcdHRoaXMucGFyZW50TWFza2VkLmFwcGVuZENoaWxkKGVsZW1lbnRDbG9uZWQpO1xuXG5cdFx0ZWxlbWVudENsb25lZC5pbm5lckhUTUwgPSBlbGVtZW50LmlubmVySFRNTDtcblxuXHRcdC8vIFRvIGF2b2lkIG11bHRpcGxlIHJlZmxvd3MsIHdlIHdhaXQgZm9yIHRoZSBuZXh0IG1pY3JvdGFzayBiZWZvcmUgY2FsY3VsYXRpbmcgdGhlIHdpZHRoXG5cdFx0YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG5cblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgZWxlbWVudENsb25lZFdpZHRoID0gZWxlbWVudENsb25lZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblx0XHRcdGNvbnN0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG5cblx0XHRcdHJldHVybiBlbGVtZW50Q2xvbmVkV2lkdGggPiBlbGVtZW50V2lkdGg7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH0gZmluYWxseSB7XG5cdFx0XHQvLyBUbyBhdm9pZCBtdWx0aXBsZSByZWZsb3dzLCB3ZSB3YWl0IGZvciB0aGUgbmV4dCBtaWNyb3Rhc2sgYmVmb3JlIHJlbW92aW5nIHRoZSBjbG9uZWQgZWxlbWVudFxuXHRcdFx0YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG5cdFx0XHR0aGlzLnBhcmVudE1hc2tlZC5yZW1vdmVDaGlsZChlbGVtZW50Q2xvbmVkKTtcblx0XHR9XG5cdH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { Overlay } from '@angular/cdk/overlay';
2
2
  import { ComponentPortal } from '@angular/cdk/portal';
3
- import { ChangeDetectorRef, DestroyRef, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2, booleanAttribute, inject, numberAttribute, } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { DestroyRef, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2, booleanAttribute, computed, effect, inject, input, numberAttribute, signal, } from '@angular/core';
4
+ import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
5
5
  import { BehaviorSubject, Observable, Subject, combineLatest, merge, startWith, switchMap, timer } from 'rxjs';
6
6
  import { debounce, debounceTime, filter, map } from 'rxjs/operators';
7
7
  import { LuTooltipPanelComponent } from '../panel';
@@ -14,7 +14,6 @@ export class LuTooltipTriggerDirective {
14
14
  #renderer;
15
15
  #ruler;
16
16
  #destroyRef;
17
- #cdr;
18
17
  #openDelay$;
19
18
  set luTooltipEnterDelay(delay) {
20
19
  this.#openDelay$.next(delay);
@@ -23,13 +22,8 @@ export class LuTooltipTriggerDirective {
23
22
  set luTooltipLeaveDelay(delay) {
24
23
  this.#closeDelay$.next(delay);
25
24
  }
26
- #disabled;
27
- set luTooltipDisabled(disabled) {
28
- this.#disabled = disabled;
29
- if (disabled) {
30
- this.setAccessibilityProperties(null);
31
- }
32
- }
25
+ #hasEllipsis$;
26
+ #hasEllipsis;
33
27
  onMouseEnter() {
34
28
  this.open$.next();
35
29
  }
@@ -46,7 +40,7 @@ export class LuTooltipTriggerDirective {
46
40
  }
47
41
  #generatedId;
48
42
  get ariaDescribedBy() {
49
- if (this.#disabled || this.luTooltipWhenEllipsis || this.luTooltipOnlyForDisplay) {
43
+ if (this.luTooltipDisabled() || this.luTooltipWhenEllipsis || this.luTooltipOnlyForDisplay) {
50
44
  return null;
51
45
  }
52
46
  return `${this.#generatedId}-panel`;
@@ -57,13 +51,13 @@ export class LuTooltipTriggerDirective {
57
51
  this.#renderer = inject(Renderer2);
58
52
  this.#ruler = inject(EllipsisRuler);
59
53
  this.#destroyRef = inject(DestroyRef);
60
- this.#cdr = inject(ChangeDetectorRef);
54
+ this.luTooltip = input();
61
55
  this.#openDelay$ = new BehaviorSubject(300);
62
56
  this.#closeDelay$ = new BehaviorSubject(100);
63
- this.#disabled = false;
57
+ this.luTooltipDisabled = input(false, { transform: booleanAttribute });
64
58
  this.luTooltipOnlyForDisplay = false;
65
59
  this.luTooltipPosition = 'above';
66
- this.luTooltipWhenEllipsis = false;
60
+ this.luTooltipWhenEllipsis = input(false, { transform: booleanAttribute });
67
61
  this.resize$ = new Observable((observer) => {
68
62
  const resizeObserver = new ResizeObserver(() => {
69
63
  observer.next();
@@ -73,6 +67,18 @@ export class LuTooltipTriggerDirective {
73
67
  resizeObserver.disconnect();
74
68
  };
75
69
  });
70
+ this.#hasEllipsis$ = combineLatest([
71
+ toObservable(
72
+ // 1. Group necessary inputs
73
+ computed(() => ({ whenEllipsis: this.luTooltipWhenEllipsis(), disabled: this.luTooltipDisabled() }))),
74
+ // Resend resize events to trigger the check
75
+ this.resize$.pipe(debounceTime(150)),
76
+ ]).pipe(
77
+ // 2. Keep only necessary inputs
78
+ filter(([{ whenEllipsis, disabled }]) => !disabled && whenEllipsis),
79
+ // 3. Check for ellipsis
80
+ switchMap(() => this.#ruler.hasEllipsis(this.#host.nativeElement)));
81
+ this.#hasEllipsis = toSignal(this.#hasEllipsis$, { initialValue: false });
76
82
  this.open$ = new Subject();
77
83
  this.close$ = new Subject();
78
84
  this.#generatedId = `${this.#host.nativeElement.tagName.toLowerCase()}-tooltip-${nextId++}`;
@@ -81,12 +87,12 @@ export class LuTooltipTriggerDirective {
81
87
  // We only filter open events because even if it's disabled while opened,
82
88
  // we want the tooltip to be able to close itself no matter what
83
89
  const openEvents$ = this.open$.pipe(filter(() => {
84
- if (this.#disabled) {
90
+ if (this.luTooltipDisabled()) {
85
91
  return false;
86
92
  }
87
93
  // If not disabled, let's check for ellipsis if needed
88
- if (this.luTooltipWhenEllipsis) {
89
- return this.#ruler.hasEllipsis(this.#host.nativeElement);
94
+ if (this.luTooltipWhenEllipsis()) {
95
+ return this.#hasEllipsis();
90
96
  }
91
97
  // If it's not disabled and is not triggered based on ellipsis, just return true
92
98
  return true;
@@ -103,9 +109,13 @@ export class LuTooltipTriggerDirective {
103
109
  this.closeTooltip();
104
110
  }
105
111
  });
106
- this.resize$.pipe(takeUntilDestroyed(this.#destroyRef), debounceTime(150)).subscribe(() => {
107
- this.setAccessibilityProperties(0);
108
- this.#cdr.markForCheck();
112
+ effect(() => {
113
+ if (!this.luTooltipDisabled() && this.#hasEllipsis()) {
114
+ this.setAccessibilityProperties(0);
115
+ }
116
+ else {
117
+ this.setAccessibilityProperties(null);
118
+ }
109
119
  });
110
120
  }
111
121
  ngOnDestroy() {
@@ -129,11 +139,11 @@ export class LuTooltipTriggerDirective {
129
139
  .subscribe(({ overlayX, overlayY }) => {
130
140
  ref.instance.setPanelPosition(overlayX, overlayY);
131
141
  });
132
- if (this.luTooltip) {
142
+ if (this.luTooltip()) {
133
143
  ref.instance.content = this.luTooltip;
134
144
  }
135
145
  else if (this.luTooltipWhenEllipsis) {
136
- ref.instance.content = this.#host.nativeElement.innerText;
146
+ ref.instance.content = signal(this.#host.nativeElement.innerText);
137
147
  }
138
148
  ref.instance.id = this.ariaDescribedBy;
139
149
  // On tooltip leave => trigger close
@@ -148,20 +158,19 @@ export class LuTooltipTriggerDirective {
148
158
  }
149
159
  }
150
160
  setAccessibilityProperties(tabindex) {
151
- if (this.#disabled || (this.luTooltipWhenEllipsis && !this.#ruler.hasEllipsis(this.#host.nativeElement))) {
161
+ if (tabindex === null) {
152
162
  this.#renderer.removeAttribute(this.#host.nativeElement, 'tabindex');
153
163
  return;
154
164
  }
155
165
  const tag = this.#host.nativeElement.tagName.toLowerCase();
156
166
  const nativelyFocusableTags = ['a', 'button', 'input', 'select', 'textarea'];
157
- const isNatevelyFocusableTag = nativelyFocusableTags.includes(tag);
167
+ const isNativelyFocusableTag = nativelyFocusableTags.includes(tag);
158
168
  const hasATabIndex = this.#host.nativeElement.getAttribute('tabindex') !== null;
159
- if (!isNatevelyFocusableTag && !hasATabIndex) {
169
+ if (!isNativelyFocusableTag && !hasATabIndex) {
160
170
  this.#renderer.setAttribute(this.#host.nativeElement, 'tabindex', tabindex.toString());
161
171
  }
162
172
  }
163
173
  ngAfterContentInit() {
164
- this.setAccessibilityProperties(0);
165
174
  this._id = this.#host.nativeElement.id || this.#generatedId;
166
175
  }
167
176
  /**********************
@@ -256,7 +265,7 @@ export class LuTooltipTriggerDirective {
256
265
  return x;
257
266
  }
258
267
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuTooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
259
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.1", type: LuTooltipTriggerDirective, isStandalone: true, selector: "[luTooltip]", inputs: { luTooltip: "luTooltip", luTooltipEnterDelay: ["luTooltipEnterDelay", "luTooltipEnterDelay", numberAttribute], luTooltipLeaveDelay: ["luTooltipLeaveDelay", "luTooltipLeaveDelay", numberAttribute], luTooltipDisabled: ["luTooltipDisabled", "luTooltipDisabled", booleanAttribute], luTooltipOnlyForDisplay: ["luTooltipOnlyForDisplay", "luTooltipOnlyForDisplay", booleanAttribute], luTooltipPosition: "luTooltipPosition", luTooltipWhenEllipsis: ["luTooltipWhenEllipsis", "luTooltipWhenEllipsis", booleanAttribute] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.id": "this._id", "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["luTooltip"], ngImport: i0 }); }
268
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: LuTooltipTriggerDirective, isStandalone: true, selector: "[luTooltip]", inputs: { luTooltip: { classPropertyName: "luTooltip", publicName: "luTooltip", isSignal: true, isRequired: false, transformFunction: null }, luTooltipEnterDelay: { classPropertyName: "luTooltipEnterDelay", publicName: "luTooltipEnterDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, luTooltipLeaveDelay: { classPropertyName: "luTooltipLeaveDelay", publicName: "luTooltipLeaveDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, luTooltipDisabled: { classPropertyName: "luTooltipDisabled", publicName: "luTooltipDisabled", isSignal: true, isRequired: false, transformFunction: null }, luTooltipOnlyForDisplay: { classPropertyName: "luTooltipOnlyForDisplay", publicName: "luTooltipOnlyForDisplay", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, luTooltipPosition: { classPropertyName: "luTooltipPosition", publicName: "luTooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, luTooltipWhenEllipsis: { classPropertyName: "luTooltipWhenEllipsis", publicName: "luTooltipWhenEllipsis", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.id": "this._id", "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["luTooltip"], ngImport: i0 }); }
260
269
  }
261
270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuTooltipTriggerDirective, decorators: [{
262
271
  type: Directive,
@@ -265,25 +274,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
265
274
  exportAs: 'luTooltip',
266
275
  standalone: true,
267
276
  }]
268
- }], ctorParameters: () => [], propDecorators: { luTooltip: [{
269
- type: Input
270
- }], luTooltipEnterDelay: [{
277
+ }], ctorParameters: () => [], propDecorators: { luTooltipEnterDelay: [{
271
278
  type: Input,
272
279
  args: [{ transform: numberAttribute }]
273
280
  }], luTooltipLeaveDelay: [{
274
281
  type: Input,
275
282
  args: [{ transform: numberAttribute }]
276
- }], luTooltipDisabled: [{
277
- type: Input,
278
- args: [{ transform: booleanAttribute }]
279
283
  }], luTooltipOnlyForDisplay: [{
280
284
  type: Input,
281
285
  args: [{ transform: booleanAttribute }]
282
286
  }], luTooltipPosition: [{
283
287
  type: Input
284
- }], luTooltipWhenEllipsis: [{
285
- type: Input,
286
- args: [{ transform: booleanAttribute }]
287
288
  }], onMouseEnter: [{
288
289
  type: HostListener,
289
290
  args: ['mouseenter']
@@ -303,4 +304,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
303
304
  type: HostBinding,
304
305
  args: ['attr.aria-describedby']
305
306
  }] } });
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3Rvb2x0aXAvdHJpZ2dlci90b29sdGlwLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0YsT0FBTyxFQUFnRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25NLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLGVBQWUsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFakQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBT2YsTUFBTSxPQUFPLHlCQUF5QjtJQUNyQyxRQUFRLENBQW1CO0lBRTNCLEtBQUssQ0FBK0M7SUFFcEQsU0FBUyxDQUFxQjtJQUM5QixNQUFNLENBQXlCO0lBRS9CLFdBQVcsQ0FBc0I7SUFFakMsSUFBSSxDQUE2QjtJQUtqQyxXQUFXLENBQW9DO0lB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b0JBQ3ZCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDaEI7d0RBY0EsU0FBUztzQkFEUixLQUFLO2dCQU1GLG1CQUFtQjtzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBUWpDLG1CQUFtQjtzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBUWpDLGlCQUFpQjtzQkFEcEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTdEMsdUJBQXVCO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QyxpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4scUJBQXFCO3NCQURwQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQWtCdEMsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBTTFCLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQU0xQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFRckIsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU07Z0JBUXBCLEdBQUc7c0JBREYsV0FBVzt1QkFBQyxTQUFTO2dCQUlsQixlQUFlO3NCQURsQixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsIE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbiwgT3ZlcmxheVJlZiwgVmVydGljYWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuXHRBZnRlckNvbnRlbnRJbml0LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0RGVzdHJveVJlZixcblx0RGlyZWN0aXZlLFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0QmluZGluZyxcblx0SG9zdExpc3RlbmVyLFxuXHRJbnB1dCxcblx0T25EZXN0cm95LFxuXHRSZW5kZXJlcjIsXG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGluamVjdCxcblx0bnVtYmVyQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBMdVBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9wb3BvdmVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2UsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMdVRvb2x0aXBQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3BhbmVsJztcbmltcG9ydCB7IEVsbGlwc2lzUnVsZXIgfSBmcm9tICcuL2VsbGlwc2lzLnJ1bGVyJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tsdVRvb2x0aXBdJyxcblx0ZXhwb3J0QXM6ICdsdVRvb2x0aXAnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMdVRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcblx0I292ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cblx0I2hvc3QgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG5cdCNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXHQjcnVsZXIgPSBpbmplY3QoRWxsaXBzaXNSdWxlcik7XG5cblx0I2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0I2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cblx0QElucHV0KClcblx0bHVUb29sdGlwOiBzdHJpbmcgfCBTYWZlSHRtbDtcblxuXHQjb3BlbkRlbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigzMDApO1xuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG5cdHNldCBsdVRvb2x0aXBFbnRlckRlbGF5KGRlbGF5OiBudW1iZXIpIHtcblx0XHR0aGlzLiNvcGVuRGVsYXkkLm5leHQoZGVsYXkpO1xuXHR9XG5cblx0I2Nsb3NlRGVsYXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEwMCk7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcblx0c2V0IGx1VG9vbHRpcExlYXZlRGVsYXkoZGVsYXk6IG51bWJlcikge1xuXHRcdHRoaXMuI2Nsb3NlRGVsYXkkLm5leHQoZGVsYXkpO1xuXHR9XG5cblx0I2Rpc2FibGVkID0gZmFsc2U7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdHNldCBsdVRvb2x0aXBEaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuI2Rpc2FibGVkID0gZGlzYWJsZWQ7XG5cdFx0aWYgKGRpc2FibGVkKSB7XG5cdFx0XHR0aGlzLnNldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKG51bGwpO1xuXHRcdH1cblx0fVxuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuXHRsdVRvb2x0aXBPbmx5Rm9yRGlzcGxheSA9IGZhbHNlO1xuXG5cdEBJbnB1dCgpXG5cdGx1VG9vbHRpcFBvc2l0aW9uOiBMdVBvcG92ZXJQb3NpdGlvbiA9ICdhYm92ZSc7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdGx1VG9vbHRpcFdoZW5FbGxpcHNpcyA9IGZhbHNlO1xuXG5cdHJlc2l6ZSQgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcblx0XHRjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG5cdFx0XHRvYnNlcnZlci5uZXh0KCk7XG5cdFx0fSk7XG5cdFx0cmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRyZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cdFx0fTtcblx0fSk7XG5cblx0b3BlbiQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdGNsb3NlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0QEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG5cdG9uTW91c2VFbnRlcigpIHtcblx0XHR0aGlzLm9wZW4kLm5leHQoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuXHRvbk1vdXNlTGVhdmUoKSB7XG5cdFx0dGhpcy5jbG9zZSQubmV4dCgpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuXHRvbkZvY3VzKCkge1xuXHRcdGlmICh0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJykgIT09ICd0cnVlJykge1xuXHRcdFx0dGhpcy5vcGVuJC5uZXh0KCk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignYmx1cicpXG5cdG9uQmx1cigpIHtcblx0XHR0aGlzLmNsb3NlJC5uZXh0KCk7XG5cdH1cblxuXHQjZ2VuZXJhdGVkSWQgPSBgJHt0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpfS10b29sdGlwLSR7bmV4dElkKyt9YDtcblxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuXHRfaWQ6IHN0cmluZztcblxuXHRASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpXG5cdGdldCBhcmlhRGVzY3JpYmVkQnkoKSB7XG5cdFx0aWYgKHRoaXMuI2Rpc2FibGVkIHx8IHRoaXMubHVUb29sdGlwV2hlbkVsbGlwc2lzIHx8IHRoaXMubHVUb29sdGlwT25seUZvckRpc3BsYXkpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRyZXR1cm4gYCR7dGhpcy4jZ2VuZXJhdGVkSWR9LXBhbmVsYDtcblx0fVxuXG5cdG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbWJpbmVMYXRlc3QoW3RoaXMuI29wZW5EZWxheSQsIHRoaXMuI2Nsb3NlRGVsYXkkXSlcblx0XHRcdC5waXBlKFxuXHRcdFx0XHRzd2l0Y2hNYXAoKFtvcGVuRGVsYXksIGNsb3NlRGVsYXldKSA9PiB7XG5cdFx0XHRcdFx0Ly8gV2Ugb25seSBmaWx0ZXIgb3BlbiBldmVudHMgYmVjYXVzZSBldmVuIGlmIGl0J3MgZGlzYWJsZWQgd2hpbGUgb3BlbmVkLFxuXHRcdFx0XHRcdC8vIFx0d2Ugd2FudCB0aGUgdG9vbHRpcCB0byBiZSBhYmxlIHRvIGNsb3NlIGl0c2VsZiBubyBtYXR0ZXIgd2hhdFxuXHRcdFx0XHRcdGNvbnN0IG9wZW5FdmVudHMkID0gdGhpcy5vcGVuJC5waXBlKFxuXHRcdFx0XHRcdFx0ZmlsdGVyKCgpID0+IHtcblx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuI2Rpc2FibGVkKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC8vIElmIG5vdCBkaXNhYmxlZCwgbGV0J3MgY2hlY2sgZm9yIGVsbGlwc2lzIGlmIG5lZWRlZFxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy4jcnVsZXIuaGFzRWxsaXBzaXModGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQvLyBJZiBpdCdzIG5vdCBkaXNhYmxlZCBhbmQgaXMgbm90IHRyaWdnZXJlZCBiYXNlZCBvbiBlbGxpcHNpcywganVzdCByZXR1cm4gdHJ1ZVxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0bWFwKCgpID0+ICdvcGVuJyksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRyZXR1cm4gbWVyZ2Uob3BlbkV2ZW50cyQsIHRoaXMuY2xvc2UkLnBpcGUobWFwKCgpID0+ICdjbG9zZScpKSkucGlwZShcblx0XHRcdFx0XHRcdGRlYm91bmNlKChldmVudCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdGltZXIoZXZlbnQgPT09ICdvcGVuJyA/IG9wZW5EZWxheSA6IGNsb3NlRGVsYXkpO1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSksXG5cdFx0XHRcdHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSxcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG5cdFx0XHRcdGlmIChldmVudCA9PT0gJ29wZW4nKSB7XG5cdFx0XHRcdFx0dGhpcy5vcGVuVG9vbHRpcCgpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuY2xvc2VUb29sdGlwKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXG5cdFx0dGhpcy5yZXNpemUkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpLCBkZWJvdW5jZVRpbWUoMTUwKSkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdHRoaXMuc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXMoMCk7XG5cdFx0XHR0aGlzLiNjZHIubWFya0ZvckNoZWNrKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLmNsb3NlVG9vbHRpcCgpO1xuXHR9XG5cblx0cHJpdmF0ZSBvcGVuVG9vbHRpcCgpOiB2b2lkIHtcblx0XHQvLyBJZiB0b29sdGlwIGlzIGFscmVhZHkgb3BlbmVkLCBkb24ndCBkbyBhbnl0aGluZ1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3QgcG9zaXRpb24gPSB0aGlzLmxlZ2FjeVBvc2l0aW9uQnVpbGRlcigpO1xuXHRcdHRoaXMub3ZlcmxheVJlZiA9IHRoaXMuI292ZXJsYXkuY3JlYXRlKHtcblx0XHRcdHBvc2l0aW9uU3RyYXRlZ3k6IHBvc2l0aW9uLFxuXHRcdFx0c2Nyb2xsU3RyYXRlZ3k6IHRoaXMuI292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxuXHRcdFx0ZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcblx0XHR9KTtcblx0XHRjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKEx1VG9vbHRpcFBhbmVsQ29tcG9uZW50KTtcblx0XHRjb25zdCByZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG5cdFx0cG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzXG5cdFx0XHQucGlwZShcblx0XHRcdFx0dGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpLFxuXHRcdFx0XHRtYXAoKHsgY29ubmVjdGlvblBhaXIgfSkgPT4gY29ubmVjdGlvblBhaXIpLFxuXHRcdFx0XHRzdGFydFdpdGgocG9zaXRpb24ucG9zaXRpb25zWzBdKSxcblx0XHRcdClcblx0XHRcdC5zdWJzY3JpYmUoKHsgb3ZlcmxheVgsIG92ZXJsYXlZIH0pID0+IHtcblx0XHRcdFx0cmVmLmluc3RhbmNlLnNldFBhbmVsUG9zaXRpb24ob3ZlcmxheVgsIG92ZXJsYXlZKTtcblx0XHRcdH0pO1xuXHRcdGlmICh0aGlzLmx1VG9vbHRpcCkge1xuXHRcdFx0cmVmLmluc3RhbmNlLmNvbnRlbnQgPSB0aGlzLmx1VG9vbHRpcDtcblx0XHR9IGVsc2UgaWYgKHRoaXMubHVUb29sdGlwV2hlbkVsbGlwc2lzKSB7XG5cdFx0XHRyZWYuaW5zdGFuY2UuY29udGVudCA9IHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudC5pbm5lclRleHQ7XG5cdFx0fVxuXHRcdHJlZi5pbnN0YW5jZS5pZCA9IHRoaXMuYXJpYURlc2NyaWJlZEJ5O1xuXHRcdC8vIE9uIHRvb2x0aXAgbGVhdmUgPT4gdHJpZ2dlciBjbG9zZVxuXHRcdHJlZi5pbnN0YW5jZS5tb3VzZUxlYXZlJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChyZWYuaW5zdGFuY2UuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlJC5uZXh0KCkpO1xuXHRcdC8vIE9uIHRvb2x0aXAgZW50ZXIgPT4gdHJpZ2dlciBvcGVuIHRvIGtlZXAgaXQgb3BlbmVkXG5cdFx0cmVmLmluc3RhbmNlLm1vdXNlRW50ZXIkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHJlZi5pbnN0YW5jZS5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub3BlbiQubmV4dCgpKTtcblx0fVxuXG5cdHByaXZhdGUgY2xvc2VUb29sdGlwKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdGRlbGV0ZSB0aGlzLm92ZXJsYXlSZWY7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyh0YWJpbmRleDogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLiNkaXNhYmxlZCB8fCAodGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMgJiYgIXRoaXMuI3J1bGVyLmhhc0VsbGlwc2lzKHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudCkpKSB7XG5cdFx0XHR0aGlzLiNyZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCB0YWcgPSB0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuXHRcdGNvbnN0IG5hdGl2ZWx5Rm9jdXNhYmxlVGFncyA9IFsnYScsICdidXR0b24nLCAnaW5wdXQnLCAnc2VsZWN0JywgJ3RleHRhcmVhJ107XG5cdFx0Y29uc3QgaXNOYXRldmVseUZvY3VzYWJsZVRhZyA9IG5hdGl2ZWx5Rm9jdXNhYmxlVGFncy5pbmNsdWRlcyh0YWcpO1xuXG5cdFx0Y29uc3QgaGFzQVRhYkluZGV4ID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKSAhPT0gbnVsbDtcblxuXHRcdGlmICghaXNOYXRldmVseUZvY3VzYWJsZVRhZyAmJiAhaGFzQVRhYkluZGV4KSB7XG5cdFx0XHR0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCB0YWJpbmRleC50b1N0cmluZygpKTtcblx0XHR9XG5cdH1cblxuXHRuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllcygwKTtcblx0XHR0aGlzLl9pZCA9IHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLiNnZW5lcmF0ZWRJZDtcblx0fVxuXG5cdC8qKioqKioqKioqKioqKioqKioqKioqXG5cdCAqXG5cdCAqIExFR0FDWSBTVFVGRiBUTyBIQU5ETEUgRVhJU1RJTkcgUE9TSVRJT05TXG5cdCAqXG5cdCAqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXHRwcml2YXRlIGxlZ2FjeVBvc2l0aW9uQnVpbGRlcigpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuXHRcdGNvbnN0IGNvbm5lY3Rpb25Qb3NpdGlvbjogT3JpZ2luQ29ubmVjdGlvblBvc2l0aW9uID0ge1xuXHRcdFx0b3JpZ2luWDogJ3N0YXJ0Jyxcblx0XHRcdG9yaWdpblk6ICd0b3AnLFxuXHRcdH07XG5cblx0XHQvLyBQb3NpdGlvblxuXHRcdGNvbnN0IHBvc2l0aW9uID0gdGhpcy5sdVRvb2x0aXBQb3NpdGlvbjtcblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScpIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ3RvcCc7XG5cdFx0fSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gJ2JlbG93Jykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSAnYm90dG9tJztcblx0XHR9IGVsc2UgaWYgKHBvc2l0aW9uID09PSAnYmVmb3JlJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnc3RhcnQnO1xuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdhZnRlcicpIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2VuZCc7XG5cdFx0fVxuXG5cdFx0Ly8gQWxpZ25tZW50XG5cdFx0aWYgKHBvc2l0aW9uID09PSAnYWJvdmUnIHx8IHBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9ICdjZW50ZXInO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdjZW50ZXInO1xuXHRcdH1cblxuXHRcdGNvbnN0IG92ZXJsYXlQb3NpdGlvbjogT3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbiA9IHtcblx0XHRcdG92ZXJsYXlYOiAnc3RhcnQnLFxuXHRcdFx0b3ZlcmxheVk6ICd0b3AnLFxuXHRcdH07XG5cblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScgfHwgcG9zaXRpb24gPT09ICdiZWxvdycpIHtcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YO1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZID0gcG9zaXRpb24gPT09ICdhYm92ZScgPyAnYm90dG9tJyA6ICd0b3AnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVggPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAnZW5kJyA6ICdzdGFydCc7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy4jb3ZlcmxheVxuXHRcdFx0LnBvc2l0aW9uKClcblx0XHRcdC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuI2hvc3QpXG5cdFx0XHQud2l0aFBvc2l0aW9ucyhbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSxcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiBjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCxcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLmludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcblx0XHRcdFx0XHRvdmVybGF5WDogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiB0aGlzLmludmVydFZlcnRpY2FsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSksXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLmludmVydEhvcml6b250YWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLmludmVydEhvcml6b250YWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYKSxcblx0XHRcdFx0XHRvdmVybGF5WTogb3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0b3JpZ2luWDogdGhpcy5pbnZlcnRIb3Jpem9udGFsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YKSxcblx0XHRcdFx0XHRvcmlnaW5ZOiB0aGlzLmludmVydFZlcnRpY2FsUG9zKGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZKSxcblx0XHRcdFx0XHRvdmVybGF5WDogdGhpcy5pbnZlcnRIb3Jpem9udGFsUG9zKG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCksXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuaW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcblx0XHRcdFx0fSxcblx0XHRcdF0pO1xuXHR9XG5cblx0cHJpdmF0ZSBpbnZlcnRWZXJ0aWNhbFBvcyh5OiBWZXJ0aWNhbENvbm5lY3Rpb25Qb3MpOiBWZXJ0aWNhbENvbm5lY3Rpb25Qb3Mge1xuXHRcdGlmICh5ID09PSAndG9wJykge1xuXHRcdFx0cmV0dXJuICdib3R0b20nO1xuXHRcdH0gZWxzZSBpZiAoeSA9PT0gJ2JvdHRvbScpIHtcblx0XHRcdHJldHVybiAndG9wJztcblx0XHR9XG5cdFx0cmV0dXJuIHk7XG5cdH1cblxuXHRwcml2YXRlIGludmVydEhvcml6b250YWxQb3MoeDogSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MpOiBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyB7XG5cdFx0aWYgKHggPT09ICdlbmQnKSB7XG5cdFx0XHRyZXR1cm4gJ3N0YXJ0Jztcblx0XHR9IGVsc2UgaWYgKHggPT09ICdzdGFydCcpIHtcblx0XHRcdHJldHVybiAnZW5kJztcblx0XHR9XG5cdFx0cmV0dXJuIHg7XG5cdH1cbn1cbiJdfQ==
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3Rvb2x0aXAvdHJpZ2dlci90b29sdGlwLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0YsT0FBTyxFQUFnRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25NLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBRU4sVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsU0FBUyxFQUNULGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsZUFBZSxFQUNmLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVqRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFNZixNQUFNLE9BQU8seUJBQXlCO0lBQ3JDLFFBQVEsQ0FBbUI7SUFFM0IsS0FBSyxDQUErQztJQUVwRCxTQUFTLENBQXFCO0lBQzlCLE1BQU0sQ0FBeUI7SUFFL0Is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UG9zaXRpb25TdHJhdGVneSwgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsIE9yaWdpbkNvbm5lY3Rpb25Qb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbm5lY3Rpb25Qb3NpdGlvbiwgT3ZlcmxheVJlZiwgVmVydGljYWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuXHRBZnRlckNvbnRlbnRJbml0LFxuXHREZXN0cm95UmVmLFxuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdEhvc3RCaW5kaW5nLFxuXHRIb3N0TGlzdGVuZXIsXG5cdElucHV0LFxuXHRPbkRlc3Ryb3ksXG5cdFJlbmRlcmVyMixcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0bnVtYmVyQXR0cmlidXRlLFxuXHRzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEx1UG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL3BvcG92ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtZXJnZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEx1VG9vbHRpcFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFuZWwnO1xuaW1wb3J0IHsgRWxsaXBzaXNSdWxlciB9IGZyb20gJy4vZWxsaXBzaXMucnVsZXInO1xuXG5sZXQgbmV4dElkID0gMDtcbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1tsdVRvb2x0aXBdJyxcblx0ZXhwb3J0QXM6ICdsdVRvb2x0aXAnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMdVRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcblx0I292ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG5cblx0I2hvc3QgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG5cdCNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXHQjcnVsZXIgPSBpbmplY3QoRWxsaXBzaXNSdWxlcik7XG5cblx0I2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0bHVUb29sdGlwID0gaW5wdXQ8c3RyaW5nIHwgU2FmZUh0bWw+KCk7XG5cblx0I29wZW5EZWxheSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMzAwKTtcblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuXHRzZXQgbHVUb29sdGlwRW50ZXJEZWxheShkZWxheTogbnVtYmVyKSB7XG5cdFx0dGhpcy4jb3BlbkRlbGF5JC5uZXh0KGRlbGF5KTtcblx0fVxuXG5cdCNjbG9zZURlbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigxMDApO1xuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG5cdHNldCBsdVRvb2x0aXBMZWF2ZURlbGF5KGRlbGF5OiBudW1iZXIpIHtcblx0XHR0aGlzLiNjbG9zZURlbGF5JC5uZXh0KGRlbGF5KTtcblx0fVxuXG5cdGx1VG9vbHRpcERpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG5cdEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuXHRsdVRvb2x0aXBPbmx5Rm9yRGlzcGxheSA9IGZhbHNlO1xuXG5cdEBJbnB1dCgpXG5cdGx1VG9vbHRpcFBvc2l0aW9uOiBMdVBvcG92ZXJQb3NpdGlvbiA9ICdhYm92ZSc7XG5cblx0bHVUb29sdGlwV2hlbkVsbGlwc2lzID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG5cdHJlc2l6ZSQgPSBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcblx0XHRjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG5cdFx0XHRvYnNlcnZlci5uZXh0KCk7XG5cdFx0fSk7XG5cdFx0cmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLiNob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRyZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cdFx0fTtcblx0fSk7XG5cblx0I2hhc0VsbGlwc2lzJCA9IGNvbWJpbmVMYXRlc3QoW1xuXHRcdHRvT2JzZXJ2YWJsZShcblx0XHRcdC8vIDEuIEdyb3VwIG5lY2Vzc2FyeSBpbnB1dHNcblx0XHRcdGNvbXB1dGVkKCgpID0+ICh7IHdoZW5FbGxpcHNpczogdGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMoKSwgZGlzYWJsZWQ6IHRoaXMubHVUb29sdGlwRGlzYWJsZWQoKSB9KSksXG5cdFx0KSxcblx0XHQvLyBSZXNlbmQgcmVzaXplIGV2ZW50cyB0byB0cmlnZ2VyIHRoZSBjaGVja1xuXHRcdHRoaXMucmVzaXplJC5waXBlKGRlYm91bmNlVGltZSgxNTApKSxcblx0XSkucGlwZShcblx0XHQvLyAyLiBLZWVwIG9ubHkgbmVjZXNzYXJ5IGlucHV0c1xuXHRcdGZpbHRlcigoW3sgd2hlbkVsbGlwc2lzLCBkaXNhYmxlZCB9XSkgPT4gIWRpc2FibGVkICYmIHdoZW5FbGxpcHNpcyksXG5cdFx0Ly8gMy4gQ2hlY2sgZm9yIGVsbGlwc2lzXG5cdFx0c3dpdGNoTWFwKCgpID0+IHRoaXMuI3J1bGVyLmhhc0VsbGlwc2lzKHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudCkpLFxuXHQpO1xuXG5cdCNoYXNFbGxpcHNpcyA9IHRvU2lnbmFsKHRoaXMuI2hhc0VsbGlwc2lzJCwgeyBpbml0aWFsVmFsdWU6IGZhbHNlIH0pO1xuXG5cdG9wZW4kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRjbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuXHRvbk1vdXNlRW50ZXIoKSB7XG5cdFx0dGhpcy5vcGVuJC5uZXh0KCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcblx0b25Nb3VzZUxlYXZlKCkge1xuXHRcdHRoaXMuY2xvc2UkLm5leHQoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcblx0b25Gb2N1cygpIHtcblx0XHRpZiAodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcpICE9PSAndHJ1ZScpIHtcblx0XHRcdHRoaXMub3BlbiQubmV4dCgpO1xuXHRcdH1cblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuXHRvbkJsdXIoKSB7XG5cdFx0dGhpcy5jbG9zZSQubmV4dCgpO1xuXHR9XG5cblx0I2dlbmVyYXRlZElkID0gYCR7dGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKX0tdG9vbHRpcC0ke25leHRJZCsrfWA7XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcblx0X2lkOiBzdHJpbmc7XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKVxuXHRnZXQgYXJpYURlc2NyaWJlZEJ5KCkge1xuXHRcdGlmICh0aGlzLmx1VG9vbHRpcERpc2FibGVkKCkgfHwgdGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMgfHwgdGhpcy5sdVRvb2x0aXBPbmx5Rm9yRGlzcGxheSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdHJldHVybiBgJHt0aGlzLiNnZW5lcmF0ZWRJZH0tcGFuZWxgO1xuXHR9XG5cblx0b3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29tYmluZUxhdGVzdChbdGhpcy4jb3BlbkRlbGF5JCwgdGhpcy4jY2xvc2VEZWxheSRdKVxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdHN3aXRjaE1hcCgoW29wZW5EZWxheSwgY2xvc2VEZWxheV0pID0+IHtcblx0XHRcdFx0XHQvLyBXZSBvbmx5IGZpbHRlciBvcGVuIGV2ZW50cyBiZWNhdXNlIGV2ZW4gaWYgaXQncyBkaXNhYmxlZCB3aGlsZSBvcGVuZWQsXG5cdFx0XHRcdFx0Ly8gXHR3ZSB3YW50IHRoZSB0b29sdGlwIHRvIGJlIGFibGUgdG8gY2xvc2UgaXRzZWxmIG5vIG1hdHRlciB3aGF0XG5cdFx0XHRcdFx0Y29uc3Qgb3BlbkV2ZW50cyQgPSB0aGlzLm9wZW4kLnBpcGUoXG5cdFx0XHRcdFx0XHRmaWx0ZXIoKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5sdVRvb2x0aXBEaXNhYmxlZCgpKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC8vIElmIG5vdCBkaXNhYmxlZCwgbGV0J3MgY2hlY2sgZm9yIGVsbGlwc2lzIGlmIG5lZWRlZFxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5sdVRvb2x0aXBXaGVuRWxsaXBzaXMoKSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB0aGlzLiNoYXNFbGxpcHNpcygpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdC8vIElmIGl0J3Mgbm90IGRpc2FibGVkIGFuZCBpcyBub3QgdHJpZ2dlcmVkIGJhc2VkIG9uIGVsbGlwc2lzLCBqdXN0IHJldHVybiB0cnVlXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRtYXAoKCkgPT4gJ29wZW4nKSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdHJldHVybiBtZXJnZShvcGVuRXZlbnRzJCwgdGhpcy5jbG9zZSQucGlwZShtYXAoKCkgPT4gJ2Nsb3NlJykpKS5waXBlKFxuXHRcdFx0XHRcdFx0ZGVib3VuY2UoKGV2ZW50KSA9PiB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB0aW1lcihldmVudCA9PT0gJ29wZW4nID8gb3BlbkRlbGF5IDogY2xvc2VEZWxheSk7XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0dGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpLFxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgoZXZlbnQpID0+IHtcblx0XHRcdFx0aWYgKGV2ZW50ID09PSAnb3BlbicpIHtcblx0XHRcdFx0XHR0aGlzLm9wZW5Ub29sdGlwKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5jbG9zZVRvb2x0aXAoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKCF0aGlzLmx1VG9vbHRpcERpc2FibGVkKCkgJiYgdGhpcy4jaGFzRWxsaXBzaXMoKSkge1xuXHRcdFx0XHR0aGlzLnNldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKDApO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyhudWxsKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuY2xvc2VUb29sdGlwKCk7XG5cdH1cblxuXHRwcml2YXRlIG9wZW5Ub29sdGlwKCk6IHZvaWQge1xuXHRcdC8vIElmIHRvb2x0aXAgaXMgYWxyZWFkeSBvcGVuZWQsIGRvbid0IGRvIGFueXRoaW5nXG5cdFx0aWYgKHRoaXMub3ZlcmxheVJlZikge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMubGVnYWN5UG9zaXRpb25CdWlsZGVyKCk7XG5cdFx0dGhpcy5vdmVybGF5UmVmID0gdGhpcy4jb3ZlcmxheS5jcmVhdGUoe1xuXHRcdFx0cG9zaXRpb25TdHJhdGVneTogcG9zaXRpb24sXG5cdFx0XHRzY3JvbGxTdHJhdGVneTogdGhpcy4jb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCksXG5cdFx0XHRkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuXHRcdH0pO1xuXHRcdGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoTHVUb29sdGlwUGFuZWxDb21wb25lbnQpO1xuXHRcdGNvbnN0IHJlZiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblx0XHRwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXNcblx0XHRcdC5waXBlKFxuXHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG5cdFx0XHRcdG1hcCgoeyBjb25uZWN0aW9uUGFpciB9KSA9PiBjb25uZWN0aW9uUGFpciksXG5cdFx0XHRcdHN0YXJ0V2l0aChwb3NpdGlvbi5wb3NpdGlvbnNbMF0pLFxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgoeyBvdmVybGF5WCwgb3ZlcmxheVkgfSkgPT4ge1xuXHRcdFx0XHRyZWYuaW5zdGFuY2Uuc2V0UGFuZWxQb3NpdGlvbihvdmVybGF5WCwgb3ZlcmxheVkpO1xuXHRcdFx0fSk7XG5cdFx0aWYgKHRoaXMubHVUb29sdGlwKCkpIHtcblx0XHRcdHJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5sdVRvb2x0aXA7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmx1VG9vbHRpcFdoZW5FbGxpcHNpcykge1xuXHRcdFx0cmVmLmluc3RhbmNlLmNvbnRlbnQgPSBzaWduYWwodGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCk7XG5cdFx0fVxuXHRcdHJlZi5pbnN0YW5jZS5pZCA9IHRoaXMuYXJpYURlc2NyaWJlZEJ5O1xuXHRcdC8vIE9uIHRvb2x0aXAgbGVhdmUgPT4gdHJpZ2dlciBjbG9zZVxuXHRcdHJlZi5pbnN0YW5jZS5tb3VzZUxlYXZlJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChyZWYuaW5zdGFuY2UuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlJC5uZXh0KCkpO1xuXHRcdC8vIE9uIHRvb2x0aXAgZW50ZXIgPT4gdHJpZ2dlciBvcGVuIHRvIGtlZXAgaXQgb3BlbmVkXG5cdFx0cmVmLmluc3RhbmNlLm1vdXNlRW50ZXIkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHJlZi5pbnN0YW5jZS5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub3BlbiQubmV4dCgpKTtcblx0fVxuXG5cdHByaXZhdGUgY2xvc2VUb29sdGlwKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcblx0XHRcdHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcblx0XHRcdGRlbGV0ZSB0aGlzLm92ZXJsYXlSZWY7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBzZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyh0YWJpbmRleDogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuXHRcdGlmICh0YWJpbmRleCA9PT0gbnVsbCkge1xuXHRcdFx0dGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4Jyk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgdGFnID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKTtcblx0XHRjb25zdCBuYXRpdmVseUZvY3VzYWJsZVRhZ3MgPSBbJ2EnLCAnYnV0dG9uJywgJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xuXHRcdGNvbnN0IGlzTmF0aXZlbHlGb2N1c2FibGVUYWcgPSBuYXRpdmVseUZvY3VzYWJsZVRhZ3MuaW5jbHVkZXModGFnKTtcblxuXHRcdGNvbnN0IGhhc0FUYWJJbmRleCA9IHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykgIT09IG51bGw7XG5cblx0XHRpZiAoIWlzTmF0aXZlbHlGb2N1c2FibGVUYWcgJiYgIWhhc0FUYWJJbmRleCkge1xuXHRcdFx0dGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuI2hvc3QubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgdGFiaW5kZXgudG9TdHJpbmcoKSk7XG5cdFx0fVxuXHR9XG5cblx0bmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuX2lkID0gdGhpcy4jaG9zdC5uYXRpdmVFbGVtZW50LmlkIHx8IHRoaXMuI2dlbmVyYXRlZElkO1xuXHR9XG5cblx0LyoqKioqKioqKioqKioqKioqKioqKipcblx0ICpcblx0ICogTEVHQUNZIFNUVUZGIFRPIEhBTkRMRSBFWElTVElORyBQT1NJVElPTlNcblx0ICpcblx0ICoqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cdHByaXZhdGUgbGVnYWN5UG9zaXRpb25CdWlsZGVyKCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG5cdFx0Y29uc3QgY29ubmVjdGlvblBvc2l0aW9uOiBPcmlnaW5Db25uZWN0aW9uUG9zaXRpb24gPSB7XG5cdFx0XHRvcmlnaW5YOiAnc3RhcnQnLFxuXHRcdFx0b3JpZ2luWTogJ3RvcCcsXG5cdFx0fTtcblxuXHRcdC8vIFBvc2l0aW9uXG5cdFx0Y29uc3QgcG9zaXRpb24gPSB0aGlzLmx1VG9vbHRpcFBvc2l0aW9uO1xuXHRcdGlmIChwb3NpdGlvbiA9PT0gJ2Fib3ZlJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkgPSAndG9wJztcblx0XHR9IGVsc2UgaWYgKHBvc2l0aW9uID09PSAnYmVsb3cnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWSA9ICdib3R0b20nO1xuXHRcdH0gZWxzZSBpZiAocG9zaXRpb24gPT09ICdiZWZvcmUnKSB7XG5cdFx0XHRjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCA9ICdzdGFydCc7XG5cdFx0fSBlbHNlIGlmIChwb3NpdGlvbiA9PT0gJ2FmdGVyJykge1xuXHRcdFx0Y29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblggPSAnZW5kJztcblx0XHR9XG5cblx0XHQvLyBBbGlnbm1lbnRcblx0XHRpZiAocG9zaXRpb24gPT09ICdhYm92ZScgfHwgcG9zaXRpb24gPT09ICdiZWxvdycpIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YID0gJ2NlbnRlcic7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZID0gJ2NlbnRlcic7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgb3ZlcmxheVBvc2l0aW9uOiBPdmVybGF5Q29ubmVjdGlvblBvc2l0aW9uID0ge1xuXHRcdFx0b3ZlcmxheVg6ICdzdGFydCcsXG5cdFx0XHRvdmVybGF5WTogJ3RvcCcsXG5cdFx0fTtcblxuXHRcdGlmIChwb3NpdGlvbiA9PT0gJ2Fib3ZlJyB8fCBwb3NpdGlvbiA9PT0gJ2JlbG93Jykge1xuXHRcdFx0b3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYID0gY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblg7XG5cdFx0XHRvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkgPSBwb3NpdGlvbiA9PT0gJ2Fib3ZlJyA/ICdib3R0b20nIDogJ3RvcCc7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WCA9IHBvc2l0aW9uID09PSAnYmVmb3JlJyA/ICdlbmQnIDogJ3N0YXJ0Jztcblx0XHRcdG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSA9IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLiNvdmVybGF5XG5cdFx0XHQucG9zaXRpb24oKVxuXHRcdFx0LmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy4jaG9zdClcblx0XHRcdC53aXRoUG9zaXRpb25zKFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YLFxuXHRcdFx0XHRcdG9yaWdpblk6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5ZLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgsXG5cdFx0XHRcdFx0b3ZlcmxheVk6IG92ZXJsYXlQb3NpdGlvbi5vdmVybGF5WSxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IGNvbm5lY3Rpb25Qb3NpdGlvbi5vcmlnaW5YLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuaW52ZXJ0VmVydGljYWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkpLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgsXG5cdFx0XHRcdFx0b3ZlcmxheVk6IHRoaXMuaW52ZXJ0VmVydGljYWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlZKSxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdG9yaWdpblg6IHRoaXMuaW52ZXJ0SG9yaXpvbnRhbFBvcyhjb25uZWN0aW9uUG9zaXRpb24ub3JpZ2luWCksXG5cdFx0XHRcdFx0b3JpZ2luWTogY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblksXG5cdFx0XHRcdFx0b3ZlcmxheVg6IHRoaXMuaW52ZXJ0SG9yaXpvbnRhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVgpLFxuXHRcdFx0XHRcdG92ZXJsYXlZOiBvdmVybGF5UG9zaXRpb24ub3ZlcmxheVksXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRvcmlnaW5YOiB0aGlzLmludmVydEhvcml6b250YWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblgpLFxuXHRcdFx0XHRcdG9yaWdpblk6IHRoaXMuaW52ZXJ0VmVydGljYWxQb3MoY29ubmVjdGlvblBvc2l0aW9uLm9yaWdpblkpLFxuXHRcdFx0XHRcdG92ZXJsYXlYOiB0aGlzLmludmVydEhvcml6b250YWxQb3Mob3ZlcmxheVBvc2l0aW9uLm92ZXJsYXlYKSxcblx0XHRcdFx0XHRvdmVybGF5WTogdGhpcy5pbnZlcnRWZXJ0aWNhbFBvcyhvdmVybGF5UG9zaXRpb24ub3ZlcmxheVkpLFxuXHRcdFx0XHR9LFxuXHRcdFx0XSk7XG5cdH1cblxuXHRwcml2YXRlIGludmVydFZlcnRpY2FsUG9zKHk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcyk6IFZlcnRpY2FsQ29ubmVjdGlvblBvcyB7XG5cdFx0aWYgKHkgPT09ICd0b3AnKSB7XG5cdFx0XHRyZXR1cm4gJ2JvdHRvbSc7XG5cdFx0fSBlbHNlIGlmICh5ID09PSAnYm90dG9tJykge1xuXHRcdFx0cmV0dXJuICd0b3AnO1xuXHRcdH1cblx0XHRyZXR1cm4geTtcblx0fVxuXG5cdHByaXZhdGUgaW52ZXJ0SG9yaXpvbnRhbFBvcyh4OiBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyk6IEhvcml6b250YWxDb25uZWN0aW9uUG9zIHtcblx0XHRpZiAoeCA9PT0gJ2VuZCcpIHtcblx0XHRcdHJldHVybiAnc3RhcnQnO1xuXHRcdH0gZWxzZSBpZiAoeCA9PT0gJ3N0YXJ0Jykge1xuXHRcdFx0cmV0dXJuICdlbmQnO1xuXHRcdH1cblx0XHRyZXR1cm4geDtcblx0fVxufVxuIl19
@@ -48,11 +48,11 @@ export class LuUserTileComponent {
48
48
  return this._role;
49
49
  }
50
50
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuUserTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LuUserTileComponent, selector: "lu-user-tile", inputs: { user: "user", displayFormat: "displayFormat", role: "role" }, host: { classAttribute: "userTile" }, ngImport: i0, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;height:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight));min-height:var(--components-avatar-size)}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"], dependencies: [{ kind: "component", type: i1.LuUserPictureComponent, selector: "lu-user-picture", inputs: ["displayFormat", "imageLoadingAttribute", "user"] }, { kind: "pipe", type: i2.LuUserDisplayPipe, name: "luUserDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LuUserTileComponent, selector: "lu-user-tile", inputs: { user: "user", displayFormat: "displayFormat", role: "role" }, host: { classAttribute: "userTile" }, ngImport: i0, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-height:var(--components-avatar-size)}.userTile:has(.userTile-content-info,.user-tile-label) .avatar{height:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"], dependencies: [{ kind: "component", type: i1.LuUserPictureComponent, selector: "lu-user-picture", inputs: ["displayFormat", "imageLoadingAttribute", "user"] }, { kind: "pipe", type: i2.LuUserDisplayPipe, name: "luUserDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
52
  }
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuUserTileComponent, decorators: [{
54
54
  type: Component,
55
- args: [{ selector: 'lu-user-tile', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'userTile' }, encapsulation: ViewEncapsulation.None, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;height:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight));min-height:var(--components-avatar-size)}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"] }]
55
+ args: [{ selector: 'lu-user-tile', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'userTile' }, encapsulation: ViewEncapsulation.None, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-height:var(--components-avatar-size)}.userTile:has(.userTile-content-info,.user-tile-label) .avatar{height:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"] }]
56
56
  }], propDecorators: { user: [{
57
57
  type: Input
58
58
  }], displayFormat: [{
@@ -197,11 +197,11 @@ class CalloutDisclosureComponent {
197
197
  };
198
198
  }
199
199
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutDisclosureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CalloutDisclosureComponent, isStandalone: true, selector: "lu-callout-disclosure", inputs: { icon: "icon", heading: "heading", palette: "palette", size: "size", state: "state", open: ["open", "open", booleanAttribute] }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<span class=\"calloutDisclosure-summary-icon\">\n\t\t\t<lu-icon [icon]=\"calloutIcon\"></lu-icon>\n\t\t</span>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CalloutDisclosureComponent, isStandalone: true, selector: "lu-callout-disclosure", inputs: { icon: "icon", heading: "heading", palette: "palette", size: "size", state: "state", open: ["open", "open", booleanAttribute] }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\"></lu-icon>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
201
201
  }
202
202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutDisclosureComponent, decorators: [{
203
203
  type: Component,
204
- args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, NgClass, PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<span class=\"calloutDisclosure-summary-icon\">\n\t\t\t<lu-icon [icon]=\"calloutIcon\"></lu-icon>\n\t\t</span>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"] }]
204
+ args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, NgClass, PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<details class=\"calloutDisclosure\" [ngClass]=\"calloutClasses\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\"></lu-icon>\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--palettes-neutral-800);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300))}.calloutDisclosure a,.calloutDisclosure .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding:var(--pr-t-spacings-100) var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--commons-borderRadius-L);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-left:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin:0 calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding:var(--pr-t-spacings-100) 0 var(--pr-t-spacings-200);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}.calloutDisclosure[open] .calloutDisclosure-summary-chevron{transform:rotate(-180deg)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-left:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-left:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"] }]
205
205
  }], propDecorators: { icon: [{
206
206
  type: Input
207
207
  }], heading: [{