@spectrum-web-components/avatar 1.12.0-snapshot.20260422090428 → 1.12.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/avatar",
3
- "version": "1.12.0-snapshot.20260422090428",
3
+ "version": "1.12.0",
4
4
  "description": "",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Adobe",
@@ -54,8 +54,8 @@
54
54
  ],
55
55
  "types": "./src/index.d.ts",
56
56
  "dependencies": {
57
- "@spectrum-web-components/base": "1.12.0-snapshot.20260422090428",
58
- "@spectrum-web-components/shared": "1.12.0-snapshot.20260422090428"
57
+ "@spectrum-web-components/base": "1.12.0",
58
+ "@spectrum-web-components/shared": "1.12.0"
59
59
  },
60
60
  "keywords": [
61
61
  "design-system",
package/src/Avatar.dev.js CHANGED
@@ -98,6 +98,32 @@ export class Avatar extends LikeAnchor(Focusable) {
98
98
  if (changes.has("label") || changes.has("isDecorative") || changes.has("href")) {
99
99
  this.warnMissingAlt();
100
100
  }
101
+ if (true) {
102
+ if (changes.has("label") && this.label) {
103
+ window.__swc.warn(
104
+ this,
105
+ `<${this.localName}> the "label" attribute is deprecated and will be removed in Spectrum 2. Use the "alt" attribute instead.`,
106
+ "https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs",
107
+ { level: "deprecation" }
108
+ );
109
+ }
110
+ if (changes.has("isDecorative") && this.isDecorative) {
111
+ window.__swc.warn(
112
+ this,
113
+ `<${this.localName}> the "is-decorative" attribute is deprecated and will be removed in Spectrum 2. Use the "decorative" attribute instead.`,
114
+ "https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs",
115
+ { level: "deprecation" }
116
+ );
117
+ }
118
+ if (changes.has("href") && this.href) {
119
+ window.__swc.warn(
120
+ this,
121
+ `<${this.localName}> the "href" attribute is deprecated and will be removed in Spectrum 2. Wrap <${this.localName}> in an <a> element instead.`,
122
+ "https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs",
123
+ { level: "deprecation" }
124
+ );
125
+ }
126
+ }
101
127
  }
102
128
  warnMissingAlt() {
103
129
  if (true) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["Avatar.ts"],
4
- "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport { LikeAnchor } from '@spectrum-web-components/shared/src/like-anchor.js';\n\nimport avatarStyles from './avatar.css.js';\n\nexport type AvatarSize = 50 | 75 | 100 | 200 | 300 | 400 | 500 | 600 | 700;\nconst validSizes: AvatarSize[] = [50, 75, 100, 200, 300, 400, 500, 600, 700];\nconst defaultSize = validSizes[2];\n\n/**\n * @element sp-avatar\n */\nexport class Avatar extends LikeAnchor(Focusable) {\n public static override get styles(): CSSResultArray {\n return [avatarStyles];\n }\n\n @query('#link')\n anchorElement!: HTMLAnchorElement;\n\n public override get focusElement(): HTMLElement {\n return this.anchorElement || this;\n }\n\n @property()\n public src = '';\n\n /**\n * When true, marks the avatar as decorative and hides it from screen readers.\n * The underlying img will have an empty alt attribute (alt=\"\").\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-decorative' })\n public isDecorative = false;\n\n @property({ type: Number, reflect: true })\n public get size(): AvatarSize {\n return this._size;\n }\n\n public set size(value: AvatarSize) {\n const size = value;\n const validSize = (\n validSizes.includes(size) ? size : defaultSize\n ) as AvatarSize;\n if (validSize) {\n this.setAttribute('size', `${validSize}`);\n }\n if (this._size === validSize) {\n return;\n }\n const oldSize = this._size;\n this._size = validSize;\n this.requestUpdate('size', oldSize);\n }\n\n private _size = defaultSize;\n\n /**\n * Renders the avatar image with appropriate accessibility attributes.\n * Label takes precedence over isDecorative. When decorative and has href,\n * aria-hidden is not set so the link remains accessible.\n */\n protected override render(): TemplateResult {\n let altValue = '';\n let ariaHidden: 'true' | undefined;\n if (this.label) {\n altValue = this.label;\n ariaHidden = undefined;\n } else if (this.isDecorative) {\n altValue = '';\n ariaHidden = this.href ? undefined : 'true';\n } else {\n altValue = '';\n ariaHidden = undefined;\n }\n\n const avatar = html`\n <img\n class=\"image\"\n alt=${altValue}\n aria-hidden=${ifDefined(ariaHidden)}\n src=${this.src}\n />\n `;\n if (this.href) {\n return this.renderAnchor({\n id: 'link',\n className: 'link',\n anchorContent: avatar,\n });\n }\n return avatar;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n if (!this.hasAttribute('size')) {\n this.setAttribute('size', `${this.size}`);\n }\n this.warnMissingAlt();\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (\n changes.has('label') ||\n changes.has('isDecorative') ||\n changes.has('href')\n ) {\n this.warnMissingAlt();\n }\n }\n\n private warnMissingAlt(): void {\n if (window.__swc?.DEBUG) {\n // Warn if neither label nor isDecorative is provided\n if (!this.label && !this.isDecorative) {\n window.__swc.warn(\n this,\n `<${this.localName}> needs either a \\`label\\` attribute or \\`is-decorative\\` attribute to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute with meaningful alternative text for the avatar image, or',\n 'Set `is-decorative` attribute to mark the avatar as decorative (hidden from screen readers).',\n ],\n }\n );\n }\n // Warn if decorative avatar is used as a link without a label\n else if (this.isDecorative && this.href && !this.label) {\n window.__swc.warn(\n this,\n `<${this.localName}> with \\`is-decorative\\` and \\`href\\` requires a \\`label\\` attribute for the link to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute to give the link an accessible name.',\n 'Decorative avatars should typically not be interactive links.',\n ],\n }\n );\n }\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport { LikeAnchor } from '@spectrum-web-components/shared/src/like-anchor.js';\n\nimport avatarStyles from './avatar.css.js';\n\nexport type AvatarSize = 50 | 75 | 100 | 200 | 300 | 400 | 500 | 600 | 700;\nconst validSizes: AvatarSize[] = [50, 75, 100, 200, 300, 400, 500, 600, 700];\nconst defaultSize = validSizes[2];\n\n/**\n * @element sp-avatar\n */\nexport class Avatar extends LikeAnchor(Focusable) {\n public static override get styles(): CSSResultArray {\n return [avatarStyles];\n }\n\n @query('#link')\n anchorElement!: HTMLAnchorElement;\n\n public override get focusElement(): HTMLElement {\n return this.anchorElement || this;\n }\n\n @property()\n public src = '';\n\n /**\n * When true, marks the avatar as decorative and hides it from screen readers.\n * The underlying img will have an empty alt attribute (alt=\"\").\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-decorative' })\n public isDecorative = false;\n\n @property({ type: Number, reflect: true })\n public get size(): AvatarSize {\n return this._size;\n }\n\n public set size(value: AvatarSize) {\n const size = value;\n const validSize = (\n validSizes.includes(size) ? size : defaultSize\n ) as AvatarSize;\n if (validSize) {\n this.setAttribute('size', `${validSize}`);\n }\n if (this._size === validSize) {\n return;\n }\n const oldSize = this._size;\n this._size = validSize;\n this.requestUpdate('size', oldSize);\n }\n\n private _size = defaultSize;\n\n /**\n * Renders the avatar image with appropriate accessibility attributes.\n * Label takes precedence over isDecorative. When decorative and has href,\n * aria-hidden is not set so the link remains accessible.\n */\n protected override render(): TemplateResult {\n let altValue = '';\n let ariaHidden: 'true' | undefined;\n if (this.label) {\n altValue = this.label;\n ariaHidden = undefined;\n } else if (this.isDecorative) {\n altValue = '';\n ariaHidden = this.href ? undefined : 'true';\n } else {\n altValue = '';\n ariaHidden = undefined;\n }\n\n const avatar = html`\n <img\n class=\"image\"\n alt=${altValue}\n aria-hidden=${ifDefined(ariaHidden)}\n src=${this.src}\n />\n `;\n if (this.href) {\n return this.renderAnchor({\n id: 'link',\n className: 'link',\n anchorContent: avatar,\n });\n }\n return avatar;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n if (!this.hasAttribute('size')) {\n this.setAttribute('size', `${this.size}`);\n }\n this.warnMissingAlt();\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (\n changes.has('label') ||\n changes.has('isDecorative') ||\n changes.has('href')\n ) {\n this.warnMissingAlt();\n }\n if (window.__swc?.DEBUG) {\n if (changes.has('label') && this.label) {\n window.__swc.warn(\n this,\n `<${this.localName}> the \"label\" attribute is deprecated and will be removed in Spectrum 2. Use the \"alt\" attribute instead.`,\n 'https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n if (changes.has('isDecorative') && this.isDecorative) {\n window.__swc.warn(\n this,\n `<${this.localName}> the \"is-decorative\" attribute is deprecated and will be removed in Spectrum 2. Use the \"decorative\" attribute instead.`,\n 'https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n if (changes.has('href') && this.href) {\n window.__swc.warn(\n this,\n `<${this.localName}> the \"href\" attribute is deprecated and will be removed in Spectrum 2. Wrap <${this.localName}> in an <a> element instead.`,\n 'https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n }\n }\n\n private warnMissingAlt(): void {\n if (window.__swc?.DEBUG) {\n // Warn if neither label nor isDecorative is provided\n if (!this.label && !this.isDecorative) {\n window.__swc.warn(\n this,\n `<${this.localName}> needs either a \\`label\\` attribute or \\`is-decorative\\` attribute to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute with meaningful alternative text for the avatar image, or',\n 'Set `is-decorative` attribute to mark the avatar as decorative (hidden from screen readers).',\n ],\n }\n );\n }\n // Warn if decorative avatar is used as a link without a label\n else if (this.isDecorative && this.href && !this.label) {\n window.__swc.warn(\n this,\n `<${this.localName}> with \\`is-decorative\\` and \\`href\\` requires a \\`label\\` attribute for the link to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute to give the link an accessible name.',\n 'Decorative avatars should typically not be interactive links.',\n ],\n }\n );\n }\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;AAYA;AAAA,EAEE;AAAA,OAGK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAE3B,OAAO,kBAAkB;AAGzB,MAAM,aAA2B,CAAC,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAC3E,MAAM,cAAc,WAAW,CAAC;AAKzB,aAAM,eAAe,WAAW,SAAS,EAAE;AAAA,EAA3C;AAAA;AAaL,SAAO,MAAM;AAOb,SAAO,eAAe;AAuBtB,SAAQ,QAAQ;AAAA;AAAA,EA1ChB,WAA2B,SAAyB;AAClD,WAAO,CAAC,YAAY;AAAA,EACtB;AAAA,EAKA,IAAoB,eAA4B;AAC9C,WAAO,KAAK,iBAAiB;AAAA,EAC/B;AAAA,EAaA,IAAW,OAAmB;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAW,KAAK,OAAmB;AACjC,UAAM,OAAO;AACb,UAAM,YACJ,WAAW,SAAS,IAAI,IAAI,OAAO;AAErC,QAAI,WAAW;AACb,WAAK,aAAa,QAAQ,GAAG,SAAS,EAAE;AAAA,IAC1C;AACA,QAAI,KAAK,UAAU,WAAW;AAC5B;AAAA,IACF;AACA,UAAM,UAAU,KAAK;AACrB,SAAK,QAAQ;AACb,SAAK,cAAc,QAAQ,OAAO;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASmB,SAAyB;AAC1C,QAAI,WAAW;AACf,QAAI;AACJ,QAAI,KAAK,OAAO;AACd,iBAAW,KAAK;AAChB,mBAAa;AAAA,IACf,WAAW,KAAK,cAAc;AAC5B,iBAAW;AACX,mBAAa,KAAK,OAAO,SAAY;AAAA,IACvC,OAAO;AACL,iBAAW;AACX,mBAAa;AAAA,IACf;AAEA,UAAM,SAAS;AAAA;AAAA;AAAA,cAGL,QAAQ;AAAA,sBACA,UAAU,UAAU,CAAC;AAAA,cAC7B,KAAK,GAAG;AAAA;AAAA;AAGlB,QAAI,KAAK,MAAM;AACb,aAAO,KAAK,aAAa;AAAA,QACvB,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,eAAe;AAAA,MACjB,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA,EAEmB,aAAa,SAA+B;AAC7D,UAAM,aAAa,OAAO;AAC1B,QAAI,CAAC,KAAK,aAAa,MAAM,GAAG;AAC9B,WAAK,aAAa,QAAQ,GAAG,KAAK,IAAI,EAAE;AAAA,IAC1C;AACA,SAAK,eAAe;AAAA,EACtB;AAAA,EAEmB,QAAQ,SAA+B;AACxD,UAAM,QAAQ,OAAO;AACrB,QACE,QAAQ,IAAI,OAAO,KACnB,QAAQ,IAAI,cAAc,KAC1B,QAAQ,IAAI,MAAM,GAClB;AACA,WAAK,eAAe;AAAA,IACtB;AACA,QAAI,MAAqB;AACvB,UAAI,QAAQ,IAAI,OAAO,KAAK,KAAK,OAAO;AACtC,eAAO,MAAM;AAAA,UACX;AAAA,UACA,IAAI,KAAK,SAAS;AAAA,UAClB;AAAA,UACA,EAAE,OAAO,cAAc;AAAA,QACzB;AAAA,MACF;AACA,UAAI,QAAQ,IAAI,cAAc,KAAK,KAAK,cAAc;AACpD,eAAO,MAAM;AAAA,UACX;AAAA,UACA,IAAI,KAAK,SAAS;AAAA,UAClB;AAAA,UACA,EAAE,OAAO,cAAc;AAAA,QACzB;AAAA,MACF;AACA,UAAI,QAAQ,IAAI,MAAM,KAAK,KAAK,MAAM;AACpC,eAAO,MAAM;AAAA,UACX;AAAA,UACA,IAAI,KAAK,SAAS,iFAAiF,KAAK,SAAS;AAAA,UACjH;AAAA,UACA,EAAE,OAAO,cAAc;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,iBAAuB;AAC7B,QAAI,MAAqB;AAEvB,UAAI,CAAC,KAAK,SAAS,CAAC,KAAK,cAAc;AACrC,eAAO,MAAM;AAAA,UACX;AAAA,UACA,IAAI,KAAK,SAAS;AAAA,UAClB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,QAAQ;AAAA,cACN;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,WAES,KAAK,gBAAgB,KAAK,QAAQ,CAAC,KAAK,OAAO;AACtD,eAAO,MAAM;AAAA,UACX;AAAA,UACA,IAAI,KAAK,SAAS;AAAA,UAClB;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,QAAQ;AAAA,cACN;AAAA,cACA;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AA3JE;AAAA,EADC,MAAM,OAAO;AAAA,GALH,OAMX;AAOO;AAAA,EADN,SAAS;AAAA,GAZC,OAaJ;AAOA;AAAA,EADN,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM,WAAW,gBAAgB,CAAC;AAAA,GAnB3D,OAoBJ;AAGI;AAAA,EADV,SAAS,EAAE,MAAM,QAAQ,SAAS,KAAK,CAAC;AAAA,GAtB9B,OAuBA;",
6
6
  "names": []
7
7
  }
package/src/Avatar.js CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var a=(o,s,e,i)=>{for(var t=i>1?void 0:i?h(s,e):s,r=o.length-1,l;r>=0;r--)(l=o[r])&&(t=(i?l(s,e,t):l(t))||t);return i&&t&&u(s,e,t),t};import{html as p}from"@spectrum-web-components/base";import{property as n,query as b}from"@spectrum-web-components/base/src/decorators.js";import{ifDefined as m}from"@spectrum-web-components/base/src/directives.js";import{Focusable as f}from"@spectrum-web-components/shared/src/focusable.js";import{LikeAnchor as v}from"@spectrum-web-components/shared/src/like-anchor.js";import z from"./avatar.css.js";const c=[50,75,100,200,300,400,500,600,700],d=c[2];export class Avatar extends v(f){constructor(){super(...arguments);this.src="";this.isDecorative=!1;this._size=d}static get styles(){return[z]}get focusElement(){return this.anchorElement||this}get size(){return this._size}set size(e){const i=e,t=c.includes(i)?i:d;if(t&&this.setAttribute("size",`${t}`),this._size===t)return;const r=this._size;this._size=t,this.requestUpdate("size",r)}render(){let e="",i;this.label?(e=this.label,i=void 0):this.isDecorative?(e="",i=this.href?void 0:"true"):(e="",i=void 0);const t=p`
1
+ "use strict";var h=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var r=(o,s,e,i)=>{for(var t=i>1?void 0:i?u(s,e):s,a=o.length-1,n;a>=0;a--)(n=o[a])&&(t=(i?n(s,e,t):n(t))||t);return i&&t&&h(s,e,t),t};import{html as p}from"@spectrum-web-components/base";import{property as c,query as m}from"@spectrum-web-components/base/src/decorators.js";import{ifDefined as b}from"@spectrum-web-components/base/src/directives.js";import{Focusable as v}from"@spectrum-web-components/shared/src/focusable.js";import{LikeAnchor as f}from"@spectrum-web-components/shared/src/like-anchor.js";import w from"./avatar.css.js";const l=[50,75,100,200,300,400,500,600,700],d=l[2];export class Avatar extends f(v){constructor(){super(...arguments);this.src="";this.isDecorative=!1;this._size=d}static get styles(){return[w]}get focusElement(){return this.anchorElement||this}get size(){return this._size}set size(e){const i=e,t=l.includes(i)?i:d;if(t&&this.setAttribute("size",`${t}`),this._size===t)return;const a=this._size;this._size=t,this.requestUpdate("size",a)}render(){let e="",i;this.label?(e=this.label,i=void 0):this.isDecorative?(e="",i=this.href?void 0:"true"):(e="",i=void 0);const t=p`
2
2
  <img
3
3
  class="image"
4
4
  alt=${e}
5
- aria-hidden=${m(i)}
5
+ aria-hidden=${b(i)}
6
6
  src=${this.src}
7
7
  />
8
- `;return this.href?this.renderAnchor({id:"link",className:"link",anchorContent:t}):t}firstUpdated(e){super.firstUpdated(e),this.hasAttribute("size")||this.setAttribute("size",`${this.size}`),this.warnMissingAlt()}updated(e){super.updated(e),(e.has("label")||e.has("isDecorative")||e.has("href"))&&this.warnMissingAlt()}warnMissingAlt(){}}a([b("#link")],Avatar.prototype,"anchorElement",2),a([n()],Avatar.prototype,"src",2),a([n({type:Boolean,reflect:!0,attribute:"is-decorative"})],Avatar.prototype,"isDecorative",2),a([n({type:Number,reflect:!0})],Avatar.prototype,"size",1);
8
+ `;return this.href?this.renderAnchor({id:"link",className:"link",anchorContent:t}):t}firstUpdated(e){super.firstUpdated(e),this.hasAttribute("size")||this.setAttribute("size",`${this.size}`),this.warnMissingAlt()}updated(e){super.updated(e),(e.has("label")||e.has("isDecorative")||e.has("href"))&&this.warnMissingAlt()}warnMissingAlt(){}}r([m("#link")],Avatar.prototype,"anchorElement",2),r([c()],Avatar.prototype,"src",2),r([c({type:Boolean,reflect:!0,attribute:"is-decorative"})],Avatar.prototype,"isDecorative",2),r([c({type:Number,reflect:!0})],Avatar.prototype,"size",1);
9
9
  //# sourceMappingURL=Avatar.js.map
package/src/Avatar.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["Avatar.ts"],
4
- "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport { LikeAnchor } from '@spectrum-web-components/shared/src/like-anchor.js';\n\nimport avatarStyles from './avatar.css.js';\n\nexport type AvatarSize = 50 | 75 | 100 | 200 | 300 | 400 | 500 | 600 | 700;\nconst validSizes: AvatarSize[] = [50, 75, 100, 200, 300, 400, 500, 600, 700];\nconst defaultSize = validSizes[2];\n\n/**\n * @element sp-avatar\n */\nexport class Avatar extends LikeAnchor(Focusable) {\n public static override get styles(): CSSResultArray {\n return [avatarStyles];\n }\n\n @query('#link')\n anchorElement!: HTMLAnchorElement;\n\n public override get focusElement(): HTMLElement {\n return this.anchorElement || this;\n }\n\n @property()\n public src = '';\n\n /**\n * When true, marks the avatar as decorative and hides it from screen readers.\n * The underlying img will have an empty alt attribute (alt=\"\").\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-decorative' })\n public isDecorative = false;\n\n @property({ type: Number, reflect: true })\n public get size(): AvatarSize {\n return this._size;\n }\n\n public set size(value: AvatarSize) {\n const size = value;\n const validSize = (\n validSizes.includes(size) ? size : defaultSize\n ) as AvatarSize;\n if (validSize) {\n this.setAttribute('size', `${validSize}`);\n }\n if (this._size === validSize) {\n return;\n }\n const oldSize = this._size;\n this._size = validSize;\n this.requestUpdate('size', oldSize);\n }\n\n private _size = defaultSize;\n\n /**\n * Renders the avatar image with appropriate accessibility attributes.\n * Label takes precedence over isDecorative. When decorative and has href,\n * aria-hidden is not set so the link remains accessible.\n */\n protected override render(): TemplateResult {\n let altValue = '';\n let ariaHidden: 'true' | undefined;\n if (this.label) {\n altValue = this.label;\n ariaHidden = undefined;\n } else if (this.isDecorative) {\n altValue = '';\n ariaHidden = this.href ? undefined : 'true';\n } else {\n altValue = '';\n ariaHidden = undefined;\n }\n\n const avatar = html`\n <img\n class=\"image\"\n alt=${altValue}\n aria-hidden=${ifDefined(ariaHidden)}\n src=${this.src}\n />\n `;\n if (this.href) {\n return this.renderAnchor({\n id: 'link',\n className: 'link',\n anchorContent: avatar,\n });\n }\n return avatar;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n if (!this.hasAttribute('size')) {\n this.setAttribute('size', `${this.size}`);\n }\n this.warnMissingAlt();\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (\n changes.has('label') ||\n changes.has('isDecorative') ||\n changes.has('href')\n ) {\n this.warnMissingAlt();\n }\n }\n\n private warnMissingAlt(): void {\n if (window.__swc?.DEBUG) {\n // Warn if neither label nor isDecorative is provided\n if (!this.label && !this.isDecorative) {\n window.__swc.warn(\n this,\n `<${this.localName}> needs either a \\`label\\` attribute or \\`is-decorative\\` attribute to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute with meaningful alternative text for the avatar image, or',\n 'Set `is-decorative` attribute to mark the avatar as decorative (hidden from screen readers).',\n ],\n }\n );\n }\n // Warn if decorative avatar is used as a link without a label\n else if (this.isDecorative && this.href && !this.label) {\n window.__swc.warn(\n this,\n `<${this.localName}> with \\`is-decorative\\` and \\`href\\` requires a \\`label\\` attribute for the link to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute to give the link an accessible name.',\n 'Decorative avatars should typically not be interactive links.',\n ],\n }\n );\n }\n }\n }\n}\n"],
5
- "mappings": "qNAYA,OAEE,QAAAA,MAGK,gCACP,OACE,YAAAC,EACA,SAAAC,MACK,kDACP,OAAS,aAAAC,MAAiB,kDAC1B,OAAS,aAAAC,MAAiB,mDAC1B,OAAS,cAAAC,MAAkB,qDAE3B,OAAOC,MAAkB,kBAGzB,MAAMC,EAA2B,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACrEC,EAAcD,EAAW,CAAC,EAKzB,aAAM,eAAeF,EAAWD,CAAS,CAAE,CAA3C,kCAaL,KAAO,IAAM,GAOb,KAAO,aAAe,GAuBtB,KAAQ,MAAQI,EA1ChB,WAA2B,QAAyB,CAClD,MAAO,CAACF,CAAY,CACtB,CAKA,IAAoB,cAA4B,CAC9C,OAAO,KAAK,eAAiB,IAC/B,CAaA,IAAW,MAAmB,CAC5B,OAAO,KAAK,KACd,CAEA,IAAW,KAAKG,EAAmB,CACjC,MAAMC,EAAOD,EACPE,EACJJ,EAAW,SAASG,CAAI,EAAIA,EAAOF,EAKrC,GAHIG,GACF,KAAK,aAAa,OAAQ,GAAGA,CAAS,EAAE,EAEtC,KAAK,QAAUA,EACjB,OAEF,MAAMC,EAAU,KAAK,MACrB,KAAK,MAAQD,EACb,KAAK,cAAc,OAAQC,CAAO,CACpC,CASmB,QAAyB,CAC1C,IAAIC,EAAW,GACXC,EACA,KAAK,OACPD,EAAW,KAAK,MAChBC,EAAa,QACJ,KAAK,cACdD,EAAW,GACXC,EAAa,KAAK,KAAO,OAAY,SAErCD,EAAW,GACXC,EAAa,QAGf,MAAMC,EAASf;AAAA;AAAA;AAAA,cAGLa,CAAQ;AAAA,sBACAV,EAAUW,CAAU,CAAC;AAAA,cAC7B,KAAK,GAAG;AAAA;AAAA,MAGlB,OAAI,KAAK,KACA,KAAK,aAAa,CACvB,GAAI,OACJ,UAAW,OACX,cAAeC,CACjB,CAAC,EAEIA,CACT,CAEmB,aAAaC,EAA+B,CAC7D,MAAM,aAAaA,CAAO,EACrB,KAAK,aAAa,MAAM,GAC3B,KAAK,aAAa,OAAQ,GAAG,KAAK,IAAI,EAAE,EAE1C,KAAK,eAAe,CACtB,CAEmB,QAAQA,EAA+B,CACxD,MAAM,QAAQA,CAAO,GAEnBA,EAAQ,IAAI,OAAO,GACnBA,EAAQ,IAAI,cAAc,GAC1BA,EAAQ,IAAI,MAAM,IAElB,KAAK,eAAe,CAExB,CAEQ,gBAAuB,CAiC/B,CACF,CAjIEC,EAAA,CADCf,EAAM,OAAO,GALH,OAMX,6BAOOe,EAAA,CADNhB,EAAS,GAZC,OAaJ,mBAOAgB,EAAA,CADNhB,EAAS,CAAE,KAAM,QAAS,QAAS,GAAM,UAAW,eAAgB,CAAC,GAnB3D,OAoBJ,4BAGIgB,EAAA,CADVhB,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAtB9B,OAuBA",
4
+ "sourcesContent": ["/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport { LikeAnchor } from '@spectrum-web-components/shared/src/like-anchor.js';\n\nimport avatarStyles from './avatar.css.js';\n\nexport type AvatarSize = 50 | 75 | 100 | 200 | 300 | 400 | 500 | 600 | 700;\nconst validSizes: AvatarSize[] = [50, 75, 100, 200, 300, 400, 500, 600, 700];\nconst defaultSize = validSizes[2];\n\n/**\n * @element sp-avatar\n */\nexport class Avatar extends LikeAnchor(Focusable) {\n public static override get styles(): CSSResultArray {\n return [avatarStyles];\n }\n\n @query('#link')\n anchorElement!: HTMLAnchorElement;\n\n public override get focusElement(): HTMLElement {\n return this.anchorElement || this;\n }\n\n @property()\n public src = '';\n\n /**\n * When true, marks the avatar as decorative and hides it from screen readers.\n * The underlying img will have an empty alt attribute (alt=\"\").\n */\n @property({ type: Boolean, reflect: true, attribute: 'is-decorative' })\n public isDecorative = false;\n\n @property({ type: Number, reflect: true })\n public get size(): AvatarSize {\n return this._size;\n }\n\n public set size(value: AvatarSize) {\n const size = value;\n const validSize = (\n validSizes.includes(size) ? size : defaultSize\n ) as AvatarSize;\n if (validSize) {\n this.setAttribute('size', `${validSize}`);\n }\n if (this._size === validSize) {\n return;\n }\n const oldSize = this._size;\n this._size = validSize;\n this.requestUpdate('size', oldSize);\n }\n\n private _size = defaultSize;\n\n /**\n * Renders the avatar image with appropriate accessibility attributes.\n * Label takes precedence over isDecorative. When decorative and has href,\n * aria-hidden is not set so the link remains accessible.\n */\n protected override render(): TemplateResult {\n let altValue = '';\n let ariaHidden: 'true' | undefined;\n if (this.label) {\n altValue = this.label;\n ariaHidden = undefined;\n } else if (this.isDecorative) {\n altValue = '';\n ariaHidden = this.href ? undefined : 'true';\n } else {\n altValue = '';\n ariaHidden = undefined;\n }\n\n const avatar = html`\n <img\n class=\"image\"\n alt=${altValue}\n aria-hidden=${ifDefined(ariaHidden)}\n src=${this.src}\n />\n `;\n if (this.href) {\n return this.renderAnchor({\n id: 'link',\n className: 'link',\n anchorContent: avatar,\n });\n }\n return avatar;\n }\n\n protected override firstUpdated(changes: PropertyValues): void {\n super.firstUpdated(changes);\n if (!this.hasAttribute('size')) {\n this.setAttribute('size', `${this.size}`);\n }\n this.warnMissingAlt();\n }\n\n protected override updated(changes: PropertyValues): void {\n super.updated(changes);\n if (\n changes.has('label') ||\n changes.has('isDecorative') ||\n changes.has('href')\n ) {\n this.warnMissingAlt();\n }\n if (window.__swc?.DEBUG) {\n if (changes.has('label') && this.label) {\n window.__swc.warn(\n this,\n `<${this.localName}> the \"label\" attribute is deprecated and will be removed in Spectrum 2. Use the \"alt\" attribute instead.`,\n 'https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n if (changes.has('isDecorative') && this.isDecorative) {\n window.__swc.warn(\n this,\n `<${this.localName}> the \"is-decorative\" attribute is deprecated and will be removed in Spectrum 2. Use the \"decorative\" attribute instead.`,\n 'https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n if (changes.has('href') && this.href) {\n window.__swc.warn(\n this,\n `<${this.localName}> the \"href\" attribute is deprecated and will be removed in Spectrum 2. Wrap <${this.localName}> in an <a> element instead.`,\n 'https://opensource.adobe.com/spectrum-web-components/second-gen/?path=/docs/avatar-consumer-migration-guide--docs',\n { level: 'deprecation' }\n );\n }\n }\n }\n\n private warnMissingAlt(): void {\n if (window.__swc?.DEBUG) {\n // Warn if neither label nor isDecorative is provided\n if (!this.label && !this.isDecorative) {\n window.__swc.warn(\n this,\n `<${this.localName}> needs either a \\`label\\` attribute or \\`is-decorative\\` attribute to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute with meaningful alternative text for the avatar image, or',\n 'Set `is-decorative` attribute to mark the avatar as decorative (hidden from screen readers).',\n ],\n }\n );\n }\n // Warn if decorative avatar is used as a link without a label\n else if (this.isDecorative && this.href && !this.label) {\n window.__swc.warn(\n this,\n `<${this.localName}> with \\`is-decorative\\` and \\`href\\` requires a \\`label\\` attribute for the link to be accessible.`,\n 'https://opensource.adobe.com/spectrum-web-components/components/avatar/#accessibility',\n {\n type: 'accessibility',\n issues: [\n 'Provide a `label` attribute to give the link an accessible name.',\n 'Decorative avatars should typically not be interactive links.',\n ],\n }\n );\n }\n }\n }\n}\n"],
5
+ "mappings": "qNAYA,OAEE,QAAAA,MAGK,gCACP,OACE,YAAAC,EACA,SAAAC,MACK,kDACP,OAAS,aAAAC,MAAiB,kDAC1B,OAAS,aAAAC,MAAiB,mDAC1B,OAAS,cAAAC,MAAkB,qDAE3B,OAAOC,MAAkB,kBAGzB,MAAMC,EAA2B,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACrEC,EAAcD,EAAW,CAAC,EAKzB,aAAM,eAAeF,EAAWD,CAAS,CAAE,CAA3C,kCAaL,KAAO,IAAM,GAOb,KAAO,aAAe,GAuBtB,KAAQ,MAAQI,EA1ChB,WAA2B,QAAyB,CAClD,MAAO,CAACF,CAAY,CACtB,CAKA,IAAoB,cAA4B,CAC9C,OAAO,KAAK,eAAiB,IAC/B,CAaA,IAAW,MAAmB,CAC5B,OAAO,KAAK,KACd,CAEA,IAAW,KAAKG,EAAmB,CACjC,MAAMC,EAAOD,EACPE,EACJJ,EAAW,SAASG,CAAI,EAAIA,EAAOF,EAKrC,GAHIG,GACF,KAAK,aAAa,OAAQ,GAAGA,CAAS,EAAE,EAEtC,KAAK,QAAUA,EACjB,OAEF,MAAMC,EAAU,KAAK,MACrB,KAAK,MAAQD,EACb,KAAK,cAAc,OAAQC,CAAO,CACpC,CASmB,QAAyB,CAC1C,IAAIC,EAAW,GACXC,EACA,KAAK,OACPD,EAAW,KAAK,MAChBC,EAAa,QACJ,KAAK,cACdD,EAAW,GACXC,EAAa,KAAK,KAAO,OAAY,SAErCD,EAAW,GACXC,EAAa,QAGf,MAAMC,EAASf;AAAA;AAAA;AAAA,cAGLa,CAAQ;AAAA,sBACAV,EAAUW,CAAU,CAAC;AAAA,cAC7B,KAAK,GAAG;AAAA;AAAA,MAGlB,OAAI,KAAK,KACA,KAAK,aAAa,CACvB,GAAI,OACJ,UAAW,OACX,cAAeC,CACjB,CAAC,EAEIA,CACT,CAEmB,aAAaC,EAA+B,CAC7D,MAAM,aAAaA,CAAO,EACrB,KAAK,aAAa,MAAM,GAC3B,KAAK,aAAa,OAAQ,GAAG,KAAK,IAAI,EAAE,EAE1C,KAAK,eAAe,CACtB,CAEmB,QAAQA,EAA+B,CACxD,MAAM,QAAQA,CAAO,GAEnBA,EAAQ,IAAI,OAAO,GACnBA,EAAQ,IAAI,cAAc,GAC1BA,EAAQ,IAAI,MAAM,IAElB,KAAK,eAAe,CA4BxB,CAEQ,gBAAuB,CAiC/B,CACF,CA3JEC,EAAA,CADCf,EAAM,OAAO,GALH,OAMX,6BAOOe,EAAA,CADNhB,EAAS,GAZC,OAaJ,mBAOAgB,EAAA,CADNhB,EAAS,CAAE,KAAM,QAAS,QAAS,GAAM,UAAW,eAAgB,CAAC,GAnB3D,OAoBJ,4BAGIgB,EAAA,CADVhB,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAtB9B,OAuBA",
6
6
  "names": ["html", "property", "query", "ifDefined", "Focusable", "LikeAnchor", "avatarStyles", "validSizes", "defaultSize", "value", "size", "validSize", "oldSize", "altValue", "ariaHidden", "avatar", "changes", "__decorateClass"]
7
7
  }