@gtkx/cli 0.19.0 → 0.21.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,MAAM,CAAC;AAK7D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,IAAI,CAkC/D,CAAC"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,MAAM,CAAC;AAM7D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,IAAI,CAyC/D,CAAC"}
package/dist/builder.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { build as viteBuild } from "vite";
2
2
  import { gtkxAssets } from "./vite-plugin-gtkx-assets.js";
3
3
  import { gtkxBuiltUrl } from "./vite-plugin-gtkx-built-url.js";
4
+ import { gtkxGSettings } from "./vite-plugin-gtkx-gsettings.js";
4
5
  import { gtkxNative } from "./vite-plugin-gtkx-native.js";
5
6
  /**
6
7
  * Builds a GTKX application for production using Vite's SSR build mode.
@@ -29,7 +30,13 @@ export const build = async (options) => {
29
30
  const root = viteConfig?.root ?? process.cwd();
30
31
  await viteBuild({
31
32
  ...viteConfig,
32
- plugins: [...(viteConfig?.plugins ?? []), gtkxAssets(), gtkxBuiltUrl(assetBase), gtkxNative(root)],
33
+ plugins: [
34
+ ...(viteConfig?.plugins ?? []),
35
+ gtkxGSettings(),
36
+ gtkxAssets(),
37
+ gtkxBuiltUrl(assetBase),
38
+ gtkxNative(root),
39
+ ],
33
40
  build: {
34
41
  ...viteConfig?.build,
35
42
  ssr: entry,
@@ -37,6 +44,7 @@ export const build = async (options) => {
37
44
  assetsInlineLimit: 0,
38
45
  outDir: viteConfig?.build?.outDir ?? "dist",
39
46
  minify: true,
47
+ cssMinify: false,
40
48
  rollupOptions: {
41
49
  ...viteConfig?.build?.rollupOptions,
42
50
  output: {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAkC1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAqB,EAAiB,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE/C,MAAM,SAAS,CAAC;QACZ,GAAG,UAAU;QACb,OAAO,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAClG,KAAK,EAAE;YACH,GAAG,UAAU,EAAE,KAAK;YACpB,GAAG,EAAE,KAAK;YACV,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,CAAC;YACpB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM;YAC3C,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE;gBACX,GAAG,UAAU,EAAE,KAAK,EAAE,aAAa;gBACnC,MAAM,EAAE;oBACJ,GAAI,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,EAAE,CAA6B;oBAChF,cAAc,EAAE,WAAW;iBAC9B;aACJ;SACJ;QACD,MAAM,EAAE;YACJ,GAAG,UAAU,EAAE,MAAM;YACrB,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;SACvD;QACD,GAAG,EAAE;YACD,GAAG,UAAU,EAAE,GAAG;YAClB,UAAU,EAAE,IAAI;SACnB;QACD,YAAY,EAAE;YACV,GAAG,UAAU,EAAE,YAAY;SAC9B;KACJ,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAkC1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAqB,EAAiB,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE/C,MAAM,SAAS,CAAC;QACZ,GAAG,UAAU;QACb,OAAO,EAAE;YACL,GAAG,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;YAC9B,aAAa,EAAE;YACf,UAAU,EAAE;YACZ,YAAY,CAAC,SAAS,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC;SACnB;QACD,KAAK,EAAE;YACH,GAAG,UAAU,EAAE,KAAK;YACpB,GAAG,EAAE,KAAK;YACV,aAAa,EAAE,IAAI;YACnB,iBAAiB,EAAE,CAAC;YACpB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,IAAI,MAAM;YAC3C,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE;gBACX,GAAG,UAAU,EAAE,KAAK,EAAE,aAAa;gBACnC,MAAM,EAAE;oBACJ,GAAI,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,EAAE,CAA6B;oBAChF,cAAc,EAAE,WAAW;iBAC9B;aACJ;SACJ;QACD,MAAM,EAAE;YACJ,GAAG,UAAU,EAAE,MAAM;YACrB,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;SACvD;QACD,GAAG,EAAE;YACD,GAAG,UAAU,EAAE,GAAG;YAClB,UAAU,EAAE,IAAI;SACnB;QACD,YAAY,EAAE;YACV,GAAG,UAAU,EAAE,YAAY;SAC9B;KACJ,CAAC,CAAC;AACP,CAAC,CAAC"}
package/dist/create.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Supported package managers for GTKX projects.
3
3
  */
4
- export type PackageManager = "pnpm" | "npm" | "yarn";
4
+ type PackageManager = "pnpm" | "npm" | "yarn";
5
5
  /**
6
6
  * Whether to include testing setup in GTKX projects.
7
7
  */
@@ -11,7 +11,7 @@ export type TestingOption = "vitest" | "none";
11
11
  *
12
12
  * All options are optional; missing values will be prompted interactively.
13
13
  */
14
- export type CreateOptions = {
14
+ type CreateOptions = {
15
15
  name?: string;
16
16
  appId?: string;
17
17
  packageManager?: PackageManager;
@@ -51,4 +51,5 @@ export declare const isValidAppId: (appId: string) => boolean;
51
51
  * ```
52
52
  */
53
53
  export declare const createApp: (options?: CreateOptions) => Promise<void>;
54
+ export {};
54
55
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAiBF,eAAO,MAAM,aAAa,GAAI,IAAI,cAAc,EAAE,MAAM,MAAM,EAAE,EAAE,KAAK,OAAO,KAAG,MAYhF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,IAAI,cAAc,KAAG,MASlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,OAEjD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAE5C,CAAC;AA+LF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,SAAS,GAAU,UAAS,aAAkB,KAAG,OAAO,CAAC,IAAI,CAezE,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,KAAK,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9C;;;;GAIG;AACH,KAAK,aAAa,GAAG;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAiBF,eAAO,MAAM,aAAa,GAAI,IAAI,cAAc,EAAE,MAAM,MAAM,EAAE,EAAE,KAAK,OAAO,KAAG,MAYhF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,IAAI,cAAc,KAAG,MASlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,OAEjD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,OAE5C,CAAC;AAsMF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,SAAS,GAAU,UAAS,aAAkB,KAAG,OAAO,CAAC,IAAI,CAwBzE,CAAC"}
package/dist/create.js CHANGED
@@ -1,4 +1,4 @@
1
- import { spawn } from "node:child_process";
1
+ import { execFileSync, spawn } from "node:child_process";
2
2
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
3
3
  import { join, resolve } from "node:path";
4
4
  import * as p from "@clack/prompts";
@@ -166,6 +166,12 @@ const installDependencies = async (projectPath, name, packageManager, devDeps) =
166
166
  p.log.info(` ${getAddCommand(packageManager, devDeps, true)}`);
167
167
  }
168
168
  };
169
+ const initializeGitRepo = (projectPath) => {
170
+ const opts = { cwd: projectPath, stdio: "pipe" };
171
+ execFileSync("git", ["init"], opts);
172
+ execFileSync("git", ["add", "-A"], opts);
173
+ execFileSync("git", ["commit", "-m", "Initial commit"], opts);
174
+ };
169
175
  const printNextSteps = (name, packageManager, testing) => {
170
176
  const runCmd = getRunCommand(packageManager);
171
177
  const nextSteps = `cd ${name}\n${runCmd}`;
@@ -216,6 +222,15 @@ export const createApp = async (options = {}) => {
216
222
  s.stop("Project structure created!");
217
223
  const devDeps = getDevDependencies(resolved.testing);
218
224
  await installDependencies(projectPath, resolved.name, resolved.packageManager, devDeps);
225
+ const gitSpinner = p.spinner();
226
+ gitSpinner.start("Initializing git repository...");
227
+ try {
228
+ initializeGitRepo(projectPath);
229
+ gitSpinner.stop("Git repository initialized!");
230
+ }
231
+ catch {
232
+ gitSpinner.stop("Failed to initialize git repository");
233
+ }
219
234
  printNextSteps(resolved.name, resolved.packageManager, resolved.testing);
220
235
  };
221
236
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
@@ -34,5 +34,4 @@ export type DevServerOptions = {
34
34
  * @see {@link DevServerOptions} for configuration options
35
35
  */
36
36
  export declare const createDevServer: (options: DevServerOptions) => Promise<ViteDevServer>;
37
- export type { ViteDevServer };
38
37
  //# sourceMappingURL=dev-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../src/dev-server.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAM3E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,eAAe,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,aAAa,CAgHtF,CAAC;AAEF,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../src/dev-server.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAO3E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB,CAAC;AAMF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,eAAe,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,aAAa,CAiHtF,CAAC"}
@@ -4,6 +4,7 @@ import { setHotReloading, update } from "@gtkx/react";
4
4
  import { createServer } from "vite";
5
5
  import { isReactRefreshBoundary, performRefresh } from "./refresh-runtime.js";
6
6
  import { gtkxAssets } from "./vite-plugin-gtkx-assets.js";
7
+ import { gtkxGSettings } from "./vite-plugin-gtkx-gsettings.js";
7
8
  import { gtkxRefresh } from "./vite-plugin-gtkx-refresh.js";
8
9
  import { swcSsrRefresh } from "./vite-plugin-swc-ssr-refresh.js";
9
10
  /**
@@ -38,6 +39,7 @@ export const createDevServer = async (options) => {
38
39
  ...viteConfig,
39
40
  appType: "custom",
40
41
  plugins: [
42
+ gtkxGSettings(),
41
43
  gtkxAssets(),
42
44
  swcSsrRefresh(),
43
45
  gtkxRefresh(),
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.tsx"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ const loadTestingModule = async () => {
26
26
  return testingModule;
27
27
  }
28
28
  catch (cause) {
29
- testingLoadError = new Error("@gtkx/testing is not installed. Install it to enable MCP widget interactions: pnpm add -D @gtkx/testing", { cause });
29
+ testingLoadError = new Error("@gtkx/testing is not installed, install it to enable MCP widget interactions: pnpm add -D @gtkx/testing", { cause });
30
30
  throw testingLoadError;
31
31
  }
32
32
  };
@@ -187,13 +187,13 @@ class McpClient {
187
187
  });
188
188
  }
189
189
  send(message) {
190
- if (!this.socket || !this.socket.writable)
190
+ if (!this.socket?.writable)
191
191
  return;
192
192
  this.socket.write(`${JSON.stringify(message)}\n`);
193
193
  }
194
194
  sendRequest(method, params) {
195
195
  return new Promise((resolve, reject) => {
196
- if (!this.socket || !this.socket.writable) {
196
+ if (!this.socket?.writable) {
197
197
  reject(new Error("Socket not connected"));
198
198
  return;
199
199
  }
@@ -308,8 +308,8 @@ class McpClient {
308
308
  case "text":
309
309
  widgets = await testing.findAllByText(app, String(p.value), p.options);
310
310
  break;
311
- case "testId":
312
- widgets = await testing.findAllByTestId(app, String(p.value), p.options);
311
+ case "name":
312
+ widgets = await testing.findAllByName(app, String(p.value), p.options);
313
313
  break;
314
314
  case "labelText":
315
315
  widgets = await testing.findAllByLabelText(app, String(p.value), p.options);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EACH,mBAAmB,EAGnB,gBAAgB,EAEhB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,mBAAmB,EAEnB,mBAAmB,GACtB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,GAAG,IAAI,OAAO,EAAsB,CAAC;AACtD,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB,MAAM,WAAW,GAAG,CAAC,MAAkB,EAAU,EAAE;IAC/C,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5B,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAIF,IAAI,aAAa,GAAyB,IAAI,CAAC;AAC/C,IAAI,gBAAgB,GAAiB,IAAI,CAAC;AAE1C,MAAM,iBAAiB,GAAG,KAAK,IAA4B,EAAE;IACzD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,IAAI,gBAAgB;QAAE,MAAM,gBAAgB,CAAC;IAE7C,IAAI,CAAC;QACD,aAAa,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9C,OAAO,aAAa,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,gBAAgB,GAAG,IAAI,KAAK,CACxB,yGAAyG,EACzG,EAAE,KAAK,EAAE,CACZ,CAAC;QACF,MAAM,gBAAgB,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC;AAaF,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC,MAAM,UAAU,GAAG,CAAC,IAAoC,EAAU,EAAE;IAChE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAkB,EAAiB,EAAE;IACxD,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAkB,EAAoB,EAAE;IAC7D,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IACnC,OAAO,KAAK,EAAE,CAAC;QACX,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEnC,OAAO;QACH,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI;QAC7B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI;QAC9B,KAAK,EAAE,IAAI;QACX,IAAI;QACJ,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE;QAC5B,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE;QACxC,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;AAErD,MAAM,eAAe,GAAG,CAAC,MAAkB,EAAQ,EAAE;IACjD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IACnC,OAAO,KAAK,EAAE,CAAC;QACX,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAA0B,EAAE;IACzD,OAAO,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAS,EAAE;IACrC,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,SAAS;IACH,MAAM,GAAsB,IAAI,CAAC;IACjC,MAAM,GAAG,EAAE,CAAC;IACZ,UAAU,CAAS;IACnB,KAAK,CAAS;IACd,cAAc,GAA0B,IAAI,CAAC;IAC7C,YAAY,GAAG,KAAK,CAAC;IACrB,UAAU,GAAG,KAAK,CAAC;IACnB,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE5D,YAAY,OAAyB;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,cAAc,CAAC,SAAsB,EAAE,OAAgC;QAC3E,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,MAAM,GAAG,CAAsB,QAA4C,EAAE,GAAG,IAAO,EAAE,EAAE;YAC7F,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YACrD,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,EAAE;iBACV,IAAI,CAAC,GAAG,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;gBACjD,MAAM,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3E,MAAM,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBACnD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;YACnD,MAAM,iBAAiB,GACnB,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,YAAY,CAAC;YAC9F,IAAI,iBAAiB,EAAE,CAAC;gBACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB;QACrB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QACnD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1B,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAEO,qBAAqB,CAAC,KAAY;QACtC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,QAAQ;QAClB,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB,CAAC,CAAC;IACP,CAAC;IAEO,IAAI,CAAC,OAAiC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEO,WAAW,CAAC,MAAiB,EAAE,MAAgB;QACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC1C,OAAO;YACX,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,UAAU,CAAC,IAAY;QAC3B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAElD,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,IAAY;QAC/B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,OAAO,EAAE,CAAC;gBACV,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO;YACX,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnD,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAmB;QAC3C,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAEvC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAmB,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,CAAC,IAAI,CAAC;oBACN,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,YAAY,CAAC,cAAc;wBACjC,OAAO;qBACV;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAiB,EAAE,MAAe;QAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,EAA4B,CAAC;QAEnE,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,qBAAqB,EAAE,CAAC;QAExB,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACpB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC3C,OAAO;oBACH,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACzB,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;wBAClB,KAAK,EAAG,CAAgB,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI;qBAChD,CAAC,CAAC;iBACN,CAAC;YACN,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACpB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACvF,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,MAA0F,CAAC;gBACrG,IAAI,OAAO,GAAiB,EAAE,CAAC;gBAE/B,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;oBAClB,KAAK,MAAM,CAAC,CAAC,CAAC;wBACV,MAAM,SAAS,GACX,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;4BACvB,CAAC,CAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAwC,CAAwB;4BACxF,CAAC,CAAE,CAAC,CAAC,KAA4B,CAAC;wBAC1C,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;wBACjE,MAAM;oBACV,CAAC;oBACD,KAAK,MAAM;wBACP,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;wBACvE,MAAM;oBACV,KAAK,QAAQ;wBACT,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;wBACzE,MAAM;oBACV,KAAK,WAAW;wBACZ,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;wBAC5E,MAAM;oBACV;wBACI,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,GAAG,MAA8B,CAAC;gBACzC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,MAA8B,CAAC;gBACzC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7B,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,MAA6D,CAAC;gBACxE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACV,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7B,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACtB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,MAIT,CAAC;gBACF,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1C,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,CAAC;oBAC9F,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAE,GAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;oBACzE,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAE,GAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;oBAEtE,QAAQ,OAAO,EAAE,CAAC;wBACd,KAAK,SAAS;4BACV,OAAO,KAAK,CAAC,cAAc,CAAC,QAAmB,CAAC,CAAC;wBACrD,KAAK,KAAK;4BACN,OAAO,KAAK,CAAC,UAAU,CAAC,QAAkB,CAAC,CAAC;wBAChD,KAAK,MAAM;4BACP,OAAO,KAAK,CAAC,WAAW,CAAC,QAAkB,CAAC,CAAC;wBACjD,KAAK,OAAO;4BACR,OAAO,KAAK,CAAC,YAAY,CAAC,QAAkB,CAAC,CAAC;wBAClD,KAAK,QAAQ;4BACT,OAAO,KAAK,CAAC,aAAa,CAAC,QAAkB,CAAC,CAAC;wBACnD,KAAK,OAAO;4BACR,OAAO,KAAK,CAAC,YAAY,CAAC,QAAkB,CAAC,CAAC;wBAClD,KAAK,QAAQ,CAAC;wBACd,KAAK,QAAQ;4BACT,OAAO,KAAK,CAAC,aAAa,CAAC,QAAkB,CAAC,CAAC;wBACnD,KAAK,QAAQ;4BACT,OAAO,KAAK,CAAC,aAAa,CAAC,QAAyB,CAAC,CAAC;wBAC1D;4BACI,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,0BAA0B,OAAO,EAAE,CAAC,CAAC;oBAC9F,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;gBACzD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7B,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,MAA+B,CAAC;gBAE1C,IAAI,YAAwB,CAAC;gBAE7B,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,MAAM,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC1C,CAAC;oBACD,YAAY,GAAG,MAAoB,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACJ,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;oBACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBAC3D,CAAC;oBACD,YAAY,GAAG,OAAO,CAAC,CAAC,CAAe,CAAC;gBAC5C,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACtD,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5D,CAAC;YAED;gBACI,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;CACJ;AAED,IAAI,YAAY,GAAqB,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAa,EAAsB,EAAE;IACtE,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,YAAY,GAAG,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAExC,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE7C,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAS,EAAE;IACpC,IAAI,YAAY,EAAE,CAAC;QACf,YAAY,CAAC,UAAU,EAAE,CAAC;QAC1B,YAAY,GAAG,IAAI,CAAC;IACxB,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Plugin } from "vite";
2
+ /**
3
+ * Vite plugin that compiles GSettings schemas when imported.
4
+ *
5
+ * Intercepts imports of `.gschema.xml` files. The import's default export
6
+ * is the schema ID extracted from the XML, so downstream code can use it
7
+ * directly with `useSetting`. When the file contains multiple `<schema>`
8
+ * elements, each ID is also available as a named export (with dots
9
+ * replaced by underscores).
10
+ *
11
+ * **Dev mode:** Copies the schema to a temporary directory, runs
12
+ * `glib-compile-schemas`, and sets `GSETTINGS_SCHEMA_DIR` so
13
+ * `Gio.Settings` can find the compiled result. Schema file changes
14
+ * trigger recompilation via HMR.
15
+ *
16
+ * **Build mode:** All imported schemas are compiled together at build time
17
+ * into a single `gschemas.compiled` asset emitted next to the bundle. At
18
+ * runtime a shared init module sets `GSETTINGS_SCHEMA_DIR` to the
19
+ * bundle's directory once, regardless of how many schemas are imported.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import schemaId from "./com.example.myapp.gschema.xml";
24
+ * const [value, setValue] = useSetting(schemaId, "my-key", "string");
25
+ * ```
26
+ */
27
+ export declare function gtkxGSettings(): Plugin;
28
+ //# sourceMappingURL=vite-plugin-gtkx-gsettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-gtkx-gsettings.d.ts","sourceRoot":"","sources":["../src/vite-plugin-gtkx-gsettings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAOnC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAmItC"}
@@ -0,0 +1,147 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { copyFileSync, mkdtempSync, readFileSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { basename, join } from "node:path";
5
+ const SCHEMA_RE = /\.gschema\.xml$/;
6
+ const SCHEMA_ID_RE = /<schema\s+id="([^"]+)"/g;
7
+ const VIRTUAL_PREFIX = "\0gtkx-gsettings:";
8
+ const VIRTUAL_INIT = "\0gtkx-gsettings-init";
9
+ /**
10
+ * Vite plugin that compiles GSettings schemas when imported.
11
+ *
12
+ * Intercepts imports of `.gschema.xml` files. The import's default export
13
+ * is the schema ID extracted from the XML, so downstream code can use it
14
+ * directly with `useSetting`. When the file contains multiple `<schema>`
15
+ * elements, each ID is also available as a named export (with dots
16
+ * replaced by underscores).
17
+ *
18
+ * **Dev mode:** Copies the schema to a temporary directory, runs
19
+ * `glib-compile-schemas`, and sets `GSETTINGS_SCHEMA_DIR` so
20
+ * `Gio.Settings` can find the compiled result. Schema file changes
21
+ * trigger recompilation via HMR.
22
+ *
23
+ * **Build mode:** All imported schemas are compiled together at build time
24
+ * into a single `gschemas.compiled` asset emitted next to the bundle. At
25
+ * runtime a shared init module sets `GSETTINGS_SCHEMA_DIR` to the
26
+ * bundle's directory once, regardless of how many schemas are imported.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import schemaId from "./com.example.myapp.gschema.xml";
31
+ * const [value, setValue] = useSetting(schemaId, "my-key", "string");
32
+ * ```
33
+ */
34
+ export function gtkxGSettings() {
35
+ let schemaDir = null;
36
+ let isBuild = false;
37
+ const trackedSchemas = new Map();
38
+ const buildSchemas = new Map();
39
+ const ensureSchemaDir = () => {
40
+ if (!schemaDir) {
41
+ schemaDir = mkdtempSync(join(tmpdir(), "gtkx-schemas-"));
42
+ }
43
+ return schemaDir;
44
+ };
45
+ const compile = () => {
46
+ if (!schemaDir)
47
+ return;
48
+ execFileSync("glib-compile-schemas", [schemaDir]);
49
+ const existing = process.env.GSETTINGS_SCHEMA_DIR;
50
+ process.env.GSETTINGS_SCHEMA_DIR = existing ? `${schemaDir}:${existing}` : schemaDir;
51
+ };
52
+ return {
53
+ name: "gtkx:gsettings",
54
+ enforce: "pre",
55
+ configResolved(config) {
56
+ isBuild = config.command === "build";
57
+ },
58
+ async resolveId(source, importer, options) {
59
+ if (source === VIRTUAL_INIT)
60
+ return VIRTUAL_INIT;
61
+ if (!SCHEMA_RE.test(source))
62
+ return;
63
+ const resolved = await this.resolve(source, importer, {
64
+ ...options,
65
+ skipSelf: true,
66
+ });
67
+ if (!resolved || resolved.external)
68
+ return;
69
+ return VIRTUAL_PREFIX + resolved.id;
70
+ },
71
+ load(id) {
72
+ if (id === VIRTUAL_INIT) {
73
+ return [
74
+ `import { dirname } from "node:path";`,
75
+ `import { fileURLToPath } from "node:url";`,
76
+ ``,
77
+ `const bundleDir = dirname(fileURLToPath(import.meta.url));`,
78
+ `const existing = process.env.GSETTINGS_SCHEMA_DIR;`,
79
+ `process.env.GSETTINGS_SCHEMA_DIR = existing ? bundleDir + ":" + existing : bundleDir;`,
80
+ ].join("\n");
81
+ }
82
+ if (!id.startsWith(VIRTUAL_PREFIX))
83
+ return;
84
+ const filePath = id.slice(VIRTUAL_PREFIX.length);
85
+ const xml = readFileSync(filePath, "utf-8");
86
+ const fileName = basename(filePath);
87
+ if (isBuild) {
88
+ buildSchemas.set(filePath, fileName);
89
+ console.log(`[gtkx] Queued GSettings schema: ${fileName}`);
90
+ }
91
+ else {
92
+ trackedSchemas.set(filePath, id);
93
+ const dir = ensureSchemaDir();
94
+ copyFileSync(filePath, join(dir, fileName));
95
+ compile();
96
+ console.log(`[gtkx] Compiled GSettings schema: ${fileName}`);
97
+ }
98
+ const schemaIds = [];
99
+ for (const match of xml.matchAll(SCHEMA_ID_RE)) {
100
+ schemaIds.push(match[1]);
101
+ }
102
+ if (schemaIds.length === 0) {
103
+ this.error(`No <schema id="..."> found in ${fileName}`);
104
+ }
105
+ const exports = [`export default ${JSON.stringify(schemaIds[0])};`];
106
+ for (const schemaId of schemaIds) {
107
+ const exportName = schemaId.replaceAll(".", "_");
108
+ exports.push(`export const ${exportName} = ${JSON.stringify(schemaId)};`);
109
+ }
110
+ if (isBuild) {
111
+ return [`import ${JSON.stringify(VIRTUAL_INIT)};`, "", ...exports].join("\n");
112
+ }
113
+ return exports.join("\n");
114
+ },
115
+ buildEnd() {
116
+ if (!isBuild || buildSchemas.size === 0)
117
+ return;
118
+ const dir = mkdtempSync(join(tmpdir(), "gtkx-schemas-build-"));
119
+ for (const [filePath, fileName] of buildSchemas) {
120
+ copyFileSync(filePath, join(dir, fileName));
121
+ }
122
+ execFileSync("glib-compile-schemas", [dir]);
123
+ const compiled = readFileSync(join(dir, "gschemas.compiled"));
124
+ this.emitFile({
125
+ type: "asset",
126
+ fileName: "gschemas.compiled",
127
+ source: compiled,
128
+ });
129
+ console.log(`[gtkx] Compiled ${buildSchemas.size} GSettings schema(s)`);
130
+ },
131
+ handleHotUpdate({ file, server }) {
132
+ const virtualId = trackedSchemas.get(file);
133
+ if (!virtualId)
134
+ return;
135
+ const dir = ensureSchemaDir();
136
+ copyFileSync(file, join(dir, basename(file)));
137
+ compile();
138
+ console.log(`[gtkx] Recompiled GSettings schema: ${basename(file)}`);
139
+ const mod = server.moduleGraph.getModuleById(virtualId);
140
+ if (mod) {
141
+ server.moduleGraph.invalidateModule(mod);
142
+ return [mod];
143
+ }
144
+ },
145
+ };
146
+ }
147
+ //# sourceMappingURL=vite-plugin-gtkx-gsettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-plugin-gtkx-gsettings.js","sourceRoot":"","sources":["../src/vite-plugin-gtkx-gsettings.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,10 @@ export function gtkxNative(root) {
26
26
  const currentArch = arch();
27
27
  const packageName = `@gtkx/native-linux-${currentArch}`;
28
28
  if (currentPlatform !== "linux") {
29
- throw new Error(`Unsupported build platform: ${currentPlatform}. Only Linux is supported.`);
29
+ throw new Error(`Unsupported build platform: ${currentPlatform}, only Linux is supported`);
30
30
  }
31
31
  if (currentArch !== "x64" && currentArch !== "arm64") {
32
- throw new Error(`Unsupported build architecture: ${currentArch}. Only x64 and arm64 are supported.`);
32
+ throw new Error(`Unsupported build architecture: ${currentArch}, only x64 and arm64 are supported`);
33
33
  }
34
34
  nativeIndexPath = projectRequire.resolve("@gtkx/native");
35
35
  const nodePath = projectRequire.resolve(`${packageName}/index.node`);
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin-gtkx-native.js","sourceRoot":"","sources":["../src/vite-plugin-gtkx-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AAC/E,MAAM,iBAAiB,GAAG,kDAAkD,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACjE,IAAI,eAAuB,CAAC;IAE5B,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,KAAK;QAEd,UAAU;YACN,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,sBAAsB,WAAW,EAAE,CAAC;YAExD,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,eAAe,4BAA4B,CAAC,CAAC;YAChG,CAAC;YAED,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,qCAAqC,CAAC,CAAC;YACzG,CAAC;YAED,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEzD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,WAAW,aAAa,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEtC,IAAI,CAAC,QAAQ,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,WAAW;gBACrB,MAAM;aACT,CAAC,CAAC;QACP,CAAC;QAED,SAAS,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBACzB,OAAO;YACX,CAAC;YAED,OAAO,IAAI;iBACN,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;iBAC9B,OAAO,CAAC,sBAAsB,EAAE,iEAAiE,CAAC,CAAC;QAC5G,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"vite-plugin-gtkx-native.js","sourceRoot":"","sources":["../src/vite-plugin-gtkx-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,sBAAsB,GAAG,+CAA+C,CAAC;AAC/E,MAAM,iBAAiB,GAAG,kDAAkD,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACjE,IAAI,eAAuB,CAAC;IAE5B,OAAO;QACH,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,KAAK;QAEd,UAAU;YACN,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,sBAAsB,WAAW,EAAE,CAAC;YAExD,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,eAAe,2BAA2B,CAAC,CAAC;YAC/F,CAAC;YAED,IAAI,WAAW,KAAK,KAAK,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,oCAAoC,CAAC,CAAC;YACxG,CAAC;YAED,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEzD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,WAAW,aAAa,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEtC,IAAI,CAAC,QAAQ,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,WAAW;gBACrB,MAAM;aACT,CAAC,CAAC;QACP,CAAC;QAED,SAAS,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBACzB,OAAO;YACX,CAAC;YAED,OAAO,IAAI;iBACN,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;iBAC9B,OAAO,CAAC,sBAAsB,EAAE,iEAAiE,CAAC,CAAC;QAC5G,CAAC;KACJ,CAAC;AACN,CAAC"}
package/env.d.ts CHANGED
@@ -9,3 +9,8 @@ declare module "*.data" {
9
9
  const path: string;
10
10
  export default path;
11
11
  }
12
+
13
+ declare module "*.gschema.xml" {
14
+ const schemaId: string;
15
+ export default schemaId;
16
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gtkx/cli",
3
- "version": "0.19.0",
3
+ "version": "0.21.0",
4
4
  "description": "CLI for GTKX - create and develop GTK4 React applications",
5
5
  "keywords": [
6
6
  "gtkx",
@@ -60,25 +60,25 @@
60
60
  "templates"
61
61
  ],
62
62
  "dependencies": {
63
- "@clack/prompts": "^1.0.1",
64
- "@swc/core": "^1.15.11",
63
+ "@clack/prompts": "^1.1.0",
64
+ "@swc/core": "^1.15.21",
65
65
  "citty": "^0.2.1",
66
- "ejs": "^4.0.1",
66
+ "ejs": "^5.0.1",
67
67
  "react-refresh": "^0.18.0",
68
- "vite": "^7.3.1",
69
- "@gtkx/ffi": "0.19.0",
70
- "@gtkx/react": "0.19.0",
71
- "@gtkx/mcp": "0.19.0"
68
+ "vite": "^8.0.3",
69
+ "@gtkx/ffi": "0.21.0",
70
+ "@gtkx/mcp": "0.21.0",
71
+ "@gtkx/react": "0.21.0"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/ejs": "^3.1.5",
75
75
  "@types/react-refresh": "^0.14.7",
76
- "memfs": "^4.56.10",
77
- "@gtkx/testing": "0.19.0"
76
+ "memfs": "^4.57.1",
77
+ "@gtkx/testing": "0.21.0"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "react": "^19",
81
- "@gtkx/testing": "0.19.0"
81
+ "@gtkx/testing": "0.21.0"
82
82
  },
83
83
  "peerDependenciesMeta": {
84
84
  "@gtkx/testing": {
@@ -87,6 +87,7 @@
87
87
  },
88
88
  "scripts": {
89
89
  "build": "tsc -b",
90
- "test": "vitest run"
90
+ "test": "vitest run",
91
+ "typecheck": "tsc -b --emitDeclarationOnly"
91
92
  }
92
93
  }
package/src/builder.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type InlineConfig, build as viteBuild } from "vite";
2
2
  import { gtkxAssets } from "./vite-plugin-gtkx-assets.js";
3
3
  import { gtkxBuiltUrl } from "./vite-plugin-gtkx-built-url.js";
4
+ import { gtkxGSettings } from "./vite-plugin-gtkx-gsettings.js";
4
5
  import { gtkxNative } from "./vite-plugin-gtkx-native.js";
5
6
 
6
7
  /**
@@ -63,7 +64,13 @@ export const build = async (options: BuildOptions): Promise<void> => {
63
64
 
64
65
  await viteBuild({
65
66
  ...viteConfig,
66
- plugins: [...(viteConfig?.plugins ?? []), gtkxAssets(), gtkxBuiltUrl(assetBase), gtkxNative(root)],
67
+ plugins: [
68
+ ...(viteConfig?.plugins ?? []),
69
+ gtkxGSettings(),
70
+ gtkxAssets(),
71
+ gtkxBuiltUrl(assetBase),
72
+ gtkxNative(root),
73
+ ],
67
74
  build: {
68
75
  ...viteConfig?.build,
69
76
  ssr: entry,
@@ -71,6 +78,7 @@ export const build = async (options: BuildOptions): Promise<void> => {
71
78
  assetsInlineLimit: 0,
72
79
  outDir: viteConfig?.build?.outDir ?? "dist",
73
80
  minify: true,
81
+ cssMinify: false,
74
82
  rollupOptions: {
75
83
  ...viteConfig?.build?.rollupOptions,
76
84
  output: {
package/src/create.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { spawn } from "node:child_process";
1
+ import { execFileSync, spawn } from "node:child_process";
2
2
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
3
3
  import { join, resolve } from "node:path";
4
4
  import * as p from "@clack/prompts";
@@ -7,7 +7,7 @@ import { renderFile, type TemplateContext } from "./templates.js";
7
7
  /**
8
8
  * Supported package managers for GTKX projects.
9
9
  */
10
- export type PackageManager = "pnpm" | "npm" | "yarn";
10
+ type PackageManager = "pnpm" | "npm" | "yarn";
11
11
 
12
12
  /**
13
13
  * Whether to include testing setup in GTKX projects.
@@ -19,7 +19,7 @@ export type TestingOption = "vitest" | "none";
19
19
  *
20
20
  * All options are optional; missing values will be prompted interactively.
21
21
  */
22
- export type CreateOptions = {
22
+ type CreateOptions = {
23
23
  name?: string;
24
24
  appId?: string;
25
25
  packageManager?: PackageManager;
@@ -248,6 +248,13 @@ const installDependencies = async (
248
248
  }
249
249
  };
250
250
 
251
+ const initializeGitRepo = (projectPath: string): void => {
252
+ const opts = { cwd: projectPath, stdio: "pipe" as const };
253
+ execFileSync("git", ["init"], opts);
254
+ execFileSync("git", ["add", "-A"], opts);
255
+ execFileSync("git", ["commit", "-m", "Initial commit"], opts);
256
+ };
257
+
251
258
  const printNextSteps = (name: string, packageManager: PackageManager, testing: TestingOption): void => {
252
259
  const runCmd = getRunCommand(packageManager);
253
260
  const nextSteps = `cd ${name}\n${runCmd}`;
@@ -306,5 +313,14 @@ export const createApp = async (options: CreateOptions = {}): Promise<void> => {
306
313
  const devDeps = getDevDependencies(resolved.testing);
307
314
  await installDependencies(projectPath, resolved.name, resolved.packageManager, devDeps);
308
315
 
316
+ const gitSpinner = p.spinner();
317
+ gitSpinner.start("Initializing git repository...");
318
+ try {
319
+ initializeGitRepo(projectPath);
320
+ gitSpinner.stop("Git repository initialized!");
321
+ } catch {
322
+ gitSpinner.stop("Failed to initialize git repository");
323
+ }
324
+
309
325
  printNextSteps(resolved.name, resolved.packageManager, resolved.testing);
310
326
  };
@@ -3,6 +3,7 @@ import { setHotReloading, update } from "@gtkx/react";
3
3
  import { createServer, type InlineConfig, type ViteDevServer } from "vite";
4
4
  import { isReactRefreshBoundary, performRefresh } from "./refresh-runtime.js";
5
5
  import { gtkxAssets } from "./vite-plugin-gtkx-assets.js";
6
+ import { gtkxGSettings } from "./vite-plugin-gtkx-gsettings.js";
6
7
  import { gtkxRefresh } from "./vite-plugin-gtkx-refresh.js";
7
8
  import { swcSsrRefresh } from "./vite-plugin-swc-ssr-refresh.js";
8
9
 
@@ -54,6 +55,7 @@ export const createDevServer = async (options: DevServerOptions): Promise<ViteDe
54
55
  ...viteConfig,
55
56
  appType: "custom",
56
57
  plugins: [
58
+ gtkxGSettings(),
57
59
  gtkxAssets(),
58
60
  swcSsrRefresh(),
59
61
  gtkxRefresh(),
@@ -158,5 +160,3 @@ export const createDevServer = async (options: DevServerOptions): Promise<ViteDe
158
160
 
159
161
  return server;
160
162
  };
161
-
162
- export type { ViteDevServer };
package/src/mcp-client.ts CHANGED
@@ -43,7 +43,7 @@ const loadTestingModule = async (): Promise<TestingModule> => {
43
43
  return testingModule;
44
44
  } catch (cause) {
45
45
  testingLoadError = new Error(
46
- "@gtkx/testing is not installed. Install it to enable MCP widget interactions: pnpm add -D @gtkx/testing",
46
+ "@gtkx/testing is not installed, install it to enable MCP widget interactions: pnpm add -D @gtkx/testing",
47
47
  { cause },
48
48
  );
49
49
  throw testingLoadError;
@@ -241,13 +241,13 @@ class McpClient {
241
241
  }
242
242
 
243
243
  private send(message: IpcRequest | IpcResponse): void {
244
- if (!this.socket || !this.socket.writable) return;
244
+ if (!this.socket?.writable) return;
245
245
  this.socket.write(`${JSON.stringify(message)}\n`);
246
246
  }
247
247
 
248
248
  private sendRequest(method: IpcMethod, params?: unknown): Promise<unknown> {
249
249
  return new Promise((resolve, reject) => {
250
- if (!this.socket || !this.socket.writable) {
250
+ if (!this.socket?.writable) {
251
251
  reject(new Error("Socket not connected"));
252
252
  return;
253
253
  }
@@ -377,8 +377,8 @@ class McpClient {
377
377
  case "text":
378
378
  widgets = await testing.findAllByText(app, String(p.value), p.options);
379
379
  break;
380
- case "testId":
381
- widgets = await testing.findAllByTestId(app, String(p.value), p.options);
380
+ case "name":
381
+ widgets = await testing.findAllByName(app, String(p.value), p.options);
382
382
  break;
383
383
  case "labelText":
384
384
  widgets = await testing.findAllByLabelText(app, String(p.value), p.options);
@@ -0,0 +1,168 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { copyFileSync, mkdtempSync, readFileSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { basename, join } from "node:path";
5
+ import type { Plugin } from "vite";
6
+
7
+ const SCHEMA_RE = /\.gschema\.xml$/;
8
+ const SCHEMA_ID_RE = /<schema\s+id="([^"]+)"/g;
9
+ const VIRTUAL_PREFIX = "\0gtkx-gsettings:";
10
+ const VIRTUAL_INIT = "\0gtkx-gsettings-init";
11
+
12
+ /**
13
+ * Vite plugin that compiles GSettings schemas when imported.
14
+ *
15
+ * Intercepts imports of `.gschema.xml` files. The import's default export
16
+ * is the schema ID extracted from the XML, so downstream code can use it
17
+ * directly with `useSetting`. When the file contains multiple `<schema>`
18
+ * elements, each ID is also available as a named export (with dots
19
+ * replaced by underscores).
20
+ *
21
+ * **Dev mode:** Copies the schema to a temporary directory, runs
22
+ * `glib-compile-schemas`, and sets `GSETTINGS_SCHEMA_DIR` so
23
+ * `Gio.Settings` can find the compiled result. Schema file changes
24
+ * trigger recompilation via HMR.
25
+ *
26
+ * **Build mode:** All imported schemas are compiled together at build time
27
+ * into a single `gschemas.compiled` asset emitted next to the bundle. At
28
+ * runtime a shared init module sets `GSETTINGS_SCHEMA_DIR` to the
29
+ * bundle's directory once, regardless of how many schemas are imported.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * import schemaId from "./com.example.myapp.gschema.xml";
34
+ * const [value, setValue] = useSetting(schemaId, "my-key", "string");
35
+ * ```
36
+ */
37
+ export function gtkxGSettings(): Plugin {
38
+ let schemaDir: string | null = null;
39
+ let isBuild = false;
40
+ const trackedSchemas = new Map<string, string>();
41
+ const buildSchemas = new Map<string, string>();
42
+
43
+ const ensureSchemaDir = (): string => {
44
+ if (!schemaDir) {
45
+ schemaDir = mkdtempSync(join(tmpdir(), "gtkx-schemas-"));
46
+ }
47
+ return schemaDir;
48
+ };
49
+
50
+ const compile = (): void => {
51
+ if (!schemaDir) return;
52
+ execFileSync("glib-compile-schemas", [schemaDir]);
53
+
54
+ const existing = process.env.GSETTINGS_SCHEMA_DIR;
55
+ process.env.GSETTINGS_SCHEMA_DIR = existing ? `${schemaDir}:${existing}` : schemaDir;
56
+ };
57
+
58
+ return {
59
+ name: "gtkx:gsettings",
60
+ enforce: "pre",
61
+
62
+ configResolved(config) {
63
+ isBuild = config.command === "build";
64
+ },
65
+
66
+ async resolveId(source, importer, options) {
67
+ if (source === VIRTUAL_INIT) return VIRTUAL_INIT;
68
+ if (!SCHEMA_RE.test(source)) return;
69
+
70
+ const resolved = await this.resolve(source, importer, {
71
+ ...options,
72
+ skipSelf: true,
73
+ });
74
+ if (!resolved || resolved.external) return;
75
+
76
+ return VIRTUAL_PREFIX + resolved.id;
77
+ },
78
+
79
+ load(id) {
80
+ if (id === VIRTUAL_INIT) {
81
+ return [
82
+ `import { dirname } from "node:path";`,
83
+ `import { fileURLToPath } from "node:url";`,
84
+ ``,
85
+ `const bundleDir = dirname(fileURLToPath(import.meta.url));`,
86
+ `const existing = process.env.GSETTINGS_SCHEMA_DIR;`,
87
+ `process.env.GSETTINGS_SCHEMA_DIR = existing ? bundleDir + ":" + existing : bundleDir;`,
88
+ ].join("\n");
89
+ }
90
+
91
+ if (!id.startsWith(VIRTUAL_PREFIX)) return;
92
+
93
+ const filePath = id.slice(VIRTUAL_PREFIX.length);
94
+ const xml = readFileSync(filePath, "utf-8");
95
+ const fileName = basename(filePath);
96
+
97
+ if (isBuild) {
98
+ buildSchemas.set(filePath, fileName);
99
+ console.log(`[gtkx] Queued GSettings schema: ${fileName}`);
100
+ } else {
101
+ trackedSchemas.set(filePath, id);
102
+
103
+ const dir = ensureSchemaDir();
104
+ copyFileSync(filePath, join(dir, fileName));
105
+ compile();
106
+
107
+ console.log(`[gtkx] Compiled GSettings schema: ${fileName}`);
108
+ }
109
+
110
+ const schemaIds: string[] = [];
111
+ for (const match of xml.matchAll(SCHEMA_ID_RE)) {
112
+ schemaIds.push(match[1] as string);
113
+ }
114
+
115
+ if (schemaIds.length === 0) {
116
+ this.error(`No <schema id="..."> found in ${fileName}`);
117
+ }
118
+
119
+ const exports = [`export default ${JSON.stringify(schemaIds[0])};`];
120
+ for (const schemaId of schemaIds) {
121
+ const exportName = schemaId.replaceAll(".", "_");
122
+ exports.push(`export const ${exportName} = ${JSON.stringify(schemaId)};`);
123
+ }
124
+
125
+ if (isBuild) {
126
+ return [`import ${JSON.stringify(VIRTUAL_INIT)};`, "", ...exports].join("\n");
127
+ }
128
+
129
+ return exports.join("\n");
130
+ },
131
+
132
+ buildEnd() {
133
+ if (!isBuild || buildSchemas.size === 0) return;
134
+
135
+ const dir = mkdtempSync(join(tmpdir(), "gtkx-schemas-build-"));
136
+ for (const [filePath, fileName] of buildSchemas) {
137
+ copyFileSync(filePath, join(dir, fileName));
138
+ }
139
+ execFileSync("glib-compile-schemas", [dir]);
140
+
141
+ const compiled = readFileSync(join(dir, "gschemas.compiled"));
142
+ this.emitFile({
143
+ type: "asset",
144
+ fileName: "gschemas.compiled",
145
+ source: compiled,
146
+ });
147
+
148
+ console.log(`[gtkx] Compiled ${buildSchemas.size} GSettings schema(s)`);
149
+ },
150
+
151
+ handleHotUpdate({ file, server }) {
152
+ const virtualId = trackedSchemas.get(file);
153
+ if (!virtualId) return;
154
+
155
+ const dir = ensureSchemaDir();
156
+ copyFileSync(file, join(dir, basename(file)));
157
+ compile();
158
+
159
+ console.log(`[gtkx] Recompiled GSettings schema: ${basename(file)}`);
160
+
161
+ const mod = server.moduleGraph.getModuleById(virtualId);
162
+ if (mod) {
163
+ server.moduleGraph.invalidateModule(mod);
164
+ return [mod];
165
+ }
166
+ },
167
+ };
168
+ }
@@ -32,11 +32,11 @@ export function gtkxNative(root: string): Plugin {
32
32
  const packageName = `@gtkx/native-linux-${currentArch}`;
33
33
 
34
34
  if (currentPlatform !== "linux") {
35
- throw new Error(`Unsupported build platform: ${currentPlatform}. Only Linux is supported.`);
35
+ throw new Error(`Unsupported build platform: ${currentPlatform}, only Linux is supported`);
36
36
  }
37
37
 
38
38
  if (currentArch !== "x64" && currentArch !== "arm64") {
39
- throw new Error(`Unsupported build architecture: ${currentArch}. Only x64 and arm64 are supported.`);
39
+ throw new Error(`Unsupported build architecture: ${currentArch}, only x64 and arm64 are supported`);
40
40
  }
41
41
 
42
42
  nativeIndexPath = projectRequire.resolve("@gtkx/native");
@@ -101,7 +101,7 @@ const LoginForm = () => {
101
101
 
102
102
  ```tsx
103
103
  import * as Gtk from "@gtkx/ffi/gtk";
104
- import { GtkBox, GtkButton, GtkEntry, GtkLabel, GtkScrolledWindow, x } from "@gtkx/react";
104
+ import { GtkBox, GtkButton, GtkEntry, GtkLabel, GtkScrolledWindow } from "@gtkx/react";
105
105
  import { useCallback, useState } from "react";
106
106
 
107
107
  interface Todo {
@@ -133,17 +133,14 @@ const TodoList = () => {
133
133
  </GtkBox>
134
134
  <GtkScrolledWindow vexpand cssClasses={["card"]}>
135
135
  <GtkListView
136
- renderItem={(todo) => (
136
+ items={todos.map((todo) => ({ id: todo.id, value: todo }))}
137
+ renderItem={(todo: Todo) => (
137
138
  <GtkBox spacing={8} marginStart={12} marginEnd={12} marginTop={8} marginBottom={8}>
138
- <GtkLabel label={todo?.text ?? ""} hexpand halign={Gtk.Align.START} />
139
- <GtkButton iconName="edit-delete-symbolic" cssClasses={["flat"]} onClicked={() => todo && deleteTodo(todo.id)} />
139
+ <GtkLabel label={todo.text} hexpand halign={Gtk.Align.START} />
140
+ <GtkButton iconName="edit-delete-symbolic" cssClasses={["flat"]} onClicked={() => deleteTodo(todo.id)} />
140
141
  </GtkBox>
141
142
  )}
142
- >
143
- {todos.map((todo) => (
144
- <x.ListItem key={todo.id} id={todo.id} value={todo} />
145
- ))}
146
- </GtkListView>
143
+ />
147
144
  </GtkScrolledWindow>
148
145
  </GtkBox>
149
146
  );
@@ -158,7 +155,7 @@ const TodoList = () => {
158
155
 
159
156
  ```tsx
160
157
  import * as Gtk from "@gtkx/ffi/gtk";
161
- import { GtkBox, GtkLabel, GtkPaned, GtkScrolledWindow, GtkStack, x } from "@gtkx/react";
158
+ import { GtkBox, GtkLabel, GtkListView, GtkPaned, GtkScrolledWindow, GtkStack, x } from "@gtkx/react";
162
159
  import { useState } from "react";
163
160
 
164
161
  interface Page {
@@ -183,14 +180,11 @@ const SidebarNav = () => {
183
180
  selected={[currentPage]}
184
181
  selectionMode={Gtk.SelectionMode.SINGLE}
185
182
  onSelectionChanged={(ids) => setCurrentPage(ids[0])}
186
- renderItem={(page) => (
187
- <GtkLabel label={page?.name ?? ""} halign={Gtk.Align.START} marginStart={12} marginTop={8} marginBottom={8} />
183
+ items={pages.map((page) => ({ id: page.id, value: page }))}
184
+ renderItem={(page: Page) => (
185
+ <GtkLabel label={page.name} halign={Gtk.Align.START} marginStart={12} marginTop={8} marginBottom={8} />
188
186
  )}
189
- >
190
- {pages.map((page) => (
191
- <x.ListItem key={page.id} id={page.id} value={page} />
192
- ))}
193
- </GtkListView>
187
+ />
194
188
  </GtkScrolledWindow>
195
189
  </x.Slot>
196
190
  <x.Slot for={GtkPaned} id="endChild">
@@ -339,13 +333,16 @@ const FileTable = () => {
339
333
 
340
334
  return (
341
335
  <GtkScrolledWindow vexpand cssClasses={["card"]}>
342
- <GtkColumnView estimatedRowHeight={48} sortColumn={sortColumn} sortOrder={sortOrder} onSortChanged={handleSort}>
343
- <x.ColumnViewColumn title="Name" id="name" expand sortable renderCell={(f: FileItem | null) => <GtkLabel label={f?.name ?? ""} />} />
344
- <x.ColumnViewColumn title="Size" id="size" fixedWidth={100} sortable renderCell={(f: FileItem | null) => <GtkLabel label={`${f?.size ?? 0} KB`} />} />
345
- <x.ColumnViewColumn title="Modified" id="modified" fixedWidth={120} sortable renderCell={(f: FileItem | null) => <GtkLabel label={f?.modified ?? ""} />} />
346
- {sortedFiles.map((file) => (
347
- <x.ListItem key={file.id} id={file.id} value={file} />
348
- ))}
336
+ <GtkColumnView
337
+ estimatedRowHeight={48}
338
+ sortColumn={sortColumn}
339
+ sortOrder={sortOrder}
340
+ onSortChanged={handleSort}
341
+ items={sortedFiles.map((file) => ({ id: file.id, value: file }))}
342
+ >
343
+ <x.ColumnViewColumn title="Name" id="name" expand sortable renderCell={(f: FileItem) => <GtkLabel label={f.name} />} />
344
+ <x.ColumnViewColumn title="Size" id="size" fixedWidth={100} sortable renderCell={(f: FileItem) => <GtkLabel label={`${f.size} KB`} />} />
345
+ <x.ColumnViewColumn title="Modified" id="modified" fixedWidth={120} sortable renderCell={(f: FileItem) => <GtkLabel label={f.modified} />} />
349
346
  </GtkColumnView>
350
347
  </GtkScrolledWindow>
351
348
  );
@@ -398,7 +395,7 @@ const MenuDemo = () => {
398
395
 
399
396
  ```tsx
400
397
  import * as Gtk from "@gtkx/ffi/gtk";
401
- import { AdwSpinner, GtkBox, GtkLabel, GtkScrolledWindow, x } from "@gtkx/react";
398
+ import { AdwSpinner, GtkBox, GtkLabel, GtkListView, GtkScrolledWindow } from "@gtkx/react";
402
399
  import { useEffect, useState } from "react";
403
400
 
404
401
  interface User {
@@ -442,17 +439,14 @@ const AsyncList = () => {
442
439
  return (
443
440
  <GtkScrolledWindow vexpand>
444
441
  <GtkListView
445
- renderItem={(user) => (
442
+ items={users.map((user) => ({ id: user.id, value: user }))}
443
+ renderItem={(user: User) => (
446
444
  <GtkBox orientation={Gtk.Orientation.VERTICAL} marginStart={12} marginTop={8} marginBottom={8}>
447
- <GtkLabel label={user?.name ?? ""} halign={Gtk.Align.START} cssClasses={["heading"]} />
448
- <GtkLabel label={user?.email ?? ""} halign={Gtk.Align.START} cssClasses={["dim-label"]} />
445
+ <GtkLabel label={user.name} halign={Gtk.Align.START} cssClasses={["heading"]} />
446
+ <GtkLabel label={user.email} halign={Gtk.Align.START} cssClasses={["dim-label"]} />
449
447
  </GtkBox>
450
448
  )}
451
- >
452
- {users.map((user) => (
453
- <x.ListItem key={user.id} id={user.id} value={user} />
454
- ))}
455
- </GtkListView>
449
+ />
456
450
  </GtkScrolledWindow>
457
451
  );
458
452
  };
@@ -632,7 +626,7 @@ const SplitViewDemo = () => {
632
626
 
633
627
  ```tsx
634
628
  import * as Gtk from "@gtkx/ffi/gtk";
635
- import { GtkBox, GtkImage, GtkLabel, GtkListView, GtkScrolledWindow, x } from "@gtkx/react";
629
+ import { GtkBox, GtkImage, GtkLabel, GtkListView, GtkScrolledWindow } from "@gtkx/react";
636
630
  import { useState } from "react";
637
631
 
638
632
  interface FileNode {
@@ -667,21 +661,18 @@ const FileBrowser = () => {
667
661
  selectionMode={Gtk.SelectionMode.SINGLE}
668
662
  selected={selected ? [selected] : []}
669
663
  onSelectionChanged={(ids) => setSelected(ids[0] ?? null)}
670
- renderItem={(item) => (
664
+ items={files.map((file) => ({
665
+ id: file.id,
666
+ value: file,
667
+ children: file.children?.map((child) => ({ id: child.id, value: child })),
668
+ }))}
669
+ renderItem={(item: FileNode) => (
671
670
  <GtkBox spacing={8}>
672
- <GtkImage iconName={item?.isDirectory ? "folder-symbolic" : "text-x-generic-symbolic"} />
673
- <GtkLabel label={item?.name ?? ""} halign={Gtk.Align.START} />
671
+ <GtkImage iconName={item.isDirectory ? "folder-symbolic" : "text-x-generic-symbolic"} />
672
+ <GtkLabel label={item.name} halign={Gtk.Align.START} />
674
673
  </GtkBox>
675
674
  )}
676
- >
677
- {files.map((file) => (
678
- <x.ListItem key={file.id} id={file.id} value={file}>
679
- {file.children?.map((child) => (
680
- <x.ListItem key={child.id} id={child.id} value={child} />
681
- ))}
682
- </x.ListItem>
683
- ))}
684
- </GtkListView>
675
+ />
685
676
  </GtkScrolledWindow>
686
677
  );
687
678
  };
@@ -130,7 +130,7 @@ Scrollable container.
130
130
 
131
131
  ## Virtual Lists
132
132
 
133
- All virtual list widgets use `ListItem` children and a `renderItem` function.
133
+ All virtual list widgets use an `items` data prop and a `renderItem` function. Items are `{ id: string, value: T }` objects.
134
134
 
135
135
  ### GtkListView
136
136
  High-performance scrollable list with selection.
@@ -142,10 +142,9 @@ High-performance scrollable list with selection.
142
142
  selected={selectedId ? [selectedId] : []}
143
143
  selectionMode={Gtk.SelectionMode.SINGLE}
144
144
  onSelectionChanged={(ids) => setSelectedId(ids[0])}
145
- renderItem={(item) => <GtkLabel label={item?.name ?? ""} />}
146
- >
147
- {items.map(item => <x.ListItem key={item.id} id={item.id} value={item} />)}
148
- </GtkListView>
145
+ items={items.map(item => ({ id: item.id, value: item }))}
146
+ renderItem={(item: Item) => <GtkLabel label={item.name} />}
147
+ />
149
148
  ```
150
149
 
151
150
  ### GtkGridView
@@ -156,37 +155,41 @@ Grid-based virtual scrolling.
156
155
  estimatedItemHeight={100}
157
156
  minColumns={2}
158
157
  maxColumns={4}
159
- renderItem={(item) => (
158
+ items={items.map(item => ({ id: item.id, value: item }))}
159
+ renderItem={(item: Item) => (
160
160
  <GtkBox orientation={Gtk.Orientation.VERTICAL}>
161
- <GtkImage iconName={item?.icon ?? "image-missing"} />
162
- <GtkLabel label={item?.name ?? ""} />
161
+ <GtkImage iconName={item.icon} />
162
+ <GtkLabel label={item.name} />
163
163
  </GtkBox>
164
164
  )}
165
- >
166
- {items.map(item => <x.ListItem key={item.id} id={item.id} value={item} />)}
167
- </GtkGridView>
165
+ />
168
166
  ```
169
167
 
170
168
  ### GtkColumnView
171
169
  Table with sortable columns.
172
170
 
173
171
  ```tsx
174
- <GtkColumnView estimatedRowHeight={48} sortColumn="name" sortOrder={Gtk.SortType.ASCENDING} onSortChanged={handleSort}>
172
+ <GtkColumnView
173
+ estimatedRowHeight={48}
174
+ sortColumn="name"
175
+ sortOrder={Gtk.SortType.ASCENDING}
176
+ onSortChanged={handleSort}
177
+ items={items.map(item => ({ id: item.id, value: item }))}
178
+ >
175
179
  <x.ColumnViewColumn
176
180
  title="Name"
177
181
  id="name"
178
182
  expand
179
183
  resizable
180
184
  sortable
181
- renderCell={(item: Item | null) => <GtkLabel label={item?.name ?? ""} />}
185
+ renderCell={(item: Item) => <GtkLabel label={item.name} />}
182
186
  />
183
187
  <x.ColumnViewColumn
184
188
  title="Size"
185
189
  id="size"
186
190
  fixedWidth={100}
187
- renderCell={(item: Item | null) => <GtkLabel label={`${item?.size ?? 0} KB`} />}
191
+ renderCell={(item: Item) => <GtkLabel label={`${item.size} KB`} />}
188
192
  />
189
- {items.map(item => <x.ListItem key={item.id} id={item.id} value={item} />)}
190
193
  </GtkColumnView>
191
194
  ```
192
195
 
@@ -194,13 +197,15 @@ Table with sortable columns.
194
197
  Selection dropdown.
195
198
 
196
199
  ```tsx
197
- <GtkDropDown selectedId={selectedId} onSelectionChanged={setSelectedId}>
198
- {options.map(opt => <x.ListItem key={opt.id} id={opt.id} value={opt.label} />)}
199
- </GtkDropDown>
200
+ <GtkDropDown
201
+ selectedId={selectedId}
202
+ onSelectionChanged={setSelectedId}
203
+ items={options.map(opt => ({ id: opt.id, value: opt.label }))}
204
+ />
200
205
  ```
201
206
 
202
207
  ### GtkListView (tree mode)
203
- Hierarchical tree with expand/collapse. Nesting `x.ListItem` children triggers tree behavior.
208
+ Hierarchical tree with expand/collapse. Items with nested `children` arrays trigger tree behavior.
204
209
 
205
210
  ```tsx
206
211
  <GtkListView
@@ -210,24 +215,21 @@ Hierarchical tree with expand/collapse. Nesting `x.ListItem` children triggers t
210
215
  selectionMode={Gtk.SelectionMode.SINGLE}
211
216
  selected={selectedId ? [selectedId] : []}
212
217
  onSelectionChanged={(ids) => setSelectedId(ids[0])}
213
- renderItem={(item, row) => (
218
+ items={files.map(file => ({
219
+ id: file.id,
220
+ value: file,
221
+ children: file.children?.map(child => ({ id: child.id, value: child })),
222
+ }))}
223
+ renderItem={(item: FileNode, row) => (
214
224
  <GtkBox spacing={8}>
215
- <GtkImage iconName={item?.isDirectory ? "folder-symbolic" : "text-x-generic-symbolic"} />
216
- <GtkLabel label={item?.name ?? ""} />
225
+ <GtkImage iconName={item.isDirectory ? "folder-symbolic" : "text-x-generic-symbolic"} />
226
+ <GtkLabel label={item.name} />
217
227
  </GtkBox>
218
228
  )}
219
- >
220
- {files.map(file => (
221
- <x.ListItem key={file.id} id={file.id} value={file}>
222
- {file.children?.map(child => (
223
- <x.ListItem key={child.id} id={child.id} value={child} />
224
- ))}
225
- </x.ListItem>
226
- ))}
227
- </GtkListView>
229
+ />
228
230
  ```
229
231
 
230
- **ListItem tree props:** `id`, `value`, `indentForDepth`, `indentForIcon`, `hideExpander`, nested `children`
232
+ **ListItem data props:** `id`, `value`, `children` (nested items for tree mode), `hideExpander`, `indentForDepth`, `indentForIcon`, `section` (for sectioned lists)
231
233
 
232
234
  ---
233
235
 
@@ -703,23 +705,23 @@ Type constants for `dropTypes`: `Type.STRING`, `Type.INT`, `Type.DOUBLE`, `Type.
703
705
 
704
706
  ## Custom Drawing
705
707
 
706
- Render custom graphics with `GtkDrawingArea` using the `onDraw` callback:
708
+ Render custom graphics with `GtkDrawingArea` using the `render` callback:
707
709
 
708
710
  ```tsx
709
711
  import type { Context } from "@gtkx/ffi/cairo";
710
712
 
711
713
  const Canvas = () => {
712
- const handleDraw = (self: Gtk.DrawingArea, cr: Context, width: number, height: number) => {
714
+ const handleDraw = (cr: Context, width: number, height: number) => {
713
715
  cr.setSourceRgb(0.2, 0.4, 0.8);
714
716
  cr.rectangle(10, 10, width - 20, height - 20);
715
717
  cr.fill();
716
718
  };
717
719
 
718
- return <GtkDrawingArea contentWidth={400} contentHeight={300} onDraw={handleDraw} />;
720
+ return <GtkDrawingArea contentWidth={400} contentHeight={300} render={handleDraw} />;
719
721
  };
720
722
  ```
721
723
 
722
- Add a `GtkGestureDrag` child for interactive drawing. Call `widget.queueDraw()` to trigger redraws.
724
+ Changing the `render` callback reference automatically queues a redraw. Add a `GtkGestureDrag` child for interactive drawing.
723
725
 
724
726
  ## Event Controllers
725
727