## Summary Create \`<pf-v6-menu-toggle>\` to implement the PatternFly v6 [Menu toggle](https://www.patternfly.org/components/menus/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 - [ ] API per \`.claude/ADVICE.md\` - [ ] CSS uses v6 tokens, logical properties, nesting - [ ] \`@summary\` and JSDoc on element class ### Demos - [ ] Demos match patternfly.org naming/structure - [ ] CSS custom properties match computed styles from patternfly.org (Chrome MCP) - [ ] Visual parity verified via Chrome MCP ### Tests - [ ] Public API covered (attributes, properties, events, slots) - [ ] \`a11ySnapshot\` assertions ### Reviews - [ ] \`/review-api\` passes - [ ] \`/review-demos\` passes - [ ] \`/review-a11y\` passes - [ ] \`eslint\` and \`stylelint\` pass ### Ship - [ ] Add changeset - [ ] PR targets \`staging/pfv6\` (NOT \`main\`)
Activity