UNPKG

@progress/kendo-ui

Version:

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

1 lines 3.26 kB
module.exports=function(i){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}return o.m=i,o.c=n,o.p="",o(0)}({0:function(e,t,i){e.exports=i(1357)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1051:function(e,t){e.exports=require("./kendo.core")},1357:function(e,t,i){var n;i(3),i=[i(1051)],void 0===(t="function"==typeof(n=function(){var t={id:"mobile.collapsible",name:"Collapsible",category:"mobile",description:"The Kendo mobile Collapsible widget provides ability for creating collapsible blocks of content.",depends:["core","userevents"]},o=window.kendo.jQuery,i=void 0,s=window.kendo,e=s.mobile.ui,a=e.Widget,l="km-collapsible",h,f,u="km-collapsibleinset",m="<div data-role='collapsible-header' class='"+"km-collapsible-header"+"'></div>",v="<div data-role='collapsible-content' class='"+"km-collapsible-content"+"'></div>",d="km-collapsed",r="km-expanded",c="km-animated",C,p="expand",n="collapse",g=a.extend({init:function(e,t){var i=this,n=o(e);a.fn.init.call(i,n,t);n.addClass(l);i._buildHeader();i.content=n.children().not(i.header).wrapAll(v).parent();i._userEvents=new s.UserEvents(i.header,{fastTap:true,tap:function(){i.toggle()}});n.addClass(i.options.collapsed?d:r);if(i.options.inset)n.addClass(u);if(i.options.animation){i.content.addClass(c);i.content.height(0);if(i.options.collapsed)i.content.hide()}else if(i.options.collapsed)i.content.hide()},events:[p,n],options:{name:"Collapsible",collapsed:true,collapseIcon:"arrow-n",expandIcon:"arrow-s",iconPosition:"left",animation:true,inset:false},destroy:function(){a.fn.destroy.call(this);this._userEvents.destroy()},expand:function(e){var t=this.options.collapseIcon,i=this.content,n=s.support.mobileOS.ios;if(!this.trigger(p)){if(t)this.header.find(".km-icon").removeClass().addClass("km-icon km-"+t);this.element.removeClass(d).addClass(r);if(this.options.animation&&!e){i.off("transitionend");i.show();if(n)i.removeClass(c);i.height(this._getContentHeight());if(n)i.addClass(c);s.resize(i)}else i.show()}},collapse:function(e){var t=this.options.expandIcon,i=this.content;if(!this.trigger(n)){if(t)this.header.find(".km-icon").removeClass().addClass("km-icon km-"+t);this.element.removeClass(r).addClass(d);if(this.options.animation&&!e){i.one("transitionend",function(){i.hide()});i.height(0)}else i.hide()}},toggle:function(e){if(this.isCollapsed())this.expand(e);else this.collapse(e)},isCollapsed:function(){return this.element.hasClass(d)},resize:function(){if(!this.isCollapsed()&&this.options.animation)this.content.height(this._getContentHeight())},_buildHeader:function(){var e=this.element.children(":header").wrapAll(m),t=o('<span class="km-icon"/>'),i=this.options.collapsed?this.options.expandIcon:this.options.collapseIcon,n=this.options.iconPosition;if(i){e.prepend(t);t.addClass("km-"+i)}this.header=e.parent();this.header.addClass("km-icon-"+n)},_getContentHeight:function(){var e=this.content.attr("style"),t;this.content.css({position:"absolute",visibility:"hidden",height:"auto"});t=this.content.height();this.content.attr("style",e?e:"");return t}});return e.plugin(g),window.kendo})?n.apply(t,i):n)||(e.exports=t)}});