@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.25 kB
JavaScript
// Border-top-color property evaluator
// https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-color
import { parseBorderColorProperty, borderColorToCSSValue } from './shared-border-color.js';
/**
* Parse CSS border-top-color property
*
* @param value - CSS border-top-color property value
* @returns Parsed border color value or null if invalid
*
* @example
* parse('red') // { type: 'color', format: 'named', values: { name: 'red' } }
* parse('#ff0000') // { type: 'color', format: 'hex', values: { hex: 'ff0000' } }
* 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-top-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: 'red' } }) // 'red'
* toCSSValue({ type: 'keyword', keyword: 'currentcolor' }) // 'currentcolor'
* toCSSValue({ type: 'keyword', keyword: 'inherit' }) // 'inherit'
*/
export function toCSSValue(parsed) {
return borderColorToCSSValue(parsed);
}