Auro Tail - Technical Research Document #598
chrisfalaska
started this conversation in
Technical Research Documents
Replies: 3 comments
-
09/22/25 — Developer TRD ReviewThe new Avatar API is very different from the current Key Decisions
|
Beta Was this translation helpful? Give feedback.
0 replies
-
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Clarification: Tail icons will continue to be imported from |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
auro-tail- Technical Research Document (formerly "auro-avatar")Creation Date: 2025-08-11
Template Version: v1
Status: Draft → Reviewable → Accepted | Abandoned
Project Proposal: ADO
Product Requirements:
Prototype: GitHub
Overview
The auro-avatar component combines a tail art graphic with a circular avatar bubble, creating a unified "Auro Avatar."
A related sub-component, auro-avatar-group, allows distinct placement of multiple auro-avatar components within predefined grouped layouts.
Problem Statement
Airline branding and partner identification requires a consistent visual component that can display airline tail graphics within circular avatar containers.
This component must support Alaska Airlines Group (AAG) brands as well as partner airlines ("OA," or "other airlines"), with optional badges, borders, and grouping capabilities.
Goals and Non-Goals
Goals
Non-Goals
Success Criteria and Measurement
Relevant Background, Prior Art or Supporting Material
This component builds upon existing Auro design system patterns and extends the concept of branded avatars to include airline tail graphics.
The component follows Lit-based web component architecture, with SSR support, consistent with other Auro components.
High-Level Approach
The solution consists of three main components:
Project Architecture and Its Components
auro-avatar
The primary component that renders airline tail graphics within a circular container.
Size
Variants
Based on tailConfig (see AvatarTails):
Gradient
A smooth transition between colors used as the background of the avatar bubble.
Three gradient styles are available for the avatar and are rendered using CSS custom properties:
Badge
Displays a badge / logo.
Badge sizes
Badge sizes based on avatar size prop:
Available badges
OneWorld badge
It should always be the version with a gradient background and white outline (this is the official oneworld logo mark; any other variation is not permitted).
Border
Optional border ring around the avatar bubble.
4pxwhenborderColoris specifiedborderWidthis specifiedborder-width=""border-color=""Outline
Optional outline that appears around the tail graphic.
tail-outline-widthandtail-outline-colorare predefined and not customizableDrop-shadow
Applies a subtle drop shadow behind the avatar tail graphic.
This is applied only to the following tails (not optional):
Label / href
An optional link that uses auro-hyperlink to display the airline name as a clickable link.
When href prop is provided:
Applies to the following sizes only:
body-lgtype class)body-default)body-sm)body-xs)https://www.figma.com/design/hSk45itvMVOyCjkheCrLn4/Avatar-Tail?node-id=3420-5897&t=63aVFfu6hFs91z8A-0
Example:
Events
href-click
Allows custom logic before navigation occurs.
auro-avatar-group
The auro-avatar-group component is designed for displaying multiple avatars in a group layout with specific behavioral constraints and visual treatments.
Limitations
Variants
Horizontal
Avatars overlap with configurable border treatment.
Visual Specifications:
Overlap: Avatars should overlap each other.
Border Width
Default Border Color: White
Border color: Customizable
Size Dimensions (2 paired avatars)
Uses the corresponding auro-avatar sizes, shown below:
Diagonal
Avatars positioned diagonally without overlap.
Visual Specifications:
outline-coloroutline-borderSize Dimensions (2 paired avatars)
Uses the corresponding auro-avatar sizes, shown below:
Figma spec
Props
AvatarTails
The AvatarTails library provides a collection of partner tail SVGs.
Repository Strategy
Option A: Maintain in auro-avatar repository
Condition: If tail SVGs are exclusively used within the auro-avatar component.
Benefits:
Option B: Migrate to auro-icon repository
Condition: If tail SVGs have broader usage across multiple components.
Requirements:
Bundle Optimization Requirements
Consumers must not be forced to load the entire tails icon library when only using specific tail logos.
Preferred: Selective import
Avoid: Full library import
Implementation Details
CSS Custom Properties
Auro Avatar uses CSS custom properties for dynamic styling:
Accessibility
Open Questions
Link Sanitization: Should href values be sanitized? Does Auro Library provide sanitization utilities? Is this an Auro concern or consumer?
Icon Library Location: Should tail graphics be maintained in auro-avatar repository or moved to shared Icons repository?
Bundle Optimization: How can we ensure optimal tree-shaking for tail graphics that aren't used?
Animation Support: Are there plans for animation?
AAG Outline: Is there an AAG tail with an outline (would complicate outline prop)?
Risks
Milestones
∆ Are there specific engineering milestones beyond those in the PRD? Are there engineering dependencies for the PRD milestones that should be explicitly called out? Can this project be broken up into incremental deliverables, and what will they look like? Will future milestones depend on the outcome of previous milestones and their success?
Milestone 1
∆ Describe the first milestone or deliverable of the system
Security
∆ Review the security section of the TDD Checklist and provide any additional information (which is not covered elsewhere in the TDD) that arises from the questions and/or instructions embedded within that section.
Privacy and Data Collection
∆ Review the privacy and data collection section of the TDD Checklist and provide any additional information (which is not covered elsewhere in the TDD) that arises from the questions and/or instructions embedded within that section
Ownership and Documentation
Beta Was this translation helpful? Give feedback.
All reactions