# Development

## Plugin API

> Plugin API allows you to extend carousel object constructor and use internal functions and variables. Use callback events to communicate between host and plugin.

Plugin scaffolding:

    /**
     * Plugin Name
     * @since 2.0.0
     */
    ;(function ( $, window, document, undefined ) {
        PluginName = function(scope){
            this.owl = scope;
            this.owl._options = $.extend(PluginName.Defaults, this.owl.options);
            //link callback events with owl carousel here
        }
        PluginName.Defaults = {
            optionName: 'value',
            optionName2: 'value'
        }
        //mehtods:
        PluginName.prototype.method = function(){
        }
        //destroy:
        AutoHeight.prototype.destroy = function(){
            //events here
        };
        $.fn.owlCarousel.Constructor.Plugins['pluginName'] = PluginName;
    })( window.Zepto || window.jQuery, window,  document );