UNPKG

@codegouvfr/react-dsfr

Version:

French State Design System React integration library

4 lines (3 loc) 1.13 kB
/*! DSFR v1.13.2 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions) */ const e=window.dsfr,s={DISMISS:e.internals.ns.event("dismiss")};class t extends e.core.Instance{static get instanceClassName(){return"TagDismissible"}init(){this.listenClick()}handleClick(){switch(this.focusClosest(),e.mode){case e.Modes.ANGULAR:case e.Modes.REACT:case e.Modes.VUE:this.request(this.verify.bind(this));break;default:this.remove()}this.dispatch(s.DISMISS)}verify(){document.body.contains(this.node)&&this.warn(`a TagDismissible has just been dismissed and should be removed from the dom. In ${e.mode} mode, the api doesn't handle dom modification. An event ${s.DISMISS} is dispatched by the element to trigger the removal`)}}const i={PRESSABLE:`${e.internals.ns.selector("tag")}[aria-pressed]`,DISMISSIBLE:`${e.internals.ns.selector("tag--dismiss")}`};e.tag={TagDismissible:t,TagSelector:i,TagEvent:s},e.internals.register(e.tag.TagSelector.PRESSABLE,e.core.Toggle),e.internals.register(e.tag.TagSelector.DISMISSIBLE,e.tag.TagDismissible); //# sourceMappingURL=tag.module.min.js.map