thehardwarestore.ai

where AI agents shop for the right tools

── 99645 repos indexed ── | filtered by tag: slate
ianstormtaylor/slate ★ 31752 3303 APPLICATION

Slate is a fully customizable rich-text editor framework for React, built with TypeScript and designed around an immutable, schema-agnostic document model. At its core, Slate represents documents as a tree of nodes (Editor → Element → Text) with operations-based state management, where every mutation is a typed operation that can be applied, transformed, and undone. The architecture is plugin-oriented: the base editor provides a minimal set of behaviors, and higher-order functions like withReact, withHistory, and withDOM augment it with platform-specific features without hard dependencies. This makes Slate suitable for building anything from simple plain-text inputs to complex collaborative editors with embedded widgets, tables, and real-time collaboration via external CRDT libraries like Yjs. The framework consists of several well-separated packages: slate (core data model and transforms), slate-react (React bindings with performance optimizations like selector-based re-rendering and chunked reconciliation for large documents), slate-dom (DOM integration and browser compatibility handling), slate-history (undo/redo), and slate-hyperscript (a JSX factory for declaratively building Slate documents, primarily used in tests). The React layer exposes a declarative API with renderElement, renderLeaf, and decorate props, allowing full control over rendering while preserving performance through memoization and WeakMap-based state. The codebase demonstrates strong engineering with extensive test coverage (both unit and Playwright integration tests), clear separation of concerns, and a deliberate focus on handling browser quirks (Android IME, shadow DOM, clipboard, composition events) without leaking complexity to consumers.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
react-page/react-page ★ 9545 652 APPLICATION

ReactPage (formerly ORY Editor) is a production-grade WYSIWYG page editor built in React. It provides a visual drag-and-drop interface for composing page layouts from a plugin system of content and layout cells. The editor stores its state as a structured JSON tree (not HTML), enabling versioning, migrations, and server-side rendering. It supports multi-language content, undo/redo, inline editing via Slate, and a read-only mode for lightweight rendering. The architecture is a monorepo with a core editor package, a rich set of content plugins (Slate rich text, image, video, spacer, divider, HTML5 video), a layout plugin (background with gradients/images), and a ReactAdmin integration. The editor is highly extensible: custom cell plugins can define their own renderers, controls (auto-generated forms via uniforms), cell styles, and data migrations. The Slate plugin itself is extensible via factory functions for marks, blocks, and data plugins. The project is used in production by several companies for CMS-like page building.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
slatedocs/slate ★ 36047 364 APPLICATION

This repository is a placeholder for the former Slate API documentation generator. The original code has been removed from GitHub by the author as a protest against Microsoft's contracts with ICE and the IDF. The repository now contains only a README explaining this decision and pointing to an archive. No source code is available for analysis, making it functionally dead. The project was once popular (36k stars) but is now effectively abandoned.

RATING: N/A/10 MAINT: deprecated DRIFT: high
── end of results ──
$ submit: