add gtk typings and renderer for window
This commit is contained in:
parent
ce38dcf8b0
commit
90dff70165
5 changed files with 36 additions and 10 deletions
11
lib/jsx/types/gtk.ts
Normal file
11
lib/jsx/types/gtk.ts
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import Gtk40 from "gi://Gtk?version=4.0";
|
||||
|
||||
export const GtkClasses = {
|
||||
window: Gtk40.Window,
|
||||
};
|
||||
export type GtkElements = {
|
||||
[K in keyof typeof GtkClasses]: ConstructorParameters<
|
||||
(typeof GtkClasses)[K]
|
||||
>[0];
|
||||
};
|
||||
export type GtkTag = keyof typeof GtkClasses;
|
||||
2
lib/jsx/types/index.ts
Normal file
2
lib/jsx/types/index.ts
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
export * from "./gtk";
|
||||
export * from "./jsx";
|
||||
21
lib/jsx/types/jsx.ts
Normal file
21
lib/jsx/types/jsx.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import type { JSX } from "@lib/jsx/jsx-runtime";
|
||||
|
||||
export type RenderedNode = JSX.Element;
|
||||
|
||||
export type JSXNode =
|
||||
| RenderedNode
|
||||
| (() => JSXNode)
|
||||
| boolean
|
||||
| number
|
||||
| bigint
|
||||
| string
|
||||
| null
|
||||
| undefined;
|
||||
|
||||
export interface JSXChildren {
|
||||
children?: JSXNode | JSXNode[] | undefined;
|
||||
}
|
||||
|
||||
export type FunctionComponent = (
|
||||
props?: Record<string, unknown>,
|
||||
) => RenderedNode;
|
||||
Loading…
Add table
Add a link
Reference in a new issue