Example expanded mode widgets

Example list-of-links widgets in expanded mode

list-of-links widgets change display depending upon how many links. Zero links or a single link that would be redundant with the launch button collapse to a basic widget. Fewer than four links display as circle buttons. More links display as a list.

Example switch widgets in expanded mode

Switch widgets dynamically change runtime type depending upon the response from a JSON callback. They are useful for composing existing widget types to create composite widgets that fulfill more complicated use cases without proliferating new widget types or opting out of the type system to use an entirely custom widget.

Example `time-sensitive-content` widgets in expanded mode

`time-sensitive-content` widgets render different content depending upon the date.

Example `action-items` widgets in expanded mode

`action-items` widgets render indicators of quantities. Individual quantity indicators fail independently. When there are more items than can be displayed, `action-items` prioritizes items that are not failing.

Example custom widgets in expanded mode

custom widgets render arbitrary AngularJS templates optionally applied to dynamic JSON. `generic` is a deprecated alias for the `custom` widget type.

Example remote-content widget in expanded mode

remote-content widgets render arbitrary markup sourced from a URL.

Example failing silently when so configured

Demonstrates fail-silently attribute on widget directive. There are two widgets here with bogus fnames, but the second has fail-silently true, so it silently disappears.

Example compact mode widgets

Compact widget using new web component hurray