patternfly / patternfly/patternfly-react
Chore(docs): Add composable structure section and component descriptions to documentation
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 862
- Forks
- 392
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 9
Description
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:
-
#7973
-
#7978
-
#8105
-
Wizard
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)
-
#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
-
#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
TableHeaderinside ofTableit might be good to include some sort of "intended structure" section/mention) -
Tabs
-
Text
-
Text input group
-
Toggle group
-
Toolbar
Jira Issue: PF-187
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the component documentation pages listed in the issue and review the examples, existing Props sections, and the working examples in #7603. Align on which sub-components belong in Props and which pages need a general intended structure section, then update the unchecked component pages and verify that examples and descriptions are consistently documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100