leafygreen-ui
leafygreen-ui copied to clipboard
PD-1969 improve menu event handling
✍️ Proposed changes
Adds a call to event.nativeEvent.stopPropagation()
on trigger click, preventing the native event from propagating, while still allowing the React synthetic event to bubble. This ensures clicks on the trigger do not close the menu in hybrid/multi-framework apps
🎟 Jira ticket: PD-1969
🛠 Types of changes
- [ ] Tooling (updates to workspace config or internal tooling)
- [x] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Style change (purely visual updates; if this is the case, attach a screenshot below!)
✅ Checklist
- [x] I have added tests that prove my fix is effective or that my feature works
- [ ] I have added necessary documentation (if appropriate)
- [x] I have run
yarn changeset
and documented my changes
- [ ] I have added my new package to the global tsconfig
- [ ] I have added my new package to the Table of Contents on the global README
🧪 How to test changes
💬 Further comments
Feedback Levels
Please try to mark your comments with one of these levels
- Praise (👏 🚀 🔥 🍾)
- Opinions, Ideas, Suggestions (💡 👀)
- Let’s discuss @ Code review (🤷 🤔 🧐 )
- Doesn’t meet agreed upon standards (😬 ⚠️ ‼️)
- Missing an edge case (🛑 🙅 ❌)
- Missing core functionality (⛔️ ☣️ 🚧 🌋 💀)
(Note: Use ⌘-⌃-␣ to open the Emoji keyboard!)
Size Change: +69 B (0%)
Total Size: 383 kB
Filename | Size | Change | |
---|---|---|---|
packages/menu/dist/index.js |
8.01 kB | +69 B (0%) |
ℹ️ View Unchanged
Filename | Size | Change | |
---|---|---|---|
packages/a11y/dist/index.js |
1.77 kB | 0 B | |
packages/badge/dist/index.js |
1.38 kB | 0 B | |
packages/banner/dist/index.js |
2.25 kB | 0 B | |
packages/box/dist/index.js |
701 B | 0 B | |
packages/button/dist/index.js |
4.71 kB | 0 B | |
packages/callout/dist/index.js |
1.93 kB | 0 B | |
packages/card/dist/index.js |
1.56 kB | 0 B | |
packages/checkbox/dist/index.js |
4.07 kB | 0 B | |
packages/code/dist/index.js |
9.9 kB | 0 B | |
packages/combobox/dist/index.js |
11.7 kB | 0 B | |
packages/confirmation-modal/dist/index.js |
2.6 kB | 0 B | |
packages/copyable/dist/index.js |
2.87 kB | 0 B | |
packages/emotion/dist/index.js |
557 B | 0 B | |
packages/expandable-card/dist/index.js |
2.57 kB | 0 B | |
packages/form-footer/dist/index.js |
1.35 kB | 0 B | |
packages/hooks/dist/index.js |
2.77 kB | 0 B | |
packages/icon-button/dist/index.js |
2.49 kB | 0 B | |
packages/icon/dist/ActivityFeed.js |
1.81 kB | 0 B | |
packages/icon/dist/AddFile.js |
1.59 kB | 0 B | |
packages/icon/dist/Apps.js |
1.27 kB | 0 B | |
packages/icon/dist/Array.js |
1.39 kB | 0 B | |
packages/icon/dist/ArrowDown.js |
1.51 kB | 0 B | |
packages/icon/dist/ArrowLeft.js |
1.52 kB | 0 B | |
packages/icon/dist/ArrowRight.js |
1.51 kB | 0 B | |
packages/icon/dist/ArrowUp.js |
1.51 kB | 0 B | |
packages/icon/dist/Beaker.js |
1.93 kB | 0 B | |
packages/icon/dist/Bell.js |
1.48 kB | 0 B | |
packages/icon/dist/Building.js |
1.46 kB | 0 B | |
packages/icon/dist/Bulb.js |
1.5 kB | 0 B | |
packages/icon/dist/Calendar.js |
1.47 kB | 0 B | |
packages/icon/dist/CaretDown.js |
1.34 kB | 0 B | |
packages/icon/dist/CaretLeft.js |
1.34 kB | 0 B | |
packages/icon/dist/CaretRight.js |
1.34 kB | 0 B | |
packages/icon/dist/CaretUp.js |
1.34 kB | 0 B | |
packages/icon/dist/Charts.js |
1.41 kB | 0 B | |
packages/icon/dist/Checkmark.js |
1.47 kB | 0 B | |
packages/icon/dist/CheckmarkWithCircle.js |
1.53 kB | 0 B | |
packages/icon/dist/ChevronDown.js |
1.44 kB | 0 B | |
packages/icon/dist/ChevronLeft.js |
1.44 kB | 0 B | |
packages/icon/dist/ChevronRight.js |
1.46 kB | 0 B | |
packages/icon/dist/ChevronUp.js |
1.44 kB | 0 B | |
packages/icon/dist/Clock.js |
1.49 kB | 0 B | |
packages/icon/dist/ClockWithArrow.js |
1.76 kB | 0 B | |
packages/icon/dist/Clone.js |
1.37 kB | 0 B | |
packages/icon/dist/Cloud.js |
1.54 kB | 0 B | |
packages/icon/dist/Code.js |
1.74 kB | 0 B | |
packages/icon/dist/Connect.js |
1.79 kB | 0 B | |
packages/icon/dist/Copy.js |
1.73 kB | 0 B | |
packages/icon/dist/CreditCard.js |
1.3 kB | 0 B | |
packages/icon/dist/CurlyBraces.js |
1.89 kB | 0 B | |
packages/icon/dist/Cursor.js |
1.43 kB | 0 B | |
packages/icon/dist/Database.js |
1.84 kB | 0 B | |
packages/icon/dist/Diagram.js |
1.51 kB | 0 B | |
packages/icon/dist/Diagram2.js |
1.51 kB | 0 B | |
packages/icon/dist/Diagram3.js |
1.5 kB | 0 B | |
packages/icon/dist/Disconnect.js |
1.73 kB | 0 B | |
packages/icon/dist/Download.js |
1.52 kB | 0 B | |
packages/icon/dist/Edit.js |
1.46 kB | 0 B | |
packages/icon/dist/Ellipsis.js |
1.37 kB | 0 B | |
packages/icon/dist/Export.js |
1.64 kB | 0 B | |
packages/icon/dist/Favorite.js |
1.6 kB | 0 B | |
packages/icon/dist/File.js |
1.41 kB | 0 B | |
packages/icon/dist/Filter.js |
1.39 kB | 0 B | |
packages/icon/dist/Folder.js |
1.31 kB | 0 B | |
packages/icon/dist/FullScreenEnter.js |
1.56 kB | 0 B | |
packages/icon/dist/FullScreenExit.js |
1.57 kB | 0 B | |
packages/icon/dist/GlobeAmericas.js |
1.51 kB | 0 B | |
packages/icon/dist/GovernmentBuilding.js |
1.55 kB | 0 B | |
packages/icon/dist/Home.js |
1.62 kB | 0 B | |
packages/icon/dist/ImportantWithCircle.js |
1.41 kB | 0 B | |
packages/icon/dist/index.js |
17.7 kB | 0 B | |
packages/icon/dist/InfoWithCircle.js |
1.44 kB | 0 B | |
packages/icon/dist/InviteUser.js |
1.73 kB | 0 B | |
packages/icon/dist/Key.js |
1.48 kB | 0 B | |
packages/icon/dist/Laptop.js |
1.52 kB | 0 B | |
packages/icon/dist/Link.js |
1.9 kB | 0 B | |
packages/icon/dist/Lock.js |
1.5 kB | 0 B | |
packages/icon/dist/MagnifyingGlass.js |
1.48 kB | 0 B | |
packages/icon/dist/Megaphone.js |
1.45 kB | 0 B | |
packages/icon/dist/Menu.js |
1.36 kB | 0 B | |
packages/icon/dist/Minus.js |
1.32 kB | 0 B | |
packages/icon/dist/NotAllowed.js |
1.43 kB | 0 B | |
packages/icon/dist/Note.js |
1.45 kB | 0 B | |
packages/icon/dist/OpenNewTab.js |
1.72 kB | 0 B | |
packages/icon/dist/Pause.js |
1.35 kB | 0 B | |
packages/icon/dist/Person.js |
1.51 kB | 0 B | |
packages/icon/dist/PersonGroup.js |
1.72 kB | 0 B | |
packages/icon/dist/PersonWithLock.js |
1.73 kB | 0 B | |
packages/icon/dist/Play.js |
1.35 kB | 0 B | |
packages/icon/dist/Plus.js |
1.37 kB | 0 B | |
packages/icon/dist/PlusWithCircle.js |
1.4 kB | 0 B | |
packages/icon/dist/QuestionMarkWithCircle.js |
1.76 kB | 0 B | |
packages/icon/dist/Redo.js |
1.69 kB | 0 B | |
packages/icon/dist/Refresh.js |
1.75 kB | 0 B | |
packages/icon/dist/Relationship.js |
1.46 kB | 0 B | |
packages/icon/dist/ReplicaSet.js |
1.61 kB | 0 B | |
packages/icon/dist/Save.js |
1.95 kB | 0 B | |
packages/icon/dist/Serverless.js |
1.6 kB | 0 B | |
packages/icon/dist/Settings.js |
2.03 kB | 0 B | |
packages/icon/dist/ShardedCluster.js |
1.98 kB | 0 B | |
packages/icon/dist/Shell.js |
1.52 kB | 0 B | |
packages/icon/dist/SortAscending.js |
1.56 kB | 0 B | |
packages/icon/dist/SortDescending.js |
1.55 kB | 0 B | |
packages/icon/dist/SplitHorizontal.js |
1.33 kB | 0 B | |
packages/icon/dist/SplitVertical.js |
1.33 kB | 0 B | |
packages/icon/dist/Stitch.js |
1.37 kB | 0 B | |
packages/icon/dist/Support.js |
1.56 kB | 0 B | |
packages/icon/dist/Sweep.js |
1.58 kB | 0 B | |
packages/icon/dist/Table.js |
1.36 kB | 0 B | |
packages/icon/dist/TimeSeries.js |
1.71 kB | 0 B | |
packages/icon/dist/Trash.js |
1.39 kB | 0 B | |
packages/icon/dist/Undo.js |
1.69 kB | 0 B | |
packages/icon/dist/University.js |
1.88 kB | 0 B | |
packages/icon/dist/Unlock.js |
1.57 kB | 0 B | |
packages/icon/dist/Unsorted.js |
1.61 kB | 0 B | |
packages/icon/dist/UpDownCarets.js |
1.46 kB | 0 B | |
packages/icon/dist/Upload.js |
1.66 kB | 0 B | |
packages/icon/dist/VerticalEllipsis.js |
1.38 kB | 0 B | |
packages/icon/dist/Visibility.js |
1.69 kB | 0 B | |
packages/icon/dist/VisibilityOff.js |
2.08 kB | 0 B | |
packages/icon/dist/Warning.js |
1.46 kB | 0 B | |
packages/icon/dist/X.js |
1.49 kB | 0 B | |
packages/icon/dist/XWithCircle.js |
1.44 kB | 0 B | |
packages/inline-definition/dist/index.js |
1.26 kB | 0 B | |
packages/interaction-ring/dist/index.js |
2.23 kB | 0 B | |
packages/leafygreen-provider/dist/index.js |
1.66 kB | 0 B | |
packages/lib/dist/index.js |
1.54 kB | 0 B | |
packages/logo/dist/index.js |
43.6 kB | 0 B | |
packages/marketing-modal/dist/index.js |
3.65 kB | 0 B | |
packages/modal/dist/index.js |
4 kB | 0 B | |
packages/palette/dist/index.js |
771 B | 0 B | |
packages/pipeline/dist/index.js |
5.58 kB | 0 B | |
packages/popover/dist/index.js |
4.92 kB | 0 B | |
packages/portal/dist/index.js |
1.08 kB | 0 B | |
packages/radio-box-group/dist/index.js |
2.99 kB | 0 B | |
packages/radio-group/dist/index.js |
3.73 kB | 0 B | |
packages/ripple/dist/index.js |
1.05 kB | 0 B | |
packages/segmented-control/dist/index.js |
5.35 kB | 0 B | |
packages/select/dist/index.js |
9.07 kB | 0 B | |
packages/side-nav/dist/index.js |
7 kB | 0 B | |
packages/stepper/dist/index.js |
3.67 kB | 0 B | |
packages/table/dist/index.js |
7.24 kB | 0 B | |
packages/tabs/dist/index.js |
4.21 kB | 0 B | |
packages/testing-lib/dist/index.js |
1.6 kB | 0 B | |
packages/text-area/dist/index.js |
2.72 kB | 0 B | |
packages/text-input/dist/index.js |
4.44 kB | 0 B | |
packages/toast/dist/index.js |
3.13 kB | 0 B | |
packages/toggle/dist/index.js |
3.76 kB | 0 B | |
packages/tokens/dist/index.js |
847 B | 0 B | |
packages/tooltip/dist/index.js |
4.24 kB | 0 B | |
packages/typography/dist/index.js |
4.63 kB | 0 B |