Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Summary
This pull request includes several changes to enhance the functionality and styling of the context menu component. The most significant updates involve the addition of animations for menu exit and item click events, as well as the introduction of new props and states to manage these animations.
Enhancements to Context Menu Component:
src/components/ContextMenu.tsx
: AddedanimateExit
prop andleaving
state to handle exit animations. Updated thehide
method to trigger the exit animation ifanimateExit
is true. IncludedonAnimationEnd
handler to reset states after animation. [1] [2] [3] [4]src/components/MenuItem.tsx
: IntroducedMenuItemExternalProps
andMenuItemState
interfaces to manage click animations. AddedonAnimationEnd
handler to hide the menu and trigger theonClick
event after animation. [1] [2]Styling Updates:
src/styles.css
: Added keyframe animations for context menu exit and menu item click events. Updated styles to apply these animations. [1] [2] [3]Utility Function Changes:
src/utils.ts
: ModifiedcloneChildren
function to accept and passMenuItemExternalProps
to cloned elements. [1] [2]Other Changes:
app/main.tsx
: Updated the import path for the main CSS file.package.json
: Changed thestart
script to usenpm run start
instead ofparcel
.