@mittwald/flow-react-components 1.4.26 → 1.4.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -338,7 +338,7 @@ compiles against. A bare `vitest run` skips it and renders against whatever
338
338
  is simply absent, and CSS drops every declaration referencing it without a
339
339
  warning (#3194).
340
340
 
341
- Three traps cost time in every new browser test:
341
+ Four traps cost time in every new browser test:
342
342
 
343
343
  - **Click the label, not the control.** `Checkbox`, `Radio`, `Switch` and
344
344
  `Rating` stack their icons on top of a visually hidden input, so playwright
@@ -355,6 +355,15 @@ Three traps cost time in every new browser test:
355
355
  `render()` runs before React has committed and reads `null`. That turns an
356
356
  assertion that something is _absent_ into a silent pass, so give any helper
357
357
  that queries the DOM directly a guard that throws when its element is missing.
358
+ - **A pointer left behind hovers the next render.** The pointer stays where the
359
+ last test left it, and that can be the previous file: each browser page runs
360
+ file after file, in parallel runs too. Firefox hovers what a test renders
361
+ underneath. The symptom is an `expect.poll` that keeps reading a hover state
362
+ (a Rating preview, an open tooltip) until "Matcher did not succeed in time".
363
+ Call `parkPointer()` from `@/lib/dev/parkPointer` in the file's `beforeEach`
364
+ (`Rating`, `PasswordCreationField`); an `afterEach` leaves the file's first
365
+ test exposed. It is opt-in on purpose: moving the pointer before every test
366
+ breaks `Tooltip`'s keyboard-focus test.
358
367
 
359
368
  ## i18n & a11y
360
369