Repository navigation
Release 2.1.0: context-menu actions, grow-from-item peek, theming, Expo SDK 58 - #3
Merged
Merged
Conversation
- Dev stack and example app on Expo SDK 58: React Native 0.88, React 19.3, Reanimated 4.7, worklets 0.13, Gesture Handler 3.3, safe-area 5.11. - Jest uses @react-native/jest-preset (RN 0.88 no longer ships a root preset). - Declare __DEV__ locally; RN 0.88's bundled types stopped declaring it. - Replace react-native-portalize (unmaintained since 2022) with a small in-house overlay rendered by PreviewProvider. The headless QuickPreviewComponent portals into it. One less peer dependency for users. - Tighten the react-native peer range to >=0.72 (what Reanimated 3+ and Gesture Handler 2+ actually require). - CI drops Node 20 (EOL; RN 0.88 tooling needs >=22.13). - Example: add @expo/vector-icons (no longer transitive in SDK 58) and fix the tab icon color type.
- actions: [{ title, onPress, icon?, destructive?, disabled? }] renders a menu
under the popover or at the bottom of the sheet, on iOS and Android.
Pressing an action closes the preview, then runs it.
- origin: the popover grows out of the pressed item's window rect.
QuickPreviewPressable measures the item automatically (animateFromItem,
default true) and takes an `actions` shorthand prop.
- colorScheme ('light' | 'dark' | 'system'), containerStyle, backdropColor
and renderBackdrop (e.g. a blur). Default stays light.
- PreviewProvider defaultOptions for app-wide defaults; present() options
override them.
- Export QuickPreviewAction, QuickPreviewColorScheme, QuickPreviewOrigin.
- Tests for actions, theming, custom backdrop, the morph fallback,
defaultOptions and the in-house overlay.
Open post, Share, Copy link and a destructive Report action, so the flagship demo shows the peek + menu on both platforms.
…docs - New pitch: "the iOS long-press peek, on Android too". - "How it compares" table vs Expo Router Link.Preview, zeego / ios-context-menu and @gorhom/bottom-sheet. - Sections for context-menu actions, grow-from-item and theming; API table and exports updated. - Install is three peers now (portalize removed); requirements, compatibility and limitations updated for SDK 58 / Gesture Handler 3. - npm description and keywords lead with iOS + Android, context menu.
Bump the package to 2.1.0 and add the changelog entry. Everything is additive; removing the portalize peer dependency doesn't break anything for apps that still have it installed.
Three exact thirds of the window width can sum past the row after layout rounding, wrapping the third tile onto the next line (seen on a 1080px Android screen). Same fix for the two-column shop grid.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What's new
actions: [{ title, onPress, icon?, destructive?, disabled? }]renders a menu under the popover, or at the bottom of the sheet, on iOS and Android.QuickPreviewPressablemeasures the item automatically (animateFromItem, default on).colorScheme: 'light' | 'dark' | 'system',containerStyle,backdropColor,renderBackdrop(e.g. a blur), plusPreviewProvider defaultOptions.react-native-portalize. It's been unmaintained since 2022 and is replaced by a small in-house overlay. Installs need three peers instead of four.@react-native/jest-preset.All additive, so this is a minor release. The default look is unchanged, and apps that still have portalize installed keep working.
Checks
npm pack --dry-rundefaultOptions, overlay)CI drops Node 20 (EOL; RN 0.88 tooling needs >= 22.13).
Merging bumps the version on
main, which triggers the release workflow and publishes 2.1.0 to npm.