This project houses a set of UI components for Angular 7+ and designed around the 'Go' design system.
- Take a look at our code of conduct
- Read through our contribution guidelines
- Install the latest version of npm
or if you are using
npm install -g npm@latest
nvm
you can alternatively run:We try to stay as up to date a possible.nvm install-latest-npm
- Install all of the node modules
npm install
- Start a development test server:
This will serve the go-tester directory at
ng serve --project=go-tester
localhost:4200
- In a separate tab, start the tests for the go-lib components:
Test will continue to run anytime a file is saved. This will help ensure that breaking changes aren't introduced when changes are introduced.
ng test go-lib
The project is separated up into three project directories.
projects/go-lib is where all of our production components, services, and other items are built out. If you are adding that you would like to distribute, this is where you will do that work.
The components are located here:
projects/go-lib/src/lib/components
projects/go-tester is separate app that allows us to test the implementation of our components as we build them out. If you want to test to make sure your go-lib components work as expected in a more real world setting, this is where you will do that work.
The base tester app is located here;
projects/go-tester/src/app
projects/go-tester will eventually be where we will write all of our end to end testing for our go-tester app. We have not yet done this, but we would welcome any contributions.
Run ng generate lib/components/component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
To build and pack the library locally run:
npm run package
To build and pack the library locally and publish that package to npm run:
npm run publish
The projects/go-lib/src/public_api.ts
file exposes files to the root of the node module. This allows for importing like:
import { GoTableConfig } from '@tangoe/goponents';
To do this properly, you must export each individual file within the public_api.ts
file.
Component | Notes |
---|---|
accordion | Available |
badge | Available |
button | Available |
card | Available |
checkbox | Available |
checkbox group | Available |
copy button | Available |
datepicker | Available |
header | Available |
icon | Available |
icon button | Available |
input | Available |
hint | Available |
layout | Available |
modal | Available |
off-canvas | Available |
radio | Available |
radio group | Available |
select | Available |
search | Available |
side nav | Available |
slide toggle | Available |
table | Available |
textarea | Available |
toasts | Available |
---------------- | ---------------------------------------- |
autocomplete | Will Need |
masked input | Will Need |
---------------- | ---------------------------------------- |
tabs | Idea |
tooltip | Idea |
timepicker | Idea |
wysiwyg | Idea |