├── .gitignore ├── LICENSE ├── README.md ├── package.json ├── src ├── components │ ├── Button │ │ ├── VNButton.ts │ │ └── index.ts │ ├── Image │ │ ├── VNImage.ts │ │ └── index.ts │ ├── Text │ │ ├── VNText.ts │ │ └── index.ts │ ├── TextArea │ │ ├── VNTextArea.ts │ │ └── index.ts │ ├── VNElement.ts │ ├── VNNode.ts │ ├── View │ │ ├── VNView.ts │ │ └── index.ts │ ├── Window │ │ ├── VNWindow.ts │ │ └── index.ts │ └── index.ts ├── index.ts ├── renderer │ ├── index.ts │ ├── nodeOps.ts │ └── patchProp.ts └── types │ └── refBail.d.ts ├── tsconfig.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 NovusTheory 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-nodegui 2 | NodeGUI but with Vue 3 | 4 | This is a work in progress that uses Vue 3 to implement. [View the example project using vue-nodegui](https://github.com/NovusTheory/vue-nodegui-example) 5 | 6 | ## Contribution Guide / Goals 7 | If you want to contribute to this project please note the current goals and objectives this project wants to obtain. 8 | 9 | - Feature parity and similarity with HTML/JS in the web, writing applications should not feel any different from writing native HTML & JS for the web. 10 | - Examples 11 | - `` will on-the-fly rebuild the native widget when type is changed rather than substituting custom element types (e.g. no `` or `` element use `type="radio/checkbox"`) 12 | - `
` & `` instead of `` (like react-nodegui) to create a QWidget container 13 | - JavaScript API should be the same where possible to the DOM API 14 | - CSS goals, while mostly application dependent, still stand how the structure should be 15 | - `.vue` files with `