st-common-ui-vue3
Version:
小尾巴通用 Vue3 UI 组件库
2 lines (1 loc) • 2.16 kB
JavaScript
"use strict";const r=require("vue"),o=require("../../node_modules/.pnpm/st-common-ui-utils@0.1.1/node_modules/st-common-ui-utils/es/utils/el-size-util.js"),t=r.defineComponent({name:"StDynamicBorder1",__name:"StDynamicBorder1",props:{width:{default:"100%"},height:{default:"100%"},backgroundColor:{default:"#111"},borderColorList:{},customBorderColor:{type:Boolean,default:!1},borderColor:{default:"linear-gradient(135deg, #43CBFF 15%, #9708CC 100%)"},borderWidth:{default:"2px"},borderRadius:{default:"0.25rem"},rotate:{type:Boolean,default:!0},speed:{default:"5s"},shine:{type:Boolean,default:!1},shineRange:{default:"10px"},shineBrightness:{default:.8},hover:{type:Boolean,default:!1},hoverPause:{type:Boolean,default:!1}},setup(a){const d=a,l=["transparent 180deg","skyblue 360deg"],s=r.computed(()=>!d.borderColorList||!Array.isArray(d.borderColorList)?l:d.borderColorList);return(e,n)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["st-dynamic-border-1",[!e.hover&&e.rotate?"st-dynamic-border-1--rotate":"",e.hover&&e.rotate?"st-dynamic-border-1--rotate--hover":"",!e.hover&&e.shine?"st-dynamic-border-1--shine":"",e.hover&&e.shine?"st-dynamic-border-1--shine--hover":"",!e.hover&&e.hoverPause?"st-dynamic-border-1--hover-pause":"",e.hover?e.customBorderColor?"st-dynamic-border-1--border-color-custom--hover":"st-dynamic-border-1--border-color-default--hover":e.customBorderColor?"st-dynamic-border-1--border-color-custom":"st-dynamic-border-1--border-color-default"]]),style:r.normalizeStyle({"--border-width":r.unref(o).elSizePreHandler(e.borderWidth),"--border-color-list":s.value.join(", "),"--border-color":e.borderColor,"--border-radius":r.unref(o).elSizePreHandler(e.borderRadius),"--speed":r.unref(o).elSizePreHandler(e.speed,"ms"),"--shine-range":r.unref(o).elSizePreHandler(e.shineRange),"--shine-brightness":e.shineBrightness,width:r.unref(o).elSizePreHandler(e.width),height:r.unref(o).elSizePreHandler(e.height)})},[r.createElementVNode("div",{class:"st-dynamic-border-1__content",style:r.normalizeStyle({backgroundColor:e.backgroundColor})},[r.renderSlot(e.$slots,"default",{},void 0,!0)],4)],6))}});module.exports=t;