Commit Graph

20 Commits

Author SHA1 Message Date
Ashley Hunter 1b743f8019 test: migrate from jest to vitest with browser testing for brain/helm
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.
2026-06-13 15:16:45 +01:00
Ashley Hunter 6e63ba9d74 feat(hover-card): add style support and rtl example
Make the hover card overlay inherit the ambient direction so it renders RTL.

Closes #1405
2026-06-09 20:16:36 +01:00
tomer953 74263d50bb feat(hover-card): add support for left and right positions
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.
2026-02-04 15:59:35 +02:00
Felix Hagemans e664823cef feat(hover-card): default options for hover-card (#1166) 2026-01-30 10:31:47 +01:00
Marc Stammerjohann 67d5efc52d feat: replace components with directives (#1063)
* 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
2025-12-04 22:17:44 +01:00
Marc Stammerjohann 11d5b4390c chore: add types to inputs for the docs api (#1062) 2025-12-04 12:37:22 +01:00
Benjamin Heiss 3d0800b32c fix(hover-card): focusmonitor stops monitoring on destroy (#1050) 2025-11-29 11:46:26 +01:00
Merlin 6d60dc9d7d feat: add lint rule template last 2025-11-12 15:05:31 +01:00
Toni Škobić 1801c9007f feat(navigation-menu): add navigation menu (#951)
* 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
2025-10-28 21:09:38 +01:00
Merlin 9e34f79ded refactor: consistent type import 2025-09-29 14:42:31 +02:00
moosme adf55dbdd3 refactor: polish imports (#890)
Co-authored-by: Merlin <merlin.moos@oldendorff.com>
2025-09-27 17:52:14 -04:00
Ashley Hunter b1ed68e0d0 refactor: use the latest angular naming conventions (#766)
* refactor: use the latest angular naming conventions

* build: merge

* docs: fixing unexpected component rename

Co-authored-by: Ajit Panigrahi <ajitzero@gmail.com>

* build: fix generated code

* build: fixing build

* build: fix directive

* feat: adding helm migration

* build: health check detection improvements

* build: checking file type

* build: fix formatting

---------

Co-authored-by: Ajit Panigrahi <ajitzero@gmail.com>
2025-07-30 22:32:02 +02:00
MerlinMoos ced805c807 fix: make access modifier consistent #755 (#758)
* fix: make access modifier consistent #755

* fix: run format

* fix: resolve build issues

---------

Co-authored-by: Merlin Moos <merlin.moos@oldendorff.com>
2025-07-22 17:43:20 +02:00
Jeevan fb3d95a340 Remove standalone property (#701)
* feat: remove standalone property from various directives and components in the Helm UI library

* feat: enable strictStandalone option in Angular compiler settings
2025-06-10 22:00:48 +02:00
Marc Stammerjohann b90984b2f6 refactor: enforce eslint prefer onpush change detection (#688) 2025-05-14 02:41:54 +02:00
Benjamin Heiss cd119177b7 refactor: replace AllowSignalWrites with untracked (#607) 2025-02-20 18:27:59 +01:00
Ashley Hunter 74d4016e1f refactor: move core to brain (#548)
* refactor: move core to brain

* refactor: migrating core imports

* refactor: updating deps

* refactor: updating generator

* refactor: fixing import

* refactor: updating cli

* refactor: updating templates

* fix: merge latest changes

* fix: tests
2025-01-08 23:12:22 +01:00
MerlinMoos 55fbc12bd0 refactor(hover-card): migrate to signals #437 (#504)
* refactor(hover-card): migrate to signals #437

* refactor(hover-card): re trigger pipeline

* refactor(hover-card): move effect into constructor #437

* refactor(hover-card): merge main

* refactor(hover-card): fix lint

* refactor(hover-card): rename brnHoverCardTriggerForState to mutableBrnHoverCardTriggerFor

* refactor(hover-card): rename brnHoverCardTriggerForState to mutableBrnHoverCardTriggerFor

---------

Co-authored-by: moos <merlin.moos@oldendorff.com>
2024-12-13 17:35:04 +01:00
Ashley Hunter 5313d244ec build: rxjs 6 support (#525)
* build: rxjs 6 support lint rule

* build: rxjs 6 support

* build: rxjs 6 support
2024-12-11 16:00:32 +01:00
Ashley Hunter be4a87dc87 refactor: migrating remaining brain libraries to secondary entrypoints (#523)
* refactor: migrating remaining brain libraries to secondary entrypoints

* refactor: migrating remaining brain libraries to secondary entrypoints
2024-12-10 18:40:46 +01:00