| 1 |
{"version":3,"file":"toast.min.js","sources":["../../src/bootstrap/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.2): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst VERSION = '4.6.2'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]'\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 500\n}\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Toast {\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config)\n this._timeout = null\n this._setListeners()\n }\n\n // Getters\n static get VERSION() {\n return VERSION\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n show() {\n const showEvent = $.Event(EVENT_SHOW)\n\n $(this._element).trigger(showEvent)\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n this._element.classList.add(CLASS_NAME_SHOW)\n\n $(this._element).trigger(EVENT_SHOWN)\n\n if (this._config.autohide) {\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE)\n Util.reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOWING)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._close()\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n\n $.removeData(this._element, DATA_KEY)\n this._element = null\n this._config = null\n }\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...$(this._element).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide())\n }\n\n _close() {\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE)\n $(this._element).trigger(EVENT_HIDDEN)\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n if (this._config.animation) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new Toast(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * jQuery\n */\n\n$.fn[NAME] = Toast._jQueryInterface\n$.fn[NAME].Constructor = Toast\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toast._jQueryInterface\n}\n\nexport default Toast\n"],"names":["NAME","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","EVENT_CLICK_DISMISS","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","Default","animation","autohide","delay","DefaultType","Toast","constructor","element","config","_element","_config","this","_getConfig","_timeout","_setListeners","VERSION","show","showEvent","Event","trigger","isDefaultPrevented","_clearTimeout","classList","add","complete","remove","setTimeout","hide","reflow","transitionDuration","Util","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","contains","hideEvent","_close","dispose","off","removeData","data","typeCheckConfig","on","clearTimeout","each","$element","TypeError","_jQueryInterface","Constructor","noConflict"],"mappings":"yVAcMA,KAAO,QAGPC,qBADW,YAEXC,mBAAqBC,gBAAEC,GAAF,MAOrBC,2CAAsCJ,WACtCK,yBAAoBL,WACpBM,6BAAwBN,WACxBO,yBAAoBP,WACpBQ,2BAAsBR,WAItBS,QAAU,CACdC,WAAW,EACXC,UAAU,EACVC,MAAO,KAGHC,YAAc,CAClBH,UAAW,UACXC,SAAU,UACVC,MAAO,gBAOHE,MACJC,YAAYC,QAASC,aACdC,SAAWF,aACXG,QAAUC,KAAKC,WAAWJ,aAC1BK,SAAW,UACXC,gBAIIC,2BA3CG,QA+CHX,gCACFA,YAGEJ,4BACFA,QAITgB,aACQC,UAAYxB,gBAAEyB,MAAMpB,mCAExBa,KAAKF,UAAUU,QAAQF,WACrBA,UAAUG,iCAITC,gBAEDV,KAAKD,QAAQT,gBACVQ,SAASa,UAAUC,IA9DN,cAiEdC,SAAW,UACVf,SAASa,UAAUG,OA/DH,gBAgEhBhB,SAASa,UAAUC,IAjEN,4BAmEhBZ,KAAKF,UAAUU,QAAQpB,aAErBY,KAAKD,QAAQR,gBACVW,SAAWa,YAAW,UACpBC,SACJhB,KAAKD,QAAQP,iBAIfM,SAASa,UAAUG,OA7EJ,sBA8EfG,OAAOjB,KAAKF,eACZA,SAASa,UAAUC,IA7ED,WA8EnBZ,KAAKD,QAAQT,UAAW,OACpB4B,mBAAqBC,cAAKC,iCAAiCpB,KAAKF,8BAEpEE,KAAKF,UACJuB,IAAIF,cAAKG,eAAgBT,UACzBU,qBAAqBL,yBAExBL,WAIJG,WACOhB,KAAKF,SAASa,UAAUa,SA3FT,qBA+FdC,UAAY3C,gBAAEyB,MAAMtB,gCAExBe,KAAKF,UAAUU,QAAQiB,WACrBA,UAAUhB,2BAITiB,SAGPC,eACOjB,gBAEDV,KAAKF,SAASa,UAAUa,SA5GR,cA6Gb1B,SAASa,UAAUG,OA7GN,4BAgHlBd,KAAKF,UAAU8B,IAAI5C,qCAEnB6C,WAAW7B,KAAKF,SAxHL,iBAyHRA,SAAW,UACXC,QAAU,KAIjBE,WAAWJ,eACTA,OAAS,IACJR,YACA,mBAAEW,KAAKF,UAAUgC,UACE,iBAAXjC,QAAuBA,OAASA,OAAS,kBAGjDkC,gBACHpD,KACAkB,OACAG,KAAKL,YAAYF,aAGZI,OAGTM,oCACIH,KAAKF,UAAUkC,GAAGhD,oBAhIM,0BAgIsC,IAAMgB,KAAKgB,SAG7EU,eACQb,SAAW,UACVf,SAASa,UAAUC,IA/IN,4BAgJhBZ,KAAKF,UAAUU,QAAQtB,uBAGtBY,SAASa,UAAUG,OAlJJ,QAmJhBd,KAAKD,QAAQT,UAAW,OACpB4B,mBAAqBC,cAAKC,iCAAiCpB,KAAKF,8BAEpEE,KAAKF,UACJuB,IAAIF,cAAKG,eAAgBT,UACzBU,qBAAqBL,yBAExBL,WAIJH,gBACEuB,aAAajC,KAAKE,eACbA,SAAW,6BAIML,eACfG,KAAKkC,MAAK,iBACTC,UAAW,mBAAEnC,UACf8B,KAAOK,SAASL,KA7KT,eAgLNA,OACHA,KAAO,IAAIpC,MAAMM,KAHe,iBAAXH,QAAuBA,QAI5CsC,SAASL,KAlLA,WAkLeA,OAGJ,iBAAXjC,OAAqB,SACF,IAAjBiC,KAAKjC,cACR,IAAIuC,qCAA8BvC,aAG1CiC,KAAKjC,QAAQG,2BAUnBjB,GAAF,MAAaW,MAAM2C,iCACjBtD,GAAF,MAAWuD,YAAc5C,sBACvBX,GAAF,MAAWwD,WAAa,qBACpBxD,GAAF,MAAaF,mBACNa,MAAM2C,+BAGA3C"}
|
- |
|
| 2 |
|
1 |
{"version":3,"file":"toast.min.js","sources":["../../src/bootstrap/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component'\nimport EventHandler from './dom/event-handler'\nimport { enableDismissTrigger } from './util/component-functions'\nimport { defineJQueryPlugin, reflow } from './util/index'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n"],"names":["EVENT_KEY","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","DefaultType","animation","autohide","delay","Default","Toast","BaseComponent","constructor","element","config","_timeout","_hasMouseInteraction","_hasKeyboardInteraction","_setListeners","NAME","show","EventHandler","trigger","this","_element","defaultPrevented","_clearTimeout","_config","classList","add","remove","_queueCallback","_maybeScheduleHide","hide","isShown","dispose","contains","setTimeout","_onInteraction","event","isInteracting","type","nextElement","relatedTarget","on","clearTimeout","each","data","getOrCreateInstance","TypeError"],"mappings":"oeAkBMA,qBADW,YAGXC,mCAA8BD,WAC9BE,iCAA4BF,WAC5BG,+BAA0BH,WAC1BI,iCAA4BJ,WAC5BK,yBAAoBL,WACpBM,6BAAwBN,WACxBO,yBAAoBP,WACpBQ,2BAAsBR,WAOtBS,YAAc,CAClBC,UAAW,UACXC,SAAU,UACVC,MAAO,UAGHC,QAAU,CACdH,WAAW,EACXC,UAAU,EACVC,MAAO,WAOHE,cAAcC,uBAClBC,YAAYC,QAASC,cACbD,QAASC,aAEVC,SAAW,UACXC,sBAAuB,OACvBC,yBAA0B,OAC1BC,gBAIIT,4BACFA,QAGEJ,gCACFA,YAGEc,wBArDA,QA0DXC,UACoBC,sBAAaC,QAAQC,KAAKC,SAAUrB,YAExCsB,6BAITC,gBAEDH,KAAKI,QAAQrB,gBACVkB,SAASI,UAAUC,IAvDN,aAiEfL,SAASI,UAAUE,OAhEJ,0BAiEbP,KAAKC,eACPA,SAASI,UAAUC,IAjEJ,OACG,gBAkElBE,gBAXY,UACVP,SAASI,UAAUE,OAxDH,iCAyDRR,QAAQC,KAAKC,SAAUpB,kBAE/B4B,uBAOuBT,KAAKC,SAAUD,KAAKI,QAAQrB,WAG5D2B,WACOV,KAAKW,oBAIQb,sBAAaC,QAAQC,KAAKC,SAAUvB,YAExCwB,6BAUTD,SAASI,UAAUC,IAtFD,gBAuFlBE,gBAPY,UACVP,SAASI,UAAUC,IAnFN,aAoFbL,SAASI,UAAUE,OAlFH,UADH,8BAoFLR,QAAQC,KAAKC,SAAUtB,gBAIRqB,KAAKC,SAAUD,KAAKI,QAAQrB,WAG5D6B,eACOT,gBAEDH,KAAKW,gBACFV,SAASI,UAAUE,OA/FN,cAkGdK,UAGRD,iBACSX,KAAKC,SAASI,UAAUQ,SAtGX,QA2GtBJ,qBACOT,KAAKI,QAAQpB,WAIdgB,KAAKP,sBAAwBO,KAAKN,+BAIjCF,SAAWsB,YAAW,UACpBJ,SACJV,KAAKI,QAAQnB,SAGlB8B,eAAeC,MAAOC,sBACZD,MAAME,UACP,gBACA,gBACEzB,qBAAuBwB,wBAIzB,cACA,gBACEvB,wBAA0BuB,iBAS/BA,+BACGd,sBAIDgB,YAAcH,MAAMI,cACtBpB,KAAKC,WAAakB,aAAenB,KAAKC,SAASY,SAASM,mBAIvDV,qBAGPd,sCACe0B,GAAGrB,KAAKC,SAAU3B,iBAAiB0C,OAAShB,KAAKe,eAAeC,OAAO,2BACvEK,GAAGrB,KAAKC,SAAU1B,gBAAgByC,OAAShB,KAAKe,eAAeC,OAAO,2BACtEK,GAAGrB,KAAKC,SAAUzB,eAAewC,OAAShB,KAAKe,eAAeC,OAAO,2BACrEK,GAAGrB,KAAKC,SAAUxB,gBAAgBuC,OAAShB,KAAKe,eAAeC,OAAO,KAGrFb,gBACEmB,aAAatB,KAAKR,eACbA,SAAW,4BAIKD,eACdS,KAAKuB,MAAK,iBACTC,KAAOrC,MAAMsC,oBAAoBzB,KAAMT,WAEvB,iBAAXA,OAAqB,SACF,IAAjBiC,KAAKjC,cACR,IAAImC,qCAA8BnC,aAG1CiC,KAAKjC,QAAQS,wDAUAb,qCAMFA,oBAEJA"}
|