vuux
Version:
Vue3 Nuxt3 Nuxt4 组件库
2 lines (1 loc) • 2.67 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./data.cjs"),b=n=>{const t=n.toString(16).toUpperCase();return t.length==1?"0"+t:t},d=n=>n.length<0||n.length>1?"0":isNaN(Number(n))?["A","B","C","D","E","F"].includes(n.toUpperCase())?n.toUpperCase():"0":n,p=n=>{if(!n||n.length<3)return"#000000FF";let t=n.toUpperCase();if(t.startsWith("#")&&(t=t.substring(1)),t.length<3)return"#000000FF";let e,s,r,o;if(e=s=r="00",o="FF",t.length===3){const c=t.repeat(2).split("").map(i=>d(i));e=c[0]+c[1],s=c[2]+c[3],r=c[4]+c[5]}else if(t.length>=6){const a=t.split("").map(c=>d(c));e=a[0]+a[1],s=a[2]+a[3],r=a[4]+a[5],a.length===8&&(o=a[6]+a[7])}return`#${e}${s}${r}${o}`},m=n=>{const t=/rgba?\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})(?:,\s*([\d.]+))?\)/,e=n.match(t);if(e){const s=e[1],r=e[2],o=e[3],a=e[4]||1;return{r:Number(s),g:Number(r),b:Number(o),a:Number(a)}}else return{r:0,g:0,b:0,a:1}},x=n=>{const t=a=>a>255?255:a<0?0:Math.round(a),e=n/60*255,s=t(Math.abs(e-765)-255),r=t(510-Math.abs(e-510)),o=t(510-Math.abs(e-1020));return{r:s,g:r,b:o}},g=n=>{const{r:t,g:e,b:s}=n,r=b(Math.round(t)),o=b(Math.round(e)),a=b(Math.round(s));return`#${r}${o}${a}`},H=n=>{const t=(i,h)=>{let l="";for(let u=0;u<h;u++)l+=i;return l},e=(i,h)=>{let l="";for(const u of i)l+=t(u,h);return l},s=n.substring(1),r=+("0x"+(s.length<6?e(s,2):s)),o=r>>16,a=r>>8&255,c=r&255;return{r:o,g:a,b:c}},M=({r:n,g:t,b:e})=>{n=n/255,t=t/255,e=e/255;const s=Math.max(n,t,e),r=Math.min(n,t,e),o=s-r,a=s,c=s===0?0:o/s;let i=0;if(o!==0){switch(s){case n:i=(t-e)/o+(t<e?6:0);break;case t:i=(e-n)/o+2;break;case e:i=(n-t)/o+4;break}i=i/6}return{h:i*360,s:c,v:a}},B=({h:n,s:t,v:e})=>{let s=0,r=0,o=0;t<0&&(t=0),t>1&&(t=1),e<0&&(e=0),e>1&&(e=1),n%=360,n<0&&(n+=360);const a=n/60,c=Math.floor(a),i=a-c,h=e*(1-t),l=e*(1-t*i),u=e*(1-t*(1-i));switch(c){case 0:s=e,r=u,o=h;break;case 1:s=l,r=e,o=h;break;case 2:s=h,r=e,o=u;break;case 3:s=h,r=l,o=e;break;case 4:s=u,r=h,o=e;break;case 5:s=e,r=h,o=l;break}return{r:Math.round(s*255),g:Math.round(r*255),b:Math.round(o*255)}},C=n=>{let t=[];if(t=p(n).slice(1).split(""),n.startsWith("#"))t=p(n).slice(1).split("");else if(n.startsWith("rgb")||n.startsWith("rgba")){const l=m(n),u=g(l)+b(Math.round(l.a*255));t=p(u).slice(1).split("")}else{const l=f.colorKeywords?.[n]??"#000000FF";t=p(l).slice(1).split("")}const e=t[0]+t[1],s=t[2]+t[3],r=t[4]+t[5],o=t[6]+t[7],a=parseInt(e,16),c=parseInt(s,16),i=parseInt(r,16),h=parseInt(o,16)/255;return{hex:"#"+e+s+r,hexa:"#"+e+s+r+o,r:a,g:c,b:i,a:h}};exports.HEXtoRGB=H;exports.HSVtoRGB=B;exports.HUEtoRGB=x;exports.RGBtoHEX=g;exports.RGBtoHSV=M;exports.componentToHex=b;exports.parseColor=C;