A sandbox Angular application for building and testing with GoA Design System components. This is a clean starting point for creating demos, prototypes, and exploring new patterns with the Government of Alberta Design System.
This workspace serves as:
- A sandbox environment - Start from scratch and build freely
- A demo application - Test GoA components and create new patterns
- A collaboration space - Share work with team members via GitHub
- An extension platform - Build on top of GoA Design System components
- GoA Design System First - All UI starts with GoA web components
- Build and Extend - Use GoA components as building blocks, extend as needed
- Clean Slate - Minimal setup, maximum flexibility
- Team Sharing - Easy to share and collaborate through Git
- Angular 18 - Modern standalone components approach
- GoA Web Components - Direct usage of
<goa-*>elements - TypeScript - Type-safe development
- Angular Router - For multi-page navigation
workspace-demo/
├── src/
│ ├── app/
│ │ ├── pages/ # Your demo pages go here
│ │ ├── components/ # Shared components
│ │ ├── layouts/ # Layout components (side nav, etc.)
│ │ └── app.component.ts
│ ├── styles.scss # Global styles
│ └── main.ts
├── angular.json
├── package.json
└── README.md
# Install dependencies
npm install
# Start development server
npm start
# Visit http://localhost:4200This sandbox uses GoA web components directly:
<!-- Example: Using GoA components in Angular templates -->
<goa-button type="primary" (click)="handleClick()">
Click Me
</goa-button>
<goa-input
name="demo"
[(value)]="inputValue"
[error]="showError">
</goa-input>
<goa-modal
[open]="modalOpen"
heading="Demo Modal">
Modal content here
</goa-modal>- Create a new component in
src/app/pages/ - Add routing in
app.routes.ts - Add navigation link (will be in side menu)
When GoA components don't meet specific needs:
- Start with the GoA component
- Wrap or extend as needed
- Document the extension pattern
- Share with the team for feedback
- Push your demos to branches
- Share via pull requests
- Document patterns you discover
- Pull in work from teammates (like Vanessa's data table demos)
- Side navigation menu
- Demo page templates
- Component playground area
- Pattern documentation
- Testing utilities
Government of Alberta