@wix/css-property-parser
Version:
A comprehensive TypeScript library for parsing and serializing CSS property values with full MDN specification compliance
33 lines (32 loc) • 1.29 kB
JavaScript
// Border-left-color property evaluator
// https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-color
import { parseBorderColorProperty, borderColorToCSSValue } from './shared-border-color.js';
/**
* Parse CSS border-left-color property
*
* @param value - CSS border-left-color property value
* @returns Parsed border color value or null if invalid
*
* @example
* parse('purple') // { type: 'color', format: 'named', values: { name: 'purple' } }
* parse('rgba(255, 0, 0, 0.5)') // { type: 'color', format: 'rgba', values: { r: 255, g: 0, b: 0, a: 0.5 } }
* parse('currentcolor') // { type: 'keyword', keyword: 'currentcolor' }
* parse('var(--color)') // null (CSS variables handled at runtime)
*/
export function parse(value) {
return parseBorderColorProperty(value);
}
/**
* Convert parsed border-left-color back to CSS string
*
* @param parsed - Parsed border color value
* @returns CSS string representation or null if invalid
*
* @example
* toCSSValue({ type: 'color', format: 'named', values: { name: 'purple' } }) // 'purple'
* toCSSValue({ type: 'keyword', keyword: 'currentcolor' }) // 'currentcolor'
* toCSSValue({ type: 'keyword', keyword: 'revert' }) // 'revert'
*/
export function toCSSValue(parsed) {
return borderColorToCSSValue(parsed);
}