{"version":3,"file":"kendo.expansionpanel.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoexpansionpanel","js","this","$","undefined$1","kendo","window","Widget","ui","keys","extend","encode","htmlEncode","NS","EXPAND","COLLAPSE","COMPLETE","STATEDISABLED","ARIA_DISABLED","ARIA_EXPANDED","ARIA_HIDDEN","EXPANDED","D_NONE","INDICATOR","FOCUSED","headerTemplate","title","subTitle","iconClass","useBareTemplate","ns","elementId","includes","icon","ExpansionPanel","init","element","options","that","headerAttribute","attr","fn","call","_getCollapseIconSelector","_wrapper","_animations","expanded","addClass","wrapper","on","_click","bind","_focus","_blur","_keydown","toggle","notify","events","name","disabled","animation","expand","effects","duration","collapse","height","toggleable","hideExpanderIndicator","expandIconClass","collapseIconClass","headerClass","wrapperClass","header","DOMElement","guid","wrap","parent","template","prepend","_indicator","find","hide","style","cssText","width","contentWrapper","toggleClass","className","css","replace","collapseIconSelector","e","is","stopPropagation","trigger","item","preventDefault","animate","animationSettings","hasCollapseAnimation","reverse","complete","_completeHandler","removeClass","kendoStop","kendoAnimate","key","keyCode","ENTER","SPACEBAR","target","destroy","off","enable","enabled","plugin","jQuery"],"sources":["kendo.expansionpanel.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoexpansionpanel = global.kendoexpansionpanel || {}, global.kendoexpansionpanel.js = factory()));\n})(this, (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\", \"icons\"]\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 encode = kendo.htmlEncode,\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 D_NONE = \"k-d-none\",\n INDICATOR = \".k-expander-indicator\",\n FOCUSED = \"k-focus\",\n CLICK = \"click\",\n KEYDOWN = \"keydown\",\n HEIGHT = \"height\",\n\n headerTemplate = ({ title, subTitle, iconClass, useBareTemplate, ns, elementId }) =>\n `
` +\n (!useBareTemplate ? `
${encode(title)}
` : title) +\n '' +\n (!useBareTemplate ? `
${encode(subTitle)}
` : '') +\n `` +\n (iconClass && iconClass.includes(\"k-icon\") ? `` : kendo.ui.icon({ icon: iconClass })) +\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._getCollapseIconSelector();\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 hideExpanderIndicator: false,\n expandIconClass: \"chevron-down\",\n collapseIconClass: \"chevron-up\",\n title: '',\n subTitle: '',\n headerClass: null,\n wrapperClass: 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 + \"_wrapper\"\n });\n that.header = $(header);\n wrapper.prepend(that.header);\n that._indicator = wrapper.find(INDICATOR + \" span\");\n\n if (that.options.hideExpanderIndicator) {\n wrapper.find(INDICATOR).hide();\n }\n\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\n .wrap('
')\n .parent()\n .addClass(EXPANDER_CONTENT_WRAPPER)\n .toggleClass(D_NONE, !that.options.expanded);\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 if (that.options.wrapperClass) {\n that.header.addClass(that.options.wrapperClass);\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 _getCollapseIconSelector: function() {\n const that = this;\n let collapseIconClass = that.options.collapseIconClass;\n\n // Due to legacy reasons, some users may have their icons configured as 'k-i-minus' instead of just 'minus'.\n collapseIconClass = collapseIconClass.replace(\"k-i-\", \"\");\n\n that.collapseIconSelector = `[class*='-i-${collapseIconClass}']`;\n },\n\n _click: function(e) {\n var that = this;\n var expanded = that._indicator.is(that.collapseIconSelector);\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.is(that.collapseIconSelector);\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 if (that.options.collapseIconClass.includes(\"k-icon\")) {\n that._indicator.removeClass(this.options.expandIconClass);\n that._indicator.addClass(this.options.collapseIconClass);\n } else {\n kendo.ui.icon(that._indicator, { icon: this.options.collapseIconClass });\n }\n wrapper.addClass(EXPANDED);\n } else {\n if (that.options.expandIconClass.includes(\"k-icon\")) {\n that._indicator.removeClass(this.options.collapseIconClass);\n that._indicator.addClass(this.options.expandIconClass);\n } else {\n kendo.ui.icon(that._indicator, { icon: this.options.expandIconClass });\n }\n wrapper.removeClass(EXPANDED);\n }\n\n that.contentWrapper.toggleClass(D_NONE, !expand);\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 var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}