UNPKG

@extclp/vexip-ui

Version:

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

1 lines 3.56 kB
{"version":3,"file":"bubble.vue2.mjs","sources":["../../../components/bubble/bubble.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, ref } from 'vue'\r\n\r\nimport { placementWhileList } from '@vexip-ui/hooks'\r\nimport { useNameHelper, useProps } from '@vexip-ui/config'\r\nimport { bubbleProps } from './props'\r\nimport { bubbleTypes } from './symbol'\r\n\r\ndefineOptions({ name: 'Bubble' })\r\n\r\nconst _props = defineProps(bubbleProps)\r\nconst props = useProps('bubble', _props, {\r\n placement: {\r\n default: 'right',\r\n validator: value => placementWhileList.includes(value),\r\n },\r\n type: {\r\n default: null,\r\n validator: value => bubbleTypes.includes(value),\r\n },\r\n background: '',\r\n shadow: false,\r\n contentClass: null,\r\n})\r\n\r\nconst nh = useNameHelper('bubble')\r\n\r\nconst wrapper = ref<HTMLElement>()\r\nconst arrow = ref<HTMLElement>()\r\n\r\nconst className = computed(() => {\r\n return [\r\n nh.b(),\r\n nh.bs('vars'),\r\n nh.bm(props.placement),\r\n {\r\n [nh.bm('inherit')]: props.inherit,\r\n [nh.bm('background')]: props.background,\r\n [nh.bm('shadow')]: props.shadow,\r\n [nh.bm(props.type)]: props.type !== 'default',\r\n },\r\n ]\r\n})\r\nconst style = computed(() => {\r\n if (props.background) {\r\n return {\r\n [nh.cv('color')]: nh.gnv('color-white'),\r\n [nh.cv('bg-color')]: props.background,\r\n }\r\n }\r\n\r\n return undefined\r\n})\r\n\r\ndefineExpose({ wrapper, arrow })\r\n</script>\r\n\r\n<template>\r\n <div ref=\"wrapper\" :class=\"className\" :style=\"style\">\r\n <div\r\n :class=\"[nh.be('content'), props.contentClass]\"\r\n :style=\"{\r\n boxShadow: props.shadow ? `0 0 4px ${props.shadow}` : undefined\r\n }\"\r\n >\r\n <slot></slot>\r\n </div>\r\n <div ref=\"arrow\" :class=\"nh.be('arrow')\"></div>\r\n </div>\r\n</template>\r\n"],"names":["props","useProps","__props","value","placementWhileList","bubbleTypes","nh","useNameHelper","wrapper","ref","arrow","className","computed","style","__expose","_createElementBlock","_createElementVNode","_unref","_normalizeStyle","_renderSlot","_ctx","_normalizeClass"],"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,mBAI7BK,EAUM,OAAA;AAAA,eAVG;AAAA,MAAJ,KAAIP;AAAA,MAAW,SAAOG,EAAS,KAAA;AAAA,MAAG,SAAOE,EAAK,KAAA;AAAA,IAAA;MACjDG,EAOM,OAAA;AAAA,QANH,UAAQC,EAAEX,CAAA,EAAC,GAAe,SAAA,GAAAW,EAAAjB,CAAA,EAAM,YAAY,CAAA;AAAA,QAC5C,OAAKkB,EAAA;AAAA,UAAwB,WAAAD,EAAAjB,CAAA,EAAM,SAAM,WAAciB,KAAM,MAAM,KAAK;AAAA;;QAIzEE,EAAaC,EAAA,QAAA,SAAA;AAAA;MAEfJ,EAA+C,OAAA;AAAA,iBAAtC;AAAA,QAAJ,KAAIN;AAAA,QAAS,OAAKW,EAAEJ,EAAEX,CAAA,EAAC,GAAE,OAAA,CAAA;AAAA;;;;"}