Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/a-master-artificer/llms.txt
Use this file to discover all available pages before exploring further.
PageChrome is the shared layout shell that wraps every page in the A Master Artificer theme. It renders each page as an open grimoire book — a card with a dark leather-like spine on the left, a content well with a sticky header on the right, and ornamental corner marks drawn in SVG at the top-right and bottom-right edges of the content area. Every route transition animates the book card with a perspective-correct page-turn effect, making navigation feel as though the visitor is physically leafing through a physical volume.
Because PageChrome owns the outer animation, page content never needs to manage its own entry or exit — wrapping children in this component is all that is required.
Usage
Props
The page content to render inside the grimoire content well. Receives full width inside the scrollable
<main> area with p-8 md:p-12 padding applied automatically.The page title displayed in the sticky header at the top of the content area. Rendered as an
<h1> with font-title text-3xl md:text-4xl text-grimoire-glow tracking-widest. If omitted together with pageNumber, the header is not rendered at all.The ordinal page number displayed in the sticky header alongside the title. Rendered as a monospaced label in the format
Pg. 001, zero-padded to three digits using String.padStart(3, "0"). If omitted, the label is hidden but the title (if present) still shows.Page-Turn Animation
The outermostmotion.div uses a custom cubic-bezier easing curve to simulate the inertia of a page being turned. The perspective is set to 2000px on the element’s inline style so the Y-axis rotation reads as a physical depth effect.
rotateY and x) and exit to the right, reinforcing the left-to-right page-turning metaphor. The ease array is an accelerate-then-ease-out curve that makes the turn feel weighty at the start and crisp at the end.
Visual Layout
The component builds the book card in a fixed layer order inside the animated wrapper.Perspective Container
6xl (72rem) and centres it horizontally. The padding scales up at medium and large breakpoints.
Book Card
rounded-l-sm on the spine side, rounded-r-3xl on the open edge) and the offset box-shadow cast rightward to suggest the weight of pages to the left.
Spine Column
#051517) on the far left to grimoire-dark-lighter at the inner edge, simulating the shadow where the pages meet the binding. Five w-8 h-1 bg-grimoire-accent/20 lines spaced vertically represent binding stitches or cord signatures.
Sticky Header
Rendered only whentitle or pageNumber is provided:
backdrop-blur-sm and 90% opacity keep content visible through the header as the page scrolls underneath it. The title sits on the left; the Pg. 001 counter sits on the right in font-mono text-grimoire-accent/60 text-sm.
Decorative Corner Marks
Two inline SVGs are positionedabsolute inside the content area:
- Top-right — an L-shaped bracket opening downward and to the left, with a filled circle accent at
(80, 20). - Bottom-right — a mirror bracket opening upward and to the left, with a circle accent at
(80, 80).
text-grimoire-glow/20 (20% opacity) and pointer-events-none so they are purely decorative.
CSS Design Tokens
| Token | Value / Role |
|---|---|
grimoire-dark | Deep teal-black (rgb(10 42 46)) — content area background |
grimoire-dark-lighter | Slightly lighter teal-black — card surface |
grimoire-glow | Teal (#2DD4BF) — header title, borders, corner marks |
grimoire-accent | Muted teal — page-number label, spine lines |
font-title | Display typeface used for the page title |
font-mono | Monospace font used for the Pg. 001 counter |