SidebarCustomizeDialog

Linear-style sidebar editor: a settings card, then sections of rows that each pick Always show, Show when it has items or Don't show, reordered by dragging the row.

Playground

Linear-style sidebar editor. Each row picks Always show, Show when it has items, or Don't show; drag the row itself to reorder.

<SidebarCustomizeDialog
  isOpen={open}
  onOpenChange={setOpen}
  sections={sections}
  onReorder={reorder}
  onVisibilityChange={setVisibility}
  settings={<SidebarCustomizeSetting label="Sort your objects">…</SidebarCustomizeSetting>}
/>