Replace Jest with Vitest across the workspace. The brain and helm Angular suites
now run in a real browser (Playwright/Chromium via Vitest browser mode) so they
exercise real layout, focus, pointer events and computed styles that jsdom could
not. The cli, tools, mcp, registry and cli-smoke suites run on Vitest's node
environment.
- Add per-project vite configs and switch test targets to @nx/vitest:test
- Convert jest APIs to vi.* and jest module mocks to vi.mock with importOriginal
- Replace jest-axe with a browser-native axe-core helper and toHaveNoViolations
- Regenerate snapshots in vitest format (content unchanged, format-only)
- Remove all jest packages, configs, the preset and the @nx/jest target default
- Install Playwright Chromium in the CI unit job for the browser suites
Also fixes a brain avatar test that asserted inside a fire-and-forget setTimeout,
which passed vacuously under jsdom and only surfaced once a real browser loaded
the image.
Add support for 'left' and 'right' alignment options to the BrnHoverCard component.
Refactor positioning logic in BrnHoverCardContentService to use a POSITION_MAP
for better maintainability and implement correct offset handling for horizontal
positions.
* feat(autocomplete): use directive and use ClassValue type
* feat(carousel): use directives and add data-slot
* docs(carousel): simplify imports
* feat(command): use directive, use ClassValue type and add data-slot
* docs(command): use hlm-dialog, format usage code
* feat(hover-card): use directive and add data-slot
* feat(resizable): use directive and add data-slot
* docs(resizable): format code usage
* feat(radio-group): use directive
* feat(sidebar): use self-closing tag
* feat(tabs): use directives and add data-slot
* docs(tabs): simplify imports
* feat(tooltip): use directive and add data-slot
* feat(hover-card): use directive
* chore: update snapshot for selectors/inputs
* feat(navigation-menu): init brain
* feat(navigation-menu): init helm
* feat(navigation-menu): init inputs for root comp
* feat(navigation-menu): setup contexts and scaffolds comps WIP
* feat(cli): init trigger component
* feat(navigation-menu): init content comp and fix selectors
* feat(navigation-menu): create link comp and improve others
* feat(navigation-menu): create hlm directives WIP and export from index.ts
* feat(navigation-menu): start working on rendering content
* refactor(hover-card): move createHoverObservable to core
* feat(navigation-menu): init content service and rendering content WIP
* fix(hover-card): fix overlay position strategy position expression
* feat(navigation-menu): render content using angular cdk overlay WIP
* feat(navigation-menu): set delay duration on open
* feat(navigation-menu): show/hide content in all cases
* docs(navigation-menu): improve docs WIP
* feat(navigation-menu): move content related type to service class
* feat(navigation-menu): implement skip animation logic
* fix(navigation-menu): fix navigation mouse out behaviour
* docs(navigation-menu): add brain and helm api
* feat(navigation-menu): detach content on animation end
* refactor(navigation-menu): refactor setting data-motion logic
* docs(navigation-menu): add trigger chevron icon
* feat(navigation-menu): adjust content position
* docs(navigation-menu): add new badge
* feat(navigation-menu): support nested nav menu
* feat(navigation-menu): add missing orientation data attr
* feat(navigation-menu): add full support for dir and orientation
* fix(navigation-menu): apply dir to content overlay
* feat(navigation-menu): add support for tab and escape
* feat(navigation-menu): add hlm nav link
* feat(navigation-menu): close content on disabled item hover
* fix(navigation-menu): fix hover bug and rename variable
* fix(navigation-menu): add distinct hover
* fix(navigation-menu): fix animations and sub nav handling
* fix(navigation-menu): make button focusable in Safari, remove focused Observable
* feat(navigation-menu): implement keyboard focus
* feat(navigation-menu): comply with ARIA
* style: fix CSS popover and accent vars
* feat(navigation-menu): minor animation and render adjustments
* docs: write navigation menu docs WIP
* docs: remove redundant text
* docs: add navigation menu to storybook
* docs: modify nav menu example description
* docs: fix meta and title
* docs: remove accidentally added side nav content
* style: format
* fix(navigation-menu): fix token desc
* fix(tooltip): move computedPrevious to core
* fix(navigation-menu): expose isOpenDelayed as readonly
* fix(navigation-menu): rename hlmLink to hlmNavLink
* docs: update ui docs snapshot
* refactor: address lint issues
* chore: run format
* docs(navigation-menu): fix vertical menu width
* docs(navigation-menu): fix nested menu width
* fix(navigation-menu): resolve PR comments
* fix(navigation-menu): fix list styles
* fix(navigation-menu): add missing data-slot
* fix(navigation-menu): fix examples wrong href to docs
* feat(navigation-menu): add active input to link el
* feat: remove standalone property from various directives and components in the Helm UI library
* feat: enable strictStandalone option in Angular compiler settings