From 6e369b3bcb989953ab7cd13b2c84c1b25c218df8 Mon Sep 17 00:00:00 2001 From: Matthew Costabile Date: Mon, 15 Dec 2025 14:56:10 +0000 Subject: [PATCH] perf(Timeline): Document acceptable :has() selector usage with adjacent sibling Part of #7312 --- .changeset/perf-timeline-has-selector.md | 7 +++++++ packages/react/src/Timeline/Timeline.module.css | 1 + 2 files changed, 8 insertions(+) create mode 100644 .changeset/perf-timeline-has-selector.md diff --git a/.changeset/perf-timeline-has-selector.md b/.changeset/perf-timeline-has-selector.md new file mode 100644 index 00000000000..1c232d9dbeb --- /dev/null +++ b/.changeset/perf-timeline-has-selector.md @@ -0,0 +1,7 @@ +--- +'@primer/react': patch +--- + +perf(Timeline): Document acceptable :has() selector usage with adjacent sibling + +Added documentation explaining the :has(+ [data-condensed]) selector is O(1) complexity. diff --git a/packages/react/src/Timeline/Timeline.module.css b/packages/react/src/Timeline/Timeline.module.css index 608df26e2eb..129e352d355 100644 --- a/packages/react/src/Timeline/Timeline.module.css +++ b/packages/react/src/Timeline/Timeline.module.css @@ -105,6 +105,7 @@ border: 0; border-top: var(--borderWidth-thicker) solid var(--borderColor-default); + /* NOTE: Uses adjacent sibling :has() - checks only the next sibling. O(1) complexity. */ &:has(+ [data-condensed]) { margin-bottom: calc(-1 * var(--base-size-12)); }