@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.
- package/app-layout/index.d.ts +1 -1
- package/box/index.d.ts +3 -3
- package/breadcrumbs/index.d.ts +3 -3
- package/button/index.d.ts +26 -21
- package/callout/index.d.ts +90 -86
- package/chip/index.d.ts +12 -3
- package/clear/index.d.ts +5 -2
- package/code/index.d.ts +5 -5
- package/comment/index.d.ts +11 -14
- package/core/index.d.ts +5 -5
- package/core-select/index.d.ts +6 -4
- package/core-select/user/index.d.ts +3 -2
- package/data-table/index.d.ts +3 -2
- package/dialog/index.d.ts +3 -3
- package/empty-state/index.d.ts +23 -26
- package/fancy-box/index.d.ts +11 -10
- package/fesm2022/lucca-front-ng-api.mjs +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +59 -90
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +151 -212
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +31 -5
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +22 -10
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-code.mjs +5 -5
- package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +15 -35
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -11
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +14 -20
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +3 -3
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +9 -4
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +6 -6
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +22 -25
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +27 -68
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +14 -28
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form.mjs +2 -2
- package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -17
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +101 -188
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-grid.mjs +20 -5
- package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +14 -19
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +15 -22
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +20 -28
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -8
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +6 -6
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +7 -11
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +40 -39
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +8 -17
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +16 -12
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +19 -29
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +3 -3
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +34 -44
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +31 -42
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +8 -18
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +55 -60
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +80 -107
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +45 -85
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +6 -6
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
- package/forms/index.d.ts +55 -62
- package/forms/phone-number-input/index.d.ts +13 -13
- package/grid/index.d.ts +9 -5
- package/icon/index.d.ts +10 -10
- package/inline-message/index.d.ts +9 -11
- package/link/index.d.ts +11 -13
- package/mobile-push/index.d.ts +5 -6
- package/new-badge/index.d.ts +2 -3
- package/numeric-badge/index.d.ts +14 -11
- package/package.json +27 -27
- package/plg-push/index.d.ts +6 -8
- package/read-more/index.d.ts +3 -1
- package/scroll/index.d.ts +20 -22
- package/skeleton/index.d.ts +27 -32
- package/tag/index.d.ts +17 -15
- package/time/index.d.ts +5 -5
- package/toast/index.d.ts +23 -25
- package/tooltip/index.d.ts +33 -41
- package/user/index.d.ts +17 -28
- 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,
|
|
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.
|
|
87
|
-
this.
|
|
88
|
-
this.
|
|
89
|
-
this.
|
|
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",
|
|
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
|
|
109
|
-
}]
|
|
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
|
|
159
|
-
|
|
160
|
-
this.#luClass
|
|
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: "
|
|
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
|
-
}],
|
|
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
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
|
243
|
+
clearTimeout(this.#hideDelayId);
|
|
230
244
|
// Don't open if we still have one opened
|
|
231
|
-
if (this
|
|
245
|
+
if (this.#showDelayId) {
|
|
232
246
|
return;
|
|
233
247
|
}
|
|
234
|
-
this
|
|
248
|
+
this.#showDelayId = setTimeout(() => {
|
|
235
249
|
this.createPanelContent();
|
|
236
|
-
|
|
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
|
|
265
|
-
this
|
|
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
|
-
|
|
273
|
-
|
|
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:
|
|
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],
|
|
302
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
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.
|