UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

1 lines 3.32 kB
{"version":3,"file":"bubble.vue2.cjs","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","__props","props","useProps","value","placementWhileList","bubbleTypes","nh","useNameHelper","wrapper","ref","arrow","className","computed","style","__expose","_createElementBlock","_createElementVNode","_unref","_normalizeStyle","_renderSlot","_ctx","_normalizeClass"],"mappings":"6OAUA,MAAMA,EAASC,EACTC,EAAQC,EAAAA,SAAS,SAAUH,EAAQ,CACvC,UAAW,CACT,QAAS,QACT,UAAWI,GAASC,EAAmB,mBAAA,SAASD,CAAK,CACvD,EACA,KAAM,CACJ,QAAS,KACT,UAAWA,GAASE,EAAY,YAAA,SAASF,CAAK,CAChD,EACA,WAAY,GACZ,OAAQ,GACR,aAAc,IAAA,CACf,EAEKG,EAAKC,gBAAc,QAAQ,EAE3BC,EAAUC,EAAAA,IAAiB,EAC3BC,EAAQD,EAAAA,IAAiB,EAEzBE,EAAYC,EAAAA,SAAS,IAClB,CACLN,EAAG,EAAE,EACLA,EAAG,GAAG,MAAM,EACZA,EAAG,GAAGL,EAAM,SAAS,EACrB,CACE,CAACK,EAAG,GAAG,SAAS,CAAC,EAAGL,EAAM,QAC1B,CAACK,EAAG,GAAG,YAAY,CAAC,EAAGL,EAAM,WAC7B,CAACK,EAAG,GAAG,QAAQ,CAAC,EAAGL,EAAM,OACzB,CAACK,EAAG,GAAGL,EAAM,IAAI,CAAC,EAAGA,EAAM,OAAS,SAAA,CAExC,CACD,EACKY,EAAQD,EAAAA,SAAS,IAAM,CAC3B,GAAIX,EAAM,WACD,MAAA,CACL,CAACK,EAAG,GAAG,OAAO,CAAC,EAAGA,EAAG,IAAI,aAAa,EACtC,CAACA,EAAG,GAAG,UAAU,CAAC,EAAGL,EAAM,UAC7B,CAGK,CACR,EAEY,OAAAa,EAAA,CAAE,QAAAN,EAAS,MAAAE,EAAO,wBAI7BK,EAAA,mBAUM,MAAA,SAVG,UAAJ,IAAIP,EAAW,uBAAOG,EAAS,KAAA,EAAG,uBAAOE,EAAK,KAAA,CAAA,GACjDG,EAAAA,mBAOM,MAAA,CANH,wBAAQC,EAAA,MAAEX,CAAA,EAAC,GAAe,SAAA,EAAAW,EAAA,MAAAhB,CAAA,EAAM,YAAY,CAAA,EAC5C,MAAKiB,EAAAA,eAAA,CAAuB,UAAAD,EAAA,MAAAhB,CAAA,EAAM,OAAM,WAAcgB,EAAAA,SAAM,MAAM,GAAK,WAIxEE,aAAaC,EAAA,OAAA,SAAA,MAEfJ,EAAAA,mBAA+C,MAAA,SAAtC,QAAJ,IAAIN,EAAS,MAAKW,EAAE,eAAAJ,EAAA,MAAEX,CAAA,EAAC,GAAE,OAAA,CAAA"}