Current section

Files

Jump to
noora components avatar.json
Raw

components/avatar.json

{
"name": "Avatar",
"tagName": "noora-avatar",
"elementClassName": "NooraAvatar",
"className": "noora-avatar",
"modulePath": "./priv/static/noora-web-components.js",
"description": "Displays an image, initials, or a placeholder for an account.",
"usage": "<noora-avatar name=\"Ada Lovelace\"></noora-avatar>",
"attributes": [
{
"name": "name",
"property": "name",
"type": "string",
"default": "",
"description": "Provides the account name and accessible label."
},
{
"name": "color",
"property": "color",
"type": "string",
"values": [
"gray",
"red",
"orange",
"yellow",
"green",
"azure",
"blue",
"purple",
"pink"
],
"default": "pink",
"description": "Controls the fallback color."
},
{
"name": "image-href",
"property": "imageHref",
"type": "string",
"description": "Sets the image location."
},
{
"name": "image-decoding",
"property": "imageDecoding",
"type": "string",
"values": ["sync", "async", "auto"],
"default": "async",
"description": "Controls image decoding."
},
{
"name": "image-loading",
"property": "imageLoading",
"type": "string",
"values": ["eager", "lazy"],
"description": "Controls image loading."
},
{
"name": "fallback",
"property": "fallback",
"type": "string",
"values": ["initials", "placeholder"],
"default": "initials",
"description": "Chooses the fallback when the image is unavailable."
},
{
"name": "size",
"property": "size",
"type": "string",
"values": ["2xsmall", "small", "medium", "large", "xlarge", "2xlarge"],
"default": "medium",
"description": "Controls the avatar dimensions."
}
],
"readonlyProperties": [],
"slots": [],
"cssParts": [
{
"name": "avatar",
"description": "The avatar container."
},
{
"name": "image",
"description": "The image."
},
{
"name": "initials",
"description": "The initials fallback."
}
],
"events": [
{
"name": "noora-status-change",
"type": "CustomEvent<{ status: \"loaded\" | \"error\" }>",
"description": "Emitted when the avatar image loads or fails."
}
],
"notes": ["Image loading changes emit a `noora-status-change` event."],
"examples": [
{
"id": "basic",
"title": "Basic",
"description": "Display initials, a remote image, or a placeholder fallback.",
"markup": "<noora-avatar name=\"Asmit Malakannawar\"></noora-avatar>\n<noora-avatar name=\"Marek Fořt\" image-href=\"https://www.gravatar.com/avatar/292c129cf17a552c08b4d9dcf2c6c1f8\"></noora-avatar>\n<noora-avatar name=\"Marek Fořt\" image-href=\"https://www.invalid.url\" fallback=\"placeholder\"></noora-avatar>"
},
{
"id": "sizes",
"title": "Sizes",
"description": "Avatar sizes range from twice-extra-small to twice-extra-large.",
"markup": "<noora-avatar name=\"Asmit Malakannawar\" size=\"2xsmall\" color=\"gray\"></noora-avatar>\n<noora-avatar name=\"Asmit Malakannawar\" size=\"small\" color=\"orange\"></noora-avatar>\n<noora-avatar name=\"Asmit Malakannawar\" size=\"medium\" color=\"yellow\"></noora-avatar>\n<noora-avatar name=\"Asmit Malakannawar\" size=\"large\" color=\"azure\"></noora-avatar>\n<noora-avatar name=\"Asmit Malakannawar\" size=\"xlarge\" color=\"blue\"></noora-avatar>\n<noora-avatar name=\"Asmit Malakannawar\" size=\"2xlarge\" color=\"purple\"></noora-avatar>"
},
{
"id": "colors",
"title": "Colors",
"description": "Use any of the fallback colors available to LiveView avatars.",
"markup": "<noora-avatar name=\"John Doe\" color=\"gray\"></noora-avatar>\n<noora-avatar name=\"Jane Smith\" color=\"red\"></noora-avatar>\n<noora-avatar name=\"Bob Johnson\" color=\"orange\"></noora-avatar>\n<noora-avatar name=\"Alice Brown\" color=\"yellow\"></noora-avatar>\n<noora-avatar name=\"Charlie Davis\" color=\"azure\"></noora-avatar>\n<noora-avatar name=\"Emma Wilson\" color=\"blue\"></noora-avatar>\n<noora-avatar name=\"Frank Miller\" color=\"purple\"></noora-avatar>\n<noora-avatar name=\"Grace Taylor\" color=\"pink\"></noora-avatar>"
},
{
"id": "edge-cases",
"title": "Name formats",
"description": "Initials handle single names, multiple names, separators, and accented characters.",
"markup": "<noora-avatar name=\"Madonna\" color=\"purple\"></noora-avatar>\n<noora-avatar name=\"Mary Jane Watson\" color=\"red\"></noora-avatar>\n<noora-avatar name=\"Anne-Marie Johnson\" color=\"blue\"></noora-avatar>\n<noora-avatar name=\"john_doe_123\" color=\"gray\"></noora-avatar>\n<noora-avatar name=\"José García\" color=\"orange\"></noora-avatar>\n<noora-avatar name=\"Failed Image Test\" image-href=\"\" fallback=\"initials\"></noora-avatar>"
}
]
}