Skip to content

Magic Modal Release 10.1.0

Choose a tag to compare

@GSTJ GSTJ released this 31 Jul 18:14
89ae965

10.1.0 (2026-07-31)

🔨 Bug Fixes 🔨

  • docs: show the download count people actually recognize (#342) (b8f9a3f), references #335
  • release: drop the em-dashes from the deprecate message (#340) (62ce629)

🌠 New Features 🌠

  • modal: cut the web bundle by 83% (32.2 -> 5.3 KB gzip) going full DOM (#336) (89ae965), references #329

    The browser entry no longer imports react-native-web. The web modal renders as plain DOM, with enter/exit driven by the Web Animations API and a static <style> element for layout, and react is the only remaining import. Measured with esbuild: 96.3 KB minified / 32.2 KB gzip before, 13.9 KB / 5.3 KB after. A real next build of examples/next-web drops 23.8 KB gzip of client JS.

    Web-only type and DOM changes come with it, and they land in a minor per this repo's versioning policy (patch never breaks, minor may, major is reserved for era-defining refactors like the v10 rename):

    • ModalProps["style"] and NewConfigProps["style"]: StyleProp<ViewStyle> -> React.CSSProperties. RN style objects (arrays, registered handles, RN-only keys) are detected at runtime and warn once in dev with a migration table instead of being applied.
    • entering/exiting removed from the web type (Reanimated builders, already ignored on web).
    • dist/index.d.ts no longer references react-native or reanimated types. The native entry's types are unchanged.
    • The backdrop is now role="presentation", and elements carry stable magic-modal-* class names instead of RNW's generated css-* ones. CSS targeting RNW internals breaks; targeting the new class names is supportable.

    Migration notes are in reference/modal-props.mdx, with a callout in platforms/nextjs.mdx.

➰ What a drag! ➰

  • release: sync magic modal version with npm 10.0.0 (#339) (c1b97e6)

📚 Documentation 📚

  • changelog: drop the PR body that leaked into the 10.0.0 breaking note (#341) (d9ee771), references #339 #339