mealcomes
Version:
MealComes 用于学习前端的组件库
1 lines • 1.64 kB
Source Map (JSON)
{"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;;;"}