https://github.com/node-projects/web-component-designer
A Designer for HTML Components or Pages in a WebComponent
https://github.com/node-projects/web-component-designer
designer typescript web-components wysiwyg wysiwyg-editor wysiwyg-html-editor
Last synced: 5 months ago
JSON representation
A Designer for HTML Components or Pages in a WebComponent
- Host: GitHub
- URL: https://github.com/node-projects/web-component-designer
- Owner: node-projects
- License: mit
- Created: 2019-10-22T14:45:24.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-05-08T20:24:27.000Z (5 months ago)
- Last Synced: 2025-05-08T21:27:15.314Z (5 months ago)
- Topics: designer, typescript, web-components, wysiwyg, wysiwyg-editor, wysiwyg-html-editor
- Language: TypeScript
- Homepage: https://node-projects.github.io/web-component-designer-demo/index.html
- Size: 17.6 MB
- Stars: 161
- Watchers: 9
- Forks: 18
- Open Issues: 86
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# web-component-designer
A HTML web component for designing web components and HTML pages based on PolymerLabs wizzywid which can easily be integrated in your own software.
Meanwhile polymer is not used anymore.
There is also a preview VSCode addon using the designer: https://github.com/node-projects/vs-code-designer-addon
## NPM Package
[Comparison of Designer Frameworks](COMPARISON.md)
## Comparison
https://www.npmjs.com/package/@node-projects/web-component-designer
## Additional NPM Packages
All Modules which need an external dependency are now extracted to extra NPM packges.
So the designer now should work with bundlers.| Name | Description |
| ---------------------------------------------------------------------- | -------------------------------------------- |
| web-component-designer-codeview-ace | |
| web-component-designer-codeview-codemirror | |
| web-component-designer-codeview-codemirror5 | |
| web-component-designer-codeview-monaco | |
| web-component-designer-htmlparserservice-base-custom-webcomponent | |
| web-component-designer-htmlparserservice-lit-element | |
| web-component-designer-htmlparserservice-nodehtmlparser | |
| web-component-designer-miniatureview-html2canvas | |
| web-component-designer-stylesheetservice-css-tools | |
| web-component-designer-stylesheetservice-css-tree | |
| web-component-designer-visualization-addons | |
| web-component-designer-texteditextension-stylo | deprecated - stylo is deprecated |
| web-component-designer-widgets-fancytree | deprecated - replaced by widgets-wunderbaum |
| web-component-designer-widgets-wunderbaum | |## Browser support
- Chrome, Firefox and Safari
## Projects using itA ZPL-Label Designer:
(https://github.com/node-projects/web-component-designer-zpl-demo)
A material flow layout editor in a comercial application:
## Demo
look at: https://node-projects.github.io/web-component-designer-demo/index.html
repository: https://github.com/node-projects/web-component-designer-demoor a simple one: https://node-projects.github.io/web-component-designer-simple-demo/index.html
repository: https://github.com/node-projects/web-component-designer-simple-demo## What is needed
- @node-projects/base-custom-webcomponent a very small basic webcomponent library (maybe this will be included directly later, to be dependecy free)
- optional - ace code editor
- optional - monaco code editor (if you use code-view-monaco)
- optional - code mirror code editor (if you use code-view-codemirror) (workin but buggy)
- optional - fancytree (if you use tree-view-extended, palette-tree-view or bindable-objects-browser)## Features we are working on
https://github.com/node-projects/web-component-designer/issues
## Developing
* This will install all required packages, link all the npm packages and build everyone once. (in mac or linux you need to run the script with sudo, or the "npm link" will not work)
```
$ npm run develop
```## Using
At first you have to setup a service container providing services for history, properties, elements, ...
## Code Editor
You can select to use one of 3 code editors available (ACE, CodeMirrow, Monaco).
If you use one of the widgets, you need to include the JS lib in your index.html and then use the specific widget.## TreeView
We have 2 tree components. One independent and one feature rich which uses FancyTree (and cause of this it needs JQuery and JqueryUI).
## DragDrop
If you'd like to use the designer on mobile, you need the mobile-drag-drop npm library.
Your index.html should be extended as follows:
## Copyright notice
The Library uses Images from the Chrome Dev Tools, see
https://github.com/ChromeDevTools/devtools-frontend/tree/main/front_end/Images/src
and
https://github.com/ChromeDevTools/devtools-frontend/blob/main/LICENSE