Skip to content

Chore(docs): Add composable structure section and component descriptions to documentation #7010

@tlabaj

Description

@tlabaj

Describe the issue. What is the expected and unexpected behavior?
Consider adding a "General intended structure" section to documentation for more compassable components, and add descriptions for sub-components in the "Props" section to provide more details on their use-cases.

For sub-component descriptions, we should consider ensuring that any sub-components used in examples/exported for consumer use are added to the "Props" section. For example, Application Launcher has examples using ApplicationLauncherSeparator, but that is not included in the props section of the component page. Note: this will cause an issue for sub-components that do not export a props interface, as an empty table will be rendered to that section of the component page.

Additionally, we should align on when to include other components on a page's "Props" section. The Login Page component, for example, uses List and ListItem in some examples, but does not include the props table for them. The Alert Group component on the other hand includes the Alert props table.

e.g.
General intended structure
File upload - multiple is designed in a composable manner to maximize flexibility. The general intended component relationships are arranged similarly to:

See #7603 for working examples

Is this a bug or enhancement? If this issue is a bug, is this issue blocking you or is there a work-around?
enhancement

Needs only sub-component descriptions:

Needs both "composable structure" and sub-component descriptions:

  • Accordion
  • Action list
  • Alert group (currently the alert group page includes Alert specific components in the "Props" section)
  • Application launcher (partially composable)
  • Breadcrumb
  • Card
  • Clipboard copy (currently the component page includes ClipboardCopyButton in the "Props" section, but the component isn't used in any examples. If we want to keep this, it may be worth considering whether any other sub-components should be exposed on all components)
  • Chip group (currently the chip group page includes the Chip component in the "Props" section)
  • Code block
  • Context selector
  • Data list
  • Description list
  • Drag and drop (wait for Nicole to provide feedback)
  • Drawer
  • Dropdown (partially composable)
  • Dual list selector - add composable structure section and component descriptions #7692
  • Empty state
  • Form
  • Form select
  • Helper text
  • Hint
  • Input group
  • Jump links
  • Label group (currently the label group page includes the Label component in its "Props" section)
  • List
  • Login page
  • Masthead
  • Menu
  • Multiple File Upload - add composable structure section and component descriptions #7691
  • Navigation
  • Notification drawer
  • Options menu (partially composable)
  • Overflow menu
  • Page
  • Panel
  • Progress stepper
  • Select (partially composable)
  • Sidebar
  • Simple list
  • Table Composable (because of the different variants of a table, the structure section may need to be split up to several different ones)
  • Table Legacy (could arguably only require sub-component descriptions, but since examples show the TableHeader inside of Table it might be good to include some sort of "intended structure" section/mention)
  • Tabs
  • Text
  • Text input group
  • Toggle group
  • Toolbar

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions