oscal-react-library
oscal-react-library copied to clipboard
Create a consistent way of displaying lists of controls
Description
As a developer using the OSCAL React Library, I want a consistent way to create lists of controls.
Currently we have three different ways to display lists of controls for Catalogs, Profiles, & Component Definitions. The props being passed to the controls in these lists also varies drastically. Some controls are editable and some controls are nested within accordions and need props for anchor links. Deciding which control list to use where is confusing and it takes a large amount of work to make any changes that spans across all types of control lists.
Acceptance Criteria
- All places where we list controls is considered and either uses new generic control list or an explanation of why that is not possible is provided.
- Profile
- SSP
- Component Defintion
- Catalog Groups
- Catalog Controls
- A component to display a list of controls is created (or used everywhere if there is one already available).
Proposed Solution
OSCALCatalogControlListItem could be a good starting point to consider. Using an accordion helps clean up the list of controls quite a bit. Ideally, some of OSCALCatalogGroup(s) would be rewritten as part of this to decouple group lists from control lists.
Additional Notes
No response
### Tasks
- [ ] https://github.com/EasyDynamics/oscal-react-library/issues/818
At least Profiles and a Catalog with only controls should look almost identical.
@tuckerzp to create a prequel ticket for design and analysis. Will work with Emily on the design and evaluate impact of applying design consistently across all control presentations.
This ticket will be re-worked to focus on implementing the design created by the prequel ticket.