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) 26.3 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("kendo.data.js"),require("kendo.icons.js"),require("kendo.sortable.js")):"function"==typeof define&&define.amd?define(["exports","kendo.data","kendo.icons","kendo.sortable"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).kendo=t.kendo||{},t.kendo._globals=t.kendo._globals||{},t.kendo._globals.Tabstrip={}))}(this,(function(t){!function(t,e){var r=window.kendo,n=r.ui,a=r.keys,i=t.map,o=t.each,s=r.trim,l=t.extend,c=r.isFunction,d=(r.template,r._outerWidth),p=r._outerHeight,u=n.Widget,b=/^(a|div)$/i,f=".kendoTabStrip",h="href",m="prev",g="next",v="show",_="k-link",k="k-link-text",C="k-last",w="click",G="k-image",x="k-first",y="select",T="activate",A="k-tabstrip-content",U="contentUrl",S="mouseenter",E="contentLoad",B="k-disabled",W="k-active",I="k-focus",H="k-hover",P=".k-item.k-tabstrip-item:not(."+B+")",R=".k-item.k-tabstrip-item",M=".k-tabstrip-items > "+P+":not(."+W+")",N="aria-hidden",F="aria-controls",$="aria-disabled",q="aria-selected",D="aria-labelledby",z={content:t=>`<div class='k-tabstrip-content' ${t.contentAttributes(t)} tabindex='0'>${t.content(t.item)}</div>`,textWrapper:({tag:t,item:e,contentUrl:r,textAttributes:n,image:a,sprite:i,text:o})=>`<${t(e)} class='${_}' ${r(e)} ${n(e)}>${a(e)}${i(e)}<span class='${k}'>${o(e)}</span></${t(e)}>`,item:t=>z.itemWrapper(t,`${t.textWrapper(t)}`),itemWrapper:(t,e)=>`<li class='${t.wrapperCssClass(t.group,t.item)}' role='tab' ${t.item.active?"aria-selected='true'":""}>`+e+"</li>",image:({imageUrl:t})=>`<img class='k-image' alt='' src='${t}' />`,sprite:({spriteCssClass:t})=>`<span class='k-sprite ${t}'></span>`,empty:()=>""},j={wrapperCssClass:function(t,e){var r=["k-item","k-tabstrip-item"],n=e.index;return!1===e.enabled&&r.push("k-disabled"),0===n&&r.push("k-first"),n==t.length-1&&r.push("k-last"),r.join(" ")},textAttributes:function(t){return t.url?" href='"+r.sanitizeLink(t.url)+"'":""},text:function(t){return!1===t.encoded?t.text:r.htmlEncode(t.text)},tag:function(t){return t.url?"a":"span"},contentAttributes:function(t){return!0!==t.active?` ${r.attr("style-display")}="none" aria-hidden='true'`:""},content:function(t){return t.content?t.content:t.contentUrl?"":"&nbsp;"},contentUrl:function(t){return t.contentUrl?r.attr("content-url")+'="'+t.contentUrl+'"':""}};function L(e){e.children("img").addClass(G),e.children("a").addClass(_).children("img").addClass(G),e.filter("li[disabled]").addClass(B).attr($,"true").prop("disabled",!1),e.filter(":not([class*=k-state])").children("a").filter(":focus").parent().addClass(W),e.attr("role","tab"),e.each((function(){var e=t(this);e.attr(q,e.is("."+W)),e.children("."+_).length||e.contents().filter((function(){return!(this.nodeName.match(b)||3==this.nodeType&&!s(this.nodeValue))})).wrapAll("<span UNSELECTABLE='on' class='"+_+"'/>").wrapAll("<span UNSELECTABLE='on' class='"+k+"'/>")}))}function O(t){const e=t.children(".k-item.k-tabstrip-item");e.filter(".k-first:not(:first-child)").removeClass(x),e.filter(".k-last:not(:last-child)").removeClass(C),e.filter(":first-child").addClass(x),e.length>1&&e.filter(":last-child").addClass(C)}function Q(t,e){return`<span aria-hidden='true' class='k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-tabstrip-${t}' unselectable='on'>${r.ui.icon({icon:e,iconClass:"k-button-icon"})}</span>`}function V(){var e=this,r=t.ajaxSettings.xhr(),n=e.progressUpload?"progressUpload":!!e.progress&&"progress";return r&&t.each([r,r.upload],(function(){this.addEventListener&&this.addEventListener("progress",(function(t){n&&e[n](t)}),!1)})),e.noProgress=!(window.XMLHttpRequest&&"upload"in new XMLHttpRequest),r}var X=u.extend({init:function(t,e){var n,a=this;u.fn.init.call(a,t,e),a._animations(a.options),e=a.options,a._contentUrls=e.contentUrls||[],a._wrapper(),a._isRtl=r.support.isRtl(a.wrapper),a._updateClasses(),a._dataSource(),a._tabindex(a.tabGroup),a.tabGroup.attr("role","tablist"),e.dataSource&&a.dataSource.fetch(),a._removeAdditionalWrapperClasses(),a._tabSizes(),a._tabPosition(),a._scrollable(),a._tabAlignment(),a._sortable(),a._processContentUrls(),a._attachEvents(),a.options.value&&(n=a.options.value),a._initialActivate(),a.value(n),r.notify(a),a._showWatermarkOverlay&&a._showWatermarkOverlay(a.element[0])},events:[y,T,v,"error",E,"change","dataBinding","dataBound"],options:{name:"TabStrip",dataEncodedField:"",dataTextField:"",dataContentField:"",dataImageUrlField:"",dataUrlField:"",dataSpriteCssClass:"",dataContentUrlField:"",tabPosition:"top",tabAlignment:"start",size:"medium",tabTemplate:null,animation:{open:{effects:"expand:vertical fadeIn",duration:200},close:{duration:200}},collapsible:!1,navigatable:!0,contentUrls:!1,applyMinHeight:!0,scrollable:{distance:200,scrollButtonsPosition:"split",scrollButtons:"auto"},sortable:!1},setDataSource:function(t){var e=this;e.options.dataSource=t,e._dataSource(),e.dataSource.fetch()},setOptions:function(t){var e=this,r=e.options.animation;e._animations(t),t.contentUrls&&(e._contentUrls=t.contentUrls),t.animation=l(!0,r,t.animation),t.navigatable?e.tabGroup.on("keydown"+f,e._keyDownProxy):e.tabGroup.off("keydown"+f,e._keyDownProxy),u.fn.setOptions.call(e,t)},activateTab:function(t){if(!this.tabGroup.children("[data-animating]").length){t=this.tabGroup.find(t);var e=this,n=e.options.animation,a=n.open,i=l({},n.close),o=i&&"effects"in i,s=t.parent().children(),c=s.filter("."+W),d=s.index(t);i=l(o?i:l({reverse:!0},a),{hide:!0}),r.size(a.effects)?(c.kendoRemoveClass(W,{duration:i.duration}),t.kendoRemoveClass(H,{duration:i.duration})):(c.removeClass(W),t.removeClass(H));var u=e.contentAnimators;if(e.inRequest&&(e.xhr.abort(),e.inRequest=!1),0===u.length)return e.tabGroup.find("."+W),t.addClass(W),e._current(t,!0),e.trigger("change"),e._scrollableModeActive&&e._scrollTabsToItem(t),!1;var b=u.filter("."+W),f=e.contentHolder(d),h=f.closest(".k-tabstrip-content");if(e.tabsHeight=p(e.tabGroup)+parseInt(e.wrapper.css("border-top-width"),10)+parseInt(e.wrapper.css("border-bottom-width"),10),0===f.length)return b.removeClass(W).attr(N,!0).kendoStop(!0,!0).kendoAnimate(i),!1;t.attr("data-animating",!0);var m=!(!t.children("."+_).data(U)&&!e._contentUrls[d])&&f.is(":empty"),g=function(){c.attr(q,!1),t.attr(q,!0),e.tabGroup.attr("aria-activedescendant",t.attr("id")),e._current(t,!0),h.addClass(W).removeAttr(N).kendoStop(!0,!0).kendoAnimate(l({init:function(){e.trigger(v,{item:t[0],contentElement:f[0]}),r.resize(f)}},a,{complete:function(){e.element.css("min-height",C),t.removeAttr("data-animating"),e.trigger(T,{item:t[0],contentElement:f[0]}),r.resize(f)}}))},k=function(){m?(t.removeAttr("data-animating"),e.ajaxRequest(t,f,(function(){t.attr("data-animating",!0),g(),e.trigger("change")}))):(g(),e.trigger("change")),e._scrollableModeActive&&e._scrollTabsToItem(t)},C=e.element.css("min-height");return e.options.applyMinHeight&&e.element.css("min-height",e.element.outerHeight()),b.removeClass(W),e.tabGroup.find("."+W),r.size(a.effects)?t.kendoAddClass(W,{duration:a.duration}):t.addClass(W),b.attr(N,!0),b.length?b.kendoStop(!0,!0).kendoAnimate(l({complete:k},i)):k(),!0}},ajaxRequest:function(e,n,a,i){e=this.tabGroup.find(e);var o=this,s=e.find("."+_);i=i||s.data(U)||o._contentUrls[e.index()]||s.attr(h),o.inRequest=!0;var l={type:"GET",cache:!1,url:i,dataType:"html",data:{},xhr:V,error:function(t,e){o.trigger("error",{xhr:t,status:e})&&this.complete()},complete:function(t){o.inRequest=!1},success:function(t){try{r.destroy(n),n.html(t)}catch(t){this.error(this.xhr,"error")}a&&a.call(o,n),o.trigger(E,{item:e[0],contentElement:n[0]})}};"object"==typeof i&&(l=t.extend(!0,{},l,i),c(l.url)&&(l.url=l.url()),c(l.data)&&(l.data=l.data())),o.xhr=t.ajax(l)},append:function(t){var e=this,r=e._create(t);return o(r.tabs,(function(t){var n=r.contents[t];e.tabGroup.append(this),"bottom"==e.options.tabPosition?e.tabWrapper.before(n):e.wrapper.append(n)})),O(e.tabGroup),e._updateContentElements(),e.resize(!0),e},contentElement:function(n){if(isNaN(n-0))return e;var a=this.contentElements&&this.contentElements[0]&&!r.kineticScrollNeeded?this.contentElements:this.contentAnimators,i=t(this.tabGroup.children()[n]).attr(F);if(a)for(var o=0,s=a.length;o<s;o++)if(a.eq(o).closest(".k-tabstrip-content")[0].id==i)return a[o];return e},contentHolder:function(e){var n=t(this.contentElement(e)),a=n.children(".km-scroll-container");return r.support.touch&&a[0]?a:n},deactivateTab:function(t){var e=this,n=e.options.animation,a=n.open,i=l({},n.close),o=i&&"effects"in i;t=e.tabGroup.find(t),i=l(o?i:l({reverse:!0},a),{hide:!0}),r.size(a.effects)?t.kendoRemoveClass(W,{duration:a.duration}):t.removeClass(W),t.attr(q,!1),e.tabGroup.removeAttr("aria-activedescendant"),e.contentAnimators.filter("."+W).kendoStop(!0,!0).kendoAnimate(i).removeClass(W).attr(N,!0)},_removeAdditionalWrapperClasses:function(){this.wrapper.removeClass("k-tabstrip-sm k-tabstrip-md k-tabstrip-lg"),this.tabGroup.removeClass("k-tabstrip-items-start k-tabstrip-items-center k-tabstrip-items-end k-tabstrip-items-justify k-tabstrip-items-stretched")},destroy:function(){var t=this;const e=t.options.scrollable&&"hidden"===t.options.scrollable.scrollButtons;u.fn.destroy.call(t),t._refreshHandler&&t.dataSource.unbind("change",t._refreshHandler),t.options.scrollable&&e&&t.tabGroup.unbind("scroll"+f),t._removeAdditionalWrapperClasses(),t.wrapper.off(f),t.tabGroup.off(f),t._scrollableModeActive&&!e&&(t._scrollPrevButton.off().remove(),t._scrollNextButton.off().remove()),r.destroy(t.wrapper)},disable:function(t){return this._toggleDisabled(t,!1),this},enable:function(t,e){return this._toggleDisabled(t,!1!==e),this},insertAfter:function(e,r){r=t(e).is(t(r))?this.tabGroup.find(r).prev():this.tabGroup.find(r);var n=this,a=n._create(e),i=n.element.find("[id='"+r.attr(F)+"']");return o(a.tabs,(function(e){var o=a.contents[e],s=a.newTabsCreated?n._contentUrls.length-(a.tabs.length-e):t(o).index()-1;r.after(this),i.after(o),n._moveUrlItem(s,t(this).index())})),O(n.tabGroup),n._updateContentElements(a.newTabsCreated),n.resize(!0),n},insertBefore:function(e,r){r=t(e).is(t(r))?this.tabGroup.find(r).next():this.tabGroup.find(r);var n=this,a=n._create(e),i=n.element.find("[id='"+r.attr(F)+"']");return o(a.tabs,(function(e){var o=a.contents[e],s=a.newTabsCreated?n._contentUrls.length-(a.tabs.length-e):t(o).index()-1;r.before(this),i.before(o),n._moveUrlItem(s,t(this).index())})),O(n.tabGroup),n._updateContentElements(a.newTabsCreated),n.resize(!0),n},items:function(){return this.tabGroup[0].children},refresh:function(t){var e,n,a,i=this,o=i.options,s=r.getter(o.dataEncodedField),l=r.getter(o.dataTextField),c=r.getter(o.dataContentField),d=r.getter(o.dataContentUrlField),p=r.getter(o.dataImageUrlField),u=r.getter(o.dataUrlField),b=r.getter(o.dataSpriteCssClass),f=[],h=i.dataSource.view();for((t=t||{}).action&&(h=t.items),e=0,a=h.length;e<a;e++)n={text:l(h[e])},o.tabTemplate&&(n.model=h[e],n.template=o.tabTemplate),o.dataEncodedField&&(n.encoded=s(h[e])),o.dataContentField&&(n.content=c(h[e])),o.dataContentUrlField&&(n.contentUrl=d(h[e])),o.dataUrlField&&(n.url=u(h[e])),o.dataImageUrlField&&(n.imageUrl=p(h[e])),o.dataSpriteCssClass&&(n.spriteCssClass=b(h[e])),f[e]=n;if("add"==t.action)t.index<i.tabGroup.children().length?i.insertBefore(f,i.tabGroup.children().eq(t.index)):i.append(f);else if("remove"==t.action)for(e=0;e<h.length;e++)i.remove(t.index);else"itemchange"==t.action?(e=i.dataSource.view().indexOf(h[0]),t.field===o.dataTextField&&i.tabGroup.children().eq(e).find(".k-link").text(h[0].get(t.field)),t.field===o.dataUrlField&&(i._contentUrls[e]=h[0].get(t.field))):(i.trigger("dataBinding"),i.remove("li"),i._contentUrls=[],i.append(f),i.trigger("dataBound"))},reload:function(e){e=this.tabGroup.find(e);var r=this,n=r._contentUrls;return e.each((function(){var e=t(this),a=e.find("."+_).data(U)||n[e.index()],i=r.contentHolder(e.index());a&&r.ajaxRequest(e,i,null,a)})),r},remove:function(e){var n,a=this,i=typeof e;return"string"===i?e=a.tabGroup.find(e):"number"===i&&(e=a.tabGroup.children().eq(e)),n=e.map((function(){var e=t(this).index(),n=a.contentElement(e);return r.destroy(n),a._removeUrlItem(e),n})),e.remove(),n.empty(),n.remove(),a._updateContentElements(),a.resize(!0),a},select:function(e){var r=this;return 0===arguments.length?r.tabGroup.children("li."+W):(isNaN(e)||(e=r.tabGroup.children().get(e)),e=r.tabGroup.find(e),t(e).each((function(e,n){(n=t(n)).hasClass(W)||r.trigger(y,{item:n[0],contentElement:r.contentHolder(n.index())[0]})||(r.activateTab(n),r.tabGroup.attr("aria-activedescendant",n.attr("id")))})),r)},value:function(n){var a=this;if(n===e)return a.select().text();n!=a.value()&&a.tabGroup.children().each((function(){r.trim(t(this).text())==n&&a.select(this)}))},_tabAlignment:function(){const t=this;let e=t.options.tabAlignment;t._scrollableModeActive&&(e="start"),t.tabGroup.addClass("k-tabstrip-items-"+e)},_active:function(){var t=this;setTimeout((function(){var e=t.tabGroup.children().filter("."+W);(e=e[0]?e:t._endItem("first"))[0]&&t._current(e)}),100)},_animations:function(t){t&&"animation"in t&&!t.animation&&(t.animation={open:{effects:{}},close:{effects:{}}})},_appendUrlItem:function(t){this._contentUrls.push(t)},_attachEvents:function(){var e=this,r=e.options;e.tabGroup.on(w+f,".k-disabled .k-link",!1).on(w+f," > "+P,e._itemClick.bind(e)),e.wrapper.on("focus"+f,(function(){e.tabGroup.trigger("focus")})),r.scrollable&&"hidden"===r.scrollable.scrollButtons&&e.tabGroup.bind("scroll",(function(t){e._toggleScrollButtons()})),e.tabGroup.on(S+f+" mouseleave"+f,M,e._toggleHover).on("focus"+f,e._active.bind(e)).on("blur"+f,(function(){e._current(null)})),e._keyDownProxy=e._keydown.bind(e),r.navigatable&&e.tabGroup.on("keydown"+f,e._keyDownProxy),t(window).on("resize"+f,e._resize.bind(e))},_click:function(t){var e,r,n=this,a=t.find("."+_),i=a.attr(h),o=n.options.collapsible,s=t.index(),l=n.contentHolder(s),c=t.parent().children().filter("."+I);if(t.closest(".k-tabstrip")[0]==n.wrapper[0]){if(t.is("."+B+(o?"":",."+W)))return c.removeClass(I),n._focused=t,t.addClass(I),n._current(t),n._scrollableModeActive&&n._scrollTabsToItem(t),!0;if(r=a.data(U)||n._contentUrls[s]||i&&("#"==i.charAt(i.length-1)||-1!=i.indexOf("#"+n.element[0].id+"-")),e=!i||r,n.tabGroup.children("[data-animating]").length)return e;if(n.trigger(y,{item:t[0],contentElement:l[0]}))return!0;if(!1!==e)return o&&t.is("."+W)?(n.deactivateTab(t),!0):(n.activateTab(t)&&(n._current(t),e=!0),e)}},_create:function(e){var n,a,o,s=this,c=!1;return e=e instanceof r.data.ObservableArray?e.toJSON():e,t.isPlainObject(e)||Array.isArray(e)?(e=Array.isArray(e)?e:[e],c=!0,n=i(e,(function(r,n){return s._appendUrlItem(e[n].contentUrl||null),t(X.renderItem({group:s.tabGroup,item:l(r,{index:n})}))})),a=i(e,(function(e,n){if("string"==typeof e.content||e.contentUrl){let a=t(X.renderContent({item:l(e,{index:n})}));return r.applyStylesFromKendoAttributes(a,["display"]),a}}))):(n="string"==typeof e&&"<"!=e[0]?s.element.find(e):t(e),a=t(),n.each((function(){if(/k-tabstrip-items/.test(this.parentNode.className)){var e=s.element.find("[id='"+this.getAttribute(F)+"']");o=e}else o=t("<div class='"+A+"'/>");a=a.add(o)})),L(n)),{tabs:n,contents:a,newTabsCreated:c}},_current:function(t,r){var n=this._focused;if(t===e)return n;n&&t&&n[0]===t[0]&&(n=!1),n&&n.removeClass(I),t&&!r&&t.addClass(I),this._focused=t},_dataSource:function(){var t=this;t.dataSource&&t._refreshHandler?t.dataSource.unbind("change",t._refreshHandler):t._refreshHandler=t.refresh.bind(t),t.dataSource=r.data.DataSource.create(t.options.dataSource).bind("change",t._refreshHandler)},_elementId:function(t,e,n){var a=t.attr("id"),i=this.element.attr("id"),o=r.guid();if(!a||a.indexOf(i+"-")>-1){var s=(i||o)+"-";return n&&(s+="tab-"),s+(e+1)}return a},_endItem:function(t){return this.tabGroup.children(P)[t]()},_getItem:function(t){return this.tabGroup.children(R)[t]()},_initialActivate:function(){var t=this,e=t.tabGroup.children("li."+W),r=t.contentHolder(e.index());e[0]&&r.length>0&&0===r[0].childNodes.length&&t.activateTab(e.eq(0))},_item:function(t,e){var r;return r=e===m?"last":"first",t?((t=t[e]())[0]||(t=this.tabGroup.children(R)[r]()),t.hasClass(B)&&t.addClass(I),(t.hasClass(B)||t.hasClass(W))&&(this._focused=t),t):this._endItem(r)},_itemClick:function(e){var n=this.tabGroup[0];if(n!==document.activeElement)if(r.support.browser.msie)try{n.setActive()}catch(t){n.focus()}else n.focus();this._click(t(e.currentTarget))&&e.preventDefault()},_keydown:function(t){var e,r=this,n=t.keyCode,i=r._current(),o=r._isRtl,s=/top|bottom/.test(r.options.tabPosition);if(t.target==t.currentTarget&&i){if(n!==a.DOWN||s)if(n!==a.UP||s)if(n===a.RIGHT&&s)e=o?m:g;else if(n===a.LEFT&&s)e=o?g:m;else if(n==a.ENTER||n==a.SPACEBAR)r._click(i),t.preventDefault();else{if(n==a.HOME)return r._click(r._getItem("first")),void t.preventDefault();if(n==a.END)return r._click(r._getItem("last")),void t.preventDefault()}else e=m;else e=g;e&&(r._click(r._item(i,e)),t.preventDefault())}},_moveUrlItem:function(t,e){this._contentUrls.splice(e,0,this._contentUrls.splice(t,1)[0])},_processContentUrls:function(){var e=this;e._contentUrls.length?e.tabGroup.children(".k-item.k-tabstrip-item").each((function(r,n){var a=e._contentUrls[r];"string"==typeof a&&t(n).find(">."+_).data(U,a)})):e._contentUrls.length=e.tabGroup.find("li.k-item.k-tabstrip-item").length},_removeUrlItem:function(t){this._contentUrls.splice(t,1)},_resize:function(){this._scrollable()},_getChildrenWidth:function(e){let r=0;return e.children().each((function(){r+=d(t(this))})),Math.floor(r)},_getChildrenHeight:function(e){let r=0;return e.children().each((function(){r+=p(t(this))})),Math.floor(r)},_scrollable:function(){const t=this,e=t.options,n=e.scrollable.scrollButtonsPosition,a=e.scrollable.scrollButtons,i="top"==e.tabPosition||"bottom"==e.tabPosition,o="hidden"===a,s="visible"===a;let l,c,d,p;if(t._scrollableAllowed()){t.wrapper.addClass("k-tabstrip-scrollable"),l=i?t.wrapper[0].offsetWidth:t.wrapper[0].offsetHeight,c=i?t.tabGroup[0].scrollWidth:t.tabGroup[0].scrollHeight;const a=i?t._getChildrenWidth(t.tabGroup)>t.tabGroup.outerWidth():t._getChildrenHeight(t.tabGroup)>t.tabGroup.outerHeight(),u=c>l||a;if(u&&!t._scrollableModeActive&&o)t.tabGroup.addClass("k-tabstrip-items-scroll"),t.wrapper.addClass("k-tabstrip-scrollable-overlay"),t._scrollableModeActive=!0,t._toggleScrollButtons();else if(!u&&!s||t._scrollableModeActive)!t._scrollableModeActive||u||s?t._scrollableModeActive||s?t._toggleScrollButtons():t._removeScrollableClasses():(t._scrollableModeActive=!1,t._removeScrollableClasses(),t._scrollPrevButton&&t._scrollPrevButton.off().remove(),t._scrollNextButton&&t._scrollNextButton.off().remove());else{t._nowScrollingTabs=!1,t._isRtl=r.support.isRtl(t.element);const a=r.support.touch?"touchstart":"mousedown",o=r.support.touch?"touchend":"mouseup",s=r.support.browser,l=t._isRtl&&!s.msie&&!s.edge,c=i?"caret-alt-right":"caret-alt-down",u=Q("prev",i?"caret-alt-left":"caret-alt-up"),b=Q("next",c);switch(n){case"split":t.tabWrapper.prepend(u),t.tabWrapper.append(b);break;case"start":t.tabWrapper.prepend(b),t.tabWrapper.prepend(u);break;case"end":t.tabWrapper.append(u),t.tabWrapper.append(b)}d=t._scrollPrevButton=t.tabWrapper.children(".k-tabstrip-prev"),p=t._scrollNextButton=t.tabWrapper.children(".k-tabstrip-next"),d.on(a+f,(function(){t._nowScrollingTabs=!0,t._scrollTabsByDelta(e.scrollable.distance*(l?1:-1))})),p.on(a+f,(function(){t._nowScrollingTabs=!0,t._scrollTabsByDelta(e.scrollable.distance*(l?-1:1))})),d.add(p).on(o+f,(function(){t._nowScrollingTabs=!1})),t._scrollableModeActive=!0,t._toggleScrollButtons()}}},_removeScrollableClasses:function(){const t=this,e="hidden"===t.options.scrollable.scrollButtons;t.wrapper.removeClass("k-tabstrip-scrollable"),e&&(t.wrapper.removeClass("k-tabstrip-scrollable-overlay"),t.wrapper.removeClass("k-tabstrip-scrollable-start"),t.wrapper.removeClass("k-tabstrip-scrollable-end"),t.tabGroup.removeClass("k-tabstrip-items-scroll"))},_scrollableAllowed:function(){var t=this.options;return t.scrollable&&!t.scrollable.distance&&(t.scrollable={distance:200}),t.scrollable&&!isNaN(t.scrollable.distance)},_scrollTabsToItem:function(t){var e,n=this,a=n.tabGroup,i="top"==n.options.tabPosition||"bottom"==n.options.tabPosition,o=i?r.scrollLeft(a):a.scrollTop(),s=i?d(t):p(t),l=i?n._isRtl?t.position().left:t.position().left-a.children().first().position().left:t.position().top,c=i?a[0].offsetWidth:a[0].offsetHeight,u=r.support.browser;n._isRtl&&i&&(u.mozilla||u.webkit&&u.version>=85)&&(o*=-1),n._isRtl&&i?l<0?e=o+l-(c-o):l+s>c&&(e=o+l-s):o+c<l+s?e=l+s-c:o>l&&(e=l);var b=i?{scrollLeft:e}:{scrollTop:e};a.finish().animate(b,"fast","linear",(function(){n._toggleScrollButtons()}))},_scrollTabsByDelta:function(t){const e=this,n=e.tabGroup,a="top"==e.options.tabPosition||"bottom"==e.options.tabPosition;let i=a?r.scrollLeft(n):n.scrollTop();const o=r.support.browser;e._isRtl&&a&&(o.mozilla||o.webkit&&o.version>=85)&&(i*=-1);var s=a?{scrollLeft:i+t}:{scrollTop:i+t};n.finish().animate(s,"fast","linear",(function(){e._nowScrollingTabs&&!jQuery.fx.off?e._scrollTabsByDelta(t):e._toggleScrollButtons()}))},_sortable:function(){var t=this,e=t.options,n=e.tabPosition,a=e.scrollable&&"hidden"===e.scrollable.scrollButtons,i="left"===n||"right"===n?"y":"x";t.options.sortable&&(t.sortable=new r.ui.Sortable(t.tabGroup,{filter:"li.k-item.k-tabstrip-item",axis:i,holdToDrag:a,allowTouchActions:a,container:t.tabWrapper,hint:t=>`<div id='hint' class='k-tabstrip k-tabstrip-${n}'>\n <div class= 'k-tabstrip-items-wrapper k-hstack'>\n <ul class='k-tabstrip-items k-reset'>\n <li class='k-item k-tabstrip-item k-first k-active'>${t.html()}</li>\n </ul>\n </div>\n </div>`,change:t._sortChange.bind(t),start:e=>t.activateTab(e.item)}))},_sortChange:function(t){var e=this,r=e.tabGroup.children().eq(t.newIndex);t.oldIndex<t.newIndex?e.insertAfter(t.item,r):e.insertBefore(t.item,r)},_tabSizes:function(){let t;switch(this.options.size){case"small":t="k-tabstrip-sm";break;case"medium":t="k-tabstrip-md";break;case"large":t="k-tabstrip-lg"}this.wrapper.addClass(t)},_tabPosition:function(){var t=this,e=t.options.tabPosition;t.wrapper.addClass("k-tabstrip-"+e),"bottom"==e&&t.tabWrapper.appendTo(t.wrapper),"left"!==e&&"right"!==e||t.tabGroup.attr("aria-orientation","vertical"),t.resize(!0)},_toggleHover:function(e){t(e.currentTarget).toggleClass(H,e.type==S)},_toggleDisabled:function(e,r){(e=this.tabGroup.find(e)).each((function(){t(this).toggleClass(B,!r).attr($,!r)}))},_toggleScrollButtons:function(){var t=this,e=t.tabGroup,n=Math.floor(r.scrollLeft(e)),a=Math.floor(e.scrollTop()),i=t.options.scrollable.scrollButtons,o="top"==t.options.tabPosition||"bottom"==t.options.tabPosition;const s=(o?Math.abs(n-(e[0].scrollWidth-e[0].offsetWidth)):Math.abs(a-(e[0].scrollHeight-e[0].offsetHeight)))<=1,l=0===(o?n:a);"hidden"!==i?(t._scrollPrevButton.toggleClass("k-disabled",l),t._scrollNextButton.toggleClass("k-disabled",s)):(t.wrapper.toggleClass("k-tabstrip-scrollable-start",l),t.wrapper.toggleClass("k-tabstrip-scrollable-end",s))},_updateClasses:function(){var r,n,a,i=this,o=/top|bottom/.test(i.options.tabPosition);i.wrapper.addClass("k-tabstrip"),i.tabGroup||(i.tabGroup=i.wrapper.children("ul"),i.tabGroup.wrap("<div />"),i.tabWrapper=i.tabGroup.parent()),i.tabGroup[0]||(i.tabGroup=t("<ul />").prependTo(i.wrapper),i.tabGroup.wrap("<div />"),i.tabWrapper=i.tabGroup.parent()),i.tabWrapper.addClass("k-tabstrip-items-wrapper"),i.tabWrapper.addClass(o?"k-hstack":"k-vstack"),i.tabGroup.addClass("k-tabstrip-items k-reset"),(r=i.tabGroup.find("li").addClass("k-item k-tabstrip-item")).length&&(a=(n=r.filter("."+W).index())>=0?n:e,i.tabGroup.contents().filter((function(){return 3==this.nodeType&&!s(this.nodeValue)})).remove()),i.contentElements=i.wrapper.children("div:not(.k-tabstrip-items-wrapper)"),i.contentElements.addClass(A).eq(a).addClass(W).css({display:"block"}),r.length&&(L(r),n=r.filter("."+W).index(),i.tabGroup.attr("aria-activedescendant",r.eq(n).attr("id")),O(i.tabGroup),i._updateContentElements(!0))},_updateContentElements:function(e){var n=this,a=n._contentUrls,i=n.tabGroup.children(".k-item.k-tabstrip-item"),o=n.wrapper.children("div:not(.k-tabstrip-items-wrapper)"),s=n._elementId.bind(n);o.length&&i.length>o.length?o.each((function(r){var n,a=s(t(this),r),o=i.filter("[aria-controls="+(a||0)+"]")[0];!o&&e&&(o=i[r]),o&&(o.setAttribute(F,a),n=o.id=s(t(o),r,!0),this.setAttribute(D,n)),this.setAttribute("id",a)})):i.each((function(e){var r,i=o.eq(e),l=s(i,e);this.setAttribute(F,l),r=this.id=s(t(this),e,!0),!i.length&&a[e]?t("<div class='"+A+"'/>").appendTo(n.wrapper).attr("id",l):i.attr("id",l),i.attr("role","tabpanel"),i.attr("tabindex","0"),i.attr(D,r),i.filter(":not(."+W+")").attr(N,!0)})),n.contentElements=n.contentAnimators=n.wrapper.children("div:not(.k-tabstrip-items-wrapper)"),n.tabsHeight=p(n.tabGroup)+parseInt(n.wrapper.css("border-top-width"),10)+parseInt(n.wrapper.css("border-bottom-width"),10),r.kineticScrollNeeded&&r.mobile.ui.Scroller&&(r.touchScroller(n.contentElements),n.contentElements=n.contentElements.children(".km-scroll-container"))},_wrapper:function(){var t=this;t.element.is("ul")?t.wrapper=t.element.wrapAll("<div />").parent():t.wrapper=t.element}});l(X,{renderItem:function(t){t=l({tabStrip:{},group:{}},t);var e=z.empty,n=t.item,a=l(t,{image:n.imageUrl?z.image:e,sprite:n.spriteCssClass?z.sprite:e,textWrapper:z.textWrapper},j);return n.template?z.itemWrapper(a,r.template(n.template)(n.model)):z.item(a)},renderContent:function(t){return z.content(l(t,j))}}),r.ui.plugin(X)}(window.kendo.jQuery);var e=kendo;t.__meta__={id:"tabstrip",name:"TabStrip",category:"web",description:"The TabStrip widget displays a collection of tabs with associated tab content.",depends:["data","icons","sortable"],features:[{id:"tabstrip-fx",name:"Animation",description:"Support for animation",depends:["fx"]}]},t.default=e,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=kendo.tabstrip.min.js.map