Widgets are made up of a set of source files and resources. These provide the widget with its functionality and include:
Templates - display templates for showing content using knockout.js.
JavaScript - view model per widget (optional).
CSS - style for the widget. Can be pure CSS or Less (see http://www.lesscss.org).
Locale Resources - resources per locale for the widget.
Images - images used for this widget, referenced via the widget asset mappings.
Widgets also consist of auxiliary files that contain help, configuration, and metadata describing the widgets. They include:
Metadata - the metadata describes the widget.
Readme - readme file containing more details for the user on the widget. Can be text or HTML format.
Elements - small pieces or fragments of functionality for a widget, including template snippet and a view model.
Edit templates/metadata - a template or metadata that provides a mechanism for configuring the widget instance.
Configuration - each widget instance can be configured. Default configuration can be delivered with the widget.