awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
prevwong avatar

prevwong/craft.js

0
View on GitHub↗
8,683 نجوم·842 تفرعات·TypeScript·MIT·14 مشاهداتcraft.js.org↗

Craft.js

Craft.js is a framework for building extensible drag-and-drop page editors using React components and serializable state management. It provides the core infrastructure to construct custom page builders where users can compose layouts by dragging, dropping, and repositioning elements within a structured editor environment.

The framework manages editor state through a component-based node tree, where each user element is represented as an internal node storing its type, props, and parent relationships. This state is managed via React Context and can be serialized to JSON for persistence and sharing of page designs. The editor supports custom rendering overrides, allowing developers to replace default element rendering with their own React components, and provides a drag-and-drop event system with configurable drop indicator styling.

Developers can define user components as reusable building blocks, mark elements as droppable regions that accept child components, and create component toolboxes that serve as palettes of draggable items. The framework supports inline property editing through content-editable interfaces or dedicated settings panels, layer tree management with customizable rendering and expansion controls, and the ability to inspect and manipulate editor state programmatically. Custom editing interfaces can be defined for components, enabling interactive editing experiences like modals for updating props.

Features

  • Drag-and-Drop Page Builders - A framework for building custom drag-and-drop page editors with extensible React components and serializable state.
  • Drag and Drop - Provides the core drag-and-drop event system for repositioning components within a page editor.
  • Editor - Exports and imports the full editor layout as JSON for persistence or sharing of page designs.
  • JSON Export and Restore - Exports and imports the full editor layout as JSON for persistence and sharing of page designs.
  • Component Toolboxes - Provides a palette of draggable items that create new component instances when dropped into the editor.
  • Reactive Design JSON States - Exports and imports the full editor layout as JSON for persistence and sharing of page designs.
  • Drag-and-Drop Page Editors - A framework for building extensible drag-and-drop page editors with React components and serializable state management.
  • Droppable Zone Definitions - Marks elements as containers that accept child elements, making those children draggable within the editor.
  • Draggable Layout Elements - Enables elements to be placed as children of droppable regions and repositioned via drag-and-drop.
  • Draggable Component Definitions - Creates reusable building blocks that end users can drag, drop, and edit within the page editor.
  • Editor Node Trees - Provides the internal node tree that represents every user element in the page editor.
  • Internal Node Representations - Represents each user element as an internal node storing type, props, and parent relationships for state management.
  • Rendering Overrides - Allows replacing default rendering of user elements with custom React components for flexible UI control.
  • React State Bindings - Manages editor state through React Context, enabling components to read and manipulate the page composition tree.
  • Programmatic State Inspectors - Provides APIs to inspect and manipulate the editor's internal node tree for features like copying components.
  • Draggable Component Palettes - Provides a component toolbox that serves as a palette of draggable items for building page layouts.
  • Editor State APIs - Provides APIs to read the current editor state including all nodes, events, and selected elements.
  • Custom Editing Interfaces - Allows defining custom editing interfaces for components, enabling interactive editing like modals for updating props.
  • Component Layer Trees - Manages and customizes the display of nested component layers in the editor interface with expansion controls.
  • Property Editing Panels - Supports modifying component props directly through content-editable interfaces or dedicated settings panels.
  • Layer Tree Expanders - Ships a layer tree with configurable default expansion of root nodes for managing nested components.
  • Component Editing Interfaces - Defines custom editing interfaces for components enabling interactive editing like content-editable text.

سجل النجوم

مخطط تاريخ النجوم لـ prevwong/craft.jsمخطط تاريخ النجوم لـ prevwong/craft.js

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Craft.js

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Craft.js.
  • givanz/vvvebjsالصورة الرمزية لـ givanz

    givanz/VvvebJs

    8,532عرض على GitHub↗

    VvvebJs is a self-hosted, vanilla JavaScript library for visually assembling web pages by dragging pre-built HTML components onto a canvas. It functions as a visual HTML editor and component-based page builder that requires no build tools or external dependencies, and can be deployed on a server with PHP or Node.js backend for saving and exporting pages. The builder organizes reusable HTML components into named groups for drag-and-drop assembly, and provides visual property editing that modifies HTML attributes, CSS styles, and class names through form controls and property panels. It include

    JavaScriptbootstrapbootstrap5builder
    عرض على GitHub↗8,532
  • unlayer/react-email-editorالصورة الرمزية لـ unlayer

    unlayer/react-email-editor

    5,086عرض على GitHub↗

    React Email Editor is a drag-and-drop visual builder for creating responsive email templates, built as a React embeddable component. It also serves as an AI-powered email designer, a collaborative email design tool, and a React component library for composing emails programmatically with JSX. The editor represents designs as structured JSON and supports multi-format rendering for email clients, web pages, and PDF. What distinguishes this editor is its deep AI integration: users can generate full email templates from natural language, rewrite text with chosen intent, produce multiple text vari

    TypeScriptbuilderdrag-and-dropemail
    عرض على GitHub↗5,086
  • woai3c/visual-drag-demoالصورة الرمزية لـ woai3c

    woai3c/visual-drag-demo

    5,628عرض على GitHub↗

    This is a low-code visual drag-and-drop editor project for building web page layouts. It provides a canvas-based environment where users can assemble pages by placing, resizing, and rotating pre-built UI components through direct mouse interaction. The editor includes a grid-based alignment system that snaps components to invisible grid lines or other component edges for precise positioning. Components can be grouped into single units or locked in place to prevent accidental movement, and animations or custom actions can be bound to user interactions like clicks or hovers. An undo-redo comman

    Vue
    عرض على GitHub↗5,628
  • react-grid-layout/react-draggableالصورة الرمزية لـ react-grid-layout

    react-grid-layout/react-draggable

    9,292عرض على GitHub↗

    react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a component wrapper that adds draggable behavior to user interface elements, enabling them to be moved via mouse or touch interactions. The library provides touch-enabled interaction tools that unify pointer events across desktop browsers and touch screen devices. It utilizes CSS transforms to handle element movement and coordinate tracking. The system covers movement constraints such as axis restriction and boundary clamping to confine elements within specific areas. It includes posit

    JavaScript
    عرض على GitHub↗9,292
عرض جميع البدائل الـ 30 لـ Craft.js→

الأسئلة الشائعة

ما هي وظيفة prevwong/craft.js؟

Craft.js is a framework for building extensible drag-and-drop page editors using React components and serializable state management. It provides the core infrastructure to construct custom page builders where users can compose layouts by dragging, dropping, and repositioning elements within a structured editor environment.

ما هي الميزات الرئيسية لـ prevwong/craft.js؟

الميزات الرئيسية لـ prevwong/craft.js هي: Drag-and-Drop Page Builders, Drag and Drop, Editor, JSON Export and Restore, Component Toolboxes, Reactive Design JSON States, Drag-and-Drop Page Editors, Droppable Zone Definitions.

ما هي البدائل مفتوحة المصدر لـ prevwong/craft.js؟

تشمل البدائل مفتوحة المصدر لـ prevwong/craft.js: givanz/vvvebjs — VvvebJs is a self-hosted, vanilla JavaScript library for visually assembling web pages by dragging pre-built HTML… unlayer/react-email-editor — React Email Editor is a drag-and-drop visual builder for creating responsive email templates, built as a React… woai3c/visual-drag-demo — This is a low-code visual drag-and-drop editor project for building web page layouts. It provides a canvas-based… react-grid-layout/react-draggable — react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a… mzabriskie/react-draggable — react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement… gridstack/gridstack.js — gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive…