alert.cjs.map 5.7 KB

1
  1. {"version":3,"file":"alert.cjs","sources":["../../src/strings/alertString.ts","../../src/strings/alertComponent.ts","../../src/components/alert.ts"],"sourcesContent":["/** @type {string} */\nconst alertString = \"alert\";\nexport default alertString;\n","/** @type {string} */\nconst alertComponent = \"Alert\";\nexport default alertComponent;\n","/* Native JavaScript for Bootstrap 5 | Alert\n-------------------------------------------- */\nimport {\n createCustomEvent,\n dispatchEvent,\n emulateTransitionEnd,\n getInstance,\n hasClass,\n mouseclickEvent,\n PointerEvent,\n querySelector,\n removeClass,\n} from \"@thednp/shorty\";\n\nimport { addListener, removeListener } from \"@thednp/event-listener\";\n\nimport fadeClass from \"~/strings/fadeClass\";\nimport showClass from \"~/strings/showClass\";\nimport dataBsDismiss from \"~/strings/dataBsDismiss\";\nimport alertString from \"~/strings/alertString\";\nimport alertComponent from \"~/strings/alertComponent\";\nimport isDisabled from \"~/util/isDisabled\";\nimport type { AlertEvent } from \"~/interface/alert\";\n\nimport BaseComponent from \"./base-component\";\n\n// ALERT PRIVATE GC\n// ================\nconst alertSelector = `.${alertString}`;\nconst alertDismissSelector = `[${dataBsDismiss}=\"${alertString}\"]`;\n\n/**\n * Static method which returns an existing `Alert` instance associated\n * to a target `Element`.\n */\nconst getAlertInstance = (element: Element) =>\n getInstance<Alert>(element, alertComponent);\n\n/**\n * An `Alert` initialization callback.\n */\nconst alertInitCallback = (element: Element) => new Alert(element);\n\n// ALERT CUSTOM EVENTS\n// ===================\nconst closeAlertEvent = createCustomEvent<Record<string, never>, AlertEvent>(\n `close.bs.${alertString}`,\n);\nconst closedAlertEvent = createCustomEvent<Record<string, never>, AlertEvent>(\n `closed.bs.${alertString}`,\n);\n\n// ALERT EVENT HANDLER\n// ===================\n/**\n * Alert `transitionend` callback.\n *\n * @param that target Alert instance\n */\nconst alertTransitionEnd = (self: Alert) => {\n const { element } = self;\n dispatchEvent(element, closedAlertEvent);\n\n self._toggleEventListeners();\n self.dispose();\n element.remove();\n};\n\n// ALERT DEFINITION\n// ================\n/** Creates a new Alert instance. */\nexport default class Alert extends BaseComponent {\n static selector = alertSelector;\n static init = alertInitCallback;\n static getInstance = getAlertInstance;\n dismiss: HTMLElement | null;\n\n constructor(target: Element | string) {\n super(target);\n\n // the dismiss button\n this.dismiss = querySelector<HTMLElement>(\n alertDismissSelector,\n this.element,\n );\n\n // add event listener\n this._toggleEventListeners(true);\n }\n\n /** Returns component name string. */\n get name() {\n return alertComponent;\n }\n\n // ALERT PUBLIC METHODS\n // ====================\n /**\n * Public method that hides the `.alert` element from the user,\n * disposes the instance once animation is complete, then\n * removes the element from the DOM.\n */\n close = (e: PointerEvent<HTMLElement>) => {\n const { element, dismiss } = this;\n\n // istanbul ignore if @preserve\n if (!element || !hasClass(element, showClass)) return;\n // istanbul ignore if @preserve\n if (e && dismiss && isDisabled(dismiss)) return;\n dispatchEvent(element, closeAlertEvent);\n\n if (closeAlertEvent.defaultPrevented) return;\n\n removeClass(element, showClass);\n\n if (hasClass(element, fadeClass)) {\n emulateTransitionEnd(element, () => alertTransitionEnd(this));\n } else alertTransitionEnd(this);\n };\n /**\n * Toggle on / off the `click` event listener.\n *\n * @param add when `true`, event listener is added\n */\n _toggleEventListeners = (add?: boolean) => {\n const action = add ? addListener : removeListener;\n const { dismiss, close } = this;\n // istanbul ignore else @preserve\n if (dismiss) {\n action(dismiss, mouseclickEvent, close);\n }\n };\n\n /** Remove the component from target element. */\n dispose() {\n this._toggleEventListeners();\n super.dispose();\n }\n}\n"],"names":["alertString","alertComponent","alertSelector","alertDismissSelector","dataBsDismiss","getAlertInstance","element","getInstance","alertInitCallback","Alert","closeAlertEvent","createCustomEvent","closedAlertEvent","alertTransitionEnd","self","dispatchEvent","BaseComponent","target","querySelector","e","dismiss","hasClass","showClass","isDisabled","removeClass","fadeClass","emulateTransitionEnd","add","action","addListener","removeListener","close","mouseclickEvent"],"mappings":"sNACMA,EAAc,QCAdC,EAAiB,QC0BjBC,EAAgB,IAAIF,CAAW,GAC/BG,EAAuB,IAAIC,EAAAA,aAAa,KAAKJ,CAAW,KAGxDK,EAAoBC,GACxBC,KAAmBD,EAASL,CAAc,EAGtCO,EAAqBF,GAAqB,IAAIG,EAAMH,CAAO,EAI3DI,EAAkBC,EAAA,GACtB,YAAYX,CAAW,EACzB,EACMY,EAAmBD,EAAA,GACvB,aAAaX,CAAW,EAC1B,EAKMa,EAAsBC,GAAgB,CACpC,KAAA,CAAE,QAAAR,GAAYQ,EACpBC,EAAA,EAAcT,EAASM,CAAgB,EAEvCE,EAAK,sBAAsB,EAC3BA,EAAK,QAAQ,EACbR,EAAQ,OAAO,CACjB,EAKA,MAAqBG,UAAcO,EAAAA,aAAc,CAC/C,OAAO,SAAWd,EAClB,OAAO,KAAOM,EACd,OAAO,YAAcH,EACrB,QAEA,YAAYY,EAA0B,CACpC,MAAMA,CAAM,EAGZ,KAAK,QAAUC,EAAA,GACbf,EACA,KAAK,OACP,EAGA,KAAK,sBAAsB,EAAI,CAAA,CAIjC,IAAI,MAAO,CACF,OAAAF,CAAA,CAMT,MAASkB,GAAiC,CAClC,KAAA,CAAE,QAAAb,EAAS,QAAAc,CAAA,EAAY,KAGzB,CAACd,GAAW,CAACe,EAAS,GAAAf,EAASgB,EAAS,SAAA,GAExCH,GAAKC,GAAWG,EAAW,WAAAH,CAAO,IACtCL,EAAA,EAAcT,EAASI,CAAe,EAElC,CAAAA,EAAgB,mBAEpBc,EAAA,GAAYlB,EAASgB,WAAS,EAE1BD,EAAA,GAASf,EAASmB,EAAAA,SAAS,EAC7BC,EAAAA,GAAqBpB,EAAS,IAAMO,EAAmB,IAAI,CAAC,IACpC,IAAI,GAChC,EAEA,sBAAyBc,GAAkB,CACnC,MAAAC,EAASD,EAAME,EAAAA,EAAcC,EAAA,EAC7B,CAAE,QAAAV,EAAS,MAAAW,CAAA,EAAU,KAEvBX,GACKQ,EAAAR,EAASY,KAAiBD,CAAK,CAE1C,EAGA,SAAU,CACR,KAAK,sBAAsB,EAC3B,MAAM,QAAQ,CAAA,CAElB"}