@gtkx/react 0.19.0 → 0.20.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.
Files changed (189) hide show
  1. package/dist/components/list.d.ts +35 -0
  2. package/dist/components/list.d.ts.map +1 -0
  3. package/dist/components/list.js +40 -0
  4. package/dist/components/list.js.map +1 -0
  5. package/dist/generated/internal.d.ts +5 -6
  6. package/dist/generated/internal.d.ts.map +1 -1
  7. package/dist/generated/internal.js +3473 -260
  8. package/dist/generated/internal.js.map +1 -1
  9. package/dist/generated/jsx.d.ts +0 -324
  10. package/dist/generated/jsx.d.ts.map +1 -1
  11. package/dist/generated/jsx.js +0 -324
  12. package/dist/generated/jsx.js.map +1 -1
  13. package/dist/host-config.d.ts.map +1 -1
  14. package/dist/host-config.js +2 -0
  15. package/dist/host-config.js.map +1 -1
  16. package/dist/jsx.d.ts +42 -105
  17. package/dist/jsx.d.ts.map +1 -1
  18. package/dist/jsx.js +2 -66
  19. package/dist/jsx.js.map +1 -1
  20. package/dist/metadata.d.ts.map +1 -1
  21. package/dist/metadata.js +7 -3
  22. package/dist/metadata.js.map +1 -1
  23. package/dist/node.d.ts +0 -4
  24. package/dist/node.d.ts.map +1 -1
  25. package/dist/node.js +19 -41
  26. package/dist/node.js.map +1 -1
  27. package/dist/nodes/application.d.ts.map +1 -1
  28. package/dist/nodes/application.js +4 -0
  29. package/dist/nodes/application.js.map +1 -1
  30. package/dist/nodes/column-view-column.d.ts +19 -19
  31. package/dist/nodes/column-view-column.d.ts.map +1 -1
  32. package/dist/nodes/column-view-column.js +130 -119
  33. package/dist/nodes/column-view-column.js.map +1 -1
  34. package/dist/nodes/event-controller.d.ts.map +1 -1
  35. package/dist/nodes/event-controller.js +3 -9
  36. package/dist/nodes/event-controller.js.map +1 -1
  37. package/dist/nodes/internal/accessible.d.ts.map +1 -1
  38. package/dist/nodes/internal/accessible.js.map +1 -1
  39. package/dist/nodes/internal/bound-item.d.ts +4 -0
  40. package/dist/nodes/internal/bound-item.d.ts.map +1 -0
  41. package/dist/nodes/internal/bound-item.js +2 -0
  42. package/dist/nodes/internal/bound-item.js.map +1 -0
  43. package/dist/nodes/internal/construct.d.ts +1 -8
  44. package/dist/nodes/internal/construct.d.ts.map +1 -1
  45. package/dist/nodes/internal/construct.js +30 -54
  46. package/dist/nodes/internal/construct.js.map +1 -1
  47. package/dist/nodes/internal/widget.d.ts.map +1 -1
  48. package/dist/nodes/internal/widget.js +4 -1
  49. package/dist/nodes/internal/widget.js.map +1 -1
  50. package/dist/nodes/list-item-node.d.ts +12 -0
  51. package/dist/nodes/list-item-node.d.ts.map +1 -0
  52. package/dist/nodes/list-item-node.js +23 -0
  53. package/dist/nodes/list-item-node.js.map +1 -0
  54. package/dist/nodes/list.d.ts +100 -0
  55. package/dist/nodes/list.d.ts.map +1 -0
  56. package/dist/nodes/list.js +950 -0
  57. package/dist/nodes/list.js.map +1 -0
  58. package/dist/nodes/notebook-page.d.ts.map +1 -1
  59. package/dist/nodes/notebook-page.js +4 -0
  60. package/dist/nodes/notebook-page.js.map +1 -1
  61. package/dist/nodes/widget.d.ts.map +1 -1
  62. package/dist/nodes/widget.js +9 -8
  63. package/dist/nodes/widget.js.map +1 -1
  64. package/dist/nodes/window.d.ts.map +1 -1
  65. package/dist/nodes/window.js +2 -2
  66. package/dist/nodes/window.js.map +1 -1
  67. package/dist/registry.d.ts +0 -2
  68. package/dist/registry.d.ts.map +1 -1
  69. package/dist/registry.js +4 -13
  70. package/dist/registry.js.map +1 -1
  71. package/dist/types.d.ts +2 -2
  72. package/dist/types.d.ts.map +1 -1
  73. package/package.json +5 -4
  74. package/src/components/list.tsx +83 -0
  75. package/src/generated/internal.ts +3479 -258
  76. package/src/generated/jsx.ts +0 -324
  77. package/src/host-config.ts +2 -0
  78. package/src/jsx.ts +49 -141
  79. package/src/metadata.ts +6 -3
  80. package/src/node.ts +23 -39
  81. package/src/nodes/application.ts +5 -0
  82. package/src/nodes/column-view-column.ts +125 -128
  83. package/src/nodes/event-controller.ts +3 -11
  84. package/src/nodes/internal/accessible.ts +0 -1
  85. package/src/nodes/internal/bound-item.ts +4 -0
  86. package/src/nodes/internal/construct.ts +38 -68
  87. package/src/nodes/internal/widget.ts +3 -1
  88. package/src/nodes/list-item-node.ts +29 -0
  89. package/src/nodes/list.ts +1082 -0
  90. package/src/nodes/notebook-page.ts +4 -0
  91. package/src/nodes/widget.ts +8 -13
  92. package/src/nodes/window.ts +2 -2
  93. package/src/registry.ts +11 -19
  94. package/src/types.ts +7 -2
  95. package/dist/fiber-root.d.ts +0 -4
  96. package/dist/fiber-root.d.ts.map +0 -1
  97. package/dist/fiber-root.js +0 -6
  98. package/dist/fiber-root.js.map +0 -1
  99. package/dist/nodes/column-view.d.ts +0 -37
  100. package/dist/nodes/column-view.d.ts.map +0 -1
  101. package/dist/nodes/column-view.js +0 -205
  102. package/dist/nodes/column-view.js.map +0 -1
  103. package/dist/nodes/drop-down.d.ts +0 -37
  104. package/dist/nodes/drop-down.d.ts.map +0 -1
  105. package/dist/nodes/drop-down.js +0 -231
  106. package/dist/nodes/drop-down.js.map +0 -1
  107. package/dist/nodes/grid-view.d.ts +0 -30
  108. package/dist/nodes/grid-view.d.ts.map +0 -1
  109. package/dist/nodes/grid-view.js +0 -90
  110. package/dist/nodes/grid-view.js.map +0 -1
  111. package/dist/nodes/internal/base-item-renderer.d.ts +0 -28
  112. package/dist/nodes/internal/base-item-renderer.d.ts.map +0 -1
  113. package/dist/nodes/internal/base-item-renderer.js +0 -85
  114. package/dist/nodes/internal/base-item-renderer.js.map +0 -1
  115. package/dist/nodes/internal/grid-item-renderer.d.ts +0 -20
  116. package/dist/nodes/internal/grid-item-renderer.d.ts.map +0 -1
  117. package/dist/nodes/internal/grid-item-renderer.js +0 -66
  118. package/dist/nodes/internal/grid-item-renderer.js.map +0 -1
  119. package/dist/nodes/internal/header-item-renderer.d.ts +0 -23
  120. package/dist/nodes/internal/header-item-renderer.d.ts.map +0 -1
  121. package/dist/nodes/internal/header-item-renderer.js +0 -87
  122. package/dist/nodes/internal/header-item-renderer.js.map +0 -1
  123. package/dist/nodes/internal/header-renderer-manager.d.ts +0 -13
  124. package/dist/nodes/internal/header-renderer-manager.d.ts.map +0 -1
  125. package/dist/nodes/internal/header-renderer-manager.js +0 -20
  126. package/dist/nodes/internal/header-renderer-manager.js.map +0 -1
  127. package/dist/nodes/internal/list-item-renderer.d.ts +0 -27
  128. package/dist/nodes/internal/list-item-renderer.d.ts.map +0 -1
  129. package/dist/nodes/internal/list-item-renderer.js +0 -131
  130. package/dist/nodes/internal/list-item-renderer.js.map +0 -1
  131. package/dist/nodes/internal/list-store.d.ts +0 -21
  132. package/dist/nodes/internal/list-store.d.ts.map +0 -1
  133. package/dist/nodes/internal/list-store.js +0 -90
  134. package/dist/nodes/internal/list-store.js.map +0 -1
  135. package/dist/nodes/internal/sectioned-list-store.d.ts +0 -50
  136. package/dist/nodes/internal/sectioned-list-store.d.ts.map +0 -1
  137. package/dist/nodes/internal/sectioned-list-store.js +0 -250
  138. package/dist/nodes/internal/sectioned-list-store.js.map +0 -1
  139. package/dist/nodes/internal/selection-helpers.d.ts +0 -12
  140. package/dist/nodes/internal/selection-helpers.d.ts.map +0 -1
  141. package/dist/nodes/internal/selection-helpers.js +0 -25
  142. package/dist/nodes/internal/selection-helpers.js.map +0 -1
  143. package/dist/nodes/internal/selection-model-controller.d.ts +0 -26
  144. package/dist/nodes/internal/selection-model-controller.d.ts.map +0 -1
  145. package/dist/nodes/internal/selection-model-controller.js +0 -82
  146. package/dist/nodes/internal/selection-model-controller.js.map +0 -1
  147. package/dist/nodes/internal/simple-list-store.d.ts +0 -15
  148. package/dist/nodes/internal/simple-list-store.d.ts.map +0 -1
  149. package/dist/nodes/internal/simple-list-store.js +0 -110
  150. package/dist/nodes/internal/simple-list-store.js.map +0 -1
  151. package/dist/nodes/internal/tree-store.d.ts +0 -37
  152. package/dist/nodes/internal/tree-store.d.ts.map +0 -1
  153. package/dist/nodes/internal/tree-store.js +0 -253
  154. package/dist/nodes/internal/tree-store.js.map +0 -1
  155. package/dist/nodes/list-item.d.ts +0 -24
  156. package/dist/nodes/list-item.d.ts.map +0 -1
  157. package/dist/nodes/list-item.js +0 -83
  158. package/dist/nodes/list-item.js.map +0 -1
  159. package/dist/nodes/list-section.d.ts +0 -27
  160. package/dist/nodes/list-section.d.ts.map +0 -1
  161. package/dist/nodes/list-section.js +0 -43
  162. package/dist/nodes/list-section.js.map +0 -1
  163. package/dist/nodes/list-view.d.ts +0 -32
  164. package/dist/nodes/list-view.d.ts.map +0 -1
  165. package/dist/nodes/list-view.js +0 -123
  166. package/dist/nodes/list-view.js.map +0 -1
  167. package/dist/nodes/models/list.d.ts +0 -39
  168. package/dist/nodes/models/list.d.ts.map +0 -1
  169. package/dist/nodes/models/list.js +0 -207
  170. package/dist/nodes/models/list.js.map +0 -1
  171. package/src/fiber-root.ts +0 -20
  172. package/src/nodes/column-view.ts +0 -262
  173. package/src/nodes/drop-down.ts +0 -284
  174. package/src/nodes/grid-view.ts +0 -119
  175. package/src/nodes/internal/base-item-renderer.ts +0 -107
  176. package/src/nodes/internal/grid-item-renderer.ts +0 -78
  177. package/src/nodes/internal/header-item-renderer.ts +0 -105
  178. package/src/nodes/internal/header-renderer-manager.ts +0 -33
  179. package/src/nodes/internal/list-item-renderer.ts +0 -162
  180. package/src/nodes/internal/list-store.ts +0 -107
  181. package/src/nodes/internal/sectioned-list-store.ts +0 -287
  182. package/src/nodes/internal/selection-helpers.ts +0 -35
  183. package/src/nodes/internal/selection-model-controller.ts +0 -119
  184. package/src/nodes/internal/simple-list-store.ts +0 -116
  185. package/src/nodes/internal/tree-store.ts +0 -289
  186. package/src/nodes/list-item.ts +0 -107
  187. package/src/nodes/list-section.ts +0 -64
  188. package/src/nodes/list-view.ts +0 -164
  189. package/src/nodes/models/list.ts +0 -250
@@ -1,87 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import { createFiberRoot } from "../../fiber-root.js";
3
- import { reconciler } from "../../reconciler.js";
4
- export class HeaderItemRenderer {
5
- factory;
6
- fiberRoots = new Map();
7
- tornDown = new Set();
8
- renderFn = () => null;
9
- boundHeaders = new Map();
10
- signalStore;
11
- resolveItem = null;
12
- constructor(signalStore) {
13
- this.signalStore = signalStore;
14
- this.factory = new Gtk.SignalListItemFactory();
15
- this.initializeFactory();
16
- }
17
- getFactory() {
18
- return this.factory;
19
- }
20
- setResolveItem(resolver) {
21
- this.resolveItem = resolver;
22
- }
23
- setRenderFn(renderFn) {
24
- this.renderFn = renderFn;
25
- this.rebindAllHeaders();
26
- }
27
- dispose() {
28
- this.signalStore.clear(this);
29
- this.fiberRoots.clear();
30
- this.tornDown.clear();
31
- this.boundHeaders.clear();
32
- }
33
- rebindAllHeaders() {
34
- for (const [id, header] of this.boundHeaders) {
35
- const fiberRoot = this.fiberRoots.get(header);
36
- if (!fiberRoot)
37
- continue;
38
- const item = this.resolveItem?.(id) ?? null;
39
- const element = this.renderFn?.(item);
40
- reconciler.getInstance().updateContainer(element, fiberRoot, null, () => { });
41
- }
42
- }
43
- initializeFactory() {
44
- this.signalStore.set(this, this.factory, "setup", (listHeader) => {
45
- const box = new Gtk.Box(Gtk.Orientation.HORIZONTAL);
46
- listHeader.setChild(box);
47
- const fiberRoot = createFiberRoot(box);
48
- this.fiberRoots.set(listHeader, fiberRoot);
49
- const element = this.renderFn?.(null);
50
- reconciler.getInstance().updateContainer(element, fiberRoot, null, () => { });
51
- });
52
- this.signalStore.set(this, this.factory, "bind", (listHeader) => {
53
- const fiberRoot = this.fiberRoots.get(listHeader);
54
- if (!fiberRoot)
55
- return;
56
- const stringObject = listHeader.getItem();
57
- let id = null;
58
- if (stringObject instanceof Gtk.StringObject) {
59
- id = stringObject.getString();
60
- }
61
- if (id !== null) {
62
- this.boundHeaders.set(id, listHeader);
63
- }
64
- const item = id !== null && this.resolveItem ? this.resolveItem(id) : null;
65
- const element = this.renderFn?.(item);
66
- reconciler.getInstance().updateContainer(element, fiberRoot, null, () => { });
67
- });
68
- this.signalStore.set(this, this.factory, "unbind", (listHeader) => {
69
- const stringObject = listHeader.getItem();
70
- if (stringObject instanceof Gtk.StringObject) {
71
- this.boundHeaders.delete(stringObject.getString());
72
- }
73
- });
74
- this.signalStore.set(this, this.factory, "teardown", (listHeader) => {
75
- const fiberRoot = this.fiberRoots.get(listHeader);
76
- if (fiberRoot) {
77
- this.tornDown.add(listHeader);
78
- reconciler.getInstance().updateContainer(null, fiberRoot, null, () => { });
79
- queueMicrotask(() => {
80
- this.fiberRoots.delete(listHeader);
81
- this.tornDown.delete(listHeader);
82
- });
83
- }
84
- });
85
- }
86
- }
87
- //# sourceMappingURL=header-item-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-item-renderer.js","sourceRoot":"","sources":["../../../src/nodes/internal/header-item-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type * as Gtk from "@gtkx/ffi/gtk";
2
- import type { ReactNode } from "react";
3
- import { HeaderItemRenderer } from "./header-item-renderer.js";
4
- import type { SignalStore } from "./signal-store.js";
5
- type HeaderRendererConfig = {
6
- signalStore: SignalStore;
7
- isEnabled: () => boolean;
8
- resolveItem: (id: string) => unknown;
9
- setFactory: (factory: Gtk.SignalListItemFactory | null) => void;
10
- };
11
- export declare function updateHeaderRenderer(current: HeaderItemRenderer | null, config: HeaderRendererConfig, renderFn: ((item: unknown) => ReactNode) | null | undefined): HeaderItemRenderer | null;
12
- export {};
13
- //# sourceMappingURL=header-renderer-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-renderer-manager.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/header-renderer-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,KAAK,oBAAoB,GAAG;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,UAAU,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;CACnE,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,kBAAkB,GAAG,IAAI,EAClC,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,GAC5D,kBAAkB,GAAG,IAAI,CAgB3B"}
@@ -1,20 +0,0 @@
1
- import { HeaderItemRenderer } from "./header-item-renderer.js";
2
- export function updateHeaderRenderer(current, config, renderFn) {
3
- if (renderFn) {
4
- if (!current && config.isEnabled()) {
5
- current = new HeaderItemRenderer(config.signalStore);
6
- current.setResolveItem(config.resolveItem);
7
- config.setFactory(current.getFactory());
8
- }
9
- if (current) {
10
- current.setRenderFn(renderFn);
11
- }
12
- }
13
- else if (current) {
14
- config.setFactory(null);
15
- current.dispose();
16
- current = null;
17
- }
18
- return current;
19
- }
20
- //# sourceMappingURL=header-renderer-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-renderer-manager.js","sourceRoot":"","sources":["../../../src/nodes/internal/header-renderer-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAU/D,MAAM,UAAU,oBAAoB,CAChC,OAAkC,EAClC,MAA4B,EAC5B,QAA2D;IAE3D,IAAI,QAAQ,EAAE,CAAC;QACX,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,27 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { ReactNode } from "react";
3
- import type Reconciler from "react-reconciler";
4
- import { BaseItemRenderer } from "./base-item-renderer.js";
5
- import type { TreeStore } from "./tree-store.js";
6
- type RenderItemFn<T> = (item: T | null, row: Gtk.TreeListRow | null) => ReactNode;
7
- export declare class ListItemRenderer extends BaseItemRenderer<TreeStore> {
8
- private expanders;
9
- private setupComplete;
10
- private pendingBinds;
11
- private renderFn;
12
- private boundItems;
13
- setRenderFn(renderFn: RenderItemFn<unknown> | null): void;
14
- rebindAllItems(): void;
15
- rebindItem(id: string): void;
16
- dispose(): void;
17
- protected renderItem(_listItem: Gtk.ListItem): ReactNode;
18
- protected onSetup(listItem: Gtk.ListItem): Gtk.Widget;
19
- protected onSetupComplete(listItem: Gtk.ListItem): void;
20
- protected onBind(listItem: Gtk.ListItem, fiberRoot: Reconciler.FiberRoot): void;
21
- protected onUnbind(listItem: Gtk.ListItem): void;
22
- protected onTeardown(listItem: Gtk.ListItem): void;
23
- private processPendingBind;
24
- private renderBind;
25
- }
26
- export {};
27
- //# sourceMappingURL=list-item-renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-item-renderer.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/list-item-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,KAAK,SAAS,CAAC;AAQlF,qBAAa,gBAAiB,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IAC7D,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,UAAU,CAA+E;IAE1F,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI;IAKzD,cAAc,IAAI,IAAI;IAMtB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAanB,OAAO,IAAI,IAAI;cAQZ,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,GAAG,SAAS;cAI9C,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM;cAS3C,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI;cAK7C,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,GAAG,IAAI;cAuBrE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI;cActC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI;IAM3D,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,UAAU;CAmCrB"}
@@ -1,131 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import { reconciler } from "../../reconciler.js";
3
- import { BaseItemRenderer } from "./base-item-renderer.js";
4
- export class ListItemRenderer extends BaseItemRenderer {
5
- expanders = new Map();
6
- setupComplete = new Set();
7
- pendingBinds = new Map();
8
- renderFn = () => null;
9
- boundItems = new Map();
10
- setRenderFn(renderFn) {
11
- this.renderFn = renderFn;
12
- this.rebindAllItems();
13
- }
14
- rebindAllItems() {
15
- for (const id of this.boundItems.keys()) {
16
- this.rebindItem(id);
17
- }
18
- }
19
- rebindItem(id) {
20
- const binding = this.boundItems.get(id);
21
- if (!binding)
22
- return;
23
- const fiberRoot = this.fiberRoots.get(binding.listItem);
24
- if (!fiberRoot)
25
- return;
26
- const expander = this.expanders.get(binding.listItem);
27
- if (!expander)
28
- return;
29
- this.renderBind(binding.listItem, expander, binding.treeListRow, id, fiberRoot);
30
- }
31
- dispose() {
32
- super.dispose();
33
- this.expanders.clear();
34
- this.setupComplete.clear();
35
- this.pendingBinds.clear();
36
- this.boundItems.clear();
37
- }
38
- renderItem(_listItem) {
39
- return this.renderFn?.(null, null);
40
- }
41
- onSetup(listItem) {
42
- const expander = new Gtk.TreeExpander();
43
- const box = this.createBox();
44
- expander.setChild(box);
45
- listItem.setChild(expander);
46
- this.expanders.set(listItem, expander);
47
- return box;
48
- }
49
- onSetupComplete(listItem) {
50
- this.setupComplete.add(listItem);
51
- this.processPendingBind(listItem);
52
- }
53
- onBind(listItem, fiberRoot) {
54
- const expander = this.expanders.get(listItem);
55
- if (!expander)
56
- return;
57
- const treeListRow = listItem.getItem();
58
- if (!(treeListRow instanceof Gtk.TreeListRow))
59
- return;
60
- expander.setListRow(treeListRow);
61
- const stringObject = treeListRow.getItem();
62
- if (!(stringObject instanceof Gtk.StringObject))
63
- return;
64
- const id = stringObject.getString();
65
- this.boundItems.set(id, { listItem, treeListRow });
66
- if (!this.setupComplete.has(listItem)) {
67
- this.pendingBinds.set(listItem, { treeListRow, expander, id });
68
- return;
69
- }
70
- this.renderBind(listItem, expander, treeListRow, id, fiberRoot);
71
- }
72
- onUnbind(listItem) {
73
- const expander = listItem.getChild();
74
- if (expander instanceof Gtk.TreeExpander) {
75
- expander.setListRow(null);
76
- const treeListRow = listItem.getItem();
77
- if (treeListRow instanceof Gtk.TreeListRow) {
78
- const stringObject = treeListRow.getItem();
79
- if (stringObject instanceof Gtk.StringObject) {
80
- this.boundItems.delete(stringObject.getString());
81
- }
82
- }
83
- }
84
- }
85
- onTeardown(listItem) {
86
- this.expanders.delete(listItem);
87
- this.setupComplete.delete(listItem);
88
- this.pendingBinds.delete(listItem);
89
- }
90
- processPendingBind(listItem) {
91
- const pending = this.pendingBinds.get(listItem);
92
- if (!pending)
93
- return;
94
- this.pendingBinds.delete(listItem);
95
- const fiberRoot = this.fiberRoots.get(listItem);
96
- if (fiberRoot) {
97
- this.renderBind(listItem, pending.expander, pending.treeListRow, pending.id, fiberRoot);
98
- }
99
- }
100
- renderBind(listItem, expander, treeListRow, id, fiberRoot) {
101
- const itemData = this.getStore().getItem(id);
102
- if (itemData) {
103
- expander.setIndentForDepth(itemData.indentForDepth ?? true);
104
- expander.setHideExpander(itemData.hideExpander ?? false);
105
- if (itemData.indentForIcon !== undefined) {
106
- expander.setIndentForIcon(itemData.indentForIcon);
107
- }
108
- else {
109
- expander.setIndentForIcon(treeListRow.isExpandable());
110
- }
111
- }
112
- else {
113
- expander.setIndentForIcon(treeListRow.isExpandable());
114
- }
115
- const element = this.renderFn?.(itemData?.value ?? null, treeListRow);
116
- reconciler.getInstance().updateContainer(element, fiberRoot, null, () => {
117
- if (this.tornDown.has(listItem))
118
- return;
119
- if (this.estimatedItemHeight !== null)
120
- return;
121
- const currentExpander = this.expanders.get(listItem);
122
- if (!currentExpander)
123
- return;
124
- const box = currentExpander.getChild();
125
- if (box) {
126
- this.clearBoxSizeRequest(box);
127
- }
128
- });
129
- }
130
- }
131
- //# sourceMappingURL=list-item-renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-item-renderer.js","sourceRoot":"","sources":["../../../src/nodes/internal/list-item-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { SectionedListStore } from "./sectioned-list-store.js";
2
- type ItemUpdatedCallback = (id: string) => void;
3
- export declare class ListStore extends SectionedListStore {
4
- private items;
5
- private onItemUpdated;
6
- setOnItemUpdated(callback: ItemUpdatedCallback | null): void;
7
- protected getInitialPendingBatch(): string[] | null;
8
- protected getModelString(itemId: string, _item: unknown): string;
9
- protected onItemAdded(itemId: string, item: unknown): void;
10
- protected onItemRemoved(itemId: string): void;
11
- addItem(id: string, item: unknown): void;
12
- insertItemBefore(id: string, beforeId: string, item: unknown): void;
13
- updateItem(id: string, item: unknown): void;
14
- getItem(id: string): unknown;
15
- getHeaderValue(itemId: string): unknown;
16
- getHeaderValueById(sectionId: string): unknown;
17
- getStringList(): import("@gtkx/ffi/gtk").StringList;
18
- getNItems(): number;
19
- }
20
- export {};
21
- //# sourceMappingURL=list-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-store.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/list-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,KAAK,mBAAmB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAEhD,qBAAa,SAAU,SAAQ,kBAAkB;IAC7C,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,aAAa,CAAoC;IAElD,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;cAIhD,sBAAsB,IAAI,MAAM,EAAE,GAAG,IAAI;cAIzC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;cAItD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;cAIhD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAqBxC,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAwBnE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAS3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI5B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAQvC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI9C,aAAa,IAAI,OAAO,eAAe,EAAE,UAAU;IAInD,SAAS,IAAI,MAAM;CAI7B"}
@@ -1,90 +0,0 @@
1
- import { SectionedListStore } from "./sectioned-list-store.js";
2
- export class ListStore extends SectionedListStore {
3
- items = new Map();
4
- onItemUpdated = null;
5
- setOnItemUpdated(callback) {
6
- this.onItemUpdated = callback;
7
- }
8
- getInitialPendingBatch() {
9
- return null;
10
- }
11
- getModelString(itemId, _item) {
12
- return itemId;
13
- }
14
- onItemAdded(itemId, item) {
15
- this.items.set(itemId, item);
16
- }
17
- onItemRemoved(itemId) {
18
- this.items.delete(itemId);
19
- }
20
- addItem(id, item) {
21
- this.flushRemovals();
22
- this.items.set(id, item);
23
- const existingIndex = this.idToIndex.get(id);
24
- if (existingIndex !== undefined) {
25
- this.model.remove(existingIndex);
26
- this.ids.splice(existingIndex, 1);
27
- this.rebuildIndices(existingIndex);
28
- }
29
- this.idToIndex.set(id, this.ids.length);
30
- this.ids.push(id);
31
- if (this.pendingBatch) {
32
- this.pendingBatch.push(id);
33
- }
34
- else {
35
- this.model.append(id);
36
- }
37
- }
38
- insertItemBefore(id, beforeId, item) {
39
- this.flushRemovals();
40
- this.items.set(id, item);
41
- const existingIndex = this.idToIndex.get(id);
42
- if (existingIndex !== undefined) {
43
- this.model.remove(existingIndex);
44
- this.ids.splice(existingIndex, 1);
45
- this.idToIndex.delete(id);
46
- this.rebuildIndices(existingIndex);
47
- }
48
- const beforeIndex = this.idToIndex.get(beforeId);
49
- if (beforeIndex === undefined) {
50
- this.idToIndex.set(id, this.ids.length);
51
- this.ids.push(id);
52
- this.model.append(id);
53
- }
54
- else {
55
- this.ids.splice(beforeIndex, 0, id);
56
- this.rebuildIndices(beforeIndex);
57
- this.model.splice(beforeIndex, 0, [id]);
58
- }
59
- }
60
- updateItem(id, item) {
61
- if (this.items.has(id)) {
62
- this.items.set(id, item);
63
- this.onItemUpdated?.(id);
64
- }
65
- else {
66
- this.addItem(id, item);
67
- }
68
- }
69
- getItem(id) {
70
- return this.items.get(id);
71
- }
72
- getHeaderValue(itemId) {
73
- const sectionId = this.itemToSection.get(itemId);
74
- if (sectionId) {
75
- return this.headerValues.get(sectionId);
76
- }
77
- return undefined;
78
- }
79
- getHeaderValueById(sectionId) {
80
- return this.headerValues.get(sectionId);
81
- }
82
- getStringList() {
83
- return this.model;
84
- }
85
- getNItems() {
86
- this.flushRemovals();
87
- return this.ids.length;
88
- }
89
- }
90
- //# sourceMappingURL=list-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-store.js","sourceRoot":"","sources":["../../../src/nodes/internal/list-store.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import * as Gio from "@gtkx/ffi/gio";
2
- import * as Gtk from "@gtkx/ffi/gtk";
3
- interface SectionData {
4
- id: string;
5
- model: Gtk.StringList;
6
- itemIds: string[];
7
- pendingBatch: string[] | null;
8
- }
9
- export declare abstract class SectionedListStore {
10
- protected ids: string[];
11
- protected idToIndex: Map<string, number>;
12
- protected model: Gtk.StringList;
13
- protected pendingBatch: string[] | null;
14
- private pendingRemovals;
15
- private flushScheduled;
16
- protected sectioned: boolean;
17
- protected sections: SectionData[];
18
- protected sectionById: Map<string, SectionData>;
19
- protected itemToSection: Map<string, string>;
20
- protected headerValues: Map<string, unknown>;
21
- protected sectionContainer: Gio.ListStore | null;
22
- protected flatModel: Gtk.FlattenListModel | null;
23
- enableSections(): void;
24
- beginBatch(): void;
25
- flushBatch(): void;
26
- addSection(id: string, value: unknown): void;
27
- removeSection(id: string): void;
28
- removeItemFromSection(itemId: string): void;
29
- removeItem(id: string): void;
30
- flushRemovals(): void;
31
- addItemToSection(sectionId: string, itemId: string, item: unknown): void;
32
- addItemsToSection(sectionId: string, items: {
33
- itemId: string;
34
- item: unknown;
35
- }[]): void;
36
- insertItemToSectionBefore(sectionId: string, itemId: string, beforeId: string, item: unknown): void;
37
- updateHeaderValue(sectionId: string, value: unknown): void;
38
- isSectioned(): boolean;
39
- getModel(): Gio.ListModel;
40
- getIdAtIndex(index: number): string | null;
41
- getIndexById(id: string): number | null;
42
- protected rebuildGlobalIndices(): void;
43
- protected rebuildIndices(fromIndex: number): void;
44
- protected abstract getInitialPendingBatch(): string[] | null;
45
- protected abstract getModelString(itemId: string, item: unknown): string;
46
- protected onItemAdded(_itemId: string, _item: unknown): void;
47
- protected onItemRemoved(_itemId: string): void;
48
- }
49
- export {};
50
- //# sourceMappingURL=sectioned-list-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sectioned-list-store.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/sectioned-list-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACjC;AAED,8BAAsB,kBAAkB;IACpC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAM;IAC7B,SAAS,CAAC,SAAS,sBAA6B;IAChD,SAAS,CAAC,KAAK,iBAAwB;IACvC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAQ;IAC/C,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,cAAc,CAAS;IAE/B,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAM;IACvC,SAAS,CAAC,WAAW,2BAAkC;IACvD,SAAS,CAAC,aAAa,sBAA6B;IACpD,SAAS,CAAC,YAAY,uBAA8B;IACpD,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAQ;IACxD,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAQ;IAEjD,cAAc,IAAI,IAAI;IAOtB,UAAU,IAAI,IAAI;IAUlB,UAAU,IAAI,IAAI;IAkBlB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAkB5C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAiB/B,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkB3C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAmB5B,aAAa,IAAI,IAAI;IA4CrB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAiBxE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,GAAG,IAAI;IAwBtF,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAoBnG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI1D,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,GAAG,CAAC,SAAS;IAKzB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK1C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK9C,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAWtC,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMjD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE,GAAG,IAAI;IAE5D,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM;IAExE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAE5D,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CACjD"}