@lucca-front/ng 18.1.3 → 18.1.5

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 (48) hide show
  1. package/callout/callout/callout.component.d.ts +4 -1
  2. package/callout/callout-disclosure/callout-disclosure.component.d.ts +3 -0
  3. package/callout/callout-popover/callout-popover.component.d.ts +10 -1
  4. package/empty-state/empty-state-section/empty-state-section.component.d.ts +3 -0
  5. package/esm2022/button/button.component.mjs +4 -4
  6. package/esm2022/callout/callout/callout.component.mjs +11 -5
  7. package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +10 -4
  8. package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +2 -2
  9. package/esm2022/callout/callout-popover/callout-popover.component.mjs +24 -8
  10. package/esm2022/dialog/directives/dialog-open.directive.mjs +2 -2
  11. package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +10 -5
  12. package/esm2022/form-field/form-field.component.mjs +39 -11
  13. package/esm2022/forms/radio-group-input/radio/radio.component.mjs +2 -2
  14. package/esm2022/icon/icon.component.mjs +9 -4
  15. package/esm2022/inline-message/inline-message.component.mjs +3 -3
  16. package/esm2022/numeric-badge/numeric-badge.component.mjs +4 -4
  17. package/esm2022/popover2/content/popover-content/popover-content.component.mjs +2 -2
  18. package/esm2022/popover2/popover.directive.mjs +11 -13
  19. package/esm2022/tag/tag.component.mjs +10 -3
  20. package/esm2022/time/time-picker/time-picker.component.mjs +4 -3
  21. package/fesm2022/lucca-front-ng-button.mjs +3 -3
  22. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-callout.mjs +53 -25
  24. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-dialog.mjs +1 -1
  26. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-empty-state.mjs +8 -3
  28. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-form-field.mjs +38 -10
  30. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-forms.mjs +1 -1
  32. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-icon.mjs +8 -3
  34. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-inline-message.mjs +2 -2
  36. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
  38. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-popover2.mjs +11 -13
  40. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-tag.mjs +9 -2
  42. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-time.mjs +3 -2
  44. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  45. package/form-field/form-field.component.d.ts +10 -1
  46. package/icon/icon.component.d.ts +3 -0
  47. package/package.json +38 -38
  48. package/tag/tag.component.d.ts +3 -0
@@ -1,3 +1,4 @@
1
+ import { NgClass } from '@angular/common';
1
2
  import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
3
  import { RouterLink } from '@angular/router';
3
4
  import { IconComponent } from '@lucca-front/ng/icon';
@@ -8,12 +9,18 @@ export class TagComponent {
8
9
  this.palette = 'none';
9
10
  this.outlined = false;
10
11
  }
12
+ get tagClasses() {
13
+ return {
14
+ [`mod-${this.size}`]: !!this.size,
15
+ [`palette-${this.palette}`]: !!this.palette,
16
+ };
17
+ }
11
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: TagComponent, isStandalone: true, selector: "lu-tag", inputs: { label: "label", size: "size", palette: "palette", outlined: ["outlined", "outlined", booleanAttribute], link: "link", icon: "icon" }, ngImport: i0, template: "@if (link) {\n<a [routerLink]=\"link\" class=\"tag mod-{{size}} palette-{{palette}}\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</a\n>\n} @else {\n<span class=\"tag mod-{{size}} palette-{{palette}}\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</span\n>\n}\n", styles: [".tag{--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-shadow: transparent;--components-tag-fontSize: var(--sizes-S-fontSize);--components-tag-lineHeight: var(--sizes-S-lineHeight);--components-tag-decoration: none;--components-tag-cursor: default;background-color:var(--components-tag-background);border-radius:var(--commons-borderRadius-M);padding:0 var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--pr-t-spacings-50);cursor:var(--components-tag-cursor);display:inline-flex;align-items:baseline;text-align:center;vertical-align:baseline;white-space:nowrap;font-weight:400;border:0;font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight)}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: .75rem}.tag-content{text-decoration:var(--components-tag-decoration)}.tag.mod-L{--components-tag-fontSize: var(--sizes-M-fontSize);--components-tag-lineHeight: var(--sizes-M-lineHeight);--components-tag-iconBottom: 0}.tag.mod-L .lucca-icon{--icon-size: 1rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined{--components-tag-color: var(--palettes-600, var(--palettes-neutral-600));--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: TagComponent, isStandalone: true, selector: "lu-tag", inputs: { label: "label", size: "size", palette: "palette", outlined: ["outlined", "outlined", booleanAttribute], link: "link", icon: "icon" }, ngImport: i0, template: "@if (link) {\n<a [routerLink]=\"link\" class=\"tag\" [ngClass]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</a\n>\n} @else {\n<span class=\"tag\" [ngClass]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</span\n>\n}\n", styles: [".tag{--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-shadow: transparent;--components-tag-fontSize: var(--sizes-S-fontSize);--components-tag-lineHeight: var(--sizes-S-lineHeight);--components-tag-decoration: none;--components-tag-cursor: default;background-color:var(--components-tag-background);border-radius:var(--commons-borderRadius-M);padding:0 var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--pr-t-spacings-50);cursor:var(--components-tag-cursor);display:inline-flex;align-items:baseline;text-align:center;vertical-align:baseline;white-space:nowrap;font-weight:400;border:0;font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight)}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: .75rem}.tag-content{text-decoration:var(--components-tag-decoration)}.tag.mod-L{--components-tag-fontSize: var(--sizes-M-fontSize);--components-tag-lineHeight: var(--sizes-M-lineHeight);--components-tag-iconBottom: 0}.tag.mod-L .lucca-icon{--icon-size: 1rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined{--components-tag-color: var(--palettes-600, var(--palettes-neutral-600));--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
20
  }
14
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TagComponent, decorators: [{
15
22
  type: Component,
16
- args: [{ selector: 'lu-tag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent, RouterLink], template: "@if (link) {\n<a [routerLink]=\"link\" class=\"tag mod-{{size}} palette-{{palette}}\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</a\n>\n} @else {\n<span class=\"tag mod-{{size}} palette-{{palette}}\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</span\n>\n}\n", styles: [".tag{--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-shadow: transparent;--components-tag-fontSize: var(--sizes-S-fontSize);--components-tag-lineHeight: var(--sizes-S-lineHeight);--components-tag-decoration: none;--components-tag-cursor: default;background-color:var(--components-tag-background);border-radius:var(--commons-borderRadius-M);padding:0 var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--pr-t-spacings-50);cursor:var(--components-tag-cursor);display:inline-flex;align-items:baseline;text-align:center;vertical-align:baseline;white-space:nowrap;font-weight:400;border:0;font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight)}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: .75rem}.tag-content{text-decoration:var(--components-tag-decoration)}.tag.mod-L{--components-tag-fontSize: var(--sizes-M-fontSize);--components-tag-lineHeight: var(--sizes-M-lineHeight);--components-tag-iconBottom: 0}.tag.mod-L .lucca-icon{--icon-size: 1rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined{--components-tag-color: var(--palettes-600, var(--palettes-neutral-600));--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}\n"] }]
23
+ args: [{ selector: 'lu-tag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent, NgClass, RouterLink], template: "@if (link) {\n<a [routerLink]=\"link\" class=\"tag\" [ngClass]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</a\n>\n} @else {\n<span class=\"tag\" [ngClass]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t@if (icon) {\n\t<lu-icon [icon]=\"icon\"></lu-icon><span class=\"tag-content\">{{ label }}</span> } @else { {{ label }} }</span\n>\n}\n", styles: [".tag{--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-shadow: transparent;--components-tag-fontSize: var(--sizes-S-fontSize);--components-tag-lineHeight: var(--sizes-S-lineHeight);--components-tag-decoration: none;--components-tag-cursor: default;background-color:var(--components-tag-background);border-radius:var(--commons-borderRadius-M);padding:0 var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--pr-t-spacings-50);cursor:var(--components-tag-cursor);display:inline-flex;align-items:baseline;text-align:center;vertical-align:baseline;white-space:nowrap;font-weight:400;border:0;font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight)}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: .75rem}.tag-content{text-decoration:var(--components-tag-decoration)}.tag.mod-L{--components-tag-fontSize: var(--sizes-M-fontSize);--components-tag-lineHeight: var(--sizes-M-lineHeight);--components-tag-iconBottom: 0}.tag.mod-L .lucca-icon{--icon-size: 1rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined{--components-tag-color: var(--palettes-600, var(--palettes-neutral-600));--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}\n"] }]
17
24
  }], propDecorators: { label: [{
18
25
  type: Input,
19
26
  args: [{ required: true }]
@@ -51,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
51
58
  icon: [{
52
59
  type: Input
53
60
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3RhZy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdGFnL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVdyRCxNQUFNLE9BQU8sWUFBWTtJQVR6QjtRQWlCQyxTQUFJLEdBQWMsR0FBRyxDQUFDO1FBT3RCLFlBQU8sR0FBWSxNQUFNLENBQUM7UUFNMUIsYUFBUSxHQUFHLEtBQUssQ0FBQztLQWNqQjs4R0FuQ1ksWUFBWTtrR0FBWixZQUFZLHlJQWlCSixnQkFBZ0IseURDaENyQyw0ZUFXQSx5bUVERVcsYUFBYSw4RkFBRSxVQUFVOzsyRkFFdkIsWUFBWTtrQkFUeEIsU0FBUzsrQkFDQyxRQUFRLGNBQ04sSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQzs4QkFJcEMsS0FBSztzQkFESixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTs7UUFJekI7O1dBRUc7UUFDSCxJQUFJO3NCQUpILEtBQUs7O1FBT047OztXQUdHO1FBQ0gsT0FBTztzQkFMTixLQUFLOztRQVFOOztXQUVHO1FBQ0gsUUFBUTtzQkFKUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztRQU90Qzs7V0FFRztRQUNILElBQUk7c0JBSkgsS0FBSzs7UUFPTjs7O1dBR0c7UUFDSCxJQUFJO3NCQUxILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTHVjY2FJY29uIH0gZnJvbSAnQGx1Y2NhLWZyb250L2ljb25zJztcbmltcG9ydCB7IFBhbGV0dGUgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2ljb24nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdsdS10YWcnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZVVybDogJy4vdGFnLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vdGFnLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuXHRpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgUm91dGVyTGlua10sXG59KVxuZXhwb3J0IGNsYXNzIFRhZ0NvbXBvbmVudCB7XG5cdEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG5cdGxhYmVsOiBzdHJpbmc7XG5cblx0QElucHV0KClcblx0LyoqXG5cdCAqIFdoaWNoIHNpemUgc2hvdWxkIHRoZSBjYWxsb3V0IGJlPyBEZWZhdWx0cyB0byBtZWRpdW1cblx0ICovXG5cdHNpemU6ICdNJyB8ICdTJyA9ICdNJztcblxuXHRASW5wdXQoKVxuXHQvKipcblx0ICogV2hpY2ggcGFsZXR0ZSBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGVudGlyZSBjYWxsb3V0LlxuXHQgKiBEZWZhdWx0cyB0byBub25lIChpbmhlcml0cyBwYXJlbnQgcGFsZXR0ZSlcblx0ICovXG5cdHBhbGV0dGU6IFBhbGV0dGUgPSAnbm9uZSc7XG5cblx0QElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG5cdC8qKlxuXHQgKiBTaG91bGQgZGlzcGxheSBiZSBvdXRsaW5lZD9cblx0ICovXG5cdG91dGxpbmVkID0gZmFsc2U7XG5cblx0QElucHV0KClcblx0LyoqXG5cdCAqIEZvciByb3V0ZXJMaW5rIHVzYWdlXG5cdCAqL1xuXHRsaW5rOiBzdHJpbmc7XG5cblx0QElucHV0KClcblx0LyoqXG5cdCAqIFdoaWNoIGljb24gc2hvdWxkIHdlIGRpc3BsYXkgaW4gdGhlIGNhbGxvdXQgaWYgYW55P1xuXHQgKiBEZWZhdWx0cyB0byBubyBpY29uLlxuXHQgKi9cblx0aWNvbjogTHVjY2FJY29uO1xufVxuIiwiQGlmIChsaW5rKSB7XG48YSBbcm91dGVyTGlua109XCJsaW5rXCIgY2xhc3M9XCJ0YWcgbW9kLXt7c2l6ZX19IHBhbGV0dGUte3twYWxldHRlfX1cIiBbY2xhc3MubW9kLW91dGxpbmVkXT1cIm91dGxpbmVkXCI+XG5cdEBpZiAoaWNvbikge1xuXHQ8bHUtaWNvbiBbaWNvbl09XCJpY29uXCI+PC9sdS1pY29uPjxzcGFuIGNsYXNzPVwidGFnLWNvbnRlbnRcIj57eyBsYWJlbCB9fTwvc3Bhbj4gfSBAZWxzZSB7IHt7IGxhYmVsIH19IH08L2Fcbj5cbn0gQGVsc2Uge1xuPHNwYW4gY2xhc3M9XCJ0YWcgbW9kLXt7c2l6ZX19IHBhbGV0dGUte3twYWxldHRlfX1cIiBbY2xhc3MubW9kLW91dGxpbmVkXT1cIm91dGxpbmVkXCI+XG5cdEBpZiAoaWNvbikge1xuXHQ8bHUtaWNvbiBbaWNvbl09XCJpY29uXCI+PC9sdS1pY29uPjxzcGFuIGNsYXNzPVwidGFnLWNvbnRlbnRcIj57eyBsYWJlbCB9fTwvc3Bhbj4gfSBAZWxzZSB7IHt7IGxhYmVsIH19IH08L3NwYW5cbj5cbn1cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3RhZy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdGFnL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFXckQsTUFBTSxPQUFPLFlBQVk7SUFUekI7UUFpQkMsU0FBSSxHQUFjLEdBQUcsQ0FBQztRQU90QixZQUFPLEdBQVksTUFBTSxDQUFDO1FBTTFCLGFBQVEsR0FBRyxLQUFLLENBQUM7S0FxQmpCO0lBTkEsSUFBSSxVQUFVO1FBQ2IsT0FBTztZQUNOLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDakMsQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztTQUMzQyxDQUFDO0lBQ0gsQ0FBQzs4R0F6Q1csWUFBWTtrR0FBWixZQUFZLHlJQWlCSixnQkFBZ0IseURDakNyQyw0ZEFXQSx5bUVER1csYUFBYSw4RkFBRSxPQUFPLG9GQUFFLFVBQVU7OzJGQUVoQyxZQUFZO2tCQVR4QixTQUFTOytCQUNDLFFBQVEsY0FDTixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQzs4QkFJN0MsS0FBSztzQkFESixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTs7UUFJekI7O1dBRUc7UUFDSCxJQUFJO3NCQUpILEtBQUs7O1FBT047OztXQUdHO1FBQ0gsT0FBTztzQkFMTixLQUFLOztRQVFOOztXQUVHO1FBQ0gsUUFBUTtzQkFKUCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztRQU90Qzs7V0FFRztRQUNILElBQUk7c0JBSkgsS0FBSzs7UUFPTjs7O1dBR0c7UUFDSCxJQUFJO3NCQUxILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMdWNjYUljb24gfSBmcm9tICdAbHVjY2EtZnJvbnQvaWNvbnMnO1xuaW1wb3J0IHsgUGFsZXR0ZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2x1LXRhZycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlVXJsOiAnLi90YWcuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi90YWcuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cdGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBOZ0NsYXNzLCBSb3V0ZXJMaW5rXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFnQ29tcG9uZW50IHtcblx0QElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcblx0bGFiZWw6IHN0cmluZztcblxuXHRASW5wdXQoKVxuXHQvKipcblx0ICogV2hpY2ggc2l6ZSBzaG91bGQgdGhlIGNhbGxvdXQgYmU/IERlZmF1bHRzIHRvIG1lZGl1bVxuXHQgKi9cblx0c2l6ZTogJ00nIHwgJ1MnID0gJ00nO1xuXG5cdEBJbnB1dCgpXG5cdC8qKlxuXHQgKiBXaGljaCBwYWxldHRlIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZW50aXJlIGNhbGxvdXQuXG5cdCAqIERlZmF1bHRzIHRvIG5vbmUgKGluaGVyaXRzIHBhcmVudCBwYWxldHRlKVxuXHQgKi9cblx0cGFsZXR0ZTogUGFsZXR0ZSA9ICdub25lJztcblxuXHRASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcblx0LyoqXG5cdCAqIFNob3VsZCBkaXNwbGF5IGJlIG91dGxpbmVkP1xuXHQgKi9cblx0b3V0bGluZWQgPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHQvKipcblx0ICogRm9yIHJvdXRlckxpbmsgdXNhZ2Vcblx0ICovXG5cdGxpbms6IHN0cmluZztcblxuXHRASW5wdXQoKVxuXHQvKipcblx0ICogV2hpY2ggaWNvbiBzaG91bGQgd2UgZGlzcGxheSBpbiB0aGUgY2FsbG91dCBpZiBhbnk/XG5cdCAqIERlZmF1bHRzIHRvIG5vIGljb24uXG5cdCAqL1xuXHRpY29uOiBMdWNjYUljb247XG5cblx0Z2V0IHRhZ0NsYXNzZXMoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFtgbW9kLSR7dGhpcy5zaXplfWBdOiAhIXRoaXMuc2l6ZSxcblx0XHRcdFtgcGFsZXR0ZS0ke3RoaXMucGFsZXR0ZX1gXTogISF0aGlzLnBhbGV0dGUsXG5cdFx0fTtcblx0fVxufVxuIiwiQGlmIChsaW5rKSB7XG48YSBbcm91dGVyTGlua109XCJsaW5rXCIgY2xhc3M9XCJ0YWdcIiBbbmdDbGFzc109XCJ0YWdDbGFzc2VzXCIgW2NsYXNzLm1vZC1vdXRsaW5lZF09XCJvdXRsaW5lZFwiPlxuXHRAaWYgKGljb24pIHtcblx0PGx1LWljb24gW2ljb25dPVwiaWNvblwiPjwvbHUtaWNvbj48c3BhbiBjbGFzcz1cInRhZy1jb250ZW50XCI+e3sgbGFiZWwgfX08L3NwYW4+IH0gQGVsc2UgeyB7eyBsYWJlbCB9fSB9PC9hXG4+XG59IEBlbHNlIHtcbjxzcGFuIGNsYXNzPVwidGFnXCIgW25nQ2xhc3NdPVwidGFnQ2xhc3Nlc1wiIFtjbGFzcy5tb2Qtb3V0bGluZWRdPVwib3V0bGluZWRcIj5cblx0QGlmIChpY29uKSB7XG5cdDxsdS1pY29uIFtpY29uXT1cImljb25cIj48L2x1LWljb24+PHNwYW4gY2xhc3M9XCJ0YWctY29udGVudFwiPnt7IGxhYmVsIH19PC9zcGFuPiB9IEBlbHNlIHsge3sgbGFiZWwgfX0gfTwvc3BhblxuPlxufVxuIl19
@@ -11,12 +11,13 @@ import { TimePickerPartComponent } from '../core/time-picker-part.component';
11
11
  import { DEFAULT_MIN_TIME, DEFAULT_TIME_DECIMAL_PIPE_FORMAT } from './time-picker.model';
12
12
  import { LU_TIME_PICKER_TRANSLATIONS } from './time-picker.translate';
13
13
  import * as i0 from "@angular/core";
14
+ const MAX_TIME = '23:59:59';
14
15
  export class TimePickerComponent extends BasePickerComponent {
15
16
  constructor() {
16
17
  super(...arguments);
17
18
  this.intl = getIntl(LU_TIME_PICKER_TRANSLATIONS);
18
19
  this.value = model('--:--:--');
19
- this.max = input(null);
20
+ this.max = input(MAX_TIME);
20
21
  this.displayArrows = input(false, { transform: booleanAttribute });
21
22
  this.timeChange = output();
22
23
  this.hoursDisplay = computed(() => getHoursDisplayPartFromIsoTime(this.value()));
@@ -34,7 +35,7 @@ export class TimePickerComponent extends BasePickerComponent {
34
35
  this.separator = this.intl.timePickerTimeSeparator;
35
36
  this.hoursDecimalConf = DEFAULT_TIME_DECIMAL_PIPE_FORMAT;
36
37
  this.maxHours = computed(() => {
37
- return getHoursPartFromIsoTime(this.max() ?? '23:59:59');
38
+ return getHoursPartFromIsoTime(this.max());
38
39
  });
39
40
  }
40
41
  writeValue(value) {
@@ -175,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
175
176
  }], propDecorators: { label: [{
176
177
  type: Input
177
178
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdGltZS90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90aW1lL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLGdDQUFnQyxFQUNoQyx5QkFBeUIsRUFDekIsZ0JBQWdCLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUEwQixNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdF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QUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEOzhCQVVRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIElucHV0LCBpbnB1dCwgbW9kZWwsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0SW50bCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEJhc2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJU084NjAxVGltZSB9IGZyb20gJy4uL2NvcmUvZGF0ZS1wcmltaXRpdmVzJztcbmltcG9ydCB7XG5cdGNvbnZlcnRTdHJpbmdUb0lzb1RpbWUsXG5cdGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzLFxuXHRnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUsXG5cdGdldEhvdXJzUGFydEZyb21Jc29UaW1lLFxuXHRnZXRNaW51dGVzRGlzcGxheVBhcnRGcm9tSXNvVGltZSxcblx0Z2V0TWludXRlc1BhcnRGcm9tSXNvVGltZSxcblx0aXNvVGltZVRvU2Vjb25kcyxcbn0gZnJvbSAnLi4vY29yZS9kYXRlLnV0aWxzJztcbmltcG9ydCB7IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2R1cmF0aW9uLnV0aWxzJztcbmltcG9ydCB7IGNlaWxUb05lYXJlc3QsIGNpcmN1bGFyaXplLCBmbG9vclRvTmVhcmVzdCwgcm91bmRUb05lYXJlc3QgfSBmcm9tICcuLi9jb3JlL21hdGgudXRpbHMnO1xuaW1wb3J0IHsgaXNOaWwsIGlzTm90TmlsLCBQaWNrZXJDb250cm9sRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29yZS9taXNjLnV0aWxzJztcbmltcG9ydCB7IFRpbWVQaWNrZXJQYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS90aW1lLXBpY2tlci1wYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUZBVUxUX01JTl9USU1FLCBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVCwgVGltZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci5tb2RlbCc7XG5pbXBvcnQgeyBMVV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMgfSBmcm9tICcuL3RpbWUtcGlja2VyLnRyYW5zbGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2x1LXRpbWUtcGlja2VyJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1RpbWVQaWNrZXJQYXJ0Q29tcG9uZW50LCBOZ0NsYXNzXSxcblx0dGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGltZVBpY2tlckNvbXBvbmVudCksXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHR9LFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBpY2tlckNvbXBvbmVudCB7XG5cdHByb3RlY3RlZCBpbnRsID0gZ2V0SW50bChMVV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMpO1xuXG5cdHZhbHVlID0gbW9kZWw8SVNPODYwMVRpbWU+KCctLTotLTotLScpO1xuXHRtYXggPSBpbnB1dDxJU084NjAxVGltZT4obnVsbCk7XG5cblx0ZGlzcGxheUFycm93cyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG5cdHRpbWVDaGFuZ2UgPSBvdXRwdXQ8VGltZUNoYW5nZUV2ZW50PigpO1xuXG5cdHByb3RlY3RlZCBob3Vyc0Rpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiBnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBtaW51dGVzRGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNEaXNwbGF5UGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXG5cdHByb3RlY3RlZCBob3VycyA9IGNvbXB1dGVkKCgpID0+IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXHRwcm90ZWN0ZWQgbWludXRlcyA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBwaWNrZXJDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0aW1lUGlja2VyOiB0cnVlLFxuXHRcdFx0J21vZC1zdGVwcGVyJzogdGhpcy5kaXNwbGF5QXJyb3dzKCksXG5cdFx0XHQnbW9kLXN0ZXBwZXJIb3Zlcic6IHRoaXMuZGlzcGxheUFycm93cygpLFxuXHRcdFx0W2Btb2QtJHt0aGlzLnNpemUoKX1gXTogQm9vbGVhbih0aGlzLnNpemUoKSksXG5cdFx0fTtcblx0fSk7XG5cdHByb3RlY3RlZCBzZXBhcmF0b3IgPSB0aGlzLmludGwudGltZVBpY2tlclRpbWVTZXBhcmF0b3I7XG5cblx0cHJvdGVjdGVkIGhvdXJzRGVjaW1hbENvbmYgPSBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVDtcblxuXHRwcm90ZWN0ZWQgbWF4SG91cnMgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0cmV0dXJuIGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMubWF4KCkgPz8gJzIzOjU5OjU5Jyk7XG5cdH0pO1xuXG5cdHdyaXRlVmFsdWUodmFsdWU6IElTTzg2MDFUaW1lKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUgfHwgJy0tOi0tOi0tJyk7XG5cdH1cblxuXHRzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cdFx0dGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgaG91cnNJbnB1dEhhbmRsZXIodmFsdWU6IG51bWJlciB8ICctLScpOiB2b2lkIHtcblx0XHR0aGlzLnNldFRpbWUoe1xuXHRcdFx0cHJldmlvdXNWYWx1ZTogdGhpcy52YWx1ZSgpLFxuXHRcdFx0Ly8gTW9zdGx5IGZvciBjb21waWxlciBiZWNhdXNlIHdlIG5ldmVyIHNldCB0aGUgdGltZSB0byAtLSB3aXRoIGlucHV0IGhhbmRsZXJcblx0XHRcdHZhbHVlOiBjcmVhdGVJc29UaW1lRnJvbUhvdXJzQW5kTWludXRlcygrdmFsdWUsIHRoaXMubWludXRlcygpKSxcblx0XHRcdHNvdXJjZTogJ2lucHV0Jyxcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBtaW51dGVzSW5wdXRIYW5kbGVyKHZhbHVlOiBudW1iZXIgfCAnLS0nKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRUaW1lKHtcblx0XHRcdHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUoKSxcblx0XHRcdC8vIE1vc3RseSBmb3IgY29tcGlsZXIgYmVjYXVzZSB3ZSBuZXZlciBzZXQgdGhlIHRpbWUgdG8gLS0gd2l0aCBpbnB1dCBoYW5kbGVyXG5cdFx0XHR2YWx1ZTogY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXModGhpcy5ob3VycygpLCArdmFsdWUpLFxuXHRcdFx0c291cmNlOiAnaW5wdXQnLFxuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIGNvcHlIYW5kbGVyKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0Ly8gd3JpdGUgdmFsdWUgdG8gY2xpcGJvYXJkXG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG5cdFx0aWYgKGlzTm90TmlsKHZhbHVlKSkge1xuXHRcdFx0ZXZlbnQuY2xpcGJvYXJkRGF0YT8uc2V0RGF0YSgndGV4dC9wbGFpbicsIHZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgcGFzdGVIYW5kbGVyKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0Y29uc3QgcGFzdGVkVmFsdWUgPSBldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG5cdFx0aWYgKGlzTm90TmlsKHBhc3RlZFZhbHVlKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdmFsdWUgPSBjb252ZXJ0U3RyaW5nVG9Jc29UaW1lKHBhc3RlZFZhbHVlKTtcblx0XHRcdFx0dGhpcy50aW1lQ2hhbmdlLmVtaXQoe1xuXHRcdFx0XHRcdHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUoKSxcblx0XHRcdFx0XHRzb3VyY2U6ICdwYXN0ZScsXG5cdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XG5cdFx0XHRcdHRoaXMub25DaGFuZ2U/Lih2YWx1ZSk7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vIGRvIG5vdGhpbmdcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRvdmVycmlkZSBnZXRIb3Vyc0luY3JlbWVudCgpOiBudW1iZXIge1xuXHRcdGNvbnN0IHN0ZXAgPSB0aGlzLnN0ZXAoKTtcblx0XHRpZiAoaXNOaWwoc3RlcCkpIHtcblx0XHRcdHJldHVybiAxO1xuXHRcdH1cblxuXHRcdGNvbnN0IHsgaG91cnMgfSA9IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24oc3RlcCk7XG5cblx0XHRpZiAoaG91cnMgPT09IDApIHtcblx0XHRcdHJldHVybiAxO1xuXHRcdH1cblxuXHRcdHJldHVybiAyNCAlIGhvdXJzID09PSAwID8gaG91cnMgOiAxO1xuXHR9XG5cblx0b3ZlcnJpZGUgZ2V0TWludXRlc0luY3JlbWVudCgpOiBudW1iZXIgfCBudWxsIHtcblx0XHRjb25zdCBzdGVwID0gdGhpcy5zdGVwKCk7XG5cdFx0aWYgKGlzTmlsKHN0ZXApKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRjb25zdCB7IG1pbnV0ZXMgfSA9IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24oc3RlcCk7XG5cblx0XHRpZiAobWludXRlcyA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIDYwICUgbWludXRlcyA9PT0gMCA/IG1pbnV0ZXMgOiAxO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRUaW1lKHByb3RvRXZlbnQ6IFRpbWVDaGFuZ2VFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IGhvdXJzUGFydCA9IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHByb3RvRXZlbnQudmFsdWUpO1xuXHRcdGNvbnN0IG1pbnV0ZXNQYXJ0ID0gZ2V0TWludXRlc1BhcnRGcm9tSXNvVGltZShwcm90b0V2ZW50LnZhbHVlKTtcblxuXHRcdGNvbnN0IG1heCA9IGlzb1RpbWVUb1NlY29uZHModGhpcy5tYXgoKSk7XG5cblx0XHRjb25zdCBjYW5kaWRhdGVUaW1lQXNTZWNvbmRzID0gaG91cnNQYXJ0ICogMzYwMCArIG1pbnV0ZXNQYXJ0ICogNjA7XG5cblx0XHRjb25zdCBzZWNvbmRzID0gcm91bmRUb05lYXJlc3QoY2lyY3VsYXJpemUoY2FuZGlkYXRlVGltZUFzU2Vjb25kcywgbWF4KSwgNjApO1xuXG5cdFx0Y29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyAzNjAwKTtcblx0XHRjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigoc2Vjb25kcyAlIDM2MDApIC8gNjApO1xuXG5cdFx0Y29uc3QgcmVzdWx0ID0gY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMoaG91cnMsIG1pbnV0ZXMpO1xuXG5cdFx0dGhpcy52YWx1ZS5zZXQocmVzdWx0KTtcblx0XHR0aGlzLm9uQ2hhbmdlPy4ocmVzdWx0KTtcblx0XHR0aGlzLnRpbWVDaGFuZ2UuZW1pdCh7XG5cdFx0XHQuLi5wcm90b0V2ZW50LFxuXHRcdFx0dmFsdWU6IHJlc3VsdCxcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBpbnB1dENvbnRyb2xDbGlja0hhbmRsZXIocGFydDogJ2hvdXJzJyB8ICdtaW51dGVzJywgZGlyZWN0aW9uOiBQaWNrZXJDb250cm9sRGlyZWN0aW9uKTogdm9pZCB7XG5cdFx0Y29uc3QgdmFsID0gdGhpcy52YWx1ZSgpID8/IERFRkFVTFRfTUlOX1RJTUU7XG5cdFx0Y29uc3QgaG91cnNQYXJ0ID0gZ2V0SG91cnNQYXJ0RnJvbUlzb1RpbWUodmFsKTtcblx0XHRjb25zdCBtaW51dGVzUGFydCA9IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUodmFsKTtcblxuXHRcdGNvbnN0IHNlbGVjdGVkUGFydCA9IHBhcnQgPT09ICdob3VycycgPyBob3Vyc1BhcnQgOiBtaW51dGVzUGFydDtcblx0XHRjb25zdCBzZWxlY3RlZEluY3JlbWVudCA9IHBhcnQgPT09ICdob3VycycgPyB0aGlzLmhvdXJzSW5jcmVtZW50KCkgOiB0aGlzLm1pbnV0ZXNJbmNyZW1lbnQoKTtcblx0XHRsZXQgbW9kaWZpZWRWYWw6IG51bWJlcjtcblxuXHRcdGlmIChzZWxlY3RlZEluY3JlbWVudCA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChkaXJlY3Rpb24gPT09ICd1cCcpIHtcblx0XHRcdG1vZGlmaWVkVmFsID0gZmxvb3JUb05lYXJlc3Qoc2VsZWN0ZWRQYXJ0ICsgc2VsZWN0ZWRJbmNyZW1lbnQsIHNlbGVjdGVkSW5jcmVtZW50KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bW9kaWZpZWRWYWwgPSBjZWlsVG9OZWFyZXN0KHNlbGVjdGVkUGFydCAtIHNlbGVjdGVkSW5jcmVtZW50LCBzZWxlY3RlZEluY3JlbWVudCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbmV3VGltZSA9IHBhcnQgPT09ICdob3VycycgPyBjcmVhdGVJc29UaW1lRnJvbUhvdXJzQW5kTWludXRlcyhtb2RpZmllZFZhbCwgbWludXRlc1BhcnQpIDogY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMoaG91cnNQYXJ0LCBtb2RpZmllZFZhbCk7XG5cblx0XHR0aGlzLnNldFRpbWUoe1xuXHRcdFx0c291cmNlOiAnY29udHJvbCcsXG5cdFx0XHRwcmV2aW91c1ZhbHVlOiB0aGlzLnZhbHVlKCksXG5cdFx0XHR2YWx1ZTogbmV3VGltZSxcblx0XHRcdHBhcnQsXG5cdFx0XHRkaXJlY3Rpb24sXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgZm9jdXMoKSB7XG5cdFx0aWYgKGlzTm90TmlsKHRoaXMuaG91cnNQYXJ0KSkge1xuXHRcdFx0dGhpcy5mb2N1c1BhcnQoJ2hvdXJzJyk7XG5cdFx0fVxuXHR9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInBpY2tlckNsYXNzZXMoKVwiIChjb3B5KT1cImNvcHlIYW5kbGVyKCRldmVudClcIiAocGFzdGUpPVwicGFzdGVIYW5kbGVyKCRldmVudClcIj5cblx0PGZpZWxkc2V0IGNsYXNzPVwidGltZVBpY2tlci1maWVsZHNldFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCI+XG5cdFx0PGxlZ2VuZD48c3BhbiBjbGFzcz1cInUtbWFza1wiPnt7IGxhYmVsIH19PC9zcGFuPjwvbGVnZW5kPlxuXHRcdDxsdS10aW1lLXBpY2tlci1wYXJ0XG5cdFx0XHQjaG91cnNQYXJ0XG5cdFx0XHRjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXQtZ3JvdXBcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0W2xhYmVsXT1cImludGwudGltZVBpY2tlckhvdXJzXCJcblx0XHRcdFt2YWx1ZV09XCJob3Vyc0Rpc3BsYXkoKVwiXG5cdFx0XHRbbWF4XT1cIm1heEhvdXJzKClcIlxuXHRcdFx0W2RlY2ltYWxDb25mXT1cImhvdXJzRGVjaW1hbENvbmZcIlxuXHRcdFx0W2Rpc3BsYXlBcnJvd3NdPVwiZGlzcGxheUFycm93cygpXCJcblx0XHRcdCh0b3VjaGVkKT1cIm9uVG91Y2hlZD8uKClcIlxuXHRcdFx0KHZhbHVlQ2hhbmdlKT1cImhvdXJzSW5wdXRIYW5kbGVyKCRldmVudClcIlxuXHRcdFx0KG5leHRSZXF1ZXN0KT1cImZvY3VzUGFydCgnbWludXRlcycpXCJcblx0XHRcdChpbnB1dENvbnRyb2xDbGljayk9XCJpbnB1dENvbnRyb2xDbGlja0hhbmRsZXIoJ2hvdXJzJywgJGV2ZW50KVwiXG5cdFx0Lz5cblx0XHQ8ZGl2IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwidGltZVBpY2tlci1maWVsZHNldC1ncm91cFNlcGFyYXRvclwiPnt7IHNlcGFyYXRvciB9fTwvZGl2PlxuXHRcdDxsdS10aW1lLXBpY2tlci1wYXJ0XG5cdFx0XHQjbWludXRlc1BhcnRcblx0XHRcdGNsYXNzPVwidGltZVBpY2tlci1maWVsZHNldC1ncm91cFwiXG5cdFx0XHRbbGFiZWxdPVwiaW50bC50aW1lUGlja2VyTWludXRlc1wiXG5cdFx0XHRbdmFsdWVdPVwibWludXRlc0Rpc3BsYXkoKVwiXG5cdFx0XHRbbWF4XT1cIjU5XCJcblx0XHRcdFtkaXNwbGF5QXJyb3dzXT1cImRpc3BsYXlBcnJvd3MoKVwiXG5cdFx0XHQodG91Y2hlZCk9XCJvblRvdWNoZWQ/LigpXCJcblx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8ICFtaW51dGVzSW5jcmVtZW50KClcIlxuXHRcdFx0KHZhbHVlQ2hhbmdlKT1cIm1pbnV0ZXNJbnB1dEhhbmRsZXIoJGV2ZW50KVwiXG5cdFx0XHQocHJldlJlcXVlc3QpPVwiZm9jdXNQYXJ0KCdob3VycycpXCJcblx0XHRcdChpbnB1dENvbnRyb2xDbGljayk9XCJpbnB1dENvbnRyb2xDbGlja0hhbmRsZXIoJ21pbnV0ZXMnLCAkZXZlbnQpXCJcblx0XHQvPlxuXHQ8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdGltZS90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90aW1lL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLGdDQUFnQyxFQUNoQyx5QkFBeUIsRUFDekIsZ0JBQWdCLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUEwQixNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdF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MUI7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEOzhCQVVRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIElucHV0LCBpbnB1dCwgbW9kZWwsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0SW50bCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEJhc2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJU084NjAxVGltZSB9IGZyb20gJy4uL2NvcmUvZGF0ZS1wcmltaXRpdmVzJztcbmltcG9ydCB7XG5cdGNvbnZlcnRTdHJpbmdUb0lzb1RpbWUsXG5cdGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzLFxuXHRnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUsXG5cdGdldEhvdXJzUGFydEZyb21Jc29UaW1lLFxuXHRnZXRNaW51dGVzRGlzcGxheVBhcnRGcm9tSXNvVGltZSxcblx0Z2V0TWludXRlc1BhcnRGcm9tSXNvVGltZSxcblx0aXNvVGltZVRvU2Vjb25kcyxcbn0gZnJvbSAnLi4vY29yZS9kYXRlLnV0aWxzJztcbmltcG9ydCB7IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2R1cmF0aW9uLnV0aWxzJztcbmltcG9ydCB7IGNlaWxUb05lYXJlc3QsIGNpcmN1bGFyaXplLCBmbG9vclRvTmVhcmVzdCwgcm91bmRUb05lYXJlc3QgfSBmcm9tICcuLi9jb3JlL21hdGgudXRpbHMnO1xuaW1wb3J0IHsgaXNOaWwsIGlzTm90TmlsLCBQaWNrZXJDb250cm9sRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29yZS9taXNjLnV0aWxzJztcbmltcG9ydCB7IFRpbWVQaWNrZXJQYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS90aW1lLXBpY2tlci1wYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUZBVUxUX01JTl9USU1FLCBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVCwgVGltZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci5tb2RlbCc7XG5pbXBvcnQgeyBMVV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMgfSBmcm9tICcuL3RpbWUtcGlja2VyLnRyYW5zbGF0ZSc7XG5cbmNvbnN0IE1BWF9USU1FID0gJzIzOjU5OjU5JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbHUtdGltZS1waWNrZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbVGltZVBpY2tlclBhcnRDb21wb25lbnQsIE5nQ2xhc3NdLFxuXHR0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi90aW1lLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW1lUGlja2VyQ29tcG9uZW50KSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH0sXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlUGlja2VyQ29tcG9uZW50IHtcblx0cHJvdGVjdGVkIGludGwgPSBnZXRJbnRsKExVX1RJTUVfUElDS0VSX1RSQU5TTEFUSU9OUyk7XG5cblx0dmFsdWUgPSBtb2RlbDxJU084NjAxVGltZT4oJy0tOi0tOi0tJyk7XG5cdG1heCA9IGlucHV0PElTTzg2MDFUaW1lPihNQVhfVElNRSk7XG5cblx0ZGlzcGxheUFycm93cyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG5cdHRpbWVDaGFuZ2UgPSBvdXRwdXQ8VGltZUNoYW5nZUV2ZW50PigpO1xuXG5cdHByb3RlY3RlZCBob3Vyc0Rpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiBnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBtaW51dGVzRGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNEaXNwbGF5UGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXG5cdHByb3RlY3RlZCBob3VycyA9IGNvbXB1dGVkKCgpID0+IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXHRwcm90ZWN0ZWQgbWludXRlcyA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBwaWNrZXJDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0aW1lUGlja2VyOiB0cnVlLFxuXHRcdFx0J21vZC1zdGVwcGVyJzogdGhpcy5kaXNwbGF5QXJyb3dzKCksXG5cdFx0XHQnbW9kLXN0ZXBwZXJIb3Zlcic6IHRoaXMuZGlzcGxheUFycm93cygpLFxuXHRcdFx0W2Btb2QtJHt0aGlzLnNpemUoKX1gXTogQm9vbGVhbih0aGlzLnNpemUoKSksXG5cdFx0fTtcblx0fSk7XG5cdHByb3RlY3RlZCBzZXBhcmF0b3IgPSB0aGlzLmludGwudGltZVBpY2tlclRpbWVTZXBhcmF0b3I7XG5cblx0cHJvdGVjdGVkIGhvdXJzRGVjaW1hbENvbmYgPSBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVDtcblxuXHRwcm90ZWN0ZWQgbWF4SG91cnMgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0cmV0dXJuIGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMubWF4KCkpO1xuXHR9KTtcblxuXHR3cml0ZVZhbHVlKHZhbHVlOiBJU084NjAxVGltZSk6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUuc2V0KHZhbHVlIHx8ICctLTotLTotLScpO1xuXHR9XG5cblx0c2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGhvdXJzSW5wdXRIYW5kbGVyKHZhbHVlOiBudW1iZXIgfCAnLS0nKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRUaW1lKHtcblx0XHRcdHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUoKSxcblx0XHRcdC8vIE1vc3RseSBmb3IgY29tcGlsZXIgYmVjYXVzZSB3ZSBuZXZlciBzZXQgdGhlIHRpbWUgdG8gLS0gd2l0aCBpbnB1dCBoYW5kbGVyXG5cdFx0XHR2YWx1ZTogY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMoK3ZhbHVlLCB0aGlzLm1pbnV0ZXMoKSksXG5cdFx0XHRzb3VyY2U6ICdpbnB1dCcsXG5cdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgbWludXRlc0lucHV0SGFuZGxlcih2YWx1ZTogbnVtYmVyIHwgJy0tJyk6IHZvaWQge1xuXHRcdHRoaXMuc2V0VGltZSh7XG5cdFx0XHRwcmV2aW91c1ZhbHVlOiB0aGlzLnZhbHVlKCksXG5cdFx0XHQvLyBNb3N0bHkgZm9yIGNvbXBpbGVyIGJlY2F1c2Ugd2UgbmV2ZXIgc2V0IHRoZSB0aW1lIHRvIC0tIHdpdGggaW5wdXQgaGFuZGxlclxuXHRcdFx0dmFsdWU6IGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzKHRoaXMuaG91cnMoKSwgK3ZhbHVlKSxcblx0XHRcdHNvdXJjZTogJ2lucHV0Jyxcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBjb3B5SGFuZGxlcihldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdC8vIHdyaXRlIHZhbHVlIHRvIGNsaXBib2FyZFxuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpO1xuXHRcdGlmIChpc05vdE5pbCh2YWx1ZSkpIHtcblx0XHRcdGV2ZW50LmNsaXBib2FyZERhdGE/LnNldERhdGEoJ3RleHQvcGxhaW4nLCB2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIHBhc3RlSGFuZGxlcihldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdGNvbnN0IHBhc3RlZFZhbHVlID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuXHRcdGlmIChpc05vdE5pbChwYXN0ZWRWYWx1ZSkpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHZhbHVlID0gY29udmVydFN0cmluZ1RvSXNvVGltZShwYXN0ZWRWYWx1ZSk7XG5cdFx0XHRcdHRoaXMudGltZUNoYW5nZS5lbWl0KHtcblx0XHRcdFx0XHRwcmV2aW91c1ZhbHVlOiB0aGlzLnZhbHVlKCksXG5cdFx0XHRcdFx0c291cmNlOiAncGFzdGUnLFxuXHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXHRcdFx0XHR0aGlzLm9uQ2hhbmdlPy4odmFsdWUpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHQvLyBkbyBub3RoaW5nXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0b3ZlcnJpZGUgZ2V0SG91cnNJbmNyZW1lbnQoKTogbnVtYmVyIHtcblx0XHRjb25zdCBzdGVwID0gdGhpcy5zdGVwKCk7XG5cdFx0aWYgKGlzTmlsKHN0ZXApKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRjb25zdCB7IGhvdXJzIH0gPSBpc29EdXJhdGlvblRvRGF0ZUZuc0R1cmF0aW9uKHN0ZXApO1xuXG5cdFx0aWYgKGhvdXJzID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRyZXR1cm4gMjQgJSBob3VycyA9PT0gMCA/IGhvdXJzIDogMTtcblx0fVxuXG5cdG92ZXJyaWRlIGdldE1pbnV0ZXNJbmNyZW1lbnQoKTogbnVtYmVyIHwgbnVsbCB7XG5cdFx0Y29uc3Qgc3RlcCA9IHRoaXMuc3RlcCgpO1xuXHRcdGlmIChpc05pbChzdGVwKSkge1xuXHRcdFx0cmV0dXJuIDE7XG5cdFx0fVxuXG5cdFx0Y29uc3QgeyBtaW51dGVzIH0gPSBpc29EdXJhdGlvblRvRGF0ZUZuc0R1cmF0aW9uKHN0ZXApO1xuXG5cdFx0aWYgKG1pbnV0ZXMgPT09IDApIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiA2MCAlIG1pbnV0ZXMgPT09IDAgPyBtaW51dGVzIDogMTtcblx0fVxuXG5cdHByaXZhdGUgc2V0VGltZShwcm90b0V2ZW50OiBUaW1lQ2hhbmdlRXZlbnQpOiB2b2lkIHtcblx0XHRjb25zdCBob3Vyc1BhcnQgPSBnZXRIb3Vyc1BhcnRGcm9tSXNvVGltZShwcm90b0V2ZW50LnZhbHVlKTtcblx0XHRjb25zdCBtaW51dGVzUGFydCA9IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUocHJvdG9FdmVudC52YWx1ZSk7XG5cblx0XHRjb25zdCBtYXggPSBpc29UaW1lVG9TZWNvbmRzKHRoaXMubWF4KCkpO1xuXG5cdFx0Y29uc3QgY2FuZGlkYXRlVGltZUFzU2Vjb25kcyA9IGhvdXJzUGFydCAqIDM2MDAgKyBtaW51dGVzUGFydCAqIDYwO1xuXG5cdFx0Y29uc3Qgc2Vjb25kcyA9IHJvdW5kVG9OZWFyZXN0KGNpcmN1bGFyaXplKGNhbmRpZGF0ZVRpbWVBc1NlY29uZHMsIG1heCksIDYwKTtcblxuXHRcdGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gMzYwMCk7XG5cdFx0Y29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoKHNlY29uZHMgJSAzNjAwKSAvIDYwKTtcblxuXHRcdGNvbnN0IHJlc3VsdCA9IGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzKGhvdXJzLCBtaW51dGVzKTtcblxuXHRcdHRoaXMudmFsdWUuc2V0KHJlc3VsdCk7XG5cdFx0dGhpcy5vbkNoYW5nZT8uKHJlc3VsdCk7XG5cdFx0dGhpcy50aW1lQ2hhbmdlLmVtaXQoe1xuXHRcdFx0Li4ucHJvdG9FdmVudCxcblx0XHRcdHZhbHVlOiByZXN1bHQsXG5cdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgaW5wdXRDb250cm9sQ2xpY2tIYW5kbGVyKHBhcnQ6ICdob3VycycgfCAnbWludXRlcycsIGRpcmVjdGlvbjogUGlja2VyQ29udHJvbERpcmVjdGlvbik6IHZvaWQge1xuXHRcdGNvbnN0IHZhbCA9IHRoaXMudmFsdWUoKSA/PyBERUZBVUxUX01JTl9USU1FO1xuXHRcdGNvbnN0IGhvdXJzUGFydCA9IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHZhbCk7XG5cdFx0Y29uc3QgbWludXRlc1BhcnQgPSBnZXRNaW51dGVzUGFydEZyb21Jc29UaW1lKHZhbCk7XG5cblx0XHRjb25zdCBzZWxlY3RlZFBhcnQgPSBwYXJ0ID09PSAnaG91cnMnID8gaG91cnNQYXJ0IDogbWludXRlc1BhcnQ7XG5cdFx0Y29uc3Qgc2VsZWN0ZWRJbmNyZW1lbnQgPSBwYXJ0ID09PSAnaG91cnMnID8gdGhpcy5ob3Vyc0luY3JlbWVudCgpIDogdGhpcy5taW51dGVzSW5jcmVtZW50KCk7XG5cdFx0bGV0IG1vZGlmaWVkVmFsOiBudW1iZXI7XG5cblx0XHRpZiAoc2VsZWN0ZWRJbmNyZW1lbnQgPT09IG51bGwpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoZGlyZWN0aW9uID09PSAndXAnKSB7XG5cdFx0XHRtb2RpZmllZFZhbCA9IGZsb29yVG9OZWFyZXN0KHNlbGVjdGVkUGFydCArIHNlbGVjdGVkSW5jcmVtZW50LCBzZWxlY3RlZEluY3JlbWVudCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG1vZGlmaWVkVmFsID0gY2VpbFRvTmVhcmVzdChzZWxlY3RlZFBhcnQgLSBzZWxlY3RlZEluY3JlbWVudCwgc2VsZWN0ZWRJbmNyZW1lbnQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG5ld1RpbWUgPSBwYXJ0ID09PSAnaG91cnMnID8gY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMobW9kaWZpZWRWYWwsIG1pbnV0ZXNQYXJ0KSA6IGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzKGhvdXJzUGFydCwgbW9kaWZpZWRWYWwpO1xuXG5cdFx0dGhpcy5zZXRUaW1lKHtcblx0XHRcdHNvdXJjZTogJ2NvbnRyb2wnLFxuXHRcdFx0cHJldmlvdXNWYWx1ZTogdGhpcy52YWx1ZSgpLFxuXHRcdFx0dmFsdWU6IG5ld1RpbWUsXG5cdFx0XHRwYXJ0LFxuXHRcdFx0ZGlyZWN0aW9uLFxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIGZvY3VzKCkge1xuXHRcdGlmIChpc05vdE5pbCh0aGlzLmhvdXJzUGFydCkpIHtcblx0XHRcdHRoaXMuZm9jdXNQYXJ0KCdob3VycycpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJwaWNrZXJDbGFzc2VzKClcIiAoY29weSk9XCJjb3B5SGFuZGxlcigkZXZlbnQpXCIgKHBhc3RlKT1cInBhc3RlSGFuZGxlcigkZXZlbnQpXCI+XG5cdDxmaWVsZHNldCBjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiPlxuXHRcdDxsZWdlbmQ+PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj57eyBsYWJlbCB9fTwvc3Bhbj48L2xlZ2VuZD5cblx0XHQ8bHUtdGltZS1waWNrZXItcGFydFxuXHRcdFx0I2hvdXJzUGFydFxuXHRcdFx0Y2xhc3M9XCJ0aW1lUGlja2VyLWZpZWxkc2V0LWdyb3VwXCJcblx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcblx0XHRcdFtsYWJlbF09XCJpbnRsLnRpbWVQaWNrZXJIb3Vyc1wiXG5cdFx0XHRbdmFsdWVdPVwiaG91cnNEaXNwbGF5KClcIlxuXHRcdFx0W21heF09XCJtYXhIb3VycygpXCJcblx0XHRcdFtkZWNpbWFsQ29uZl09XCJob3Vyc0RlY2ltYWxDb25mXCJcblx0XHRcdFtkaXNwbGF5QXJyb3dzXT1cImRpc3BsYXlBcnJvd3MoKVwiXG5cdFx0XHQodG91Y2hlZCk9XCJvblRvdWNoZWQ/LigpXCJcblx0XHRcdCh2YWx1ZUNoYW5nZSk9XCJob3Vyc0lucHV0SGFuZGxlcigkZXZlbnQpXCJcblx0XHRcdChuZXh0UmVxdWVzdCk9XCJmb2N1c1BhcnQoJ21pbnV0ZXMnKVwiXG5cdFx0XHQoaW5wdXRDb250cm9sQ2xpY2spPVwiaW5wdXRDb250cm9sQ2xpY2tIYW5kbGVyKCdob3VycycsICRldmVudClcIlxuXHRcdC8+XG5cdFx0PGRpdiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXQtZ3JvdXBTZXBhcmF0b3JcIj57eyBzZXBhcmF0b3IgfX08L2Rpdj5cblx0XHQ8bHUtdGltZS1waWNrZXItcGFydFxuXHRcdFx0I21pbnV0ZXNQYXJ0XG5cdFx0XHRjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXQtZ3JvdXBcIlxuXHRcdFx0W2xhYmVsXT1cImludGwudGltZVBpY2tlck1pbnV0ZXNcIlxuXHRcdFx0W3ZhbHVlXT1cIm1pbnV0ZXNEaXNwbGF5KClcIlxuXHRcdFx0W21heF09XCI1OVwiXG5cdFx0XHRbZGlzcGxheUFycm93c109XCJkaXNwbGF5QXJyb3dzKClcIlxuXHRcdFx0KHRvdWNoZWQpPVwib25Ub3VjaGVkPy4oKVwiXG5cdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCAhbWludXRlc0luY3JlbWVudCgpXCJcblx0XHRcdCh2YWx1ZUNoYW5nZSk9XCJtaW51dGVzSW5wdXRIYW5kbGVyKCRldmVudClcIlxuXHRcdFx0KHByZXZSZXF1ZXN0KT1cImZvY3VzUGFydCgnaG91cnMnKVwiXG5cdFx0XHQoaW5wdXRDb250cm9sQ2xpY2spPVwiaW5wdXRDb250cm9sQ2xpY2tIYW5kbGVyKCdtaW51dGVzJywgJGV2ZW50KVwiXG5cdFx0Lz5cblx0PC9maWVsZHNldD5cbjwvZGl2PlxuIl19
@@ -34,10 +34,10 @@ class ButtonComponent {
34
34
  }
35
35
  updateClasses() {
36
36
  const ngClassConfig = {
37
- [`mod-${this.size}`]: true,
37
+ [`mod-${this.size}`]: !!this.size,
38
38
  [`mod-block`]: this.block,
39
- [`palette-${this.palette}`]: true,
40
- [`is-${this.state}`]: true,
39
+ [`palette-${this.palette}`]: !!this.palette,
40
+ [`is-${this.state}`]: !!this.state,
41
41
  ['mod-onlyIcon']: this.iconOnly,
42
42
  ['mod-withIcon']: this.#iconComponentRef !== undefined,
43
43
  ['mod-delete']: this.delete,
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-button.mjs","sources":["../../../packages/ng/button/button.component.ts","../../../packages/ng/button/lucca-front-ng-button.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luButton],a[luButton]',\n\tstandalone: true,\n\tproviders: [LuClass],\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrls: ['./button.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'button',\n\t},\n})\nexport class ButtonComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\t#elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\t@Input()\n\tsize: 'M' | 'S' | 'XS';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tblock = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdelete = false;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tstate: 'default' | 'loading' | 'error' | 'success' = 'default';\n\n\t@Input()\n\t/**\n\t * '' is the default value when you just set the `luButton` directive without a value attached to it.\n\t * We just make this explicit here.\n\t */\n\tluButton: '' | 'outlined' | 'text' | 'text-invert' = '';\n\n\t#iconComponentRef?: ElementRef<HTMLElement>;\n\n\t@ContentChild(IconComponent, { read: ElementRef<HTMLElement> })\n\tset iconComponentRef(ref: ElementRef<HTMLElement>) {\n\t\tthis.#iconComponentRef = ref;\n\t\tthis.updateClasses();\n\t}\n\n\tprivate get iconOnly(): boolean {\n\t\tconst childNodes = Array.from(this.#elementRef?.nativeElement?.childNodes || []);\n\t\tconst noText = childNodes.every(({ nodeName }) => nodeName !== '#text');\n\t\t// ignore icon and comment\n\t\tconst noSpan =\n\t\t\tchildNodes.filter((node: HTMLElement) => {\n\t\t\t\treturn node.nodeName !== '#comment' && node.nodeName.toLowerCase() !== 'lu-icon' && !node?.className?.includes('u-mask');\n\t\t\t}).length == 0;\n\t\treturn !!this.#iconComponentRef && noSpan && noText;\n\t}\n\n\tngOnChanges(): void {\n\t\tthis.updateClasses();\n\t}\n\n\tupdateClasses(): void {\n\t\tconst ngClassConfig = {\n\t\t\t[`mod-${this.size}`]: true,\n\t\t\t[`mod-block`]: this.block,\n\t\t\t[`palette-${this.palette}`]: true,\n\t\t\t[`is-${this.state}`]: true,\n\t\t\t['mod-onlyIcon']: this.iconOnly,\n\t\t\t['mod-withIcon']: this.#iconComponentRef !== undefined,\n\t\t\t['mod-delete']: this.delete,\n\t\t};\n\n\t\tif (this.luButton !== '') {\n\t\t\tif (this.luButton === 'text-invert') {\n\t\t\t\tngClassConfig['mod-text'] = true;\n\t\t\t\tngClassConfig['mod-invert'] = true;\n\t\t\t} else {\n\t\t\t\tngClassConfig[`mod-${this.luButton}`] = true;\n\t\t\t}\n\t\t}\n\t\tthis.#luClass.setState(ngClassConfig);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-button.mjs","sources":["../../../packages/ng/button/button.component.ts","../../../packages/ng/button/lucca-front-ng-button.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luButton],a[luButton]',\n\tstandalone: true,\n\tproviders: [LuClass],\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrls: ['./button.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'button',\n\t},\n})\nexport class ButtonComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\t#elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\t@Input()\n\tsize: 'M' | 'S' | 'XS';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tblock = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdelete = false;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tstate: 'default' | 'loading' | 'error' | 'success' = 'default';\n\n\t@Input()\n\t/**\n\t * '' is the default value when you just set the `luButton` directive without a value attached to it.\n\t * We just make this explicit here.\n\t */\n\tluButton: '' | 'outlined' | 'text' | 'text-invert' = '';\n\n\t#iconComponentRef?: ElementRef<HTMLElement>;\n\n\t@ContentChild(IconComponent, { read: ElementRef<HTMLElement> })\n\tset iconComponentRef(ref: ElementRef<HTMLElement>) {\n\t\tthis.#iconComponentRef = ref;\n\t\tthis.updateClasses();\n\t}\n\n\tprivate get iconOnly(): boolean {\n\t\tconst childNodes = Array.from(this.#elementRef?.nativeElement?.childNodes || []);\n\t\tconst noText = childNodes.every(({ nodeName }) => nodeName !== '#text');\n\t\t// ignore icon and comment\n\t\tconst noSpan =\n\t\t\tchildNodes.filter((node: HTMLElement) => {\n\t\t\t\treturn node.nodeName !== '#comment' && node.nodeName.toLowerCase() !== 'lu-icon' && !node?.className?.includes('u-mask');\n\t\t\t}).length == 0;\n\t\treturn !!this.#iconComponentRef && noSpan && noText;\n\t}\n\n\tngOnChanges(): void {\n\t\tthis.updateClasses();\n\t}\n\n\tupdateClasses(): void {\n\t\tconst ngClassConfig = {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`mod-block`]: this.block,\n\t\t\t[`palette-${this.palette}`]: !!this.palette,\n\t\t\t[`is-${this.state}`]: !!this.state,\n\t\t\t['mod-onlyIcon']: this.iconOnly,\n\t\t\t['mod-withIcon']: this.#iconComponentRef !== undefined,\n\t\t\t['mod-delete']: this.delete,\n\t\t};\n\n\t\tif (this.luButton !== '') {\n\t\t\tif (this.luButton === 'text-invert') {\n\t\t\t\tngClassConfig['mod-text'] = true;\n\t\t\t\tngClassConfig['mod-invert'] = true;\n\t\t\t} else {\n\t\t\t\tngClassConfig[`mod-${this.luButton}`] = true;\n\t\t\t}\n\t\t}\n\t\tthis.#luClass.setState(ngClassConfig);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,29 @@
1
+ import * as i1 from '@angular/common';
2
+ import { NgClass, NgIf, CommonModule } from '@angular/common';
1
3
  import * as i0 from '@angular/core';
2
4
  import { InjectionToken, EventEmitter, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, Output, inject, ViewContainerRef, ElementRef, numberAttribute, ViewChild, Directive } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { NgIf, CommonModule } from '@angular/common';
5
5
  import { getIntl, PortalDirective, LuClass } from '@lucca-front/ng/core';
6
6
  import { IconComponent } from '@lucca-front/ng/icon';
7
+ import { trigger, state, style, transition, animate } from '@angular/animations';
7
8
  import { Overlay } from '@angular/cdk/overlay';
8
9
  import { TemplatePortal } from '@angular/cdk/portal';
9
- import { trigger, state, style, transition, animate } from '@angular/animations';
10
10
  import { ButtonComponent } from '@lucca-front/ng/button';
11
11
 
12
+ const CalloutStateMap = {
13
+ success: {
14
+ icon: 'signSuccess',
15
+ palette: 'success',
16
+ },
17
+ warning: {
18
+ icon: 'signWarning',
19
+ palette: 'warning',
20
+ },
21
+ error: {
22
+ icon: 'signError',
23
+ palette: 'error',
24
+ },
25
+ };
26
+
12
27
  const Translations = {
13
28
  en: {
14
29
  close: 'Close',
@@ -41,21 +56,6 @@ const LU_CALLOUT_TRANSLATIONS = new InjectionToken('LuCalloutTranslations', {
41
56
  });
42
57
  const luCalloutTranslations = Translations;
43
58
 
44
- const CalloutStateMap = {
45
- success: {
46
- icon: 'signSuccess',
47
- palette: 'success',
48
- },
49
- warning: {
50
- icon: 'signWarning',
51
- palette: 'warning',
52
- },
53
- error: {
54
- icon: 'signError',
55
- palette: 'error',
56
- },
57
- };
58
-
59
59
  class CalloutComponent {
60
60
  constructor() {
61
61
  this.palette = 'none';
@@ -76,12 +76,18 @@ class CalloutComponent {
76
76
  get hiddenAttr() {
77
77
  return this.removed ? 'hidden' : null;
78
78
  }
79
+ get calloutClasses() {
80
+ return {
81
+ [`mod-${this.size}`]: !!this.size,
82
+ [`palette-${this.palette}`]: !!this.palette,
83
+ };
84
+ }
79
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.1", type: CalloutComponent, isStandalone: true, selector: "lu-callout", inputs: { heading: "heading", palette: "palette", size: "size", removable: ["removable", "removable", booleanAttribute], icon: "icon", state: "state", removed: ["removed", "removed", booleanAttribute] }, outputs: { removedChange: "removedChange" }, host: { properties: { "attr.hidden": "this.hiddenAttr" } }, ngImport: i0, template: "<div class=\"callout palette-{{palette}} mod-{{size}}\" *ngIf=\"!removed\">\n\t<div class=\"callout-icon\" *ngIf=\"icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{icon}}\"></span>\n\t</div>\n\t<div class=\"callout-content\">\n\t\t<strong class=\"callout-content-title\" *ngIf=\"heading\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</strong>\n\t\t<div class=\"callout-content-description\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n\t<button *ngIf=\"removable\" type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t</button>\n</div>\n", styles: ["@charset \"UTF-8\";.callout{--components-callout-gap: var(--pr-t-spacings-150);--components-callout-display: flex;--components-callout-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;--components-callout-kill-size: 1.5rem;align-items:flex-start;position:relative;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));gap:var(--components-callout-gap);padding:var(--components-callout-padding);font-size:var(--components-callout-fontSize);line-height:var(--components-callout-lineHeight)}.callout:not([hidden]){display:var(--components-callout-display)}.callout a,.callout .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.callout-content{flex:1;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.callout-content-title{font-weight:600}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-top:var(--pr-t-spacings-50);padding:var(--pr-t-spacings-50) 0}.callout-content-description-actions .button{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;color:var(--palettes-neutral-700);text-align:center;transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;height:var(--components-callout-kill-size);width:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-M)}.callout-kill:before{--icon-content: \"\\e9bf\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--sizes-S-lineHeight)}.callout.mod-S{--components-callout-gap: var(--pr-t-spacings-100);--components-callout-fontSize: var(--sizes-S-fontSize);--components-callout-lineHeight: var(--sizes-S-lineHeight);--components-callout-kill-size: 1.25rem}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .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)}.callout.mod-S .callout-content-description-actions .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)}lu-callout{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.1", type: CalloutComponent, isStandalone: true, selector: "lu-callout", inputs: { heading: "heading", palette: "palette", size: "size", removable: ["removable", "removable", booleanAttribute], icon: "icon", state: "state", removed: ["removed", "removed", booleanAttribute] }, outputs: { removedChange: "removedChange" }, host: { properties: { "attr.hidden": "this.hiddenAttr" } }, ngImport: i0, template: "<div class=\"callout\" [ngClass]=\"calloutClasses\" *ngIf=\"!removed\">\n\t<div class=\"callout-icon\" *ngIf=\"icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{icon}}\"></span>\n\t</div>\n\t<div class=\"callout-content\">\n\t\t<strong class=\"callout-content-title\" *ngIf=\"heading\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</strong>\n\t\t<div class=\"callout-content-description\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n\t<button *ngIf=\"removable\" type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t</button>\n</div>\n", styles: ["@charset \"UTF-8\";.callout{--components-callout-gap: var(--pr-t-spacings-150);--components-callout-display: flex;--components-callout-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;--components-callout-kill-size: 1.5rem;align-items:flex-start;position:relative;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));gap:var(--components-callout-gap);padding:var(--components-callout-padding);font-size:var(--components-callout-fontSize);line-height:var(--components-callout-lineHeight)}.callout:not([hidden]){display:var(--components-callout-display)}.callout a,.callout .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.callout-content{flex:1;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.callout-content-title{font-weight:600}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-top:var(--pr-t-spacings-50);padding:var(--pr-t-spacings-50) 0}.callout-content-description-actions .button{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;color:var(--palettes-neutral-700);text-align:center;transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;height:var(--components-callout-kill-size);width:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-M)}.callout-kill:before{--icon-content: \"\\e9bf\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--sizes-S-lineHeight)}.callout.mod-S{--components-callout-gap: var(--pr-t-spacings-100);--components-callout-fontSize: var(--sizes-S-fontSize);--components-callout-lineHeight: var(--sizes-S-lineHeight);--components-callout-kill-size: 1.25rem}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .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)}.callout.mod-S .callout-content-description-actions .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)}lu-callout{display:block}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
81
87
  }
82
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutComponent, decorators: [{
83
89
  type: Component,
84
- args: [{ selector: 'lu-callout', standalone: true, imports: [NgIf, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"callout palette-{{palette}} mod-{{size}}\" *ngIf=\"!removed\">\n\t<div class=\"callout-icon\" *ngIf=\"icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{icon}}\"></span>\n\t</div>\n\t<div class=\"callout-content\">\n\t\t<strong class=\"callout-content-title\" *ngIf=\"heading\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</strong>\n\t\t<div class=\"callout-content-description\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n\t<button *ngIf=\"removable\" type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t</button>\n</div>\n", styles: ["@charset \"UTF-8\";.callout{--components-callout-gap: var(--pr-t-spacings-150);--components-callout-display: flex;--components-callout-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;--components-callout-kill-size: 1.5rem;align-items:flex-start;position:relative;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));gap:var(--components-callout-gap);padding:var(--components-callout-padding);font-size:var(--components-callout-fontSize);line-height:var(--components-callout-lineHeight)}.callout:not([hidden]){display:var(--components-callout-display)}.callout a,.callout .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.callout-content{flex:1;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.callout-content-title{font-weight:600}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-top:var(--pr-t-spacings-50);padding:var(--pr-t-spacings-50) 0}.callout-content-description-actions .button{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;color:var(--palettes-neutral-700);text-align:center;transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;height:var(--components-callout-kill-size);width:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-M)}.callout-kill:before{--icon-content: \"\\e9bf\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--sizes-S-lineHeight)}.callout.mod-S{--components-callout-gap: var(--pr-t-spacings-100);--components-callout-fontSize: var(--sizes-S-fontSize);--components-callout-lineHeight: var(--sizes-S-lineHeight);--components-callout-kill-size: 1.25rem}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .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)}.callout.mod-S .callout-content-description-actions .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)}lu-callout{display:block}\n"] }]
90
+ args: [{ selector: 'lu-callout', standalone: true, imports: [NgClass, NgIf, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"callout\" [ngClass]=\"calloutClasses\" *ngIf=\"!removed\">\n\t<div class=\"callout-icon\" *ngIf=\"icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{icon}}\"></span>\n\t</div>\n\t<div class=\"callout-content\">\n\t\t<strong class=\"callout-content-title\" *ngIf=\"heading\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</strong>\n\t\t<div class=\"callout-content-description\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n\t<button *ngIf=\"removable\" type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t</button>\n</div>\n", styles: ["@charset \"UTF-8\";.callout{--components-callout-gap: var(--pr-t-spacings-150);--components-callout-display: flex;--components-callout-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150);--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;--components-callout-kill-size: 1.5rem;align-items:flex-start;position:relative;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));gap:var(--components-callout-gap);padding:var(--components-callout-padding);font-size:var(--components-callout-fontSize);line-height:var(--components-callout-lineHeight)}.callout:not([hidden]){display:var(--components-callout-display)}.callout a,.callout .link{--commons-text-link-color: var(--palettes-neutral-800);--commons-text-link-hover: var(--palettes-neutral-700)}.callout-content{flex:1;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50)}.callout-content-title{font-weight:600}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-top:var(--pr-t-spacings-50);padding:var(--pr-t-spacings-50) 0}.callout-content-description-actions .button{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;width:100%;background-color:transparent;color:inherit;text-align:left;display:block;font:inherit;cursor:pointer;color:var(--palettes-neutral-700);text-align:center;transition-duration:var(--commons-animations-durations-fast);transition-property:background-color;height:var(--components-callout-kill-size);width:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-M)}.callout-kill:before{--icon-content: \"\\e9bf\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--sizes-S-lineHeight)}.callout.mod-S{--components-callout-gap: var(--pr-t-spacings-100);--components-callout-fontSize: var(--sizes-S-fontSize);--components-callout-lineHeight: var(--sizes-S-lineHeight);--components-callout-kill-size: 1.25rem}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .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)}.callout.mod-S .callout-content-description-actions .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)}lu-callout{display:block}\n"] }]
85
91
  }], propDecorators: {
86
92
  /**
87
93
  * The title of the callout
@@ -152,12 +158,18 @@ class CalloutDisclosureComponent {
152
158
  this.openChange.emit(event.target.open);
153
159
  }
154
160
  }
161
+ get calloutClasses() {
162
+ return {
163
+ [`mod-${this.size}`]: !!this.size,
164
+ [`palette-${this.palette}`]: !!this.palette,
165
+ };
166
+ }
155
167
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutDisclosureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.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 palette-{{palette}} mod-{{size}}\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\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-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.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<lu-icon class=\"calloutDisclosure-summary-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\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-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{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: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
157
169
  }
158
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutDisclosureComponent, decorators: [{
159
171
  type: Component,
160
- args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<details class=\"calloutDisclosure palette-{{palette}} mod-{{size}}\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\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-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{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"] }]
172
+ args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, NgClass, PortalDirective], 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<lu-icon class=\"calloutDisclosure-summary-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\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-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{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"] }]
161
173
  }], propDecorators: { icon: [{
162
174
  type: Input
163
175
  }], heading: [{
@@ -213,6 +225,22 @@ class CalloutPopoverComponent {
213
225
  }
214
226
  return this.size;
215
227
  }
228
+ get calloutClasses() {
229
+ return {
230
+ [`mod-${this.size}`]: !!this.size,
231
+ [`palette-${this.palette}`]: !!this.palette,
232
+ };
233
+ }
234
+ get calloutOverlayClasses() {
235
+ return {
236
+ [`mod-${this.size}`]: !!this.size,
237
+ };
238
+ }
239
+ get calloutOverlayHeadClasses() {
240
+ return {
241
+ [`palette-${this.palette}`]: !!this.palette,
242
+ };
243
+ }
216
244
  showContent() {
217
245
  clearTimeout(this._hideDelayId);
218
246
  // Don't open if we still have one opened
@@ -267,7 +295,7 @@ class CalloutPopoverComponent {
267
295
  this.hideContent(null);
268
296
  }
269
297
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.1", type: CalloutPopoverComponent, isStandalone: true, selector: "lu-callout-popover", inputs: { openDelay: ["openDelay", "openDelay", numberAttribute], closeDelay: ["closeDelay", "closeDelay", numberAttribute], buttonLabel: "buttonLabel", palette: "palette", size: "size", icon: "icon", state: "state", heading: "heading" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOriginRef"], descendants: true }, { propertyName: "overlayContent", first: true, predicate: ["overlayContentRef"], descendants: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\n\tclass=\"calloutPopover palette-{{palette}} mod-{{size}}\"\n\t#overlayOriginRef\n\t(mouseenter)=\"showContent()\"\n\t(focus)=\"showContent()\"\n\t(mouseleave)=\"hideContent($event)\"\n\t(blur)=\"hideContent(null)\"\n>\n\t<lu-icon class=\"calloutPopover-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t{{buttonLabel}}\n</button>\n<ng-template #overlayContentRef>\n\t<div\n\t\t[@tooltip]=\"'open'\"\n\t\tclass=\"lu-popover-content calloutPopover-overlay mod-{{contentSize}}\"\n\t\t(mouseenter)=\"showContent()\"\n\t\t(mouseleave)=\"hideContent($event)\"\n\t>\n\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon palette-{{palette}}\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t</strong>\n\t\t</div>\n\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: [".calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}:root{--components-calloutPopover-width: 30rem;--components-calloutPopover-content-margin: 2rem}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{width:var(--components-calloutPopover-width);max-width:100vw}.calloutPopover-overlay-head{display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{margin-top:0;color:var(--palettes-neutral-900);margin-bottom:var(--pr-t-spacings-200);text-rendering:geometricPrecision;text-wrap:pretty;font-weight:var(--components-title-weight, 600);font-size:var(--sizes-fontSize);line-height:var(--sizes-lineHeight);padding-top:var(--sizes-verticalPadding);padding-bottom:var(--sizes-verticalPadding);--sizes-verticalPadding: var(--sizes-M-verticalPadding);--sizes-fontSize: var(--sizes-M-fontSize);--sizes-lineHeight: var(--sizes-M-lineHeight);--components-title-weight: 600;margin:0;padding:0}.calloutPopover-overlay-head-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin:var(--pr-t-spacings-100) var(--pr-t-spacings-150) var(--pr-t-spacings-100) var(--components-calloutPopover-content-margin);padding-top:var(--pr-t-spacings-100);border-top:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover.mod-S{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);padding:var(--pr-t-spacings-25) var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--commons-borderRadius-M)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem;--components-calloutPopover-content-margin: 1.75rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{--sizes-verticalPadding: var(--sizes-S-verticalPadding);--sizes-fontSize: var(--sizes-S-fontSize);--sizes-lineHeight: var(--sizes-S-lineHeight);--components-title-weight: 600}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless{--components-calloutPopover-content-margin: 0}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-head-icon{display:none}lu-callout-popover{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], animations: [
298
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.1", type: CalloutPopoverComponent, isStandalone: true, selector: "lu-callout-popover", inputs: { openDelay: ["openDelay", "openDelay", numberAttribute], closeDelay: ["closeDelay", "closeDelay", numberAttribute], buttonLabel: "buttonLabel", palette: "palette", size: "size", icon: "icon", state: "state", heading: "heading" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOriginRef"], descendants: true }, { propertyName: "overlayContent", first: true, predicate: ["overlayContentRef"], descendants: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\n\tclass=\"calloutPopover\"\n\t[ngClass]=\"calloutClasses\"\n\t#overlayOriginRef\n\t(mouseenter)=\"showContent()\"\n\t(focus)=\"showContent()\"\n\t(mouseleave)=\"hideContent($event)\"\n\t(blur)=\"hideContent(null)\"\n>\n\t<lu-icon class=\"calloutPopover-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t{{buttonLabel}}\n</button>\n<ng-template #overlayContentRef>\n\t<div\n\t\t[@tooltip]=\"'open'\"\n\t\tclass=\"lu-popover-content calloutPopover-overlay\"\n\t\t[ngClass]=\"calloutOverlayClasses\"\n\t\t(mouseenter)=\"showContent()\"\n\t\t(mouseleave)=\"hideContent($event)\"\n\t>\n\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon\" [ngClass]=\"calloutOverlayHeadClasses\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t</strong>\n\t\t</div>\n\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: [".calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}:root{--components-calloutPopover-width: 30rem;--components-calloutPopover-content-margin: 2rem}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{width:var(--components-calloutPopover-width);max-width:100vw}.calloutPopover-overlay-head{display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{margin-top:0;color:var(--palettes-neutral-900);margin-bottom:var(--pr-t-spacings-200);text-rendering:geometricPrecision;text-wrap:pretty;font-weight:var(--components-title-weight, 600);font-size:var(--sizes-fontSize);line-height:var(--sizes-lineHeight);padding-top:var(--sizes-verticalPadding);padding-bottom:var(--sizes-verticalPadding);--sizes-verticalPadding: var(--sizes-M-verticalPadding);--sizes-fontSize: var(--sizes-M-fontSize);--sizes-lineHeight: var(--sizes-M-lineHeight);--components-title-weight: 600;margin:0;padding:0}.calloutPopover-overlay-head-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin:var(--pr-t-spacings-100) var(--pr-t-spacings-150) var(--pr-t-spacings-100) var(--components-calloutPopover-content-margin);padding-top:var(--pr-t-spacings-100);border-top:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover.mod-S{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);padding:var(--pr-t-spacings-25) var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--commons-borderRadius-M)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem;--components-calloutPopover-content-margin: 1.75rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{--sizes-verticalPadding: var(--sizes-S-verticalPadding);--sizes-fontSize: var(--sizes-S-fontSize);--sizes-lineHeight: var(--sizes-S-lineHeight);--components-title-weight: 600}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless{--components-calloutPopover-content-margin: 0}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-head-icon{display:none}lu-callout-popover{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], animations: [
271
299
  trigger('tooltip', [
272
300
  state('enter', style({
273
301
  opacity: 1,
@@ -301,7 +329,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
301
329
  ]),
302
330
  transition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),
303
331
  ]),
304
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<button\n\ttype=\"button\"\n\tclass=\"calloutPopover palette-{{palette}} mod-{{size}}\"\n\t#overlayOriginRef\n\t(mouseenter)=\"showContent()\"\n\t(focus)=\"showContent()\"\n\t(mouseleave)=\"hideContent($event)\"\n\t(blur)=\"hideContent(null)\"\n>\n\t<lu-icon class=\"calloutPopover-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t{{buttonLabel}}\n</button>\n<ng-template #overlayContentRef>\n\t<div\n\t\t[@tooltip]=\"'open'\"\n\t\tclass=\"lu-popover-content calloutPopover-overlay mod-{{contentSize}}\"\n\t\t(mouseenter)=\"showContent()\"\n\t\t(mouseleave)=\"hideContent($event)\"\n\t>\n\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon palette-{{palette}}\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t</strong>\n\t\t</div>\n\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: [".calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}:root{--components-calloutPopover-width: 30rem;--components-calloutPopover-content-margin: 2rem}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{width:var(--components-calloutPopover-width);max-width:100vw}.calloutPopover-overlay-head{display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{margin-top:0;color:var(--palettes-neutral-900);margin-bottom:var(--pr-t-spacings-200);text-rendering:geometricPrecision;text-wrap:pretty;font-weight:var(--components-title-weight, 600);font-size:var(--sizes-fontSize);line-height:var(--sizes-lineHeight);padding-top:var(--sizes-verticalPadding);padding-bottom:var(--sizes-verticalPadding);--sizes-verticalPadding: var(--sizes-M-verticalPadding);--sizes-fontSize: var(--sizes-M-fontSize);--sizes-lineHeight: var(--sizes-M-lineHeight);--components-title-weight: 600;margin:0;padding:0}.calloutPopover-overlay-head-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin:var(--pr-t-spacings-100) var(--pr-t-spacings-150) var(--pr-t-spacings-100) var(--components-calloutPopover-content-margin);padding-top:var(--pr-t-spacings-100);border-top:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover.mod-S{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);padding:var(--pr-t-spacings-25) var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--commons-borderRadius-M)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem;--components-calloutPopover-content-margin: 1.75rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{--sizes-verticalPadding: var(--sizes-S-verticalPadding);--sizes-fontSize: var(--sizes-S-fontSize);--sizes-lineHeight: var(--sizes-S-lineHeight);--components-title-weight: 600}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless{--components-calloutPopover-content-margin: 0}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-head-icon{display:none}lu-callout-popover{display:inline-flex}\n"] }]
332
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<button\n\ttype=\"button\"\n\tclass=\"calloutPopover\"\n\t[ngClass]=\"calloutClasses\"\n\t#overlayOriginRef\n\t(mouseenter)=\"showContent()\"\n\t(focus)=\"showContent()\"\n\t(mouseleave)=\"hideContent($event)\"\n\t(blur)=\"hideContent(null)\"\n>\n\t<lu-icon class=\"calloutPopover-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t{{buttonLabel}}\n</button>\n<ng-template #overlayContentRef>\n\t<div\n\t\t[@tooltip]=\"'open'\"\n\t\tclass=\"lu-popover-content calloutPopover-overlay\"\n\t\t[ngClass]=\"calloutOverlayClasses\"\n\t\t(mouseenter)=\"showContent()\"\n\t\t(mouseleave)=\"hideContent($event)\"\n\t>\n\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon\" [ngClass]=\"calloutOverlayHeadClasses\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t</strong>\n\t\t</div>\n\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: [".calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--commons-borderRadius-L);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}:root{--components-calloutPopover-width: 30rem;--components-calloutPopover-content-margin: 2rem}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{width:var(--components-calloutPopover-width);max-width:100vw}.calloutPopover-overlay-head{display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{margin-top:0;color:var(--palettes-neutral-900);margin-bottom:var(--pr-t-spacings-200);text-rendering:geometricPrecision;text-wrap:pretty;font-weight:var(--components-title-weight, 600);font-size:var(--sizes-fontSize);line-height:var(--sizes-lineHeight);padding-top:var(--sizes-verticalPadding);padding-bottom:var(--sizes-verticalPadding);--sizes-verticalPadding: var(--sizes-M-verticalPadding);--sizes-fontSize: var(--sizes-M-fontSize);--sizes-lineHeight: var(--sizes-M-lineHeight);--components-title-weight: 600;margin:0;padding:0}.calloutPopover-overlay-head-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin:var(--pr-t-spacings-100) var(--pr-t-spacings-150) var(--pr-t-spacings-100) var(--components-calloutPopover-content-margin);padding-top:var(--pr-t-spacings-100);border-top:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover.mod-S{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font-size:var(--sizes-XS-fontSize);line-height:var(--sizes-XS-lineHeight);padding:var(--pr-t-spacings-25) var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--commons-borderRadius-M)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem;--components-calloutPopover-content-margin: 1.75rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{--sizes-verticalPadding: var(--sizes-S-verticalPadding);--sizes-fontSize: var(--sizes-S-fontSize);--sizes-lineHeight: var(--sizes-S-lineHeight);--components-title-weight: 600}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless{--components-calloutPopover-content-margin: 0}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-head-icon{display:none}lu-callout-popover{display:inline-flex}\n"] }]
305
333
  }], propDecorators: { overlayOrigin: [{
306
334
  type: ViewChild,
307
335
  args: ['overlayOriginRef']
@@ -355,7 +383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
355
383
  class CalloutFeedbackListComponent {
356
384
  #luClass = inject(LuClass);
357
385
  ngOnChanges() {
358
- this.#luClass.setState([`palette-${this.palette}`, `mod-${this.size}`]);
386
+ this.#luClass.setState({ [`palette-${this.palette}`]: !!this.palette, [`mod-${this.size}`]: !!this.size });
359
387
  }
360
388
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalloutFeedbackListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
361
389
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: CalloutFeedbackListComponent, isStandalone: true, selector: "ul[lu-callout-feedback-list]", inputs: { palette: "palette", size: "size" }, host: { classAttribute: "calloutFeedbackList" }, providers: [LuClass], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".calloutFeedbackList{--components-calloutFeedbackList-fontSize: var(--sizes-M-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-M-lineHeight);--components-calloutFeedbackList-gap: var(--pr-t-spacings-150);margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;font-size:var(--components-calloutFeedbackList-fontSize);line-height:var(--components-calloutFeedbackList-lineHeight);gap:var(--components-calloutFeedbackList-gap)}.calloutFeedbackList .button{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutFeedbackList-item{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100)}.calloutFeedbackList-item-actions{display:inline-flex;gap:var(--pr-t-spacings-100)}.calloutFeedbackList.mod-S{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-fontSize: var(--sizes-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--sizes-S-lineHeight)}.calloutFeedbackList.mod-S .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)}.calloutFeedbackList.mod-S .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)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }