@lucca-front/ng 20.2.2 → 20.2.3

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.
package/date2/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnInit, ElementRef, Signal } from '@angular/core';
2
+ import { OnInit, ElementRef } from '@angular/core';
3
3
  import { Palette, PortalContent } from '@lucca-front/ng/core';
4
4
  import { ConnectionPositionPair } from '@angular/cdk/overlay';
5
5
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
@@ -257,10 +257,10 @@ declare const PremadeShortcuts: Record<string, (locale: string) => DateRange>;
257
257
 
258
258
  declare class DateRangeInputComponent extends AbstractDateComponent implements OnInit, ControlValueAccessor, Validator, FilterPillInputComponent {
259
259
  #private;
260
- hasTwoCalendars: Signal<boolean>;
260
+ hasTwoCalendars: _angular_core.Signal<boolean>;
261
261
  idSuffix: number;
262
- startTextInputRef: Signal<ElementRef<HTMLInputElement>>;
263
- endTextInputRef: Signal<ElementRef<HTMLInputElement>>;
262
+ startTextInputRef: _angular_core.Signal<ElementRef<HTMLInputElement>>;
263
+ endTextInputRef: _angular_core.Signal<ElementRef<HTMLInputElement>>;
264
264
  initialValue: _angular_core.WritableSignal<DateRange>;
265
265
  selectedRange: _angular_core.WritableSignal<DateRange>;
266
266
  dateHovered: _angular_core.WritableSignal<Date>;
@@ -273,24 +273,22 @@ declare class DateRangeInputComponent extends AbstractDateComponent implements O
273
273
  highlightedField: _angular_core.WritableSignal<0 | 1 | -1>;
274
274
  shortcuts: _angular_core.InputSignal<readonly CalendarShortcut[]>;
275
275
  autocomplete: _angular_core.InputSignal<AutoFill>;
276
- protected currentRightDate: Signal<Date>;
277
- protected currentStartDisplayDate: Signal<Date>;
278
- protected currentEndDisplayDate: Signal<Date>;
279
- calendars: Signal<readonly Calendar2Component[]>;
276
+ protected currentRightDate: _angular_core.Signal<Date>;
277
+ protected currentStartDisplayDate: _angular_core.Signal<Date>;
278
+ protected currentEndDisplayDate: _angular_core.Signal<Date>;
279
+ calendars: _angular_core.Signal<readonly Calendar2Component[]>;
280
280
  combinedGetCellInfo: (date: Date, mode: CalendarMode) => CellStatus;
281
- calendarRanges: Signal<DateRange[]>;
282
- startLabel: Signal<string>;
283
- startTextInput: _angular_core.WritableSignal<string>;
284
- endLabel: Signal<string>;
285
- endTextInput: _angular_core.WritableSignal<string>;
286
- previousButton: Signal<ElementRef<Element>>;
287
- nextButton: Signal<ElementRef<Element>>;
281
+ calendarRanges: _angular_core.Signal<DateRange[]>;
282
+ startLabel: _angular_core.Signal<string>;
283
+ endLabel: _angular_core.Signal<string>;
284
+ previousButton: _angular_core.Signal<ElementRef<Element>>;
285
+ nextButton: _angular_core.Signal<ElementRef<Element>>;
288
286
  focusedCalendarIndex: _angular_core.WritableSignal<number>;
289
- focusedCalendar: Signal<Calendar2Component>;
287
+ focusedCalendar: _angular_core.Signal<Calendar2Component>;
290
288
  isFilterPill: boolean;
291
289
  get isWidthAuto(): boolean;
292
- isFilterPillEmpty: Signal<boolean>;
293
- isFilterPillClearable: Signal<boolean>;
290
+ isFilterPillEmpty: _angular_core.Signal<boolean>;
291
+ isFilterPillClearable: _angular_core.Signal<boolean>;
294
292
  filterPillPopoverCloseFn?: () => void;
295
293
  filterPillDisabled: _angular_core.WritableSignal<boolean>;
296
294
  get isNavigationButtonFocused(): boolean;
@@ -298,7 +296,6 @@ declare class DateRangeInputComponent extends AbstractDateComponent implements O
298
296
  ngOnInit(): void;
299
297
  getNextCalendarDate(date: Date): Date;
300
298
  popoverClosed(): void;
301
- setupInputEffect(inputSignal: Signal<string | null>, rangeProperty: 'start' | 'end'): void;
302
299
  inputBlur(): void;
303
300
  fixOrderIfNeeded(): void;
304
301
  tabbableDateChange(date: Date, calendarIndex: number): void;
@@ -317,6 +314,7 @@ declare class DateRangeInputComponent extends AbstractDateComponent implements O
317
314
  enableFilterPillMode(): void;
318
315
  clearFilterPillValue(): void;
319
316
  getDefaultFilterPillIcon(): LuccaIcon;
317
+ textInputChange(inputValue: string, rangeProperty: 'start' | 'end'): void;
320
318
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateRangeInputComponent, never>;
321
319
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangeInputComponent, "lu-date-range-input", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "widthAuto": { "alias": "widthAuto"; "required": false; "isSignal": true; }; "shortcuts": { "alias": "shortcuts"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
322
320
  }
@@ -82,11 +82,11 @@ class CalloutDisclosureComponent {
82
82
  };
83
83
  }
84
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutDisclosureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", 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: "@let calloutIcon = state | luCalloutIcon: icon;\n\n<details class=\"calloutDisclosure\" [class]=\"calloutClasses\" [class.mod-iconless]=\"!calloutIcon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (calloutIcon) {\n\t\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\" />\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\" />\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content />\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding-block:var(--pr-t-spacings-100);padding-inline:var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--pr-t-border-radius-default);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin-block:0;margin-inline:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding-block:var(--pr-t-spacings-100);padding-inline: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:var(--pr-t-font-body-S)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-inline-start:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-font: var(--pr-t-font-body-S);--components-calloutFeedbackList-fontSize: var(--pr-t-font-body-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--pr-t-font-body-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-inline-start:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", 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: "@let calloutIcon = state | luCalloutIcon: icon;\n\n<details class=\"calloutDisclosure\" [class]=\"calloutClasses\" [class.mod-iconless]=\"!calloutIcon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (calloutIcon) {\n\t\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\" />\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\" />\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content />\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-padding: var(--components-calloutDisclosure-paddingVertical) var(--components-calloutDisclosure-paddingHorizontal);--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);--components-calloutDisclosure-paddingVertical: var(--pr-t-spacings-100);--components-calloutDisclosure-gap: var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.calloutDisclosure-summary{display:flex;gap:var(--components-calloutDisclosure-gap);padding:var(--components-calloutDisclosure-padding);border-radius:var(--pr-t-border-radius-default);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin-block:0;margin-inline:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding-block:var(--pr-t-spacings-100);padding-inline: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{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-100);--components-calloutDisclosure-paddingVertical: var(--pr-t-spacings-75);--components-calloutDisclosure-gap: var(--pr-t-spacings-100)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-inline-start:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-font: var(--pr-t-font-body-S);--components-calloutFeedbackList-fontSize: var(--pr-t-font-body-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--pr-t-font-body-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-inline-start:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
86
86
  }
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutDisclosureComponent, decorators: [{
88
88
  type: Component,
89
- args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@let calloutIcon = state | luCalloutIcon: icon;\n\n<details class=\"calloutDisclosure\" [class]=\"calloutClasses\" [class.mod-iconless]=\"!calloutIcon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (calloutIcon) {\n\t\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\" />\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\" />\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content />\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.calloutDisclosure-summary{display:flex;gap:var(--pr-t-spacings-150);padding-block:var(--pr-t-spacings-100);padding-inline:var(--components-calloutDisclosure-paddingHorizontal);border-radius:var(--pr-t-border-radius-default);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:600}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin-block:0;margin-inline:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding-block:var(--pr-t-spacings-100);padding-inline: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:var(--pr-t-font-body-S)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-inline-start:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-font: var(--pr-t-font-body-S);--components-calloutFeedbackList-fontSize: var(--pr-t-font-body-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--pr-t-font-body-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-inline-start:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"] }]
89
+ args: [{ selector: 'lu-callout-disclosure', standalone: true, imports: [CommonModule, IconComponent, PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@let calloutIcon = state | luCalloutIcon: icon;\n\n<details class=\"calloutDisclosure\" [class]=\"calloutClasses\" [class.mod-iconless]=\"!calloutIcon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (calloutIcon) {\n\t\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\" />\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\" />\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content />\n\t</div>\n</details>\n", styles: [".calloutDisclosure{--components-calloutDisclosure-padding: var(--components-calloutDisclosure-paddingVertical) var(--components-calloutDisclosure-paddingHorizontal);--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-150);--components-calloutDisclosure-paddingVertical: var(--pr-t-spacings-100);--components-calloutDisclosure-gap: var(--pr-t-spacings-150);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.calloutDisclosure-summary{display:flex;gap:var(--components-calloutDisclosure-gap);padding:var(--components-calloutDisclosure-padding);border-radius:var(--pr-t-border-radius-default);transition:background-color var(--commons-animations-durations-fast) ease;cursor:pointer;z-index:1;position:relative}.calloutDisclosure-summary:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutDisclosure-summary:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px;border-radius:6px}.calloutDisclosure-summary:focus-visible~.calloutDisclosure-details{box-shadow:none}.calloutDisclosure-summary::-webkit-details-marker{display:none}.calloutDisclosure-summary-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutDisclosure-summary-title{font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutDisclosure-summary-chevron{align-self:start;color:var(--palettes-neutral-700);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}.calloutDisclosure-details{margin-block:0;margin-inline:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2.25rem);padding-block:var(--pr-t-spacings-100);padding-inline: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{--components-calloutDisclosure-paddingHorizontal: var(--pr-t-spacings-100);--components-calloutDisclosure-paddingVertical: var(--pr-t-spacings-75);--components-calloutDisclosure-gap: var(--pr-t-spacings-100)}.calloutDisclosure.mod-S .calloutDisclosure-summary-title{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutDisclosure.mod-S .calloutDisclosure-summary-icon,.calloutDisclosure.mod-S .calloutDisclosure-summary-chevron{--icon-size: 1.25rem}.calloutDisclosure.mod-S .calloutDisclosure-details{margin-inline-start:calc(var(--components-calloutDisclosure-paddingHorizontal) + 2rem)}.calloutDisclosure.mod-S .calloutFeedbackList{--components-calloutFeedbackList-gap: var(--pr-t-spacings-100);--components-calloutFeedbackList-font: var(--pr-t-font-body-S);--components-calloutFeedbackList-fontSize: var(--pr-t-font-body-S-fontSize);--components-calloutFeedbackList-lineHeight: var(--pr-t-font-body-S-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-S .calloutFeedbackList .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.calloutDisclosure.mod-iconless .calloutDisclosure-summary-icon{display:none}.calloutDisclosure.mod-iconless .calloutDisclosure-details{margin-inline-start:var(--components-calloutDisclosure-paddingHorizontal)}lu-callout-disclosure{display:block}\n"] }]
90
90
  }], propDecorators: { icon: [{
91
91
  type: Input
92
92
  }], heading: [{
@@ -376,11 +376,11 @@ class CalloutComponent {
376
376
  };
377
377
  }
378
378
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
379
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", 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: "@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{ calloutIcon }}\"></span>\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"callout-content\">\n\t\t\t@if (heading) {\n\t\t\t\t<strong class=\"callout-content-title\">\n\t\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t\t</strong>\n\t\t\t}\n\t\t\t<div class=\"callout-content-description\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t\t@if (removable) {\n\t\t\t<button type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t\t</button>\n\t\t}\n\t</div>\n}\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-font: inherit;--components-callout-kill-size: 1.5rem;--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;align-items:flex-start;position:relative;border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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:var(--components-callout-font);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.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-block-start:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-50);padding-inline:0}.callout-content-description-actions .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900);--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;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;block-size:var(--components-callout-kill-size);inline-size:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.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(--pr-t-font-body-S-lineHeight)}.callout.mod-S{--components-callout-gap: var(--pr-t-spacings-100);--components-callout-font: var(--pr-t-font-body-S);--components-callout-kill-size: 1.25rem;--components-callout-fontSize: var(--pr-t-font-body-S-fontSize);--components-callout-lineHeight: var(--pr-t-font-body-S-lineHeight)}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.callout.mod-S .callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}lu-callout{display:block}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
379
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", 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: "@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{ calloutIcon }}\"></span>\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"callout-content\">\n\t\t\t@if (heading) {\n\t\t\t\t<strong class=\"callout-content-title\">\n\t\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t\t</strong>\n\t\t\t}\n\t\t\t<div class=\"callout-content-description\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t\t@if (removable) {\n\t\t\t<button type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t\t</button>\n\t\t}\n\t</div>\n}\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-font: inherit;--components-callout-kill-size: 1.5rem;--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;align-items:flex-start;position:relative;border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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:var(--components-callout-font);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.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-block-start:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-50);padding-inline:0}.callout-content-description-actions .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900);--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;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;block-size:var(--components-callout-kill-size);inline-size:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.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(--pr-t-font-body-S-lineHeight)}.callout.mod-S{--components-callout-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-callout-gap: var(--pr-t-spacings-100);--components-callout-font: var(--pr-t-font-body-S);--components-callout-kill-size: 1.25rem;--components-callout-fontSize: var(--pr-t-font-body-S-fontSize);--components-callout-lineHeight: var(--pr-t-font-body-S-lineHeight)}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.callout.mod-S .callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}lu-callout{display:block}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
380
380
  }
381
381
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutComponent, decorators: [{
382
382
  type: Component,
383
- args: [{ selector: 'lu-callout', standalone: true, imports: [PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{ calloutIcon }}\"></span>\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"callout-content\">\n\t\t\t@if (heading) {\n\t\t\t\t<strong class=\"callout-content-title\">\n\t\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t\t</strong>\n\t\t\t}\n\t\t\t<div class=\"callout-content-description\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t\t@if (removable) {\n\t\t\t<button type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t\t</button>\n\t\t}\n\t</div>\n}\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-font: inherit;--components-callout-kill-size: 1.5rem;--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;align-items:flex-start;position:relative;border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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:var(--components-callout-font);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.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-block-start:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-50);padding-inline:0}.callout-content-description-actions .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900);--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;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;block-size:var(--components-callout-kill-size);inline-size:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.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(--pr-t-font-body-S-lineHeight)}.callout.mod-S{--components-callout-gap: var(--pr-t-spacings-100);--components-callout-font: var(--pr-t-font-body-S);--components-callout-kill-size: 1.25rem;--components-callout-fontSize: var(--pr-t-font-body-S-fontSize);--components-callout-lineHeight: var(--pr-t-font-body-S-lineHeight)}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.callout.mod-S .callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}lu-callout{display:block}\n"] }]
383
+ args: [{ selector: 'lu-callout', standalone: true, imports: [PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{ calloutIcon }}\"></span>\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"callout-content\">\n\t\t\t@if (heading) {\n\t\t\t\t<strong class=\"callout-content-title\">\n\t\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t\t</strong>\n\t\t\t}\n\t\t\t<div class=\"callout-content-description\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t\t@if (removable) {\n\t\t\t<button type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t\t</button>\n\t\t}\n\t</div>\n}\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-font: inherit;--components-callout-kill-size: 1.5rem;--components-callout-fontSize: inherit;--components-callout-lineHeight: inherit;align-items:flex-start;position:relative;border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));color:var(--pr-t-color-text);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:var(--components-callout-font);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(--pr-t-color-text);--commons-text-link-hover: var(--palettes-neutral-900)}.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-block-start:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-50);padding-inline:0}.callout-content-description-actions .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900);--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.callout-icon{display:inline-flex;color:var(--palettes-700, var(--palettes-neutral-700))}.callout-kill{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;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;block-size:var(--components-callout-kill-size);inline-size:var(--components-callout-kill-size)}.callout-kill:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.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(--pr-t-font-body-S-lineHeight)}.callout.mod-S{--components-callout-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-100);--components-callout-gap: var(--pr-t-spacings-100);--components-callout-font: var(--pr-t-font-body-S);--components-callout-kill-size: 1.25rem;--components-callout-fontSize: var(--pr-t-font-body-S-fontSize);--components-callout-lineHeight: var(--pr-t-font-body-S-lineHeight)}.callout.mod-S .callout-icon{--icon-size: 1.25rem}.callout.mod-S .callout-content-description-actions .button{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.callout.mod-S .callout-content-description-actions .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}lu-callout{display:block}\n"] }]
384
384
  }], propDecorators: {
385
385
  /**
386
386
  * The title of the callout
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-callout.mjs","sources":["../../../packages/ng/callout/callout-state.ts","../../../packages/ng/callout/callout.utils.ts","../../../packages/ng/callout/callout-icon.pipe.ts","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.ts","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.html","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.ts","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.html","../../../packages/ng/callout/callout-feedback-list/callout-feedback-list.component.ts","../../../packages/ng/callout/callout-popover/callout-popover.component.ts","../../../packages/ng/callout/callout-popover/callout-popover.component.html","../../../packages/ng/callout/translations.ts","../../../packages/ng/callout/callout.translate.ts","../../../packages/ng/callout/callout/callout.component.ts","../../../packages/ng/callout/callout/callout.component.html","../../../packages/ng/callout/lucca-front-ng-callout.ts"],"sourcesContent":["import { LuccaIcon } from '@lucca-front/icons';\nimport { Palette } from '@lucca-front/ng/core';\n\nexport const CalloutStates = ['success', 'warning', 'error'] as const;\n\nexport type CalloutState = (typeof CalloutStates)[number];\n\nexport const CalloutStateMap: Record<CalloutState, { icon: LuccaIcon; palette: Palette }> = {\n\tsuccess: {\n\t\ticon: 'signSuccess',\n\t\tpalette: 'success',\n\t},\n\twarning: {\n\t\ticon: 'signWarning',\n\t\tpalette: 'warning',\n\t},\n\terror: {\n\t\ticon: 'signError',\n\t\tpalette: 'error',\n\t},\n};\n","import { LuccaIcon } from '@lucca-front/icons';\nimport { Palette } from '@lucca-front/ng/core';\nimport { CalloutState, CalloutStateMap } from './callout-state';\n\n/**\n * Get icon for callout\n *\n * If the icon is defined then it takes priority over the callout state icon\n */\nexport function getCalloutIcon(state: CalloutState | undefined, icon: LuccaIcon | undefined): LuccaIcon | undefined {\n\tconst stateMap = CalloutStateMap[state] ?? { icon };\n\treturn icon ?? stateMap.icon;\n}\n\n/**\n * Get palette for callout\n *\n * If the palette is different from \"none\" then it takes priority over the callout state palette\n */\nexport function getCalloutPalette(state: CalloutState | undefined, palette: Palette): string {\n\tconst stateMap = CalloutStateMap[state] ?? { palette };\n\treturn palette !== 'none' ? palette : stateMap.palette;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { CalloutState } from './callout-state';\nimport { getCalloutIcon } from './callout.utils';\n\n/**\n * Get icon for callout\n *\n * If the icon is defined then it takes priority over the callout state icon\n */\n@Pipe({\n\tname: 'luCalloutIcon',\n\tstandalone: true,\n})\nexport class CalloutIconPipe implements PipeTransform {\n\ttransform(state: CalloutState, icon: LuccaIcon): LuccaIcon | undefined {\n\t\treturn getCalloutIcon(state, icon);\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { CalloutIconPipe } from '../callout-icon.pipe';\nimport { CalloutState } from '../callout-state';\nimport { getCalloutPalette } from '../callout.utils';\n\n@Component({\n\tselector: 'lu-callout-disclosure',\n\tstandalone: true,\n\timports: [CommonModule, IconComponent, PortalDirective, CalloutIconPipe],\n\ttemplateUrl: './callout-disclosure.component.html',\n\tstyleUrls: ['./callout-disclosure.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutDisclosureComponent {\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tsize: 'M' | 'S' = 'M';\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tstate: CalloutState;\n\n\t@Input({ transform: booleanAttribute }) open = false;\n\n\t@Output() openChange = new EventEmitter<boolean>();\n\n\tpublic onToggle(event: Event) {\n\t\tif (event.target instanceof HTMLDetailsElement) {\n\t\t\tthis.openChange.emit(event.target.open);\n\t\t}\n\t}\n\n\tget calloutClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n}\n","@let calloutIcon = state | luCalloutIcon: icon;\n\n<details class=\"calloutDisclosure\" [class]=\"calloutClasses\" [class.mod-iconless]=\"!calloutIcon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (calloutIcon) {\n\t\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\" />\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\" />\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content />\n\t</div>\n</details>\n","import { Component, Directive, ViewEncapsulation } from '@angular/core';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-feedback-item-description',\n\tstandalone: true,\n})\nexport class CalloutFeedbackItemDescriptionDirective {}\n\n@Component({\n\tselector: 'li[lu-callout-feedback-item]',\n\tstandalone: true,\n\timports: [],\n\ttemplateUrl: './callout-feedback-item.component.html',\n\tstyleUrls: ['./callout-feedback-item.component.scss'],\n\thost: {\n\t\tclass: 'calloutFeedbackList-item',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackItemComponent {}\n","<span class=\"calloutFeedbackList-item-description\">\n\t<ng-content select=\"lu-feedback-item-description\"></ng-content>\n</span>\n<div class=\"calloutFeedbackList-item-actions\">\n\t<ng-content select=\"[lu-feedback-item-action]\"></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'ul[lu-callout-feedback-list]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tstyleUrls: ['./callout-feedback-list.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'calloutFeedbackList',\n\t},\n\tproviders: [LuClass],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackListComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\n\t@Input()\n\tpalette: Palette;\n\n\t@Input()\n\tsize: 'M' | 'S';\n\n\tngOnChanges(): void {\n\t\tthis.#luClass.setState({ [`palette-${this.palette}`]: !!this.palette, [`mod-${this.size}`]: !!this.size });\n\t}\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, Input, numberAttribute, OnDestroy, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { CalloutIconPipe } from '../callout-icon.pipe';\nimport { CalloutState } from '../callout-state';\nimport { getCalloutPalette } from '../callout.utils';\n\n@Component({\n\tselector: 'lu-callout-popover',\n\tstandalone: true,\n\timports: [IconComponent, PortalDirective, CalloutIconPipe],\n\tanimations: [\n\t\ttrigger('tooltip', [\n\t\t\tstate(\n\t\t\t\t'enter',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: `scale(1)`,\n\t\t\t\t}),\n\t\t\t),\n\t\t\ttransition('void => *', [\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: `scale(0)`,\n\t\t\t\t}),\n\t\t\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t\t\t]),\n\t\t\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n\t\t]),\n\t],\n\ttemplateUrl: './callout-popover.component.html',\n\tstyleUrls: ['./callout-popover.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutPopoverComponent implements OnDestroy {\n\t#overlay = inject(Overlay);\n\t#viewContainerRef = inject(ViewContainerRef);\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t@ViewChild('overlayOriginRef')\n\toverlayOrigin: ElementRef;\n\n\t@ViewChild('overlayContentRef')\n\toverlayContent: TemplateRef<unknown>;\n\n\t#overlayRef: OverlayRef;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _hideDelayId: unknown | undefined;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _showDelayId: unknown | undefined;\n\n\t/**\n\t * Debounce for the popover to open (mouse will have to be on the element fox openDelay milliseconds for popover to show)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly openDelay = 50;\n\n\t/**\n\t * Debounce for the popover to close (mouse will have to be out of both popover and trigger for closeDelay milliseconds for it to close)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly closeDelay = 500;\n\n\t/**\n\t * Label to put inside the button, often used to show just a number\n\t */\n\t@Input()\n\tbuttonLabel: string;\n\n\t/**\n\t * Palette for both the button and the popover content\n\t */\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t/**\n\t * Size for both button and popover content\n\t */\n\t@Input()\n\tsize?: 'M' | 'S' | 'XS';\n\n\t/**\n\t * Icon shows in button and next to popover's title\n\t */\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tstate: CalloutState;\n\n\t/**\n\t * Heading for the details popover\n\t */\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\tget contentSize(): 'S' | 'M' | undefined {\n\t\tif (this.size === 'XS') {\n\t\t\treturn 'S';\n\t\t}\n\t\treturn this.size;\n\t}\n\n\tget calloutClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n\n\tget calloutOverlayClasses() {\n\t\treturn {\n\t\t\t[`mod-${this.contentSize}`]: !!this.contentSize,\n\t\t};\n\t}\n\n\tget calloutOverlayHeadClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n\n\tpublic showContent() {\n\t\tclearTimeout(this._hideDelayId as number);\n\t\t// Don't open if we still have one opened\n\t\tif (this._showDelayId) {\n\t\t\treturn;\n\t\t}\n\t\tthis._showDelayId = setTimeout(() => {\n\t\t\tthis.createPanelContent();\n\t\t\tdelete this._hideDelayId;\n\t\t}, this.openDelay);\n\t}\n\n\tprivate createPanelContent() {\n\t\tconst positionStrategy = this.#overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.overlayOrigin)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t]);\n\n\t\tthis.#overlayRef = this.#overlay.create({\n\t\t\tpositionStrategy,\n\t\t});\n\n\t\tconst portal = new TemplatePortal(this.overlayContent, this.#viewContainerRef);\n\n\t\tthis.#overlayRef.attach(portal);\n\t}\n\n\tpublic hideContent(event: MouseEvent | null) {\n\t\tclearTimeout(this._showDelayId as number);\n\t\tthis._hideDelayId = setTimeout(() => {\n\t\t\tconst newTarget = event?.relatedTarget as Node | null;\n\t\t\t// This is to prevent tooltip closing when user puts cursor on tooltip, thus leaving the origin trigger\n\t\t\tif (!newTarget || !(this.#overlayRef?.overlayElement?.contains(newTarget) || this.#elementRef?.nativeElement?.contains(newTarget))) {\n\t\t\t\t// Remove the tooltip if needed.\n\t\t\t\tif (this.#overlayRef) {\n\t\t\t\t\tthis.#overlayRef.dispose();\n\t\t\t\t\tdelete this._showDelayId;\n\t\t\t\t\tdelete this._hideDelayId;\n\t\t\t\t}\n\t\t\t}\n\t\t}, this.closeDelay);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.hideContent(null);\n\t}\n}\n","@let calloutIcon = state | luCalloutIcon: icon;\n\n<button\n\ttype=\"button\"\n\tclass=\"calloutPopover\"\n\t[class]=\"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@if (calloutIcon) {\n\t\t<lu-icon class=\"calloutPopover-icon\" [icon]=\"calloutIcon\" />\n\t}\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[class]=\"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@if (calloutIcon) {\n\t\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon\" [class]=\"calloutOverlayHeadClasses\" [icon]=\"calloutIcon\" />\n\t\t\t}\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 />\n\t\t</div>\n\t</div>\n</ng-template>\n","export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CALLOUT_TRANSLATIONS = new InjectionToken('LuCalloutTranslations', {\n\tfactory: () => luCalloutTranslations,\n});\n\nexport interface LuCalloutLabel {\n\tclose: string;\n}\n\nexport const luCalloutTranslations: LuTranslation<LuCalloutLabel> = Translations;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { getIntl, Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { CalloutIconPipe } from '../callout-icon.pipe';\nimport { CalloutState } from '../callout-state';\nimport { LU_CALLOUT_TRANSLATIONS } from '../callout.translate';\nimport { getCalloutPalette } from '../callout.utils';\n\n@Component({\n\tselector: 'lu-callout',\n\tstandalone: true,\n\timports: [PortalDirective, CalloutIconPipe],\n\ttemplateUrl: './callout.component.html',\n\tstyleUrls: ['./callout.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutComponent {\n\t@Input()\n\t/**\n\t * The title of the callout\n\t */\n\theading: PortalContent;\n\n\t@Input()\n\t/**\n\t * Which palette should be used for the entire callout.\n\t * Defaults to none (inherits parent palette)\n\t */\n\tpalette: Palette = 'none';\n\n\t@Input()\n\t/**\n\t * Which size should the callout be? Defaults to medium\n\t */\n\tsize: 'M' | 'S';\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Should we display the remove icon?\n\t */\n\tremovable = false;\n\n\t@Input()\n\t/**\n\t * Which icon should we display in the callout if any?\n\t * Defaults to no icon.\n\t */\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tstate: CalloutState;\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Is the callout removed? Works with two way binding too.\n\t */\n\tremoved = false;\n\n\t@HostBinding('attr.hidden')\n\tget hiddenAttr(): 'hidden' | null {\n\t\treturn this.removed ? 'hidden' : null;\n\t}\n\n\t@Output()\n\tremovedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n\tpublic intl = getIntl(LU_CALLOUT_TRANSLATIONS);\n\n\tget calloutClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n}\n","@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{ calloutIcon }}\"></span>\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"callout-content\">\n\t\t\t@if (heading) {\n\t\t\t\t<strong class=\"callout-content-title\">\n\t\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t\t</strong>\n\t\t\t}\n\t\t\t<div class=\"callout-content-description\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t\t@if (removable) {\n\t\t\t<button type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t\t</button>\n\t\t}\n\t</div>\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-callout.mjs","sources":["../../../packages/ng/callout/callout-state.ts","../../../packages/ng/callout/callout.utils.ts","../../../packages/ng/callout/callout-icon.pipe.ts","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.ts","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.html","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.ts","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.html","../../../packages/ng/callout/callout-feedback-list/callout-feedback-list.component.ts","../../../packages/ng/callout/callout-popover/callout-popover.component.ts","../../../packages/ng/callout/callout-popover/callout-popover.component.html","../../../packages/ng/callout/translations.ts","../../../packages/ng/callout/callout.translate.ts","../../../packages/ng/callout/callout/callout.component.ts","../../../packages/ng/callout/callout/callout.component.html","../../../packages/ng/callout/lucca-front-ng-callout.ts"],"sourcesContent":["import { LuccaIcon } from '@lucca-front/icons';\nimport { Palette } from '@lucca-front/ng/core';\n\nexport const CalloutStates = ['success', 'warning', 'error'] as const;\n\nexport type CalloutState = (typeof CalloutStates)[number];\n\nexport const CalloutStateMap: Record<CalloutState, { icon: LuccaIcon; palette: Palette }> = {\n\tsuccess: {\n\t\ticon: 'signSuccess',\n\t\tpalette: 'success',\n\t},\n\twarning: {\n\t\ticon: 'signWarning',\n\t\tpalette: 'warning',\n\t},\n\terror: {\n\t\ticon: 'signError',\n\t\tpalette: 'error',\n\t},\n};\n","import { LuccaIcon } from '@lucca-front/icons';\nimport { Palette } from '@lucca-front/ng/core';\nimport { CalloutState, CalloutStateMap } from './callout-state';\n\n/**\n * Get icon for callout\n *\n * If the icon is defined then it takes priority over the callout state icon\n */\nexport function getCalloutIcon(state: CalloutState | undefined, icon: LuccaIcon | undefined): LuccaIcon | undefined {\n\tconst stateMap = CalloutStateMap[state] ?? { icon };\n\treturn icon ?? stateMap.icon;\n}\n\n/**\n * Get palette for callout\n *\n * If the palette is different from \"none\" then it takes priority over the callout state palette\n */\nexport function getCalloutPalette(state: CalloutState | undefined, palette: Palette): string {\n\tconst stateMap = CalloutStateMap[state] ?? { palette };\n\treturn palette !== 'none' ? palette : stateMap.palette;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { CalloutState } from './callout-state';\nimport { getCalloutIcon } from './callout.utils';\n\n/**\n * Get icon for callout\n *\n * If the icon is defined then it takes priority over the callout state icon\n */\n@Pipe({\n\tname: 'luCalloutIcon',\n\tstandalone: true,\n})\nexport class CalloutIconPipe implements PipeTransform {\n\ttransform(state: CalloutState, icon: LuccaIcon): LuccaIcon | undefined {\n\t\treturn getCalloutIcon(state, icon);\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { CalloutIconPipe } from '../callout-icon.pipe';\nimport { CalloutState } from '../callout-state';\nimport { getCalloutPalette } from '../callout.utils';\n\n@Component({\n\tselector: 'lu-callout-disclosure',\n\tstandalone: true,\n\timports: [CommonModule, IconComponent, PortalDirective, CalloutIconPipe],\n\ttemplateUrl: './callout-disclosure.component.html',\n\tstyleUrls: ['./callout-disclosure.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutDisclosureComponent {\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tsize: 'M' | 'S' = 'M';\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tstate: CalloutState;\n\n\t@Input({ transform: booleanAttribute }) open = false;\n\n\t@Output() openChange = new EventEmitter<boolean>();\n\n\tpublic onToggle(event: Event) {\n\t\tif (event.target instanceof HTMLDetailsElement) {\n\t\t\tthis.openChange.emit(event.target.open);\n\t\t}\n\t}\n\n\tget calloutClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n}\n","@let calloutIcon = state | luCalloutIcon: icon;\n\n<details class=\"calloutDisclosure\" [class]=\"calloutClasses\" [class.mod-iconless]=\"!calloutIcon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t@if (calloutIcon) {\n\t\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" [icon]=\"calloutIcon\" />\n\t\t}\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\" />\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content />\n\t</div>\n</details>\n","import { Component, Directive, ViewEncapsulation } from '@angular/core';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-feedback-item-description',\n\tstandalone: true,\n})\nexport class CalloutFeedbackItemDescriptionDirective {}\n\n@Component({\n\tselector: 'li[lu-callout-feedback-item]',\n\tstandalone: true,\n\timports: [],\n\ttemplateUrl: './callout-feedback-item.component.html',\n\tstyleUrls: ['./callout-feedback-item.component.scss'],\n\thost: {\n\t\tclass: 'calloutFeedbackList-item',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackItemComponent {}\n","<span class=\"calloutFeedbackList-item-description\">\n\t<ng-content select=\"lu-feedback-item-description\"></ng-content>\n</span>\n<div class=\"calloutFeedbackList-item-actions\">\n\t<ng-content select=\"[lu-feedback-item-action]\"></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'ul[lu-callout-feedback-list]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tstyleUrls: ['./callout-feedback-list.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'calloutFeedbackList',\n\t},\n\tproviders: [LuClass],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackListComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\n\t@Input()\n\tpalette: Palette;\n\n\t@Input()\n\tsize: 'M' | 'S';\n\n\tngOnChanges(): void {\n\t\tthis.#luClass.setState({ [`palette-${this.palette}`]: !!this.palette, [`mod-${this.size}`]: !!this.size });\n\t}\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, Input, numberAttribute, OnDestroy, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { CalloutIconPipe } from '../callout-icon.pipe';\nimport { CalloutState } from '../callout-state';\nimport { getCalloutPalette } from '../callout.utils';\n\n@Component({\n\tselector: 'lu-callout-popover',\n\tstandalone: true,\n\timports: [IconComponent, PortalDirective, CalloutIconPipe],\n\tanimations: [\n\t\ttrigger('tooltip', [\n\t\t\tstate(\n\t\t\t\t'enter',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: `scale(1)`,\n\t\t\t\t}),\n\t\t\t),\n\t\t\ttransition('void => *', [\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: `scale(0)`,\n\t\t\t\t}),\n\t\t\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t\t\t]),\n\t\t\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n\t\t]),\n\t],\n\ttemplateUrl: './callout-popover.component.html',\n\tstyleUrls: ['./callout-popover.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutPopoverComponent implements OnDestroy {\n\t#overlay = inject(Overlay);\n\t#viewContainerRef = inject(ViewContainerRef);\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t@ViewChild('overlayOriginRef')\n\toverlayOrigin: ElementRef;\n\n\t@ViewChild('overlayContentRef')\n\toverlayContent: TemplateRef<unknown>;\n\n\t#overlayRef: OverlayRef;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _hideDelayId: unknown | undefined;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _showDelayId: unknown | undefined;\n\n\t/**\n\t * Debounce for the popover to open (mouse will have to be on the element fox openDelay milliseconds for popover to show)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly openDelay = 50;\n\n\t/**\n\t * Debounce for the popover to close (mouse will have to be out of both popover and trigger for closeDelay milliseconds for it to close)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly closeDelay = 500;\n\n\t/**\n\t * Label to put inside the button, often used to show just a number\n\t */\n\t@Input()\n\tbuttonLabel: string;\n\n\t/**\n\t * Palette for both the button and the popover content\n\t */\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t/**\n\t * Size for both button and popover content\n\t */\n\t@Input()\n\tsize?: 'M' | 'S' | 'XS';\n\n\t/**\n\t * Icon shows in button and next to popover's title\n\t */\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tstate: CalloutState;\n\n\t/**\n\t * Heading for the details popover\n\t */\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\tget contentSize(): 'S' | 'M' | undefined {\n\t\tif (this.size === 'XS') {\n\t\t\treturn 'S';\n\t\t}\n\t\treturn this.size;\n\t}\n\n\tget calloutClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n\n\tget calloutOverlayClasses() {\n\t\treturn {\n\t\t\t[`mod-${this.contentSize}`]: !!this.contentSize,\n\t\t};\n\t}\n\n\tget calloutOverlayHeadClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n\n\tpublic showContent() {\n\t\tclearTimeout(this._hideDelayId as number);\n\t\t// Don't open if we still have one opened\n\t\tif (this._showDelayId) {\n\t\t\treturn;\n\t\t}\n\t\tthis._showDelayId = setTimeout(() => {\n\t\t\tthis.createPanelContent();\n\t\t\tdelete this._hideDelayId;\n\t\t}, this.openDelay);\n\t}\n\n\tprivate createPanelContent() {\n\t\tconst positionStrategy = this.#overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.overlayOrigin)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t]);\n\n\t\tthis.#overlayRef = this.#overlay.create({\n\t\t\tpositionStrategy,\n\t\t});\n\n\t\tconst portal = new TemplatePortal(this.overlayContent, this.#viewContainerRef);\n\n\t\tthis.#overlayRef.attach(portal);\n\t}\n\n\tpublic hideContent(event: MouseEvent | null) {\n\t\tclearTimeout(this._showDelayId as number);\n\t\tthis._hideDelayId = setTimeout(() => {\n\t\t\tconst newTarget = event?.relatedTarget as Node | null;\n\t\t\t// This is to prevent tooltip closing when user puts cursor on tooltip, thus leaving the origin trigger\n\t\t\tif (!newTarget || !(this.#overlayRef?.overlayElement?.contains(newTarget) || this.#elementRef?.nativeElement?.contains(newTarget))) {\n\t\t\t\t// Remove the tooltip if needed.\n\t\t\t\tif (this.#overlayRef) {\n\t\t\t\t\tthis.#overlayRef.dispose();\n\t\t\t\t\tdelete this._showDelayId;\n\t\t\t\t\tdelete this._hideDelayId;\n\t\t\t\t}\n\t\t\t}\n\t\t}, this.closeDelay);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.hideContent(null);\n\t}\n}\n","@let calloutIcon = state | luCalloutIcon: icon;\n\n<button\n\ttype=\"button\"\n\tclass=\"calloutPopover\"\n\t[class]=\"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@if (calloutIcon) {\n\t\t<lu-icon class=\"calloutPopover-icon\" [icon]=\"calloutIcon\" />\n\t}\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[class]=\"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@if (calloutIcon) {\n\t\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon\" [class]=\"calloutOverlayHeadClasses\" [icon]=\"calloutIcon\" />\n\t\t\t}\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 />\n\t\t</div>\n\t</div>\n</ng-template>\n","export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CALLOUT_TRANSLATIONS = new InjectionToken('LuCalloutTranslations', {\n\tfactory: () => luCalloutTranslations,\n});\n\nexport interface LuCalloutLabel {\n\tclose: string;\n}\n\nexport const luCalloutTranslations: LuTranslation<LuCalloutLabel> = Translations;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { getIntl, Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { CalloutIconPipe } from '../callout-icon.pipe';\nimport { CalloutState } from '../callout-state';\nimport { LU_CALLOUT_TRANSLATIONS } from '../callout.translate';\nimport { getCalloutPalette } from '../callout.utils';\n\n@Component({\n\tselector: 'lu-callout',\n\tstandalone: true,\n\timports: [PortalDirective, CalloutIconPipe],\n\ttemplateUrl: './callout.component.html',\n\tstyleUrls: ['./callout.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutComponent {\n\t@Input()\n\t/**\n\t * The title of the callout\n\t */\n\theading: PortalContent;\n\n\t@Input()\n\t/**\n\t * Which palette should be used for the entire callout.\n\t * Defaults to none (inherits parent palette)\n\t */\n\tpalette: Palette = 'none';\n\n\t@Input()\n\t/**\n\t * Which size should the callout be? Defaults to medium\n\t */\n\tsize: 'M' | 'S';\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Should we display the remove icon?\n\t */\n\tremovable = false;\n\n\t@Input()\n\t/**\n\t * Which icon should we display in the callout if any?\n\t * Defaults to no icon.\n\t */\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tstate: CalloutState;\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Is the callout removed? Works with two way binding too.\n\t */\n\tremoved = false;\n\n\t@HostBinding('attr.hidden')\n\tget hiddenAttr(): 'hidden' | null {\n\t\treturn this.removed ? 'hidden' : null;\n\t}\n\n\t@Output()\n\tremovedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n\tpublic intl = getIntl(LU_CALLOUT_TRANSLATIONS);\n\n\tget calloutClasses() {\n\t\tconst palette = getCalloutPalette(this.state, this.palette);\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${palette}`]: !!palette,\n\t\t};\n\t}\n}\n","@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{ calloutIcon }}\"></span>\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"callout-content\">\n\t\t\t@if (heading) {\n\t\t\t\t<strong class=\"callout-content-title\">\n\t\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t\t</strong>\n\t\t\t}\n\t\t\t<div class=\"callout-content-description\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t\t@if (removable) {\n\t\t\t<button type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t\t</button>\n\t\t}\n\t</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -55,6 +55,9 @@ class LuCoreSelectDepartmentsDirective extends ALuCoreSelectApiDirective {
55
55
  return opts.map((branch) => this.flattenTree(branch)).flat().length;
56
56
  }));
57
57
  this.optionKey = (option) => {
58
+ if (!option) {
59
+ return null;
60
+ }
58
61
  return 'node' in option ? option.node.id : option.id;
59
62
  };
60
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-core-select-department.mjs","sources":["../../../packages/ng/core-select/department/noop-tree-select.directive.ts","../../../packages/ng/core-select/department/departments.directive.ts","../../../packages/ng/core-select/department/lucca-front-ng-core-select-department.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[noopTreeSelect],lu-multi-select[noopTreeSelect]',\n\tstandalone: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class NoopTreeSelectDirective<T extends TreeNode<any>, V> implements TreeGenerator<T, T> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\tgroupingFnInput = input<TreeGroupingFn<T>>(() => null, { alias: 'noopTreeSelect' });\n\n\tgroupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): T[] {\n\t\treturn items;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { computed, Directive, forwardRef, inject, input, OnInit } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, TreeNode } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { combineLatest, map, Observable } from 'rxjs';\nimport { NoopTreeSelectDirective } from './noop-tree-select.directive';\nimport { ILuDepartment } from '@lucca-front/ng/department';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[departments],lu-multi-select[departments]',\n\tstandalone: true,\n\texportAs: 'luDepartments',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectDepartmentsDirective),\n\t\t},\n\t],\n\thostDirectives: [NoopTreeSelectDirective],\n})\nexport class LuCoreSelectDepartmentsDirective<T extends ILuDepartment = ILuDepartment> extends ALuCoreSelectApiDirective<TreeNode<T>> implements OnInit, CoreSelectApiTotalCountProvider {\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/departments/tree');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tpublic override ngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t}\n\n\tprotected override buildOptions(): Observable<TreeNode<T>[]> {\n\t\treturn combineLatest([super.buildOptions(), this.clue$]).pipe(\n\t\t\tmap(([data, clue]) => {\n\t\t\t\treturn this.trim(data, clue);\n\t\t\t}),\n\t\t);\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null): Observable<TreeNode<T>[]> {\n\t\treturn this.httpClient\n\t\t\t.get<TreeNode<T>>(this.url(), {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((data) => {\n\t\t\t\t\treturn data.children;\n\t\t\t\t}),\n\t\t\t);\n\t}\n\n\ttrim(options: TreeNode<T>[], clue: string): TreeNode<T>[] {\n\t\treturn options\n\t\t\t.map((option) => {\n\t\t\t\tif (option.node.name.toLowerCase().includes(clue.toLowerCase())) {\n\t\t\t\t\treturn { ...option };\n\t\t\t\t}\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\n\t\t\t\tif (trimmedChildren.length) {\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t})\n\t\t\t.filter((o) => !!o);\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\treturn {\n\t\t\t\t...this.filters(),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = this.select.options$.pipe(\n\t\tmap((opts) => {\n\t\t\treturn opts.map((branch) => this.flattenTree(branch)).flat().length;\n\t\t}),\n\t);\n\n\tprotected flattenTree(branch: TreeNode<T>): T[] {\n\t\tconst result: T[] = [branch.node];\n\t\tif (branch.children.length > 0) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected override optionKey = (option: TreeNode<T> | T) => {\n\t\treturn 'node' in option ? option.node.id : option.id;\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NoopTreeSelectDirective"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-core-select-department.mjs","sources":["../../../packages/ng/core-select/department/noop-tree-select.directive.ts","../../../packages/ng/core-select/department/departments.directive.ts","../../../packages/ng/core-select/department/lucca-front-ng-core-select-department.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[noopTreeSelect],lu-multi-select[noopTreeSelect]',\n\tstandalone: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class NoopTreeSelectDirective<T extends TreeNode<any>, V> implements TreeGenerator<T, T> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\tgroupingFnInput = input<TreeGroupingFn<T>>(() => null, { alias: 'noopTreeSelect' });\n\n\tgroupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): T[] {\n\t\treturn items;\n\t}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { computed, Directive, forwardRef, inject, input, OnInit } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectApiTotalCountProvider, TreeNode } from '@lucca-front/ng/core-select';\nimport { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';\nimport { combineLatest, map, Observable } from 'rxjs';\nimport { NoopTreeSelectDirective } from './noop-tree-select.directive';\nimport { ILuDepartment } from '@lucca-front/ng/department';\n\n@Directive({\n\t// The attribute is already prefixed with \"lu-simple-select\" / \"lu-multi-select\"\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[departments],lu-multi-select[departments]',\n\tstandalone: true,\n\texportAs: 'luDepartments',\n\tproviders: [\n\t\t{\n\t\t\tprovide: CORE_SELECT_API_TOTAL_COUNT_PROVIDER,\n\t\t\tuseExisting: forwardRef(() => LuCoreSelectDepartmentsDirective),\n\t\t},\n\t],\n\thostDirectives: [NoopTreeSelectDirective],\n})\nexport class LuCoreSelectDepartmentsDirective<T extends ILuDepartment = ILuDepartment> extends ALuCoreSelectApiDirective<TreeNode<T>> implements OnInit, CoreSelectApiTotalCountProvider {\n\tprotected httpClient = inject(HttpClient);\n\n\turl = input<string>('/organization/structure/api/departments/tree');\n\tfilters = input<Record<string, string | number | boolean> | null>(null);\n\toperationIds = input<readonly number[] | null>(null);\n\tuniqueOperationIds = input<readonly number[] | null>(null);\n\tappInstanceId = input<number | null>(null);\n\tsearchDelimiter = input<string>(' ');\n\n\tpublic override ngOnInit(): void {\n\t\tsuper.ngOnInit();\n\t}\n\n\tprotected override buildOptions(): Observable<TreeNode<T>[]> {\n\t\treturn combineLatest([super.buildOptions(), this.clue$]).pipe(\n\t\t\tmap(([data, clue]) => {\n\t\t\t\treturn this.trim(data, clue);\n\t\t\t}),\n\t\t);\n\t}\n\n\tprotected override getOptions(params: Record<string, string | number | boolean> | null): Observable<TreeNode<T>[]> {\n\t\treturn this.httpClient\n\t\t\t.get<TreeNode<T>>(this.url(), {\n\t\t\t\tparams,\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((data) => {\n\t\t\t\t\treturn data.children;\n\t\t\t\t}),\n\t\t\t);\n\t}\n\n\ttrim(options: TreeNode<T>[], clue: string): TreeNode<T>[] {\n\t\treturn options\n\t\t\t.map((option) => {\n\t\t\t\tif (option.node.name.toLowerCase().includes(clue.toLowerCase())) {\n\t\t\t\t\treturn { ...option };\n\t\t\t\t}\n\t\t\t\tconst trimmedChildren = option.children ? this.trim(option.children, clue) : [];\n\t\t\t\tif (trimmedChildren.length) {\n\t\t\t\t\treturn { ...option, children: trimmedChildren };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t})\n\t\t\t.filter((o) => !!o);\n\t}\n\n\tprotected override params$: Observable<Record<string, string | number | boolean>> = toObservable(\n\t\tcomputed(() => {\n\t\t\tconst operationIds = this.operationIds();\n\t\t\tconst uniqueOperationIds = this.uniqueOperationIds();\n\t\t\tconst appInstanceId = this.appInstanceId();\n\t\t\treturn {\n\t\t\t\t...this.filters(),\n\t\t\t\t...(operationIds ? { operations: operationIds.join(',') } : {}),\n\t\t\t\t...(uniqueOperationIds ? { uniqueOperations: uniqueOperationIds.join(',') } : {}),\n\t\t\t\t...(appInstanceId ? { appInstanceId } : {}),\n\t\t\t};\n\t\t}),\n\t);\n\n\tpublic totalCount$ = this.select.options$.pipe(\n\t\tmap((opts) => {\n\t\t\treturn opts.map((branch) => this.flattenTree(branch)).flat().length;\n\t\t}),\n\t);\n\n\tprotected flattenTree(branch: TreeNode<T>): T[] {\n\t\tconst result: T[] = [branch.node];\n\t\tif (branch.children.length > 0) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected override optionKey = (option: TreeNode<T> | T) => {\n\t\tif (!option) {\n\t\t\treturn null;\n\t\t}\n\t\treturn 'node' in option ? option.node.id : option.id;\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NoopTreeSelectDirective"],"mappings":"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"}