ProEditor
The Ultimate Editor UI Framework and Components
[![][npm-release-shield]][npm-release-link]
[![][npm-downloads-shield]][npm-downloads-link]
[![][github-releasedate-shield]][github-releasedate-link]
[![][github-action-test-shield]][github-action-test-link]
[![][github-action-release-shield]][github-action-release-link]
[![][codecov-shield]][codecov-link]
[![][github-contributors-shield]][github-contributors-link]
[![][github-forks-shield]][github-forks-link]
[![][github-stars-shield]][github-stars-link]
[![][github-issues-shield]][github-issues-link]
[![][github-license-shield]][github-license-link]
[![][ant-design-shield]][ant-design-link]
[![][devops-dumi-shield]][devops-dumi-link]
[![][devops-father-shield]][devops-father-link]
English · [简体中文](./README.zh-CN.md) · [Changelog](./CHANGELOG.md) . [Report Bug][github-issues-link] · [Request Feature][github-issues-link]
![](https://gw.alipayobjects.com/zos/kitchen/2rXP4ZVHCo/pro-editor.webp)
Table of contents
#### TOC
- [📦 Installation](#-installation)
- [Compile with Next.js](#compile-with-nextjs)
- [🔨 Usage](#-usage)
- [✨ Features](#-features)
- [Empowering Features of ProEditor](#empowering-features-of-proeditor)
- [Framework Architecture](#framework-architecture)
- [👀 Showcase](#-showcase)
- [🖥 Browser compatibility](#-browser-compatibility)
- [⌨️ Local Development](#️-local-development)
- [🤝 Contributing](#-contributing)
- [🛣️ Ecosystem](#️-ecosystem)
####
📦 Installation
[!IMPORTANT]\
This package is ESM only.
To install @ant-design/pro-editor
, run the following command:
$ pnpm install @ant-design/pro-editor
Compile with Next.js
[!NOTE]\
By work correct with Next.js SSR, add transpilePackages: ['@ant-design/pro-editor']
to next.config.js
. For example:
const nextConfig = {
transpilePackages: ['@ant-design/pro-editor', 'leva', 'zustand'],
};
🔨 Usage
import { SmileOutlined } from '@ant-design/icons';
import { ActionIcon } from '@ant-design/pro-editor';
export default () => (
<ActionIcon
title={'Function button description'}
icon={<SmileOutlined />}
onClick={() => {
alert('Trigger action');
}}
/>
);
✨ Features
[!NOTE]
Front-end component libraries have revolutionized development, boosting efficiency by orders of magnitude and elevating user experience. Yet, as mature as libraries like Ant Design (antd) and ProComponents are, one might wonder if there's any room left for innovation.
![](https://next.ossinsight.io/widgets/official/compose-activity-trends/thumbnail.png?repo_id=637603722&image_size=auto&color_scheme=dark)
Empowering Features of ProEditor
[!NOTE]
We envision ProEditor as the foundational library for editing components, akin to antd, enabling developers to easily create complex interactive components with an inherently superior user experience. This is the rationale behind the ProEditor
.
Our Principles for ProEditor:
- 🖐️ Intuitive Editing: Supports natural user interactions like multi-selection, deselection, and keyboard shortcuts, ensuring a smooth editing experience.
- ✨ Refined by Default: Enhances Ant Design components to deliver a superior user experience with more polish and refinement.
- 🔧 Open Flexibility: Provides atomic-level capabilities, offering a wide range of components, hooks, and utility functions for extensive customization and flexibility.
UI Framework and Frontend Component Solutions in the Editor Field:
[!TIP]
ProEditor concentrates on expanding the limits of the feasible and augmenting the array of tools available to developers for the construction of sophisticated, interactive, and user-centric web applications. For instance:
- 📦 DraggablePanel: Allows for resizable and movable panels, enhancing the interactivity of the user interface.
- 📝 ColumnList: Offers a user-friendly sortable list that is manageable through column definitions, simplifying complex list interactions.
- 🎨 FreeCanvas: Provides a zoomable canvas similar to applications like Sketch or Figma, giving users a vast space for creative design.
- 🔍 IconPicker: An icon selection tool that is compatible with iconfont, making it easier to integrate a wide range of icons into the design.
- 👥 Online Collaboration: Incorporates multi-user capabilities using technologies like yjs and zustand store, enabling real-time collaborative editing and interaction.
Framework Architecture
ProEditor is structured to facilitate these principles effectively.
![](https://gw.alipayobjects.com/zos/kitchen/2F0sXx1uad/architecture.webp)
👀 Showcase
Let's showcase some of ProEditor's signature components:
DraggablePanel |
ColumnList |
For resizable and movable panels |
A user-friendly sortable list based on column definitions |
![](https://gw.alipayobjects.com/zos/kitchen/sytsa4%26R%26d/1.gif) |
![](https://gw.alipayobjects.com/zos/kitchen/2DHhgqlXns/2.gif) |
FreeCanvas |
IconPicker |
A limitless zoomable canvas akin to Sketch or Figma |
An icon selection tool compatible with iconfont |
![](https://gw.alipayobjects.com/zos/kitchen/KKcuxwR0Pz/3.gif) |
![](https://gw.alipayobjects.com/zos/kitchen/huuRPs3Kmk/4.gif) |
Online Collaboration |
|
Multi-user capabilities wrapped in yjs and zustand store. |
|
![](https://gw.alipayobjects.com/zos/kitchen/SQaNFOJbK4/5.gif) |
|
🖥 Browser compatibility
[!NOTE]
![edge](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png) |
![Edge](https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) |
![chrome](https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) |
![safari](https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png) |
![electron_48x48](https://raw.githubusercontent.com/alrra/browser-logos/master/src/electron/electron_48x48.png) |
Edge |
last 2 versions |
last 2 versions |
last 2 versions |
last 2 versions |
⌨️ Local Development
You can use Github Codespaces for online development:
![](https://github.com/codespaces/badge.svg)
Or clone it for local development:
$ git clone https://github.com/ant-design/pro-editor.git
$ cd pro-editor
$ pnpm install
$ pnpm dev
🤝 Contributing
[!IMPORTANT]
Join our collaborative ecosystem. Your contributions are the heartbeat of our project. Here's how you can be an integral part of our vibrant community:
- Integrate and Innovate: Incorporate Ant Design Pro, umi, and ProEditor into your projects. Your real-world usage and feedback are invaluable to us.
- Voice Your Insights: Encounter a glitch? Have a query? Your perspectives matter. Share them by submitting issues and help us enhance the user experience.
- Shape the Future: Have code enhancements or feature ideas? We invite you to propose pull requests and contribute directly to the evolution of our codebase.
Every contribution, big or small, is celebrated. Join us in our mission to refine and elevate the world of open-source enterprise UI components. 😃
![](https://img.shields.io/badge/%E2%9D%A4%EF%B8%8F%20PR%20WELCOME-%E2%86%92-1677FF?labelColor=black&style=for-the-badge)
🛣️ Ecosystem
- ProComponents - Designed for Enterprise-Level Application, Use Ant Design like a Pro!.
- ProEditor - The Ultimate Editor UI Framework and Components.
- ProFlow - A Flow Editor Framework base on React-Flow.
- ProChat - Components Library for Quickly Building LLM Chat Interfaces.
📝 License
Copyright © 2023 - present AFX & Ant Digital.
This project is MIT licensed.