==== Background/Goal
At 2022-07-19 DST Sprint Planning, we decided to prioritize scoping an MVP for the Link Codex component since it will help with some of our open tasks such as Card component (T278311) and Color tokens (color tokens T296995 and Red links color T305236). The goal is to scope/refine this component for MVP delivery.
===== User stories
As a contributor interested in the Link Codex component, I want to understand what the scope looks like for an MVP version of this component, so that I can more effectively plan and communicate about our work.
===== Considerations
[to come]
===== Development considerations
- If a link component is created at runtime (by the user / dynamically on the client side), we may not know in advance whether the page exists or not. Is it okay for the Link component to make a client-side API request at runtime to determine whether it is a "red link" or a "blue link"? Should this feature be limited to internal-links only? (probably yes)
- If so, do we need to handle the "undetermined state" of a link, while the request is pending? Or should links be blue by default and become red when it is discovered that the linked page does not exist?
- Are there performance or security concerns to doing this?
===== Open questions
- Can a link component contain only text, or can other elements (images, etc) be provided as content?
- Can link text content be formatted (bold, italics, multiple lines) or is only unformatted text allowed?
- Can a link have different sizes? Will it be possible to add any text size to the link text?
- Should disabled state be part of the link component?
- Is the icon-only link possible? Is it needed? Do we have any use case with it?
- Do we need to visually distinguish internal links (to other pages on the same wiki, whether they exist or not) from external links to other websites?
- Do we need any special handling for non-web-page URLs (`mailto` links, etc)
- Would we ever want to handle link preview functionality similar to the link preview feature in Vector?
===== Design spec
[to come]
===== Acceptance criteria
[] T309248 has been updated with MVP scope
[] MVP version of the Figma spec sheet is done