!function(e){var t=function(t,s){this.folderGroup=e(t),this.defaults={animation:"linear",animationDuration:400,openFirstFolder:!0,singleOpen:!0,onFocus:e.noop,beforeOpen:e.noop,afterOpen:e.noop,beforeClose:e.noop,afterClose:e.noop,onBlur:e.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"}}},this.classes=e.extend(!0,this.defaults.classes,window.project?window.project.classes:{}),this.labels=e.extend(!0,this.defaults.labels,window.project?window.project.labels:{}),this.config=e.extend(!0,this.defaults,s||{}),this.folders=this.folderGroup.find("."+this.classes.folder),this.folderGroup.find("."+this.classes.folderTrigger).buttonize({a11y:this.config.a11y}),this.folderGroup.find("."+this.classes.folderTrigger).attr("type","button"),this.folderTriggers=this.folderGroup.find("."+this.classes.folderTrigger),this.folderContents=this.folderGroup.find("."+this.classes.folderContent),this.updatePluginText(),this.folderTriggers.append(''+this.labels.ariaOpen+""),this.folderArias=this.folderTriggers.find("."+this.classes.ariaText),this.init()};e.extend(t.prototype,{init:function(){this.bindEvents(),this.folders.each(e.proxy(function(t,s){var i=e(s);currentAriaContainer=i.find("."+this.classes.ariaText),currentContent=i.find("."+this.classes.folderContent),i.hasClass(this.classes.forceOpen)?(i.addClass(this.classes.states.active),this.changeAriaText(currentAriaContainer,this.labels.ariaClose)):(currentContent.hide(),this.changeAriaText(currentAriaContainer,this.labels.ariaOpen))},this)),this.config.openFirstFolder&&this.openFirstFolder()},bindEvents:function(){this.folderTriggers.on("click",e.proxy(function(t){e(t.currentTarget).closest("."+this.classes.folder).hasClass(this.classes.states.active)?this.closeFolder(e(t.currentTarget)):this.openFolder(e(t.currentTarget))},this)),this.folderTriggers.on("focus",e.proxy(function(t){this.onTriggerFocus(e(t.currentTarget))},this)),this.folderTriggers.on("blur",e.proxy(function(t){this.onTriggerBlur(e(t.currentTarget))},this)),this.folderTriggers.on("focus",this.config.onFocus),this.folderTriggers.on("blur",this.config.onBlur)},updatePluginText:function(){e.each(this.config.labels,e.proxy(function(t,s){e.each(this.folderGroup.data(),e.proxy(function(e,s){var i=e.replace(/-([a-z])/g,function(e){return e[1].toUpperCase()});i===t&&(this.config.labels[i]=s)},this))},this))},openFolder:function(t){this.config.beforeOpen(),currentAriaContainer=t.find("."+this.classes.ariaText),currentFolder=t.closest("."+this.classes.folder),currentContent=currentFolder.find("."+this.classes.folderContent),1==this.config.singleOpen&&this.folders.removeClass(this.classes.states.active),currentFolder.addClass(this.classes.states.active),"none"!==this.config.animation?(1==this.config.singleOpen&&(this.folderContents.slideUp(this.config.animationDuration),this.changeAriaText(this.folderArias,this.labels.ariaOpen)),currentContent.slideDown(this.config.animationDuration,e.proxy(function(){this.config.afterOpen()},this))):(1==this.config.singleOpen&&(this.folderContents.hide(),this.changeAriaText(this.folderArias,this.labels.ariaOpen)),currentContent.show(),this.config.afterOpen()),this.changeAriaText(currentAriaContainer,this.labels.ariaClose)},closeFolder:function(t){this.config.beforeClose(),currentAriaContainer=t.find("."+this.classes.ariaText),currentFolder=t.closest("."+this.classes.folder),currentContent=currentFolder.find("."+this.classes.folderContent),currentFolder.removeClass(this.classes.states.active),"none"!==this.config.animation?currentContent.slideUp(this.config.animationDuration,e.proxy(function(){this.config.afterClose()},this)):(currentContent.hide(),this.config.afterClose()),this.changeAriaText(currentAriaContainer,this.labels.ariaOpen)},openFirstFolder:function(){var e=this.folders.first();e.find("."+this.classes.folderContent).show(),e.addClass(this.classes.states.active),this.changeAriaText(e.find("."+this.classes.ariaText),this.labels.ariaClose)},closeAll:function(){for(var t=this,s=0;s