An improved version of OutlinePicker

I’ve promised to present an improved version of the OutlinePicker shown in this post and here it is. What did I do?

  1. The parameter list changed a little bit. Now there’s a special title for „No Selection“ and we do not need the isExpanded parameter anymore since we want to expand the nodes automatically according to the selection.
  2. I’ve introduced the new array nodesToExpand. I’ll come back to that a little bit later.
  3. Instead of a sheet the selection view is presented as a popover (WithPopover from this post). Using that we do not need a close button anymore.
  4. The NodeOutlineGroup from this post is used to accept the array of expanded nodes.
  5. Instead of a Form I use a List here with a plain listStyle. That looks better in the popover view.
  6. The „No Selection“ section is now separated from the list in a similar manner as a Divider would do it in a Picker view.