@gtkx/react 0.18.9 → 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 (212) 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 +8 -3
  6. package/dist/generated/internal.d.ts.map +1 -1
  7. package/dist/generated/internal.js +3553 -53
  8. package/dist/generated/internal.js.map +1 -1
  9. package/dist/generated/jsx.d.ts +178 -326
  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 +48 -10
  15. package/dist/host-config.js.map +1 -1
  16. package/dist/jsx.d.ts +111 -54
  17. package/dist/jsx.d.ts.map +1 -1
  18. package/dist/jsx.js +3 -28
  19. package/dist/jsx.js.map +1 -1
  20. package/dist/metadata.d.ts +1 -0
  21. package/dist/metadata.d.ts.map +1 -1
  22. package/dist/metadata.js +7 -1
  23. package/dist/metadata.js.map +1 -1
  24. package/dist/node.d.ts +0 -2
  25. package/dist/node.d.ts.map +1 -1
  26. package/dist/node.js +19 -25
  27. package/dist/node.js.map +1 -1
  28. package/dist/nodes/application.d.ts.map +1 -1
  29. package/dist/nodes/application.js +4 -0
  30. package/dist/nodes/application.js.map +1 -1
  31. package/dist/nodes/column-view-column.d.ts +19 -16
  32. package/dist/nodes/column-view-column.d.ts.map +1 -1
  33. package/dist/nodes/column-view-column.js +129 -97
  34. package/dist/nodes/column-view-column.js.map +1 -1
  35. package/dist/nodes/event-controller.d.ts +1 -0
  36. package/dist/nodes/event-controller.d.ts.map +1 -1
  37. package/dist/nodes/event-controller.js +9 -7
  38. package/dist/nodes/event-controller.js.map +1 -1
  39. package/dist/nodes/fixed-child.d.ts +1 -2
  40. package/dist/nodes/fixed-child.d.ts.map +1 -1
  41. package/dist/nodes/fixed-child.js +21 -21
  42. package/dist/nodes/fixed-child.js.map +1 -1
  43. package/dist/nodes/font-dialog-button.d.ts +1 -1
  44. package/dist/nodes/font-dialog-button.d.ts.map +1 -1
  45. package/dist/nodes/font-dialog-button.js +8 -0
  46. package/dist/nodes/font-dialog-button.js.map +1 -1
  47. package/dist/nodes/internal/accessible.d.ts +5 -0
  48. package/dist/nodes/internal/accessible.d.ts.map +1 -0
  49. package/dist/nodes/internal/accessible.js +119 -0
  50. package/dist/nodes/internal/accessible.js.map +1 -0
  51. package/dist/nodes/internal/bound-item.d.ts +4 -0
  52. package/dist/nodes/internal/bound-item.d.ts.map +1 -0
  53. package/dist/nodes/internal/bound-item.js +2 -0
  54. package/dist/nodes/internal/bound-item.js.map +1 -0
  55. package/dist/nodes/internal/construct.d.ts +3 -0
  56. package/dist/nodes/internal/construct.d.ts.map +1 -0
  57. package/dist/nodes/internal/construct.js +44 -0
  58. package/dist/nodes/internal/construct.js.map +1 -0
  59. package/dist/nodes/internal/text-buffer-controller.d.ts +4 -0
  60. package/dist/nodes/internal/text-buffer-controller.d.ts.map +1 -1
  61. package/dist/nodes/internal/text-buffer-controller.js +49 -9
  62. package/dist/nodes/internal/text-buffer-controller.js.map +1 -1
  63. package/dist/nodes/internal/widget.d.ts.map +1 -1
  64. package/dist/nodes/internal/widget.js +4 -1
  65. package/dist/nodes/internal/widget.js.map +1 -1
  66. package/dist/nodes/list-item-node.d.ts +12 -0
  67. package/dist/nodes/list-item-node.d.ts.map +1 -0
  68. package/dist/nodes/list-item-node.js +23 -0
  69. package/dist/nodes/list-item-node.js.map +1 -0
  70. package/dist/nodes/list.d.ts +100 -0
  71. package/dist/nodes/list.d.ts.map +1 -0
  72. package/dist/nodes/list.js +950 -0
  73. package/dist/nodes/list.js.map +1 -0
  74. package/dist/nodes/notebook-page.d.ts.map +1 -1
  75. package/dist/nodes/notebook-page.js +4 -0
  76. package/dist/nodes/notebook-page.js.map +1 -1
  77. package/dist/nodes/shortcut.d.ts +3 -2
  78. package/dist/nodes/shortcut.d.ts.map +1 -1
  79. package/dist/nodes/shortcut.js +19 -4
  80. package/dist/nodes/shortcut.js.map +1 -1
  81. package/dist/nodes/text-anchor.d.ts.map +1 -1
  82. package/dist/nodes/text-anchor.js +7 -1
  83. package/dist/nodes/text-anchor.js.map +1 -1
  84. package/dist/nodes/text-tag.d.ts.map +1 -1
  85. package/dist/nodes/text-tag.js +5 -1
  86. package/dist/nodes/text-tag.js.map +1 -1
  87. package/dist/nodes/text-view.d.ts +1 -0
  88. package/dist/nodes/text-view.d.ts.map +1 -1
  89. package/dist/nodes/text-view.js +4 -0
  90. package/dist/nodes/text-view.js.map +1 -1
  91. package/dist/nodes/widget.d.ts +0 -2
  92. package/dist/nodes/widget.d.ts.map +1 -1
  93. package/dist/nodes/widget.js +51 -67
  94. package/dist/nodes/widget.js.map +1 -1
  95. package/dist/nodes/window.d.ts.map +1 -1
  96. package/dist/nodes/window.js +2 -2
  97. package/dist/nodes/window.js.map +1 -1
  98. package/dist/registry.d.ts +0 -2
  99. package/dist/registry.d.ts.map +1 -1
  100. package/dist/registry.js +4 -13
  101. package/dist/registry.js.map +1 -1
  102. package/dist/types.d.ts +2 -2
  103. package/dist/types.d.ts.map +1 -1
  104. package/package.json +5 -4
  105. package/src/components/list.tsx +83 -0
  106. package/src/generated/internal.ts +3559 -49
  107. package/src/generated/jsx.ts +178 -326
  108. package/src/host-config.ts +43 -10
  109. package/src/jsx.ts +121 -62
  110. package/src/metadata.ts +8 -1
  111. package/src/node.ts +23 -25
  112. package/src/nodes/application.ts +5 -0
  113. package/src/nodes/column-view-column.ts +125 -104
  114. package/src/nodes/event-controller.ts +8 -8
  115. package/src/nodes/fixed-child.ts +24 -23
  116. package/src/nodes/font-dialog-button.ts +10 -0
  117. package/src/nodes/internal/accessible.ts +155 -0
  118. package/src/nodes/internal/bound-item.ts +4 -0
  119. package/src/nodes/internal/construct.ts +60 -0
  120. package/src/nodes/internal/text-buffer-controller.ts +51 -8
  121. package/src/nodes/internal/widget.ts +3 -1
  122. package/src/nodes/list-item-node.ts +29 -0
  123. package/src/nodes/list.ts +1082 -0
  124. package/src/nodes/notebook-page.ts +4 -0
  125. package/src/nodes/shortcut.ts +22 -5
  126. package/src/nodes/text-anchor.ts +6 -1
  127. package/src/nodes/text-tag.ts +7 -1
  128. package/src/nodes/text-view.ts +5 -0
  129. package/src/nodes/widget.ts +47 -69
  130. package/src/nodes/window.ts +2 -2
  131. package/src/registry.ts +11 -17
  132. package/src/types.ts +7 -2
  133. package/dist/fiber-root.d.ts +0 -4
  134. package/dist/fiber-root.d.ts.map +0 -1
  135. package/dist/fiber-root.js +0 -6
  136. package/dist/fiber-root.js.map +0 -1
  137. package/dist/nodes/column-view.d.ts +0 -36
  138. package/dist/nodes/column-view.d.ts.map +0 -1
  139. package/dist/nodes/column-view.js +0 -175
  140. package/dist/nodes/column-view.js.map +0 -1
  141. package/dist/nodes/drop-down.d.ts +0 -27
  142. package/dist/nodes/drop-down.d.ts.map +0 -1
  143. package/dist/nodes/drop-down.js +0 -85
  144. package/dist/nodes/drop-down.js.map +0 -1
  145. package/dist/nodes/grid-view.d.ts +0 -29
  146. package/dist/nodes/grid-view.d.ts.map +0 -1
  147. package/dist/nodes/grid-view.js +0 -85
  148. package/dist/nodes/grid-view.js.map +0 -1
  149. package/dist/nodes/internal/base-item-renderer.d.ts +0 -28
  150. package/dist/nodes/internal/base-item-renderer.d.ts.map +0 -1
  151. package/dist/nodes/internal/base-item-renderer.js +0 -86
  152. package/dist/nodes/internal/base-item-renderer.js.map +0 -1
  153. package/dist/nodes/internal/grid-item-renderer.d.ts +0 -20
  154. package/dist/nodes/internal/grid-item-renderer.d.ts.map +0 -1
  155. package/dist/nodes/internal/grid-item-renderer.js +0 -66
  156. package/dist/nodes/internal/grid-item-renderer.js.map +0 -1
  157. package/dist/nodes/internal/list-item-renderer.d.ts +0 -27
  158. package/dist/nodes/internal/list-item-renderer.d.ts.map +0 -1
  159. package/dist/nodes/internal/list-item-renderer.js +0 -131
  160. package/dist/nodes/internal/list-item-renderer.js.map +0 -1
  161. package/dist/nodes/internal/list-store.d.ts +0 -22
  162. package/dist/nodes/internal/list-store.d.ts.map +0 -1
  163. package/dist/nodes/internal/list-store.js +0 -91
  164. package/dist/nodes/internal/list-store.js.map +0 -1
  165. package/dist/nodes/internal/selection-model-controller.d.ts +0 -26
  166. package/dist/nodes/internal/selection-model-controller.d.ts.map +0 -1
  167. package/dist/nodes/internal/selection-model-controller.js +0 -79
  168. package/dist/nodes/internal/selection-model-controller.js.map +0 -1
  169. package/dist/nodes/internal/simple-list-store.d.ts +0 -20
  170. package/dist/nodes/internal/simple-list-store.d.ts.map +0 -1
  171. package/dist/nodes/internal/simple-list-store.js +0 -87
  172. package/dist/nodes/internal/simple-list-store.js.map +0 -1
  173. package/dist/nodes/internal/tree-store.d.ts +0 -34
  174. package/dist/nodes/internal/tree-store.d.ts.map +0 -1
  175. package/dist/nodes/internal/tree-store.js +0 -208
  176. package/dist/nodes/internal/tree-store.js.map +0 -1
  177. package/dist/nodes/list-item.d.ts +0 -24
  178. package/dist/nodes/list-item.d.ts.map +0 -1
  179. package/dist/nodes/list-item.js +0 -83
  180. package/dist/nodes/list-item.js.map +0 -1
  181. package/dist/nodes/list-view.d.ts +0 -29
  182. package/dist/nodes/list-view.d.ts.map +0 -1
  183. package/dist/nodes/list-view.js +0 -83
  184. package/dist/nodes/list-view.js.map +0 -1
  185. package/dist/nodes/models/grid.d.ts +0 -28
  186. package/dist/nodes/models/grid.d.ts.map +0 -1
  187. package/dist/nodes/models/grid.js +0 -69
  188. package/dist/nodes/models/grid.js.map +0 -1
  189. package/dist/nodes/models/list.d.ts +0 -31
  190. package/dist/nodes/models/list.d.ts.map +0 -1
  191. package/dist/nodes/models/list.js +0 -93
  192. package/dist/nodes/models/list.js.map +0 -1
  193. package/dist/nodes/shortcut-controller.d.ts +0 -10
  194. package/dist/nodes/shortcut-controller.d.ts.map +0 -1
  195. package/dist/nodes/shortcut-controller.js +0 -23
  196. package/dist/nodes/shortcut-controller.js.map +0 -1
  197. package/src/fiber-root.ts +0 -20
  198. package/src/nodes/column-view.ts +0 -217
  199. package/src/nodes/drop-down.ts +0 -108
  200. package/src/nodes/grid-view.ts +0 -109
  201. package/src/nodes/internal/base-item-renderer.ts +0 -108
  202. package/src/nodes/internal/grid-item-renderer.ts +0 -78
  203. package/src/nodes/internal/list-item-renderer.ts +0 -162
  204. package/src/nodes/internal/list-store.ts +0 -105
  205. package/src/nodes/internal/selection-model-controller.ts +0 -115
  206. package/src/nodes/internal/simple-list-store.ts +0 -99
  207. package/src/nodes/internal/tree-store.ts +0 -237
  208. package/src/nodes/list-item.ts +0 -107
  209. package/src/nodes/list-view.ts +0 -113
  210. package/src/nodes/models/grid.ts +0 -105
  211. package/src/nodes/models/list.ts +0 -140
  212. package/src/nodes/shortcut-controller.ts +0 -27
@@ -1,24 +0,0 @@
1
- import type { ListItemProps } from "../jsx.js";
2
- import type { Node } from "../node.js";
3
- import { type TreeItemData } from "./internal/tree-store.js";
4
- import { VirtualNode } from "./virtual.js";
5
- type ItemStore = {
6
- updateItem(id: string, value: unknown): void;
7
- };
8
- export declare class ListItemNode extends VirtualNode<ListItemProps, Node, ListItemNode> {
9
- private store;
10
- private parentItemId;
11
- static createItemData(props: ListItemProps): TreeItemData;
12
- isValidChild(child: Node): boolean;
13
- appendChild(child: ListItemNode): void;
14
- insertBefore(child: ListItemNode, before: ListItemNode): void;
15
- removeChild(child: ListItemNode): void;
16
- commitUpdate(oldProps: ListItemProps | null, newProps: ListItemProps): void;
17
- private applyOwnProps;
18
- setStore(store: ItemStore | null): void;
19
- getChildNodes(): readonly ListItemNode[];
20
- setParentItemId(parentId: string | null): void;
21
- getParentItemId(): string | null;
22
- }
23
- export {};
24
- //# sourceMappingURL=list-item.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-item.d.ts","sourceRoot":"","sources":["../../src/nodes/list-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,KAAK,SAAS,GAAG;IAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAAC;AAElE,qBAAa,YAAa,SAAQ,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC;IAC5E,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,YAAY,CAAuB;WAE7B,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY;IAShD,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAUtC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAe7D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAUtC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3F,OAAO,CAAC,aAAa;IAqBd,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IASvC,aAAa,IAAI,SAAS,YAAY,EAAE;IAIxC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI9C,eAAe,IAAI,MAAM,GAAG,IAAI;CAG1C"}
@@ -1,83 +0,0 @@
1
- import { hasChanged } from "./internal/props.js";
2
- import { TreeStore } from "./internal/tree-store.js";
3
- import { VirtualNode } from "./virtual.js";
4
- export class ListItemNode extends VirtualNode {
5
- store = null;
6
- parentItemId = null;
7
- static createItemData(props) {
8
- return {
9
- value: props.value,
10
- indentForDepth: props.indentForDepth,
11
- indentForIcon: props.indentForIcon,
12
- hideExpander: props.hideExpander,
13
- };
14
- }
15
- isValidChild(child) {
16
- return child instanceof ListItemNode;
17
- }
18
- appendChild(child) {
19
- super.appendChild(child);
20
- child.setParentItemId(this.props.id);
21
- if (this.store instanceof TreeStore) {
22
- this.store.addItem(child.props.id, ListItemNode.createItemData(child.props), this.props.id);
23
- child.setStore(this.store);
24
- }
25
- }
26
- insertBefore(child, before) {
27
- super.insertBefore(child, before);
28
- child.setParentItemId(this.props.id);
29
- if (this.store instanceof TreeStore) {
30
- this.store.insertItemBefore(child.props.id, before.props.id, ListItemNode.createItemData(child.props), this.props.id);
31
- child.setStore(this.store);
32
- }
33
- }
34
- removeChild(child) {
35
- if (this.store instanceof TreeStore) {
36
- this.store.removeItem(child.props.id, this.props.id);
37
- }
38
- child.setStore(null);
39
- child.setParentItemId(null);
40
- super.removeChild(child);
41
- }
42
- commitUpdate(oldProps, newProps) {
43
- super.commitUpdate(oldProps, newProps);
44
- this.applyOwnProps(oldProps, newProps);
45
- }
46
- applyOwnProps(oldProps, newProps) {
47
- if (!this.store)
48
- return;
49
- if (this.store instanceof TreeStore) {
50
- const propsChanged = hasChanged(oldProps, newProps, "id") ||
51
- hasChanged(oldProps, newProps, "value") ||
52
- hasChanged(oldProps, newProps, "indentForDepth") ||
53
- hasChanged(oldProps, newProps, "indentForIcon") ||
54
- hasChanged(oldProps, newProps, "hideExpander");
55
- if (propsChanged) {
56
- this.store.updateItem(newProps.id, ListItemNode.createItemData(newProps));
57
- }
58
- }
59
- else {
60
- if (hasChanged(oldProps, newProps, "id") || hasChanged(oldProps, newProps, "value")) {
61
- this.store.updateItem(newProps.id, newProps.value);
62
- }
63
- }
64
- }
65
- setStore(store) {
66
- this.store = store;
67
- if (store === null || store instanceof TreeStore) {
68
- for (const child of this.children) {
69
- child.setStore(store);
70
- }
71
- }
72
- }
73
- getChildNodes() {
74
- return this.children;
75
- }
76
- setParentItemId(parentId) {
77
- this.parentItemId = parentId;
78
- }
79
- getParentItemId() {
80
- return this.parentItemId;
81
- }
82
- }
83
- //# sourceMappingURL=list-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-item.js","sourceRoot":"","sources":["../../src/nodes/list-item.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import type * as Gtk from "@gtkx/ffi/gtk";
2
- import type { GtkListViewProps } from "../jsx.js";
3
- import type { Node } from "../node.js";
4
- import type { Container } from "../types.js";
5
- import { ContainerSlotNode } from "./container-slot.js";
6
- import { EventControllerNode } from "./event-controller.js";
7
- import { ListItemNode } from "./list-item.js";
8
- import { type ListModelProps } from "./models/list.js";
9
- import { SlotNode } from "./slot.js";
10
- import { WidgetNode } from "./widget.js";
11
- declare const RENDERER_PROPS: readonly ["renderItem", "estimatedItemHeight"];
12
- type ListViewProps = Pick<GtkListViewProps, (typeof RENDERER_PROPS)[number]> & ListModelProps;
13
- type ListViewChild = ListItemNode | EventControllerNode | SlotNode | ContainerSlotNode;
14
- export declare class ListViewNode extends WidgetNode<Gtk.ListView, ListViewProps, ListViewChild> {
15
- private itemRenderer;
16
- private list;
17
- isValidChild(child: Node): boolean;
18
- constructor(typeName: string, props: ListViewProps, container: Gtk.ListView, rootContainer: Container);
19
- appendChild(child: ListViewChild): void;
20
- insertBefore(child: ListViewChild, before: ListViewChild): void;
21
- removeChild(child: ListViewChild): void;
22
- finalizeInitialChildren(props: ListViewProps): boolean;
23
- commitUpdate(oldProps: ListViewProps | null, newProps: ListViewProps): void;
24
- commitMount(): void;
25
- detachDeletedInstance(): void;
26
- private applyOwnProps;
27
- }
28
- export {};
29
- //# sourceMappingURL=list-view.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-view.d.ts","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,cAAc,gDAAiD,CAAC;AAGtE,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC;AAE9F,KAAK,aAAa,GAAG,YAAY,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAEvF,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;IACpF,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,IAAI,CAAY;IAER,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;gBAStC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;IAiBrF,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAO/D,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtD,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,WAAW,IAAI,IAAI;IAMnB,qBAAqB,IAAI,IAAI;IAK7C,OAAO,CAAC,aAAa;CAoBxB"}
@@ -1,83 +0,0 @@
1
- import { ContainerSlotNode } from "./container-slot.js";
2
- import { EventControllerNode } from "./event-controller.js";
3
- import { ListItemRenderer } from "./internal/list-item-renderer.js";
4
- import { filterProps, hasChanged } from "./internal/props.js";
5
- import { ListItemNode } from "./list-item.js";
6
- import { ListModel } from "./models/list.js";
7
- import { SlotNode } from "./slot.js";
8
- import { WidgetNode } from "./widget.js";
9
- const RENDERER_PROPS = ["renderItem", "estimatedItemHeight"];
10
- const OWN_PROPS = [...RENDERER_PROPS, "autoexpand", "selectionMode", "selected", "onSelectionChanged"];
11
- export class ListViewNode extends WidgetNode {
12
- itemRenderer;
13
- list;
14
- isValidChild(child) {
15
- return (child instanceof ListItemNode ||
16
- child instanceof EventControllerNode ||
17
- child instanceof SlotNode ||
18
- child instanceof ContainerSlotNode);
19
- }
20
- constructor(typeName, props, container, rootContainer) {
21
- super(typeName, props, container, rootContainer);
22
- this.list = new ListModel({ owner: this, signalStore: this.signalStore }, {
23
- autoexpand: props.autoexpand,
24
- selectionMode: props.selectionMode,
25
- selected: props.selected,
26
- onSelectionChanged: props.onSelectionChanged,
27
- });
28
- this.itemRenderer = new ListItemRenderer(this.signalStore);
29
- this.itemRenderer.setStore(this.list.getStore());
30
- this.list.getStore().setOnItemUpdated((id) => this.itemRenderer.rebindItem(id));
31
- this.container.setFactory(this.itemRenderer.getFactory());
32
- }
33
- appendChild(child) {
34
- super.appendChild(child);
35
- if (child instanceof ListItemNode) {
36
- this.list.appendChild(child);
37
- }
38
- }
39
- insertBefore(child, before) {
40
- super.insertBefore(child, before);
41
- if (child instanceof ListItemNode && before instanceof ListItemNode) {
42
- this.list.insertBefore(child, before);
43
- }
44
- }
45
- removeChild(child) {
46
- if (child instanceof ListItemNode) {
47
- this.list.removeChild(child);
48
- }
49
- super.removeChild(child);
50
- }
51
- finalizeInitialChildren(props) {
52
- super.finalizeInitialChildren(props);
53
- return true;
54
- }
55
- commitUpdate(oldProps, newProps) {
56
- super.commitUpdate(oldProps ? filterProps(oldProps, OWN_PROPS) : null, filterProps(newProps, OWN_PROPS));
57
- this.applyOwnProps(oldProps, newProps);
58
- }
59
- commitMount() {
60
- super.commitMount();
61
- this.list.flushBatch();
62
- this.container.setModel(this.list.getSelectionModel());
63
- }
64
- detachDeletedInstance() {
65
- this.itemRenderer.dispose();
66
- super.detachDeletedInstance();
67
- }
68
- applyOwnProps(oldProps, newProps) {
69
- if (hasChanged(oldProps, newProps, "renderItem")) {
70
- this.itemRenderer.setRenderFn(newProps.renderItem ?? null);
71
- }
72
- if (hasChanged(oldProps, newProps, "estimatedItemHeight")) {
73
- this.itemRenderer.setEstimatedItemHeight(newProps.estimatedItemHeight ?? null);
74
- }
75
- const previousModel = this.list.getSelectionModel();
76
- this.list.updateProps(oldProps ? filterProps(oldProps, RENDERER_PROPS) : null, filterProps(newProps, RENDERER_PROPS));
77
- const currentModel = this.list.getSelectionModel();
78
- if (previousModel !== currentModel) {
79
- this.container.setModel(currentModel);
80
- }
81
- }
82
- }
83
- //# sourceMappingURL=list-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-view.js","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { GtkGridViewProps } from "../../jsx.js";
3
- import { ListStore } from "../internal/list-store.js";
4
- import type { SignalStore } from "../internal/signal-store.js";
5
- import type { ListItemNode } from "../list-item.js";
6
- export type GridModelProps = Pick<GtkGridViewProps, "selectionMode" | "selected" | "onSelectionChanged">;
7
- type GridModelConfig = {
8
- owner: object;
9
- signalStore: SignalStore;
10
- };
11
- export declare class GridModel {
12
- private config;
13
- private store;
14
- private selectionManager;
15
- private initialSelected;
16
- constructor(config: GridModelConfig, props?: GridModelProps);
17
- flushBatch(): void;
18
- getStore(): ListStore;
19
- getSelectionModel(): Gtk.NoSelection | Gtk.SingleSelection | Gtk.MultiSelection;
20
- appendChild(child: ListItemNode): void;
21
- insertBefore(child: ListItemNode, before: ListItemNode): void;
22
- removeChild(child: ListItemNode): void;
23
- updateProps(oldProps: GridModelProps | null, newProps: GridModelProps): void;
24
- private getSelection;
25
- private resolveSelectionIndices;
26
- }
27
- export {};
28
- //# sourceMappingURL=grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/nodes/models/grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,GAAG,UAAU,GAAG,oBAAoB,CAAC,CAAC;AAEzG,KAAK,eAAe,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,OAAO,CAAC,eAAe,CAA8B;gBAEzC,MAAM,EAAE,eAAe,EAAE,KAAK,GAAE,cAAmB;IAcxD,UAAU,IAAI,IAAI;IAMlB,QAAQ,IAAI,SAAS;IAIrB,iBAAiB,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,cAAc;IAI/E,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKtC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAK7D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKtC,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAQnF,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,uBAAuB;CAclC"}
@@ -1,69 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import { ListStore } from "../internal/list-store.js";
3
- import { SelectionModelController } from "../internal/selection-model-controller.js";
4
- export class GridModel {
5
- config;
6
- store;
7
- selectionManager;
8
- initialSelected;
9
- constructor(config, props = {}) {
10
- this.config = config;
11
- this.store = new ListStore();
12
- this.store.beginBatch();
13
- this.initialSelected = props.selected;
14
- this.selectionManager = new SelectionModelController({ ...config, ...props }, this.store.getModel(), () => this.getSelection(), (ids) => this.resolveSelectionIndices(ids), () => this.store.getModel().getNItems());
15
- }
16
- flushBatch() {
17
- this.store.flushBatch();
18
- this.selectionManager.reapplySelection(this.initialSelected);
19
- this.initialSelected = undefined;
20
- }
21
- getStore() {
22
- return this.store;
23
- }
24
- getSelectionModel() {
25
- return this.selectionManager.getSelectionModel();
26
- }
27
- appendChild(child) {
28
- child.setStore(this.store);
29
- this.store.addItem(child.props.id, child.props.value);
30
- }
31
- insertBefore(child, before) {
32
- child.setStore(this.store);
33
- this.store.insertItemBefore(child.props.id, before.props.id, child.props.value);
34
- }
35
- removeChild(child) {
36
- this.store.removeItem(child.props.id);
37
- child.setStore(null);
38
- }
39
- updateProps(oldProps, newProps) {
40
- this.selectionManager.update(oldProps ? { ...this.config, ...oldProps } : null, { ...this.config, ...newProps }, this.store.getModel());
41
- }
42
- getSelection() {
43
- const model = this.store.getModel();
44
- const selection = this.selectionManager.getSelectionModel().getSelection();
45
- const size = selection.getSize();
46
- const ids = [];
47
- for (let i = 0; i < size; i++) {
48
- const index = selection.getNth(i);
49
- const id = model.getString(index);
50
- if (id !== null) {
51
- ids.push(id);
52
- }
53
- }
54
- return ids;
55
- }
56
- resolveSelectionIndices(ids) {
57
- const model = this.store.getModel();
58
- const nItems = model.getNItems();
59
- const selected = new Gtk.Bitset();
60
- for (const id of ids) {
61
- const index = model.find(id);
62
- if (index < nItems) {
63
- selected.add(index);
64
- }
65
- }
66
- return selected;
67
- }
68
- }
69
- //# sourceMappingURL=grid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/nodes/models/grid.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import type { GtkListViewProps } from "../../jsx.js";
3
- import type { SignalStore } from "../internal/signal-store.js";
4
- import { TreeStore } from "../internal/tree-store.js";
5
- import { ListItemNode } from "../list-item.js";
6
- export type ListModelProps = Pick<GtkListViewProps, "autoexpand" | "selectionMode" | "selected" | "onSelectionChanged">;
7
- type ListModelConfig = {
8
- owner: object;
9
- signalStore: SignalStore;
10
- };
11
- export declare class ListModel {
12
- private config;
13
- private store;
14
- private treeListModel;
15
- private selectionManager;
16
- private initialSelected;
17
- constructor(config: ListModelConfig, props?: ListModelProps);
18
- flushBatch(): void;
19
- private createChildModel;
20
- getStore(): TreeStore;
21
- getSelectionModel(): Gtk.NoSelection | Gtk.SingleSelection | Gtk.MultiSelection;
22
- appendChild(child: ListItemNode): void;
23
- private addItemWithChildren;
24
- insertBefore(child: ListItemNode, before: ListItemNode): void;
25
- removeChild(child: ListItemNode): void;
26
- updateProps(oldProps: ListModelProps | null, newProps: ListModelProps): void;
27
- private getSelection;
28
- private resolveSelectionIndices;
29
- }
30
- export {};
31
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/nodes/models/list.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,oBAAoB,CAAC,CAAC;AAExH,KAAK,eAAe,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,qBAAa,SAAS;IAClB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,OAAO,CAAC,eAAe,CAA8B;gBAEzC,MAAM,EAAE,eAAe,EAAE,KAAK,GAAE,cAAmB;IAsBxD,UAAU,IAAI,IAAI;IAMzB,OAAO,CAAC,gBAAgB;IAMjB,QAAQ,IAAI,SAAS;IAIrB,iBAAiB,IAAI,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,cAAc;IAI/E,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAK7C,OAAO,CAAC,mBAAmB;IAUpB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAK7D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKtC,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAYnF,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,uBAAuB;CAiBlC"}
@@ -1,93 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- import { SelectionModelController } from "../internal/selection-model-controller.js";
3
- import { TreeStore } from "../internal/tree-store.js";
4
- import { ListItemNode } from "../list-item.js";
5
- export class ListModel {
6
- config;
7
- store;
8
- treeListModel;
9
- selectionManager;
10
- initialSelected;
11
- constructor(config, props = {}) {
12
- this.config = config;
13
- this.store = new TreeStore();
14
- this.store.beginBatch();
15
- this.initialSelected = props.selected;
16
- this.treeListModel = new Gtk.TreeListModel(this.store.getRootModel(), false, props.autoexpand ?? false, (item) => this.createChildModel(item));
17
- this.selectionManager = new SelectionModelController({ ...config, ...props }, this.treeListModel, () => this.getSelection(), (ids) => this.resolveSelectionIndices(ids), () => this.treeListModel.getNItems());
18
- }
19
- flushBatch() {
20
- this.store.flushBatch();
21
- this.selectionManager.reapplySelection(this.initialSelected);
22
- this.initialSelected = undefined;
23
- }
24
- createChildModel(item) {
25
- if (!(item instanceof Gtk.StringObject))
26
- return null;
27
- const parentId = item.getString();
28
- return this.store.getChildrenModel(parentId);
29
- }
30
- getStore() {
31
- return this.store;
32
- }
33
- getSelectionModel() {
34
- return this.selectionManager.getSelectionModel();
35
- }
36
- appendChild(child) {
37
- child.setStore(this.store);
38
- this.addItemWithChildren(child);
39
- }
40
- addItemWithChildren(node, parentId) {
41
- const id = node.props.id;
42
- for (const child of node.getChildNodes()) {
43
- this.addItemWithChildren(child, id);
44
- }
45
- this.store.addItem(id, ListItemNode.createItemData(node.props), parentId);
46
- }
47
- insertBefore(child, before) {
48
- child.setStore(this.store);
49
- this.store.insertItemBefore(child.props.id, before.props.id, ListItemNode.createItemData(child.props));
50
- }
51
- removeChild(child) {
52
- this.store.removeItem(child.props.id);
53
- child.setStore(null);
54
- }
55
- updateProps(oldProps, newProps) {
56
- if (!oldProps || oldProps.autoexpand !== newProps.autoexpand) {
57
- this.treeListModel.setAutoexpand(newProps.autoexpand ?? false);
58
- }
59
- this.selectionManager.update(oldProps ? { ...this.config, ...oldProps } : null, { ...this.config, ...newProps }, this.treeListModel);
60
- }
61
- getSelection() {
62
- const selection = this.selectionManager.getSelectionModel().getSelection();
63
- const size = selection.getSize();
64
- const ids = [];
65
- for (let i = 0; i < size; i++) {
66
- const index = selection.getNth(i);
67
- const row = this.treeListModel.getRow(index);
68
- if (!row)
69
- continue;
70
- const item = row.getItem();
71
- if (item instanceof Gtk.StringObject) {
72
- ids.push(item.getString());
73
- }
74
- }
75
- return ids;
76
- }
77
- resolveSelectionIndices(ids) {
78
- const nItems = this.treeListModel.getNItems();
79
- const selected = new Gtk.Bitset();
80
- const idSet = new Set(ids);
81
- for (let i = 0; i < nItems; i++) {
82
- const row = this.treeListModel.getRow(i);
83
- if (!row)
84
- continue;
85
- const item = row.getItem();
86
- if (item instanceof Gtk.StringObject && idSet.has(item.getString())) {
87
- selected.add(i);
88
- }
89
- }
90
- return selected;
91
- }
92
- }
93
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/nodes/models/list.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type * as Gtk from "@gtkx/ffi/gtk";
2
- import type { Node } from "../node.js";
3
- import { EventControllerNode } from "./event-controller.js";
4
- import { ShortcutNode } from "./shortcut.js";
5
- export declare class ShortcutControllerNode extends EventControllerNode<Gtk.ShortcutController, ShortcutNode> {
6
- isValidChild(child: Node): boolean;
7
- appendChild(child: ShortcutNode): void;
8
- removeChild(child: ShortcutNode): void;
9
- }
10
- //# sourceMappingURL=shortcut-controller.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shortcut-controller.d.ts","sourceRoot":"","sources":["../../src/nodes/shortcut-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,qBAAa,sBAAuB,SAAQ,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC;IACjF,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAStC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;CAOzD"}
@@ -1,23 +0,0 @@
1
- import { EventControllerNode } from "./event-controller.js";
2
- import { ShortcutNode } from "./shortcut.js";
3
- export class ShortcutControllerNode extends EventControllerNode {
4
- isValidChild(child) {
5
- return child instanceof ShortcutNode;
6
- }
7
- appendChild(child) {
8
- super.appendChild(child);
9
- child.createShortcut();
10
- const shortcut = child.getShortcut();
11
- if (shortcut) {
12
- this.container.addShortcut(shortcut);
13
- }
14
- }
15
- removeChild(child) {
16
- const shortcut = child.getShortcut();
17
- if (shortcut) {
18
- this.container.removeShortcut(shortcut);
19
- }
20
- super.removeChild(child);
21
- }
22
- }
23
- //# sourceMappingURL=shortcut-controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shortcut-controller.js","sourceRoot":"","sources":["../../src/nodes/shortcut-controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,OAAO,sBAAuB,SAAQ,mBAAyD;IACjF,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,YAAY,CAAC;IACzC,CAAC;IAEe,WAAW,CAAC,KAAmB;QAC3C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEe,WAAW,CAAC,KAAmB;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ"}
package/src/fiber-root.ts DELETED
@@ -1,20 +0,0 @@
1
- import type * as Gtk from "@gtkx/ffi/gtk";
2
- import type Reconciler from "react-reconciler";
3
- import { reconciler } from "./reconciler.js";
4
-
5
- export const createFiberRoot = (container: Gtk.Widget): Reconciler.FiberRoot => {
6
- const instance = reconciler.getInstance();
7
-
8
- return instance.createContainer(
9
- container,
10
- 1,
11
- null,
12
- false,
13
- null,
14
- "",
15
- (error: Error) => console.error("Fiber root render error:", error),
16
- () => {},
17
- () => {},
18
- () => {},
19
- );
20
- };