@nodegui/svelte-nodegui
Version:
Svelte integration for NodeGUI
26 lines (23 loc) • 1.23 kB
JavaScript
import { initializeDom } from './dom';
export { DomTraceCategory, NSVElement, initializeDom } from './dom';
export { RNAction, RNAnimatedImage, RNBoxView, RNButton, RNCheckBox, RNComboBox, RNDial, RNGridView, RNImage, RNLineEdit, RNMenu, RNMenuBar, RNPlainTextEdit, RNProgressBar, RNRadioButton, RNScrollArea, RNSlider, RNSpinBox, RNSystemTrayIcon, RNTab, RNText, RNView, RNWindow } from './dom/react-nodegui/src';
function svelteNodeGUI(rootElement, data) {
const doc = initializeDom();
return new Promise((resolve, reject) => {
let elementInstance;
const buildElement = () => {
elementInstance = new rootElement({
target: doc.body,
props: data || {}
});
return doc.body.firstChild.nativeView;
};
buildElement();
resolve(elementInstance);
});
}
// Svelte looks to see if window is undefined in order to determine if it is running on the client or in SSR.
// window is undefined until initializeDom is called. We will set it to a temporary value here and overwrite it in intializedom.
global.window = { env: "Svelte NodeGUI" };
export { svelteNodeGUI };
//# sourceMappingURL=index.js.map