All Projects → IBM → Carbon Components Angular

IBM / Carbon Components Angular

Licence: apache-2.0
An Angular implementation of the Carbon Design System for IBM.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Carbon Components Angular

Clarity
Clarity is a scalable, accessible, customizable, open source design system built with web components. Works with any JavaScript framework, built for enterprises, and designed to be inclusive.
Stars: ✭ 6,398 (+1963.87%)
Mutual labels:  hacktoberfest, component-library
Ibmi Oss Examples
A set of examples for using open source tools on IBM i
Stars: ✭ 41 (-86.77%)
Mutual labels:  hacktoberfest, ibm
Carbon Web Components
Carbon Design System variant on top of Web Components
Stars: ✭ 171 (-44.84%)
Mutual labels:  ibm, component-library
Taiga Ui
Angular UI Kit and components library for awesome people
Stars: ✭ 1,353 (+336.45%)
Mutual labels:  hacktoberfest, component-library
Fomantic Ui
Fomantic-UI is a community fork of Semantic-UI
Stars: ✭ 2,755 (+788.71%)
Mutual labels:  hacktoberfest, component-library
First Born
Component library for React Native
Stars: ✭ 267 (-13.87%)
Mutual labels:  hacktoberfest, component-library
Orbit
React components of open-source Orbit design system by Kiwi.com
Stars: ✭ 774 (+149.68%)
Mutual labels:  hacktoberfest, component-library
Uniforms
A React library for building forms from any schema.
Stars: ✭ 1,368 (+341.29%)
Mutual labels:  hacktoberfest, component-library
Styleguide
The VTEX Design System and React component library.
Stars: ✭ 138 (-55.48%)
Mutual labels:  hacktoberfest, component-library
Gulp Front
Frontend boilerplate and framework based on gulp, pug, stylus and babel
Stars: ✭ 237 (-23.55%)
Mutual labels:  hacktoberfest, component-library
Carbon Charts
📊 📈⠀Robust dataviz framework implemented using D3 & typescript
Stars: ✭ 287 (-7.42%)
Mutual labels:  hacktoberfest, ibm
Cucumber
A monorepo of common components - building blocks for implementing Cucumber in various languages.
Stars: ✭ 3,299 (+964.19%)
Mutual labels:  hacktoberfest
Persistence
The Doctrine Persistence project is a library that provides common abstractions for object mapper persistence.
Stars: ✭ 3,481 (+1022.9%)
Mutual labels:  hacktoberfest
Spidermon
Scrapy Extension for monitoring spiders execution.
Stars: ✭ 309 (-0.32%)
Mutual labels:  hacktoberfest
Start here
This repo outlines how to get started contributing to Operation Code, each of our projects, the language they are written in, and their purpose.
Stars: ✭ 307 (-0.97%)
Mutual labels:  hacktoberfest
Openboxes
OpenBoxes is a supply chain management system designed to manage inventory and track stock movements for healthcare facilities.
Stars: ✭ 309 (-0.32%)
Mutual labels:  hacktoberfest
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+1294.84%)
Mutual labels:  hacktoberfest
Airbash
A POSIX-compliant, fully automated WPA PSK PMKID and handshake capture script aimed at penetration testing
Stars: ✭ 308 (-0.65%)
Mutual labels:  hacktoberfest
Wesbos
Stars: ✭ 308 (-0.65%)
Mutual labels:  hacktoberfest
Prism
Gett's Design System code generator. Use Zeplin Styleguides as your R&D's Single Source of Truth.
Stars: ✭ 308 (-0.65%)
Mutual labels:  hacktoberfest

Carbon Components Angular

An Angular implementation of the Carbon Design System

semantic-release

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 carbon-components-angular carbon-components @carbon/icons-angular

Then we need to include carbon-components in src/styles.scss:

@import "~carbon-components/scss/globals/scss/styles.scss";

Note: For offline usage we'll need to set $font-path: '~carbon-components/src/globals/fonts'; at the very top of our src/styles.scss. This will copy the fonts to our dist folder upon successful build. If you like the fonts to be a part of your assets folder and not pollute the dist folder then copy the fonts from node_modules/carbon-components/src/globals/fonts into our app's src/assets/fonts folder and add $font-path: '/assets/fonts/'; at the very top of our src/styles.scss.

That's it! Now we can run npm start and start building out our application!

Note: This isn't the only way to bootstrap a carbon-components-angular application, but the combination of @angular/cli and the carbon-components scss is our recommended setup.

Edit Carbon Components Angular

Contributing

Quickstart

  • fork IBM/carbon-components-angular and clone it locally
  • run npm install to grab all the dependencies, then npm run storybook to start storybook
  • if you are adding a component:
    • add a folder with your component code, styles, tests and story under src
    • export your module from index.ts
  • if you are contributing a fix:
    • add your fix, update the documentation as needed
    • consider adding or modifying a test case to cover the fix
  • follow the Angular style guide
  • be sure to run npm test and npm run lint to make sure the tests and linter pass
  • submit a PR

Pull request guidelines

  • Keep changes small and focused.
  • If you create a pull request and then realize it is not ready to be merged, prepend "WIP: " (For example, WIP: Fixed text overflow in accordion headers.) and assign a WIP label.
  • Include a description of changes
    • attach a screenshot (or a gif!) for design reference if needed
    • reference the related issue
      • "closes #123" or "fixes #123" will close issue #123 once the PR is merged
      • "issue #123" just references the issue. Only use this if you definitely need the issue to remain open.
    • @mention any specific other developers that need to be aware of the changes
  • add the "needs review" label along with any other relevant labels
  • link to code review checklist goes here

Issues submission guidelines

  • One issue per defect - do not open an issue that spans multiple defects
  • provide a descriptive title that mentions the component and version the issue covers
  • provide
    • version(s) affected
    • a description of the issue
    • steps taken to produce the issue
    • expected behaviour
    • current behaviour
    • screenshots if needed
    • relevant code snippets
    • links to application source code or running demo (Codesandbox is awesome for this!) (including connection/authentication information)
  • add relevant labels (bug, accessibility, design, discussion, feature, etc)
  • if you have a fix to contribute, assign yourself, otherwise leave unassigned

npm commands

To keep our build dependencies local we use npm scripts to run our webpack, gulp, and general build tasks. You should never install webpack or gulp globally as that will likely conflict with our version. You should never need to modify the build process to add a component or story.

  • npm run storybook to run storybook (port 6006)
  • npm run build to generate the dist
  • docs:build to build documentation
  • docs:server to build and run the documentation server
  • npm run lint to run tslint
  • npm test to run tests

Resources

Philosophy

  • Components should be the smallest unit of computation
    • Think in terms of pages and applications composed from a multitude of components rather than pages or applications as a single unit of computation
  • Components should delegate to the consumer whenever possible
    • The individual applications should be the single source of truth, and be able to create any UI from our building blocks
  • Components should do one thing, and do it well
    • This does not mean they should be over specialized, but rather focus on providing a single, core experience
  • Components should NOT maintain more state than absolutely necessary
    • Likewise, stateless components should be favored whenever possible
  • Components should NOT necessarily implement the style guide point-for-point, the guide simply provides guidance on overarching functionality, components should enable that and product specific designs without baking in extra functionality

Code of Conduct

Read our code of conduct here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].