{"version":3,"file":"chunk-foundation.util.triggers-3e154a37-esm.js","sources":["node_modules/foundation-sites/js/foundation.util.triggers.js"],"sourcesContent":["import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n})();\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).on(trigger, function() {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function (__, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n"],"names":["MutationObserver","prefixes","i","length","window","triggers","el","type","data","split","forEach","id","$","Triggers","Listeners","Basic","Global","Initializers","openListener","closeListener","trigger","toggleListener","closeableListener","e","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","off","on","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","attr","scrollListener","closeMeListener","pluginId","plugin","namespace","plugins","not","_this","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","init","__","Foundation","onLoad","triggersInitialized","IHearYou"],"mappings":"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"}