{"version":3,"file":"kendo.expansionpanel.min.js","names":["factory","define","amd","$","kendo","Widget","ui","keys","extend","NS","EXPAND","COLLAPSE","COMPLETE","STATEDISABLED","ARIA_DISABLED","ARIA_EXPANDED","ARIA_HIDDEN","EXPANDED","FOCUSED","ExpansionPanel","window","jQuery","init","element","options","that","this","headerAttribute","attr","fn","call","_wrapper","_animations","expanded","useBareTemplate","addClass","wrapper","on","_click","bind","_focus","_blur","_keydown","toggle","notify","events","name","disabled","animation","expand","effects","duration","collapse","height","toggleable","expandIconClass","collapseIconClass","title","subTitle","headerClass","header","DOMElement","elementId","guid","wrap","parent","template","iconClass","ns","prepend","_indicator","find","style","cssText","width","contentWrapper","className","css","hide","e","hasClass","stopPropagation","trigger","item","preventDefault","animate","animationSettings","hasCollapseAnimation","reverse","complete","_completeHandler","removeClass","kendoStop","kendoAnimate","key","keyCode","ENTER","SPACEBAR","target","is","destroy","off","enable","enabled","toggleClass","plugin"],"sources":["kendo.expansionpanel.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.core'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"expansionpanel\",\n name: \"ExpansionPanel\",\n category: \"web\",\n description: \"The ExpansionPanel provides an expandable details-summary view\",\n depends: [\"core\"]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n ui = kendo.ui,\n keys = kendo.keys,\n extend = $.extend,\n NS = \".kendoExpansionPanel\",\n EXPAND = \"expand\",\n COLLAPSE = \"collapse\",\n COMPLETE = \"complete\",\n STATEDISABLED = \"k-disabled\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_EXPANDED = \"aria-expanded\",\n ARIA_HIDDEN = \"aria-hidden\",\n EXPANDED = \"k-expanded\",\n EXPANDER_CONTENT = \"k-expander-content\",\n EXPANDER_CONTENT_WRAPPER = \"k-expander-content-wrapper\",\n INDICATOR = \".k-expander-indicator\",\n FOCUSED = \"k-focus\",\n CLICK = \"click\",\n KEYDOWN = \"keydown\",\n HEIGHT = \"height\",\n\n headerTemplate = '
' +\n '#if(!useBareTemplate){#' +\n '
#:title#
' +\n '#} else {#' +\n '#=title#' +\n '#}#' +\n '' +\n '#if(!useBareTemplate){#' +\n '
#:subTitle#
' +\n '#}#' +\n '' +\n '
';\n\n var ExpansionPanel = Widget.extend({\n init: function(element, options) {\n var that = this;\n var headerAttribute = kendo.attr(\"expander-header\");\n\n Widget.fn.init.call(that, element, options);\n options = $.extend(true, {}, options);\n\n that._wrapper();\n that._animations(options);\n\n that.element.attr(ARIA_HIDDEN, !options.expanded);\n\n if (!that.options.useBareTemplate) {\n that.element.addClass(EXPANDER_CONTENT);\n }\n\n that.wrapper\n .on(CLICK + NS, '[' + headerAttribute + ']', that._click.bind(that))\n .on(\"focusin\" + NS, that._focus.bind(that))\n .on(\"focusout\" + NS, that._blur.bind(that))\n .on(KEYDOWN + NS, that._keydown.bind(that));\n\n that.toggle(that.options.expanded, false);\n\n kendo.notify(that);\n },\n\n events: [\n EXPAND,\n COLLAPSE,\n COMPLETE\n ],\n\n options: {\n name: 'ExpansionPanel',\n disabled: false,\n expanded: false,\n animation: {\n expand: {\n effects: \"expand:vertical\",\n duration: 200\n },\n collapse: { // if collapse animation effects are defined, they will be used instead of expand.reverse\n duration: 200\n }\n },\n height: null,\n toggleable: true,\n expandIconClass: \"k-icon k-i-arrow-chevron-down\",\n collapseIconClass: \"k-icon k-i-arrow-chevron-up\",\n title: '',\n subTitle: '',\n headerClass: null,\n useBareTemplate: false\n },\n\n _wrapper: function() {\n var that = this;\n var element = that.element;\n var DOMElement = element[0];\n var wrapper;\n var header;\n var elementId = element.attr(\"id\");\n\n if (!elementId) {\n elementId = kendo.guid();\n element.attr(\"id\", elementId);\n }\n\n wrapper = element.wrap(\"
\").parent();\n header = kendo.template(headerTemplate)({\n title: that.options.title,\n subTitle: that.options.subTitle,\n iconClass: that.options.expanded ? that.options.expandIconClass : that.options.collapseIconClass,\n useBareTemplate: that.options.useBareTemplate,\n ns: kendo.ns,\n elementId: elementId\n });\n that.header = $(header);\n wrapper.prepend(that.header);\n that._indicator = wrapper.find(INDICATOR);\n wrapper[0].style.cssText = DOMElement.style.cssText;\n DOMElement.style.width = \"100%\";\n\n that.wrapper = wrapper.addClass(that.options.disabled ? STATEDISABLED : '');\n that.contentWrapper = that.element.wrap('
').parent().addClass(EXPANDER_CONTENT_WRAPPER);\n\n that.header.attr(ARIA_DISABLED, that.options.disabled)\n .attr(ARIA_EXPANDED, that.options.expanded);\n\n if (!that.options.useBareTemplate) {\n wrapper.addClass(DOMElement.className);\n }\n\n if (that.options.height) {\n that.wrapper.css(HEIGHT, that.options.height);\n }\n\n if (that.options.headerClass) {\n that.header.addClass(that.options.headerClass);\n }\n },\n\n _animations: function(options) {\n if (options && (\"animation\" in options) && !options.animation) {\n options.animation = { expand: { effects: {} }, collapse: { hide: true, effects: {} } };\n }\n },\n\n _click: function(e) {\n var that = this;\n var expanded = that._indicator.hasClass(that.options.collapseIconClass);\n var element = that.element;\n\n e.stopPropagation();\n\n if (!that.options.toggleable) {\n e.preventDefault();\n return;\n }\n\n if (!that.trigger( expanded ? COLLAPSE : EXPAND, { item: element[0] })) {\n that.toggle();\n }\n },\n\n toggle: function(expand, animate) {\n var that = this,\n animationSettings = that.options.animation,\n animation = animationSettings.expand,\n hasCollapseAnimation = animationSettings.collapse && \"effects\" in animationSettings.collapse,\n collapse = extend({}, animationSettings.expand, animationSettings.collapse),\n element = that.element,\n wrapper = that.wrapper;\n\n if (expand !== undefined$1) {\n if (animate === false) {\n collapse = null;\n }\n } else {\n expand = !that._indicator.hasClass(that.options.collapseIconClass);\n }\n\n if (!hasCollapseAnimation) {\n collapse = extend(collapse, { reverse: true });\n }\n\n if (!expand) {\n animation = extend(collapse, { hide: true });\n\n animation.complete = that._completeHandler.bind(that);\n } else {\n animation = extend( { complete: that._completeHandler.bind(that) }, animation );\n }\n\n if (expand) {\n that._indicator.removeClass(this.options.expandIconClass);\n that._indicator.addClass(this.options.collapseIconClass);\n wrapper.addClass(EXPANDED);\n } else {\n that._indicator.removeClass(this.options.collapseIconClass);\n that._indicator.addClass(this.options.expandIconClass);\n wrapper.removeClass(EXPANDED);\n }\n\n element.attr(ARIA_HIDDEN, !expand);\n that.header.attr(ARIA_EXPANDED, expand);\n\n that.contentWrapper\n .kendoStop(true, true)\n .kendoAnimate(animation);\n },\n\n _completeHandler: function() {\n this.trigger(COMPLETE);\n },\n\n _keydown: function(e) {\n var that = this,\n key = e.keyCode;\n\n if ((key == keys.ENTER || key == keys.SPACEBAR) && $(e.target).is(\"[data-expander-header]\")) {\n that._click(e);\n e.preventDefault();\n }\n },\n\n destroy: function() {\n var that = this;\n\n that.wrapper.off(NS);\n Widget.fn.destroy.call(that);\n },\n\n enable: function(enabled) {\n this.wrapper.toggleClass(STATEDISABLED, !enabled);\n this.header.attr(ARIA_DISABLED, !enabled);\n },\n\n _blur: function() {\n var that = this;\n\n if (that.header) {\n that.wrapper.removeClass(FOCUSED);\n }\n },\n\n _focus: function() {\n var that = this;\n\n if (that.wrapper) {\n that.wrapper.addClass(FOCUSED);\n }\n }\n });\n ui.plugin(ExpansionPanel);\n })(window.kendo.jQuery);\n\n}));\n"]}