@praxisui/dynamic-fields 1.0.0-beta.21 → 1.0.0-beta.22

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.
@@ -13211,6 +13211,8 @@ class MaterialAvatarComponent {
13211
13211
  imageSrc;
13212
13212
  imageAlt;
13213
13213
  initials;
13214
+ /** Full name to generate initials from if `initials` is not provided. */
13215
+ name;
13214
13216
  icon;
13215
13217
  /** Fallback icon used when no image/icon/initials provided via inputs */
13216
13218
  defaultIcon;
@@ -13283,16 +13285,19 @@ class MaterialAvatarComponent {
13283
13285
  const explicit = (this.ariaLabel || '').trim();
13284
13286
  if (explicit)
13285
13287
  return explicit;
13288
+ const fromName = (this.name || '').trim();
13289
+ if (fromName)
13290
+ return fromName;
13286
13291
  const meta = this.metadata();
13287
13292
  if (meta?.label)
13288
13293
  return String(meta.label);
13289
13294
  if (this.imageAlt)
13290
13295
  return this.imageAlt;
13291
13296
  if (this.initials)
13292
- return `Avatar ${this.normalizedInitials()}`;
13293
- const name = this.iconName();
13294
- if (name)
13295
- return `Avatar ${name}`;
13297
+ return `Avatar for ${this.normalizedInitials()}`;
13298
+ const icon = this.iconName();
13299
+ if (icon)
13300
+ return `Avatar icon ${icon}`;
13296
13301
  return 'Avatar';
13297
13302
  }, ...(ngDevMode ? [{ debugName: "computedAriaLabel" }] : []));
13298
13303
  // Helpers for icon resolution
@@ -13349,11 +13354,25 @@ class MaterialAvatarComponent {
13349
13354
  return !this.hasImage() && !this.hasIcon() && this.hasInitials();
13350
13355
  }
13351
13356
  normalizedInitials() {
13352
- const s = (this.initials || '').trim();
13353
- if (!s)
13354
- return '';
13355
- // Keep max 3 chars, uppercase
13356
- return s.slice(0, 3).toUpperCase();
13357
+ // Prioritize explicit initials
13358
+ const explicitInitials = (this.initials || '').trim();
13359
+ if (explicitInitials) {
13360
+ return explicitInitials.slice(0, 3).toUpperCase();
13361
+ }
13362
+ // Fallback to generating from name
13363
+ const nameStr = (this.name || '').trim();
13364
+ if (nameStr) {
13365
+ const parts = nameStr.split(' ').filter(p => !!p);
13366
+ if (parts.length >= 2) {
13367
+ // First letter of the first two parts
13368
+ return (parts[0][0] + parts[1][0]).toUpperCase();
13369
+ }
13370
+ else if (parts.length === 1) {
13371
+ // First 1-2 letters of the single part
13372
+ return parts[0].slice(0, 2).toUpperCase();
13373
+ }
13374
+ }
13375
+ return '';
13357
13376
  }
13358
13377
  onImgError() {
13359
13378
  this._imgFailed.set(true);
@@ -13376,13 +13395,15 @@ class MaterialAvatarComponent {
13376
13395
  setInputMetadata(meta) {
13377
13396
  this.metadata.set(meta);
13378
13397
  const extras = meta?.extra || {};
13379
- // Known keys: imageSrc, imageAlt, initials, icon, themeColor, rounded, size, fillMode, border, tooltip, ariaLabel
13398
+ // Known keys: imageSrc, imageAlt, initials, name, icon, themeColor, rounded, size, fillMode, border, tooltip, ariaLabel
13380
13399
  if (extras.imageSrc !== undefined)
13381
13400
  this.imageSrc = extras.imageSrc;
13382
13401
  if (extras.imageAlt !== undefined)
13383
13402
  this.imageAlt = extras.imageAlt;
13384
13403
  if (extras.initials !== undefined)
13385
13404
  this.initials = extras.initials;
13405
+ if (extras.name !== undefined)
13406
+ this.name = extras.name;
13386
13407
  if (extras.icon !== undefined)
13387
13408
  this.icon = extras.icon;
13388
13409
  if (extras.defaultIcon !== undefined)
@@ -13420,7 +13441,7 @@ class MaterialAvatarComponent {
13420
13441
  }
13421
13442
  }
13422
13443
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: MaterialAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13423
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: MaterialAvatarComponent, isStandalone: true, selector: "pdx-material-avatar", inputs: { imageSrc: "imageSrc", imageAlt: "imageAlt", initials: "initials", icon: "icon", defaultIcon: "defaultIcon", themeColor: "themeColor", rounded: "rounded", size: "size", fillMode: "fillMode", border: "border", tooltip: "tooltip", ariaLabel: "ariaLabel", readonlyMode: "readonlyMode", disabledMode: "disabledMode", visible: "visible", presentationMode: "presentationMode", class: "class", style: "style" }, outputs: { imageError: "imageError" }, host: { properties: { "class": "componentCssClasses()", "style.display": "visible === false ? \"none\" : null", "attr.role": "\"img\"", "attr.aria-label": "computedAriaLabel() || null", "attr.data-field-type": "\"avatar\"", "attr.data-field-name": "metadata()?.name", "attr.data-component-id": "componentId()", "class.praxis-disabled": "disabledMode === true", "class.praxis-readonly": "readonlyMode === true", "class.presentation-mode": "presentationMode === true" } }, ngImport: i0, template: `
13444
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: MaterialAvatarComponent, isStandalone: true, selector: "pdx-material-avatar", inputs: { imageSrc: "imageSrc", imageAlt: "imageAlt", initials: "initials", name: "name", icon: "icon", defaultIcon: "defaultIcon", themeColor: "themeColor", rounded: "rounded", size: "size", fillMode: "fillMode", border: "border", tooltip: "tooltip", ariaLabel: "ariaLabel", readonlyMode: "readonlyMode", disabledMode: "disabledMode", visible: "visible", presentationMode: "presentationMode", class: "class", style: "style" }, outputs: { imageError: "imageError" }, host: { properties: { "class": "componentCssClasses()", "style.display": "visible === false ? \"none\" : null", "attr.role": "\"img\"", "attr.aria-label": "computedAriaLabel() || null", "attr.data-field-type": "\"avatar\"", "attr.data-field-name": "metadata()?.name", "attr.data-component-id": "componentId()", "class.praxis-disabled": "disabledMode === true", "class.praxis-readonly": "readonlyMode === true", "class.presentation-mode": "presentationMode === true" } }, ngImport: i0, template: `
13424
13445
  <span class="pfx-avatar__inner"
13425
13446
  [attr.aria-hidden]="presentationMode ? 'true' : null"
13426
13447
  [ngStyle]="style || null"
@@ -13445,10 +13466,10 @@ class MaterialAvatarComponent {
13445
13466
  <span class="pfx-avatar__initials">{{ normalizedInitials() }}</span>
13446
13467
  } @else {
13447
13468
  <!-- Custom projected content (lowest priority) -->
13448
- <ng-content></ng-content>
13469
+ <span class="pfx-avatar__custom"><ng-content></ng-content></span>
13449
13470
  }
13450
13471
  </span>
13451
- `, isInline: true, styles: [":host{--pfx-avatar-size: 40px;--pfx-avatar-radius-full: 9999px;--pfx-avatar-radius-lg: 16px;--pfx-avatar-radius-md: 12px;--pfx-avatar-radius-sm: 8px;--pfx-avatar-border-w: 1px;--pfx-avatar-border-color: var(--md-sys-color-outline-variant, #e0e0e0);--pfx-avatar-bg: var(--md-sys-color-primary, #6750a4);--pfx-avatar-fg: var(--md-sys-color-on-primary, #ffffff);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.pfx-avatar__inner{position:relative;box-sizing:border-box;width:var(--pfx-avatar-size);height:var(--pfx-avatar-size);border-radius:var(--_pfx-avatar-radius, var(--pfx-avatar-radius-full));display:inline-flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1;background:var(--_pfx-avatar-bg, var(--pfx-avatar-bg));color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--_pfx-avatar-border, 0)}:host(.fill-outline) .pfx-avatar__inner{background:transparent;color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.has-border) .pfx-avatar__inner{border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.size-small){--pfx-avatar-size: 24px}:host(.size-medium){--pfx-avatar-size: 40px}:host(.size-large){--pfx-avatar-size: 56px}:host(.size-none){--pfx-avatar-size: auto}:host(.rounded-full){--_pfx-avatar-radius: var(--pfx-avatar-radius-full)}:host(.rounded-large){--_pfx-avatar-radius: var(--pfx-avatar-radius-lg)}:host(.rounded-medium){--_pfx-avatar-radius: var(--pfx-avatar-radius-md)}:host(.rounded-small){--_pfx-avatar-radius: var(--pfx-avatar-radius-sm)}:host(.rounded-none){--_pfx-avatar-radius: 0}.pfx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__icon,.pfx-avatar__icon-svg,.pfx-avatar__icon-font{font-size:calc(var(--pfx-avatar-size) * .6);width:calc(var(--pfx-avatar-size) * .6);height:calc(var(--pfx-avatar-size) * .6);display:inline-flex;align-items:center;justify-content:center}.pfx-avatar__initials{font-weight:600;letter-spacing:.02em;font-size:calc(var(--pfx-avatar-size) * .4);line-height:1}:host(.theme-primary){--_pfx-avatar-bg: var(--md-sys-color-primary);--_pfx-avatar-fg: var(--md-sys-color-on-primary)}:host(.theme-secondary){--_pfx-avatar-bg: var(--md-sys-color-secondary);--_pfx-avatar-fg: var(--md-sys-color-on-secondary)}:host(.theme-tertiary){--_pfx-avatar-bg: var(--md-sys-color-tertiary);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary)}:host(.theme-base){--_pfx-avatar-bg: var(--md-sys-color-surface-variant);--_pfx-avatar-fg: var(--md-sys-color-on-surface-variant)}:host(.theme-info){--_pfx-avatar-bg: var(--md-sys-color-primary-container);--_pfx-avatar-fg: var(--md-sys-color-on-primary-container)}:host(.theme-success){--_pfx-avatar-bg: var(--md-sys-color-secondary-container);--_pfx-avatar-fg: var(--md-sys-color-on-secondary-container)}:host(.theme-warning){--_pfx-avatar-bg: var(--md-sys-color-tertiary-container);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary-container)}:host(.theme-error){--_pfx-avatar-bg: var(--md-sys-color-error-container);--_pfx-avatar-fg: var(--md-sys-color-on-error-container)}:host(.theme-dark){--_pfx-avatar-bg: #111318;--_pfx-avatar-fg: #f1f1f1}:host(.theme-light){--_pfx-avatar-bg: #ffffff;--_pfx-avatar-fg: #1a1a1a}:host(.theme-inverse){--_pfx-avatar-bg: var(--md-sys-color-on-surface);--_pfx-avatar-fg: var(--md-sys-color-surface)}:host(.theme-none){--_pfx-avatar-bg: transparent;--_pfx-avatar-fg: inherit}:host(.fill-none) .pfx-avatar__inner{background:none;color:inherit;border:0}:host(.size-none) .pfx-avatar__inner{width:auto;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
13472
+ `, isInline: true, styles: [":host{--pfx-avatar-size: 40px;--pfx-avatar-radius-full: 9999px;--pfx-avatar-radius-lg: 16px;--pfx-avatar-radius-md: 12px;--pfx-avatar-radius-sm: 8px;--pfx-avatar-border-w: 1px;--pfx-avatar-border-color: var(--md-sys-color-outline-variant, #e0e0e0);--pfx-avatar-bg: var(--md-sys-color-primary, #6750a4);--pfx-avatar-fg: var(--md-sys-color-on-primary, #ffffff);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.pfx-avatar__inner{position:relative;box-sizing:border-box;width:var(--pfx-avatar-size);height:var(--pfx-avatar-size);border-radius:var(--_pfx-avatar-radius, var(--pfx-avatar-radius-full));display:inline-flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1;background:var(--_pfx-avatar-bg, var(--pfx-avatar-bg));color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--_pfx-avatar-border, 0)}:host(.fill-outline) .pfx-avatar__inner{background:transparent;color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.has-border) .pfx-avatar__inner{border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.size-small){--pfx-avatar-size: 24px}:host(.size-medium){--pfx-avatar-size: 40px}:host(.size-large){--pfx-avatar-size: 56px}:host(.size-none){--pfx-avatar-size: auto}:host(.rounded-full){--_pfx-avatar-radius: var(--pfx-avatar-radius-full)}:host(.rounded-large){--_pfx-avatar-radius: var(--pfx-avatar-radius-lg)}:host(.rounded-medium){--_pfx-avatar-radius: var(--pfx-avatar-radius-md)}:host(.rounded-small){--_pfx-avatar-radius: var(--pfx-avatar-radius-sm)}:host(.rounded-none){--_pfx-avatar-radius: 0}.pfx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__icon,.pfx-avatar__icon-svg,.pfx-avatar__icon-font{font-size:calc(var(--pfx-avatar-size) * .6);width:calc(var(--pfx-avatar-size) * .6);height:calc(var(--pfx-avatar-size) * .6);display:inline-flex;align-items:center;justify-content:center}.pfx-avatar__initials{font-weight:600;letter-spacing:.02em;font-size:calc(var(--pfx-avatar-size) * .4);line-height:1}.pfx-avatar__custom{display:inline-flex;align-items:center;justify-content:center;font-size:calc(var(--pfx-avatar-size) * .6);line-height:1;width:100%;height:100%}.pfx-avatar__custom img{width:100%;height:100%;object-fit:cover;display:block}:host(.theme-primary){--_pfx-avatar-bg: var(--md-sys-color-primary);--_pfx-avatar-fg: var(--md-sys-color-on-primary)}:host(.theme-secondary){--_pfx-avatar-bg: var(--md-sys-color-secondary);--_pfx-avatar-fg: var(--md-sys-color-on-secondary)}:host(.theme-tertiary){--_pfx-avatar-bg: var(--md-sys-color-tertiary);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary)}:host(.theme-base){--_pfx-avatar-bg: var(--md-sys-color-surface-variant);--_pfx-avatar-fg: var(--md-sys-color-on-surface-variant)}:host(.theme-info){--_pfx-avatar-bg: var(--md-sys-color-primary-container);--_pfx-avatar-fg: var(--md-sys-color-on-primary-container)}:host(.theme-success){--_pfx-avatar-bg: var(--md-sys-color-secondary-container);--_pfx-avatar-fg: var(--md-sys-color-on-secondary-container)}:host(.theme-warning){--_pfx-avatar-bg: var(--md-sys-color-tertiary-container);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary-container)}:host(.theme-error){--_pfx-avatar-bg: var(--md-sys-color-error-container);--_pfx-avatar-fg: var(--md-sys-color-on-error-container)}:host(.theme-dark){--_pfx-avatar-bg: #111318;--_pfx-avatar-fg: #f1f1f1}:host(.theme-light){--_pfx-avatar-bg: #ffffff;--_pfx-avatar-fg: #1a1a1a}:host(.theme-inverse){--_pfx-avatar-bg: var(--md-sys-color-on-surface);--_pfx-avatar-fg: var(--md-sys-color-surface)}:host(.theme-none){--_pfx-avatar-bg: transparent;--_pfx-avatar-fg: inherit}:host(.fill-none) .pfx-avatar__inner{background:none;color:inherit;border:0}:host(.size-none) .pfx-avatar__inner{width:auto;height:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }] });
13452
13473
  }
13453
13474
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: MaterialAvatarComponent, decorators: [{
13454
13475
  type: Component,
@@ -13488,16 +13509,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
13488
13509
  <span class="pfx-avatar__initials">{{ normalizedInitials() }}</span>
13489
13510
  } @else {
13490
13511
  <!-- Custom projected content (lowest priority) -->
13491
- <ng-content></ng-content>
13512
+ <span class="pfx-avatar__custom"><ng-content></ng-content></span>
13492
13513
  }
13493
13514
  </span>
13494
- `, styles: [":host{--pfx-avatar-size: 40px;--pfx-avatar-radius-full: 9999px;--pfx-avatar-radius-lg: 16px;--pfx-avatar-radius-md: 12px;--pfx-avatar-radius-sm: 8px;--pfx-avatar-border-w: 1px;--pfx-avatar-border-color: var(--md-sys-color-outline-variant, #e0e0e0);--pfx-avatar-bg: var(--md-sys-color-primary, #6750a4);--pfx-avatar-fg: var(--md-sys-color-on-primary, #ffffff);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.pfx-avatar__inner{position:relative;box-sizing:border-box;width:var(--pfx-avatar-size);height:var(--pfx-avatar-size);border-radius:var(--_pfx-avatar-radius, var(--pfx-avatar-radius-full));display:inline-flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1;background:var(--_pfx-avatar-bg, var(--pfx-avatar-bg));color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--_pfx-avatar-border, 0)}:host(.fill-outline) .pfx-avatar__inner{background:transparent;color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.has-border) .pfx-avatar__inner{border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.size-small){--pfx-avatar-size: 24px}:host(.size-medium){--pfx-avatar-size: 40px}:host(.size-large){--pfx-avatar-size: 56px}:host(.size-none){--pfx-avatar-size: auto}:host(.rounded-full){--_pfx-avatar-radius: var(--pfx-avatar-radius-full)}:host(.rounded-large){--_pfx-avatar-radius: var(--pfx-avatar-radius-lg)}:host(.rounded-medium){--_pfx-avatar-radius: var(--pfx-avatar-radius-md)}:host(.rounded-small){--_pfx-avatar-radius: var(--pfx-avatar-radius-sm)}:host(.rounded-none){--_pfx-avatar-radius: 0}.pfx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__icon,.pfx-avatar__icon-svg,.pfx-avatar__icon-font{font-size:calc(var(--pfx-avatar-size) * .6);width:calc(var(--pfx-avatar-size) * .6);height:calc(var(--pfx-avatar-size) * .6);display:inline-flex;align-items:center;justify-content:center}.pfx-avatar__initials{font-weight:600;letter-spacing:.02em;font-size:calc(var(--pfx-avatar-size) * .4);line-height:1}:host(.theme-primary){--_pfx-avatar-bg: var(--md-sys-color-primary);--_pfx-avatar-fg: var(--md-sys-color-on-primary)}:host(.theme-secondary){--_pfx-avatar-bg: var(--md-sys-color-secondary);--_pfx-avatar-fg: var(--md-sys-color-on-secondary)}:host(.theme-tertiary){--_pfx-avatar-bg: var(--md-sys-color-tertiary);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary)}:host(.theme-base){--_pfx-avatar-bg: var(--md-sys-color-surface-variant);--_pfx-avatar-fg: var(--md-sys-color-on-surface-variant)}:host(.theme-info){--_pfx-avatar-bg: var(--md-sys-color-primary-container);--_pfx-avatar-fg: var(--md-sys-color-on-primary-container)}:host(.theme-success){--_pfx-avatar-bg: var(--md-sys-color-secondary-container);--_pfx-avatar-fg: var(--md-sys-color-on-secondary-container)}:host(.theme-warning){--_pfx-avatar-bg: var(--md-sys-color-tertiary-container);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary-container)}:host(.theme-error){--_pfx-avatar-bg: var(--md-sys-color-error-container);--_pfx-avatar-fg: var(--md-sys-color-on-error-container)}:host(.theme-dark){--_pfx-avatar-bg: #111318;--_pfx-avatar-fg: #f1f1f1}:host(.theme-light){--_pfx-avatar-bg: #ffffff;--_pfx-avatar-fg: #1a1a1a}:host(.theme-inverse){--_pfx-avatar-bg: var(--md-sys-color-on-surface);--_pfx-avatar-fg: var(--md-sys-color-surface)}:host(.theme-none){--_pfx-avatar-bg: transparent;--_pfx-avatar-fg: inherit}:host(.fill-none) .pfx-avatar__inner{background:none;color:inherit;border:0}:host(.size-none) .pfx-avatar__inner{width:auto;height:auto}\n"] }]
13515
+ `, styles: [":host{--pfx-avatar-size: 40px;--pfx-avatar-radius-full: 9999px;--pfx-avatar-radius-lg: 16px;--pfx-avatar-radius-md: 12px;--pfx-avatar-radius-sm: 8px;--pfx-avatar-border-w: 1px;--pfx-avatar-border-color: var(--md-sys-color-outline-variant, #e0e0e0);--pfx-avatar-bg: var(--md-sys-color-primary, #6750a4);--pfx-avatar-fg: var(--md-sys-color-on-primary, #ffffff);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.pfx-avatar__inner{position:relative;box-sizing:border-box;width:var(--pfx-avatar-size);height:var(--pfx-avatar-size);border-radius:var(--_pfx-avatar-radius, var(--pfx-avatar-radius-full));display:inline-flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;line-height:1;background:var(--_pfx-avatar-bg, var(--pfx-avatar-bg));color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--_pfx-avatar-border, 0)}:host(.fill-outline) .pfx-avatar__inner{background:transparent;color:var(--_pfx-avatar-fg, var(--pfx-avatar-fg));border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.has-border) .pfx-avatar__inner{border:var(--pfx-avatar-border-w) solid var(--pfx-avatar-border-color)}:host(.size-small){--pfx-avatar-size: 24px}:host(.size-medium){--pfx-avatar-size: 40px}:host(.size-large){--pfx-avatar-size: 56px}:host(.size-none){--pfx-avatar-size: auto}:host(.rounded-full){--_pfx-avatar-radius: var(--pfx-avatar-radius-full)}:host(.rounded-large){--_pfx-avatar-radius: var(--pfx-avatar-radius-lg)}:host(.rounded-medium){--_pfx-avatar-radius: var(--pfx-avatar-radius-md)}:host(.rounded-small){--_pfx-avatar-radius: var(--pfx-avatar-radius-sm)}:host(.rounded-none){--_pfx-avatar-radius: 0}.pfx-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.pfx-avatar__icon,.pfx-avatar__icon-svg,.pfx-avatar__icon-font{font-size:calc(var(--pfx-avatar-size) * .6);width:calc(var(--pfx-avatar-size) * .6);height:calc(var(--pfx-avatar-size) * .6);display:inline-flex;align-items:center;justify-content:center}.pfx-avatar__initials{font-weight:600;letter-spacing:.02em;font-size:calc(var(--pfx-avatar-size) * .4);line-height:1}.pfx-avatar__custom{display:inline-flex;align-items:center;justify-content:center;font-size:calc(var(--pfx-avatar-size) * .6);line-height:1;width:100%;height:100%}.pfx-avatar__custom img{width:100%;height:100%;object-fit:cover;display:block}:host(.theme-primary){--_pfx-avatar-bg: var(--md-sys-color-primary);--_pfx-avatar-fg: var(--md-sys-color-on-primary)}:host(.theme-secondary){--_pfx-avatar-bg: var(--md-sys-color-secondary);--_pfx-avatar-fg: var(--md-sys-color-on-secondary)}:host(.theme-tertiary){--_pfx-avatar-bg: var(--md-sys-color-tertiary);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary)}:host(.theme-base){--_pfx-avatar-bg: var(--md-sys-color-surface-variant);--_pfx-avatar-fg: var(--md-sys-color-on-surface-variant)}:host(.theme-info){--_pfx-avatar-bg: var(--md-sys-color-primary-container);--_pfx-avatar-fg: var(--md-sys-color-on-primary-container)}:host(.theme-success){--_pfx-avatar-bg: var(--md-sys-color-secondary-container);--_pfx-avatar-fg: var(--md-sys-color-on-secondary-container)}:host(.theme-warning){--_pfx-avatar-bg: var(--md-sys-color-tertiary-container);--_pfx-avatar-fg: var(--md-sys-color-on-tertiary-container)}:host(.theme-error){--_pfx-avatar-bg: var(--md-sys-color-error-container);--_pfx-avatar-fg: var(--md-sys-color-on-error-container)}:host(.theme-dark){--_pfx-avatar-bg: #111318;--_pfx-avatar-fg: #f1f1f1}:host(.theme-light){--_pfx-avatar-bg: #ffffff;--_pfx-avatar-fg: #1a1a1a}:host(.theme-inverse){--_pfx-avatar-bg: var(--md-sys-color-on-surface);--_pfx-avatar-fg: var(--md-sys-color-surface)}:host(.theme-none){--_pfx-avatar-bg: transparent;--_pfx-avatar-fg: inherit}:host(.fill-none) .pfx-avatar__inner{background:none;color:inherit;border:0}:host(.size-none) .pfx-avatar__inner{width:auto;height:auto}\n"] }]
13495
13516
  }], propDecorators: { imageSrc: [{
13496
13517
  type: Input
13497
13518
  }], imageAlt: [{
13498
13519
  type: Input
13499
13520
  }], initials: [{
13500
13521
  type: Input
13522
+ }], name: [{
13523
+ type: Input
13501
13524
  }], icon: [{
13502
13525
  type: Input
13503
13526
  }], defaultIcon: [{
@@ -18744,6 +18767,7 @@ const PDX_MATERIAL_AVATAR_COMPONENT_METADATA = {
18744
18767
  { name: 'imageSrc', type: 'string', description: 'URL da imagem' },
18745
18768
  { name: 'imageAlt', type: 'string', description: 'Texto alternativo da imagem' },
18746
18769
  { name: 'initials', type: 'string', description: 'Iniciais a exibir (ex.: MB)' },
18770
+ { name: 'name', type: 'string', description: 'Nome completo para gerar iniciais automaticamente se `initials` não for fornecido.' },
18747
18771
  { name: 'icon', type: "string | SafeHtml | { name?: string; svg?: string; fontClass?: string }", description: 'Ícone Material/Praxis, SVG inline ou classe de fonte' },
18748
18772
  { name: 'defaultIcon', type: "string | SafeHtml | { name?: string; svg?: string; fontClass?: string }", description: 'Ícone padrão (fallback) quando não houver imagem/ícone/iniciais' },
18749
18773
  { name: 'themeColor', type: "'primary'|'secondary'|'tertiary'|'base'|'info'|'success'|'warning'|'error'|'dark'|'light'|'inverse'|'none'", default: 'primary' },