element-plus
Version:
A Component Library for Vue 3
1 lines • 2.03 kB
Source Map (JSON)
{"version":3,"file":"badge2.mjs","sources":["../../../../../../packages/components/badge/src/badge.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <slot />\n <transition :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <sup\n v-show=\"!hidden && (content || isDot)\"\n :class=\"[\n ns.e('content'),\n ns.em('content', type),\n ns.is('fixed', !!$slots.default),\n ns.is('dot', isDot),\n ]\"\n :style=\"{ backgroundColor: color }\"\n v-text=\"content\"\n />\n </transition>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isNumber } from '@element-plus/utils'\nimport { badgeProps } from './badge'\n\ndefineOptions({\n name: 'ElBadge',\n})\n\nconst props = defineProps(badgeProps)\n\nconst ns = useNamespace('badge')\n\nconst content = computed<string>(() => {\n if (props.isDot) return ''\n if (isNumber(props.value) && isNumber(props.max)) {\n if (props.max < props.value) {\n return `${props.max}+`\n }\n return props.value === 0 && !props.showZero ? '' : `${props.value}`\n }\n return `${props.value}`\n})\n\ndefineExpose({\n /** @description badge content */\n content,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAyBc,CAAA;AAAA,EACZ,IAAM,EAAA,SAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAE/B,IAAM,MAAA,OAAA,GAAU,SAAiB,MAAM;AACrC,MAAA,IAAI,KAAM,CAAA,KAAA;AAAO,QAAO,OAAA,EAAA,CAAA;AACxB,MAAA,IAAI,SAAS,KAAM,CAAA,KAAK,KAAK,QAAS,CAAA,KAAA,CAAM,GAAG,CAAG,EAAA;AAChD,QAAI,IAAA,KAAA,CAAM,GAAM,GAAA,KAAA,CAAM,KAAO,EAAA;AAC3B,UAAA,OAAO,GAAG,KAAM,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAClB;AACA,QAAO,OAAA,KAAA,CAAM,UAAU,CAAK,IAAA,CAAC,MAAM,QAAW,GAAA,EAAA,GAAK,GAAG,KAAM,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,OAC9D;AACA,MAAA,OAAO,GAAG,KAAM,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KACjB,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAEX,OAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}