Nychthemeron/packages/library
Matthew L McPeak a2685c6920 fix: stop Select/Dialog enter animations from transitioning position
Root cause: Tailwind's `duration-100` utility sets the literal CSS
`transition-duration` property (it's meant for transitions, not
animations). Since `transition-property`'s initial value is `all` and
nothing overrode it, every element using `duration-100` in its
Transition enter/leave-active-class picked up an unintended
`transition: all 100ms`. For SelectContent, whose `top`/`left` are set
via inline style from usePopoverPosition, this meant the popover's
real computed position (set synchronously on mount) got smoothly
interpolated from the reactive object's initial {top:0,left:0} default
-- visibly flying in from the top-left corner of the viewport before
landing in place.

Fix: use tw-animate-css's dedicated `animation-duration-*` utility
instead, which sets `animation-duration`/`--tw-animation-duration`
without ever touching `transition-property`/`transition-duration`.
Confirmed via computed-style inspection in headless Chromium that
transitionDuration is now 0s while the intended enter/exit keyframe
animation still runs for 100ms. Applied everywhere `duration-100` was
used for this pattern (DialogContent, DialogOverlay,
DialogScrollContent, SelectContent).
2026-07-14 09:39:12 -04:00
..
src fix: stop Select/Dialog enter animations from transitioning position 2026-07-14 09:39:12 -04:00
tests fix: unwrap Fragment vnodes in Slot before cloning 2026-07-13 18:37:50 -04:00
components.json feat: wire up Tailwind v4 and shadcn-vue token mapping alongside PrimeVue 2026-07-11 14:15:37 -04:00
package.json chore: drop the reka-ui dependency 2026-07-13 18:18:55 -04:00
tsconfig.json Inital Commit 2026-06-14 14:50:44 -04:00
vite.config.ts chore: drop the reka-ui dependency 2026-07-13 18:18:55 -04:00
vitest.config.ts feat: wire up Tailwind v4 and shadcn-vue token mapping alongside PrimeVue 2026-07-11 14:15:37 -04:00