UNPKG

@bothub-chat/ui

Version:

Bothub UI Components

2 lines (1 loc) 889 B
import{rgbToHex as r}from"./rgbToHex.js";function t(t,e=1){if(e<0||e>1)throw new Error("Alpha value must be between 0 and 1");const n=Math.round(255*e).toString(16);let o,a,s;if(t.startsWith("rgba(")){const e=t.match(/rgba\((\d+), ?(\d+), ?(\d+), ?(\d+)\)/);if(e)return[,o,a,s]=e.map(r=>Number.parseInt(r)),`#${r([o,a,s])}${n}`}if(t.startsWith("rgb(")){const e=t.match(/rgb\((\d+), ?(\d+), ?(\d+)\)/);if(e)return[,o,a,s]=e.map(r=>Number.parseInt(r)),`#${r([o,a,s])}${n}`;throw new Error("Invalid RGB format. Expected rgb(r, g, b)")}if(t.startsWith("#")){let r=t.substring(1);if(3===r.length&&(r=r.split("").map(r=>r+r).join("")),8===r.length&&(r=r.substring(0,6)),6!==r.length)throw new Error("Invalid HEX format. Expected #RRGGBB, #RGB, or #RRGGBBAA");return`#${r}${n}`}throw new Error("Unsupported color format. Please use HEX (#RRGGBB) or RGB (rgb(r, g, b))")}export{t as colorToRgba};