@lucca-front/ng 21.0.0-rc.1 → 21.0.0-rc.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.
Files changed (130) hide show
  1. package/app-layout/index.d.ts +1 -1
  2. package/box/index.d.ts +3 -3
  3. package/breadcrumbs/index.d.ts +3 -3
  4. package/button/index.d.ts +26 -21
  5. package/callout/index.d.ts +90 -86
  6. package/chip/index.d.ts +12 -3
  7. package/clear/index.d.ts +5 -2
  8. package/code/index.d.ts +5 -5
  9. package/comment/index.d.ts +11 -14
  10. package/core/index.d.ts +5 -5
  11. package/core-select/index.d.ts +6 -4
  12. package/core-select/user/index.d.ts +3 -2
  13. package/data-table/index.d.ts +3 -2
  14. package/dialog/index.d.ts +3 -3
  15. package/empty-state/index.d.ts +23 -26
  16. package/fancy-box/index.d.ts +11 -10
  17. package/fesm2022/lucca-front-ng-api.mjs +1 -1
  18. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-button.mjs +59 -90
  22. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-callout.mjs +151 -212
  24. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-chip.mjs +31 -5
  26. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-clear.mjs +22 -10
  28. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-code.mjs +5 -5
  30. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-comment.mjs +15 -35
  32. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
  34. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -11
  36. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core-select.mjs +14 -20
  38. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-core.mjs +3 -3
  40. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-data-table.mjs +9 -4
  42. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-date.mjs +1 -1
  44. package/fesm2022/lucca-front-ng-date2.mjs +6 -6
  45. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-department.mjs +1 -1
  47. package/fesm2022/lucca-front-ng-dialog.mjs +22 -25
  48. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-empty-state.mjs +27 -68
  50. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-establishment.mjs +1 -1
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +14 -28
  53. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
  55. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +2 -2
  57. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  58. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-form.mjs +2 -2
  60. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-formly.mjs +1 -1
  62. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -17
  63. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
  65. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-forms.mjs +101 -188
  67. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-grid.mjs +20 -5
  69. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-icon.mjs +14 -19
  71. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-inline-message.mjs +15 -22
  73. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-link.mjs +20 -28
  75. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -8
  77. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  79. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-multi-select.mjs +6 -6
  81. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-new-badge.mjs +7 -11
  83. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-numeric-badge.mjs +40 -39
  85. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-plg-push.mjs +8 -17
  87. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
  89. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-read-more.mjs +16 -12
  91. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-scroll.mjs +19 -29
  93. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-simple-select.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-skeleton.mjs +34 -44
  97. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -1
  99. package/fesm2022/lucca-front-ng-tag.mjs +31 -42
  100. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-time.mjs +8 -18
  102. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-toast.mjs +55 -60
  104. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-tooltip.mjs +80 -107
  106. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-user.mjs +45 -85
  108. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +6 -6
  110. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  111. package/forms/index.d.ts +55 -62
  112. package/forms/phone-number-input/index.d.ts +13 -13
  113. package/grid/index.d.ts +9 -5
  114. package/icon/index.d.ts +10 -10
  115. package/inline-message/index.d.ts +9 -11
  116. package/link/index.d.ts +11 -13
  117. package/mobile-push/index.d.ts +5 -6
  118. package/new-badge/index.d.ts +2 -3
  119. package/numeric-badge/index.d.ts +14 -11
  120. package/package.json +27 -27
  121. package/plg-push/index.d.ts +6 -8
  122. package/read-more/index.d.ts +3 -1
  123. package/scroll/index.d.ts +20 -22
  124. package/skeleton/index.d.ts +27 -32
  125. package/tag/index.d.ts +17 -15
  126. package/time/index.d.ts +5 -5
  127. package/toast/index.d.ts +23 -25
  128. package/tooltip/index.d.ts +33 -41
  129. package/user/index.d.ts +17 -28
  130. package/vertical-navigation/index.d.ts +16 -16
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component, Pipe, EventEmitter, Output, Input, Directive, inject, ViewContainerRef, ElementRef, contentChildren, numberAttribute, ViewChild, InjectionToken, HostBinding } from '@angular/core';
3
- import { PortalDirective, LuClass, getIntl } from '@lucca-front/ng/core';
2
+ import { input, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component, Pipe, computed, output, Directive, inject, ViewContainerRef, ElementRef, viewChild, numberAttribute, contentChildren, InjectionToken, linkedSignal } from '@angular/core';
3
+ import { PortalDirective, LuClass, ɵeffectWithDeps as _effectWithDeps, getIntl } from '@lucca-front/ng/core';
4
4
  import { IconComponent } from '@lucca-front/ng/icon';
5
- import { trigger, state, transition, style, animate } from '@angular/animations';
6
5
  import { Overlay } from '@angular/cdk/overlay';
7
6
  import { TemplatePortal } from '@angular/cdk/portal';
7
+ import { PopoverDirective } from '@lucca-front/ng/popover2';
8
8
 
9
9
  class CalloutActionsComponent {
10
10
  constructor() {
@@ -83,54 +83,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
83
83
 
84
84
  class CalloutDisclosureComponent {
85
85
  constructor() {
86
- this.palette = 'none';
87
- this.size = 'M';
88
- this.open = false;
89
- this.openChange = new EventEmitter();
86
+ this.heading = input.required();
87
+ this.icon = input();
88
+ this.palette = input('none');
89
+ this.size = input('M');
90
+ /**
91
+ * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on
92
+ * the provided state.
93
+ *
94
+ * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over
95
+ * state (so setting state to success and palette to warning will make the palette warning)
96
+ */
97
+ this.state = input();
98
+ this.open = input(false, { transform: booleanAttribute });
99
+ this.calloutPalette = computed(() => {
100
+ return getCalloutPalette(this.state(), this.palette());
101
+ });
102
+ this.calloutClasses = computed(() => {
103
+ const palette = this.calloutPalette();
104
+ return {
105
+ [`mod-${this.size()}`]: !!this.size(),
106
+ [`palette-${palette}`]: !!palette,
107
+ };
108
+ });
109
+ this.openChange = output();
90
110
  }
91
111
  onToggle(event) {
92
112
  if (event.target instanceof HTMLDetailsElement) {
93
113
  this.openChange.emit(event.target.open);
94
114
  }
95
115
  }
96
- get calloutClasses() {
97
- const palette = getCalloutPalette(this.state, this.palette);
98
- return {
99
- [`mod-${this.size}`]: !!this.size,
100
- [`palette-${palette}`]: !!palette,
101
- };
102
- }
103
116
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutDisclosureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
- 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\" />\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: ["@layer components{.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);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}}@layer mods{.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)}}@layer base{lu-callout-disclosure{display:block}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: CalloutDisclosureComponent, isStandalone: true, selector: "lu-callout-disclosure", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openChange: "openChange" }, ngImport: i0, template: "@let calloutIcon = state() | luCalloutIcon: icon();\n\n<details\n\tclass=\"calloutDisclosure\"\n\t[class]=\"calloutClasses()\"\n\t[class.mod-iconless]=\"!calloutIcon\"\n\t[open]=\"open()\"\n\t(toggle)=\"onToggle($event)\"\n>\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()\" />\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: ["@layer components{.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);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}}@layer mods{.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)}}@layer base{lu-callout-disclosure{display:block}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
105
118
  }
106
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutDisclosureComponent, decorators: [{
107
120
  type: Component,
108
- args: [{ selector: 'lu-callout-disclosure', imports: [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\" />\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: ["@layer components{.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);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}}@layer mods{.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)}}@layer base{lu-callout-disclosure{display:block}}\n"] }]
109
- }], propDecorators: { icon: [{
110
- type: Input
111
- }], heading: [{
112
- type: Input,
113
- args: [{ required: true }]
114
- }], palette: [{
115
- type: Input
116
- }], size: [{
117
- type: Input
118
- }],
119
- /**
120
- * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on
121
- * the provided state.
122
- *
123
- * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over
124
- * state (so setting state to success and palette to warning will make the palette warning)
125
- */
126
- state: [{
127
- type: Input
128
- }], open: [{
129
- type: Input,
130
- args: [{ transform: booleanAttribute }]
131
- }], openChange: [{
132
- type: Output
133
- }] } });
121
+ args: [{ selector: 'lu-callout-disclosure', imports: [IconComponent, PortalDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@let calloutIcon = state() | luCalloutIcon: icon();\n\n<details\n\tclass=\"calloutDisclosure\"\n\t[class]=\"calloutClasses()\"\n\t[class.mod-iconless]=\"!calloutIcon\"\n\t[open]=\"open()\"\n\t(toggle)=\"onToggle($event)\"\n>\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()\" />\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: ["@layer components{.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);box-shadow:0 -1px 0 0 var(--palettes-200, var(--palettes-neutral-200))}}@layer mods{.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)}}@layer base{lu-callout-disclosure{display:block}}\n"] }]
122
+ }] });
134
123
 
135
124
  class CalloutFeedbackItemDescriptionDirective {
136
125
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutFeedbackItemDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -155,37 +144,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
155
144
  }] });
156
145
 
157
146
  class CalloutFeedbackListComponent {
158
- #luClass = inject(LuClass);
159
- ngOnChanges() {
160
- this.#luClass.setState({ [`palette-${this.palette}`]: !!this.palette, [`mod-${this.size}`]: !!this.size });
147
+ #luClass;
148
+ constructor() {
149
+ this.#luClass = inject(LuClass);
150
+ this.palette = input();
151
+ this.size = input();
152
+ _effectWithDeps([this.palette, this.size], (palette, size) => {
153
+ this.#luClass.setState({ [`palette-${palette}`]: !!palette, [`mod-${size}`]: !!size });
154
+ });
161
155
  }
162
156
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutFeedbackListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: CalloutFeedbackListComponent, isStandalone: true, selector: "ul[lu-callout-feedback-list]", inputs: { palette: "palette", size: "size" }, host: { classAttribute: "calloutFeedbackList" }, providers: [LuClass], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.calloutFeedbackList{--components-calloutFeedbackList-font: var(--pr-t-font-body-M);--components-calloutFeedbackList-gap: var(--pr-t-spacings-150);--components-calloutFeedbackList-fontSize: var(--pr-t-font-body-M-fontSize);--components-calloutFeedbackList-lineHeight: var(--pr-t-font-body-M-lineHeight);margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;font:var(--components-calloutFeedbackList-font);font-size:var(--components-calloutFeedbackList-fontSize);line-height:var(--components-calloutFeedbackList-lineHeight);gap:var(--components-calloutFeedbackList-gap)}.calloutFeedbackList .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)}.calloutFeedbackList .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)}.calloutFeedbackList-item{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100)}.calloutFeedbackList-item-actions{display:inline-flex;gap:var(--pr-t-spacings-100)}.calloutFeedbackList-item-actions:empty{display:none}}@layer mods{.calloutFeedbackList.mod-S{--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)}.calloutFeedbackList.mod-S .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)}.calloutFeedbackList.mod-S .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)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
157
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: CalloutFeedbackListComponent, isStandalone: true, selector: "ul[lu-callout-feedback-list]", inputs: { palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "calloutFeedbackList" }, providers: [LuClass], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.calloutFeedbackList{--components-calloutFeedbackList-font: var(--pr-t-font-body-M);--components-calloutFeedbackList-gap: var(--pr-t-spacings-150);--components-calloutFeedbackList-fontSize: var(--pr-t-font-body-M-fontSize);--components-calloutFeedbackList-lineHeight: var(--pr-t-font-body-M-lineHeight);margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;font:var(--components-calloutFeedbackList-font);font-size:var(--components-calloutFeedbackList-fontSize);line-height:var(--components-calloutFeedbackList-lineHeight);gap:var(--components-calloutFeedbackList-gap)}.calloutFeedbackList .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)}.calloutFeedbackList .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)}.calloutFeedbackList-item{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100)}.calloutFeedbackList-item-actions{display:inline-flex;gap:var(--pr-t-spacings-100)}.calloutFeedbackList-item-actions:empty{display:none}}@layer mods{.calloutFeedbackList.mod-S{--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)}.calloutFeedbackList.mod-S .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)}.calloutFeedbackList.mod-S .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)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
164
158
  }
165
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutFeedbackListComponent, decorators: [{
166
160
  type: Component,
167
161
  args: [{ selector: 'ul[lu-callout-feedback-list]', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, host: {
168
162
  class: 'calloutFeedbackList',
169
163
  }, providers: [LuClass], encapsulation: ViewEncapsulation.None, styles: ["@layer components{.calloutFeedbackList{--components-calloutFeedbackList-font: var(--pr-t-font-body-M);--components-calloutFeedbackList-gap: var(--pr-t-spacings-150);--components-calloutFeedbackList-fontSize: var(--pr-t-font-body-M-fontSize);--components-calloutFeedbackList-lineHeight: var(--pr-t-font-body-M-lineHeight);margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;font:var(--components-calloutFeedbackList-font);font-size:var(--components-calloutFeedbackList-fontSize);line-height:var(--components-calloutFeedbackList-lineHeight);gap:var(--components-calloutFeedbackList-gap)}.calloutFeedbackList .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)}.calloutFeedbackList .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)}.calloutFeedbackList-item{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100)}.calloutFeedbackList-item-actions{display:inline-flex;gap:var(--pr-t-spacings-100)}.calloutFeedbackList-item-actions:empty{display:none}}@layer mods{.calloutFeedbackList.mod-S{--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)}.calloutFeedbackList.mod-S .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)}.calloutFeedbackList.mod-S .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)}}\n"] }]
170
- }], propDecorators: { palette: [{
171
- type: Input
172
- }], size: [{
173
- type: Input
174
- }] } });
164
+ }], ctorParameters: () => [] });
175
165
 
176
166
  class CalloutPopoverComponent {
177
167
  constructor() {
178
168
  this.#overlay = inject(Overlay);
179
169
  this.#viewContainerRef = inject(ViewContainerRef);
180
170
  this.#elementRef = inject(ElementRef);
171
+ this.overlayOrigin = viewChild('overlayOriginRef');
172
+ this.overlayContent = viewChild('overlayContentRef');
181
173
  /**
182
174
  * Debounce for the popover to open (mouse will have to be on the element fox openDelay milliseconds for popover to show)
183
175
  */
184
- this.openDelay = 50;
176
+ this.openDelay = input(50, { transform: numberAttribute });
185
177
  /**
186
178
  * Debounce for the popover to close (mouse will have to be out of both popover and trigger for closeDelay milliseconds for it to close)
187
179
  */
188
- this.closeDelay = 500;
180
+ this.closeDelay = input(500, { transform: numberAttribute });
181
+ /**
182
+ * Label (visual only) to put inside the button, often used to show just a number
183
+ */
184
+ this.buttonLabel = input();
189
185
  /**
190
186
  * Alternative for the button
191
187
  */
@@ -194,52 +190,70 @@ class CalloutPopoverComponent {
194
190
  /**
195
191
  * Palette for both the button and the popover content
196
192
  */
197
- this.palette = 'none';
193
+ this.palette = input('none');
194
+ /**
195
+ * Size for both button and popover content
196
+ */
197
+ this.size = input();
198
+ /**
199
+ * Icon shows in button and next to popover's title
200
+ */
201
+ this.icon = input();
202
+ /**
203
+ * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on
204
+ * the provided state.
205
+ *
206
+ * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over
207
+ * state (so setting state to success and palette to warning will make the palette warning)
208
+ */
209
+ this.state = input();
210
+ /**
211
+ * Heading for the details popover
212
+ */
213
+ this.heading = input();
198
214
  this.feedbackItems = contentChildren(CalloutFeedbackItemComponent, { descendants: true });
215
+ this.contentSize = computed(() => {
216
+ const size = this.size();
217
+ return size === 'XS' ? 'S' : size;
218
+ });
219
+ this.calloutOverlayClasses = computed(() => ({
220
+ [`mod-${this.contentSize()}`]: !!this.contentSize(),
221
+ }));
222
+ this.calloutPalette = computed(() => getCalloutPalette(this.state(), this.palette()));
223
+ this.calloutClasses = computed(() => {
224
+ const palette = this.calloutPalette();
225
+ return {
226
+ [`mod-${this.size()}`]: !!this.size(),
227
+ [`palette-${palette}`]: !!palette,
228
+ };
229
+ });
230
+ this.calloutOverlayHeadClasses = computed(() => ({
231
+ [`palette-${this.calloutPalette()}`]: !!this.calloutPalette(),
232
+ }));
199
233
  }
200
234
  #overlay;
201
235
  #viewContainerRef;
202
236
  #elementRef;
203
237
  #overlayRef;
204
- get contentSize() {
205
- if (this.size === 'XS') {
206
- return 'S';
207
- }
208
- return this.size;
209
- }
210
- get calloutClasses() {
211
- const palette = getCalloutPalette(this.state, this.palette);
212
- return {
213
- [`mod-${this.size}`]: !!this.size,
214
- [`palette-${palette}`]: !!palette,
215
- };
216
- }
217
- get calloutOverlayClasses() {
218
- return {
219
- [`mod-${this.contentSize}`]: !!this.contentSize,
220
- };
221
- }
222
- get calloutOverlayHeadClasses() {
223
- const palette = getCalloutPalette(this.state, this.palette);
224
- return {
225
- [`palette-${palette}`]: !!palette,
226
- };
227
- }
238
+ // Using unknown here because it's using Node types for whatever reason but it's a number
239
+ #hideDelayId;
240
+ // Using unknown here because it's using Node types for whatever reason but it's a number
241
+ #showDelayId;
228
242
  showContent() {
229
- clearTimeout(this._hideDelayId);
243
+ clearTimeout(this.#hideDelayId);
230
244
  // Don't open if we still have one opened
231
- if (this._showDelayId) {
245
+ if (this.#showDelayId) {
232
246
  return;
233
247
  }
234
- this._showDelayId = setTimeout(() => {
248
+ this.#showDelayId = setTimeout(() => {
235
249
  this.createPanelContent();
236
- delete this._hideDelayId;
237
- }, this.openDelay);
250
+ this.#hideDelayId = undefined;
251
+ }, this.openDelay());
238
252
  }
239
253
  createPanelContent() {
240
254
  const positionStrategy = this.#overlay
241
255
  .position()
242
- .flexibleConnectedTo(this.overlayOrigin)
256
+ .flexibleConnectedTo(this.overlayOrigin())
243
257
  .withPositions([
244
258
  {
245
259
  originX: 'center',
@@ -257,96 +271,34 @@ class CalloutPopoverComponent {
257
271
  this.#overlayRef = this.#overlay.create({
258
272
  positionStrategy,
259
273
  });
260
- const portal = new TemplatePortal(this.overlayContent, this.#viewContainerRef);
274
+ const portal = new TemplatePortal(this.overlayContent(), this.#viewContainerRef);
261
275
  this.#overlayRef.attach(portal);
262
276
  }
263
277
  hideContent(event) {
264
- clearTimeout(this._showDelayId);
265
- this._hideDelayId = setTimeout(() => {
278
+ clearTimeout(this.#showDelayId);
279
+ this.#hideDelayId = setTimeout(() => {
266
280
  const newTarget = event?.relatedTarget;
267
281
  // This is to prevent tooltip closing when user puts cursor on tooltip, thus leaving the origin trigger
268
282
  if (!newTarget || !(this.#overlayRef?.overlayElement?.contains(newTarget) || this.#elementRef?.nativeElement?.contains(newTarget))) {
269
283
  // Remove the tooltip if needed.
270
284
  if (this.#overlayRef) {
271
285
  this.#overlayRef.dispose();
272
- delete this._showDelayId;
273
- delete this._hideDelayId;
286
+ this.#showDelayId = undefined;
287
+ this.#hideDelayId = undefined;
274
288
  }
275
289
  }
276
- }, this.closeDelay);
290
+ }, this.closeDelay());
277
291
  }
278
292
  ngOnDestroy() {
279
293
  this.hideContent(null);
280
294
  }
281
295
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
282
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: CalloutPopoverComponent, isStandalone: true, selector: "lu-callout-popover", inputs: { openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: false, isRequired: false, transformFunction: numberAttribute }, buttonLabel: { classPropertyName: "buttonLabel", publicName: "buttonLabel", isSignal: false, isRequired: false, transformFunction: null }, buttonAlt: { classPropertyName: "buttonAlt", publicName: "buttonAlt", isSignal: true, isRequired: false, transformFunction: null }, headingHiddenIfSingleItem: { classPropertyName: "headingHiddenIfSingleItem", publicName: "headingHiddenIfSingleItem", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: false, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "feedbackItems", predicate: CalloutFeedbackItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOriginRef"], descendants: true }, { propertyName: "overlayContent", first: true, predicate: ["overlayContentRef"], descendants: true }], ngImport: i0, template: "@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<span class=\"calloutPopover-content\" aria-hidden=\"true\">{{ buttonLabel }}</span>\n\t<span class=\"pr-u-mask\">{{ buttonAlt() || buttonLabel }}</span>\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@if (calloutIcon) {\n\t\t\t<div class=\"pr-u-flexShrink0\">\n\t\t\t\t<lu-icon class=\"calloutPopover-overlay-icon\" [class]=\"calloutOverlayHeadClasses\" [icon]=\"calloutIcon\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"pr-u-flexGrow1\">\n\t\t\t@if (heading) {\n\t\t\t\t@if (!headingHiddenIfSingleItem() || feedbackItems().length !== 1) {\n\t\t\t\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t\t\t\t<ng-container *luPortal=\"heading\" />\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: ["@layer components{.calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-content:empty{display:none}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{inline-size:var(--components-calloutPopover-width);max-inline-size:100vw;display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{display:block;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding:0;margin:0;padding-block-end:var(--pr-t-spacings-100);margin-block-end:var(--pr-t-spacings-100);border-block-end:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover-overlay-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin-block-end:var(--pr-t-spacings-100)}:root{--components-calloutPopover-width: 30rem}}@layer mods{.calloutPopover.mod-S{font:var(--pr-t-font-body-S);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font:var(--pr-t-font-body-XS);padding-block:var(--pr-t-spacings-25);padding-inline:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--pr-t-border-radius-small)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}}@layer mods{.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-icon{display:none}}@layer base{lu-callout-popover{display:inline-flex}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], animations: [
283
- trigger('tooltip', [
284
- state('enter', style({
285
- opacity: 1,
286
- transform: `scale(1)`,
287
- })),
288
- transition('void => *', [
289
- style({
290
- opacity: 0,
291
- transform: `scale(0)`,
292
- }),
293
- animate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),
294
- ]),
295
- transition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),
296
- ]),
297
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
296
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: CalloutPopoverComponent, isStandalone: true, selector: "lu-callout-popover", inputs: { openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, buttonLabel: { classPropertyName: "buttonLabel", publicName: "buttonLabel", isSignal: true, isRequired: false, transformFunction: null }, buttonAlt: { classPropertyName: "buttonAlt", publicName: "buttonAlt", isSignal: true, isRequired: false, transformFunction: null }, headingHiddenIfSingleItem: { classPropertyName: "headingHiddenIfSingleItem", publicName: "headingHiddenIfSingleItem", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "feedbackItems", predicate: CalloutFeedbackItemComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOriginRef"], descendants: true, isSignal: true }, { propertyName: "overlayContent", first: true, predicate: ["overlayContentRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let calloutIcon = state() | luCalloutIcon: icon();\n\n<button type=\"button\" class=\"calloutPopover\" [class]=\"calloutClasses()\" #overlayOriginRef>\n\t@if (calloutIcon) {\n\t\t<lu-icon class=\"calloutPopover-icon\" [icon]=\"calloutIcon\" />\n\t}\n\t<span class=\"calloutPopover-content\" aria-hidden=\"true\">{{ buttonLabel() }}</span>\n\t<span class=\"pr-u-mask\">{{ buttonAlt() || buttonLabel() }}</span>\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@if (calloutIcon) {\n\t\t\t<div class=\"pr-u-flexShrink0\">\n\t\t\t\t<lu-icon class=\"calloutPopover-overlay-icon\" [class]=\"calloutOverlayHeadClasses()\" [icon]=\"calloutIcon\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"pr-u-flexGrow1\">\n\t\t\t@if (heading()) {\n\t\t\t\t@if (!headingHiddenIfSingleItem() || feedbackItems().length !== 1) {\n\t\t\t\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t\t\t\t<ng-container *luPortal=\"heading()\" />\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: ["@layer components{.calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-content:empty{display:none}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{inline-size:var(--components-calloutPopover-width);max-inline-size:100vw;display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{display:block;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding:0;margin:0;padding-block-end:var(--pr-t-spacings-100);margin-block-end:var(--pr-t-spacings-100);border-block-end:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover-overlay-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin-block-end:var(--pr-t-spacings-100)}:root{--components-calloutPopover-width: 30rem}}@layer mods{.calloutPopover.mod-S{font:var(--pr-t-font-body-S);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font:var(--pr-t-font-body-XS);padding-block:var(--pr-t-spacings-25);padding-inline:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--pr-t-border-radius-small)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}}@layer mods{.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-icon{display:none}}@layer base{lu-callout-popover{display:inline-flex}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
298
297
  }
299
298
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutPopoverComponent, decorators: [{
300
299
  type: Component,
301
- args: [{ selector: 'lu-callout-popover', imports: [IconComponent, PortalDirective, CalloutIconPipe], animations: [
302
- trigger('tooltip', [
303
- state('enter', style({
304
- opacity: 1,
305
- transform: `scale(1)`,
306
- })),
307
- transition('void => *', [
308
- style({
309
- opacity: 0,
310
- transform: `scale(0)`,
311
- }),
312
- animate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),
313
- ]),
314
- transition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),
315
- ]),
316
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@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<span class=\"calloutPopover-content\" aria-hidden=\"true\">{{ buttonLabel }}</span>\n\t<span class=\"pr-u-mask\">{{ buttonAlt() || buttonLabel }}</span>\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@if (calloutIcon) {\n\t\t\t<div class=\"pr-u-flexShrink0\">\n\t\t\t\t<lu-icon class=\"calloutPopover-overlay-icon\" [class]=\"calloutOverlayHeadClasses\" [icon]=\"calloutIcon\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"pr-u-flexGrow1\">\n\t\t\t@if (heading) {\n\t\t\t\t@if (!headingHiddenIfSingleItem() || feedbackItems().length !== 1) {\n\t\t\t\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t\t\t\t<ng-container *luPortal=\"heading\" />\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: ["@layer components{.calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-content:empty{display:none}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{inline-size:var(--components-calloutPopover-width);max-inline-size:100vw;display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{display:block;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding:0;margin:0;padding-block-end:var(--pr-t-spacings-100);margin-block-end:var(--pr-t-spacings-100);border-block-end:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover-overlay-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin-block-end:var(--pr-t-spacings-100)}:root{--components-calloutPopover-width: 30rem}}@layer mods{.calloutPopover.mod-S{font:var(--pr-t-font-body-S);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font:var(--pr-t-font-body-XS);padding-block:var(--pr-t-spacings-25);padding-inline:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--pr-t-border-radius-small)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}}@layer mods{.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-icon{display:none}}@layer base{lu-callout-popover{display:inline-flex}}\n"] }]
317
- }], propDecorators: { overlayOrigin: [{
318
- type: ViewChild,
319
- args: ['overlayOriginRef']
320
- }], overlayContent: [{
321
- type: ViewChild,
322
- args: ['overlayContentRef']
323
- }], openDelay: [{
324
- type: Input,
325
- args: [{ transform: numberAttribute }]
326
- }], closeDelay: [{
327
- type: Input,
328
- args: [{ transform: numberAttribute }]
329
- }], buttonLabel: [{
330
- type: Input
331
- }], palette: [{
332
- type: Input
333
- }], size: [{
334
- type: Input
335
- }], icon: [{
336
- type: Input
337
- }],
338
- /**
339
- * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on
340
- * the provided state.
341
- *
342
- * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over
343
- * state (so setting state to success and palette to warning will make the palette warning)
344
- */
345
- state: [{
346
- type: Input
347
- }], heading: [{
348
- type: Input
349
- }] } });
300
+ args: [{ selector: 'lu-callout-popover', imports: [IconComponent, PortalDirective, PopoverDirective, CalloutIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@let calloutIcon = state() | luCalloutIcon: icon();\n\n<button type=\"button\" class=\"calloutPopover\" [class]=\"calloutClasses()\" #overlayOriginRef>\n\t@if (calloutIcon) {\n\t\t<lu-icon class=\"calloutPopover-icon\" [icon]=\"calloutIcon\" />\n\t}\n\t<span class=\"calloutPopover-content\" aria-hidden=\"true\">{{ buttonLabel() }}</span>\n\t<span class=\"pr-u-mask\">{{ buttonAlt() || buttonLabel() }}</span>\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@if (calloutIcon) {\n\t\t\t<div class=\"pr-u-flexShrink0\">\n\t\t\t\t<lu-icon class=\"calloutPopover-overlay-icon\" [class]=\"calloutOverlayHeadClasses()\" [icon]=\"calloutIcon\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"pr-u-flexGrow1\">\n\t\t\t@if (heading()) {\n\t\t\t\t@if (!headingHiddenIfSingleItem() || feedbackItems().length !== 1) {\n\t\t\t\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t\t\t\t<ng-container *luPortal=\"heading()\" />\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t}\n\t\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t\t<ng-content />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</ng-template>\n", styles: ["@layer components{.calloutPopover{display:inline-flex;gap:var(--pr-t-spacings-75);align-items:center;padding:var(--pr-t-spacings-100);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-50, var(--palettes-neutral-50));border:0;box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));cursor:pointer}.calloutPopover:hover{background-color:var(--palettes-100, var(--palettes-neutral-100))}.calloutPopover:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.calloutPopover-content:empty{display:none}.calloutPopover-icon{color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay{inline-size:var(--components-calloutPopover-width);max-inline-size:100vw;display:flex;gap:var(--pr-t-spacings-100)}.calloutPopover-overlay-head-title{display:block;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding:0;margin:0;padding-block-end:var(--pr-t-spacings-100);margin-block-end:var(--pr-t-spacings-100);border-block-end:var(--commons-divider-width) solid var(--palettes-neutral-200)}.calloutPopover-overlay-icon{--icon-size: 1.5rem;color:var(--palettes-700, var(--palettes-neutral-700))}.calloutPopover-overlay-content{margin-block-end:var(--pr-t-spacings-100)}:root{--components-calloutPopover-width: 30rem}}@layer mods{.calloutPopover.mod-S{font:var(--pr-t-font-body-S);padding:var(--pr-t-spacings-75)}.calloutPopover.mod-S .calloutPopover-icon{--icon-size: 1.25rem}.calloutPopover.mod-XS{font:var(--pr-t-font-body-XS);padding-block:var(--pr-t-spacings-25);padding-inline:var(--pr-t-spacings-50);gap:var(--pr-t-spacings-50);border-radius:var(--pr-t-border-radius-small)}.calloutPopover.mod-XS .calloutPopover-icon{--icon-size: 1rem}}@layer mods{.calloutPopover-overlay.mod-S{--components-calloutPopover-width: 20rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-icon{--icon-size: 1.25rem}.calloutPopover-overlay.mod-S .calloutPopover-overlay-head-title{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.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)}.calloutPopover-overlay.mod-iconless .calloutPopover-overlay-icon{display:none}}@layer base{lu-callout-popover{display:inline-flex}}\n"] }]
301
+ }] });
350
302
 
351
303
  const Translations = {
352
304
  pt: {
@@ -382,86 +334,73 @@ const luCalloutTranslations = Translations;
382
334
 
383
335
  class CalloutComponent {
384
336
  constructor() {
385
- this.palette = 'none';
386
- this.removable = false;
387
- this.removed = false;
388
- this.removedChange = new EventEmitter();
389
- this.AI = input(false, { transform: booleanAttribute });
390
- this.iconAlt = input(null);
391
337
  this.intl = getIntl(LU_CALLOUT_TRANSLATIONS);
392
- }
393
- get hiddenAttr() {
394
- return this.removed ? 'hidden' : null;
395
- }
396
- get calloutClasses() {
397
- const palette = getCalloutPalette(this.state, this.palette);
398
- return {
399
- [`mod-${this.size}`]: !!this.size,
400
- [`palette-${palette}`]: !this.AI() && !!palette,
401
- };
402
- }
403
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
404
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: CalloutComponent, isStandalone: true, selector: "lu-callout", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: false, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, removable: { classPropertyName: "removable", publicName: "removable", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, removed: { classPropertyName: "removed", publicName: "removed", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, AI: { classPropertyName: "AI", publicName: "AI", isSignal: true, isRequired: false, transformFunction: null }, iconAlt: { classPropertyName: "iconAlt", publicName: "iconAlt", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removedChange: "removedChange" }, host: { properties: { "attr.hidden": "this.hiddenAttr" } }, ngImport: i0, template: "@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\" [class.mod-AI]=\"AI()\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<lu-icon [icon]=\"calloutIcon\" [alt]=\"iconAlt()\" />\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\" />\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\";@layer components{.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-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-callout-backgroundColor: var(--palettes-50, var(--palettes-neutral-50));--components-callout-content-description-display: block;--components-callout-content-description-action-marginBlockStart: var(--pr-t-spacings-50);--components-callout-content-description-action-paddingBlock: var(--pr-t-spacings-50);--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(--components-callout-backgroundColor);color:var(--pr-t-color-text);box-shadow:var(--components-callout-boxShadow);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:var(--pr-t-font-fontWeight-semibold)}.callout-content-description{display:var(--components-callout-content-description-display);justify-content:space-between;gap:var(--pr-t-spacings-150);align-items:flex-start}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-block-start:var(--components-callout-content-description-action-marginBlockStart);padding-block:var(--components-callout-content-description-action-paddingBlock);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:var(--pr-t-font-fontWeight-regular);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)}}@layer mods{.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)}}.callout.mod-AI{--components-callout-boxShadow: var(--pr-t-elevation-shadow-button);--components-callout-backgroundColor: var(--pr-t-elevation-surface-raised)}.callout.mod-AI:before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.callout.mod-AI .callout-icon .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.callout:has(.callout-content-description-actions.mod-inline){--components-callout-content-description-display: flex;--components-callout-content-description-action-marginBlockStart: 0;--components-callout-content-description-action-paddingBlock: 0}.callout:has(.callout-content-description-actions.mod-inline) .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:has(.callout-content-description-actions.mod-inline) .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)}.callout:has(.callout-content-description-actions.mod-inline) .button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-50)}@layer base{lu-callout{display:block}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
405
- }
406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutComponent, decorators: [{
407
- type: Component,
408
- args: [{ selector: 'lu-callout', imports: [PortalDirective, CalloutIconPipe, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (!removed) {\n\t<div class=\"callout\" [class]=\"calloutClasses\" [class.mod-AI]=\"AI()\">\n\t\t@if (state | luCalloutIcon: icon; as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<lu-icon [icon]=\"calloutIcon\" [alt]=\"iconAlt()\" />\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\" />\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\";@layer components{.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-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-callout-backgroundColor: var(--palettes-50, var(--palettes-neutral-50));--components-callout-content-description-display: block;--components-callout-content-description-action-marginBlockStart: var(--pr-t-spacings-50);--components-callout-content-description-action-paddingBlock: var(--pr-t-spacings-50);--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(--components-callout-backgroundColor);color:var(--pr-t-color-text);box-shadow:var(--components-callout-boxShadow);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:var(--pr-t-font-fontWeight-semibold)}.callout-content-description{display:var(--components-callout-content-description-display);justify-content:space-between;gap:var(--pr-t-spacings-150);align-items:flex-start}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-block-start:var(--components-callout-content-description-action-marginBlockStart);padding-block:var(--components-callout-content-description-action-paddingBlock);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:var(--pr-t-font-fontWeight-regular);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)}}@layer mods{.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)}}.callout.mod-AI{--components-callout-boxShadow: var(--pr-t-elevation-shadow-button);--components-callout-backgroundColor: var(--pr-t-elevation-surface-raised)}.callout.mod-AI:before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.callout.mod-AI .callout-icon .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.callout:has(.callout-content-description-actions.mod-inline){--components-callout-content-description-display: flex;--components-callout-content-description-action-marginBlockStart: 0;--components-callout-content-description-action-paddingBlock: 0}.callout:has(.callout-content-description-actions.mod-inline) .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:has(.callout-content-description-actions.mod-inline) .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)}.callout:has(.callout-content-description-actions.mod-inline) .button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-50)}@layer base{lu-callout{display:block}}\n"] }]
409
- }], propDecorators: {
410
338
  /**
411
339
  * The title of the callout
412
340
  */
413
- heading: [{
414
- type: Input
415
- }],
341
+ this.heading = input();
416
342
  /**
417
343
  * Which palette should be used for the entire callout.
418
344
  * Defaults to none (inherits parent palette)
419
345
  */
420
- palette: [{
421
- type: Input
422
- }],
346
+ this.palette = input('none');
423
347
  /**
424
348
  * Which size should the callout be? Defaults to medium
425
349
  */
426
- size: [{
427
- type: Input
428
- }],
350
+ this.size = input();
429
351
  /**
430
- * Should we display the remove icon?
352
+ * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on
353
+ * the provided state.
354
+ *
355
+ * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over
356
+ * state (so setting state to success and palette to warning will make the palette warning)
431
357
  */
432
- removable: [{
433
- type: Input,
434
- args: [{ transform: booleanAttribute }]
435
- }],
358
+ this.state = input();
436
359
  /**
437
360
  * Which icon should we display in the callout if any?
438
361
  * Defaults to no icon.
439
362
  */
440
- icon: [{
441
- type: Input
442
- }],
363
+ this.icon = input();
443
364
  /**
444
- * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on
445
- * the provided state.
446
- *
447
- * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over
448
- * state (so setting state to success and palette to warning will make the palette warning)
365
+ * Should we display the remove icon?
449
366
  */
450
- state: [{
451
- type: Input
452
- }],
367
+ this.removable = input(false, { transform: booleanAttribute });
453
368
  /**
454
369
  * Is the callout removed? Works with two way binding too.
455
370
  */
456
- removed: [{
457
- type: Input,
458
- args: [{ transform: booleanAttribute }]
459
- }], hiddenAttr: [{
460
- type: HostBinding,
461
- args: ['attr.hidden']
462
- }], removedChange: [{
463
- type: Output
464
- }] } });
371
+ this.removed = input(false, { transform: booleanAttribute });
372
+ /**
373
+ * Defines the icon’s alt attribute used for accessibility
374
+ */
375
+ this.iconAlt = input(null);
376
+ /**
377
+ * Displayed in AI mode
378
+ */
379
+ this.AI = input(false, { transform: booleanAttribute });
380
+ /**
381
+ * Emit event when button removed is click
382
+ */
383
+ this.removedChange = output();
384
+ this.removedRef = linkedSignal(() => this.removed());
385
+ this.calloutClasses = computed(() => {
386
+ const palette = getCalloutPalette(this.state(), this.palette());
387
+ const size = this.size();
388
+ const AI = this.AI();
389
+ return {
390
+ [`mod-${size}`]: !!size,
391
+ [`palette-${palette}`]: !AI && !!palette,
392
+ };
393
+ });
394
+ }
395
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
396
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: CalloutComponent, isStandalone: true, selector: "lu-callout", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, removable: { classPropertyName: "removable", publicName: "removable", isSignal: true, isRequired: false, transformFunction: null }, removed: { classPropertyName: "removed", publicName: "removed", isSignal: true, isRequired: false, transformFunction: null }, iconAlt: { classPropertyName: "iconAlt", publicName: "iconAlt", isSignal: true, isRequired: false, transformFunction: null }, AI: { classPropertyName: "AI", publicName: "AI", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removedChange: "removedChange" }, host: { properties: { "attr.hidden": "removed() ? \"hidden\" : null" } }, ngImport: i0, template: "@if (!removedRef()) {\n\t<div class=\"callout\" [class]=\"calloutClasses()\" [class.mod-AI]=\"AI()\">\n\t\t@if (state() | luCalloutIcon: icon(); as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<lu-icon [icon]=\"calloutIcon\" [alt]=\"iconAlt()\" />\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()\" />\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)=\"removedRef.set(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\";@layer components{.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-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-callout-backgroundColor: var(--palettes-50, var(--palettes-neutral-50));--components-callout-content-description-display: block;--components-callout-content-description-action-marginBlockStart: var(--pr-t-spacings-50);--components-callout-content-description-action-paddingBlock: var(--pr-t-spacings-50);--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(--components-callout-backgroundColor);color:var(--pr-t-color-text);box-shadow:var(--components-callout-boxShadow);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:var(--pr-t-font-fontWeight-semibold)}.callout-content-description{display:var(--components-callout-content-description-display);justify-content:space-between;gap:var(--pr-t-spacings-150);align-items:flex-start}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-block-start:var(--components-callout-content-description-action-marginBlockStart);padding-block:var(--components-callout-content-description-action-paddingBlock);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:var(--pr-t-font-fontWeight-regular);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)}}@layer mods{.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)}}.callout.mod-AI{--components-callout-boxShadow: var(--pr-t-elevation-shadow-button);--components-callout-backgroundColor: var(--pr-t-elevation-surface-raised)}.callout.mod-AI:before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.callout.mod-AI .callout-icon .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.callout:has(.callout-content-description-actions.mod-inline){--components-callout-content-description-display: flex;--components-callout-content-description-action-marginBlockStart: 0;--components-callout-content-description-action-paddingBlock: 0}.callout:has(.callout-content-description-actions.mod-inline) .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:has(.callout-content-description-actions.mod-inline) .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)}.callout:has(.callout-content-description-actions.mod-inline) .button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-50)}@layer base{lu-callout{display:block}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: CalloutIconPipe, name: "luCalloutIcon" }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
397
+ }
398
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CalloutComponent, decorators: [{
399
+ type: Component,
400
+ args: [{ selector: 'lu-callout', imports: [PortalDirective, CalloutIconPipe, IconComponent], host: {
401
+ '[attr.hidden]': 'removed() ? "hidden" : null',
402
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (!removedRef()) {\n\t<div class=\"callout\" [class]=\"calloutClasses()\" [class.mod-AI]=\"AI()\">\n\t\t@if (state() | luCalloutIcon: icon(); as calloutIcon) {\n\t\t\t<div class=\"callout-icon\">\n\t\t\t\t<lu-icon [icon]=\"calloutIcon\" [alt]=\"iconAlt()\" />\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()\" />\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)=\"removedRef.set(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\";@layer components{.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-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-callout-backgroundColor: var(--palettes-50, var(--palettes-neutral-50));--components-callout-content-description-display: block;--components-callout-content-description-action-marginBlockStart: var(--pr-t-spacings-50);--components-callout-content-description-action-paddingBlock: var(--pr-t-spacings-50);--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(--components-callout-backgroundColor);color:var(--pr-t-color-text);box-shadow:var(--components-callout-boxShadow);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:var(--pr-t-font-fontWeight-semibold)}.callout-content-description{display:var(--components-callout-content-description-display);justify-content:space-between;gap:var(--pr-t-spacings-150);align-items:flex-start}.callout-content-description-actions{display:flex;gap:var(--pr-t-spacings-75);margin-block-start:var(--components-callout-content-description-action-marginBlockStart);padding-block:var(--components-callout-content-description-action-paddingBlock);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:var(--pr-t-font-fontWeight-regular);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)}}@layer mods{.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)}}.callout.mod-AI{--components-callout-boxShadow: var(--pr-t-elevation-shadow-button);--components-callout-backgroundColor: var(--pr-t-elevation-surface-raised)}.callout.mod-AI:before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.callout.mod-AI .callout-icon .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.callout:has(.callout-content-description-actions.mod-inline){--components-callout-content-description-display: flex;--components-callout-content-description-action-marginBlockStart: 0;--components-callout-content-description-action-paddingBlock: 0}.callout:has(.callout-content-description-actions.mod-inline) .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:has(.callout-content-description-actions.mod-inline) .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)}.callout:has(.callout-content-description-actions.mod-inline) .button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-50)}@layer base{lu-callout{display:block}}\n"] }]
403
+ }] });
465
404
 
466
405
  /**
467
406
  * Generated bundle index. Do not edit.