@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,253 +0,0 @@
1
- import * as Gtk from "@gtkx/ffi/gtk";
2
- export class TreeStore {
3
- rootIds = [];
4
- rootIdToIndex = new Map();
5
- children = new Map();
6
- childIdToIndex = new Map();
7
- rootModel = new Gtk.StringList();
8
- childModels = new Map();
9
- items = new Map();
10
- onItemUpdated = null;
11
- pendingBatch = null;
12
- pendingRemovals = null;
13
- flushScheduled = false;
14
- setOnItemUpdated(callback) {
15
- this.onItemUpdated = callback;
16
- }
17
- beginBatch() {
18
- this.pendingBatch = [];
19
- }
20
- flushBatch() {
21
- const batch = this.pendingBatch;
22
- this.pendingBatch = null;
23
- if (batch && batch.length > 0) {
24
- this.rootModel.splice(0, 0, batch);
25
- }
26
- }
27
- updateItem(id, item) {
28
- if (this.items.has(id)) {
29
- this.items.set(id, item);
30
- this.onItemUpdated?.(id);
31
- }
32
- else {
33
- this.addItem(id, item);
34
- }
35
- }
36
- addItem(id, data, parentId) {
37
- if (parentId === undefined)
38
- this.flushRemovals();
39
- this.items.set(id, data);
40
- if (parentId === undefined) {
41
- const existingIndex = this.rootIdToIndex.get(id);
42
- if (existingIndex !== undefined) {
43
- this.rootModel.remove(existingIndex);
44
- this.rootIds.splice(existingIndex, 1);
45
- this.rebuildRootIndices(existingIndex);
46
- }
47
- this.rootIdToIndex.set(id, this.rootIds.length);
48
- this.rootIds.push(id);
49
- if (this.pendingBatch) {
50
- this.pendingBatch.push(id);
51
- }
52
- else {
53
- this.rootModel.append(id);
54
- }
55
- }
56
- else {
57
- let siblings = this.children.get(parentId);
58
- let indexMap = this.childIdToIndex.get(parentId);
59
- if (!siblings) {
60
- siblings = [];
61
- this.children.set(parentId, siblings);
62
- }
63
- if (!indexMap) {
64
- indexMap = new Map();
65
- this.childIdToIndex.set(parentId, indexMap);
66
- }
67
- const existingIndex = indexMap.get(id);
68
- if (existingIndex !== undefined) {
69
- const model = this.childModels.get(parentId);
70
- if (model) {
71
- model.remove(existingIndex);
72
- }
73
- siblings.splice(existingIndex, 1);
74
- this.rebuildChildIndices(siblings, indexMap, existingIndex);
75
- }
76
- indexMap.set(id, siblings.length);
77
- siblings.push(id);
78
- let model = this.childModels.get(parentId);
79
- if (!model) {
80
- model = new Gtk.StringList();
81
- this.childModels.set(parentId, model);
82
- }
83
- model.append(id);
84
- }
85
- }
86
- removeItem(id, parentId) {
87
- this.items.delete(id);
88
- this.children.delete(id);
89
- this.childIdToIndex.delete(id);
90
- this.childModels.delete(id);
91
- if (parentId !== undefined) {
92
- const siblings = this.children.get(parentId);
93
- const indexMap = this.childIdToIndex.get(parentId);
94
- if (siblings && indexMap) {
95
- const index = indexMap.get(id);
96
- if (index !== undefined) {
97
- siblings.splice(index, 1);
98
- indexMap.delete(id);
99
- this.rebuildChildIndices(siblings, indexMap, index);
100
- const model = this.childModels.get(parentId);
101
- if (model) {
102
- model.remove(index);
103
- }
104
- }
105
- if (siblings.length === 0) {
106
- this.children.delete(parentId);
107
- this.childIdToIndex.delete(parentId);
108
- }
109
- }
110
- return;
111
- }
112
- if (!this.rootIdToIndex.has(id))
113
- return;
114
- if (!this.pendingRemovals) {
115
- this.pendingRemovals = new Set();
116
- if (!this.flushScheduled) {
117
- this.flushScheduled = true;
118
- queueMicrotask(() => this.flushRemovals());
119
- }
120
- }
121
- this.pendingRemovals.add(id);
122
- }
123
- flushRemovals() {
124
- this.flushScheduled = false;
125
- const removals = this.pendingRemovals;
126
- if (!removals || removals.size === 0) {
127
- this.pendingRemovals = null;
128
- return;
129
- }
130
- this.pendingRemovals = null;
131
- const indices = [];
132
- for (const id of removals) {
133
- const index = this.rootIdToIndex.get(id);
134
- if (index !== undefined) {
135
- indices.push(index);
136
- this.rootIdToIndex.delete(id);
137
- }
138
- }
139
- if (indices.length === 0)
140
- return;
141
- indices.sort((a, b) => a - b);
142
- let i = indices.length - 1;
143
- while (i >= 0) {
144
- let rangeStart = indices[i] ?? 0;
145
- const rangeEnd = rangeStart;
146
- while (i > 0) {
147
- const prev = indices[i - 1];
148
- if (prev !== rangeStart - 1)
149
- break;
150
- i--;
151
- rangeStart = prev ?? 0;
152
- }
153
- const count = rangeEnd - rangeStart + 1;
154
- this.rootModel.splice(rangeStart, count);
155
- this.rootIds.splice(rangeStart, count);
156
- i--;
157
- }
158
- this.rebuildRootIndices(0);
159
- }
160
- insertItemBefore(id, beforeId, data, parentId) {
161
- if (parentId === undefined)
162
- this.flushRemovals();
163
- this.items.set(id, data);
164
- if (parentId === undefined) {
165
- const existingIndex = this.rootIdToIndex.get(id);
166
- if (existingIndex !== undefined) {
167
- this.rootModel.remove(existingIndex);
168
- this.rootIds.splice(existingIndex, 1);
169
- this.rootIdToIndex.delete(id);
170
- this.rebuildRootIndices(existingIndex);
171
- }
172
- const beforeIndex = this.rootIdToIndex.get(beforeId);
173
- if (beforeIndex === undefined) {
174
- this.rootIdToIndex.set(id, this.rootIds.length);
175
- this.rootIds.push(id);
176
- this.rootModel.append(id);
177
- }
178
- else {
179
- this.rootIds.splice(beforeIndex, 0, id);
180
- this.rebuildRootIndices(beforeIndex);
181
- this.rootModel.splice(beforeIndex, 0, [id]);
182
- }
183
- }
184
- else {
185
- let siblings = this.children.get(parentId);
186
- let indexMap = this.childIdToIndex.get(parentId);
187
- if (!siblings) {
188
- siblings = [];
189
- this.children.set(parentId, siblings);
190
- }
191
- if (!indexMap) {
192
- indexMap = new Map();
193
- this.childIdToIndex.set(parentId, indexMap);
194
- }
195
- let model = this.childModels.get(parentId);
196
- if (!model) {
197
- model = new Gtk.StringList();
198
- this.childModels.set(parentId, model);
199
- }
200
- const existingIndex = indexMap.get(id);
201
- if (existingIndex !== undefined) {
202
- model.remove(existingIndex);
203
- siblings.splice(existingIndex, 1);
204
- indexMap.delete(id);
205
- this.rebuildChildIndices(siblings, indexMap, existingIndex);
206
- }
207
- const beforeIndex = indexMap.get(beforeId);
208
- if (beforeIndex === undefined) {
209
- indexMap.set(id, siblings.length);
210
- siblings.push(id);
211
- model.append(id);
212
- }
213
- else {
214
- siblings.splice(beforeIndex, 0, id);
215
- this.rebuildChildIndices(siblings, indexMap, beforeIndex);
216
- model.splice(beforeIndex, 0, [id]);
217
- }
218
- }
219
- }
220
- getItem(id) {
221
- return this.items.get(id);
222
- }
223
- getRootModel() {
224
- return this.rootModel;
225
- }
226
- getChildrenModel(parentId) {
227
- const childIds = this.children.get(parentId);
228
- if (!childIds || childIds.length === 0) {
229
- return null;
230
- }
231
- let model = this.childModels.get(parentId);
232
- if (!model) {
233
- model = new Gtk.StringList(childIds);
234
- this.childModels.set(parentId, model);
235
- }
236
- return model;
237
- }
238
- hasChildren(parentId) {
239
- const childIds = this.children.get(parentId);
240
- return childIds !== undefined && childIds.length > 0;
241
- }
242
- rebuildRootIndices(fromIndex) {
243
- for (let i = fromIndex; i < this.rootIds.length; i++) {
244
- this.rootIdToIndex.set(this.rootIds[i], i);
245
- }
246
- }
247
- rebuildChildIndices(siblings, indexMap, fromIndex) {
248
- for (let i = fromIndex; i < siblings.length; i++) {
249
- indexMap.set(siblings[i], i);
250
- }
251
- }
252
- }
253
- //# sourceMappingURL=tree-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-store.js","sourceRoot":"","sources":["../../../src/nodes/internal/tree-store.ts"],"names":[],"mappings":"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"}
@@ -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,27 +0,0 @@
1
- import type { ListSectionProps } from "../jsx.js";
2
- import type { Node } from "../node.js";
3
- import { ListItemNode } from "./list-item.js";
4
- import { VirtualNode } from "./virtual.js";
5
- type SectionStore = {
6
- addItemToSection(sectionId: string, itemId: string, item: unknown): void;
7
- addItemsToSection(sectionId: string, items: {
8
- itemId: string;
9
- item: unknown;
10
- }[]): void;
11
- removeItemFromSection(itemId: string): void;
12
- updateHeaderValue(sectionId: string, value: unknown): void;
13
- insertItemToSectionBefore(sectionId: string, itemId: string, beforeId: string, item: unknown): void;
14
- updateItem(id: string, item: unknown): void;
15
- };
16
- export declare class ListSectionNode extends VirtualNode<ListSectionProps, Node, ListItemNode> {
17
- private store;
18
- isValidChild(child: Node): boolean;
19
- appendChild(child: ListItemNode): void;
20
- insertBefore(child: ListItemNode, before: ListItemNode): void;
21
- removeChild(child: ListItemNode): void;
22
- commitUpdate(oldProps: ListSectionProps | null, newProps: ListSectionProps): void;
23
- setStore(store: SectionStore | null): void;
24
- getChildNodes(): readonly ListItemNode[];
25
- }
26
- export {};
27
- //# sourceMappingURL=list-section.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-section.d.ts","sourceRoot":"","sources":["../../src/nodes/list-section.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,KAAK,YAAY,GAAG;IAChB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACzE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IACvF,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3D,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACpG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,qBAAa,eAAgB,SAAQ,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,YAAY,CAAC;IAClF,OAAO,CAAC,KAAK,CAA6B;IAE1B,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAOtC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAO7D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAOtC,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAO1F,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAU1C,aAAa,IAAI,SAAS,YAAY,EAAE;CAGlD"}
@@ -1,43 +0,0 @@
1
- import { hasChanged } from "./internal/props.js";
2
- import { ListItemNode } from "./list-item.js";
3
- import { VirtualNode } from "./virtual.js";
4
- export class ListSectionNode extends VirtualNode {
5
- store = null;
6
- isValidChild(child) {
7
- return child instanceof ListItemNode;
8
- }
9
- appendChild(child) {
10
- super.appendChild(child);
11
- if (this.store) {
12
- this.store.addItemToSection(this.props.id, child.props.id, child.props.value);
13
- }
14
- }
15
- insertBefore(child, before) {
16
- super.insertBefore(child, before);
17
- if (this.store) {
18
- this.store.insertItemToSectionBefore(this.props.id, child.props.id, before.props.id, child.props.value);
19
- }
20
- }
21
- removeChild(child) {
22
- if (this.store) {
23
- this.store.removeItemFromSection(child.props.id);
24
- }
25
- super.removeChild(child);
26
- }
27
- commitUpdate(oldProps, newProps) {
28
- super.commitUpdate(oldProps, newProps);
29
- if (this.store && hasChanged(oldProps, newProps, "value")) {
30
- this.store.updateHeaderValue(newProps.id, newProps.value);
31
- }
32
- }
33
- setStore(store) {
34
- this.store = store;
35
- if (store && this.children.length > 0) {
36
- store.addItemsToSection(this.props.id, this.children.map((child) => ({ itemId: child.props.id, item: child.props.value })));
37
- }
38
- }
39
- getChildNodes() {
40
- return this.children;
41
- }
42
- }
43
- //# sourceMappingURL=list-section.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-section.js","sourceRoot":"","sources":["../../src/nodes/list-section.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAW3C,MAAM,OAAO,eAAgB,SAAQ,WAAiD;IAC1E,KAAK,GAAwB,IAAI,CAAC;IAE1B,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,YAAY,CAAC;IACzC,CAAC;IAEe,WAAW,CAAC,KAAmB;QAC3C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAEe,YAAY,CAAC,KAAmB,EAAE,MAAoB;QAClE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5G,CAAC;IACL,CAAC;IAEe,WAAW,CAAC,KAAmB;QAC3C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY,CAAC,QAAiC,EAAE,QAA0B;QACtF,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,KAA0B;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,iBAAiB,CACnB,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CACtF,CAAC;QACN,CAAC;IACL,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;CACJ"}
@@ -1,32 +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 { ListSectionNode } from "./list-section.js";
9
- import { type ListModelProps } from "./models/list.js";
10
- import { SlotNode } from "./slot.js";
11
- import { WidgetNode } from "./widget.js";
12
- declare const RENDERER_PROPS: readonly ["renderItem", "renderHeader", "estimatedItemHeight"];
13
- type ListViewProps = Pick<GtkListViewProps, (typeof RENDERER_PROPS)[number]> & ListModelProps;
14
- type ListViewChild = ListItemNode | ListSectionNode | EventControllerNode | SlotNode | ContainerSlotNode;
15
- export declare class ListViewNode extends WidgetNode<Gtk.ListView, ListViewProps, ListViewChild> {
16
- private treeRenderer;
17
- private flatRenderer;
18
- private headerRenderer;
19
- private list;
20
- isValidChild(child: Node): boolean;
21
- constructor(typeName: string, props: ListViewProps, container: Gtk.ListView, rootContainer: Container);
22
- appendChild(child: ListViewChild): void;
23
- insertBefore(child: ListViewChild, before: ListViewChild): void;
24
- removeChild(child: ListViewChild): void;
25
- finalizeInitialChildren(props: ListViewProps): boolean;
26
- commitUpdate(oldProps: ListViewProps | null, newProps: ListViewProps): void;
27
- commitMount(): void;
28
- detachDeletedInstance(): void;
29
- private applyOwnProps;
30
- }
31
- export {};
32
- //# 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;AAM5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,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,gEAAiE,CAAC;AAGtF,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC;AAE9F,KAAK,aAAa,GAAG,YAAY,GAAG,eAAe,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAEzG,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;IACpF,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,IAAI,CAAY;IAER,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;gBAUtC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;IA+BrF,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAU/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;IAO7C,OAAO,CAAC,aAAa;CA6CxB"}
@@ -1,123 +0,0 @@
1
- import { ContainerSlotNode } from "./container-slot.js";
2
- import { EventControllerNode } from "./event-controller.js";
3
- import { GridItemRenderer } from "./internal/grid-item-renderer.js";
4
- import { updateHeaderRenderer } from "./internal/header-renderer-manager.js";
5
- import { ListItemRenderer } from "./internal/list-item-renderer.js";
6
- import { filterProps, hasChanged } from "./internal/props.js";
7
- import { ListItemNode } from "./list-item.js";
8
- import { ListSectionNode } from "./list-section.js";
9
- import { ListModel } from "./models/list.js";
10
- import { SlotNode } from "./slot.js";
11
- import { WidgetNode } from "./widget.js";
12
- const RENDERER_PROPS = ["renderItem", "renderHeader", "estimatedItemHeight"];
13
- const OWN_PROPS = [...RENDERER_PROPS, "autoexpand", "selectionMode", "selected", "onSelectionChanged"];
14
- export class ListViewNode extends WidgetNode {
15
- treeRenderer = null;
16
- flatRenderer = null;
17
- headerRenderer = null;
18
- list;
19
- isValidChild(child) {
20
- return (child instanceof ListItemNode ||
21
- child instanceof ListSectionNode ||
22
- child instanceof EventControllerNode ||
23
- child instanceof SlotNode ||
24
- child instanceof ContainerSlotNode);
25
- }
26
- constructor(typeName, props, container, rootContainer) {
27
- super(typeName, props, container, rootContainer);
28
- const flat = props.renderHeader != null;
29
- this.list = new ListModel({ owner: this, signalStore: this.signalStore }, {
30
- autoexpand: flat ? undefined : props.autoexpand,
31
- selectionMode: props.selectionMode,
32
- selected: props.selected,
33
- onSelectionChanged: props.onSelectionChanged,
34
- }, flat);
35
- if (flat) {
36
- const store = this.list.getFlatStore();
37
- this.flatRenderer = new GridItemRenderer(this.signalStore);
38
- this.flatRenderer.setStore(store);
39
- store.setOnItemUpdated((id) => this.flatRenderer?.rebindItem(id));
40
- this.container.setFactory(this.flatRenderer.getFactory());
41
- }
42
- else {
43
- const store = this.list.getStore();
44
- this.treeRenderer = new ListItemRenderer(this.signalStore);
45
- this.treeRenderer.setStore(store);
46
- store.setOnItemUpdated((id) => this.treeRenderer?.rebindItem(id));
47
- this.container.setFactory(this.treeRenderer.getFactory());
48
- }
49
- }
50
- appendChild(child) {
51
- super.appendChild(child);
52
- if (child instanceof ListItemNode || child instanceof ListSectionNode) {
53
- this.list.appendChild(child);
54
- }
55
- }
56
- insertBefore(child, before) {
57
- super.insertBefore(child, before);
58
- if ((child instanceof ListItemNode || child instanceof ListSectionNode) &&
59
- (before instanceof ListItemNode || before instanceof ListSectionNode)) {
60
- this.list.insertBefore(child, before);
61
- }
62
- }
63
- removeChild(child) {
64
- if (child instanceof ListItemNode || child instanceof ListSectionNode) {
65
- this.list.removeChild(child);
66
- }
67
- super.removeChild(child);
68
- }
69
- finalizeInitialChildren(props) {
70
- super.finalizeInitialChildren(props);
71
- return true;
72
- }
73
- commitUpdate(oldProps, newProps) {
74
- super.commitUpdate(oldProps ? filterProps(oldProps, OWN_PROPS) : null, filterProps(newProps, OWN_PROPS));
75
- this.applyOwnProps(oldProps, newProps);
76
- }
77
- commitMount() {
78
- super.commitMount();
79
- this.list.flushBatch();
80
- this.container.setModel(this.list.getSelectionModel());
81
- }
82
- detachDeletedInstance() {
83
- this.treeRenderer?.dispose();
84
- this.flatRenderer?.dispose();
85
- this.headerRenderer?.dispose();
86
- super.detachDeletedInstance();
87
- }
88
- applyOwnProps(oldProps, newProps) {
89
- if (hasChanged(oldProps, newProps, "renderItem")) {
90
- if (this.treeRenderer) {
91
- this.treeRenderer.setRenderFn(newProps.renderItem ?? null);
92
- }
93
- if (this.flatRenderer) {
94
- const renderItem = newProps.renderItem;
95
- this.flatRenderer.setRenderFn(renderItem ? (item) => renderItem(item, null) : null);
96
- }
97
- }
98
- if (hasChanged(oldProps, newProps, "estimatedItemHeight")) {
99
- const height = newProps.estimatedItemHeight ?? null;
100
- if (this.treeRenderer) {
101
- this.treeRenderer.setEstimatedItemHeight(height);
102
- }
103
- if (this.flatRenderer) {
104
- this.flatRenderer.setEstimatedItemHeight(height);
105
- }
106
- }
107
- if (hasChanged(oldProps, newProps, "renderHeader")) {
108
- this.headerRenderer = updateHeaderRenderer(this.headerRenderer, {
109
- signalStore: this.signalStore,
110
- isEnabled: () => this.list.isFlatMode(),
111
- resolveItem: (id) => this.list.getFlatStore().getHeaderValue(id),
112
- setFactory: (factory) => this.container.setHeaderFactory(factory),
113
- }, newProps.renderHeader);
114
- }
115
- const previousModel = this.list.getSelectionModel();
116
- this.list.updateProps(oldProps ? filterProps(oldProps, RENDERER_PROPS) : null, filterProps(newProps, RENDERER_PROPS));
117
- const currentModel = this.list.getSelectionModel();
118
- if (previousModel !== currentModel) {
119
- this.container.setModel(currentModel);
120
- }
121
- }
122
- }
123
- //# 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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"}