@testgorilla/tgo-ui
v6.2.16
Published
Angular 19 UI component library providing reusable components for TestGorilla applications.
Downloads
3,161
Maintainers
Keywords
Readme
TestGorilla UI Library (@testgorilla/tgo-ui)
Angular 19 UI component library providing reusable components for TestGorilla applications.
Development
To see library changes reflected in the demo app:
npm run build:tgo-ui # Build the library
npm run start:client # Serve the demo appOr use watch mode during active development:
npm run watch # Build library in watch mode (then run start:client)
npm run storybook # Start Storybook on port 6006Components
AI
ui-ai-audio-circleui-ai-caveatui-ai-feedbackui-audio-waveform
Forms & Inputs
ui-autocompleteui-checkboxui-datepickerui-dropdownui-fieldui-inline-fieldui-multi-inputui-phone-inputui-radio-buttonui-sliderui-toggleui-validation-error
Buttons & Actions
ui-buttonui-filter-buttonui-overflow-menuui-segmented-button
Feedback & Status
ui-alert-bannerui-badgeui-progress-barui-radial-progressui-ratingui-skeletonui-snackbarui-spinnerui-stepper
Data Visualization
ui-donut-chartui-gaussian-chartui-scaleui-scale-tableui-segmented-barui-spider-chart
Layout & Navigation
ui-accordionui-breadcrumbui-dividerui-navbarui-page-headerui-paginatorui-side-panelui-side-sheetui-tabs
Cards & Media
ui-avatarui-cardui-media-cardui-media-dialogui-selectable-card
Content & Misc
ui-checklistui-dialogui-elevation-shadowui-empty-stateui-file-uploadui-iconui-icon-labelui-logoui-password-criteriaui-password-strengthui-promptui-tableui-tagui-tooltipui-universal-skills
Contributing
PR Requirements
Every pull request must include:
Version bump — increment the version in
package.jsonfollowing semver:PATCH(e.g.6.2.4→6.2.5) for bug fixes, CI/tooling changes, dependency updatesMINOR(e.g.6.2.x→6.3.0) for new components, new inputs/outputs, new featuresMAJORfor breaking changes (removed inputs, renamed selectors, changed API contracts)
Changelog entry — add an entry to the top of
CHANGELOG.mdin this format:
## <version> - <YYYY-MM-DD>
### Added
- ComponentName: description of what was added
### Changed
- ComponentName: description of what changed
### Fixed
- ComponentName: description of what was fixed
### Misc
- CI: description of tooling/CI changeExample:
## 6.3.0 - 2026-03-11
### Added
- Tabs: Add `tabHeaderSize` input — `'big'` (64px, default), `'medium'` (56px), `'small'` (32px)
- Icon: Add `Rocket` icon
### Fixed
- SidePanel: Fix backdrop not closing panel on click when `disableAnimation` is set
### Misc
- CI: Add automated GitHub release creation on publishCI will fail the PR if either check is missing — check-version-bump and check-changelog-entry run automatically on every PR.
Visual Regression Testing
The project uses Playwright for visual regression testing to ensure UI components maintain their visual appearance across changes. Visual tests automatically capture screenshots of all Storybook stories and compare them against stored snapshots.
Commands
# Run visual tests
npm run visual-test
# Update snapshots when visual changes are intentional
npm run visual-test:update-snapshotsHow It Works
- Build Phase: Storybook is built (
npm run build-storybook) creating static files - Docker Execution: Tests run in a Linux container using
mcr.microsoft.com/playwright:v1.55.1for consistency - Server Setup: HTTP server serves Storybook static files on port 4200
- Test Execution: Automatically discovers and tests all stories from Storybook's
index.json - Screenshot Comparison: Compares current screenshots against stored snapshots
Docker Configuration
The system uses Docker Compose with two services:
- visual-tests: Runs tests and compares with existing snapshots
- update-snapshots: Updates snapshots when visual changes are expected
Both services:
- Use official Microsoft Playwright image (
mcr.microsoft.com/playwright:v1.55.1) - Mount project directory and install dependencies
- Start HTTP server and wait for Storybook availability
- Execute tests with Desktop Chrome viewport (1920x1200, 2x device scale)
Cross-Platform Consistency
Visual tests run in Docker to ensure:
- Consistent font rendering across operating systems
- Identical browser behavior regardless of host OS
- Reproducible results in CI/CD environments
- Linux-based snapshots that match production environments
Troubleshooting
- Tests failing locally: Run
npm run visual-test:update-snapshotsif changes are intentional - Font rendering differences: Always use Docker commands for consistency
- Timeout issues: Server waits up to 60 seconds for Storybook to be ready
- Memory issues: Docker services configured with 4GB heap size
