(CssPropertyType::OverflowWrap, "word-wrap"), // +spec:line-breaking:45074d - word-wrap is legacy name alias for overflow-wrap
pub type LayoutGridTemplateAreasValue = CssPropertyValue<crate::props::layout::grid::GridTemplateAreas>;
crate::impl_vec!(CssProperty, CssPropertyVec, CssPropertyVecDestructor, CssPropertyVecDestructorType, CssPropertyVecSlice, OptionCssProperty);
// +spec:display-property:b4cf6d - unicode-bidi does not inherit (removed from inheritable set)
FontFamily | FontSize | FontWeight | FontStyle | LineHeight | LetterSpacing | WordSpacing | TextIndent |
TextColor | TextAlign | TextJustify | TextDecoration | WhiteSpace | Direction | Hyphens | TabSize |
// NOTE: Cursor is inheritable per CSS spec (https://developer.mozilla.org/en-US/docs/Web/CSS/cursor)
/// Returns whether this property can trigger a re-layout (important for incremental layout and
CssParsingError::DominantBaseline(e) => CssParsingErrorOwned::DominantBaseline(e.to_contained()),
CssParsingError::AlignmentBaseline(e) => CssParsingErrorOwned::AlignmentBaseline(e.to_contained()),
CssParsingError::InitialLetterAlign(e) => CssParsingErrorOwned::InitialLetterAlign(e.to_contained()),
CssParsingError::InitialLetterWrap(e) => CssParsingErrorOwned::InitialLetterWrap(e.to_contained()),
CssParsingError::ScrollbarGutter(e) => CssParsingErrorOwned::ScrollbarGutter(e.to_contained()),
CssParsingError::OverflowClipMargin(e) => CssParsingErrorOwned::OverflowClipMargin(e.to_contained()),
CssParsingError::TextOrientation(e) => CssParsingErrorOwned::TextOrientation(e.to_contained()),
CssParsingErrorOwned::AlignmentBaseline(e) => CssParsingError::AlignmentBaseline(e.to_shared()),
CssParsingErrorOwned::InitialLetterAlign(e) => CssParsingError::InitialLetterAlign(e.to_shared()),
CssParsingErrorOwned::InitialLetterWrap(e) => CssParsingError::InitialLetterWrap(e.to_shared()),
CssParsingErrorOwned::OverflowClipMargin(e) => CssParsingError::OverflowClipMargin(e.to_shared()),
CssPropertyType::GridRow => CssProperty::GridRow(CssPropertyValue::Exact(parse_grid_placement(value)?)),
CssProperty::BoxShadowLeft(CssPropertyValue::Exact(BoxOrStatic::heap(parse_style_box_shadow(value)?)))
CssProperty::BoxShadowRight(CssPropertyValue::Exact(BoxOrStatic::heap(parse_style_box_shadow(value)?)))
CssProperty::BoxShadowTop(CssPropertyValue::Exact(BoxOrStatic::heap(parse_style_box_shadow(value)?)))
CssProperty::BoxShadowBottom(CssPropertyValue::Exact(BoxOrStatic::heap(parse_style_box_shadow(value)?)))
CssPropertyType::ScrollbarTrack => CssProperty::ScrollbarTrack(CssPropertyValue::Exact(parse_style_background_content(value)?)),
CssPropertyType::ScrollbarThumb => CssProperty::ScrollbarThumb(CssPropertyValue::Exact(parse_style_background_content(value)?)),
CssPropertyType::ScrollbarButton => CssProperty::ScrollbarButton(CssPropertyValue::Exact(parse_style_background_content(value)?)),
CssPropertyType::ScrollbarCorner => CssProperty::ScrollbarCorner(CssPropertyValue::Exact(parse_style_background_content(value)?)),
CssPropertyType::ScrollbarResizer => CssProperty::ScrollbarResizer(CssPropertyValue::Exact(parse_style_background_content(value)?)),
CssProperty::TextShadow(CssPropertyValue::Exact(BoxOrStatic::heap(parse_style_box_shadow(value)?)))
// +spec:overflow:ff5ea4 - overflow shorthand sets overflow-x and overflow-y; second value copied from first if omitted
parse_grid_line_owned(s.trim()).map_err(|_| CssParsingError::InvalidValue(InvalidValueErr(value)))
pub const fn as_border_bottom_left_radius(&self) -> Option<&StyleBorderBottomLeftRadiusValue> {