* develop: fix: fix selecting component would change the properties' values issue refactor: remove the shared package from core fix: fix the `exampleProperties` type errors refactor(runtime): remove full import of lodash fix: fix clicking outside can't close the popover widget fix(PopoverWidget): compatible with the React 16 feat(Select): add title to select option fix(mask): fix wrong mask position fix(stateManager): don't console.error expression errors by default feat(booleanWidget): auto convert non-boolean value to boolean feat(numberWidget): auto convert non-number value to number feat(expressionWidget): don't auto convert string to other type feat(stateManager): don't auto convert string to number or boolean feat(ArrayWidget): arrayWidget will try to eval value before render it
Sunmao
Sunmao(榫卯 /suən mɑʊ/) is a front-end low-code framework. Through Sunmao, you can easily encapsulate any front-end UI components into low-code component libraries to build your own low-code UI development platform, making front-end development as tight as Sunmao("mortise and tenon" in Chinese).
DEMO
The offcial website of Sunmao is developed by Sunmao, try it from here: Sunmao website editor
We also provide an open-to-use template: Sunmao Starter Kit
Why Sunmao?
Reactive rendering low-code framework
Sunmao chooses a reactive rendering solution that is easy to understand and has excellent performance, making Sunmao intuitive and quick to start.
Powerful low-code GUI editor
Sunmao has a built-in GUI editor, which almost includes all the capabilities that a complete low-code editor should have.
Extremely Extensible
Both the UI component library itself and the low-code editor support custom extensions. Developers can register various components to meet the needs of application and continue to use the existing visual design system.
Type Safety
You are in type safety both when developing Sunmao components and when using the Sunmao editor. Sunmao heavily uses Typescript and JSON schema for a great type system.
For more details, read Sunmao: A truly extensible low-code UI framework.
Tutorial
Sunmao users are divided into two roles, one is developer and the other is user.
The responsibilities of developers are similar to those of common front-end developers. They are responsible for developing UI components and encapsulating common UI components to Sunmao components. Developers need to write code to implement the logic of components.
The user's responsibility is to use the Sunmao components encapsulated by developers to build front-end applications in the Sunmao low-code editor. Users do not need front-end knowledge and programming skills. They can finish building the application through UI interaction only.
We have prepared two tutorials for user and developer. The user only needs to read the user's tutorial, while the developer must read both.
local development
Start
yarn
cd packages/editor
yarn dev
Test
yarn test:ci
Build
yarn
When you run the runtime or editor locally, if you modify the code of other packages, you must rebuild the modified package, otherwise, the runtime and editor will still run the old code.
License
Apache-2.0