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