mirror of
https://github.com/block/buzz.git
synced 2026-11-03 16:01:35 +00:00
The new picker assertions read overridden properties (48px control heights, the resting search background) immediately after the search input becomes visible. The Buzz stylesheet is appended from a `requestAnimationFrame` loop that only starts once `em-emoji-picker` has attached its shadow root, so it can land a frame or more later. An instrumented probe caught that gap: on 2 of 5 runs the shadow root had no `#buzz-emoji-mart-style` at that read point and the input measured Emoji Mart's un-overridden 36px instead of 48px. The shipped tests passed only because incidental round-trips bought enough time. `expect(...).toBe(48)` does not retry, so the race was live. Add `expectEmojiMartStylesInstalled` to the CSS helpers, polling for the style element, and gate both specs on it before their un-retried reads. The install loop itself predates this branch and is unchanged. Also documents the second probe finding, which needed no fix: the resting background samples as transparent right after install because Emoji Mart puts a 225ms `background-color` transition on the input. It settles to `rgb(229, 229, 230)`, and the override does win the cascade over the vendor `var(--em-color-border)` rule. Co-authored-by: kenny lopez <klopez4212@gmail.com> Signed-off-by: kenny lopez <klopez4212@gmail.com>