{"version":3,"file":"_util-DbCYqsOr.mjs","sources":["../../../../packages/components/_util/wave/wave.vue"],"sourcesContent":["<template>\n    <div ref=\"waveRef\" :class=\"[bem.b()]\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { createNamespace } from '@mealcomes/utils';\nimport { ref } from 'vue';\nimport type { WaveExpose } from './wave';\n\ndefineOptions({\n    name: 'mc-wave'\n});\n\nconst bem = createNamespace('wave');\n\nconst waveRef = ref<HTMLElement>();\nlet waveId: string | number | NodeJS.Timeout | undefined;\nfunction wave() {\n    if (waveId) {\n        clearTimeout(waveId);\n    }\n    waveRef.value?.classList.remove(bem.is('waving', true));\n    void document.body.offsetHeight;\n    waveRef.value?.classList.add(bem.is('waving', true));\n    waveId = setTimeout(() => {\n        waveRef.value?.classList.remove(bem.is('waving', true));\n    }, 400);\n}\ndefineExpose<WaveExpose>({\n    wave\n});\n</script>\n"],"names":["bem","createNamespace","waveRef","ref","waveId","wave","_a","_b","__expose","_createElementBlock","_normalizeClass","_unref"],"mappings":";;;;;;AAaA,UAAMA,IAAMC,EAAgB,MAAM,GAE5BC,IAAUC,EAAA;AAChB,QAAIC;AACJ,aAASC,IAAO;;AACZ,MAAID,KACA,aAAaA,CAAM,IAEvBE,IAAAJ,EAAQ,UAAR,QAAAI,EAAe,UAAU,OAAON,EAAI,GAAG,UAAU,EAAI,IAChD,SAAS,KAAK,eACnBO,IAAAL,EAAQ,UAAR,QAAAK,EAAe,UAAU,IAAIP,EAAI,GAAG,UAAU,EAAI,IAClDI,IAAS,WAAW,MAAM;;AACtB,SAAAE,IAAAJ,EAAQ,UAAR,QAAAI,EAAe,UAAU,OAAON,EAAI,GAAG,UAAU,EAAI;AAAA,MACzD,GAAG,GAAG;AAAA,IACV;AACA,WAAAQ,EAAyB;AAAA,MACrB,MAAAH;AAAA,IAAA,CACH,mBA7BGI,EAA4C,OAAA;AAAA,eAAnC;AAAA,MAAJ,KAAIP;AAAA,MAAW,OAAKQ,EAAA,CAAGC,EAAAX,CAAA,EAAI,EAAA,CAAC,CAAA;AAAA,IAAA;;;"}