internal void ApplyProperties(StylePropertyReader reader, InheritedStylesData inheritedStylesData) { while (reader.IsValid()) { var styleProperty = reader.property; var propertyID = reader.propertyID; if (reader.IsKeyword(0, StyleValueKeyword.Initial)) { ApplyInitialStyleValue(reader); } else if (reader.IsKeyword(0, StyleValueKeyword.Unset) && inheritedStylesData != null) { ApplyUnsetStyleValue(reader, inheritedStylesData); } else { switch (propertyID) { case StylePropertyID.Unknown: break; case StylePropertyID.Custom: ApplyCustomStyleProperty(reader); break; case StylePropertyID.BorderColor: case StylePropertyID.BorderRadius: case StylePropertyID.BorderWidth: case StylePropertyID.Flex: case StylePropertyID.Margin: case StylePropertyID.Padding: ApplyShorthandProperty(reader); break; default: ApplyStyleProperty(reader); break; } } reader.MoveNextProperty(); } }