pub(crate) fn get_collisions(collision_id: &str) -> Option<Vec<&'static str>> {
match collision_id {
"overflow" => Some(vec!["overflow-x", "overflow-y"]),
"overscroll" => Some(vec!["overscroll-x", "overscroll-y"]),
"inset" => Some(vec!["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"]),
"inset-x" => Some(vec!["right", "left"]),
"inset-y" => Some(vec!["top", "bottom"]),
"flex" => Some(vec!["basis", "grow", "shrink"]),
"gap" => Some(vec!["gap-x", "gap-y"]),
"padding" => Some(vec![
"padding-x",
"padding-y",
"padding-start",
"padding-end",
"padding-top",
"padding-right",
"padding-bottom",
"padding-left",
]),
"padding-x" => Some(vec!["padding-right", "padding-left"]),
"padding-y" => Some(vec!["padding-top", "padding-bottom"]),
"margin" => Some(vec![
"margin-x",
"margin-y",
"margin-start",
"margin-end",
"margin-top",
"margin-right",
"margin-bottom",
"margin-left",
]),
"margin-x" => Some(vec!["margin-right", "margin-left"]),
"margin-y" => Some(vec!["margin-top", "margin-bottom"]),
"size" => Some(vec!["width", "height"]),
"font-size" => Some(vec!["line-height"]),
"fvn-normal" => Some(vec!["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"]),
"fvn-ordinal" => Some(vec!["fvn-normal"]),
"fvn-slashed-zero" => Some(vec!["fvn-normal"]),
"fvn-figure" => Some(vec!["fvn-normal"]),
"fvn-spacing" => Some(vec!["fvn-normal"]),
"fvn-fraction" => Some(vec!["fvn-normal"]),
"line-clamp" => Some(vec!["display", "overflow"]),
"rounded" => Some(vec![
"rounded-s",
"rounded-e",
"rounded-t",
"rounded-r",
"rounded-b",
"rounded-l",
"rounded-ss",
"rounded-se",
"rounded-ee",
"rounded-es",
"rounded-tl",
"rounded-tr",
"rounded-br",
"rounded-bl",
]),
"rounded-s" => Some(vec!["rounded-ss", "rounded-es"]),
"rounded-e" => Some(vec!["rounded-se", "rounded-ee"]),
"rounded-t" => Some(vec!["rounded-tl", "rounded-tr"]),
"rounded-r" => Some(vec!["rounded-tr", "rounded-br"]),
"rounded-b" => Some(vec!["rounded-br", "rounded-bl"]),
"rounded-l" => Some(vec!["rounded-tl", "rounded-bl"]),
"border-spacing" => Some(vec!["border-spacing-x", "border-spacing-y"]),
"border-w" => Some(vec!["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"]),
"border-w-x" => Some(vec!["border-w-r", "border-w-l"]),
"border-w-y" => Some(vec!["border-w-t", "border-w-b"]),
"border-color" => Some(vec!["border-color-t", "border-color-r", "border-color-b", "border-color-l"]),
"border-color-x" => Some(vec!["border-color-r", "border-color-l"]),
"border-color-y" => Some(vec!["border-color-t", "border-color-b"]),
"scroll-m" => Some(vec![
"scroll-mx",
"scroll-my",
"scroll-ms",
"scroll-me",
"scroll-mt",
"scroll-mr",
"scroll-mb",
"scroll-ml",
]),
"scroll-mx" => Some(vec!["scroll-mr", "scroll-ml"]),
"scroll-my" => Some(vec!["scroll-mt", "scroll-mb"]),
"scroll-p" => Some(vec![
"scroll-px",
"scroll-py",
"scroll-ps",
"scroll-pe",
"scroll-pt",
"scroll-pr",
"scroll-pb",
"scroll-pl",
]),
"scroll-px" => Some(vec!["scroll-pr", "scroll-pl"]),
"scroll-py" => Some(vec!["scroll-pt", "scroll-pb"]),
"touch" => Some(vec!["touch-x", "touch-y", "touch-pz"]),
"touch-x" => Some(vec!["touch"]),
"touch-y" => Some(vec!["touch"]),
"touch-pz" => Some(vec!["touch"]),
_ => None,
}
}