CRUD
The names live behind /api/names in this site's service worker. A <provider-fetch> reads the list and the sheet paints its rows; Create, Update and Delete are <super-form>s that each send one request, and the list is read again after each. The filter and the selection are attributes on this view's root: the sheet hides the rows whose surname does not start with the prefix and enables Update / Delete while a visible row is checked.
Task 5 of 7GUIs, a GUI programming benchmark.
The playground needs this site's service worker, which is still installing. Reload the page to start editing.