{"version":3,"file":"kendo.responsivepanel.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoresponsivepanel","js","this","$","NS","OPEN","CLOSE","ACTIVATE_EVENTS","Widget","ResponsivePanel","window","kendo","jQuery","ui","extend","init","element","options","fn","call","_guid","guid","_toggleHandler","_toggleButtonClick","bind","_closeHandler","_close","document","documentElement","on","toggleButton","_registerBreakpoint","content","destroy","children","html","addClass","orientation","_resizeHandler","resize","_mediaQuery","breakpoint","_registerStyle","cssText","head","style","createElement","nonce","setAttribute","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":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoresponsivepanel = global.kendoresponsivepanel || {}, global.kendoresponsivepanel.js = factory()));\n})(this, (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: ({ breakpoint, guid, toggleButton }) =>\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(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 var nonce = this.options.nonce;\n if (nonce) {\n style.setAttribute(\"nonce\", nonce);\n }\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 nonce: \"\",\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 var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}