The latest release of Adobe XD has just taken a Quantum leap forward when it comes to building out complex user experiences with the introduction of components.
Components replace what's been symbols in the past and make the task of building out repeated design elements infinitely more streamlined and powerful. Let's just jump in and take a look at this together. I'm working on a design here for a travel company, and I've got a number of different design flows for various screen sizes that I've already built out.
One thing you'll notice is that there are some common design patterns in place where layouts repeat themselves across individual artboards. So the header element here on this homepage is not that different from these two detailed recommended areas here.
Notice that the three artboards along the side here have common headers, they have common footers, and it's only the middle content that varies between those artboards. So let's go ahead and break down some of the basics around components. I'm going to move here towards the side a bit and I'm going to create another artboard. I'll press and drag that into position and I'll give it a fill color. And I have on the clipboard a button. I'm going to go ahead and paste that button onto the canvas and I'll move it up towards the top of the screen.
In order to work with the component feature, I now want to convert this group of objects to a component. To do so, I'll make sure I have the entire group selected, and I'll pull down under Object to Make Component. One thing you'll notice is that the keyboard command there on the right, CMD- or CTRL-K is the same as it was to make something into a symbol. In fact, if you have documents that you've created in the past with XD with symbols, those symbols will automatically convert over to components when you open them up in the latest version of XD.
I'll go ahead and select "Make Component". Now notice that the selection state changed from a blue highlight to green and there's also another indicator here a diamond in green that lets me know that this is a master component. When I come in and create variances on a component, it's going to rely on the master for any of the overrides that I want to apply to the instances. What I can do is come in and duplicate this button down the screen here.
Notice that the second button doesn't have the diamond. That means that it's an instance and it's not the master. I can keep dragging those out and from here I'll do some standard variances to the button design. Okay, so I varied certain aspects of the instances, but some other aspects are still all the same. For example, three of the button still have the same background fill color. They all have the same typeface, they all have the same positioning of that typeface. They also all have rounded corners.
I can now come to the master instance and select it, and from there make some changes. So let's say I want to go with an entirely different fill color. Selecting that master button, I'll come to the fill area and I'll select just a different color. Let's go with this beautiful shade of blue. Notice that it changed all of the instances except for the one where I overrode the background fill color — that was retained.
I may also want to come in and change the position of the text; it seems a little high to me. So I can come in and select that text and just move it down a couple pixels. Notice that it moved all of the text instances, even though I overrode the actual word that it said — I changed the button text. Now as I'm working, I may or may not have a master instance of all my components on the design canvas. Let's say in this example, I didn't. I'm going to go ahead and delete it off the canvas. I can come to any instance and right-click on it, and select "Edit Master Component". If it's not on the design canvas, XD is going to create it. If it is on the design canvas, it's going to navigate me to wherever that button exists. So if I say "Edit Master Component", it went in, created that master for me. I can then drag it over here to make those changes.
Well, as you can tell I've really only scratched the surface of this new capability, but I think you'll agree, this is a quantum change to the way XD handles sophisticated repeat elements while retaining that ultimate flexibility. I encourage you to jump in and give this new capability a try.