@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 5.6 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.icons.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Expansionpanel={}),e.kendo._globals.Core,e.kendo._globals.Icons))})(this,function(e,t,n){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let r={id:`expansionpanel`,name:`ExpansionPanel`,category:`web`,description:`The ExpansionPanel provides an expandable details-summary view`,depends:[`core`,`icons`]};(function(e,t){var n=window.kendo,r=n.ui.Widget,i=n.ui,a=n.keys,o=e.extend,s=n.htmlEncode,c=`.kendoExpansionPanel`,l=`expand`,u=`collapse`,d=`complete`,f=`k-disabled`,p=`aria-disabled`,m=`aria-expanded`,h=`aria-hidden`,g=`k-expanded`,_=`k-expander-content`,v=`k-expander-content-wrapper`,y=`k-hidden`,b=`.k-expander-indicator`,x=`k-focus`,S=`click`,C=`keydown`,w=`height`,T=({title:e,subTitle:t,iconClass:r,useBareTemplate:i,ns:a,elementId:o})=>`<div ${i?``:`class="k-expander-header"`} data-${a}expander-header role="button" tabindex="0" aria-controls="${s(o)}">`+(i?e:`<div class="k-expander-title">${s(e)}</div>`)+`<span class="k-spacer"></span>`+(i?``:`<div class="k-expander-sub-title">${s(t)}</div>`)+`<span class="k-expander-indicator">`+(r&&r.includes(`k-icon`)?`<span class="${s(r)}"></span>`:n.ui.icon({icon:r}))+`</span></div>`,E=r.extend({init:function(t,i){var a=this,o=n.attr(`expander-header`);r.fn.init.call(a,t,i),i=e.extend(!0,{},i),a._getCollapseIconSelector(),a._wrapper(),a._animations(i),a.element.attr(h,!i.expanded),a.options.useBareTemplate||a.element.addClass(_),a.wrapper.on(S+c,`[`+o+`]`,a._click.bind(a)).on(`focusin`+c,a._focus.bind(a)).on(`focusout`+c,a._blur.bind(a)).on(C+c,a._keydown.bind(a)),a.toggle(a.options.expanded,!1),n.notify(a)},events:[l,u,d],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 t=this,r=t.element,i=r[0],a,o,s=r.attr(`id`);s||(s=n.guid(),r.attr(`id`,s)),a=r.wrap(`<div class='k-expander`+(t.options.expanded?` `+g:``)+`'></div>`).parent(),o=n.template(T)({title:t.options.title,subTitle:t.options.subTitle,iconClass:t.options.expanded?t.options.expandIconClass:t.options.collapseIconClass,useBareTemplate:t.options.useBareTemplate,ns:n.ns,elementId:s+`_wrapper`}),t.header=e(o),a.prepend(t.header),t._indicator=a.find(b+` span`),t.options.hideExpanderIndicator&&a.find(b).hide(),a[0].style.cssText=i.style.cssText,i.style.width=`100%`,t.wrapper=a.addClass(t.options.disabled?f:``),t.contentWrapper=t.element.wrap(`<div id="`+s+`_wrapper"></div>`).parent().addClass(v).toggleClass(y,!t.options.expanded).data(`olddisplay`,`block`),t.header.attr(p,t.options.disabled).attr(m,t.options.expanded),t.options.useBareTemplate||a.addClass(i.className),t.options.height&&t.wrapper.css(w,t.options.height),t.options.headerClass&&t.header.addClass(t.options.headerClass),t.options.wrapperClass&&t.header.addClass(t.options.wrapperClass)},_animations:function(e){e&&`animation`in e&&!e.animation&&(e.animation={expand:{effects:{}},collapse:{hide:!0,effects:{}}})},_getCollapseIconSelector:function(){let e=this,t=e.options.collapseIconClass;t=t.replace(`k-i-`,``),e.collapseIconSelector=`[class*='-i-${t}']`},_click:function(e){var t=this,n=t._indicator.is(t.collapseIconSelector),r=t.element;if(e.stopPropagation(),!t.options.toggleable){e.preventDefault();return}t.trigger(n?u:l,{item:r[0]})||t.toggle()},toggle:function(e,r){var i=this,a=i.options.animation,s=a.expand,c=a.collapse&&`effects`in a.collapse,l=o({},a.expand,a.collapse),u=i.element,d=i.wrapper;e===t?e=!i._indicator.is(i.collapseIconSelector):r===!1&&(l=null),c||(l=o(l,{reverse:!0})),e?s=o({complete:i._completeHandler.bind(i)},s):(s=o(l,{hide:!0}),s.complete=i._completeHandler.bind(i)),e?(i.options.collapseIconClass.includes(`k-icon`)?(i._indicator.removeClass(this.options.expandIconClass),i._indicator.addClass(this.options.collapseIconClass)):n.ui.icon(i._indicator,{icon:this.options.collapseIconClass}),d.addClass(g)):(i.options.expandIconClass.includes(`k-icon`)?(i._indicator.removeClass(this.options.collapseIconClass),i._indicator.addClass(this.options.expandIconClass)):n.ui.icon(i._indicator,{icon:this.options.expandIconClass}),d.removeClass(g)),i.contentWrapper.toggleClass(y,!e),u.attr(h,!e),i.header.attr(m,e),i.contentWrapper.kendoStop(!0,!0).kendoAnimate(s)},setOptions:function(e){let t=this;t.destroy(),t.header&&t.header.remove(),t.contentWrapper&&(t.element.removeAttr(`class`),t.element.unwrap()),n.deepExtend(t.options,e),this.init(t.element,t.options)},_completeHandler:function(){this.trigger(d)},_keydown:function(t){var n=this,r=t.keyCode;(r==a.ENTER||r==a.SPACEBAR)&&e(t.target).is(`[data-expander-header]`)&&(n._click(t),t.preventDefault())},destroy:function(){var e=this;e.wrapper.off(c),r.fn.destroy.call(e)},enable:function(e){this.wrapper.toggleClass(f,!e),this.header.attr(p,!e)},_blur:function(){var e=this;e.header&&e.wrapper.removeClass(x)},_focus:function(){var e=this;e.wrapper&&e.wrapper.addClass(x)}});i.plugin(E)})(window.kendo.jQuery);var i=kendo;e.__meta__=r,e.default=i});
//# sourceMappingURL=kendo.expansionpanel.min.js.map