Releases: gfazioli/mantine-book
1.0.3
⚡ Improvements
Mantine 9.3.1 → 9.4.0
@mantine/core and @mantine/hooks are aligned to 9.4.0 (latest 9.x minor) in the docs site. The package continues to satisfy its existing >=9.0.0 peer range — Mantine 9.4 is an additive minor (new ComboboxPopover, DataList, EmptyState and Menubar components), with no API or behavior changes for consumers of this package.
🛠️ Other
- Dependency refresh (within existing semver ranges, no major upgrades):
@mantine/core,@mantine/hooks9.3.1 → 9.4.0 (root);@mantine/code-highlight,@mantine/core,@mantine/hooks9.3.1 → 9.4.0 (docs)@storybook/*+storybook10.4.5 → 10.4.6oxfmt^0.55.0 → ^0.56.0oxlint^1.70.0 → ^1.71.0rollup^4.62.0 → ^4.62.2yargs^17.7.2 → ^17.7.3@types/node^22.19.21 → ^22.20.0
📝 Summary
Maintenance patch — no API or behavior changes for @gfazioli/mantine-book. Aligns the docs site to Mantine 9.4.0 and refreshes dev tooling (Storybook 10.4.6, oxfmt 0.56, oxlint 1.71, Rollup 4.62.2) plus a minor @types/node bump.
What's Changed
Full Changelog: 1.0.2...1.0.3
1.0.2
⚡ Improvements
Mantine 9.3.0 → 9.3.1
@mantine/core and @mantine/hooks are aligned to 9.3.1 (latest 9.x patch) in the docs site. The package continues to satisfy its existing >=9.0.0 peer range — no API or behavior changes for consumers.
🛠️ Other
- Dependency refresh (within existing semver ranges, no major upgrades):
@mantine/code-highlight,@mantine/core,@mantine/hooks9.3.0 → 9.3.1 (docs)@storybook/*10.4.2 → 10.4.5oxlint^1.68.0 → ^1.70.0rollup^4.61.0 → ^4.62.0esbuild^0.28.0 → ^0.28.1next,@next/mdx16.2.7 → 16.2.9 (docs)@types/node^22.19.19 → ^22.19.21,@types/react^19.2.16 → ^19.2.17
📝 Summary
Maintenance patch — no API or behavior changes for @gfazioli/mantine-book. Aligns the docs site to Mantine 9.3.1 and refreshes dev tooling (Storybook 10.4.5, oxlint 1.70, Rollup 4.62) plus minor Next/type bumps.
What's Changed
Full Changelog: 1.0.1...1.0.2
1.0.1
⚡ Improvements
Mantine 9.2.1 → 9.3.0
@mantine/core and @mantine/hooks are aligned to 9.3.0 (latest 9.x minor) in the docs site. The package continues to satisfy its existing >=9.0.0 peer range — no API or behavior changes for consumers.
🛠️ Other
- Dependency refresh (within existing semver ranges, no major upgrades):
@mantine/code-highlight,@mantine/core,@mantine/hooks9.2.1 → 9.3.0 (docs)@storybook/*10.4.1 → 10.4.2oxlint^1.67.0 → ^1.68.0rollup^4.60.4 → ^4.61.0react,react-dom19.2.6 → 19.2.7next16.2.6 → 16.2.7 (docs)tsx^4.22.3 → ^4.22.4vite^6.4.2 → ^6.4.3@types/react^19.2.15 → ^19.2.16
- Yarn 4.15.0 → 4.16.0
📝 Summary
Maintenance patch — no API or behavior changes for @gfazioli/mantine-book. Aligns the docs site to Mantine 9.3.0 and refreshes dev tooling (Storybook 10.4.2, oxlint 1.68, Rollup 4.61) plus minor React/Next/type bumps.
What's Changed
Full Changelog: 1.0.0...1.0.1
1.0.0
✨ Features
- 📖 Multi-page book — stack any number of two-sided pages and turn them by dragging any point of the free edge in any direction: corner, mid-edge, up or down, forward or back. The page beneath shows through the curl.
- 🎯 Compound API —
<Book><Book.Page><Book.Page.Front/><Book.Page.Back/></Book.Page></Book>, or the data-drivenpages={[{ front, back }]}form. Any JSX goes inside a face: text, images, MDX, even a canvas. - 🧭 Controlled navigation —
page/defaultPage/onPageChangewith face-based indices: drive the book from arrows, dots, sliders or keyboard. Programmatic turns animate like a real drag, withturnOrigin(top/middle/bottom) controlling how the corner arcs. - 🌀 Two rendering paths — the default
flatvariant is a pure-DOM reflection fold (SSR-safe, interactive at rest, zero canvas); the opt-inroundedvariant draws a true 3D curl on WebGL with a lit specular ridge, tuned bycurlRadius, falling back toflatautomatically on any WebGL failure. - 📚 Hard covers —
withCoverturns the first and last pages RIGID around the spine, and the closed book is compact: centered on the play-zone, sliding into the two-page spread as the cover opens (disabled underprefers-reduced-motion). - 🃏 Riffle — multi-page jumps flip through every page in between with compressed timing (
riffleDuration), queued one page in flight at a time; works from dots, sliders, or any bigpagejump. - 🎨 Reveal layer —
revealBackgroundat both levels: on the Book as the inside-cover base, per-page as a side-aware layer under the resting sheet. - 🧬 Inherited props — visual and gesture props set on the Book cascade to every page via context; any page can override locally.
Book.Pagealso works standalone. - 🖐️ Gestures — drag, side-aware swipe, click-to-turn;
mobileScrollSupportkeeps vertical scrolling working on touch;flipThreshold,swipeDistance,swipeTimeThresholdandflippingTimetune the feel. - ⌨️ Accessibility — keyboard turns (arrows, Home, End), screen-reader live region with
pageAnnouncement, respectsprefers-reduced-motion. - 💅 Full Styles API — selectors (
root,restSheet,curlSheet,shadowLayer,revealLayer,face,page) and CSS variables, themeable like every Mantine component. - 📡 Events —
onFold(with phase: grab / drag / settle) andonFlipfor reacting to every stage of a turn.
📝 Summary
First public release of @gfazioli/mantine-book: a realistic iBooks-style book for React built on Mantine. Stack two-sided pages and turn them by dragging any point of the free edge — or programmatically via controlled navigation — with a pure-DOM reflection fold (flat) or a true 3D WebGL curl (rounded). Hard covers, riffle through big jumps, full keyboard accessibility and the complete Mantine Styles API, in a package that stays quiescent at rest (no rAF, no canvas until you ask for it).
What's Changed
- Curl: realistic page-curl via perpendicular-bisector reflection fold by @gfazioli in #1
- chore(curl): review cleanups — styles-api drift, flipThreshold default, CLAUDE.md by @gfazioli in #2
- feat(curl): soft curl shadows derived from the crease by @gfazioli in #3
- feat(curl): rounded variant — true 3D WebGL page-curl by @gfazioli in #4
- docs(curl): per-prop demos + shadowColor in the rounded variant by @gfazioli in #5
- feat(book): Book — the multi-page public API by @gfazioli in #6
- feat(book): turnOrigin — simulated corner grab for programmatic turns by @gfazioli in #7
- feat(book): reveal layer — inside-cover base on Book, per-page revealLayer by @gfazioli in #8
- fix: review quick wins — npm-facing description, reduced-motion settle, doc accuracy by @gfazioli in #9
- feat(book): keyboard navigation and screen-reader semantics by @gfazioli in #10
- feat(book): turn queue — one page in flight, serialized turns with accelerated riffle by @gfazioli in #11
- Shared WebGL pool, riffle duration, 100-page demo, smooth rounded turns by @gfazioli in #12
- PR-D: test hardening — close the 9 coverage gaps from the pre-publish review by @gfazioli in #13
- withCover: rigid hard covers + the compact closed book by @gfazioli in #14
- Docs audit: canonical structure, complete Props, live multi-file demos by @gfazioli in #15
New Contributors
Full Changelog: https://github.com/gfazioli/mantine-book/commits/1.0.0