UNPKG

@squirrel-forge/ui-util

Version:

A collection of utilities, classes, functions and abstracts made for the browser and babel compatible.

25 lines (23 loc) 731 B
/** * Requires */ import { rgb2hex } from '../Number/rgb2hex.js'; /** * RGB/a to hex * @param {string} rgba - RGB/a css value * @param {boolean} asArray - Return as array instead of string * @return {number[]|string|null} - Css hex value or array of input */ export function rgba2hex( rgba, asArray = false ) { const result = /^rgb(a)?\((?<r>[\d]{1,3}),(?<g>[\d]{1,3}),(?<b>[\d]{1,3})(,(?<o>[.\d]{1,}))\)$/i .exec( rgba.replace( /\s/g, '' ) ); if ( !result ) return null; const arr = [ parseInt( result.groups.r ), parseInt( result.groups.g ), parseInt( result.groups.b ), parseInt( result.groups.o ) ]; if ( asArray ) return arr; return rgb2hex( ...arr ); }