Skip to content

Latest commit

 

History

History
90 lines (60 loc) · 2.73 KB

0001-sourcing-icons.md

File metadata and controls

90 lines (60 loc) · 2.73 KB

Sourcing Icons

  • Status: Proposed
  • Deciders: (tbd)
  • Date: 2020-10-03

Technical Story: Related to 914

Context and Problem Statement

Icons can come in a variety of formats, but SVG is arguably best because it scales and looks crisp at any size.

Using a library like react-icons makes it easy to import icons from a range of libraries without having to worry about manually curating and optimizing files, but we still want to be careful about which licenses we're working with.

Decision Drivers

  • We have a few icons already included, but imported manually
  • We don't have any systems currently in place to ensure new icons added manually are processed consistently
  • There will often be a need to source new icons for different purposes (so having a library or two on hand isn't a bad idea)
  • The icons (in react-icons specifically) are made available via es-style imports which ensures you're only adding weight for the individual icons actually used

Open Questions to Address

  • Should we use this for ALL icons (and replace any existing icons): can be tackled on an icon by icon basis

Considered Options

  • Always import manually on a case by case basis
    • Potentially error prone
    • Would require docs/pipeline for how to add new icons to system
  • Do Nothing?

Decision Outcome

TODO: UPDATE:

Chosen option: "[option 1]", because [justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force force | … | comes out best (see below)].

Positive Consequences

  • [e.g., improvement of quality attribute satisfaction, follow-up decisions required, …]

Negative Consequences

  • [e.g., compromising quality attribute, follow-up decisions required, …]

Pros and Cons of the Options

[option 1]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 2]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

[option 3]

[example | description | pointer to more information | …]

  • Good, because [argument a]
  • Good, because [argument b]
  • Bad, because [argument c]

Links