{"version":3,"file":"kendo.actionsheet.js","names":["__meta__","id","name","category","description","depends","$","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","defaultItem","iconClass","iconSize","iconColor","click","noop","group","defaultActionButton","ActionSheet","init","element","that","this","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","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","kendo$1"],"sources":["kendo.actionsheet.js"],"mappings":"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","sourcesContent":["import './kendo.core.js';\nimport './kendo.popup.js';\nimport './kendo.icons.js';\nimport './kendo.html.button.js';\n\nvar __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 `<div class=\"k-text-center k-actionsheet-titlebar\" >` +\n (options.title ?\n '<div class=\"k-actionsheet-titlebar-group k-hbox\">' +\n `<div id=\"${ACTIONSHEET_TITLE_ID}\" class=\"k-actionsheet-title\">` +\n `<div class=\"k-text-center\">${options.title}</div>` +\n (options.subtitle ? `<div class=\"k-actionsheet-subtitle k-text-center\">${options.subtitle || \"\"}</div>` : \"\") +\n '</div>' +\n (options.closeButton ?\n '<div class=\"k-actionsheet-actions\">' +\n kendo.html.renderButton(`<button ${kendo.attr(\"ref-actionsheet-close-button\")}></button>`, { icon: \"x\", fillMode: \"flat\", size: \"large\" }) +\n '</div>'\n : \"\") +\n '</div>'\n : \"\") +\n '</div>';\n var ITEM_TEMPLATE = ({ disabled, icon, text, description }) =>\n `<span role=\"button\" tabindex=\"0\" class=\"k-actionsheet-item ${disabled ? STATEDISABLED : \"\"}\">` +\n `<span class=\"k-actionsheet-action\">` +\n (icon ? `<span class=\"k-icon-wrap\">${icon}</span>` : \"\") +\n `<span class=\"k-actionsheet-item-text\">` +\n `<span class=\"k-actionsheet-item-title\">${encode(text)}</span>` +\n `${description ? '<span class=\"k-actionsheet-item-description\">' + encode(description) + '</span>' : ''}` +\n '</span>' +\n '</span>' +\n '</span>';\n var SEPARATOR = '<hr class=\"k-hr\" />';\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(\"<div class='\" + ACTION_SHEET_CONTAINER + \" \" + HIDDEN + \"'></div>\").parent();\n wrapper.prepend($('<div></div>').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($(\"<div class='k-actionsheet-content'></div>\"));\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 = $(\"<div class='k-list-ul' role='group'></div>\");\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(`<button ref-actionsheet-action-button>${action.text || \"\"}</button>`, $.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 = $(\"<div class='k-actionsheet-footer'></div>\");\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);\nvar kendo$1 = kendo;\n\nexport { kendo$1 as default };\n"]}