@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 5.73 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.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=`kendoKeydown`,h=function(e){return typeof e==`string`},g={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`},_={item:o(()=>`<span class="${g.item}"></span>`),anchor:o(({url:e})=>`<a class="${g.item}" href="${n.sanitizeLink(e)}"></a>`),text:o(({text:e})=>`<span class="${g.text}" >${e}</span>`),icon:o(({icon:t})=>n.ui.icon(e(`<span class="${g.navIcon}"></span>`),{icon:t,size:`xlarge`}))},v=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(),i.fn.endInit.call(r)},options:{name:`BottomNavigation`,positionMode:`fixed`,items:[],themeColor:t,itemFlow:`vertical`,fillMode:null,fill:t,shadow:!1,border:!0,template:null},events:[p,m],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=g;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.element.attr(`aria-label`)||e.element.attr(`aria-label`,`Bottom navigation`),e._applyCssClasses()},_itemFlow:function(e){var t=this,n=g.itemFlow;t._toggleClassGroup(t.element,e,n)},_toggleClassGroup:function(e,t,n){if(h(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&&h(t.url),c=a({},t.attributes),l,u;return t.enabled===!1&&(c[`aria-disabled`]=!0),t.selected===!0&&(c[`aria-current`]=!0),l=e(s?o(_.anchor)(t):o(_.item)(t)),l.toggleClass(g.selected,t.selected===!0).toggleClass(g.disabled,t.enabled===!1).addClass(t.cssClass).attr(c).data(t.data),r._tabindex(l),!l.attr(`role`)&&!s&&l.attr(`role`,`link`),i?(l.append(o(i)(t)),l):(t=a({},{icon:``},t),u=e(_.icon(t)).addClass(t.iconClass),u.attr(`aria-hidden`,`true`),u.find(`svg`).attr(`aria-hidden`,`true`),l.append(u),t.text?(t.text=t.encoded===!1?t.text:n.htmlEncode(t.text),l.append(e(_.text(t)))):t.icon&&!l.attr(`aria-label`)&&l.attr(`aria-label`,t.icon),l)},_bindEvents:function(){var e=this,t=e._click.bind(e),n=e._keydown.bind(e);e.element.on(`click`+u,f+g.item,t).on(`keydown`+u,f+g.item,e,n)},_click:function(t){var n=this,r=e(t.target).closest(f+g.item);if(r.is(f+g.disabled)){t.preventDefault();return}n._triggerSelect(r,t)},_triggerSelect:function(e,t){var n=this;e.is(f+g.disabled)||n.trigger(p,{originalEvent:t,item:e,data:e.data()})||n.select(e)},_keydown:function(t){var r=this,i=e(t.target),a=t.keyCode;n.keyDownHandler(t,r)&&(a===s.ENTER||a===s.SPACEBAR)&&r._isItem(i)&&(r._triggerSelect(i,t),a===s.SPACEBAR&&t.preventDefault())},_isItem:function(t){var n=this;return t=e(t),t.is(f+g.item)&&!!n.element.find(t).length},items:function(){return this.element.children()},select:function(t,n){var r=this,i=r.items().filter(f+g.selected);if(!t)return i;n=n!==!1,r._isItem(t)&&(i.removeClass(g.selected),i.removeAttr(`aria-current`),e(t).toggleClass(g.selected,n),n?e(t).attr(`aria-current`,`true`):e(t).removeAttr(`aria-current`))},enable:function(t,n){var r=this;n=n===!1,t&&r._isItem(t)&&(e(t).toggleClass(g.disabled,n),n?e(t).attr(`aria-disabled`,`true`):e(t).removeAttr(`aria-disabled`))},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){var t=this;e&&t._isItem(e)&&e.remove()},showText:function(e){var t=this.items().find(f+g.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(v),n.cssProperties.registerPrefix(`BottomNavigation`,`k-bottom-nav-`),n.cssProperties.registerValues(`BottomNavigation`,[{prop:`themeColor`,values:[`base`,`primary`,`secondary`,`tertiary`,`inverse`]}])})(window.kendo.jQuery);var i=kendo;e.__meta__=r,e.default=i});
//# sourceMappingURL=kendo.bottomnavigation.min.js.map