{"version":3,"file":"chunk-foundation.core.plugin-1ae51adf-esm.js","sources":["node_modules/foundation-sites/js/foundation.core.plugin.js"],"sourcesContent":["import { GetYoDigits } from './foundation.core.utils';\n\n// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\nclass Plugin {\n\n constructor(element, options) {\n this._setup(element, options);\n var pluginName = getPluginName(this);\n this.uuid = GetYoDigits(6, pluginName);\n\n if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); }\n if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n this.$element.trigger(`init.zf.${pluginName}`);\n }\n\n destroy() {\n this._destroy();\n var pluginName = getPluginName(this);\n this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(`destroyed.zf.${pluginName}`);\n for(var prop in this){\n if (this.hasOwnProperty(prop)) {\n this[prop] = null; //clean up script to prep for garbage collection.\n }\n }\n }\n}\n\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n return hyphenate(obj.className);\n}\n\nexport {Plugin};\n"],"names":["Plugin","constructor","element","options","_setup","pluginName","getPluginName","uuid","GetYoDigits","$element","attr","data","trigger","destroy","_destroy","removeAttr","removeData","prop","hasOwnProperty","hyphenate","str","replace","toLowerCase","obj","className"],"mappings":";;AAEA;;;AAGA,MAAMA,MAAM,CAAC;EAEXC,WAAWA,CAACC,OAAO,EAAEC,OAAO,EAAE;IAC5B,IAAI,CAACC,MAAM,CAACF,OAAO,EAAEC,OAAO,CAAC;IAC7B,IAAIE,UAAU,GAAGC,aAAa,CAAC,IAAI,CAAC;IACpC,IAAI,CAACC,IAAI,GAAGC,WAAW,CAAC,CAAC,EAAEH,UAAU,CAAC;IAEtC,IAAG,CAAC,IAAI,CAACI,QAAQ,CAACC,IAAI,CAAE,QAAOL,UAAW,EAAC,CAAC,EAAC;MAAE,IAAI,CAACI,QAAQ,CAACC,IAAI,CAAE,QAAOL,UAAW,EAAC,EAAE,IAAI,CAACE,IAAI,CAAC;;IAClG,IAAG,CAAC,IAAI,CAACE,QAAQ,CAACE,IAAI,CAAC,UAAU,CAAC,EAAC;MAAE,IAAI,CAACF,QAAQ,CAACE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;;;;;;IAKzE,IAAI,CAACF,QAAQ,CAACG,OAAO,CAAE,WAAUP,UAAW,EAAC,CAAC;;EAGhDQ,OAAOA,GAAG;IACR,IAAI,CAACC,QAAQ,EAAE;IACf,IAAIT,UAAU,GAAGC,aAAa,CAAC,IAAI,CAAC;IACpC,IAAI,CAACG,QAAQ,CAACM,UAAU,CAAE,QAAOV,UAAW,EAAC,CAAC,CAACW,UAAU,CAAC,UAAU;;;;QAK/DJ,OAAO,CAAE,gBAAeP,UAAW,EAAC,CAAC;IAC1C,KAAI,IAAIY,IAAI,IAAI,IAAI,EAAC;MACnB,IAAI,IAAI,CAACC,cAAc,CAACD,IAAI,CAAC,EAAE;QAC7B,IAAI,CAACA,IAAI,CAAC,GAAG,IAAI,CAAC;;;;;;;;AAQ1B,SAASE,SAASA,CAACC,GAAG,EAAE;EACtB,OAAOA,GAAG,CAACC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAACC,WAAW,EAAE;;AAG9D,SAAShB,aAAaA,CAACiB,GAAG,EAAE;EAC1B,OAAOJ,SAAS,CAACI,GAAG,CAACC,SAAS,CAAC;;;;;"}