git0 0.2.11 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/docs/assets/js/c3a618e1.965a31da.js +1 -1
  2. package/docs/functions/index.html +2 -2
  3. package/docs-config/src/functions/index.md +1 -1
  4. package/package.json +2 -1
  5. package/readme.md +18 -30
  6. package/src/fm.js +1130 -0
  7. package/src/github-api.js +14 -15
  8. package/TypeScript-React-Starter/LICENSE +0 -21
  9. package/TypeScript-React-Starter/README-CRA.md +0 -1281
  10. package/TypeScript-React-Starter/README.md +0 -810
  11. package/TypeScript-React-Starter/package.json +0 -28
  12. package/TypeScript-React-Starter/public/favicon.ico +0 -0
  13. package/TypeScript-React-Starter/public/index.html +0 -31
  14. package/TypeScript-React-Starter/src/App.css +0 -24
  15. package/TypeScript-React-Starter/src/App.test.tsx +0 -8
  16. package/TypeScript-React-Starter/src/App.tsx +0 -23
  17. package/TypeScript-React-Starter/src/actions/index.tsx +0 -24
  18. package/TypeScript-React-Starter/src/components/Hello.css +0 -13
  19. package/TypeScript-React-Starter/src/components/Hello.test.tsx +0 -30
  20. package/TypeScript-React-Starter/src/components/Hello.tsx +0 -35
  21. package/TypeScript-React-Starter/src/constants/index.tsx +0 -6
  22. package/TypeScript-React-Starter/src/containers/Hello.tsx +0 -20
  23. package/TypeScript-React-Starter/src/index.css +0 -5
  24. package/TypeScript-React-Starter/src/index.tsx +0 -22
  25. package/TypeScript-React-Starter/src/logo.svg +0 -7
  26. package/TypeScript-React-Starter/src/reducers/index.tsx +0 -15
  27. package/TypeScript-React-Starter/src/types/index.tsx +0 -5
  28. package/TypeScript-React-Starter/tsconfig.json +0 -29
  29. package/TypeScript-React-Starter/tslint.json +0 -11
  30. package/TypeScript-React-Starter/yarn.lock +0 -4785
  31. package/svelte-nodegui/.all-contributorsrc +0 -60
  32. package/svelte-nodegui/.vscode/launch.json +0 -29
  33. package/svelte-nodegui/CHANGELOG.md +0 -153
  34. package/svelte-nodegui/LICENSE +0 -22
  35. package/svelte-nodegui/README.md +0 -151
  36. package/svelte-nodegui/demo/.editorconfig +0 -15
  37. package/svelte-nodegui/demo/.vscode/extensions.json +0 -3
  38. package/svelte-nodegui/demo/livereload.js +0 -29
  39. package/svelte-nodegui/demo/package-lock.json +0 -3514
  40. package/svelte-nodegui/demo/package.json +0 -35
  41. package/svelte-nodegui/demo/src/App.svelte +0 -29
  42. package/svelte-nodegui/demo/src/app.ts +0 -31
  43. package/svelte-nodegui/demo/tsconfig.json +0 -40
  44. package/svelte-nodegui/demo/webpack.config.js +0 -110
  45. package/svelte-nodegui/extras/assets/kitchen.png +0 -0
  46. package/svelte-nodegui/extras/assets/nodegui.png +0 -0
  47. package/svelte-nodegui/extras/assets/nodegui_white.png +0 -0
  48. package/svelte-nodegui/extras/assets/start_icon.png +0 -0
  49. package/svelte-nodegui/extras/legal/logo/thanks.md +0 -13
  50. package/svelte-nodegui/extras/legal/yode/LICENSE +0 -21
  51. package/svelte-nodegui/extras/legal/yoga/LICENSE +0 -0
  52. package/svelte-nodegui/extras/logo/nodegui-circle.png +0 -0
  53. package/svelte-nodegui/extras/logo/nodegui.png +0 -0
  54. package/svelte-nodegui/extras/logo/nodegui.svg +0 -4
  55. package/svelte-nodegui/nativescript-svelte-todo.gif +0 -0
  56. package/svelte-nodegui/package-lock.json +0 -1749
  57. package/svelte-nodegui/package.json +0 -44
  58. package/svelte-nodegui/repl-workers/bundler/commonjs.js +0 -58
  59. package/svelte-nodegui/repl-workers/bundler/index.js +0 -353
  60. package/svelte-nodegui/repl-workers/package-lock.json +0 -484
  61. package/svelte-nodegui/repl-workers/package.json +0 -21
  62. package/svelte-nodegui/repl-workers/rollup.config.js +0 -21
  63. package/svelte-nodegui/rollup.config.js +0 -81
  64. package/svelte-nodegui/scripts/create-pkg.js +0 -42
  65. package/svelte-nodegui/src/components/AsComponent.svelte +0 -16
  66. package/svelte-nodegui/src/components/SlotComponent.svelte +0 -4
  67. package/svelte-nodegui/src/components/Template.svelte +0 -10
  68. package/svelte-nodegui/src/components/Template.svelte.d.ts +0 -6
  69. package/svelte-nodegui/src/components/index.ts +0 -2
  70. package/svelte-nodegui/src/dom/index.ts +0 -132
  71. package/svelte-nodegui/src/dom/nativescript-vue-next/LICENCE +0 -21
  72. package/svelte-nodegui/src/dom/nativescript-vue-next/index.ts +0 -19
  73. package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/index.ts +0 -21
  74. package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/nodes.ts +0 -890
  75. package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/registry.ts +0 -262
  76. package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/runtimeHelpers.ts +0 -20
  77. package/svelte-nodegui/src/dom/react-nodegui/LICENSE +0 -21
  78. package/svelte-nodegui/src/dom/react-nodegui/src/components/AbstractComponents/RNAbstractButton.ts +0 -67
  79. package/svelte-nodegui/src/dom/react-nodegui/src/components/Action/RNAction.ts +0 -146
  80. package/svelte-nodegui/src/dom/react-nodegui/src/components/Action/index.ts +0 -37
  81. package/svelte-nodegui/src/dom/react-nodegui/src/components/AnimatedImage/RNAnimatedImage.ts +0 -76
  82. package/svelte-nodegui/src/dom/react-nodegui/src/components/AnimatedImage/index.ts +0 -45
  83. package/svelte-nodegui/src/dom/react-nodegui/src/components/BoxView/RNBoxView.ts +0 -99
  84. package/svelte-nodegui/src/dom/react-nodegui/src/components/BoxView/index.ts +0 -49
  85. package/svelte-nodegui/src/dom/react-nodegui/src/components/Button/RNButton.ts +0 -71
  86. package/svelte-nodegui/src/dom/react-nodegui/src/components/Button/index.ts +0 -49
  87. package/svelte-nodegui/src/dom/react-nodegui/src/components/CheckBox/RNCheckBox.ts +0 -71
  88. package/svelte-nodegui/src/dom/react-nodegui/src/components/CheckBox/index.ts +0 -50
  89. package/svelte-nodegui/src/dom/react-nodegui/src/components/ComboBox/RNComboBox.ts +0 -118
  90. package/svelte-nodegui/src/dom/react-nodegui/src/components/ComboBox/index.ts +0 -50
  91. package/svelte-nodegui/src/dom/react-nodegui/src/components/Dial/RNDial.ts +0 -69
  92. package/svelte-nodegui/src/dom/react-nodegui/src/components/Dial/index.ts +0 -41
  93. package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridColumn/RNGridColumn.ts +0 -95
  94. package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridColumn/index.ts +0 -49
  95. package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridRow/RNGridRow.ts +0 -141
  96. package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridRow/index.ts +0 -47
  97. package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/RNGridView.ts +0 -185
  98. package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/index.ts +0 -51
  99. package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/utils.ts +0 -59
  100. package/svelte-nodegui/src/dom/react-nodegui/src/components/Image/RNImage.ts +0 -135
  101. package/svelte-nodegui/src/dom/react-nodegui/src/components/Image/index.ts +0 -46
  102. package/svelte-nodegui/src/dom/react-nodegui/src/components/LineEdit/RNLineEdit.ts +0 -82
  103. package/svelte-nodegui/src/dom/react-nodegui/src/components/LineEdit/index.ts +0 -41
  104. package/svelte-nodegui/src/dom/react-nodegui/src/components/Menu/RNMenu.ts +0 -49
  105. package/svelte-nodegui/src/dom/react-nodegui/src/components/Menu/index.ts +0 -44
  106. package/svelte-nodegui/src/dom/react-nodegui/src/components/MenuBar/RNMenuBar.ts +0 -51
  107. package/svelte-nodegui/src/dom/react-nodegui/src/components/MenuBar/index.ts +0 -42
  108. package/svelte-nodegui/src/dom/react-nodegui/src/components/PlainTextEdit/RNPlainTextEdit.ts +0 -82
  109. package/svelte-nodegui/src/dom/react-nodegui/src/components/PlainTextEdit/index.ts +0 -44
  110. package/svelte-nodegui/src/dom/react-nodegui/src/components/ProgressBar/RNProgressBar.ts +0 -78
  111. package/svelte-nodegui/src/dom/react-nodegui/src/components/ProgressBar/index.ts +0 -43
  112. package/svelte-nodegui/src/dom/react-nodegui/src/components/RadioButton/RNRadioButton.ts +0 -50
  113. package/svelte-nodegui/src/dom/react-nodegui/src/components/RadioButton/index.ts +0 -43
  114. package/svelte-nodegui/src/dom/react-nodegui/src/components/ScrollArea/RNScrollArea.ts +0 -51
  115. package/svelte-nodegui/src/dom/react-nodegui/src/components/ScrollArea/index.ts +0 -44
  116. package/svelte-nodegui/src/dom/react-nodegui/src/components/Slider/RNSlider.ts +0 -97
  117. package/svelte-nodegui/src/dom/react-nodegui/src/components/Slider/index.ts +0 -46
  118. package/svelte-nodegui/src/dom/react-nodegui/src/components/SpinBox/RNSpinBox.ts +0 -88
  119. package/svelte-nodegui/src/dom/react-nodegui/src/components/SpinBox/index.ts +0 -49
  120. package/svelte-nodegui/src/dom/react-nodegui/src/components/Svg/RNSvg.ts +0 -67
  121. package/svelte-nodegui/src/dom/react-nodegui/src/components/Svg/index.ts +0 -43
  122. package/svelte-nodegui/src/dom/react-nodegui/src/components/SystemTrayIcon/RNSystemTrayIcon.ts +0 -141
  123. package/svelte-nodegui/src/dom/react-nodegui/src/components/SystemTrayIcon/index.ts +0 -43
  124. package/svelte-nodegui/src/dom/react-nodegui/src/components/Tab/RNTab.ts +0 -69
  125. package/svelte-nodegui/src/dom/react-nodegui/src/components/Tab/index.ts +0 -48
  126. package/svelte-nodegui/src/dom/react-nodegui/src/components/TabItem/RNTabItem.ts +0 -72
  127. package/svelte-nodegui/src/dom/react-nodegui/src/components/TabItem/index.ts +0 -40
  128. package/svelte-nodegui/src/dom/react-nodegui/src/components/Text/RNText.ts +0 -65
  129. package/svelte-nodegui/src/dom/react-nodegui/src/components/Text/index.ts +0 -49
  130. package/svelte-nodegui/src/dom/react-nodegui/src/components/View/RNView.ts +0 -306
  131. package/svelte-nodegui/src/dom/react-nodegui/src/components/View/index.ts +0 -44
  132. package/svelte-nodegui/src/dom/react-nodegui/src/components/Window/RNWindow.ts +0 -66
  133. package/svelte-nodegui/src/dom/react-nodegui/src/components/Window/index.ts +0 -50
  134. package/svelte-nodegui/src/dom/react-nodegui/src/components/config.ts +0 -95
  135. package/svelte-nodegui/src/dom/react-nodegui/src/index.ts +0 -52
  136. package/svelte-nodegui/src/dom/react-nodegui/src/reconciler/index.ts +0 -226
  137. package/svelte-nodegui/src/dom/react-nodegui/src/utils/decoupleFromReact.ts +0 -2
  138. package/svelte-nodegui/src/dom/react-nodegui/src/utils/helpers.ts +0 -14
  139. package/svelte-nodegui/src/dom/shared/Logger.ts +0 -16
  140. package/svelte-nodegui/src/dom/shared/index.ts +0 -1
  141. package/svelte-nodegui/src/dom/svelte/HeadElement.ts +0 -41
  142. package/svelte-nodegui/src/dom/svelte/RNObject.ts +0 -95
  143. package/svelte-nodegui/src/dom/svelte/StyleElement.ts +0 -92
  144. package/svelte-nodegui/src/dom/svelte/SvelteNodeGUIDocument.ts +0 -124
  145. package/svelte-nodegui/src/dom/svelte/TemplateElement.ts +0 -16
  146. package/svelte-nodegui/src/dom/svelte-elements.ts +0 -111
  147. package/svelte-nodegui/src/index.ts +0 -62
  148. package/svelte-nodegui/src/svelte-nodegui.ts +0 -159
  149. package/svelte-nodegui/src/transitions/bezier.ts +0 -112
  150. package/svelte-nodegui/src/transitions/index.ts +0 -227
  151. package/svelte-nodegui/tsconfig.json +0 -19
  152. package/svelte-nodegui/website/README.md +0 -33
  153. package/svelte-nodegui/website/blog/2019-05-30-welcome.md +0 -12
  154. package/svelte-nodegui/website/docs/api/classes/renderer.md +0 -49
  155. package/svelte-nodegui/website/docs/api/classes/rnaction.md +0 -608
  156. package/svelte-nodegui/website/docs/api/classes/rngridcolumn.md +0 -232
  157. package/svelte-nodegui/website/docs/api/classes/rngridrow.md +0 -247
  158. package/svelte-nodegui/website/docs/api/classes/rnmenu.md +0 -1337
  159. package/svelte-nodegui/website/docs/api/classes/rnmenubar.md +0 -1341
  160. package/svelte-nodegui/website/docs/api/globals.md +0 -832
  161. package/svelte-nodegui/website/docs/api/index.md +0 -0
  162. package/svelte-nodegui/website/docs/api/interfaces/_react_proxy_.reactproxycomponent.md +0 -38
  163. package/svelte-nodegui/website/docs/api/interfaces/abstractbuttonprops.md +0 -306
  164. package/svelte-nodegui/website/docs/api/interfaces/actionprops.md +0 -115
  165. package/svelte-nodegui/website/docs/api/interfaces/animatedimageprops.md +0 -297
  166. package/svelte-nodegui/website/docs/api/interfaces/boxviewprops.md +0 -245
  167. package/svelte-nodegui/website/docs/api/interfaces/buttonprops.md +0 -313
  168. package/svelte-nodegui/website/docs/api/interfaces/checkboxprops.md +0 -313
  169. package/svelte-nodegui/website/docs/api/interfaces/comboboxprops.md +0 -343
  170. package/svelte-nodegui/website/docs/api/interfaces/datawithoffset.md +0 -32
  171. package/svelte-nodegui/website/docs/api/interfaces/dialprops.md +0 -259
  172. package/svelte-nodegui/website/docs/api/interfaces/gridviewprops.md +0 -273
  173. package/svelte-nodegui/website/docs/api/interfaces/imageprops.md +0 -311
  174. package/svelte-nodegui/website/docs/api/interfaces/lineeditprops.md +0 -266
  175. package/svelte-nodegui/website/docs/api/interfaces/menubarprops.md +0 -245
  176. package/svelte-nodegui/website/docs/api/interfaces/menuprops.md +0 -245
  177. package/svelte-nodegui/website/docs/api/interfaces/plaintexteditprops.md +0 -259
  178. package/svelte-nodegui/website/docs/api/interfaces/progressbarprops.md +0 -266
  179. package/svelte-nodegui/website/docs/api/interfaces/radiobuttonprops.md +0 -282
  180. package/svelte-nodegui/website/docs/api/interfaces/scrollareaprops.md +0 -245
  181. package/svelte-nodegui/website/docs/api/interfaces/sliderprops.md +0 -329
  182. package/svelte-nodegui/website/docs/api/interfaces/spinboxprops.md +0 -273
  183. package/svelte-nodegui/website/docs/api/interfaces/systemtrayiconprops.md +0 -97
  184. package/svelte-nodegui/website/docs/api/interfaces/tabitemprops.md +0 -28
  185. package/svelte-nodegui/website/docs/api/interfaces/tabprops.md +0 -245
  186. package/svelte-nodegui/website/docs/api/interfaces/textprops.md +0 -277
  187. package/svelte-nodegui/website/docs/api/interfaces/viewprops.md +0 -261
  188. package/svelte-nodegui/website/docs/api/interfaces/windowprops.md +0 -245
  189. package/svelte-nodegui/website/docs/api/modules/_react_proxy_.md +0 -29
  190. package/svelte-nodegui/website/docs/doc1.md +0 -162
  191. package/svelte-nodegui/website/docs/guides/custom-nodegui-native-plugin.md +0 -6
  192. package/svelte-nodegui/website/docs/guides/debugging-in-vscode.md +0 -39
  193. package/svelte-nodegui/website/docs/guides/debugging.md +0 -59
  194. package/svelte-nodegui/website/docs/guides/getting-started.md +0 -141
  195. package/svelte-nodegui/website/docs/guides/handle-events.md +0 -188
  196. package/svelte-nodegui/website/docs/guides/images.md +0 -62
  197. package/svelte-nodegui/website/docs/guides/layout.md +0 -281
  198. package/svelte-nodegui/website/docs/guides/networking.md +0 -31
  199. package/svelte-nodegui/website/docs/guides/packaging.md +0 -32
  200. package/svelte-nodegui/website/docs/guides/scroll-view.md +0 -69
  201. package/svelte-nodegui/website/docs/guides/styling.md +0 -208
  202. package/svelte-nodegui/website/docs/guides/tutorial.md +0 -82
  203. package/svelte-nodegui/website/docs/guides/using-native-node-modules.md +0 -55
  204. package/svelte-nodegui/website/docs/mdx.md +0 -22
  205. package/svelte-nodegui/website/docs/scripts/fixdocs.js +0 -21
  206. package/svelte-nodegui/website/docusaurus.config.js +0 -131
  207. package/svelte-nodegui/website/package.json +0 -33
  208. package/svelte-nodegui/website/sidebars.js +0 -77
  209. package/svelte-nodegui/website/src/components/CodeExample.js +0 -42
  210. package/svelte-nodegui/website/src/components/CreateNativeApps.js +0 -46
  211. package/svelte-nodegui/website/src/components/Features.js +0 -62
  212. package/svelte-nodegui/website/src/components/Hero.js +0 -85
  213. package/svelte-nodegui/website/src/components/SplitView.js +0 -18
  214. package/svelte-nodegui/website/src/components/Talks.js +0 -68
  215. package/svelte-nodegui/website/src/components/Try.js +0 -83
  216. package/svelte-nodegui/website/src/components/common.js +0 -41
  217. package/svelte-nodegui/website/src/components/styles.css +0 -61
  218. package/svelte-nodegui/website/src/css/custom.css +0 -34
  219. package/svelte-nodegui/website/src/pages/index.js +0 -32
  220. package/svelte-nodegui/website/src/pages/styles.module.css +0 -35
  221. package/svelte-nodegui/website/static/CNAME +0 -1
  222. package/svelte-nodegui/website/static/img/box-layout-1.png +0 -0
  223. package/svelte-nodegui/website/static/img/box-layout-2.png +0 -0
  224. package/svelte-nodegui/website/static/img/code-sample.png +0 -0
  225. package/svelte-nodegui/website/static/img/demo.png +0 -0
  226. package/svelte-nodegui/website/static/img/favicon.ico +0 -0
  227. package/svelte-nodegui/website/static/img/flex-layout-1.png +0 -0
  228. package/svelte-nodegui/website/static/img/grid-layout-1.png +0 -0
  229. package/svelte-nodegui/website/static/img/logo-circle.png +0 -0
  230. package/svelte-nodegui/website/static/img/logo.png +0 -0
  231. package/svelte-nodegui/website/static/img/logo.svg +0 -5
  232. package/svelte-nodegui/website/static/img/logox200.png +0 -0
  233. package/svelte-nodegui/website/static/img/undraw_building_websites.svg +0 -1
  234. package/svelte-nodegui/website/static/img/undraw_code_review.svg +0 -1
  235. package/svelte-nodegui/website/static/img/undraw_docusaurus_mountain.svg +0 -170
  236. package/svelte-nodegui/website/static/img/undraw_docusaurus_react.svg +0 -169
  237. package/svelte-nodegui/website/static/img/undraw_docusaurus_tree.svg +0 -1
  238. package/svelte-nodegui/website/static/img/undraw_react.svg +0 -1
  239. package/svelte-nodegui/website/static/img/undraw_website_setup.svg +0 -1
  240. package/svelte-nodegui/website/static/img/undraw_windows.svg +0 -11
  241. package/svelte-nodegui/website/website/sidebars.js +0 -32
  242. package/svelte-nodegui/website/yarn.lock +0 -10533
@@ -1,306 +0,0 @@
1
- import {
2
- QWidget,
3
- WindowState,
4
- QCursor,
5
- CursorShape,
6
- NodeWidget,
7
- QIcon,
8
- FlexLayout,
9
- WidgetEventTypes,
10
- QWidgetSignals,
11
- } from "@nodegui/nodegui";
12
- import { NativeRawPointer } from "@nodegui/nodegui/dist/lib/core/Component";
13
- import { RNWidget, RNProps } from "../config";
14
-
15
- /**
16
- * The View component can be used to encapsulate other components and provide structure.
17
- * It functions similar to a div in the web world. It is based on
18
- * [NodeGui's QWidget](https://docs.nodegui.org/docs/api/QWidget).
19
- * ## Example
20
- * ```javascript
21
- *import React from "react";
22
- *import { Renderer, Button, Window, View } from "./index";
23
- *const App = () => {
24
- * return (
25
- * <Window>
26
- * <View>
27
- * <Button style={buttonStyle} text={"Hello"} />
28
- * <Button style={buttonStyle} text={"World"} />
29
- * </View>
30
- * </Window>
31
- * );
32
- *};
33
- *const buttonStyle = `
34
- * color: white;
35
- *`;
36
- *Renderer.render(<App />);
37
- * ```
38
- */
39
-
40
- export interface ViewProps<Signals extends {}> extends RNProps {
41
- /**
42
- * Shows or hides the widget and its children. [QWidget: show](https://docs.nodegui.org/docs/api/NodeWidget#widgetshow)
43
- */
44
- visible?: boolean;
45
- /**
46
- * Sets the property that holds the widget's style sheet. [QWidget: setStyleSheet](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetstylesheetstylesheet)
47
- */
48
- styleSheet?: string;
49
- /**
50
- * Sets the inline stylesheet property. [QWidget: setInlineStyle](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetinlinestylestyle)
51
- */
52
- style?: string;
53
- /**
54
- * Sets the screen position as well as size of the widget. [QWidget: setGeometry](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetgeometryx-y-width-height)
55
- */
56
- geometry?: Geometry;
57
- /**
58
- * Sets the object name (id) of the widget in Qt. Object name can be analogous to id of an element in the web world. Using the objectName of the widget one can reference it in the Qt's stylesheet much like what we do with id in the web world. [QWidget: setObjectName](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetobjectnameobjectname)
59
- */
60
- id?: string;
61
- /**
62
- * Sets the property that tells whether mouseTracking is enabled for the widget. [QWidget: setMouseTracking](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetmousetrackingismousetracked)
63
- */
64
- mouseTracking?: boolean;
65
- /**
66
- * Sets the property that tells whether the widget is enabled. In general an enabled widget handles keyboard and mouse events; a disabled widget does not. [QWidget: setEnabled](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetenabledenabled)
67
- */
68
- enabled?: boolean;
69
- /**
70
- * This property holds the level of opacity for the window. [QWidget: setWindowOpacity](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetwindowopacityopacity)
71
- */
72
- windowOpacity?: number;
73
- /**
74
- * Sets the window title property. [QWidget: setWindowTitle](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetwindowtitletitle)
75
- */
76
- windowTitle?: string;
77
- /**
78
- * Sets the window state. [QWidget: setWindowState](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetwindowstatestate)
79
- */
80
- windowState?: WindowState;
81
- /**
82
- * Sets the window mouse cursor. [QWidget: setCursor](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetcursorcursor)
83
- */
84
- cursor?: CursorShape | QCursor;
85
- /**
86
- * Sets the window icon. [QWidget: setWindowIcon](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetwindowiconicon)
87
- */
88
- windowIcon?: QIcon;
89
- /**
90
- * Sets the minimum size of the widget. [QWidget: setMinimumSize](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetminimumsizewidth-height)
91
- */
92
- minSize?: Size;
93
- /**
94
- * Sets the maximum size of the widget. [QWidget: setMaximumSize](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetmaximumsizewidth-height)
95
- */
96
- maxSize?: Size;
97
- /**
98
- * Sets both the minimum and maximum sizes of the widget. [QWidget: setFixedSize](https://docs.nodegui.org/docs/api/NodeWidget#widgetsetfixedsizewidth-height)
99
- */
100
- size?: ViewSize;
101
- /**
102
- * Sets the screen position of the widget. [QWidget: move](https://docs.nodegui.org/docs/api/NodeWidget#widgetmovex-y)
103
- */
104
- pos?: Position;
105
- /**
106
- * Prop to set the event listener map. See [Handlong Events](/docs/guides/handle-events)
107
- */
108
- on?: Partial<WidgetEventListeners | Signals>;
109
- /**
110
- * Prop to set the ref. The ref will return the underlying nodegui widget.
111
- */
112
- ref?: any;
113
- /**
114
- * Prop to set the Widget Attributes. example:
115
- * `<View attributes={{[WidgetAttributes.WA_Disabled]: true}} />`
116
- */
117
- attributes?: WidgetAttributesMap;
118
-
119
- /**
120
- * Prop to set the Widget flags. example:
121
- * `<View windowFlags={{[WindowType.SplashScreen]: true}} />`
122
- */
123
- windowFlags?: WindowFlagsMap;
124
- }
125
-
126
- /**
127
- * @ignore
128
- */
129
- export function setViewProps<Signals extends {}>(
130
- widget: NodeWidget<any>,
131
- newProps: ViewProps<Signals>,
132
- oldProps: ViewProps<Signals>
133
- ) {
134
- const setter: ViewProps<Signals> = {
135
- set visible(shouldShow: boolean) {
136
- shouldShow ? widget.show() : widget.hide();
137
- },
138
- set styleSheet(styleSheet: string) {
139
- widget.setStyleSheet(styleSheet);
140
- },
141
- set style(inlineStyle: string) {
142
- if (newProps.styleSheet) {
143
- console.warn("Both styleSheet and inlineStyle can't be used together");
144
- }
145
- widget.setInlineStyle(inlineStyle);
146
- },
147
- set geometry(geometry: Geometry) {
148
- widget.setGeometry(
149
- geometry.x,
150
- geometry.y,
151
- geometry.width,
152
- geometry.height
153
- );
154
- },
155
- set id(id: string) {
156
- widget.setObjectName(id);
157
- },
158
- set mouseTracking(isMouseTracked: boolean) {
159
- widget.setMouseTracking(isMouseTracked);
160
- },
161
- set enabled(enable: boolean) {
162
- widget.setEnabled(enable);
163
- },
164
- set windowOpacity(opacity: number) {
165
- widget.setWindowOpacity(opacity);
166
- },
167
- set windowTitle(title: string) {
168
- widget.setWindowTitle(title);
169
- },
170
- set windowState(state: WindowState) {
171
- widget.setWindowState(state);
172
- },
173
- set cursor(cursor: CursorShape | QCursor) {
174
- widget.setCursor(cursor);
175
- },
176
- set windowIcon(icon: QIcon) {
177
- widget.setWindowIcon(icon);
178
- },
179
- set minSize(size: Size) {
180
- widget.setMinimumSize(size.width, size.height);
181
- },
182
- set maxSize(size: Size) {
183
- widget.setMaximumSize(size.width, size.height);
184
- },
185
- set size(size: ViewSize) {
186
- if (size.fixed) {
187
- widget.setFixedSize(size.width, size.height);
188
- } else {
189
- const minSize = newProps.minSize || { width: 0, height: 0 };
190
- const maxSize = newProps.maxSize || {
191
- width: 16777215,
192
- height: 16777215,
193
- };
194
- widget.setMinimumSize(minSize.width, minSize.height);
195
- widget.setMaximumSize(maxSize.width, maxSize.height);
196
- widget.resize(size.width, size.height);
197
- }
198
- },
199
- set pos(position: Position) {
200
- widget.move(position.x, position.y);
201
- },
202
- set on(listenerMap: Partial<WidgetEventListeners | Signals>) {
203
- const listenerMapLatest: any = Object.assign({}, listenerMap);
204
- const oldListenerMap = Object.assign({}, oldProps.on);
205
- Object.entries(oldListenerMap).forEach(([eventType, oldEvtListener]) => {
206
- const newEvtListener = listenerMapLatest[eventType];
207
- if (oldEvtListener !== newEvtListener) {
208
- widget.removeEventListener(eventType as any, oldEvtListener);
209
- } else {
210
- delete listenerMapLatest[eventType];
211
- }
212
- });
213
-
214
- Object.entries(listenerMapLatest).forEach(
215
- ([eventType, newEvtListener]) => {
216
- widget.addEventListener(eventType as any, newEvtListener);
217
- }
218
- );
219
- },
220
- set attributes(attributesMap: WidgetAttributesMap) {
221
- Object.entries(attributesMap).forEach(([attribute, value]) => {
222
- widget.setAttribute(Number(attribute), value);
223
- });
224
- },
225
- set windowFlags(windowFlagsMap: WindowFlagsMap) {
226
- Object.entries(windowFlagsMap).forEach(([flag, value]) => {
227
- widget.setWindowFlag(Number(flag), value);
228
- });
229
- },
230
- };
231
- Object.assign(setter, newProps);
232
- }
233
-
234
- /**
235
- * @ignore
236
- */
237
- export class RNView extends QWidget implements RNWidget {
238
- setProps(
239
- newProps: ViewProps<QWidgetSignals>,
240
- oldProps: ViewProps<QWidgetSignals>
241
- ): void {
242
- setViewProps(this, newProps, oldProps);
243
- }
244
- insertBefore(child: NodeWidget<any>, beforeChild: NodeWidget<any>): void {
245
- if (!this.layout) {
246
- console.warn("parent has no layout to insert child before another child");
247
- return;
248
- }
249
- (this.layout as FlexLayout).insertChildBefore(child, beforeChild);
250
- }
251
- static tagName = "view";
252
- appendInitialChild(child: NodeWidget<any>): void {
253
- this.appendChild(child);
254
- }
255
- appendChild(child: NodeWidget<any>): void {
256
- if (!child) {
257
- return;
258
- }
259
- if (!this.layout) {
260
- const flexLayout = new FlexLayout();
261
- flexLayout.setFlexNode(this.getFlexNode());
262
- this.setLayout(flexLayout);
263
- this.layout = flexLayout;
264
- }
265
- this.layout.addWidget(child);
266
- }
267
- removeChild(child: NodeWidget<any>) {
268
- if (!this.layout) {
269
- console.warn("parent has no layout to remove child from");
270
- return;
271
- }
272
- this.layout.removeWidget(child);
273
- child.close();
274
- }
275
- }
276
-
277
- type Geometry = {
278
- x: number;
279
- y: number;
280
- width: number;
281
- height: number;
282
- };
283
-
284
- type Size = {
285
- width: number;
286
- height: number;
287
- };
288
- type ViewSize = Size & {
289
- fixed?: boolean;
290
- };
291
- type Position = {
292
- x: number;
293
- y: number;
294
- };
295
-
296
- type WidgetAttributesMap = {
297
- [key: number]: boolean;
298
- };
299
-
300
- type WindowFlagsMap = {
301
- [key: number]: boolean;
302
- };
303
-
304
- export type WidgetEventListeners = {
305
- [key in WidgetEventTypes]: (event?: NativeRawPointer<"QEvent">) => void;
306
- };
@@ -1,44 +0,0 @@
1
- import { registerComponent, ComponentConfig } from "../config";
2
- import type { Fiber } from "../../utils/decoupleFromReact";
3
- import { RNView, ViewProps } from "./RNView";
4
- import { AppContainer } from "../../reconciler";
5
- import { QWidgetSignals } from "@nodegui/nodegui";
6
- class ViewConfig extends ComponentConfig {
7
- tagName = RNView.tagName;
8
- shouldSetTextContent() {
9
- return false;
10
- }
11
- createInstance(
12
- newProps: ViewProps<QWidgetSignals>,
13
- rootInstance: AppContainer,
14
- context: any,
15
- workInProgress: Fiber
16
- ): RNView {
17
- const widget = new RNView();
18
- widget.setProps(newProps, {});
19
- return widget;
20
- }
21
- commitMount(
22
- instance: RNView,
23
- newProps: ViewProps<QWidgetSignals>,
24
- internalInstanceHandle: any
25
- ): void {
26
- if (newProps.visible !== false) {
27
- instance.show();
28
- }
29
- return;
30
- }
31
- commitUpdate(
32
- instance: RNView,
33
- updatePayload: any,
34
- oldProps: ViewProps<QWidgetSignals>,
35
- newProps: ViewProps<QWidgetSignals>,
36
- finishedWork: Fiber
37
- ): void {
38
- instance.setProps(newProps, oldProps);
39
- }
40
- }
41
-
42
- export const View = registerComponent<ViewProps<QWidgetSignals>>(
43
- new ViewConfig()
44
- );
@@ -1,66 +0,0 @@
1
- import {
2
- QMainWindow,
3
- NodeWidget,
4
- QMainWindowSignals,
5
- QMenuBar,
6
- } from "@nodegui/nodegui";
7
- import { setViewProps, ViewProps } from "../View/RNView";
8
- import { RNWidget } from "../config";
9
-
10
- export interface WindowProps extends ViewProps<QMainWindowSignals> {
11
- menuBar?: QMenuBar;
12
- }
13
-
14
- const setWindowProps = (
15
- window: RNWindow,
16
- newProps: WindowProps,
17
- oldProps: WindowProps
18
- ) => {
19
- const setter: WindowProps = {
20
- set menuBar(menubar: QMenuBar) {
21
- window.setMenuBar(menubar);
22
- console.log("menubar was set");
23
- },
24
- };
25
- Object.assign(setter, newProps);
26
- setViewProps(window, newProps, oldProps);
27
- };
28
-
29
- /**
30
- * @ignore
31
- */
32
- export class RNWindow extends QMainWindow implements RNWidget {
33
- setProps(newProps: WindowProps, oldProps: WindowProps): void {
34
- setWindowProps(this, newProps, oldProps);
35
- }
36
- removeChild(child: NodeWidget<any>) {
37
- const removedChild = this.takeCentralWidget();
38
- if (removedChild) {
39
- removedChild.close();
40
- }
41
- child.close();
42
- }
43
- appendInitialChild(child: NodeWidget<any> | QMenuBar): void {
44
- if (child instanceof QMenuBar) {
45
- if (!this.menuBar()) {
46
- this.setMenuBar(child);
47
- } else {
48
- console.warn("MainWindow can't have more than one menubar.");
49
- }
50
- return;
51
- }
52
-
53
- if (!this.centralWidget) {
54
- this.setCentralWidget(child);
55
- } else {
56
- console.warn("MainWindow can't have more than one child node");
57
- }
58
- }
59
- appendChild(child: NodeWidget<any>): void {
60
- this.appendInitialChild(child);
61
- }
62
- insertBefore(child: NodeWidget<any>, beforeChild: NodeWidget<any>): void {
63
- this.appendInitialChild(child);
64
- }
65
- static tagName = "mainwindow";
66
- }
@@ -1,50 +0,0 @@
1
- import { registerComponent, ComponentConfig } from "../config";
2
- import type { Fiber } from "../../utils/decoupleFromReact";
3
- import { WindowProps, RNWindow } from "./RNWindow";
4
- import { AppContainer } from "../../reconciler";
5
-
6
- class WindowConfig extends ComponentConfig {
7
- tagName = RNWindow.tagName;
8
- shouldSetTextContent(nextProps: WindowProps): boolean {
9
- return false;
10
- }
11
- createInstance(
12
- newProps: WindowProps,
13
- rootInstance: AppContainer,
14
- context: any,
15
- workInProgress: Fiber
16
- ): RNWindow {
17
- const window = new RNWindow();
18
- window.setProps(newProps, {});
19
- return window;
20
- }
21
- finalizeInitialChildren(
22
- instance: RNWindow,
23
- newProps: WindowProps,
24
- rootContainerInstance: AppContainer,
25
- context: any
26
- ): boolean {
27
- return true;
28
- }
29
- commitMount(
30
- instance: RNWindow,
31
- newProps: WindowProps,
32
- internalInstanceHandle: any
33
- ): void {
34
- if (newProps.visible !== false) {
35
- instance.show();
36
- }
37
- return;
38
- }
39
- commitUpdate(
40
- instance: RNWindow,
41
- updatePayload: any,
42
- oldProps: WindowProps,
43
- newProps: WindowProps,
44
- finishedWork: Fiber
45
- ): void {
46
- instance.setProps(newProps, oldProps);
47
- }
48
- }
49
-
50
- export const Window = registerComponent<WindowProps>(new WindowConfig());
@@ -1,95 +0,0 @@
1
- import { NodeWidget, Component } from "@nodegui/nodegui";
2
- import type { Fiber } from "../utils/decoupleFromReact";
3
- import { AppContainer } from "../reconciler";
4
-
5
- type UpdatePayload = any;
6
-
7
- export interface RNProps {}
8
-
9
- export abstract class RNComponent {
10
- static tagName: string;
11
- abstract setProps(newProps: RNProps, oldProps: RNProps): void;
12
- abstract appendInitialChild(child: Component): void;
13
- abstract appendChild(child: Component): void;
14
- abstract insertBefore(child: Component, beforeChild: Component): void;
15
- abstract removeChild(child: Component): void;
16
- }
17
- export abstract class RNWidget extends NodeWidget<any> implements RNComponent {
18
- static tagName: string;
19
- abstract setProps(newProps: RNProps, oldProps: RNProps): void;
20
- abstract appendInitialChild(child: NodeWidget<any>): void;
21
- abstract appendChild(child: NodeWidget<any>): void;
22
- abstract insertBefore(
23
- child: NodeWidget<any>,
24
- beforeChild: NodeWidget<any>
25
- ): void;
26
- abstract removeChild(child: NodeWidget<any>): void;
27
- }
28
- export abstract class ComponentConfig {
29
- abstract tagName: string;
30
- getContext(parentContext: any, rootInstance: AppContainer) {
31
- return {};
32
- }
33
- abstract shouldSetTextContent(nextProps: RNProps): boolean;
34
- abstract createInstance(
35
- newProps: RNProps,
36
- rootInstance?: AppContainer,
37
- context?: any,
38
- workInProgress?: Fiber
39
- ): RNComponent;
40
- finalizeInitialChildren(
41
- instance: RNComponent,
42
- newProps: RNProps,
43
- rootContainerInstance: AppContainer,
44
- context: any
45
- ) {
46
- return false;
47
- }
48
- commitMount(
49
- instance: RNComponent,
50
- newProps: RNProps,
51
- internalInstanceHandle: any
52
- ) {
53
- return;
54
- }
55
- // Update methods:
56
- prepareUpdate(
57
- instance: RNComponent,
58
- oldProps: RNProps,
59
- newProps: RNProps,
60
- rootContainerInstance: AppContainer,
61
- hostContext: any
62
- ): UpdatePayload {
63
- return true;
64
- }
65
- abstract commitUpdate(
66
- instance: RNComponent,
67
- updatePayload: any,
68
- oldProps: RNProps,
69
- newProps: RNProps,
70
- finishedWork: Fiber
71
- ): void;
72
- }
73
-
74
- // type ReactNodeGuiTag<P> = string | React.ComponentType<P>;
75
- type ReactNodeGuiTag<P> = string;
76
-
77
- const components = new Map<string, ComponentConfig>();
78
-
79
- export const getComponentByTagName = (tagName: string): ComponentConfig => {
80
- const config = components.get(tagName);
81
- if (!config) {
82
- throw `Unknown component ${tagName}`;
83
- }
84
- return config;
85
- };
86
-
87
- export function registerComponent<Props>(
88
- config: ComponentConfig
89
- ): ReactNodeGuiTag<Props> {
90
- if (components.has(config.tagName)) {
91
- throw `A component with tagName: ${config.tagName} already exists. This base component will be ignored`;
92
- }
93
- components.set(config.tagName, config);
94
- return config.tagName;
95
- }
@@ -1,52 +0,0 @@
1
- export { Action } from "./components/Action";
2
- export { BoxView } from "./components/BoxView";
3
- export { GridView } from "./components/GridView";
4
- export { GridRow } from "./components/GridView/GridRow";
5
- export { GridColumn } from "./components/GridView/GridColumn";
6
- export { Slider } from "./components/Slider";
7
- export { Svg } from "./components/Svg";
8
- export { View } from "./components/View";
9
- export { Window } from "./components/Window";
10
- export { Text } from "./components/Text";
11
- export { Image } from "./components/Image";
12
- export { AnimatedImage } from "./components/AnimatedImage";
13
- export { Button } from "./components/Button";
14
- export { CheckBox } from "./components/CheckBox";
15
- export { LineEdit } from "./components/LineEdit";
16
- export { Menu } from "./components/Menu";
17
- export { MenuBar } from "./components/MenuBar";
18
- export { PlainTextEdit } from "./components/PlainTextEdit";
19
- export { ProgressBar } from "./components/ProgressBar";
20
- export { RadioButton } from "./components/RadioButton";
21
- export { Dial } from "./components/Dial";
22
- export { SpinBox } from "./components/SpinBox";
23
- export { ScrollArea } from "./components/ScrollArea";
24
- export { ComboBox } from "./components/ComboBox";
25
- export { SystemTrayIcon } from "./components/SystemTrayIcon";
26
- export { Tabs } from "./components/Tab";
27
- export { TabItem } from "./components/TabItem";
28
-
29
- export { ImageProps, RNImage } from "./components/Image/RNImage";
30
- export { AnimatedImageProps, RNAnimatedImage } from "./components/AnimatedImage/RNAnimatedImage";
31
- export { ViewProps, RNView } from "./components/View/RNView";
32
- export { CheckBoxProps, RNCheckBox } from "./components/CheckBox/RNCheckBox";
33
- export { TextProps, RNText } from "./components/Text/RNText";
34
- export { DialProps, RNDial } from "./components/Dial/RNDial";
35
- export { LineEditProps, RNLineEdit } from "./components/LineEdit/RNLineEdit";
36
- export { WindowProps, RNWindow } from "./components/Window/RNWindow";
37
- export { ProgressBarProps, RNProgressBar } from "./components/ProgressBar/RNProgressBar";
38
- export { ComboBoxProps, RNComboBox } from "./components/ComboBox/RNComboBox";
39
- export { ButtonProps, RNButton } from "./components/Button/RNButton";
40
- export { SpinBoxProps, RNSpinBox } from "./components/SpinBox/RNSpinBox";
41
- export { RadioButtonProps, RNRadioButton } from "./components/RadioButton/RNRadioButton";
42
- export { TabProps, RNTab } from "./components/Tab/RNTab";
43
- export { MenuProps, RNMenu } from "./components/Menu/RNMenu";
44
- export { MenuBarProps, RNMenuBar } from "./components/MenuBar/RNMenuBar";
45
- export { PlainTextEditProps, RNPlainTextEdit } from "./components/PlainTextEdit/RNPlainTextEdit";
46
- export { SliderProps, RNSlider } from "./components/Slider/RNSlider";
47
- export { SvgProps, RNSvg } from "./components/Svg/RNSvg";
48
- export { SystemTrayIconProps, RNSystemTrayIcon } from "./components/SystemTrayIcon/RNSystemTrayIcon";
49
- export { ActionProps, RNAction } from "./components/Action/RNAction";
50
- export { BoxViewProps, RNBoxView } from "./components/BoxView/RNBoxView";
51
- export { GridViewProps, RNGridView } from "./components/GridView/RNGridView";
52
- export { ScrollAreaProps, RNScrollArea } from "./components/ScrollArea/RNScrollArea";