Dividing palette into categories


I have a palette from which I can drag and drop components into my canvas. Currently, all the components I define in my palette model are displayed together in the palette.

I want to group my components into different categories as seen in the following image.

How can I display different categories like this in my palette?

If you want to implement something like that, I would define a second node template on the Palette that would be for the headers. You probably want to set Part.selectable to be false. Make it about double the width of the icon of the regular nodes and set the Part.locationSpot of both templates to be go.Spot.Center. And set the Palette’s "layout.cellSize": new go.Size(1, 1).

A completely different kind of design would be to implement multiple Palettes. An example is at https://gojs.net/latest/samples/planogram.html.