Magic Modal Release 10.1.0
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, andreactis the only remaining import. Measured with esbuild: 96.3 KB minified / 32.2 KB gzip before, 13.9 KB / 5.3 KB after. A realnext buildof 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"]andNewConfigProps["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/exitingremoved from the web type (Reanimated builders, already ignored on web).dist/index.d.tsno longer references react-native or reanimated types. The native entry's types are unchanged.- The backdrop is now
role="presentation", and elements carry stablemagic-modal-*class names instead of RNW's generatedcss-*ones. CSS targeting RNW internals breaks; targeting the new class names is supportable.
Migration notes are in
reference/modal-props.mdx, with a callout inplatforms/nextjs.mdx.