Skip to main content

Where to put components in a design system?

28th October, 2022

Updated: 28th October, 2022

    How to determine whether the front end or design system is the best place to add a feature?

    Hannah:Turns out fuzzy felts are the perfect analogy for this.

    K0qKPY1xYdBsZ8PISK2x6Zg5 75gGO8 Vm2bX3y1wrTDL6mnv4 zN9rbq5z3nMfL5 6u1ZcmwMyNXZ1zVhB5ddHHIpHKp5xxqTG0OhTIWHbPlMilN7 pJt59k11G8PLk5SaGUVJO img 8MwLQ87XwiD1q0d  wlQT3rL92K8c5RmvJBuAKB9VaRR9I UyMvC1jmUjW F N29y2RkAEY7iLSu90EMzSNMJt60bGFQae5t9eCfaoCtS G krIrrqpwcBtSzAgBh0yY9dNaFDGU img A component is an individual element such as a button that can be combined with other elements to create larger components. If components are represented as fuzzy felts I can create any combination of designsusing the fuzzy felts on my desk. Anyone can come by and see my creations however I can't pick up my desk and show it to anyone (ie the internet) because they’ll all fall off. The desk is the perfect place to preview and try things out though however. If I then add in the dedicated fuzzy felt board I can create infinite combinations with those fuzzy felts. I can also pick up that board and show them proudly to anyone (the internet) without them falling off. The ability for the fuzzy felts to stick to the desk can be (very abstractly!) interpreted as data. When the fuzzy felts are on my desk they don’t stick because they don’t have any data. What they display is just example data. However when we put the fuzzy felts on to the fuzzy felt board they're held there by the data that is passed through to them from the front end. That data pins them in place. Anything that involves CSS and styling will live in the design system. Even structural things such as a container (see MaxWidthContainer) live in the design system. The frontend just takes all the components and puts them together with the data. The design system has no ability to talk to the CMS to gather data. Anything that is in there will be example data. (exception being the postcode API - it knows this exists)


    4622f207-7fd5-4900-b22a-3738b90099a1

    Created on: 28th October, 2022

    Last updated: 28th October, 2022

    Tagged With: