{"version":3,"file":"kendo.responsivepanel.min.js","names":["factory","define","amd","$","NS","OPEN","CLOSE","ACTIVATE_EVENTS","Widget","ResponsivePanel","window","kendo","jQuery","ui","extend","init","element","options","fn","call","this","_guid","guid","_toggleHandler","_toggleButtonClick","bind","_closeHandler","_close","document","documentElement","on","toggleButton","_registerBreakpoint","content","destroy","children","html","addClass","orientation","_resizeHandler","resize","_mediaQuery","_registerStyle","template","breakpoint","cssText","head","style","createElement","appendChild","styleSheet","createTextNode","name","autoClose","events","_resize","removeClass","off","e","preventDefault","type","hasClass","close","open","trigger","prevented","isDefaultPrevented","target","closest","length","plugin"],"sources":["kendo.responsivepanel.js"],"mappings":"CAAA,SAAWA,GACW,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,kBAAmBD,GACxEA,IAFJ,EAGG,WACC,IAQUG,EACFC,EACAC,EACAC,EACAC,EACAC,EACAC,EANEN,EAmJPO,OAAOC,MAAMC,OAjJRP,EAAO,OACPC,EAAQ,QACRC,EAAkB,SAHlBH,EAAK,yBAG4B,cAAgBA,EAAK,YAAcA,EACpEI,EAASG,MAAME,GAAGL,OAClBC,EAAkBD,EAAOM,OAAO,CAChCC,KAAM,SAASC,EAASC,GACpBT,EAAOU,GAAGH,KAAKI,KAAKC,KAAMJ,EAASC,GAEnCG,KAAKC,MAAQ,IAAMV,MAAMW,OAEzBF,KAAKG,eAAiBH,KAAKI,mBAAmBC,KAAKL,MACnDA,KAAKM,cAAgBN,KAAKO,OAAOF,KAAKL,MAEtCjB,EAAEyB,SAASC,iBAAiBC,GAAGvB,EAAiBa,KAAKH,QAAQc,aAAcX,KAAKG,gBAEhFH,KAAKY,sBAEDZ,KAAKH,QAAQgB,UACbtB,MAAMuB,QAAQd,KAAKJ,QAAQmB,YAC3Bf,KAAKJ,QAAQoB,KAAKhB,KAAKH,QAAQgB,UAGnCb,KAAKJ,QACAqB,SAAS,qBAAuBjB,KAAKH,QAAQqB,YAAc,IAAMlB,KAAKC,OAE3ED,KAAKmB,eAAiBnB,KAAKoB,OAAOf,KAAKL,MAAM,GAC7CjB,EAAEO,QAAQoB,GAAG,SAAW1B,EAAIgB,KAAKmB,iBAErCE,YACI,8+BAgCJT,oBAAqB,WACjB,IAAIf,EAAUG,KAAKH,QAEnBG,KAAKsB,eAAe/B,MAAMgC,SAASvB,KAAKqB,YAApB9B,CAAiC,CACjDiC,WAAY3B,EAAQ2B,WACpBb,aAAcd,EAAQc,aACtBT,KAAMF,KAAKC,UAGnBqB,eAAgB,SAASG,GACrB,IAAIC,EAAO3C,EAAE,aAAa,GACtB4C,EAAQnB,SAASoB,cAAc,SAEnCF,EAAKG,YAAYF,GAEbA,EAAMG,WACNH,EAAMG,WAAWL,QAAUA,EAE3BE,EAAME,YAAYrB,SAASuB,eAAeN,KAGlD5B,QAAS,CACLmC,KAAM,kBACNnB,QAAS,GACTK,YAAa,OACbP,aAAc,mBACda,WAAY,IACZS,WAAW,GAEfC,OAAQ,CACJjD,EACAC,GAEJiD,QAAS,WACLnC,KAAKJ,QAAQwC,YAAY,sCAEzBrD,EAAEyB,SAASC,iBAAiB4B,IAAIlD,EAAiBa,KAAKM,gBAE1DF,mBAAoB,SAASkC,GACzBA,EAAEC,iBAEY,YAAVD,EAAEE,OAIFxC,KAAKJ,QAAQ6C,SAAS,qBACtBzC,KAAK0C,QAEL1C,KAAK2C,SAGbA,KAAM,WACG3C,KAAK4C,QAAQ3D,KACde,KAAKJ,QAAQqB,SAAS,sCAElBjB,KAAKH,QAAQoC,WACblD,EAAEyB,SAASC,iBAAiBC,GAAGvB,EAAiBa,KAAKM,iBAIjEoC,MAAO,WACE1C,KAAK4C,QAAQ1D,KACdc,KAAKJ,QAAQqB,SAAS,oBAAoBmB,YAAY,qBAEtDrD,EAAEyB,SAASC,iBAAiB4B,IAAIlD,EAAiBa,KAAKM,iBAG9DC,OAAQ,SAAS+B,GACb,IAAIO,EAAYP,EAAEQ,qBACF/D,EAAEuD,EAAES,QAAQC,QAAQhD,KAAKH,QAAQc,aAAe,cAEjDsC,QAAWJ,GACtB7C,KAAK0C,SAGb5B,QAAS,WACL1B,EAAOU,GAAGgB,QAAQf,KAAKC,MAEvBjB,EAAEO,QAAQ+C,IAAI,SAAWrD,EAAIgB,KAAKmB,gBAClCpC,EAAEyB,SAASC,iBAAiB4B,IAAIlD,EAAiBa,KAAKM,kBAI9Df,MAAME,GAAGyD,OAAO7D","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"responsive-panel\",\n name: \"Responsive Panel\",\n category: \"web\",\n description: \"The Responsive Panel widget allows a panel of content to be hidden on mobile devices, available through a toggle button.\",\n depends: [ \"core\" ]\n };\n\n (function($, undefined$1) {\n var NS = \".kendoResponsivePanel\";\n var OPEN = \"open\";\n var CLOSE = \"close\";\n var ACTIVATE_EVENTS = \"click\" + NS + \" touchstart\" + NS + \" touchend\" + NS;\n var Widget = kendo.ui.Widget;\n var ResponsivePanel = Widget.extend({\n init: function(element, options) {\n Widget.fn.init.call(this, element, options);\n\n this._guid = \"_\" + kendo.guid();\n\n this._toggleHandler = this._toggleButtonClick.bind(this);\n this._closeHandler = this._close.bind(this);\n\n $(document.documentElement).on(ACTIVATE_EVENTS, this.options.toggleButton, this._toggleHandler);\n\n this._registerBreakpoint();\n\n if (this.options.content) {\n kendo.destroy(this.element.children());\n this.element.html(this.options.content);\n }\n\n this.element\n .addClass(\"k-rpanel k-rpanel-\" + this.options.orientation + \" \" + this._guid);\n\n this._resizeHandler = this.resize.bind(this, true);\n $(window).on(\"resize\" + NS, this._resizeHandler);\n },\n _mediaQuery:\n \"@media (max-width: #= breakpoint-1 #px) {\" +\n \".#= guid #.k-rpanel-animate.k-rpanel-left,\" +\n \".#= guid #.k-rpanel-animate.k-rpanel-right {\" +\n \"-webkit-transition: -webkit-transform .2s ease-out;\" +\n \"-ms-transition: -ms-transform .2s ease-out;\" +\n \"transition: transform .2s ease-out;\" +\n \"} \" +\n \".#= guid #.k-rpanel-top {\" +\n \"overflow: hidden;\" +\n \"}\" +\n \".#= guid #.k-rpanel-animate.k-rpanel-top {\" +\n \"-webkit-transition: max-height .2s linear;\" +\n \"-ms-transition: max-height .2s linear;\" +\n \"transition: max-height .2s linear;\" +\n \"}\" +\n \"} \" +\n \"@media (min-width: #= breakpoint #px) {\" +\n \"#= toggleButton # { display: none; } \" +\n \".#= guid #.k-rpanel-left { float: left; } \" +\n \".#= guid #.k-rpanel-right { float: right; } \" +\n \".#= guid #.k-rpanel-left, .#= guid #.k-rpanel-right {\" +\n \"position: relative;\" +\n \"-webkit-transform: translateX(0);\" +\n \"-ms-transform: translateX(0);\" +\n \"transform: translateX(0);\" +\n \"-webkit-transform: translateX(0) translateZ(0);\" +\n \"-ms-transform: translateX(0) translateZ(0);\" +\n \"transform: translateX(0) translateZ(0);\" +\n \"} \" +\n \".k-ie9 .#= guid #.k-rpanel-left { left: 0; } \" +\n \".#= guid #.k-rpanel-top { max-height: none; }\" +\n \"}\",\n _registerBreakpoint: function() {\n var options = this.options;\n\n this._registerStyle(kendo.template(this._mediaQuery)({\n breakpoint: options.breakpoint,\n toggleButton: options.toggleButton,\n guid: this._guid\n }));\n },\n _registerStyle: function(cssText) {\n var head = $(\"head,body\")[0];\n var style = document.createElement('style');\n\n head.appendChild(style);\n\n if (style.styleSheet) {\n style.styleSheet.cssText = cssText;\n } else {\n style.appendChild(document.createTextNode(cssText));\n }\n },\n options: {\n name: \"ResponsivePanel\",\n content: \"\",\n orientation: \"left\",\n toggleButton: \".k-rpanel-toggle\",\n breakpoint: 640,\n autoClose: true\n },\n events: [\n OPEN,\n CLOSE\n ],\n _resize: function() {\n this.element.removeClass(\"k-rpanel-animate k-rpanel-expanded\");\n\n $(document.documentElement).off(ACTIVATE_EVENTS, this._closeHandler);\n },\n _toggleButtonClick: function(e) {\n e.preventDefault();\n\n if (e.type == \"touchend\") {\n return;\n }\n\n if (this.element.hasClass(\"k-rpanel-expanded\")) {\n this.close();\n } else {\n this.open();\n }\n },\n open: function() {\n if (!this.trigger(OPEN)) {\n this.element.addClass(\"k-rpanel-animate k-rpanel-expanded\");\n\n if (this.options.autoClose) {\n $(document.documentElement).on(ACTIVATE_EVENTS, this._closeHandler);\n }\n }\n },\n close: function() {\n if (!this.trigger(CLOSE)) {\n this.element.addClass(\"k-rpanel-animate\").removeClass(\"k-rpanel-expanded\");\n\n $(document.documentElement).off(ACTIVATE_EVENTS, this._closeHandler);\n }\n },\n _close: function(e) {\n var prevented = e.isDefaultPrevented();\n var container = $(e.target).closest(this.options.toggleButton + \",.k-rpanel\");\n\n if (!container.length && !prevented) {\n this.close();\n }\n },\n destroy: function() {\n Widget.fn.destroy.call(this);\n\n $(window).off(\"resize\" + NS, this._resizeHandler);\n $(document.documentElement).off(ACTIVATE_EVENTS, this._closeHandler);\n }\n });\n\n kendo.ui.plugin(ResponsivePanel);\n })(window.kendo.jQuery);\n\n}));\n"]}