UNPKG

@progress/kendo-ui

Version:

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

3 lines (2 loc) 9.23 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.core.js"),require("kendo.popup.js"),require("kendo.icons.js"),require("kendo.html.button.js"),require("kendo.actionsheet.view.js")):"function"==typeof define&&define.amd?define(["exports","kendo.core.min","kendo.popup.min","kendo.icons.min","kendo.html.button.min","kendo.actionsheet.view.min"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Actionsheet={}))}(this,(function(e){!function(e){var t=window.kendo,n=t.ui.Widget,o=t.ui,i=".kendoActionSheet",s=o.Popup,a=t.keys,r=t.isFunction,l=s.TabKeyTrap,c=e(document.documentElement),p="open",u="close",d="activate",h="deactivate",f=":kendoFocusable:not([tabindex='-1'])",w="k-actionsheet-container",_="k-actionsheet-bottom",m="k-actionsheet-fullscreen",v=`.k-actionsheet-item:not(.${g}),.k-actions .k-button[ref-actionsheet-action-button]:not(.${g})`,g="k-disabled",k="k-hidden",b=e.extend;var y=n.extend({init:function(e,o){var s=this;o=o||{},n.fn.init.call(s,e,o),o.appendTo&&s.element.appendTo(o.appendTo),s._wrapper(),s._hasViews()?s._initMultiViews():s._initView(),s._toggleViewAnimationVariable(),s._popup(),s._applyAria(),s._tabKeyTrap=new l(s.wrapper),s.downEvent=t.applyEventMap("down",t.guid()),s.clickEvent=t.applyEventMap("click",t.guid()),s._mousedownProxy=s._mousedown.bind(s),s._clickProxy=s._click.bind(s),s.wrapper.on("keydown"+i,s,s._keydown.bind(s))},events:[p,u,d,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){const t=this,n=t.options,o=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=o,i.index=t.views.length+1;const s=t._initView(i);return t._toggleViewAnimationVariable(),t._addViewsAnimation(),s},_setCurrentActiveView:function(e){const t=this;t.views&&t.views.length>1&&t.element.css("--kendo-actionsheet-view-current",e)},_removeView:function(e){const t=this,n=t.views.indexOf(e);t.views.length&&(t.views.splice(n,1),e._content&&t._content.splice(n,1),e._footer&&t._footer.splice(n,1),e._header&&t._header.splice(n,1),e.destroy(),t.views.forEach(((e,n)=>{1===t.views.length&&(e.wrapper.removeClass("k-actionsheet-view-animated"),e.wrapper.css({transitionProperty:"",transitionDuration:""})),e.index=n+1}))),t._toggleViewAnimationVariable()},_toggleViewAnimationVariable:function(){const 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(){const e=this;if(e.views&&e.views.length>1){const t={duration:500};e.wrapper.find(".k-actionsheet-view").addClass("k-actionsheet-view-animated").css({transitionProperty:"transform",transitionDuration:`${t.duration}ms`})}},_hasViews:function(){return this.options.views&&this.options.views.length},setOptions:function(e){const t=this;n.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,n=this,o=n.element,i=1==n.options.fullscreen?m:_;o.addClass("k-actionsheet "+i+(n.options.adaptive?" k-adaptive-actionsheet":" k-actionsheet-jq")),n.wrapper=t=o.wrap("<div class='"+w+" "+k+"'></div>").parent(),t.prepend(e("<div></div>").addClass("k-overlay"))},_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(){const e=this,n=e.options;n.open=null,n.close=null,n.activate=null,n.deactivate=null,e.popup=new s(e.element,b(n.popup,n,{name:"Popup",isRtl:t.support.isRtl(n.anchor),omitOriginOffsets:!0,appendTo:e.wrapper,modal:!0,animation:!!n.adaptive&&n.animation,position:"top center",anchor:n.anchor||e.wrapper})),n.focusOnActivate&&e.popup.bind(d,e._openHandler.bind(e)),e.popup.bind(d,(t=>{e.trigger(d,t)})),e.popup.bind(h,(t=>{e.wrapper.addClass(k),c.off(e.downEvent,e._mousedownProxy),c.off(e.clickEvent,e._clickProxy),e.trigger(h,t)})),e.popup.bind(p,(t=>{e.trigger(p,t)})),e.popup.bind(u,(t=>{var n=e._closeButtonPressed;e._closeButtonPressed=!1,e.trigger(u,b({},t,{closeButton:n}))}))},_initView:function(e){const n=this,o=n.options,i=e||{headerTemplate:o.headerTemplate,contentTemplate:o.contentTemplate,footerTemplate:o.footerTemplate,actionButtons:o.actionButtons,actionButtonsAlignment:o.actionButtonsAlignment,actionButtonsOrientation:o.actionButtonsOrientation,title:o.title,items:o.items,subtitle:o.subtitle,startButton:o.startButton,closeButton:o.closeButton,addAnimationClass:o.views.length>1,ref:o.ref},s=new t.ui.ActionSheetView(n.element,i);return e&&n.views?(n.views.push(s),s._content&&(Array.isArray(n._content)?n._content.push(s._content):n._content=[n._content,s._content]),s._footer&&(Array.isArray(n._footer)?n._footer.push(s._footer):n._footer=[n._footer,s._footer]),s._header&&(Array.isArray(n._header)?n._header.push(s._header):n._header=[n._header,s._header]),s):(n.views=[s],n._content=s._content,n._footer=s._footer,n._header=s._header,s)},_initMultiViews:function(){const e=this;e.options.views.forEach((t=>{e._initView(t)})),e._addViewsAnimation(),e._toggleViewAnimationVariable()},destroy:function(){var e=this;for(e.close(),n.fn.destroy.call(e);e.views.length;)e._removeView(e.views[0]);e._content=null,e._footer=null,e._header=null,e.element.off(i),e.wrapper.off(i),e.popup.destroy()},open:function(e){var t=this;t.altTarget=e&&e.altTarget,t.wrapper.removeClass(k),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%"}),c.off(t.downEvent,t._mousedownProxy).on(t.downEvent,t._mousedownProxy),c.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(m,!0===e),t.element.toggleClass(_,!0!==e),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(f).first();e.length&&e.trigger("focus")},_focusLastFocusableElement:function(){var e=this.element.find(f).last();e.length&&e.trigger("focus")},_hasItems:function(){return this.views.find((e=>e._hasItems))},_openHandler:function(){const e=this._hasItems();if(e){var t=e._content.find(".k-actionsheet-item")[0];t&&t.focus()}else this._focusFirstFocusableElement()},_isActionableButton:function(t){return e(t).closest(v).length>0},_triggerAction:function(t){var n=e(t.target).closest(v).data("action");r(n)&&n(t),t.isDefaultPrevented()||this.close()},_keydown:function(n){var o=this,i=t.keys,s=n.keyCode,a=e(n.target);if(s==i.ESC)n.stopPropagation(),o.close();else if(o._isActionableButton(a)&&A(n))o._triggerAction(n);else if(n.keyCode===t.keys.TAB){var r=this.wrapper.find(f),l=r.first(),c=r.last();n.shiftKey?document.activeElement===l[0]&&(c.trigger("focus"),n.preventDefault()):document.activeElement===c[0]&&(l.trigger("focus"),n.preventDefault())}},_click:function(n){var o=this,i=t.eventTarget(n);o._isActionableButton(i)&&o._triggerAction(n),o.options.startButton&&e(i).closest("[data-ref-actionsheet-start-button]").length>0&&o.options.startButton.click.call(this,n)},_mousedown:function(n){const o=this,i=o.element[0],s=o.wrapper;var a=t.eventTarget(n);if(o.altTarget&&o.altTarget.is(e(a)))return;const r=e(a).closest(`.${w}`);!(r.length>0&&!r.is(s))&&(!function(t,n){return!(!t||!n)&&(t===n||e.contains(t,n))}(i,a)&&o.options.closeOnClick||e(a).closest(`[${t.attr("ref-actionsheet-close-button")}]`,e(i).find("k-actionsheet-titlebar")).length>0)&&(o._closeButtonPressed=!0,o.close())}});function A(e){return e.keyCode==a.ENTER||e.keyCode==a.SPACEBAR}o.plugin(y)}(window.kendo.jQuery);var t=kendo;e.__meta__={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"]},e.default=t,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=kendo.actionsheet.min.js.map