Components & Design systems
It wode be really good that designers to have capabilities to design with components which can be used separately or combined into a new component because today technologies are relying on this concepts example React, ReactNative ... This feature would give designers the capability to build consistent design systems.
XD already allows users to paste appearance only, and I used to think it'd be nice if those styes could be defined as an abstract component and reused when creating variations of a component The procedure would be something like this.
1. define a set of styles as a style-only-component (or whatever you call it).
2. apply it to a master component in order to create :
a) a sub-master component (like implementing an interface to a class in Java), or
b) a state of the component (like layer effect in Photoshop)
In this way, it might be easier to maintain consistency of hover state across buttons for example.
Steve Anthony commented
Why is no one voting for this? This is really really needed
Izel Maras commented
A Design System Manager that is the improved version of Invision
Vincent Spallek commented
Another aspect to consider is the philosophy of OOCSS:
1. Create design tokens (color, font specs)
2. Utilizing these tokens, create CSS classes as defined by OOCSS. Example: protective-margin for a margin around clickable elements; clickable-area for a minimum width and height and mouse cursor; button-background for the colors for the different states. Then we can create another class button-background--emph for an emphasized button without having to repeat all the other specifications that won't change
3. Combine those classes to build-up the elements. With this approach, they will become much more consistent with little effort <button class="protective-margin clickable-area button-background">Normal button</button>, <button class="protective-margin clickable-area button-background--emph">Important button</button>
4. Use those elements to build-up the screens and flow
It would be great if something like this would be supported by XD. Other Adobe tools like InDesign allow it to assign one style (e.g. paragraph style) to each element, but not several. Even in Dreamweaver, I can only pick one CSS class when using the design view.
Vlad Malik commented
I second Object-Oriented design for XD components, so they encapsulate assets, layout, animations, and interactivity. Here's a full description on Twitter, using Unreal Engine as an example from gaming dev: https://twitter.com/VladMalik/status/1067226303185616896
Vincent Spallek commented
One example for a design system: https://vueds.com/