@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 9.48 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.popup.min.js`),require(`kendo.icons.min.js`),require(`kendo.html.button.min.js`),require(`kendo.actionsheet.view.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.popup.min`,`kendo.icons.min`,`kendo.html.button.min`,`kendo.actionsheet.view.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Actionsheet={}),e.kendo._globals.Core,e.kendo._globals.Popup,e.kendo._globals.Icons,e.kendo._globals.HtmlButton,e.kendo._globals.ActionsheetView))})(this,function(e,t,n,r,i,a){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let o={id:`actionsheet`,name:`ActionSheet`,category:`web`,description:`The ActionSheet widget displays a set of choices related to a task the user initiates.`,depends:[`core`,`popup`,`icons`,`html.button`,`actionsheet.view`]};(function(e,t){var n=window.kendo,r=n.ui.Widget,i=n.ui,a=`.kendoActionSheet`,o=i.Popup,s=n.keys,c=n.isFunction,l=o.TabKeyTrap,u=e(document.documentElement),d=`down`,f=`open`,p=`close`,m=`activate`,h=`deactivate`,g=`:kendoFocusable:not([tabindex='-1'])`,_=`k-actionsheet-container`,v=`k-overlay`,y=`k-actionsheet`,b=`k-adaptive-actionsheet`,x=`k-actionsheet-bottom`,S=`k-actionsheet-fullscreen`,C=`.k-actionsheet-item:not(.${w}),.k-actions .k-button[ref-actionsheet-action-button]:not(.${w})`,w=`k-disabled`,T=`k-hidden`,E=e.extend,D=`click`,O=`keydown`;function k(t,n){return!t||!n?!1:t===n||e.contains(t,n)}var A=r.extend({init:function(e,t){var i=this;t||={},r.fn.init.call(i,e,t),t.appendTo&&i.element.appendTo(t.appendTo),i._wrapper(),i._hasViews()?i._initMultiViews():i._initView(),i._toggleViewAnimationVariable(),i._popup(),i._applyAria(),i._tabKeyTrap=new l(i.wrapper),i.downEvent=n.applyEventMap(d,n.guid()),i.clickEvent=n.applyEventMap(D,n.guid()),i._mousedownProxy=i._mousedown.bind(i),i._clickProxy=i._click.bind(i),i.wrapper.on(O+a,i,i._keydown.bind(i))},events:[f,p,m,h],options:{name:`ActionSheet`,title:null,subtitle:null,items:[],popup:null,fullscreen:!1,footerTemplate:null,headerTemplate:null,contentTemplate:null,actionButtons:[],actionButtonsAlignment:`stretched`,actionButtonsOrientation:`horizontal`,animation:{open:{effects:`slideIn:up`,transition:!0,duration:200}},closeButton:!1,startButton:!1,adaptive:!1,focusOnActivate:!0,closeOnClick:!0,views:[],activeView:1},_addView:function(e){let t=this,n=t.options,r=t.views&&t.views.length+1>1,i=e||{headerTemplate:n.headerTemplate,contentTemplate:n.contentTemplate,footerTemplate:n.footerTemplate,actionButtons:n.actionButtons,actionButtonsAlignment:n.actionButtonsAlignment,actionButtonsOrientation:n.actionButtonsOrientation,title:n.title,items:n.items,subtitle:n.subtitle,startButton:n.startButton,closeButton:n.closeButton,ref:n.ref};i.addAnimationClass=r,i.index=t.views.length+1;let a=t._initView(i);return t._toggleViewAnimationVariable(),t._addViewsAnimation(),a},_setCurrentActiveView:function(e){let t=this;t.views&&t.views.length>1&&t.element.css(`--kendo-actionsheet-view-current`,e)},_removeView:function(e){let t=this,n=t.views.indexOf(e);t.views.length&&(t.views.splice(n,1),e._content&&Array.prototype.splice.call(t._content,n,1),e._footer&&Array.prototype.splice.call(t._footer,n,1),e._header&&Array.prototype.splice.call(t._header,n,1),e.destroy(),t.views.forEach((e,n)=>{t.views.length===1&&(e.wrapper.removeClass(`k-actionsheet-view-animated`),e.wrapper.css({transitionProperty:``,transitionDuration:``})),e.index=n+1})),t._toggleViewAnimationVariable()},_toggleViewAnimationVariable:function(){let e=this,t=e.element;e.views&&e.views.length>1?t.css(`--kendo-actionsheet-view-current`,e.options.activeView):t.css(`--kendo-actionsheet-view-current`,``)},_addViewsAnimation:function(){let e=this;e.views&&e.views.length>1&&e.wrapper.find(`.k-actionsheet-view`).addClass(`k-actionsheet-view-animated`).css({transitionProperty:`transform`,transitionDuration:`${{duration:500}.duration}ms`})},_hasViews:function(){return this.options.views&&this.options.views.length},setOptions:function(e){let t=this;r.fn.setOptions.call(t,e),t.views.forEach(e=>e.destroy()),t.popup.wrapper.length&&t.element.unwrap().unwrap(),t.popup.destroy(),t.popup=null,t._popup(),e.views&&e.views.length?t._initMultiViews():t._initView(),t._toggleViewAnimationVariable(),t._applyAria()},_wrapper:function(){var t=this,n=t.element,r,i=t.options.fullscreen==1?S:x;n.addClass(y+` `+i+(t.options.adaptive?` `+b:` k-actionsheet-jq`)),t.wrapper=r=n.wrap(`<div class='`+_+` `+T+`'></div>`).parent(),r.prepend(e(`<div></div>`).addClass(v))},_wrapInView:function(){this.element.wrapInner(`<div class='k-actionsheet-view'></div>`)},_applyAria:function(){var e=this,t=e.element,n=e.wrapper.find(`.k-actionsheet-title`).attr(`id`);t.attr({role:`dialog`,"aria-modal":!0,"aria-labelledby":e.options.title?n:null})},_popup:function(){let e=this,t=e.options;t.open=null,t.close=null,t.activate=null,t.deactivate=null,e.popup=new o(e.element,E(t.popup,t,{name:`Popup`,isRtl:n.support.isRtl(t.anchor),omitOriginOffsets:!0,appendTo:e.wrapper,modal:!0,animation:t.adaptive?t.animation:!1,position:`top center`,anchor:t.anchor||e.wrapper})),t.focusOnActivate&&e.popup.bind(m,e._openHandler.bind(e)),e.popup.bind(m,t=>{e.trigger(m,t)}),e.popup.bind(h,t=>{e.wrapper.addClass(T),u.off(e.downEvent,e._mousedownProxy),u.off(e.clickEvent,e._clickProxy),e.trigger(h,t)}),e.popup.bind(f,t=>{e.trigger(f,t)}),e.popup.bind(p,t=>{var n=e._closeButtonPressed;e._closeButtonPressed=!1,e.trigger(p,E({},t,{closeButton:n}))})},_initView:function(e){let t=this,r=t.options,i=e||{headerTemplate:r.headerTemplate,contentTemplate:r.contentTemplate,footerTemplate:r.footerTemplate,actionButtons:r.actionButtons,actionButtonsAlignment:r.actionButtonsAlignment,actionButtonsOrientation:r.actionButtonsOrientation,title:r.title,items:r.items,subtitle:r.subtitle,startButton:r.startButton,closeButton:r.closeButton,addAnimationClass:r.views.length>1,ref:r.ref},a=new n.ui.ActionSheetView(t.element,i);return e&&t.views?(t.views.push(a),a._content&&(Array.isArray(t._content)?t._content.push(a._content):t._content=[t._content,a._content]),a._footer&&(Array.isArray(t._footer)?t._footer.push(a._footer):t._footer=[t._footer,a._footer]),a._header&&(Array.isArray(t._header)?t._header.push(a._header):t._header=[t._header,a._header]),a):(t.views=[a],t._content=a._content,t._footer=a._footer,t._header=a._header,a)},_initMultiViews:function(){let e=this;e.options.views.forEach(t=>{e._initView(t)}),e._addViewsAnimation(),e._toggleViewAnimationVariable()},destroy:function(){var e=this;for(e.close(),r.fn.destroy.call(e);e.views.length;)e._removeView(e.views[0]);e._content=null,e._footer=null,e._header=null,e.element.off(a),e.wrapper.off(a),e.popup.destroy()},open:function(e){var t=this;t.altTarget=e&&e.altTarget,t.wrapper.removeClass(T),t._elementHeight=t._elementHeight||t.element.outerHeight(),t.options.adaptive&&t.wrapper.width(`100%`),t.popup.open(`auto`,0),t.popup.wrapper.find(`>.k-child-animation-container`).css({bottom:0,width:`100%`}),u.off(t.downEvent,t._mousedownProxy).on(t.downEvent,t._mousedownProxy),u.off(t.clickEvent,t._clickProxy).on(t.clickEvent,t._clickProxy),t._tabKeyTrap.trap()},visible:function(){return this.popup.visible()},toggle:function(){this.visible()?this.close():this.open()},fullscreen:function(e){var t=this;t.element.toggleClass(S,e===!0),t.element.toggleClass(x,e!==!0),t.element.closest(`.k-child-animation-container`).css({height:e?`100%`:`auto`})},close:function(){this.popup.close()},position:e.noop,_focusFirstFocusableElement:function(){var e=this.element.find(g).first();e.length&&e.trigger(`focus`)},_focusLastFocusableElement:function(){var e=this.element.find(g).last();e.length&&e.trigger(`focus`)},_hasItems:function(){return this.views.find(e=>e._hasItems)},_openHandler:function(){var e=this;let t=e._hasItems();if(t){var n=t._content.find(`.k-actionsheet-item`)[0];n&&n.focus()}else e._focusFirstFocusableElement()},_isActionableButton:function(t){return e(t).closest(C).length>0},_triggerAction:function(t){var n=this,r=e(t.target).closest(C).data(`action`);c(r)&&r(t),t.isDefaultPrevented()||n.close()},_keydown:function(t){var r=this,i=n.keys,a=t.keyCode,o=e(t.target);if(a==i.ESC)t.stopPropagation(),r.close();else if(r._isActionableButton(o)&&j(t))r._triggerAction(t);else if(t.keyCode===n.keys.TAB){var s=this.wrapper.find(g),c=s.first(),l=s.last();t.shiftKey?document.activeElement===c[0]&&(l.trigger(`focus`),t.preventDefault()):document.activeElement===l[0]&&(c.trigger(`focus`),t.preventDefault())}},_click:function(t){var r=this,i=n.eventTarget(t);r._isActionableButton(i)&&r._triggerAction(t),r.options.startButton&&e(i).closest(`[data-ref-actionsheet-start-button]`).length>0&&r.options.startButton.click.call(this,t)},_mousedown:function(t){let r=this,i=r.element[0],a=r.wrapper;var o=n.eventTarget(t);if(r.altTarget&&r.altTarget.is(e(o)))return;let s=e(o).closest(`.${_}`);!(s.length>0&&!s.is(a))&&(!k(i,o)&&r.options.closeOnClick||e(o).closest(`[${n.attr(`ref-actionsheet-close-button`)}]`,e(i).find(`k-actionsheet-titlebar`)).length>0)&&(r._closeButtonPressed=!0,r.close())}});function j(e){return e.keyCode==s.ENTER||e.keyCode==s.SPACEBAR}i.plugin(A)})(window.kendo.jQuery);var s=kendo;e.__meta__=o,e.default=s});
//# sourceMappingURL=kendo.actionsheet.min.js.map