Add Components to the Assets panel.
Beyond Symbols, there is a need to have reusable Components. Where Symbols are a reusable group of elements, a Component is a reusable group of mini artboards that could be placed into a larger layout.
1) Opens up the possibility of showing on-page interactions without having to duplicate entire artboards of content.
The dream is to have each element only once in an entire project because making a single edit when you have duplicate content is a nightmare. A use case example would be needing to show all the states of a small newsfeed widget with tabs for news sources. Right now I have to duplicate the entire artboard multiple times to show what will happen in that one little spot. It'd be better to design the Component separately. Assign all interactions at the Component level and then place that single Component into my layout. An additional sample use case would be needing to show the hover effect of a card. Having Components would allow me to design the natural state as a mini artboard and then the hover state as a mini artboard and then bring the two together as a single Component that can be placed into a layout. The hope of course would be that the animation effects between the mini artboards would now be able to work at the Component level. And that Hover would be added into the list of possibilities.
2) Opens the possibility of creating reusable templated objects.
For example, we need to create a card that has an image, headline, preview text, a color block for tags that need to change width and color based on the card, and a button that needs to have variable width based on the copy. And I plan on using this same card dozens of times over dozens of pages, with different content each time. Now, a change comes through and I need to reorder the elements within the card. If I were to use a symbol to create this reusable object I don't have the flexibility to change shape widths, colors, or artwork individually to accommodate the content. So, right now I have to create a card and copy and paste it over and over again. When the change request comes, I have to go back through my entire project and manually make the changes. If though. the card first been created as a Component then the change could happen at the Component level, effecting all instances, while the individual elements within the component had the ability to override the master for each individual card.
3) Opens the possibility of having flexible "Symbols."
Right now Symbols are a fixed size. So creating something like a primary nav using Symbols requires creating a different Symbol for every breakpoint. Adding an item to that nav means making that change multiple times for each breakpoint. Symbols were really designed for things like icons and logos. Objects that are part of a fixed library and that need to stay consistent. Components on the other hand would be able to take advantage of the new "Responsive Resize" functionality of XD where we build the Component, establish it's resize parameters and then take advantage of it again and again at every breakpoint.
Thanks a ton for your feedback! This is in line with what we want to do. All three of these behaviors are actually already captured in UserVoice and are waiting for your upvote!
- Override styles: https://adobexd.uservoice.com/forums/353007/suggestions/19626142
- Symbol states (for interactivity and visual differences): https://adobexd.uservoice.com/forums/353007/suggestions/13031871
- Responsive resize for symbols: https://adobexd.uservoice.com/forums/353007/suggestions/35489128