UNPKG

@appscode/ui-builder

Version:
1 lines 2.3 kB
var t=/^(attrs|props|on|nativeOn|class|style|hook)$/;function e(t,e){return function(){t&&t.apply(this,arguments),e&&e.apply(this,arguments)}}var r=function(){return Math.random().toString(36).substring(2)},a={name:"ContentLoader",functional:!0,props:{width:{type:[Number,String],default:400},height:{type:[Number,String],default:130},speed:{type:Number,default:2},preserveAspectRatio:{type:String,default:"xMidYMid meet"},baseUrl:{type:String,default:""},primaryColor:{type:String,default:"#f9f9f9"},secondaryColor:{type:String,default:"#ecebeb"},primaryOpacity:{type:Number,default:1},secondaryOpacity:{type:Number,default:1},uniqueKey:{type:String},animate:{type:Boolean,default:!0}},render:function(a,i){var n=i.props,s=i.data,o=i.children,p=n.uniqueKey?n.uniqueKey+"-idClip":r(),u=n.uniqueKey?n.uniqueKey+"-idGradient":r();return a("svg",[s,{attrs:{viewBox:"0 0 "+n.width+" "+n.height,version:"1.1",preserveAspectRatio:n.preserveAspectRatio}}].reduce((function(r,a){var i,n,s,o,p;for(s in a)if(i=r[s],n=a[s],i&&t.test(s))if("class"===s&&("string"==typeof i&&(p=i,r[s]=i={},i[p]=!0),"string"==typeof n&&(p=n,a[s]=n={},n[p]=!0)),"on"===s||"nativeOn"===s||"hook"===s)for(o in n)i[o]=e(i[o],n[o]);else if(Array.isArray(i))r[s]=i.concat(n);else if(Array.isArray(n))r[s]=[i].concat(n);else for(o in n)i[o]=n[o];else r[s]=a[s];return r}),{}),[a("rect",{style:{fill:"url("+n.baseUrl+"#"+u+")"},attrs:{"clip-path":"url("+n.baseUrl+"#"+p+")",x:"0",y:"0",width:n.width,height:n.height}}),a("defs",[a("clipPath",{attrs:{id:p}},[o||a("rect",{attrs:{x:"0",y:"0",rx:"5",ry:"5",width:n.width,height:n.height}})]),a("linearGradient",{attrs:{id:u}},[a("stop",{attrs:{offset:"0%","stop-color":n.primaryColor,"stop-opacity":n.primaryOpacity}},[n.animate?a("animate",{attrs:{attributeName:"offset",values:"-2; 1",dur:n.speed+"s",repeatCount:"indefinite"}}):null]),a("stop",{attrs:{offset:"50%","stop-color":n.secondaryColor,"stop-opacity":n.secondaryOpacity}},[n.animate?a("animate",{attrs:{attributeName:"offset",values:"-1.5; 1.5",dur:n.speed+"s",repeatCount:"indefinite"}}):null]),a("stop",{attrs:{offset:"100%","stop-color":n.primaryColor,"stop-opacity":n.primaryOpacity}},[n.animate?a("animate",{attrs:{attributeName:"offset",values:"-1; 2",dur:n.speed+"s",repeatCount:"indefinite"}}):null])])])])}};export{a as C};