@lucca-front/ng 21.0.0-rc.3 → 21.0.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/app-layout/index.d.ts +1 -1
  2. package/box/index.d.ts +3 -3
  3. package/breadcrumbs/index.d.ts +3 -3
  4. package/button/index.d.ts +21 -26
  5. package/callout/index.d.ts +58 -73
  6. package/chip/index.d.ts +1 -1
  7. package/code/index.d.ts +1 -1
  8. package/comment/index.d.ts +14 -11
  9. package/core/index.d.ts +5 -5
  10. package/core-select/index.d.ts +4 -6
  11. package/core-select/user/index.d.ts +2 -3
  12. package/data-table/index.d.ts +2 -1
  13. package/dialog/index.d.ts +3 -3
  14. package/empty-state/index.d.ts +26 -23
  15. package/fancy-box/index.d.ts +10 -11
  16. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-button.mjs +90 -59
  20. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-callout.mjs +131 -165
  22. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  24. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-comment.mjs +35 -15
  26. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
  28. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-user.mjs +11 -14
  30. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core-select.mjs +20 -14
  32. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core.mjs +3 -3
  34. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-data-table.mjs +5 -3
  36. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-dialog.mjs +25 -22
  38. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-empty-state.mjs +68 -27
  40. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-fancy-box.mjs +28 -14
  42. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
  44. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +17 -15
  46. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +2 -2
  48. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-forms.mjs +184 -96
  50. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-icon.mjs +19 -14
  52. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-inline-message.mjs +22 -15
  54. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-link.mjs +28 -20
  56. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-mobile-push.mjs +8 -4
  58. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  60. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-multi-select.mjs +1 -1
  62. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-new-badge.mjs +11 -7
  64. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-numeric-badge.mjs +39 -40
  66. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
  68. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-plg-push.mjs +17 -8
  70. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-scroll.mjs +29 -19
  72. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-simple-select.mjs +1 -1
  74. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-skeleton.mjs +44 -34
  76. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-tag.mjs +42 -31
  78. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-time.mjs +18 -8
  80. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-toast.mjs +60 -55
  82. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-tooltip.mjs +107 -80
  84. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-user.mjs +84 -44
  86. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +6 -6
  88. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  89. package/forms/index.d.ts +61 -53
  90. package/forms/phone-number-input/index.d.ts +13 -13
  91. package/icon/index.d.ts +10 -10
  92. package/inline-message/index.d.ts +11 -9
  93. package/link/index.d.ts +13 -11
  94. package/mobile-push/index.d.ts +6 -5
  95. package/new-badge/index.d.ts +3 -2
  96. package/numeric-badge/index.d.ts +11 -14
  97. package/package.json +31 -31
  98. package/plg-push/index.d.ts +8 -6
  99. package/scroll/index.d.ts +22 -20
  100. package/skeleton/index.d.ts +32 -27
  101. package/tag/index.d.ts +15 -17
  102. package/time/index.d.ts +5 -5
  103. package/toast/index.d.ts +25 -23
  104. package/tooltip/index.d.ts +41 -33
  105. package/user/index.d.ts +28 -17
  106. package/vertical-navigation/index.d.ts +16 -16
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Pipe, NgModule, input, booleanAttribute, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, effect, Injectable, forwardRef, Inject, Optional, SkipSelf, Self, Input, Directive, ElementRef, Output, ViewChild, HostBinding } from '@angular/core';
3
- import { ɵeffectWithDeps as _effectWithDeps, LuClass, ALuOnOpenSubscriber, getIntl, ALuOnCloseSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';
2
+ import { InjectionToken, inject, Pipe, NgModule, input, booleanAttribute, computed, Input, Optional, ViewEncapsulation, ChangeDetectionStrategy, Component, ChangeDetectorRef, effect, Injectable, forwardRef, Inject, SkipSelf, Self, Directive, ElementRef, Output, ViewChild, HostBinding } from '@angular/core';
3
+ import { LuClass, ALuOnOpenSubscriber, getIntl, ALuOnCloseSubscriber, ALuOnScrollBottomSubscriber } from '@lucca-front/ng/core';
4
4
  import { NgStyle, AsyncPipe } from '@angular/common';
5
+ import { IconComponent } from '@lucca-front/ng/icon';
5
6
  import * as i1$1 from '@angular/cdk/overlay';
6
7
  import { OverlayModule } from '@angular/cdk/overlay';
7
8
  import * as i1 from '@angular/forms';
@@ -151,33 +152,37 @@ class LuUserPictureComponent {
151
152
  * User Display format.
152
153
  * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default
153
154
  */
154
- this.displayFormat = input(displayPictureFormatRecord[inject(LU_DEFAULT_DISPLAY_POLICY)]);
155
- this.user = input();
156
- this.AI = input(false, { transform: booleanAttribute });
157
- this.size = input('M');
155
+ this.displayFormat = displayPictureFormatRecord[inject(LU_DEFAULT_DISPLAY_POLICY)];
158
156
  /**
159
157
  * Image loading attribute
160
158
  * It is set to 'lazy' by default
161
159
  *
162
160
  * (more info: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#loading)
163
161
  */
164
- this.imageLoadingAttribute = input('lazy');
165
- this.initials = computed(() => luUserDisplay(this.user(), this.displayFormat()));
166
- this.modSize = computed(() => `mod-${this.size()}`);
162
+ this.imageLoadingAttribute = 'lazy';
163
+ this.AI = input(false, { transform: booleanAttribute });
164
+ this.size = input('M');
165
+ this.initials = '';
167
166
  this.hasPicture = false;
168
167
  this.pictureHref = '';
169
168
  this.style = {};
170
- _effectWithDeps([this.user], (user) => {
171
- if (user) {
172
- const pictureHref = user?.picture?.href || user?.pictureHref;
173
- this.hasPicture = !!pictureHref;
174
- this.pictureHref = pictureHref;
175
- if (!this.hasPicture) {
176
- const hsl = this.getNameHue();
177
- this.style = { 'background-color': `hsl(${hsl}, 60%, 60%)` };
178
- }
179
- }
180
- });
169
+ this.modSize = computed(() => `mod-${this.size()}`);
170
+ }
171
+ set user(user) {
172
+ this._user = user;
173
+ const pictureHref = user?.picture?.href || user?.pictureHref;
174
+ this.hasPicture = !!pictureHref;
175
+ this.pictureHref = pictureHref;
176
+ if (!this.hasPicture) {
177
+ const hsl = this.getNameHue();
178
+ this.style = { 'background-color': `hsl(${hsl}, 60%, 60%)` };
179
+ }
180
+ }
181
+ get user() {
182
+ return this._user;
183
+ }
184
+ ngOnChanges() {
185
+ this.initials = luUserDisplay(this.user, this.displayFormat);
181
186
  }
182
187
  pictureError() {
183
188
  this.hasPicture = false;
@@ -186,18 +191,18 @@ class LuUserPictureComponent {
186
191
  }
187
192
  getNameHue() {
188
193
  // we sum the chars in user's firstname + lastname
189
- const charSum = luUserDisplay(this.user(), LuDisplayFullname.firstlast)
194
+ const charSum = luUserDisplay(this._user, LuDisplayFullname.firstlast)
190
195
  .split('')
191
196
  .reduce((sum, a) => sum + a.charCodeAt(0), 0);
192
197
  // and take a modulo 360 for hue
193
198
  return charSum % 360;
194
199
  }
195
200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPictureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
196
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuUserPictureComponent, isStandalone: true, selector: "lu-user-picture", inputs: { displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, AI: { classPropertyName: "AI", publicName: "AI", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, imageLoadingAttribute: { classPropertyName: "imageLoadingAttribute", publicName: "imageLoadingAttribute", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-AI": "AI()", "class.mod-XS": "size() === \"XS\"", "class.mod-S": "size() === \"S\"", "class.mod-M": "size() === \"M\"", "class.mod-L": "size() === \"L\"", "class.mod-XL": "size() === \"XL\"", "class.mod-XXL": "size() === \"XXL\"", "class.mod-XXXL": "size() === \"XXXL\"" }, classAttribute: "avatar" }, ngImport: i0, template: "@if (hasPicture) {\n\t<img class=\"avatar-picture\" [src]=\"pictureHref\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute()\" />\n} @else {\n\t<div class=\"avatar-picture\" [ngStyle]=\"!AI() && style\">\n\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials() }}</span>\n\t</div>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";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;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{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;--icon-content: \"\\e9f5\";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(--components-avatar-AI-size)}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuUserPictureComponent, isStandalone: true, selector: "lu-user-picture", inputs: { displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: false, isRequired: false, transformFunction: null }, imageLoadingAttribute: { classPropertyName: "imageLoadingAttribute", publicName: "imageLoadingAttribute", isSignal: false, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: false, isRequired: false, transformFunction: null }, AI: { classPropertyName: "AI", publicName: "AI", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-AI": "AI()", "class.mod-XS": "size() === \"XS\"", "class.mod-S": "size() === \"S\"", "class.mod-M": "size() === \"M\"", "class.mod-L": "size() === \"L\"", "class.mod-XL": "size() === \"XL\"", "class.mod-XXL": "size() === \"XXL\"", "class.mod-XXXL": "size() === \"XXXL\"" }, classAttribute: "avatar" }, usesOnChanges: true, ngImport: i0, template: "@if (hasPicture) {\n\t<img class=\"avatar-picture\" [src]=\"pictureHref\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute\" />\n} @else {\n\t<div class=\"avatar-picture\" [ngStyle]=\"!AI() && style\">\n\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials }}</span>\n\t</div>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";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;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{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;--icon-content: \"\\e9f5\";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(--components-avatar-AI-size)}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
197
202
  }
198
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPictureComponent, decorators: [{
199
204
  type: Component,
200
- args: [{ selector: 'lu-user-picture', imports: [NgStyle], host: {
205
+ args: [{ selector: 'lu-user-picture', imports: [NgStyle, IconComponent], host: {
201
206
  class: 'avatar',
202
207
  '[class.mod-AI]': 'AI()',
203
208
  '[class.mod-XS]': 'size() === "XS"',
@@ -207,8 +212,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
207
212
  '[class.mod-XL]': 'size() === "XL"',
208
213
  '[class.mod-XXL]': 'size() === "XXL"',
209
214
  '[class.mod-XXXL]': 'size() === "XXXL"',
210
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (hasPicture) {\n\t<img class=\"avatar-picture\" [src]=\"pictureHref\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute()\" />\n} @else {\n\t<div class=\"avatar-picture\" [ngStyle]=\"!AI() && style\">\n\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials() }}</span>\n\t</div>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";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;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{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;--icon-content: \"\\e9f5\";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(--components-avatar-AI-size)}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}\n"] }]
211
- }], ctorParameters: () => [] });
215
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (hasPicture) {\n\t<img class=\"avatar-picture\" [src]=\"pictureHref\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute\" />\n} @else {\n\t<div class=\"avatar-picture\" [ngStyle]=\"!AI() && style\">\n\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials }}</span>\n\t</div>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";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;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{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;--icon-content: \"\\e9f5\";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(--components-avatar-AI-size)}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}\n"] }]
216
+ }], propDecorators: { displayFormat: [{
217
+ type: Input
218
+ }, {
219
+ type: Optional
220
+ }], imageLoadingAttribute: [{
221
+ type: Input
222
+ }], user: [{
223
+ type: Input
224
+ }] } });
212
225
 
213
226
  /**
214
227
  * Displays user picture and name. LuUserTileUserInput's role can be specified, and the footer is customizable.
@@ -216,27 +229,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
216
229
  class LuUserTileComponent {
217
230
  #luClass;
218
231
  #defaultFormat;
232
+ #changeDetector;
233
+ /**
234
+ * LuUserTileUserInput to display.
235
+ */
236
+ set user(user) {
237
+ this._user = user;
238
+ this.#changeDetector.markForCheck();
239
+ }
240
+ get user() {
241
+ return this._user;
242
+ }
243
+ /**
244
+ * User Display format.
245
+ * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default
246
+ */
247
+ set displayFormat(displayFormat) {
248
+ this._displayFormat = displayFormat;
249
+ this.displayPictureFormat = displayPictureFormatRecord[displayFormat];
250
+ this.#changeDetector.markForCheck();
251
+ }
252
+ get displayFormat() {
253
+ return this._displayFormat;
254
+ }
255
+ /**
256
+ * LuUserTileUserInput role to display
257
+ */
258
+ set role(role) {
259
+ this._role = role;
260
+ this.#changeDetector.markForCheck();
261
+ }
262
+ get role() {
263
+ return this._role;
264
+ }
219
265
  constructor() {
220
266
  this.#luClass = inject(LuClass);
221
267
  this.#defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);
222
- /**
223
- * LuUserTileUserInput to display.
224
- */
225
- this.user = input();
226
- /**
227
- * User Display format.
228
- * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default
229
- */
230
- this.displayFormat = input();
231
- /**
232
- * LuUserTileUserInput role to display
233
- */
234
- this.role = input();
268
+ this.#changeDetector = inject(ChangeDetectorRef);
269
+ this.displayPictureFormat = displayPictureFormatRecord[this.#defaultFormat];
235
270
  /**
236
271
  * Which size should the user tile be? Defaults to medium
237
272
  */
238
273
  this.size = input();
239
- this.displayPictureFormat = computed(() => (this.displayFormat() ? displayPictureFormatRecord[this.displayFormat()] : displayPictureFormatRecord[this.#defaultFormat]));
240
274
  effect(() => {
241
275
  this.#luClass.setState({
242
276
  [`mod-${this.size()}`]: !!this.size(),
@@ -244,12 +278,18 @@ class LuUserTileComponent {
244
278
  });
245
279
  }
246
280
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
247
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuUserTileComponent, isStandalone: true, selector: "lu-user-tile", inputs: { user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "userTile" }, providers: [LuClass], ngImport: i0, template: "<lu-user-picture [user]=\"user()\" [displayFormat]=\"displayPictureFormat()\" />\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\" translate=\"no\">{{ user() | luUserDisplay: displayFormat() }}</div>\n\t@if (role() || user()?.jobTitle) {\n\t\t<div class=\"userTile-content-info\">{{ role() ? role() : user()?.jobTitle }}</div>\n\t}\n\t<div class=\"userTile-content-slotBottom\">\n\t\t<ng-content />\n\t</div>\n</div>\n", styles: ["@layer components{.userTile{--components-userTile-title-fontSize: var(--pr-t-font-body-M-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-gap: var(--pr-t-spacings-150);display:flex;align-items:center;gap:var(--components-userTile-gap);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content{display:flex;flex-direction:column;margin:0}.userTile-content-name{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--pr-t-color-text);margin:0}.userTile-content-info{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.userTile-content-slotBottom{font:var(--pr-t-font-body-S)}.userTile-content-slotBottom:empty{display:none}}@layer mods{.userTile.mod-XS{--components-userTile-gap: var(--pr-t-spacings-100);--components-userTile-title-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-XS-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S{--components-userTile-gap: var(--pr-t-spacings-100)}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}}\n"], dependencies: [{ kind: "pipe", type: LuUserDisplayPipe, name: "luUserDisplay" }, { kind: "component", type: LuUserPictureComponent, selector: "lu-user-picture", inputs: ["displayFormat", "user", "AI", "size", "imageLoadingAttribute"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
281
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuUserTileComponent, isStandalone: true, selector: "lu-user-tile", inputs: { user: { classPropertyName: "user", publicName: "user", isSignal: false, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: false, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "userTile" }, providers: [LuClass], ngImport: i0, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\" />\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\" translate=\"no\">{{ user | luUserDisplay: displayFormat }}</div>\n\t@if (role || user?.jobTitle) {\n\t\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t}\n\t<div class=\"userTile-content-slotBottom\">\n\t\t<ng-content />\n\t</div>\n</div>\n", styles: ["@layer components{.userTile{--components-userTile-title-fontSize: var(--pr-t-font-body-M-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-gap: var(--pr-t-spacings-150);display:flex;align-items:center;gap:var(--components-userTile-gap);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content{display:flex;flex-direction:column;margin:0}.userTile-content-name{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--pr-t-color-text);margin:0}.userTile-content-info{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.userTile-content-slotBottom{font:var(--pr-t-font-body-S)}.userTile-content-slotBottom:empty{display:none}}@layer mods{.userTile.mod-XS{--components-userTile-gap: var(--pr-t-spacings-100);--components-userTile-title-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-XS-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S{--components-userTile-gap: var(--pr-t-spacings-100)}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}}\n"], dependencies: [{ kind: "pipe", type: LuUserDisplayPipe, name: "luUserDisplay" }, { kind: "component", type: LuUserPictureComponent, selector: "lu-user-picture", inputs: ["displayFormat", "imageLoadingAttribute", "user", "AI", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
248
282
  }
249
283
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserTileComponent, decorators: [{
250
284
  type: Component,
251
- args: [{ selector: 'lu-user-tile', imports: [LuUserDisplayPipe, LuUserPictureComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'userTile' }, encapsulation: ViewEncapsulation.None, providers: [LuClass], template: "<lu-user-picture [user]=\"user()\" [displayFormat]=\"displayPictureFormat()\" />\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\" translate=\"no\">{{ user() | luUserDisplay: displayFormat() }}</div>\n\t@if (role() || user()?.jobTitle) {\n\t\t<div class=\"userTile-content-info\">{{ role() ? role() : user()?.jobTitle }}</div>\n\t}\n\t<div class=\"userTile-content-slotBottom\">\n\t\t<ng-content />\n\t</div>\n</div>\n", styles: ["@layer components{.userTile{--components-userTile-title-fontSize: var(--pr-t-font-body-M-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-gap: var(--pr-t-spacings-150);display:flex;align-items:center;gap:var(--components-userTile-gap);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content{display:flex;flex-direction:column;margin:0}.userTile-content-name{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--pr-t-color-text);margin:0}.userTile-content-info{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.userTile-content-slotBottom{font:var(--pr-t-font-body-S)}.userTile-content-slotBottom:empty{display:none}}@layer mods{.userTile.mod-XS{--components-userTile-gap: var(--pr-t-spacings-100);--components-userTile-title-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-XS-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S{--components-userTile-gap: var(--pr-t-spacings-100)}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}}\n"] }]
252
- }], ctorParameters: () => [] });
285
+ args: [{ selector: 'lu-user-tile', imports: [LuUserDisplayPipe, LuUserPictureComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'userTile' }, encapsulation: ViewEncapsulation.None, providers: [LuClass], template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\" />\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\" translate=\"no\">{{ user | luUserDisplay: displayFormat }}</div>\n\t@if (role || user?.jobTitle) {\n\t\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t}\n\t<div class=\"userTile-content-slotBottom\">\n\t\t<ng-content />\n\t</div>\n</div>\n", styles: ["@layer components{.userTile{--components-userTile-title-fontSize: var(--pr-t-font-body-M-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-gap: var(--pr-t-spacings-150);display:flex;align-items:center;gap:var(--components-userTile-gap);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content{display:flex;flex-direction:column;margin:0}.userTile-content-name{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--pr-t-color-text);margin:0}.userTile-content-info{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.userTile-content-slotBottom{font:var(--pr-t-font-body-S)}.userTile-content-slotBottom:empty{display:none}}@layer mods{.userTile.mod-XS{--components-userTile-gap: var(--pr-t-spacings-100);--components-userTile-title-fontSize: var(--pr-t-font-body-S-fontSize);--components-userTile-title-lineHeight: var(--pr-t-font-body-S-lineHeight);--components-userTile-info-fontSize: var(--pr-t-font-body-XS-fontSize);--components-userTile-info-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S{--components-userTile-gap: var(--pr-t-spacings-100)}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}}\n"] }]
286
+ }], ctorParameters: () => [], propDecorators: { user: [{
287
+ type: Input
288
+ }], displayFormat: [{
289
+ type: Input
290
+ }], role: [{
291
+ type: Input
292
+ }] } });
253
293
 
254
294
  /**
255
295
  * @deprecated use `LuUserTileComponent` instead
@@ -257,7 +297,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
257
297
  class LuUserTileModule {
258
298
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserTileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
259
299
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuUserTileModule, imports: [LuUserTileComponent], exports: [LuUserTileComponent] }); }
260
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserTileModule }); }
300
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserTileModule, imports: [LuUserTileComponent] }); }
261
301
  }
262
302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserTileModule, decorators: [{
263
303
  type: NgModule,
@@ -273,7 +313,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
273
313
  class LuUserPictureModule {
274
314
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPictureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
275
315
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuUserPictureModule, imports: [LuUserPictureComponent], exports: [LuUserPictureComponent] }); }
276
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPictureModule }); }
316
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPictureModule, imports: [LuUserPictureComponent] }); }
277
317
  }
278
318
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPictureModule, decorators: [{
279
319
  type: NgModule,