UNPKG

vue-data-ui

Version:

A user-empowering data visualization Vue 3 components library for eloquent data storytelling

2 lines (1 loc) 2.17 kB
"use strict";const o=require("vue"),a=require("./index-CBRI5uwl.cjs"),c=["cx","cy","r","fill","stroke","stroke-width"],v=["d","fill","stroke","stroke-width"],p=["points","fill","stroke","stroke-width"],y={__name:"Shape",props:{color:String,isSelected:{type:Boolean,default:!1},limit:{type:Number,default:3},plot:Object,radius:Number,shape:String,stroke:String,strokeWidth:Number,zoom:{type:Number,default:1.3}},emits:["mouseover","mouseout","click"],setup(n,{emit:d}){const e=n,i=d;function m(u){return{circle:{points:1,rotation:0},line:{points:2,rotation:0},triangle:{points:3,rotation:.52},square:{points:4,rotation:.783},diamond:{points:4,rotation:0},pentagon:{points:5,rotation:.95},hexagon:{points:6,rotation:0}}[u]}const r=o.computed(()=>m(e.shape)),s=o.computed(()=>e.shape!=="star"?null:a.createStar({plot:{x:e.plot.x,y:e.plot.y},radius:e.radius*(e.isSelected?e.zoom:1)})),k=o.computed(()=>a.createPolygonPath({plot:{x:e.plot.x,y:e.plot.y},radius:e.radius*(e.isSelected?e.zoom:1),sides:r.value.points,rotation:r.value.rotation}).path);return(u,t)=>(o.openBlock(),o.createElementBlock("g",null,[r.value&&r.value.points===1?(o.openBlock(),o.createElementBlock("circle",{key:0,class:"vdui-shape-circle",cx:n.plot.x,cy:n.plot.y,r:e.radius*(e.isSelected?e.zoom:1),fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[0]||(t[0]=l=>i("mouseover")),onMouseout:t[1]||(t[1]=l=>i("mouseout")),onClick:t[2]||(t[2]=l=>i("click"))},null,40,c)):o.createCommentVNode("",!0),r.value&&r.value.points>=n.limit?(o.openBlock(),o.createElementBlock("path",{key:1,class:"vdui-shape-polygon",d:k.value,fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[3]||(t[3]=l=>i("mouseover")),onMouseout:t[4]||(t[4]=l=>i("mouseout")),onClick:t[5]||(t[5]=l=>i("click"))},null,40,v)):o.createCommentVNode("",!0),s.value?(o.openBlock(),o.createElementBlock("polygon",{key:2,class:"vdui-shape-star",points:s.value,fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[6]||(t[6]=l=>i("mouseover")),onMouseout:t[7]||(t[7]=l=>i("mouseout")),onClick:t[8]||(t[8]=l=>i("click"))},null,40,p)):o.createCommentVNode("",!0)]))}};exports._sfc_main=y;