UNPKG

@progress/kendo-ui

Version:

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

3 lines 5.13 kB
/* @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.Bottomnavigation={}),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:`bottomnavigation`,name:`BottomNavigation`,category:`web`,description:`The BottomNavigation widget is a navigation element that allows movement between primary destinations in an app.`,depends:[`core`,`icons`]};(function(e,t){var n=window.kendo,r=n.ui,i=r.Widget,a=e.extend,o=n.template,s=n.keys,c=e.isPlainObject,l=e.isEmptyObject,u=`.kendoBottomNavigation`,d=`k-pos-`,f=`.`,p=`select`,m=function(e){return typeof e==`string`},h={widget:`k-bottom-nav`,item:`k-bottom-nav-item`,navIcon:`k-bottom-nav-item-icon`,icon:`k-icon`,text:`k-bottom-nav-item-text`,itemFlow:{vertical:`k-bottom-nav-item-flow-vertical`,horizontal:`k-bottom-nav-item-flow-horizontal`},selected:`k-selected`,disabled:`k-disabled`,border:`k-bottom-nav-border`,shadow:`k-bottom-nav-shadow`,focus:`k-focus`},g={item:o(()=>`<span class="${h.item}"></span>`),anchor:o(({url:e})=>`<a class="${h.item}" href="${n.sanitizeLink(e)}"></a>`),text:o(({text:e})=>`<span class="${h.text}" >${e}</span>`),icon:o(({icon:t})=>n.ui.icon(e(`<span class="${h.navIcon}"></span>`),{icon:t,size:`xlarge`}))},_=i.extend({init:function(t,n){var r=this;n||={},i.fn.init.call(r,t,n),r.element=e(t),this.options.fillMode===null&&(this.options.fillMode=this.options.fill),r._updateCssClasses(),r._items(),r._bindEvents()},options:{name:`BottomNavigation`,positionMode:`fixed`,items:[],themeColor:t,itemFlow:`vertical`,fillMode:null,fill:t,shadow:!1,border:!0,template:null},events:[p],destroy:function(){this.element.off(u),i.fn.destroy.call(this)},_tabindex:function(e){var t=this.element,r=`tabindex`,i=t.attr(`data-`+n.ns+r),a=e.attr(r)||t.attr(r)||i;i||(t.removeAttr(r),t.attr(`data-`+n.ns+r,a)),e.attr(r,isNaN(a)?0:a)},_updateCssClasses:function(){var e=this,t=e.options,r=h;e.element.removeClass(function(t,n){n.indexOf(`k-`)===0&&e.element.removeClass(n)}),e.element.addClass(r.widget),e.element.addClass(n.getValidCssClass(d,`positionMode`,t.positionMode)),e.element.toggleClass(r.border,t.border),e.element.toggleClass(r.shadow,t.shadow),e._itemFlow(t.itemFlow),e._applyCssClasses()},_itemFlow:function(e){var t=this,n=h.itemFlow;t._toggleClassGroup(t.element,e,n)},_toggleClassGroup:function(e,t,n){if(m(n[t])){for(var r in n)e.removeClass(n[r]);e.addClass(n[t])}},_items:function(){for(var e=this,t=e.options.items,n,r=0;r<t.length;r++)n=e._renderItem(t[r]),e.element.append(n)},_renderItem:function(t){var r=this,i=t.template||r.options.template,s=t.url&&m(t.url),c=e(s?o(g.anchor)(t):o(g.item)(t)),l;return c.toggleClass(h.selected,t.selected===!0).toggleClass(h.disabled,t.enabled===!1).addClass(t.cssClass).attr(a({},t.attributes,{"aria-disabled":t.enabled===!1})).data(t.data),r._tabindex(c),!c.attr(`role`)&&!s&&c.attr(`role`,`link`),i?(c.append(o(i)(t)),c):(t=a({},{icon:``},t),l=e(g.icon(t)).addClass(t.iconClass),c.append(l),t.text&&(t.text=t.encoded===!1?t.text:n.htmlEncode(t.text),c.append(e(g.text(t)))),c)},_bindEvents:function(){var e=this,t=e._click.bind(e),n=e._keydown.bind(e);e.element.on(`click`+u,f+h.item,t).on(`keydown`+u,f+h.item,n)},_click:function(t){var n=this,r=e(t.target).closest(f+h.item);if(r.is(f+h.disabled)){t.preventDefault();return}n._triggerSelect(r,t)},_triggerSelect:function(e,t){var n=this;e.is(f+h.disabled)||n.trigger(p,{originalEvent:t,item:e,data:e.data()})||n.select(e)},_keydown:function(t){var n=this,r=e(t.target),i=t.keyCode;(i===s.ENTER||i===s.SPACEBAR)&&n._isItem(r)&&(n._triggerSelect(r,t),i===s.SPACEBAR&&t.preventDefault())},_isItem:function(t){var n=this;return t=e(t),t.is(f+h.item)&&!!n.element.find(t).length},items:function(){return this.element.children()},select:function(t,n){var r=this,i=r.items().filter(f+h.selected);if(!t)return i;n=n!==!1,r._isItem(t)&&(i.removeClass(h.selected),e(t).toggleClass(h.selected,n))},enable:function(t,n){var r=this;n=n===!1,t&&r._isItem(t)&&(e(t).toggleClass(h.disabled,n),e(t).attr(`aria-disabled`,n))},item:function(e){var t=this;return isNaN(e)?null:t.items().eq(e)},itemById:function(e){return this.element.find(`#`+e)},add:function(t,n){var r=this,i=`append`,a=r.element;n&&r._isItem(n)&&(i=`before`,a=e(n)),t&&c(t)&&!l(t)&&a[i](r._renderItem(t))},remove:function(e){e&&this._isItem(e)&&e.remove()},showText:function(e){var t=this.items().find(f+h.text);e=e!==!1,t.toggle(e)},setOptions:function(e){var t=this;i.fn.setOptions.call(this,e),t._updateCssClasses(),(`items`in e||`template`in e)&&(t.element.empty(),t._items())}});r.plugin(_),n.cssProperties.registerPrefix(`BottomNavigation`,`k-bottom-nav-`)})(window.kendo.jQuery);var i=kendo;e.__meta__=r,e.default=i}); //# sourceMappingURL=kendo.bottomnavigation.min.js.map