carbon-design-system / ibm-products

A Carbon-powered React component library for IBM Products
https://carbon-for-ibm-products.netlify.app/
Apache License 2.0
87 stars 126 forks source link

Explore: Add and select #5325

Open oliviaflory opened 1 month ago

oliviaflory commented 1 month ago

Documentation page Storybook

We need to have a better understanding of the current Add and select pattern in order to determine if it is a component, pattern or guidance based on the new definitions.

Note: David seems to know a lot about AddSelect, reach out to him for questions! Look up the designer on the Airtable – Oliver Kauselmann

Definitions

Component

An asset that has been designed and coded

Pattern

Something that can be accomplished in multiple ways utilizing a combination of component(s) with additional design considerations (a recipe of components)

Guidance

Overarching direction or instruction that can be applied across an entity


Tasks

RichKummer commented 4 days ago

Review of Add & select

Add & select is currently under Patterns, but we need to see if this still holds true with the new Component and Pattern changes. Note that Add here does not mean creating a net new database item, it means to add an existing one (different from Create).

Questions to be answered

Question: Does Add & select have coded assets (making them a component)?

  1. YES, Add & Selecthave code living in Storybook.
  2. We maintain two coded variations: MultiAddSelect for complex or hierarchical add/select and SingleAddSelect for single or simpler add/select.

Question: Are there multiple ways to utilize Add & select (making them a pattern)?

  1. The entrypoint for Add & select can vary: Select is usually started with a button, Add is usually started when a user clicks an Add button.
  2. The rest of the flow takes place in a tearsheet, but can be wide or narrow. Wide is useful for when the user needs to find multiple items in a hierarchy, or sometimes in single-select flows if selecting an item requires further steps/context. Narrow is useful in a select flow if the user is selecting one item and the list is simpler.
  3. Tearsheets can display hierarchies or lists, can enable users to select single or multiple items, can display with modifiers or with avatars. There are a host of options to customize.
  4. YES, I think this satisfies the "multiple ways", even if it is using a tearsheet as the only component for the majority of the flow.

Recommendations

Other considerations