{"version":3,"sources":["fett.offcanvas.js"],"names":["$","window","document","Drupal","behaviors","fettOffcanvas","$wrapper","$push","wrapperClasses","$items","$links","items","isOpen","attach","context","settings","this","attr","removeClass","once","on","linkClickOpen","bind","linkClickClose","getSettings","id","e","preventDefault","currentTarget","data","open","close","self","timeout","setTimeout","target","closest","length","filter","addClass","position","off","jQuery"],"mappings":"CAIC,SAAUA,EAAGC,EAAQC,GAEpB,YAEAC,QAAOC,UAAUC,eACfC,SAAU,KACVC,MAAO,KACPC,eAAgB,GAChBC,OAAQ,KACRC,OAAQ,KACRC,SACAC,QAAQ,EAERC,OAAQ,SAAUC,EAASC,GACrBA,EAASV,eAAiBU,EAASV,cAAcM,QACnDK,KAAKL,MAAQI,EAASV,cAAcM,MACpCK,KAAKV,SAAWN,EAAE,sBAClBgB,KAAKT,MAAQP,EAAE,mBACfgB,KAAKR,eAAiBQ,KAAKR,gBAAkBQ,KAAKV,SAASW,KAAK,SAChED,KAAKP,OAAST,EAAE,mBAChBgB,KAAKN,OAASV,EAAE,mBAAmBkB,YAAY,WAC/CF,KAAKN,OAAOS,KAAK,kBAAkBC,GAAG,QAASJ,KAAKK,cAAcC,KAAKN,OACvEhB,EAAE,oBAAoBmB,KAAK,kBAAkBC,GAAG,QAASJ,KAAKO,eAAeD,KAAKN,SAItFQ,YAAa,SAAUC,GACrB,MAAOT,MAAKL,MAAMc,GAAMT,KAAKL,MAAMc,OAGrCJ,cAAe,SAAUK,GACvBA,EAAEC,gBACF,IAAIF,GAAKzB,EAAE0B,EAAEE,eAAeC,KAAK,KACjCb,MAAKc,KAAKL,IAGZF,eAAgB,SAAUG,GACxBA,EAAEC,iBACFX,KAAKe,SAGPD,KAAM,SAAUL,GACd,GAAIO,GAAOhB,KACPD,EAAWC,KAAKQ,YAAYC,GAC5BQ,EAAU,CACVjB,MAAKJ,SACPI,KAAKe,QACLE,EAAU,KAEZC,WAAW,WACTF,EAAKpB,QAAS,EACdoB,EAAKzB,MAAMa,GAAG,kBAAmB,SAAUM,GACpC1B,EAAE0B,EAAES,QAAQC,QAAQ,oBAAoBC,QAC3CL,EAAKD,UAGTC,EAAKvB,OAAO6B,OAAO,mBAAqBb,GAAIc,SAAS,UACrDP,EAAK1B,SAASiC,SAAS,UAAYxB,EAASyB,UAC5CN,WAAW,WACTF,EAAK1B,SAASiC,SAAS,YACtB,KACFN,IAGLF,MAAO,WACL,GAAIf,KAAKJ,OAAQ,CACf,GAAIoB,GAAOhB,IACXA,MAAKV,SAASY,YAAY,WAC1BF,KAAKT,MAAMkC,IAAI,mBACfP,WAAW,WACTF,EAAKpB,QAAS,EACdoB,EAAK1B,SAASW,KAAK,QAASe,EAAKxB,gBACjCwB,EAAKvB,OAAOS,YAAY,WACvB,SAKTwB,OAAQzC,OAAQC","file":"fett.offcanvas.js","sourcesContent":["/**\n * @file\n * Fett Offcanvas.\n */\n(function ($, window, document) {\n\n 'use strict';\n\n Drupal.behaviors.fettOffcanvas = {\n $wrapper: null,\n $push: null,\n wrapperClasses: '',\n $items: null,\n $links: null,\n items: [],\n isOpen: false,\n\n attach: function (context, settings) {\n if (settings.fettOffcanvas && settings.fettOffcanvas.items) {\n this.items = settings.fettOffcanvas.items;\n this.$wrapper = $('.offcanvas-wrapper');\n this.$push = $('.offcanvas-push');\n this.wrapperClasses = this.wrapperClasses || this.$wrapper.attr('class');\n this.$items = $('.offcanvas-item');\n this.$links = $('.offcanvas-link').removeClass('js-hide');\n this.$links.once('fett-offcanvas').on('click', this.linkClickOpen.bind(this));\n $('.offcanvas-close').once('fett-offcanvas').on('click', this.linkClickClose.bind(this));\n }\n },\n\n getSettings: function (id) {\n return this.items[id] ? this.items[id] : {};\n },\n\n linkClickOpen: function (e) {\n e.preventDefault();\n var id = $(e.currentTarget).data('id');\n this.open(id);\n },\n\n linkClickClose: function (e) {\n e.preventDefault();\n this.close();\n },\n\n open: function (id) {\n var self = this;\n var settings = this.getSettings(id);\n var timeout = 0;\n if (this.isOpen) {\n this.close();\n timeout = 525;\n }\n setTimeout(function () {\n self.isOpen = true;\n self.$push.on('click.offcanvas', function (e) {\n if (!$(e.target).closest('.offcanvas-items').length) {\n self.close();\n }\n });\n self.$items.filter('.offcanvas-item-' + id).addClass('active');\n self.$wrapper.addClass('active ' + settings.position);\n setTimeout(function () {\n self.$wrapper.addClass('animate');\n }, 25);\n }, timeout);\n },\n\n close: function () {\n if (this.isOpen) {\n var self = this;\n this.$wrapper.removeClass('animate');\n this.$push.off('click.offcanvas');\n setTimeout(function () {\n self.isOpen = false;\n self.$wrapper.attr('class', self.wrapperClasses);\n self.$items.removeClass('active');\n }, 500);\n }\n }\n };\n\n}(jQuery, window, document));\n"],"sourceRoot":"/source/"}