Free & open source, built for every frontend stack. Star Exhuma on GitHub
ExhumaBeta
DocsComponentsBlog

Getting Started

  • Introduction
  • Installation
  • Theming & Dark Mode
  • CLI Reference

Architecture

  • Kinetic Methodology
  • Ecosystem Contracts
  • Lifecycle & Memory Safety

Components

  • All Components20
Cards8
  • Stacking Cards
  • Horizontal Scroller
  • Tilt Card
  • Spotlight Card
  • Border Beam
  • Card Swipe Stack
  • Comparison Slider
  • Expandable Card
Layouts6
  • CSS Masonry
  • Row Masonry
  • Auto Grid
  • Infinite Marquee
  • Bento Grid
  • Diamond Grid
Navigation2
  • Morphing Tabs
  • Floating Dock
Primitives4
  • Accordion
  • Number Ticker
  • Magnetic Button
  • Cursor Tooltip
// DOCS·Architecture

The 13 Ecosystem Contracts

Exhuma avoids polyfills or cross-compilation abstraction layers. Every canonical component is re-authored from fundamental mathematical models into the native idioms of each target platform.

  • 13 native targets
  • No polyfills
// 01·Standards

Universal Engineering Standards

Every implementation across the 13 supported ecosystems must satisfy four non-negotiable guarantees:

Guarantee 01

Zero CSS Leakage

Scoped styles or unique class prefixes prevent collision with host applications.
Guarantee 02

Teardown Safety

Every event listener and requestAnimationFrame handle is properly canceled during unmount or destroy.
Guarantee 03

Idiomatic Reactivity

Uses the framework's first-class state primitives (Runes, Signals, Composition, StatefulWidget).
Guarantee 04

Zero Runtime Overhead

No proprietary middleman library. Pure self-contained component source code.
// 02·Web

React 18/19 & Next.js 15

Next.js components include the "use client" directive to seamlessly support the React Server Components (RSC) App Router. They utilize useRef for direct DOM manipulation to maintain 60 FPS animation performance without triggering React re-render cycles.

TiltCard.tsx
tsx
'use client';

import React, { useRef, useEffect } from 'react';

export function TiltCard({ children, maxTilt = 20 }: TiltCardProps) {
  const cardRef = useRef<HTMLDivElement>(null);

  useEffect(() => {
    // Zero-lag pointer listener with proper cleanup
    const node = cardRef.current;
    if (!node) return;
    // ...
    return () => { /* Memory teardown */ };
  }, [maxTilt]);

  return <div ref={cardRef}>{children}</div>;
}
// 03·Modern Reactive

Vue 3 & Svelte 5

Vue 3 uses the <script setup lang="ts"> Composition API with onBeforeUnmount cleanup. Svelte 5 leverages the newest Runes system ($state, $derived, and $effect) with destructor return cleanup.

TiltCard.svelte
svelte
<script lang="ts">
  let { children, maxTilt = 20 } = $props();
  let cardElement: HTMLDivElement | undefined = $state();

  $effect(() => {
    if (!cardElement) return;
    // Active pointer math...
    return () => {
      // Svelte 5 rune teardown guarantee
    };
  });
</script>

<div bind:this={cardElement}>
  {@render children?.()}
</div>
// 04·Enterprise & Performance

Angular 18+ & SolidJS

Angular components use Standalone Components with modern Signals (input() and effect()) and ngOnDestroy lifecycle safety. SolidJS utilizes fine-grained primitives (createSignal, createEffect, onCleanup).

// 05·Server First

Astro & Laravel Blade

Astro components render zero runtime client JavaScript by default or mount via client directives. Laravel Blade components output standard PHP component templates integrating with Alpine.js or scoped inline JS.

// 06·Universal Standards

Vanilla JS & Web Components

Vanilla JS outputs clean ES modules exposing factory functions (createTiltCard(element, options)) with an explicit destroy() method. Web Components extend HTMLElement with Custom Elements v1 and disconnectedCallback().

// 07·CMS

WordPress Gutenberg Blocks

Outputs full Gutenberg block definitions: block.json metadata, React edit.tsx for the WP Admin editor canvas, save.tsx for database serialization, and render.php for server-side dynamic rendering.

// 08·Mobile Native

React Native & Flutter

React Native components use Animated with PanResponder driving the native UI thread. Flutter components output Dart StatefulWidget classes calculating 3D perspective transforms with Matrix4 and Transform.

Kinetic MethodologyLifecycle & Memory Safety
On This Page
Universal Engineering StandardsReact 18/19 & Next.js 15Vue 3 & Svelte 5Angular 18+ & SolidJSAstro & Laravel BladeVanilla JS & Web ComponentsWordPress Gutenberg BlocksReact Native & Flutter