Maintaining the integrity of your design system is always about striking a balance between providing enough flexibility to meet your customer's needs and introducing the right constraints.
This talk is about the process, thinking, and tooling behind the customizability in Atlassian's design system, including how we support theming and customization of our react components.
30. SPECTRUM OF FLEXIBILITY
Constrained Flexible
Simple Props
Advanced Props
Base / Variants
Compound
Components
Overrides API
Set options Bring your own
36. Creating a call-out
Watch the tutorial in the
Presentation Guidelines at
Atlassian.design to learn how to
create call-outs on screenshots
within this template.
44. Anatomy of a Component
States
Properties that change as a
result of a change of state
Variants
A preset appearance option
Skin
Visual properties of a
component
Structure
Properties that effect how it lays
out on the page
Subcomponents
Smaller components that
are composed by the parent
component
45. Skin
Background-color, border-color, etc
ANATOMY OF A BUTTON
Structure
Padding, margin, height, etc
Variants
danger, primary, link, subtle, etc.
States
hover, active, focused, selected, etc
Subcomponents
Spinner, icon
53. FUTURE POSSIBILITIES
• Cross-platform component tokens
• Mapping token structure to a finite state machine
• Graphql selection of tokens
• Tokens as infrastructure for managing visual breaking
changes
• Component API as source of truth