{"version":3,"file":"kendo.actionsheet.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoactionsheet","js","this","$","undefined$1","kendo","window","encode","htmlEncode","Widget","ui","ns","Popup","keys","isFunction","TabKeyTrap","DOCUMENT_ELEMENT","document","documentElement","OPEN","CLOSE","ACTIVATE","DEACTIVATE","FOCUSABLE","ACTION_SHEET_BOTTOM","ACTION_SHEET_FULLSCREEN","ACTIONABLE_BUTTON_SELECTOR","STATEDISABLED","ARIA_DISABLED","HIDDEN","ACTIONSHEET_TITLE_ID","guid","extend","template","hexColor","HEADER_TEMPLATE","options","title","subtitle","closeButton","html","renderButton","attr","icon","fillMode","size","ITEM_TEMPLATE","disabled","text","description","defaultItem","iconClass","iconSize","iconColor","click","noop","group","defaultActionButton","ActionSheet","init","element","that","fn","call","appendTo","_hasItems","items","length","_hasActionButtons","actionButtons","_mapItems","_mapActionButtons","_wrapper","_popup","_createContent","_createHeader","_createFooter","_applyAria","_tabKeyTrap","wrapper","downEvent","applyEventMap","clickEvent","_mousedownProxy","_mousedown","bind","_clickProxy","_click","on","_keydown","events","name","popup","fullscreen","footerTemplate","headerTemplate","contentTemplate","adaptive","focusOnActivate","map","defaultItemsMapper","defaultActionButtonsMapper","positionClass","addClass","ACTION_SHEET","wrap","parent","prepend","actionsheetTitleId","find","role","popupAnimation","open","effects","transition","duration","close","activate","deactivate","isRtl","support","anchor","omitOriginOffsets","modal","animation","position","_openHandler","ev","trigger","off","closeButtonPressed","_closeButtonPressed","_items","groupedItems","reduce","itemsByGroup","currentItem","push","Map","topItems","bottomItems","_createItems","_content","append","wrapInner","contentContainer","empty","hideOverflowContent","idx","item","itemTemplate","itemElement","data","result","inlineStyles","itemsContainer","renderIcon","test","color","fontSize","Object","css","prop","_createActionButtons","actionButtonElement","actionsContainer","_footer","i","action","enable","toggleClass","removeAttr","insertAfter","destroy","_header","altTarget","removeClass","_elementHeight","outerHeight","width","bottom","trap","visible","toggle","isFullScreen","closest","height","_focusFirstFocusableElement","firstFocusableElement","first","_focusLastFocusableElement","lastFocusableElement","last","firstItem","focus","_isActionableButton","target","_triggerAction","e","isDefaultPrevented","keyCode","ESC","stopPropagation","isButtonKeyTrigger","TAB","allFocusables","firstFocusable","lastFocusable","shiftKey","activeElement","preventDefault","eventTarget","container","is","contains","ENTER","SPACEBAR","actionButton","plugin","jQuery"],"sources":["kendo.actionsheet.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.popup.js'), require('kendo.icons.js'), require('kendo.html.button.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.popup', 'kendo.icons', 'kendo.html.button'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoactionsheet = global.kendoactionsheet || {}, global.kendoactionsheet.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"actionsheet\",\n name: \"ActionSheet\",\n category: \"web\", // suite\n description: \"The ActionSheet widget displays a set of choices related to a task the user initiates.\",\n depends: [\"core\", \"popup\", \"icons\", \"html.button\"] // dependencies\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo;\n var encode = kendo.htmlEncode;\n var Widget = kendo.ui.Widget;\n var ui = kendo.ui;\n var ns = \".kendoActionSheet\";\n var DOT = \".\";\n var Popup = ui.Popup;\n var keys = kendo.keys;\n var isFunction = kendo.isFunction;\n var TabKeyTrap = Popup.TabKeyTrap;\n var DOCUMENT_ELEMENT = $(document.documentElement);\n var MOUSEDOWN = \"down\";\n var OPEN = \"open\";\n var CLOSE = \"close\";\n var ACTIVATE = \"activate\";\n var DEACTIVATE = \"deactivate\";\n var FOCUSABLE = \":kendoFocusable:not([tabindex='-1'])\";\n var ACTION_SHEET_CONTAINER = \"k-actionsheet-container\";\n var OVERLAY = \"k-overlay\";\n var ACTION_SHEET = \"k-actionsheet\";\n var ACTION_SHEET_ADAPTIVE = \"k-adaptive-actionsheet\";\n var ACTION_SHEET_BOTTOM = \"k-actionsheet-bottom\";\n var ACTION_SHEET_FULLSCREEN = \"k-actionsheet-fullscreen\";\n var ACTIONABLE_BUTTON_SELECTOR = `.k-actionsheet-item:not(.${STATEDISABLED}),.k-actions .k-button[ref-actionsheet-action-button]:not(.${STATEDISABLED})`;\n var STATEDISABLED = \"k-disabled\";\n var ARIA_DISABLED = \"aria-disabled\";\n var DISABLED = \"disabled\";\n var HIDDEN = \"k-hidden\";\n var ACTIONSHEET_TITLE_ID = kendo.guid();\n var extend = $.extend;\n var template = kendo.template;\n var CLICK = \"click\";\n var KEYDOWN = \"keydown\";\n var hexColor = /^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;\n var HEADER_TEMPLATE = (options) =>\n `
` +\n (options.title ?\n '
' +\n `
` +\n `
${options.title}
` +\n (options.subtitle ? `
${options.subtitle || \"\"}
` : \"\") +\n '
' +\n (options.closeButton ?\n '
' +\n kendo.html.renderButton(``, { icon: \"x\", fillMode: \"flat\", size: \"large\" }) +\n '
'\n : \"\") +\n '
'\n : \"\") +\n '
';\n var ITEM_TEMPLATE = ({ disabled, icon, text, description }) =>\n `` +\n `` +\n (icon ? `${icon}` : \"\") +\n `` +\n `${encode(text)}` +\n `${description ? '' + encode(description) + '' : ''}` +\n '' +\n '' +\n '';\n var SEPARATOR = '
';\n var defaultItem = {\n text: \"\",\n description: \"\",\n iconClass: \"\",\n iconSize: 0,\n iconColor: \"\",\n click: $.noop,\n group: \"top\",\n disabled: false\n };\n\n var defaultActionButton = {\n text: \"\",\n icon: \"\",\n iconClass: \"\",\n click: $.noop,\n disabled: false\n };\n\n function contains(container, target) {\n if (!container || !target) {\n return false;\n }\n return container === target || $.contains(container, target);\n }\n\n function createIcon(data) {\n var result;\n var inlineStyles = {};\n\n if (!data.iconClass && !data.icon) {\n return '';\n }\n\n result = $(kendo.html.renderIcon({ icon: data.icon, iconClass: data.iconClass + \" k-actionsheet-item-icon\" }));\n\n if (data.iconColor && hexColor.test(data.iconColor)) {\n inlineStyles.color = data.iconColor;\n } else if (data.iconColor) {\n result.addClass(\"k-text-\" + data.iconColor);\n }\n\n if (data.iconSize) {\n inlineStyles.fontSize = data.iconSize;\n }\n\n if (Object.keys(inlineStyles).length) {\n result.css(inlineStyles);\n }\n\n return result;\n }\n\n var ActionSheet = Widget.extend({\n init: function(element, options) {\n var that = this;\n options = options || {};\n\n Widget.fn.init.call(that, element, options);\n\n if (options.appendTo) {\n that.element.appendTo(options.appendTo);\n }\n\n that._hasItems = options.items && options.items.length;\n that._hasActionButtons = options.actionButtons && options.actionButtons.length;\n that._mapItems();\n that._mapActionButtons();\n that._wrapper();\n that._popup();\n that._createContent();\n that._createHeader();\n that._createFooter();\n that._applyAria();\n\n that._tabKeyTrap = new TabKeyTrap(that.wrapper);\n\n that.downEvent = kendo.applyEventMap(MOUSEDOWN, kendo.guid());\n that.clickEvent = kendo.applyEventMap(CLICK, kendo.guid());\n that._mousedownProxy = that._mousedown.bind(that);\n that._clickProxy = that._click.bind(that);\n that.wrapper.on(KEYDOWN + ns, that, that._keydown.bind(that));\n },\n\n events: [\n OPEN,\n CLOSE,\n ACTIVATE,\n DEACTIVATE\n ],\n\n options: {\n name: \"ActionSheet\",\n title: \"\",\n items: [],\n popup: null,\n fullscreen: false,\n footerTemplate: null,\n headerTemplate: null,\n contentTemplate: null,\n actionButtons: [],\n closeButton: false,\n adaptive: false,\n focusOnActivate: true\n },\n\n _mapItems: function() {\n var that = this;\n\n if (!that._hasItems) {\n return;\n }\n\n that.options.items = that.options.items.map(defaultItemsMapper);\n },\n\n _mapActionButtons: function() {\n var that = this;\n\n if (!that._hasActionButtons) {\n return;\n }\n\n that.options.actionButtons = that.options.actionButtons.map(defaultActionButtonsMapper);\n },\n\n _wrapper: function() {\n var that = this;\n var element = that.element;\n var wrapper;\n\n var positionClass = that.options.fullscreen == true ? ACTION_SHEET_FULLSCREEN : ACTION_SHEET_BOTTOM;\n\n element.addClass(ACTION_SHEET + \" \" + positionClass + (that.options.adaptive ? \" \" + ACTION_SHEET_ADAPTIVE : \" k-actionsheet-jq\"));\n that.wrapper = wrapper = element.wrap(\"\").parent();\n wrapper.prepend($('
').addClass(OVERLAY));\n },\n\n _applyAria: function() {\n var that = this;\n var element = that.element;\n var actionsheetTitleId = that.wrapper.find(\".k-actionsheet-title\").attr(\"id\");\n\n element.attr({\n role: \"dialog\",\n \"aria-modal\": true,\n \"aria-labelledby\": that.options.title ? actionsheetTitleId : null\n });\n },\n\n _popup: function() {\n var that = this;\n var options = that.options;\n\n var popupAnimation = !options.adaptive ? false :\n {\n open: {\n effects: \"slideIn:up\",\n transition: true,\n duration: 200\n }\n };\n\n options.open = null;\n options.close = null;\n options.activate = null;\n options.deactivate = null;\n\n that.popup = new Popup(that.element, extend(options.popup,\n options,\n {\n name: \"Popup\",\n isRtl: kendo.support.isRtl(options.anchor),\n omitOriginOffsets: true,\n appendTo: that.wrapper,\n modal: true,\n animation: popupAnimation,\n position: \"top center\",\n anchor: options.anchor || that.wrapper\n }));\n\n if (options.focusOnActivate) {\n that.popup.bind(ACTIVATE, that._openHandler.bind(that));\n }\n\n that.popup.bind(ACTIVATE, (ev) => {\n that.trigger(ACTIVATE, ev);\n });\n\n that.popup.bind(DEACTIVATE, (ev) => {\n that.wrapper.addClass(HIDDEN);\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy);\n DOCUMENT_ELEMENT.off(that.clickEvent, that._clickProxy);\n that.trigger(DEACTIVATE, ev);\n });\n\n that.popup.bind(OPEN, (ev) => {\n that.trigger(OPEN, ev);\n });\n\n that.popup.bind(CLOSE, (ev) => {\n var closeButtonPressed = that._closeButtonPressed;\n that._closeButtonPressed = false;\n that.trigger(CLOSE, extend({}, ev, {\n closeButton: closeButtonPressed\n }));\n });\n },\n\n _createHeader: function() {\n var that = this;\n var options = that.options;\n\n if (!options.title && !options.headerTemplate) {\n return;\n }\n\n that.element.prepend(template(options.headerTemplate || HEADER_TEMPLATE)(options));\n },\n\n _items: function() {\n var that = this;\n\n if (!that._hasItems) {\n return;\n }\n\n var groupedItems = that.options.items.reduce((itemsByGroup, currentItem) => {\n const group = currentItem[\"group\"] || \"top\";\n itemsByGroup[group] = itemsByGroup[group] || [];\n itemsByGroup[group].push(currentItem);\n return itemsByGroup;\n }, new Map());\n\n var topItems = groupedItems[\"top\"];\n var bottomItems = groupedItems[\"bottom\"];\n\n that._createItems(topItems);\n\n if (topItems && topItems.length && bottomItems && bottomItems.length) {\n that._content.append(SEPARATOR);\n }\n\n that._createItems(bottomItems);\n },\n\n _createContent: function() {\n var that = this;\n var options = that.options;\n that.element.wrapInner($(\"
\"));\n var contentContainer = that._content = that.element.find(\".k-actionsheet-content\");\n\n if (that._hasItems) {\n contentContainer.empty();\n that._items();\n return;\n }\n\n if (options.contentTemplate || options.hideOverflowContent) {\n contentContainer.addClass(\"!k-overflow-hidden\");\n }\n if (options.contentTemplate) {\n contentContainer.html(template(options.contentTemplate)(options));\n }\n },\n\n _createItems: function(items) {\n var that = this;\n var idx;\n var item;\n var itemTemplate;\n var itemElement;\n var contentContainer = that._content;\n var itemsContainer = $(\"
\");\n var icon;\n\n if (!items || !items.length) {\n return;\n }\n\n contentContainer.append(itemsContainer);\n itemTemplate = template(ITEM_TEMPLATE);\n\n for (idx = 0; idx < items.length; idx++) {\n item = items[idx];\n icon = createIcon(item);\n itemElement = $(itemTemplate(extend({}, item, { icon: icon && icon.prop('outerHTML') })));\n itemsContainer.append(itemElement);\n\n if (item.click) {\n itemElement.data(\"action\", item.click);\n }\n }\n },\n\n _createActionButtons: function() {\n var that = this;\n var options = that.options;\n var actionButtons = options.actionButtons;\n var actionsContainer = that._footer;\n var actionButtonElement;\n\n for (var i = 0; i < actionButtons.length; i++) {\n var action = actionButtons[i];\n var enable = action.disabled !== true;\n actionButtonElement = $(kendo.html.renderButton(``, $.extend({ size: \"large\" }, action)));\n actionsContainer.append(actionButtonElement);\n actionButtonElement.toggleClass(STATEDISABLED, !enable);\n actionButtonElement.attr(DISABLED, !enable);\n\n if (enable) {\n actionButtonElement.removeAttr(ARIA_DISABLED);\n } else {\n actionButtonElement.attr(ARIA_DISABLED, !enable);\n }\n\n if (action.click) {\n actionButtonElement.data(\"action\", action.click);\n }\n }\n },\n\n _createFooter: function() {\n var that = this;\n var options = that.options;\n var actionsContainer;\n\n if (!that._hasActionButtons && !options.footerTemplate) {\n return;\n }\n\n actionsContainer = that._footer = $(\"\");\n actionsContainer.insertAfter(that._content);\n\n if (that._hasActionButtons) {\n actionsContainer.addClass(\"k-actions k-actions-stretched k-actions-horizontal\");\n that._createActionButtons();\n return;\n }\n\n if (options.footerTemplate) {\n that._footer.append(template(options.footerTemplate)(options));\n }\n },\n\n destroy: function() {\n var that = this;\n that.close();\n Widget.fn.destroy.call(that);\n that._content = null;\n that._footer = null;\n that._header = null;\n that.element.off(ns);\n that.wrapper.off(ns);\n that.popup.destroy();\n },\n\n open: function(options) {\n var that = this;\n\n that.altTarget = options && options.altTarget;\n\n that.wrapper.removeClass(HIDDEN);\n that._elementHeight = that._elementHeight || that.element.outerHeight();\n\n if (that.options.adaptive) {\n that.wrapper.width(\"100%\");\n }\n\n that.popup.open(\"auto\", 0);\n that.popup.wrapper.find(\">.k-child-animation-container\").css({ bottom: 0, width: \"100%\" });\n\n DOCUMENT_ELEMENT.off(that.downEvent, that._mousedownProxy)\n .on(that.downEvent, that._mousedownProxy);\n\n DOCUMENT_ELEMENT.off(that.clickEvent, that._clickProxy)\n .on(that.clickEvent, that._clickProxy);\n\n that._tabKeyTrap.trap();\n },\n\n visible: function() {\n return this.popup.visible();\n },\n\n toggle: function() {\n !this.visible() ? this.open() : this.close();\n },\n\n fullscreen: function(isFullScreen) {\n var that = this;\n\n that.element.toggleClass(ACTION_SHEET_FULLSCREEN, isFullScreen === true);\n that.element.toggleClass(ACTION_SHEET_BOTTOM, isFullScreen !== true);\n that.element.closest(\".k-child-animation-container\").css({ height: isFullScreen ? \"100%\" : \"auto\" });\n },\n\n close: function() {\n var that = this;\n\n that.popup.close();\n },\n\n position: $.noop,\n\n _focusFirstFocusableElement: function() {\n var that = this;\n var focusableElements = that.element.find(FOCUSABLE);\n var firstFocusableElement = focusableElements.first();\n\n if (firstFocusableElement.length) {\n firstFocusableElement.trigger(\"focus\");\n }\n },\n\n _focusLastFocusableElement: function() {\n var that = this;\n var focusableElements = that.element.find(FOCUSABLE);\n var lastFocusableElement = focusableElements.last();\n\n if (lastFocusableElement.length) {\n lastFocusableElement.trigger(\"focus\");\n }\n },\n\n _openHandler: function() {\n var that = this;\n if (that._hasItems) {\n var firstItem = that._content.find(\".k-actionsheet-item\")[0];\n if (firstItem) {\n firstItem.focus();\n }\n } else {\n that._focusFirstFocusableElement();\n }\n },\n\n _isActionableButton: function(target) {\n return $(target).closest(ACTIONABLE_BUTTON_SELECTOR).length > 0;\n },\n\n _triggerAction: function(e) {\n var that = this;\n var action = $(e.target).closest(ACTIONABLE_BUTTON_SELECTOR).data(\"action\");\n if (isFunction(action)) {\n action(e);\n }\n\n if (!e.isDefaultPrevented()) {\n that.close();\n }\n },\n\n _keydown: function(e) {\n var that = this;\n var keys = kendo.keys;\n var keyCode = e.keyCode;\n var target = $(e.target);\n\n if (keyCode == keys.ESC) {\n e.stopPropagation();\n that.close();\n } else if (that._isActionableButton(target) && isButtonKeyTrigger(e)) {\n that._triggerAction(e);\n } else if (e.keyCode === kendo.keys.TAB) {\n var allFocusables = this.wrapper.find(FOCUSABLE);\n var firstFocusable = allFocusables.first();\n var lastFocusable = allFocusables.last();\n if (e.shiftKey) {\n if (document.activeElement === firstFocusable[0]) {\n lastFocusable.trigger(\"focus\");\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastFocusable[0]) {\n firstFocusable.trigger(\"focus\");\n e.preventDefault();\n }\n }\n }\n },\n\n _click: function(e) {\n var that = this;\n var target = kendo.eventTarget(e);\n\n if (that._isActionableButton(target)) {\n that._triggerAction(e);\n }\n },\n\n _mousedown: function(e) {\n var that = this;\n var container = that.element[0];\n var target = kendo.eventTarget(e);\n\n if (that.altTarget && that.altTarget.is($(target))) {\n return;\n }\n\n if (!contains(container, target) || $(target).closest(`[${kendo.attr(\"ref-actionsheet-close-button\")}]`, $(container).find(\"k-actionsheet-titlebar\")).length > 0) {\n that._closeButtonPressed = true;\n that.close();\n }\n }\n });\n\n function isButtonKeyTrigger(e) {\n return e.keyCode == keys.ENTER || e.keyCode == keys.SPACEBAR;\n }\n\n function defaultItemsMapper(item) {\n return extend({}, defaultItem, item);\n }\n\n function defaultActionButtonsMapper(actionButton) {\n return extend({}, defaultActionButton, actionButton);\n }\n\n ui.plugin(ActionSheet);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}