// Folder jQuery Plugin // A jQuery folder plugin (function($) { var Folder = function(element, options) { this.folderGroup = $(element); // Default module configuration this.defaults = { animation: 'linear', animationDuration: 400, openFirstFolder: true, singleOpen: true, onFocus: $.noop, beforeOpen: $.noop, afterOpen: $.noop, beforeClose: $.noop, afterClose: $.noop, onBlur: $.noop, labels: { ariaOpen: 'Cliquer pour ouvrir', ariaClose: 'Cliquer pour fermer' }, classes: { ariaText: 'aria-text', forceOpen: 'is-default-open', folder: 'folder', folderGroup: 'folder-group', folderTrigger: 'folder-trigger', folderContent: 'folder-content', states: { active: 'is-active' } } }; // Merge default classes with window.project.classes this.classes = $.extend(true, this.defaults.classes, (window.project ? window.project.classes : {})); // Merge default labels with window.project.labels this.labels = $.extend(true, this.defaults.labels, (window.project ? window.project.labels : {})); // Merge default config with custom config this.config = $.extend(true, this.defaults, options || {}); // Get all the folders this.folders = this.folderGroup.find('.' + this.classes.folder); // Get all the folders triggers and transform them into