We have an "expandable list item" paradigm that consists of the following:
- An icon on the left
- A column of labels, commonly a header and a subtitle
- A button on the right that executes the item's default action (e.g. Connect, Pause, Mount, etc)
- When you click on the item, it expands downwards to show a list of actions, or optionally some custom view
It looks like this:
This paradigm is used in the applets for Device Notifier, Vaults, Networks, Bluetooth, and Printers. However each one implements the paradigm using custom code, resulting in various behavioral and visual differences between them.
We should extract as much of this as possible into a re-usable component to ensure better visual and behavioral consistency, and avoid re-inventing the wheel in every applet or other UI that wants to implement this paradigm for its list items.