Skip to content

Releases: gfazioli/mantine-book

1.0.3

23 Jun 05:39

Choose a tag to compare

⚡ 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/hooks 9.3.1 → 9.4.0 (root); @mantine/code-highlight, @mantine/core, @mantine/hooks 9.3.1 → 9.4.0 (docs)
    • @storybook/* + storybook 10.4.5 → 10.4.6
    • oxfmt ^0.55.0 → ^0.56.0
    • oxlint ^1.70.0 → ^1.71.0
    • rollup ^4.62.0 → ^4.62.2
    • yargs ^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

  • chore(deps): update dependencies to latest minor (Mantine 9.4.0) by @gfazioli in #18

Full Changelog: 1.0.2...1.0.3

1.0.2

16 Jun 10:41

Choose a tag to compare

⚡ 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/hooks 9.3.0 → 9.3.1 (docs)
    • @storybook/* 10.4.2 → 10.4.5
    • oxlint ^1.68.0 → ^1.70.0
    • rollup ^4.61.0 → ^4.62.0
    • esbuild ^0.28.0 → ^0.28.1
    • next, @next/mdx 16.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

  • chore(deps): update dependencies to latest minor (Mantine 9.3.1) by @gfazioli in #17

Full Changelog: 1.0.1...1.0.2

1.0.1

07 Jun 10:54

Choose a tag to compare

⚡ 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/hooks 9.2.1 → 9.3.0 (docs)
    • @storybook/* 10.4.1 → 10.4.2
    • oxlint ^1.67.0 → ^1.68.0
    • rollup ^4.60.4 → ^4.61.0
    • react, react-dom 19.2.6 → 19.2.7
    • next 16.2.6 → 16.2.7 (docs)
    • tsx ^4.22.3 → ^4.22.4
    • vite ^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

  • chore(deps): update dependencies to latest minor (Mantine 9.3.0) by @gfazioli in #16

Full Changelog: 1.0.0...1.0.1

1.0.0

07 Jun 06:30

Choose a tag to compare

✨ 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-driven pages={[{ front, back }]} form. Any JSX goes inside a face: text, images, MDX, even a canvas.
  • 🧭 Controlled navigationpage / defaultPage / onPageChange with face-based indices: drive the book from arrows, dots, sliders or keyboard. Programmatic turns animate like a real drag, with turnOrigin (top / middle / bottom) controlling how the corner arcs.
  • 🌀 Two rendering paths — the default flat variant is a pure-DOM reflection fold (SSR-safe, interactive at rest, zero canvas); the opt-in rounded variant draws a true 3D curl on WebGL with a lit specular ridge, tuned by curlRadius, falling back to flat automatically on any WebGL failure.
  • 📚 Hard coverswithCover turns 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 under prefers-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 big page jump.
  • 🎨 Reveal layerrevealBackground at 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.Page also works standalone.
  • 🖐️ Gestures — drag, side-aware swipe, click-to-turn; mobileScrollSupport keeps vertical scrolling working on touch; flipThreshold, swipeDistance, swipeTimeThreshold and flippingTime tune the feel.
  • ⌨️ Accessibility — keyboard turns (arrows, Home, End), screen-reader live region with pageAnnouncement, respects prefers-reduced-motion.
  • 💅 Full Styles API — selectors (root, restSheet, curlSheet, shadowLayer, revealLayer, face, page) and CSS variables, themeable like every Mantine component.
  • 📡 EventsonFold (with phase: grab / drag / settle) and onFlip for 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