Show:
                            /**
                             * Provides standard module support for cssClass attribute through an extension.
                             *
                             * @module aui-widget-cssclass
                             */
                            
                            /**
                             * Widget extension, which can be used to add cssClass support to the
                             * base Widget class, through the [Base.build](Base.html#method_build) method.
                             *
                             * @class A.WidgetCssClass
                             * @param {Object} The user configuration object
                             */
                            
                            function WidgetCssClass() {}
                            
                            /**
                             * Static property used to define the default attribute
                             * configuration for the Component.
                             *
                             * @property ATTRS
                             * @type Object
                             * @static
                             */
                            WidgetCssClass.ATTRS = {
                                /**
                                 * CSS class to be automatically added to the `boundingBox`.
                                 *
                                 * @attribute cssClass
                                 * @type String
                                 */
                                cssClass: {}
                            };
                            
                            /**
                             * Static property used to define the default suffix for cssClass attribute
                             * value applied on `contentBox` node.
                             *
                             * @property CSS_CLASS_CONTENT_SUFFIX
                             * @type String
                             * @static
                             */
                            WidgetCssClass.CSS_CLASS_CONTENT_SUFFIX = '-content';
                            
                            WidgetCssClass.prototype = {
                                /**
                                 * Construction logic executed during Component instantiation. Lifecycle.
                                 *
                                 * @method initializer
                                 * @param {Object} config
                                 * @protected
                                 */
                                initializer: function() {
                                    var instance = this;
                            
                                    instance._uiSetCssClass(instance.get('cssClass'));
                                    instance.after('cssClassChange', instance._afterCssClassChange);
                                },
                            
                                /**
                                 * Fires after the value of the [cssClass](Component.html#attr_cssClass)
                                 * attribute change.
                                 *
                                 * @method _afterCssClassChange
                                 * @param {EventFacade} event
                                 * @protected
                                 */
                                _afterCssClassChange: function(event) {
                                    var instance = this,
                                        prevVal;
                            
                                    prevVal = event.prevVal;
                            
                                    if (prevVal) {
                                        instance.get('boundingBox').removeClass(prevVal);
                                        instance.get('contentBox').removeClass(
                                            prevVal + WidgetCssClass.CSS_CLASS_CONTENT_SUFFIX);
                                    }
                            
                                    instance._uiSetCssClass(event.newVal);
                                },
                            
                                /**
                                 * Applies the CSS classes to the `boundingBox` and `contentBox`.
                                 *
                                 * @method _uiSetCssClass
                                 * @protected
                                 * @param {String} newVal
                                 * @param {String} prevVal
                                 */
                                _uiSetCssClass: function(val) {
                                    var instance = this;
                            
                                    if (val) {
                                        instance.get('boundingBox').addClass(val);
                                        instance.get('contentBox').addClass(
                                            val + WidgetCssClass.CSS_CLASS_CONTENT_SUFFIX);
                                    }
                                }
                            };
                            
                            A.WidgetCssClass = WidgetCssClass;