Giter VIP home page Giter VIP logo

carbon-design-system / ibm-products Goto Github PK

View Code? Open in Web Editor NEW
84.0 18.0 117.0 1.22 GB

A Carbon-powered React component library for IBM Products

Home Page: https://carbon-for-ibm-products.netlify.app/

License: Apache License 2.0

JavaScript 77.16% SCSS 11.78% Shell 0.03% HTML 0.08% MDX 2.35% TypeScript 8.60% Dockerfile 0.01%
carbon-design-system javascript scss ibm-cloud-cognitive ibm-products hacktoberfest

ibm-products's Introduction

Carbon for IBM Products

Carbon for IBM Products is an open source implementation of the closed source IBM Software pattern asset library (PAL). These PAL designs build on the foundation of IBM’s open source Carbon Design System and React implementation to offer components and patterns beyond the typical component library. Carbon for IBM Products was previously known as Carbon for Cloud and Cognitive, and this name can still be encountered in various places and historical logs.

All Contributors Licensed under the Apache License, Version 2.0 Build status Netlify status GitHub Lerna version PRs welcome

πŸš€ Getting started

If you’re just getting started and looking to browse our React components, take a look at our Storybook.

All of our source code and documentation, including this readme, can be found on our GitHub repo, which is also the place to open issues if you have a problem or find a defect or would like to request a new feature or change something.

If you have access to the IBM Slack workspaces, join our Slack channel where you can ask questions, report problems, and get help from the team and from other users.

This project consists of a number of component library packages published on npm:

Package name Description
@carbon/ibm-products A curated set of components and patterns, built on top of Carbon and designed by the Carbon for IBM Products team
@carbon/ibm-cloud-cognitive-cdai (v1 only) Legacy and non-curated design implementations used in application integration
@carbon/ibm-security (v1 only) Legacy and non-curated design implementations used in security

Also the following additional utility packages are published on npm:

Package name Description
@carbon/storybook-addon-theme A storybook addon enabling Carbon theme switching

The remaining packages are part of our project infrastructure and are not published on npm.

Version support

Carbon 11 support is introduced in Carbon for IBM Products v2 Carbon 11

Package name Carbon package React version
@carbon/ibm-products @carbon/react 18, 17, 16

The following packages support Carbon 10 and are considered v1 Carbon 10 packages.

Package name Carbon package React version
@carbon/ibm-products
@carbon/ibm-cloud-cognitive-cdai
@carbon/ibm-security
carbon-components-react
carbon-components
@carbon/icons-react
@carbon/icons
@carbon/colors
@carbon/elements
etc
17, 16

If you’d like to learn more about migrating from Carbon 10 to Carbon 11, please see the Carbon v11 migration guide (which includes codemods via @carbon/upgrade) and the Carbon for IBM Products v2 migration guide.

πŸ™Œ Contributing

This project is made possible by several community members who have invested their precious time to give back to the Carbon community. It will continue to be possible by having those that benefit from the package contribute back to it.

So, do not be shy. We both depend on and appreciate contributors, new and old, who help us fix bugs, build new features, improve our documentation, etc.

This repository is a monorepo and contains multiple packages so be sure to check the relevant package for any package-specific guidance.

Read also our Contributing Guide and Carbon’s Developer Handbook! πŸ‘€

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Simon Finney
Simon Finney

πŸ’»
Lee Chase
Lee Chase

πŸ’» πŸ’‘ πŸ‘€ πŸš‡
Simon Moore
Simon Moore

πŸ’»
Josh Black
Josh Black

πŸ’»
David Menendez
David Menendez

πŸ’» πŸ‘€ ️️️️♿️
vladbalanescu
vladbalanescu

πŸ’»
Matthew Gallo
Matthew Gallo

πŸ’» πŸš‡ πŸ‘€
Matt Chapman
Matt Chapman

πŸ’»
Dominik Brugger
Dominik Brugger

πŸ’»
Polina Olemskaia
Polina Olemskaia

πŸ’»
Alexander Melo
Alexander Melo

πŸ’»
Ratheesh Rajan
Ratheesh Rajan

πŸ’» πŸ‘€
Jan Hassel
Jan Hassel

πŸ’» ️️️️♿️
marion-bruells
marion-bruells

🎨
Jagath Jayakumar
Jagath Jayakumar

πŸ’»
Laura Marshall
Laura Marshall

🎨
Drew Glapa
Drew Glapa

πŸ’»
Lily
Lily

πŸ’»
Marienella Gallo
Marienella Gallo

πŸ’»
Shelley Dignum
Shelley Dignum

🎨
Sam Ting
Sam Ting

️️️️♿️ 🎨
Paul Balchin
Paul Balchin

πŸ’»
Jeff Longshore
Jeff Longshore

πŸ’»
Krista Starr
Krista Starr

️️️️♿️ πŸ’»
Mike Olasov
Mike Olasov

🎨
PUNNOOSE WILSON
PUNNOOSE WILSON

πŸ’»
SeonyuK
SeonyuK

️️️️♿️ πŸ’»
Elysia
Elysia

πŸ’» πŸš‡ πŸ‘€
Afsal K
Afsal K

πŸ’»
Nandan Devadula
Nandan Devadula

πŸ’»
Anamika T S
Anamika T S

πŸ’»
Sinta Augustine
Sinta Augustine

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

πŸ“ License

Licensed under the Apache-2.0 License.

This site is powered by Netlify

ibm-products's People

Contributors

alexandermelox avatar allcontributors[bot] avatar amal-k-joy avatar anamikaanu96 avatar asfordmatt avatar davidmenendez avatar dbrugger avatar dcwarwick avatar dependabot[bot] avatar devadula-nandan avatar elycheea avatar github-actions[bot] avatar glapadre avatar jagathgj avatar janhassel avatar jlongshore avatar joshblack avatar kodiakhq[bot] avatar lee-chase avatar lizisawizard avatar makafsal avatar matthewgallo avatar moores2 avatar paul-balchin-ibm avatar punnoosewilson avatar ratheeshrajan avatar seonyuk avatar simonfinney avatar szinta avatar vladbalanescu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ibm-products's Issues

Remove

Catalog # 18

Link to Design

View remove implementation

This may have working code, check with Vikki Paterson.

Maintainer
Vikki Paterson

Tasks

  • Initial review of design/existing code

Working in experimental package

  • Create a shell component which
    • Create ComponentName/ComponentName.js component file that renders props
      in raw form (no styling or sub components, plain text OK)
    • Adds prop-types with comments for DocGen to
      ComponentName/ComponentName.js
    • Add Doc file e.g. ComponentName.mdx with a brief description of the
      component.
  • First engineering review/playback

Continuing in experimental package

  • Storybook - stories to cover design scenarios, story with long, min and
    max content, etc
  • Doc tab in storybook derived from design docs with embedded stories where
    appropriate
  • Code to include prop-types with comments for automated DocGen
    documentation
  • Tests (written in React Test Library) to cover behavior from the
    documented in the components mdx file.

Review and promote

  • Design review
  • Add design review issues addressed, issues raised or discounted.
  • Engineering review - Submit PR to promote component to production package
  • All engineering issues addressed, issues raised or discounted.

End-to-end testing

Summary

Discussion around how end-to-end testing could work across Cloud Pak components packages.

Create Flows

Catalog # 5

Link to Design (not updated yet)
Link to interim design docs

Maintainers:
Andrew Smith, @Andrea-gm

Dev:
NOTE: Tearsheets are a separate issue. There are separate issues for each form of 'Create'.

Tasks

  • Initial review of design/existing code

Working in experimental package

  • Create a shell component which
    • Create ComponentName/ComponentName.js component file that renders props
      in raw form (no styling or sub components, plain text OK)
    • Adds prop-types with comments for DocGen to
      ComponentName/ComponentName.js
    • Add Doc file e.g. ComponentName.mdx with a brief description of the
      component.
  • First engineering review/playback

Continuing in experimental package

  • Storybook - stories to cover design scenarios, story with long, min and
    max content, etc
  • Doc tab in storybook derived from design docs with embedded stories where
    appropriate
  • Code to include prop-types with comments for automated DocGen
    documentation
  • Tests (written in React Test Library) to cover behavior from the
    documented in the components mdx file.

Review and promote

  • Design review
  • Add design review issues addressed, issues raised or discounted.
  • Engineering review - Submit PR to promote component to production package
  • All engineering issues addressed, issues raised or discounted.

Code styling

Summary

Discussion around how code styling could work across Cloud Pak components packages, and what best practices are available to be leveraged from Carbon.

  • Code design and style decisions
  • Linting and rules - eslint / stylelint configuration
  • Formatting - Tabs versus spaces, Prettier configuration?

Edit

Catalog # 6

Link to Design

Maintainers
Vikki Paterson, Chloe Poulter

Tasks

  • Initial review of design/existing code

Working in experimental package

  • Create a shell component which
    • Create ComponentName/ComponentName.js component file that renders props
      in raw form (no styling or sub components, plain text OK)
    • Adds prop-types with comments for DocGen to
      ComponentName/ComponentName.js
    • Add Doc file e.g. ComponentName.mdx with a brief description of the
      component.
  • First engineering review/playback

Continuing in experimental package

  • Storybook - stories to cover design scenarios, story with long, min and
    max content, etc
  • Doc tab in storybook derived from design docs with embedded stories where
    appropriate
  • Code to include prop-types with comments for automated DocGen
    documentation
  • Tests (written in React Test Library) to cover behavior from the
    documented in the components mdx file.

Review and promote

  • Design review
  • Add design review issues addressed, issues raised or discounted.
  • Engineering review - Submit PR to promote component to production package
  • All engineering issues addressed, issues raised or discounted.

Release management

Summary

Discussion around how release management could work across Cloud Pak components packages, and what best practices are available to be leveraged from Carbon.

Questions

Lerna versus semantic-release

Page Header

Issue description

Catalog # 16

Design maintainer: Cameron Calder
Dev maintainer: Lee Chase

Link to Design
Replace existing design with new design below

Link to Design Issue

Working code

View page header implementation

Implementation tasks

  • Evaluate existing components. Is it a good starting point for the new header.
  • Boolean property to control background appearance
  • Breadcrumb and action bar (optional, jsx) - Array of BreadcrumbItem
  • Title (optional, prop string 56) and Actions (optional, jsx)
  • Subtitle/description area (string, optional)
  • Available space (optional, jsx)
  • Tabs / Content switcher (optional slot, jsx) (story to include content of tabs)
  • Stories (1 story per every design example)
  • Tests
    • Convert tests to React Test Library
  • Documentation
    • Fix scroll behaviour in Doc page.
  • Outstanding issues:
    • No easing when the primary action buttons jump to action bar during scrolling.
    • Primary action buttons possibly jump too early - perhaps they should jump just as they hit the action bar and not before.
    • In this story when you scroll the tags off the page it leaves too much whitespace below the primary page action buttons.
    • The title wraps and it should not.
    • The title should be limited to 56 chars and truncated and an ellipse added if it's longer that that, with the full text in the browser hover tooltip. Could be hard because of localisation.

Review items

  • Ready for initial review.
  • Fix background color on load (maybe use ResizeObserver package)
  • Review responsive behaviour.

Design review

  • Ensure spacing between type and objects matches spacing tokens used in design specs under the Structure section below
  • Tabs should be offset 16 to the left so the type in the tabs aligns with the Page title
  • 'Without Background BreadcrumbItems Title' shouldn't load with a background
  • Breadcrumbs font should be size $label-01
    Artboard Copy
  • When the page header with no background transitions to the condensed breadcrumb bar, fade the background in with the speed of the scroll instead of the hard cut in
  • When there is an Actionbar visible, wait until after the buttons scrolls under the Actionbar to animate in the buttons within the Actionbar area. Button fade animation should be: button fade-in & fade-out transition = motion(entrance, productive) / cubic-bezier(0, 0, 0.38, 0.9) $transitionβ€”base
  • Divider line underneath the Actionbar should extend the full width
  • 'With Background Breadcrumbitems Actionbar': Should include the 'Page title' at the end of the breadcrumb
  • 'Long Values And Many Items': Match guidance for 'Page lengths' and 'Responsive behavior'
  • If there is no page header background, there should be a $layout-03 spacer between the page title and the page content
    Artboard
  • When it’s just the breadcrumb and no breadcrumb/action bar, it should be $spacing-02 between the breadcrumbs and the page title
    Artboard Copy 3
  • Remove the With Background Breadcrumbitems Title Pageactions Content Switcher example. Upon further discussion with designers across the org, the content switcher is not a component we want to advertise as proper within the page header.
  • The space between the status & page content should be $layout-03
    Artboard Copy 6
  • With Background Breadcrumbitems Title Pageactions Tags: Tags are offset from the left. The space between the title and tags should also be $spacing-05
    Artboard Copy 7
  • With Background Breadcrumbitems Title Pageactions Summarydetails Tabs: If the control is set to keepBreadcrumbAndTabs=true then include the divider line between the breadcrumbs & tabs when they meet on scroll
    Artboard Copy 8
  • With Background Breadcrumbitems Actionbar Title Pageactions Tabs Tags: Slow down the duration of the button that animates into the breadcrumb bar on scroll. It's currently too fast. Try ~240-300ms

TODO:

  • Breadcrumb with overflow
  • ActionBarItems with overflow
  • Tags component not quite complete. (Alignment and show all)

Questions

  1. What size/type of "available content" filling can we have?

Update `README` for awareness

Today, the packages being hosted here are:

  • Automation
  • CD & AI
  • Security
  • Bedrock services ->common services

I think we should add these to the common README for others awareness.

Originally posted by @ericabr in #3 (comment)

Storybook deploy

Description

Set up Storybook deploy to reflect the master branch.

Side panel

Catalog # 21

Link to Design

See also
https://pages.github.ibm.com/ibmcloud/pal/components/side-panel/usage/

Tasks

  • Initial review of design/existing code

Working in experimental package

  • Create a shell component which
    • Create ComponentName/ComponentName.js component file that renders props
      in raw form (no styling or sub components, plain text OK)
    • Adds prop-types with comments for DocGen to
      ComponentName/ComponentName.js
    • Add Doc file e.g. ComponentName.mdx with a brief description of the
      component.
  • First engineering review/playback

Continuing in experimental package

  • Storybook - stories to cover design scenarios, story with long, min and
    max content, etc
  • Doc tab in storybook derived from design docs with embedded stories where
    appropriate
  • Code to include prop-types with comments for automated DocGen
    documentation
  • Tests (written in React Test Library) to cover behavior from the
    documented in the components mdx file.

Review and promote

  • Design review
  • Add design review issues addressed, issues raised or discounted.
  • Engineering review - Submit PR to promote component to production package
  • All engineering issues addressed, issues raised or discounted.

Accessibility testing

Summary

Discussion around how accessibility testing could work across Cloud Pak components packages.

Toolbar

Catalog # 25

Link to Design

Update Carbon design

Made a start here, not actively working on

Maintainer
Myriam Battelli

Tasks

  • Initial review of design/existing code

Working in experimental package

  • Create a shell component which
    • Create ComponentName/ComponentName.js component file that renders props
      in raw form (no styling or sub components, plain text OK)
    • Adds prop-types with comments for DocGen to
      ComponentName/ComponentName.js
    • Add Doc file e.g. ComponentName.mdx with a brief description of the
      component.
  • First engineering review/playback

Continuing in experimental package

  • Storybook - stories to cover design scenarios, story with long, min and
    max content, etc
  • Doc tab in storybook derived from design docs with embedded stories where
    appropriate
  • Code to include prop-types with comments for automated DocGen
    documentation
  • Tests (written in React Test Library) to cover behavior from the
    documented in the components mdx file.

Review and promote

  • Design review
  • Add design review issues addressed, issues raised or discounted.
  • Engineering review - Submit PR to promote component to production package
  • All engineering issues addressed, issues raised or discounted.

Epic Order/Plan

Beginning

  • Toolbar items that do not go into overflow (see design). #822
  • Toolbar item search behaviour. #824
  • Toolbar item #814
  • Toolbar item dropdown container #817
  • Toolbar group contains items #815
  • Toolbar item - pre-canned sets? #825
  • Toolbar item toggle button e.g. bold #826

Middle

  • Toolbar item horizontal options (text align) #821
  • Toolbar responsive behaviour to be defined #816
  • Toolbar item front size picker behaviour #820
  • Toolbar item color picker behaviour #818

End

  • Docked toolbar -works with page header #809
  • Toolbar docking, floating behaviour, orientation #806
  • Toolbar state e.g. docking position #807
  • Toolbar context data mechanism #808
  • Toolbar positioning in the grid, full width, or side to side #823
  • Toolbar action preview #810
  • Docked toolbar #813
  • Floating toolbar #811

Empty states

Catalog # 7

Link to Design

Maintainer
Vikki Paterson

Dev Maintainer
@matthewgallo

https://github.com/carbon-design-system/ibm-cloud-paks/projects/2#card-45884682

View empty states implementation

Tasks

  • Initial review of design/existing code

Working in experimental package

  • Create a shell component which
    • Create ComponentName/ComponentName.js component file that renders props in raw form (no styling or sub components, plain text OK)
    • Adds prop-types with comments for DocGen to ComponentName/ComponentName.js
    • Add Doc file e.g. ComponentName.mdx with a brief description of the component.
  • First engineering review/playback

Continuing in experimental package

  • Storybook - stories to cover design scenarios, story with long, min and
    max content, etc
  • Doc tab in storybook derived from design docs with embedded stories where
    appropriate
  • Code to include prop-types with comments for automated DocGen
    documentation
  • Tests (written in React Test Library) to cover behavior from the documented in the components mdx file.

Review and promote

  • Design review
  • Add design review issues addressed, issues raised or discounted.
  • Engineering review - Submit PR to promote component to production package
  • All engineering issues addressed, issues raised or discounted.

Import

Link to design

Maintainers: Vikki Paterson , Chloe Poulter

Dev Maintainer: @davidmenendez

Catalog number: 12

Tasks

  • Initial review of design/existing code

Release reviewer(s)

Working in experimental package

  • Create a shell component which
    • Create ComponentName/ComponentName.js component file that renders props
      in raw form (no styling or sub components, plain text OK)
    • Adds prop-types with comments for DocGen to
      ComponentName/ComponentName.js
    • Add Doc file e.g. ComponentName.mdx with a brief description of the
      component.
  • First engineering review/playback

Continuing in experimental package

  • Storybook - stories to cover design scenarios, story with long, min and
    max content, etc
  • Doc tab in storybook derived from design docs with embedded stories where
    appropriate
  • Code to include prop-types with comments for automated DocGen
    documentation
  • Tests (written in React Test Library) to cover behavior from the
    documented in the components mdx file.

Review and promote

  • Design review
  • Add design review issues addressed, issues raised or discounted.
  • Engineering review - Submit PR to promote component to production package
  • All engineering issues addressed, issues raised or discounted.

Define CODEOWNERS and teams

Summary

Identify and define CODEOWNERS and teams for design and development to automatically assign for PRs.

Testing

Summary

Discussion around how testing could work across Cloud Pak components packages, to ensure continued confidence in something working as designed and implemented, and what best practices are available to be leveraged from Carbon and other teams - For example:

  • Accessibility
  • End-to-end - Cypress
  • Unit

Add github pages

Need to add github pages to the build

  • needs to contain the collective story book for all packages
  • needs to be updated when the build is done with the changes from the packages

Unit testing

Acceptance criteria

Primary

  • Basic Jest and React Testing Library configuration
  • Testing suite should run on each build

Secondary

Documentation

  • Links for guidance on behavioural testing and configuration
  • Test structure
  • Examples

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.