@ifsworld/granite-components
TypeScript icon, indicating that this package has built-in type declarations

11.0.1 • Public • Published

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.

npm peer dependency version (scoped) Storybook

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!

StackBlitz Example

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

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @ifsworld/granite-components

Weekly Downloads

411

Version

11.0.1

License

SEE LICENSE IN LICENSE

Unpacked Size

1.97 MB

Total Files

183

Last publish

Collaborators

  • andreaperera
  • alhase
  • chanaka_herath
  • ajitha_sam