Summary
Create `` to implement the PatternFly v6 Menu toggle component.
Toggle button that opens and closes a menu. Supports plain, default, primary, and split button variants.
Prior Art
| Source |
Element |
Status |
| PFE v4 |
-- |
-- |
| cem |
-- |
-- |
| cockpit |
-- |
-- |
| chickadee |
-- |
-- |
Requirements
- MUST implement PFv6 visual designs
- MUST provide end-user feature parity with `@patternfly/react-core` MenuToggle
- MAY adjust element API to leverage web platform strengths
- SHOULD maintain CSS custom property theming compatibility
- SHOULD expose useful CSS shadow parts
Element-specific considerations
- React `variant`: `default`, `plain`, `plainText`, `primary`, `secondary` - map to `variant` attribute
- React `isExpanded` - drives `aria-expanded` and chevron direction; map to `expanded` attribute
- React `isFullWidth`, `isFullHeight` - layout attributes; map to boolean attributes
- React `isDisabled` - disables the toggle button
- React `icon` - leading icon (slot); `badge` - notification badge (slot)
- React `status`: `success`, `warning`, `danger` - status icon + color variant
- Split button variant: `splitButtonOptions` - renders a checkbox/action button beside the toggle arrow; complex, verify v6 scope
- `aria-expanded` must be set; `aria-haspopup` should reflect menu type (`"menu"`, `"listbox"`, `"tree"`, etc.)
- Chevron icon rotates on `isExpanded`; use CSS transform
Checklist
Implementation
Demos
Tests
Reviews
Ship
Summary
Create `` to implement the PatternFly v6 Menu toggle component.
Toggle button that opens and closes a menu. Supports plain, default, primary, and split button variants.
Prior Art
Requirements
Element-specific considerations
Checklist
Implementation
Demos
Tests
Reviews
Ship