The attribute module provides an augmentable Attribute implementation, which adds configurable attributes and attribute change events to the class being augmented. It also provides a State class, which is used internally by Attribute, but can also be used independently to provide a name/property/value data structure to store state.

This module is a rollup of the following modules:

  • attribute-base
    The attribute-base submodule provides core attribute handling support, with everything aside from complex attribute handling in the provider's constructor.
  • attribute-complex
    Adds support for attribute providers to handle complex attributes in the constructor
  • attribute-core
    The attribute-core submodule provides the lightest level of attribute handling support without Attribute change events, or lesser used methods such as reset(), modifyAttrs(), and removeAttr().
  • attribute-extras
    The attribute-extras submodule provides less commonly used attribute methods, and can be augmented/mixed into an implemention which used attribute-core.
  • attribute-observable
    The attribute-observable submodule provides augmentable attribute change event support for AttributeCore based implementations.