• 
      

    Add better support for custom elements in menu items.

    Review Request #13678 — Created March 28, 2024 and submitted

    Information

    Ink
    master

    Reviewers

    The original menu implementation allowed for a childEl to be passed
    in, containing a custom element to render in the menu item. This item
    took precedence over the "inner" part of the menu item, but this meant
    that the implementation just had to duplicate that or risk breaking both
    styling and events.

    This is now applied inside the "label" area instead. That fixes styling
    issues, allows for icons and shortcuts alongside a custom element, and
    gives the implementation free reign to put whatever they want in an item
    without breaking things.

    While fixing this, I found that custom child elements couldn't be
    provided during crafting. This is now accepted as a valid option on the
    subcomponent.

    Unit tests pass.

    Summary ID
    Add better support for custom elements in menu items.
    The original menu implementation allowed for a `childEl` to be passed in, containing a custom element to render in the menu item. This item took precedence over the "inner" part of the menu item, but this meant that the implementation just had to duplicate that or risk breaking both styling and events. This is now applied inside the "label" area instead. That fixes styling issues, allows for icons and shortcuts alongside a custom element, and gives the implementation free reign to put whatever they want in an item without breaking things. While fixing this, I found that custom child elements couldn't be provided during crafting. This is now accepted as a valid option on the subcomponent.
    70f2c1be38a554d5e98ace2e73f1c31ade61ffe2
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (60461de)