{"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","COLLAPSE_ICON_SELECTOR","COMPLETE","STATEDISABLED","ARIA_DISABLED","ARIA_EXPANDED","ARIA_HIDDEN","EXPANDED","D_NONE","INDICATOR","FOCUSED","headerTemplate","ref","title","subTitle","iconClass","useBareTemplate","ns","elementId","includes","icon","ExpansionPanel","init","element","options","that","headerAttribute","attr","fn","call","_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","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 COLLAPSE_ICON_SELECTOR = \"[class*='-i-chevron-up']\",\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 = function (ref) {\n var title = ref.title;\n var subTitle = ref.subTitle;\n var iconClass = ref.iconClass;\n var useBareTemplate = ref.useBareTemplate;\n var ns = ref.ns;\n var elementId = ref.elementId;\n\n return \"
\" +\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\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 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 _click: function(e) {\n var that = this;\n var expanded = that._indicator.is(COLLAPSE_ICON_SELECTOR);\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(COLLAPSE_ICON_SELECTOR);\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"]}