Returns which portion(s) of the box model this property affects.
For example, margin-top returns BoxPortion::Margin, border-width returns BoxPortion::Border.
Returns BoxPortion::none() if the property doesn’t affect the box model.
Returns all transitive longhands for a shorthand property.
For nested shorthands (e.g., border-width), this recursively expands to include
all nested longhands (e.g., border-top-width, border-left-width, etc.).
Returns the logical property group this property belongs to (e.g., “Margin”, “Border”).
This groups related logical/physical properties together.
Returns None if this is not part of a logical property group.
Returns which side(s) of the box this property applies to.
For example, margin-top returns BoxSide::Top, while margin returns all sides.
Returns BoxSide::none() if the property doesn’t apply to a specific side.
Returns the metadata contributed by this node itself, not including children.
Most nodes don’t contribute metadata, so can simply return M::default().
Nodes like StyleRule or AtRules should return their own node kind flags here.