@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,68 +1,44 @@
1
- import { call, registerNativeObject, setInstantiating } from "@gtkx/ffi";
2
- import { typeFromName } from "@gtkx/ffi/gobject";
3
- import { CONSTRUCT_ONLY_PROPS, CONSTRUCTOR_PROPS } from "../../generated/internal.js";
4
- /**
5
- * Collects construct-only property metadata by walking the class hierarchy.
6
- * Returns all active construct-only props (those with values set in the initial props)
7
- * that are NOT already handled by the designated constructor parameters.
8
- */
9
- function collectActiveConstructOnlyProps(containerClass, props) {
1
+ import { Object as GObject, toValue } from "@gtkx/ffi/gobject";
2
+ import { CONSTRUCTION_META } from "../../generated/internal.js";
3
+ function collectConstructionProps(containerClass, props) {
10
4
  const result = [];
11
- const constructorParams = new Set(CONSTRUCTOR_PROPS[containerClass.glibTypeName] ?? []);
12
- // biome-ignore lint/suspicious/noExplicitAny: Walking static prototype chain
5
+ const seen = new Set();
6
+ // biome-ignore lint/complexity/noBannedTypes: Walking prototype chain requires Function type
13
7
  let current = containerClass;
14
- while (current?.glibTypeName) {
15
- const propsForType = CONSTRUCT_ONLY_PROPS[current.glibTypeName];
16
- if (propsForType) {
17
- for (const [camelName, meta] of Object.entries(propsForType)) {
18
- if (constructorParams.has(camelName))
8
+ while (current) {
9
+ const typeName = current.glibTypeName;
10
+ if (!typeName)
11
+ break;
12
+ const meta = CONSTRUCTION_META[typeName];
13
+ if (meta) {
14
+ for (const [camelName, propMeta] of Object.entries(meta)) {
15
+ if (seen.has(camelName))
19
16
  continue;
17
+ seen.add(camelName);
20
18
  if (props[camelName] !== undefined) {
21
- const rawValue = props[camelName];
22
- const value = meta.ffiType.type === "gobject" &&
23
- rawValue &&
24
- typeof rawValue === "object" &&
25
- "handle" in rawValue
26
- ? rawValue.handle
27
- : rawValue;
28
- result.push({ girName: meta.girName, ffiType: meta.ffiType, value });
19
+ result.push({
20
+ girName: propMeta.girName,
21
+ ffiType: propMeta.ffiType,
22
+ value: props[camelName],
23
+ });
29
24
  }
30
25
  }
31
26
  }
32
27
  current = Object.getPrototypeOf(current);
28
+ if (current === Object || current === Function)
29
+ break;
33
30
  }
34
31
  return result;
35
32
  }
36
- /**
37
- * Creates a container (widget or controller) with construct-only properties.
38
- *
39
- * When construct-only props are present that aren't handled by the designated
40
- * constructor, uses `g_object_new` to set them during object construction.
41
- * Otherwise falls back to the normal constructor.
42
- */
43
- export function createContainerWithConstructOnly(containerClass, props, normalConstructor) {
44
- const constructOnlyArgs = collectActiveConstructOnlyProps(containerClass, props);
45
- if (constructOnlyArgs.length === 0) {
46
- return normalConstructor();
33
+ export function createContainerWithProperties(containerClass, props) {
34
+ const gtype = containerClass.getGType();
35
+ const constructionProps = collectConstructionProps(containerClass, props);
36
+ const names = [];
37
+ const values = [];
38
+ for (const { girName, ffiType, value } of constructionProps) {
39
+ names.push(girName);
40
+ values.push(toValue(ffiType, value));
47
41
  }
48
- const typeName = containerClass.glibTypeName;
49
- const gtype = typeFromName(typeName);
50
- const args = [{ type: { type: "int", size: 64, unsigned: true }, value: gtype, optional: false }];
51
- for (const { girName, ffiType, value } of constructOnlyArgs) {
52
- args.push({ type: { type: "string", ownership: "borrowed" }, value: girName, optional: false });
53
- args.push({ type: ffiType, value, optional: false });
54
- }
55
- args.push({ type: { type: "null" }, value: null, optional: false });
56
- const handle = call("libgobject-2.0.so.0", "g_object_new", args, {
57
- type: "gobject",
58
- ownership: "full",
59
- });
60
- setInstantiating(true);
61
- // biome-ignore lint/suspicious/noExplicitAny: Dynamic instantiation with isInstantiating flag
62
- const instance = new containerClass();
63
- setInstantiating(false);
64
- instance.handle = handle;
65
- registerNativeObject(instance);
66
- return instance;
42
+ return GObject.newWithProperties(gtype, names, values);
67
43
  }
68
44
  //# sourceMappingURL=construct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"construct.js","sourceRoot":"","sources":["../../../src/nodes/internal/construct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"construct.js","sourceRoot":"","sources":["../../../src/nodes/internal/construct.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAShE,SAAS,wBAAwB,CAC7B,cAA8B,EAC9B,KAAY;IAEZ,MAAM,MAAM,GAA8D,EAAE,CAAC;IAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,6FAA6F;IAC7F,IAAI,OAAO,GAAoB,cAAc,CAAC;IAC9C,OAAO,OAAO,EAAE,CAAC;QACb,MAAM,QAAQ,GAAI,OAAuB,CAAC,YAAY,CAAC;QACvD,IAAI,CAAC,QAAQ;YAAE,MAAM;QAErB,MAAM,IAAI,GAAqD,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3F,IAAI,IAAI,EAAE,CAAC;YACP,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAClC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC;wBACR,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;qBAC1B,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM;IAC1D,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,cAA8B,EAAE,KAAY;IACtF,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAyB,CAAC;AACnF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAK1C,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAY1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAY1E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,OAAO,CAIzF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAGpE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAYhF;AAED,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EACxB,MAAM,EAAE,MAAM,GACf,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAgB7C"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAK1C,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAc1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAY1E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,OAAO,CAIzF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAGpE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAYhF;AAED,wBAAgB,qBAAqB,CACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EACxB,MAAM,EAAE,MAAM,GACf,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,CAgB7C"}
@@ -15,6 +15,9 @@ export function detachChild(child, container) {
15
15
  else if (isRemovable(container)) {
16
16
  container.remove(child);
17
17
  }
18
+ else {
19
+ child.unparent();
20
+ }
18
21
  }
19
22
  export function attachChild(child, container) {
20
23
  if (isAppendable(container)) {
@@ -30,7 +33,7 @@ export function attachChild(child, container) {
30
33
  container.setChild(child);
31
34
  }
32
35
  else {
33
- throw new Error(`Cannot attach child to '${container.constructor.name}': container does not support children`);
36
+ child.setParent(container);
34
37
  }
35
38
  }
36
39
  export function isAttachedTo(child, parent) {
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/nodes/internal/widget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEvG,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,SAAqB;IAChE,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;SAAM,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,SAAqB;IAChE,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,CAAC,WAAW,CAAC,IAAI,wCAAwC,CAAC,CAAC;IACnH,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,MAAyB;IAC5E,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACtC,OAAO,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,OAAO,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAkB,EAAE,QAAoB;IACnE,IAAI,OAAO,GAAsB,MAAM,CAAC;IAExC,OAAO,OAAO,EAAE,CAAC;QACb,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,YAAwB,EACxB,MAAc;IAEd,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC,UAA8B,CAAC,CAAC;IAE5D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAI,YAAY,CAAC,WAA8B,CAAC,YAAY,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,cAAc,UAAU,GAAG,CAAC,CAAC;IACjG,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAuC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/nodes/internal/widget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type * as Gtk from "@gtkx/ffi/gtk";
2
+ import { Node } from "../node.js";
3
+ import type { Container, Props } from "../types.js";
4
+ import { WidgetNode } from "./widget.js";
5
+ export declare class ListItemNode extends Node<Gtk.ListItem | Gtk.ListHeader, Props, Node, WidgetNode> {
6
+ isValidChild(child: Node): boolean;
7
+ appendChild(child: WidgetNode): void;
8
+ removeChild(child: WidgetNode): void;
9
+ insertBefore(child: WidgetNode, before: WidgetNode): void;
10
+ static createContainer(): Container;
11
+ }
12
+ //# sourceMappingURL=list-item-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-item-node.d.ts","sourceRoot":"","sources":["../../src/nodes/list-item-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,YAAa,SAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC;IAC1E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKpC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKpC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;WAKlD,eAAe,IAAI,SAAS;CAGtD"}
@@ -0,0 +1,23 @@
1
+ import { Node } from "../node.js";
2
+ import { WidgetNode } from "./widget.js";
3
+ export class ListItemNode extends Node {
4
+ isValidChild(child) {
5
+ return child instanceof WidgetNode;
6
+ }
7
+ appendChild(child) {
8
+ super.appendChild(child);
9
+ this.container.setChild(child.container);
10
+ }
11
+ removeChild(child) {
12
+ this.container.setChild(null);
13
+ super.removeChild(child);
14
+ }
15
+ insertBefore(child, before) {
16
+ super.insertBefore(child, before);
17
+ this.container.setChild(child.container);
18
+ }
19
+ static createContainer() {
20
+ throw new Error("ListItemNode does not support container creation");
21
+ }
22
+ }
23
+ //# sourceMappingURL=list-item-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-item-node.js","sourceRoot":"","sources":["../../src/nodes/list-item-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,YAAa,SAAQ,IAA4D;IAC1E,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,UAAU,CAAC;IACvC,CAAC;IAEe,WAAW,CAAC,KAAiB;QACzC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEe,WAAW,CAAC,KAAiB;QACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY,CAAC,KAAiB,EAAE,MAAkB;QAC9D,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAU,eAAe;QAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;CACJ"}
@@ -0,0 +1,100 @@
1
+ import * as Gtk from "@gtkx/ffi/gtk";
2
+ import type { DropDownProps, GridViewProps, ListViewProps } from "../jsx.js";
3
+ import type { Node } from "../node.js";
4
+ import { ColumnViewColumnNode } from "./column-view-column.js";
5
+ import { ContainerSlotNode } from "./container-slot.js";
6
+ import { EventControllerNode } from "./event-controller.js";
7
+ import type { BoundItem } from "./internal/bound-item.js";
8
+ import { SlotNode } from "./slot.js";
9
+ import { WidgetNode } from "./widget.js";
10
+ type ListProps = ListViewProps & GridViewProps & DropDownProps & {
11
+ __boundItemsRef?: {
12
+ current: BoundItem[];
13
+ };
14
+ __rerender?: () => void;
15
+ __headerBoundItemsRef?: {
16
+ current: BoundItem[];
17
+ };
18
+ estimatedRowHeight?: number | null;
19
+ sortColumn?: string | null;
20
+ sortOrder?: Gtk.SortType | null;
21
+ onSortChanged?: ((column: string | null, order: Gtk.SortType) => void) | null;
22
+ };
23
+ type ListChild = ColumnViewColumnNode | EventControllerNode | SlotNode | ContainerSlotNode;
24
+ export declare class ListNode extends WidgetNode<Gtk.Widget, ListProps, ListChild> {
25
+ private model;
26
+ private selectionModel;
27
+ private treeModel;
28
+ private factory;
29
+ private headerFactory;
30
+ private listFactory;
31
+ private containers;
32
+ private containerKeys;
33
+ private headerContainers;
34
+ private headerContainerKeys;
35
+ private listContainers;
36
+ private listContainerKeys;
37
+ private treeExpanders;
38
+ private disposed;
39
+ private boundItemsUpdateScheduled;
40
+ private syncScheduled;
41
+ private sectionModels;
42
+ private sectionStore;
43
+ private flattenModel;
44
+ private treeChildModels;
45
+ private queriedLeaves;
46
+ private rootItemIds;
47
+ isValidChild(child: Node): boolean;
48
+ appendChild(child: ListChild): void;
49
+ removeChild(child: ListChild): void;
50
+ insertBefore(child: ListChild, before: ListChild): void;
51
+ finalizeInitialChildren(props: ListProps): boolean;
52
+ commitUpdate(oldProps: ListProps | null, newProps: ListProps): void;
53
+ commitMount(): void;
54
+ detachDeletedInstance(): void;
55
+ private getItems;
56
+ private collectFlatItems;
57
+ private collectSections;
58
+ private collectRootItems;
59
+ private isDropDown;
60
+ private isColumnView;
61
+ private detectMode;
62
+ private hasSections;
63
+ private isTreeMode;
64
+ private setupModel;
65
+ private setupFactory;
66
+ private setupListFactory;
67
+ private setupHeaderFactory;
68
+ private setupSelectionModel;
69
+ private getBaseModel;
70
+ private assignModelToWidget;
71
+ private assignFactoryToWidget;
72
+ private syncModel;
73
+ private syncTreeModel;
74
+ private createChildModel;
75
+ private findStringObjectPosition;
76
+ private syncSectionModel;
77
+ private resolveTreeItem;
78
+ private applyTreeExpanderProps;
79
+ private resolveItemIdAtPosition;
80
+ private applyOwnProps;
81
+ private rebuildSelectionModel;
82
+ private applySelection;
83
+ private applySelectedId;
84
+ private connectSelectionSignal;
85
+ private connectSortSignal;
86
+ private applySortColumn;
87
+ findColumnById(id: string): Gtk.ColumnViewColumn | null;
88
+ private scheduleSync;
89
+ scheduleBoundItemsUpdate(): void;
90
+ private rebuildBoundItems;
91
+ private collectContainerBoundItems;
92
+ getEstimatedItemSize(): {
93
+ width: number;
94
+ height: number;
95
+ };
96
+ private applyEstimatedItemSize;
97
+ private getColumnPosition;
98
+ }
99
+ export {};
100
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/nodes/list.ts"],"names":[],"mappings":"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"}