Terminus UI Library
The library of UI components used for Terminus applications.
Table of Contents
- Library Component Documentation
- Primary Library Features
- Available Features
- Installation
- Global Styles
- SCSS Helpers
- Development Workflow
- Contributors
- Project Resources
Library Component Documentation
This document covers documentation for building and maintaining the terminus-ui library. For documentation on all components and styles, visit GetTerminus.github.io/terminus-ui.
Primary Library Features
- Demo app for developing within a real application
- Testing
- Unit (cross-browser)
- JiT integration
- AoT integration
Style regression(TODO)
- Linting
- TypeScript
- SCSS
- Documentation (
docs/
)- Manual docs for basic project flow (README)
- Automated Table of Contents updates
- Automated markdown link checking
- Generated docs for TypeScript (
docs/typescript/
) - Manual docs for SCSS (with SCSS helpers)
- Manual docs for basic project flow (README)
- Automated semantic versioning & publishing to NPM
- Enforced commit style
- Tree-shaking via Rollup.js
- SCSS variables & functions exposed to the consuming application
- Code coverage reporting (
coverage/
) - Automated dependency updates
Available Features
- โ not started
- ๐จ started
- โ available
- ๐ฉ deprecated
Components
Feature | Notes | Status | Demo | Docs | Usage |
---|---|---|---|---|---|
alert | โ | ||||
autocomplete | โ | Demo | Docs | Usage | |
autofocus | Focus a focusable element on load | โ | Demo | Docs | Usage |
badge | โ | ||||
button | โ | Demo | Docs | ||
breadcrumbs | โ | ||||
card | โ | Demo | Docs | Usage | |
chip | โ | ||||
checkbox | โ | Demo | Docs | Usage | |
copy | โ | Demo | Docs | ||
datavis | โ | ||||
datepicker | โ | Demo | Docs | Usage | |
date-range | โ | Demo | Docs | Usage | |
dialog | โ | ||||
divider | โ | ||||
expansion | โ | ||||
file-picker | โ | ||||
input-masking | โ | ||||
input-messages | Used by input to display validation messages |
โ | (see input demo) | ||
icon | Valid icon names: https://material.io/icons | โ | Demo | Docs | Usage |
icon-button | โ | Demo | Docs | Usage | |
input | โ | Demo | Docs | ||
link | โ | Demo | Docs | ||
loading overlay | โ | Demo | Docs | ||
login form | โ | Demo | Docs | ||
menu | โ | Demo | Docs | ||
navigation | โ | Demo | Docs | ||
paginator | โ | Demo | Docs | ||
progress | โ | ||||
progression | โ | ||||
radio-group | โ | Demo | Docs | Usage | |
search | โ | Demo | Docs | ||
select | โ | Demo | Docs | ||
spacing | Helpers for consistent spacing | โ | Demo | Docs | |
sort | Used by table to manage column sorting |
โ | (see table demo) | Docs | Usage |
table | โ | Demo | Docs | Usage | |
tabs | โ | ||||
toggle | โ | Demo | Docs | ||
tooltip | โ | Demo | Docs |
Pipes
Pipe | Notes | Status | Demo |
---|---|---|---|
tsDate |
short , medium , extended , timestamp |
โ | Demo |
tsTimeAgo |
a human-readable time span | โ | Demo |
Services
Feature | Notes | Status |
---|---|---|
Document | ๐ฉ | |
Spacing | Expose custom spacing sizes via a service | โ |
Validators | Expose custom validation methods for reactive forms | โ |
Window | ๐ฉ |
TypeScript Utilities
Feature | Notes | Status |
---|---|---|
Interfaces | Provide TypeScript interfaces for various objects | โ |
Types | Provide TypeScript types for various parameters | โ |
Style Helpers
Feature | Notes | Status | Docs |
---|---|---|---|
animation | ๐จ | ||
assets | ๐จ | ||
breakpoints | โ | Docs | |
colors | โ | Docs | |
cursors | โ | Docs | |
layout | โ | Docs | |
shadows | โ | Docs | |
spacing | โ | Docs | |
typography | โ | Docs | |
z-index | โ | Docs |
Installation
Install the library and all required dependencies:
$ yarn add @terminus/ui @terminus/ui @angular/forms @angular/animations @angular/material hammerjs --exact
Global Styles
To use the global styles, import the CSS file into your stylesheets:
@import '@terminus/ui/terminus-ui.css'
SCSS Helpers
To use the provided SCSS helper methods/variables/mixins, import the helpers file from @terminus/ui
:
@import '~@terminus/ui/helpers'
Development Workflow
View the wiki page.
Contributors
Thanks goes to these wonderful people (emoji key):
Benjamin Charity ๐ป ๐ |
coreyterminator ๐ป |
Wendy ๐ |
Brian Malinconico ๐ ๐ค |
David Harkness ๐ป |
kal93 ๐ |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
Project Resources
- Semantic Release - Automatically release versioned release to NPM and generate a changelog in the Github tag.
- Commitizen - Interactive cli for enforcing commit message format.
- Commitizen VSCode Plugin - VSCode plugin for commitizen.
- SauceLabs Platforms - Cross-browser unit tests.
- Nucleus - Generates SCSS documentation.
- Doctoc - Generate documentation table of contents.
- CodeCov - Code coverage reporting.