@ifsworld/granite-components
v13.2.6
Published
This library is an Angular implementation of the [IFS Design System](https://design.ifs.com). The IFS User Experience product group builds and maintains common UI components and tools. [The goal](docs/strategy.md) is to help product teams rapidly build ap
Downloads
3,546
Keywords
Readme
Granite Components
This library is an Angular implementation of the IFS Design System. The IFS User Experience product group builds and maintains common UI components and tools. The goal is to help product teams rapidly build applications with a delightful IFS branded experience.
Deployments
| Name | URL | Secondary URL | | ------------------------------------------- | ----------------------------------------------------- | --------------------------------------------------- | | Storybook - Latest | https://uxstorybooklatest.z16.web.core.windows.net/ | - | | Storybook - Beta | https://sb-designifs.azureedge.net/ | https://uxstorybookbeta.z16.web.core.windows.net/ | | Granite Component Library Demo - Latest | https://uxdemolatest.z16.web.core.windows.net/ | - | | Granite Component Library Demo - Beta | https://cl-designifs.azureedge.net/ | https://uxdemobeta.z16.web.core.windows.net/ |
Getting started
Assuming we're starting with a new @angular/cli project:
npx @angular/cli new my-project --style=scss
cd my-project
npm i --save @ifsworld/granite-components
If peer dependencies haven't automatically been installed (default behavior of NPM 7 and beyond), then manually install @ifsworld/granite-icons and @ifsworld/granite-tokens.
npm i --save @ifsworld/granite-icons @ifsworld/granite-tokens
Finally, add them in src/styles.scss
:
@use '@ifsworld/granite-tokens/design-tokens/light/tokens';
@use '@ifsworld/granite-icons/assets/fonts/ligature/granite-iconfont-liga.css';
That's it! Now we can run
npm start
and start building out our application!
Note: currrently there's an issue with the Ivy compiler. To get the project to work, the Ivy Compiler must be set to disabled in tsconfig.json
!
Support
Note: we only support our latest release. Beyond that we make no guarantees of continued support. Make sure to stay up to date.
Contributing
If you'd like to contribute, please see the Getting started guide. Then follow our Development guidelines.
Check the IFS internal Jira for issues.
Further help
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.
External sources
- Angular - Creating Libraries
- Create your Standalone Angular Library in 10 minutes
- Creating monorepos using NX
What we're working on now
Visit https://design.ifs.com to learn more.
About the product group
The project is governed by the User Experience Product Group. The mission of the product group is to drive the unified User Experience of IFS business applications. Own and provide UI components and guidelines based on our user's needs. Act as a guide and advisor helping application teams create great UX.
Primary goals of component library
- Build high-quality UI components that developers can drop into existing applications
- Provide tools that help developers build their own custom components with common interaction patterns
What we mean by high-quality components
- Internationalized and accessible so that all users can use them.
- Straightforward APIs that don't confuse developers.
- Behave as expected across a wide variety of use-cases without bugs.
- Behavior is well-tested with both unit and integration tests.
- Customizable.
- Performance cost is minimized.
- Code is clean and well-documented to serve as an example for Angular developers.
Browser and accessibility support
The library supports the most recent versions of the following major browsers: Google Chrome (including Android), Apple Safari (including iOS), and Microsoft Edge. See IFS official guidelines.
We aim for great user experience and to provide high levels of accessibility through support for standardized tools such as ARIA.