{"version":3,"sources":["components/offcanvas.js"],"names":["dmx","Component","initialData","visible","attributes","show","type","Boolean","default","backdrop","String","nokeyboard","scroll","methods","toggle","requestAnimationFrame","this","_instance","hide","events","Event","shown","hidden","init","node","addEventListener","dispatchEvent","bind","set","classList","props","bootstrap","Offcanvas","keyboard","destroy","dispose","performUpdate","updatedProps","has","$node"],"mappings":";;;;;;AAAAA,IAAAC,UAAA,gBAAA,CAEAC,YAAA,CACAC,SAAA,GAGAC,WAAA,CACAC,KAAA,CACAC,KAAAC,QACAC,SAAA,GAGAC,SAAA,CACAH,KAAA,CAAAC,QAAAG,QACAF,SAAA,GAGAG,WAAA,CACAL,KAAAC,QACAC,SAAA,GAGAI,OAAA,CACAN,KAAAC,QACAC,SAAA,IAIAK,QAAA,CACAC,SACAC,uBAAA,IAAAC,KAAAC,UAAAH,UACA,EAEAT,OACAU,uBAAA,IAAAC,KAAAC,UAAAZ,QACA,EAEAa,OACAH,uBAAA,IAAAC,KAAAC,UAAAC,QACA,GAGAC,OAAA,CACAd,KAAAe,MACAC,MAAAD,MACAF,KAAAE,MACAE,OAAAF,OAGAG,KAAAC,GACAA,EAAAC,iBAAA,oBAAAT,KAAAU,cAAAC,KAAAX,KAAA,SACAQ,EAAAC,iBAAA,qBAAAT,KAAAU,cAAAC,KAAAX,KAAA,UACAQ,EAAAC,iBAAA,oBAAAT,KAAAU,cAAAC,KAAAX,KAAA,SACAQ,EAAAC,iBAAA,sBAAAT,KAAAU,cAAAC,KAAAX,KAAA,WAEAQ,EAAAC,iBAAA,qBAAA,IAAAT,KAAAY,IAAA,WAAA,KACAJ,EAAAC,iBAAA,uBAAA,IAAAT,KAAAY,IAAA,WAAA,KAEAJ,EAAAK,UAAAf,OAAA,OAAAE,KAAAc,MAAAzB,MACAW,KAAAY,IAAA,UAAAZ,KAAAc,MAAAzB,MAEA,IAAAI,EAAAO,KAAAc,MAAArB,SACA,UAAAA,IACAA,EAAA,SAAAA,GAGAO,KAAAC,UAAA,IAAAc,UAAAC,UAAAR,EAAA,CACAf,SAAAA,EACAwB,UAAAjB,KAAAc,MAAAnB,WACAC,OAAAI,KAAAc,MAAAlB,QAEA,EAEAsB,UACAlB,KAAAC,UAAAkB,SACA,EAEAC,cAAAC,GACAA,EAAAC,IAAA,UACAtB,KAAAuB,MAAAV,UAAAf,OAAA,OAAAE,KAAAc,MAAAzB,MACAW,KAAAY,IAAA,UAAAZ,KAAAc,MAAAzB,MAEA","file":"dmxBootstrap5Offcanvas.js","sourcesContent":["dmx.Component('bs5-offcanvas', {\r\n\r\n initialData: {\r\n visible: false\r\n },\r\n\r\n attributes: {\r\n show: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n backdrop: {\r\n type: [Boolean, String],\r\n default: true\r\n },\r\n\r\n nokeyboard: {\r\n type: Boolean,\r\n default: false\r\n },\r\n\r\n scroll: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n methods: {\r\n toggle () {\r\n requestAnimationFrame(() => this._instance.toggle());\r\n },\r\n\r\n show () {\r\n requestAnimationFrame(() => this._instance.show());\r\n },\r\n\r\n hide () {\r\n requestAnimationFrame(() => this._instance.hide());\r\n }\r\n },\r\n\r\n events: {\r\n show: Event,\r\n shown: Event,\r\n hide: Event,\r\n hidden: Event\r\n },\r\n\r\n init (node) {\r\n node.addEventListener('show.bs.offcanvas', this.dispatchEvent.bind(this, 'show'));\r\n node.addEventListener('shown.bs.offcanvas', this.dispatchEvent.bind(this, 'shown'));\r\n node.addEventListener('hide.bs.offcanvas', this.dispatchEvent.bind(this, 'hide'));\r\n node.addEventListener('hidden.bs.offcanvas', this.dispatchEvent.bind(this, 'hidden'));\r\n\r\n node.addEventListener('show.bs.offcanvas', () => this.set('visible', true));\r\n node.addEventListener('hidden.bs.offcanvas', () => this.set('visible', false));\r\n\r\n node.classList.toggle('show', this.props.show);\r\n this.set('visible', this.props.show);\r\n\r\n let backdrop = this.props.backdrop;\r\n if (backdrop != 'static') {\r\n backdrop = backdrop != 'false';\r\n }\r\n\r\n this._instance = new bootstrap.Offcanvas(node, {\r\n backdrop: backdrop,\r\n keyboard: !this.props.nokeyboard,\r\n scroll: this.props.scroll\r\n });\r\n },\r\n\r\n destroy () {\r\n this._instance.dispose();\r\n },\r\n\r\n performUpdate (updatedProps) {\r\n if (updatedProps.has('show')) {\r\n this.$node.classList.toggle('show', this.props.show);\r\n this.set('visible', this.props.show);\r\n }\r\n },\r\n\r\n});"]}