UNPKG

@progress/kendo-ui

Version:

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

3 lines 9.76 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.popup.min.js`),require(`kendo.fx.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.popup.min`,`kendo.fx.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.Floatingactionbutton={}),e.kendo._globals.Core,e.kendo._globals.Popup,e.kendo._globals.Fx,e.kendo._globals.Icons))})(this,function(e,t,n,r,i){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let a={id:`floatingactionbutton`,name:`Floating Action Button`,category:`web`,description:`The Floating Action Button represents the primary action of a screen and provides the ability to display related actions.`,depends:[`core`,`icons`]};(function(e,t){var n=window.kendo,r=n.ui.Widget,i=`.kendoFloatingActionButton`,a=n.ui,o=n.keys,s=n.support,c=e.extend,l=n.htmlEncode,u=`.`,d=`id`,f=`k-hidden`,p=`left`,m=`right`,h=`top`,g=`bottom`,_=`center`,v=`start`,y=`auto`,b=`aria-disabled`,x=`aria-haspopup`,S=`aria-controls`,C=`aria-expanded`,w=`aria-label`,T=`role`,E=`menu`,D=`menuitem`,O=`tabindex`,k=`click`,A=`expand`,j=`collapse`,M=`keydown`,N=`mouseenter`+i+` mouseleave`+i,P={widget:`k-fab`,text:`k-fab-text`,icon:`k-fab-icon`,list:`k-fab-items`,listTop:`k-fab-items-top`,listBottom:`k-fab-items-bottom`,listTextLeft:`k-text-left`,listTextRight:`k-text-right`,item:`k-fab-item`,itemIcon:`k-fab-item-icon`,itemText:`k-fab-item-text`,popup:`k-fab-popup`,popupTransparent:`k-popup-transparent`,disabled:`k-disabled`,hover:`k-hover`,focus:`k-focus`},F={icon:({icon:e})=>n.ui.icon({icon:l(e),iconClass:`k-fab-icon`}),text:({text:e})=>`<span class="k-fab-text">${l(e)}</span>`,item:({text:e,icon:t})=>(e?`<span class="k-fab-item-text" aria-hidden="true">${l(e)}</span>`:``)+(t?n.ui.icon({icon:l(t),iconClass:`k-fab-item-icon`}):``)},I=r.extend({init:function(e,t){var i=this;r.fn.init.call(i,e,t),i._wrapper(),i._content(),i._appearance(),i._renderList(),i._initPopup(),i._aria(),i._attachEvents(),n.notify(i)},options:{name:`FloatingActionButton`,icon:``,text:``,items:[],themeColor:t,fillMode:t,size:t,rounded:t,align:`bottom end`,alignOffset:{x:16,y:16},positionMode:`fixed`,visible:!0,enable:!0,enabled:!0,_classNames:[]},events:[k,A,j],_offsetMap:{start:p,end:m,top:h,bottom:g},_reversedOffsetMap:{start:m,end:p},_getAlignment:function(){var e=this.options.align.split(` `);return{vertical:e[0],horizontal:e[1]}},_getOffset:function(){var e=this,t=e.options,n=s.isRtl(e.element),r=e._getAlignment(),i=t.alignOffset,a=n?e._reversedOffsetMap:e._offsetMap,o=n?e._offsetMap:e._reversedOffsetMap,c={};return c[e._offsetMap[r.vertical]]=i.y,c[a[r.horizontal]]=i.x,c[o[r.horizontal]]=y,c},_wrapper:function(){var e=this;e.wrapper=e.element.addClass(P.widget),e.wrapper.css(e._getOffset())},_content:function(){var e=this,t=e.options,n=t.text,r=t.icon;e.icon(r),e.text(n===``?e.element.text():n)},_appearance:function(){var e=this,t=e.options;e._align=t.align,e._visible=t.visible,e._enabled=t.enabled,e._updateClassNames()},_updateClassNames:function(){var t=this,n=[P.widget],r=t.options._classNames,i=t._align,a=t._visible,o=t._enabled;e(t.element[0].classList).each(function(){var e=this+``;e.indexOf(`k-`)===0&&r.indexOf(e)===-1&&t.element.removeClass(e)}),typeof i==`string`&&i.split(` `).length==2&&n.push(`k-`+i.replace(` `,`-`)),a===!1&&n.push(f),o===!1&&n.push(P.disabled),t.element.addClass(n.join(` `)),t._applyCssClasses()},_aria:function(){var e=this,t=e.element,n=e._list,r=e._enabled;t.attr(b,!r),t.attr(x,n?!0:null),t.attr(C,n?!1:null),t.attr(S,n?n.attr(d):null),n&&(n.attr(T,E),n.find(u+P.item).attr(T,D).attr(O,-1))},_renderList:function(){var t=this,n=t.options.items,r=document.body,i=e(`<ul>`).addClass(P.list);n.length&&(t._list=i.appendTo(r),n.forEach(t._renderListItem.bind(t)),i.addClass(t._getListOrientation()))},_renderListItem:function(t){var r=this,i=n.template(F.item),a=t.template?n.template(t.template):i,o=e(`<li>`).addClass(P.item);o.addClass(r._getListItemsAlignment()),o.addClass(t.cssClass),o.attr(w,t.title||t.label||``),r._enableListItem(o,t.enabled),o.append(a({icon:t.icon,text:t.label})),r._list.append(o)},_enableListItem:function(e,n){!e||n===t||(e.toggleClass(P.disabled,!n),n?e.removeAttr(b):e.attr(b,!0))},_getListOrientation:function(){return this._getAlignment().vertical===g?P.listTop:P.listBottom},_getListItemsAlignment:function(){var e=this,t=s.isRtl(e.element),n=e._getAlignment();return n.horizontal===v||n.horizontal===_?t?P.listTextRight:P.listTextLeft:t?P.listTextLeft:P.listTextRight},_getListItemOffset:function(){var e=this,t=e.element,n=e._list.find(u+P.itemIcon),r=0;return t.length&&n.length&&!e.options.text&&(r=t.outerWidth()/2-n.first().outerWidth()/2),r},_initPopup:function(){var e=this,t=e.element,r=e.options,i=e._list,o,s;i&&(s=i.wrap(`<div>`).parent(),o=e._getPopupPosition(),e._popup=new a.Popup(s,c({},r.popup,{anchor:t,appendTo:s.parent(),copyAnchorStyles:!1,autosize:!1,collision:``,position:o.position,origin:o.origin,animation:{open:{effects:n.parseEffects(a.Popup.fn.options.animation.open.effects,o.flipped)}},open:e._popupOpenHandler.bind(e),close:e._popupCloseHandler.bind(e),activate:e._popupExpandHandler.bind(e),deactivate:e._popupCollapseHandler.bind(e)})),e._popup.element.addClass([P.popup,P.popupTransparent].join(` `)),e._setPopupListId())},_setPopupListId:function(){var e=this,t=e.element.attr(d);t||=n.guid(),e._list.attr(d,t+`-list`)},_getPopupPosition:function(){var e=this,t=e.options.align,n=s.isRtl(e.element),r=n?m:p,i=n?p:m,a,o,c=!1;switch(t){case`top end`:case`middle end`:a=`bottom `+i,o=`top `+i;break;case`bottom start`:case`bottom center`:a=`top `+r,o=`bottom `+r,c=!0;break;case`bottom end`:a=`top `+i,o=`bottom `+i,c=!0;break;default:a=`bottom `+r,o=`top `+r}return{origin:a,position:o,flipped:c}},_popupOpenHandler:function(){var e=this._popup,t=this._getListItemOffset();this.element.attr(C,!0),e.element.css({paddingLeft:t}),e.element.css({paddingRight:t})},_popupCloseHandler:function(){this.element.attr(C,!1)},_popupExpandHandler:function(e){this.trigger(A)&&e.preventDefault(),this._popup.element.find(u+P.item).first().trigger(`focus`)},_popupCollapseHandler:function(e){this.trigger(j)&&e.preventDefault()},_attachEvents:function(){var e=this,t=e._list;e.element.on(k+i,e._click.bind(e)),t&&t.on(k+i,u+P.item,e._itemClick.bind(e)).on(M+i,u+P.item,e._itemKeydown.bind(e)).on(N,u+P.item,e._itemHover.bind(e))},_click:function(e){var t=this,n=t.options,r=t._popup;if(t.trigger(k,{event:e})){e.preventDefault();return}!r&&!n.items.length||(r.visible()?r.close():r.open())},_itemClick:function(t){var r=this,i=e(t.target),a,o,s,c;i&&(a=i.closest(u+P.item),a.length&&(o=r.options.items[a.index()],s=o.click&&n.isFunction(o.click)?o.click:null,c={sender:r,target:a,item:o},s&&(r.element.trigger(`focus`),r._popup.close(),s.call(r,c))))},_itemKeydown:function(t){var n=this,r=e(t.target),i=t.keyCode,a=n.element,s=n._popup,c=n._getAlignment().vertical===g,l=r.hasClass(P.disabled),d=n._list.children(),f=d.index(t.target);if(r.is(u+P.item)){if(t.preventDefault(),(i===o.ENTER||i===o.SPACEBAR)&&!l&&n._itemClick(t),!c&&i===o.DOWN||c&&i===o.UP){if(f===d.length-1){d.first().trigger(`focus`);return}e(d[f+1]).trigger(`focus`)}if(!c&&i===o.UP||c&&i===o.DOWN){if(f===0){d.last().trigger(`focus`);return}e(d[f-1]).trigger(`focus`)}(i===o.ESC||i===o.TAB)&&(s.close(),a.trigger(`focus`)),i===o.HOME&&d.first().trigger(`focus`),i===o.END&&d.last().trigger(`focus`)}},_itemHover:function(t){var r=e(n.eventTarget(t)||t.target).closest(u+P.item);r.hasClass(P.item)&&(r.siblings().removeClass(P.hover),r.toggleClass(P.hover))},text:function(r){var i=this,a=i.element,o=a.find(u+P.text),s=n.template(F.text);if(arguments.length===0||r===t)return i._text;if(i.options.text=i._text=n.htmlEncode(r),a.contents().filter(function(){return this.nodeType===3}).remove(),r===!1||r===null||r===``){i._text=``,o.remove();return}if(!o.length){o=e(s({text:r})).appendTo(a);return}o.text(r)},icon:function(e){var r=this,i=r.element,a=i.find(u+P.icon),o=n.template(F.icon);if(arguments.length===0||e===t)return r._icon;if(r.options.icon=r._icon=n.htmlEncode(e),e===!1||e===null||e===``){r._icon=``,a.remove();return}a.remove(),i.prepend(o({icon:e}))},themeColor:function(e){var n=this;if(e===t)return n.options.themeColor;n.setOptions({themeColor:e})},hide:function(){var e=this;e.options.visible=e._visible=!1,e._updateClassNames()},show:function(){var e=this;e.options.visible=e._visible=!0,e._updateClassNames()},enable:function(e){var n=this;e===t&&(e=!0),n.options.enabled=n._enabled=e,n._updateClassNames(),n.element.attr(b,!e)},setOptions:function(e){var t=this;r.fn.setOptions.call(t,e),t.element.removeAttr(`style`),t.element.css(t._getOffset()),t._content(),t._appearance(),(e.align||e.items)&&(t.element.off(i),t.destroyPopup(),t._renderList(),t._initPopup(),t._attachEvents()),t._aria()},destroyPopup:function(){var e=this;e._popup&&=(e._list.off(i),e._list.remove(),e._list=null,e._popup.destroy(),null)},destroy:function(){var e=this;e.destroyPopup(),e.element.off(i),r.fn.destroy.call(e)}});n.cssProperties.registerPrefix(`FloatingActionButton`,`k-fab-`),n.cssProperties.registerValues(`FloatingActionButton`,[{prop:`fillMode`,values:[`solid`]},{prop:`themeColor`,values:[`primary`,`secondary`,`tertiary`,`info`,`success`,`warning`,`error`,`dark`,`light`,`inverse`]},{prop:`rounded`,values:n.cssProperties.roundedValues.concat([[`full`,`full`]])}]),a.plugin(I)})(window.kendo.jQuery);var o=kendo;e.__meta__=a,e.default=o}); //# sourceMappingURL=kendo.floatingactionbutton.min.js.map