@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 2.9 kB
Source Map (JSON)
{"version":3,"file":"bubble.vue2.mjs","sources":["../../../components/bubble/bubble.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\n\nimport { placementWhileList } from '@vexip-ui/hooks'\nimport { useNameHelper, useProps } from '@vexip-ui/config'\nimport { bubbleProps } from './props'\nimport { bubbleTypes } from './symbol'\n\ndefineOptions({ name: 'Bubble' })\n\nconst _props = defineProps(bubbleProps)\nconst props = useProps('bubble', _props, {\n placement: {\n default: 'right',\n validator: value => placementWhileList.includes(value)\n },\n type: {\n default: null,\n validator: value => bubbleTypes.includes(value)\n },\n background: '',\n shadow: false,\n contentClass: null\n})\n\nconst nh = useNameHelper('bubble')\n\nconst wrapper = ref<HTMLElement>()\nconst arrow = ref<HTMLElement>()\n\nconst className = computed(() => {\n return [\n nh.b(),\n nh.bs('vars'),\n nh.bm(props.placement),\n {\n [nh.bm('inherit')]: props.inherit,\n [nh.bm('background')]: props.background,\n [nh.bm('shadow')]: props.shadow,\n [nh.bm(props.type)]: props.type !== 'default'\n }\n ]\n})\nconst style = computed(() => {\n if (props.background) {\n return {\n [nh.cv('color')]: nh.gnv('color-white'),\n [nh.cv('bg-color')]: props.background\n }\n }\n\n return undefined\n})\n\ndefineExpose({ wrapper, arrow })\n</script>\n\n<template>\n <div ref=\"wrapper\" :class=\"className\" :style=\"style\">\n <div\n :class=\"[nh.be('content'), props.contentClass]\"\n :style=\"{\n boxShadow: props.shadow ? `0 0 4px ${props.shadow}` : undefined\n }\"\n >\n <slot></slot>\n </div>\n <div ref=\"arrow\" :class=\"nh.be('arrow')\"></div>\n </div>\n</template>\n"],"names":["props","useProps","__props","value","placementWhileList","bubbleTypes","nh","useNameHelper","wrapper","ref","arrow","className","computed","style","__expose"],"mappings":";;;;;;;;;;AAWM,UAAAA,IAAQC,EAAS,UADRC,GAC0B;AAAA,MACvC,WAAW;AAAA,QACT,SAAS;AAAA,QACT,WAAW,CAAAC,MAASC,EAAmB,SAASD,CAAK;AAAA,MACvD;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW,CAAAA,MAASE,EAAY,SAASF,CAAK;AAAA,MAChD;AAAA,MACA,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,cAAc;AAAA,IAAA,CACf,GAEKG,IAAKC,EAAc,QAAQ,GAE3BC,IAAUC,EAAiB,GAC3BC,IAAQD,EAAiB,GAEzBE,IAAYC,EAAS,MAClB;AAAA,MACLN,EAAG,EAAE;AAAA,MACLA,EAAG,GAAG,MAAM;AAAA,MACZA,EAAG,GAAGN,EAAM,SAAS;AAAA,MACrB;AAAA,QACE,CAACM,EAAG,GAAG,SAAS,CAAC,GAAGN,EAAM;AAAA,QAC1B,CAACM,EAAG,GAAG,YAAY,CAAC,GAAGN,EAAM;AAAA,QAC7B,CAACM,EAAG,GAAG,QAAQ,CAAC,GAAGN,EAAM;AAAA,QACzB,CAACM,EAAG,GAAGN,EAAM,IAAI,CAAC,GAAGA,EAAM,SAAS;AAAA,MAAA;AAAA,IAExC,CACD,GACKa,IAAQD,EAAS,MAAM;AAC3B,UAAIZ,EAAM;AACD,eAAA;AAAA,UACL,CAACM,EAAG,GAAG,OAAO,CAAC,GAAGA,EAAG,IAAI,aAAa;AAAA,UACtC,CAACA,EAAG,GAAG,UAAU,CAAC,GAAGN,EAAM;AAAA,QAC7B;AAAA,IAGK,CACR;AAEY,WAAAc,EAAA,EAAE,SAAAN,GAAS,OAAAE,GAAO;;;;;;;;;;;;;;;;;;;;;;"}