UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines (2 loc) 5.41 kB
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("kendo.core.js"),require("kendo.icons.js")):"function"==typeof define&&define.amd?define(["exports","kendo.core.min","kendo.icons"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Expansionpanel={}))}(this,(function(e){!function(e){var n=window.kendo,a=n.ui.Widget,o=n.ui,s=n.keys,t=e.extend,i=n.htmlEncode,d=".kendoExpansionPanel",l="expand",p="collapse",r="complete",c="k-disabled",u="aria-disabled",h="aria-expanded",f="aria-hidden",x="k-expanded",m="k-d-none",C=".k-expander-indicator",k="k-focus",_=({title:e,subTitle:a,iconClass:o,useBareTemplate:s,ns:t,elementId:d})=>`<div ${s?"":'class="k-expander-header"'} data-${t}expander-header role="button" tabindex="0" aria-controls="${i(d)}">`+(s?e:`<div class="k-expander-title">${i(e)}</div>`)+'<span class="k-spacer"></span>'+(s?"":`<div class="k-expander-sub-title">${i(a)}</div>`)+'<span class="k-expander-indicator">'+(o&&o.includes("k-icon")?`<span class="${i(o)}"></span>`:n.ui.icon({icon:o}))+"</span></div>",g=a.extend({init:function(o,s){var t=this,i=n.attr("expander-header");a.fn.init.call(t,o,s),s=e.extend(!0,{},s),t._getCollapseIconSelector(),t._wrapper(),t._animations(s),t.element.attr(f,!s.expanded),t.options.useBareTemplate||t.element.addClass("k-expander-content"),t.wrapper.on("click"+d,"["+i+"]",t._click.bind(t)).on("focusin"+d,t._focus.bind(t)).on("focusout"+d,t._blur.bind(t)).on("keydown"+d,t._keydown.bind(t)),t.toggle(t.options.expanded,!1),n.notify(t)},events:[l,p,r],options:{name:"ExpansionPanel",disabled:!1,expanded:!1,animation:{expand:{effects:"expand:vertical",duration:200},collapse:{duration:200}},height:null,toggleable:!0,hideExpanderIndicator:!1,expandIconClass:"chevron-down",collapseIconClass:"chevron-up",title:"",subTitle:"",headerClass:null,wrapperClass:null,useBareTemplate:!1},_wrapper:function(){var a,o,s=this,t=s.element,i=t[0],d=t.attr("id");d||(d=n.guid(),t.attr("id",d)),a=t.wrap("<div class='k-expander"+(s.options.expanded?" "+x:"")+"'></div>").parent(),o=n.template(_)({title:s.options.title,subTitle:s.options.subTitle,iconClass:s.options.expanded?s.options.expandIconClass:s.options.collapseIconClass,useBareTemplate:s.options.useBareTemplate,ns:n.ns,elementId:d+"_wrapper"}),s.header=e(o),a.prepend(s.header),s._indicator=a.find(C+" span"),s.options.hideExpanderIndicator&&a.find(C).hide(),a[0].style.cssText=i.style.cssText,i.style.width="100%",s.wrapper=a.addClass(s.options.disabled?c:""),s.contentWrapper=s.element.wrap('<div id="'+d+'_wrapper"></div>').parent().addClass("k-expander-content-wrapper").toggleClass(m,!s.options.expanded),s.header.attr(u,s.options.disabled).attr(h,s.options.expanded),s.options.useBareTemplate||a.addClass(i.className),s.options.height&&s.wrapper.css("height",s.options.height),s.options.headerClass&&s.header.addClass(s.options.headerClass),s.options.wrapperClass&&s.header.addClass(s.options.wrapperClass)},_animations:function(e){e&&"animation"in e&&!e.animation&&(e.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}})},_getCollapseIconSelector:function(){let e=this.options.collapseIconClass;e=e.replace("k-i-",""),this.collapseIconSelector=`[class*='-i-${e}']`},_click:function(e){var n=this,a=n._indicator.is(n.collapseIconSelector),o=n.element;e.stopPropagation(),n.options.toggleable?n.trigger(a?p:l,{item:o[0]})||n.toggle():e.preventDefault()},toggle:function(e,a){var o=this,s=o.options.animation,i=s.expand,d=s.collapse&&"effects"in s.collapse,l=t({},s.expand,s.collapse),p=o.element,r=o.wrapper;undefined!==e?!1===a&&(l=null):e=!o._indicator.is(o.collapseIconSelector),d||(l=t(l,{reverse:!0})),e?i=t({complete:o._completeHandler.bind(o)},i):(i=t(l,{hide:!0})).complete=o._completeHandler.bind(o),e?(o.options.collapseIconClass.includes("k-icon")?(o._indicator.removeClass(this.options.expandIconClass),o._indicator.addClass(this.options.collapseIconClass)):n.ui.icon(o._indicator,{icon:this.options.collapseIconClass}),r.addClass(x)):(o.options.expandIconClass.includes("k-icon")?(o._indicator.removeClass(this.options.collapseIconClass),o._indicator.addClass(this.options.expandIconClass)):n.ui.icon(o._indicator,{icon:this.options.expandIconClass}),r.removeClass(x)),o.contentWrapper.toggleClass(m,!e),p.attr(f,!e),o.header.attr(h,e),o.contentWrapper.kendoStop(!0,!0).kendoAnimate(i)},setOptions:function(e){let a=this;a.destroy(),a.header&&a.header.remove(),a.contentWrapper&&(a.element.removeAttr("class"),a.element.unwrap()),n.deepExtend(a.options,e),this.init(a.element,a.options)},_completeHandler:function(){this.trigger(r)},_keydown:function(n){var a=n.keyCode;a!=s.ENTER&&a!=s.SPACEBAR||!e(n.target).is("[data-expander-header]")||(this._click(n),n.preventDefault())},destroy:function(){this.wrapper.off(d),a.fn.destroy.call(this)},enable:function(e){this.wrapper.toggleClass(c,!e),this.header.attr(u,!e)},_blur:function(){this.header&&this.wrapper.removeClass(k)},_focus:function(){this.wrapper&&this.wrapper.addClass(k)}});o.plugin(g)}(window.kendo.jQuery);var n=kendo;e.__meta__={id:"expansionpanel",name:"ExpansionPanel",category:"web",description:"The ExpansionPanel provides an expandable details-summary view",depends:["core","icons"]},e.default=n,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=kendo.expansionpanel.min.js.map