@gtkx/react 0.19.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/README.md +26 -62
  2. package/dist/components/compound.d.ts +40 -0
  3. package/dist/components/compound.d.ts.map +1 -0
  4. package/dist/components/compound.js +46 -0
  5. package/dist/components/compound.js.map +1 -0
  6. package/dist/components/list.d.ts +75 -0
  7. package/dist/components/list.d.ts.map +1 -0
  8. package/dist/components/list.js +81 -0
  9. package/dist/components/list.js.map +1 -0
  10. package/dist/components/slot-widget.d.ts +15 -0
  11. package/dist/components/slot-widget.d.ts.map +1 -0
  12. package/dist/components/slot-widget.js +37 -0
  13. package/dist/components/slot-widget.js.map +1 -0
  14. package/dist/errors.d.ts +6 -0
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js +8 -6
  17. package/dist/errors.js.map +1 -1
  18. package/dist/generated/compounds.d.ts +2672 -0
  19. package/dist/generated/compounds.d.ts.map +1 -0
  20. package/dist/generated/compounds.js +2624 -0
  21. package/dist/generated/compounds.js.map +1 -0
  22. package/dist/generated/internal.d.ts +6 -7
  23. package/dist/generated/internal.d.ts.map +1 -1
  24. package/dist/generated/internal.js +3054 -1838
  25. package/dist/generated/internal.js.map +1 -1
  26. package/dist/generated/jsx.d.ts +2096 -4970
  27. package/dist/generated/jsx.d.ts.map +1 -1
  28. package/dist/generated/jsx.js +979 -3862
  29. package/dist/generated/jsx.js.map +1 -1
  30. package/dist/generated/registry.d.ts +1 -0
  31. package/dist/generated/registry.d.ts.map +1 -1
  32. package/dist/generated/registry.js +0 -1
  33. package/dist/generated/registry.js.map +1 -1
  34. package/dist/host-config.d.ts.map +1 -1
  35. package/dist/host-config.js +2 -0
  36. package/dist/host-config.js.map +1 -1
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/jsx.d.ts +157 -518
  42. package/dist/jsx.d.ts.map +1 -1
  43. package/dist/jsx.js +6 -393
  44. package/dist/jsx.js.map +1 -1
  45. package/dist/metadata.d.ts +1 -1
  46. package/dist/metadata.d.ts.map +1 -1
  47. package/dist/metadata.js +7 -3
  48. package/dist/metadata.js.map +1 -1
  49. package/dist/node.d.ts +0 -4
  50. package/dist/node.d.ts.map +1 -1
  51. package/dist/node.js +19 -41
  52. package/dist/node.js.map +1 -1
  53. package/dist/nodes/alert-dialog.d.ts +14 -0
  54. package/dist/nodes/alert-dialog.d.ts.map +1 -0
  55. package/dist/nodes/alert-dialog.js +41 -0
  56. package/dist/nodes/alert-dialog.js.map +1 -0
  57. package/dist/nodes/animation.d.ts +5 -4
  58. package/dist/nodes/animation.d.ts.map +1 -1
  59. package/dist/nodes/animation.js +65 -49
  60. package/dist/nodes/animation.js.map +1 -1
  61. package/dist/nodes/application.d.ts.map +1 -1
  62. package/dist/nodes/application.js +4 -0
  63. package/dist/nodes/application.js.map +1 -1
  64. package/dist/nodes/column-view-column.d.ts +19 -19
  65. package/dist/nodes/column-view-column.d.ts.map +1 -1
  66. package/dist/nodes/column-view-column.js +130 -119
  67. package/dist/nodes/column-view-column.js.map +1 -1
  68. package/dist/nodes/container-slot.d.ts +3 -1
  69. package/dist/nodes/container-slot.d.ts.map +1 -1
  70. package/dist/nodes/container-slot.js +28 -16
  71. package/dist/nodes/container-slot.js.map +1 -1
  72. package/dist/nodes/drawing-area.d.ts +3 -1
  73. package/dist/nodes/drawing-area.d.ts.map +1 -1
  74. package/dist/nodes/drawing-area.js +20 -22
  75. package/dist/nodes/drawing-area.js.map +1 -1
  76. package/dist/nodes/event-controller.d.ts.map +1 -1
  77. package/dist/nodes/event-controller.js +6 -16
  78. package/dist/nodes/event-controller.js.map +1 -1
  79. package/dist/nodes/fixed-child.d.ts +1 -0
  80. package/dist/nodes/fixed-child.d.ts.map +1 -1
  81. package/dist/nodes/fixed-child.js +13 -0
  82. package/dist/nodes/fixed-child.js.map +1 -1
  83. package/dist/nodes/grid-child.d.ts +1 -0
  84. package/dist/nodes/grid-child.d.ts.map +1 -1
  85. package/dist/nodes/grid-child.js +13 -0
  86. package/dist/nodes/grid-child.js.map +1 -1
  87. package/dist/nodes/internal/accessible.d.ts.map +1 -1
  88. package/dist/nodes/internal/accessible.js.map +1 -1
  89. package/dist/nodes/internal/bound-item.d.ts +4 -0
  90. package/dist/nodes/internal/bound-item.d.ts.map +1 -0
  91. package/dist/nodes/internal/bound-item.js +2 -0
  92. package/dist/nodes/internal/bound-item.js.map +1 -0
  93. package/dist/nodes/internal/construct.d.ts +1 -8
  94. package/dist/nodes/internal/construct.d.ts.map +1 -1
  95. package/dist/nodes/internal/construct.js +30 -54
  96. package/dist/nodes/internal/construct.js.map +1 -1
  97. package/dist/nodes/internal/widget.d.ts.map +1 -1
  98. package/dist/nodes/internal/widget.js +9 -10
  99. package/dist/nodes/internal/widget.js.map +1 -1
  100. package/dist/nodes/list-item-node.d.ts +12 -0
  101. package/dist/nodes/list-item-node.d.ts.map +1 -0
  102. package/dist/nodes/list-item-node.js +45 -0
  103. package/dist/nodes/list-item-node.js.map +1 -0
  104. package/dist/nodes/list.d.ts +100 -0
  105. package/dist/nodes/list.d.ts.map +1 -0
  106. package/dist/nodes/list.js +950 -0
  107. package/dist/nodes/list.js.map +1 -0
  108. package/dist/nodes/notebook-page.d.ts.map +1 -1
  109. package/dist/nodes/notebook-page.js +6 -2
  110. package/dist/nodes/notebook-page.js.map +1 -1
  111. package/dist/nodes/overlay-child.d.ts +2 -0
  112. package/dist/nodes/overlay-child.d.ts.map +1 -1
  113. package/dist/nodes/overlay-child.js +29 -8
  114. package/dist/nodes/overlay-child.js.map +1 -1
  115. package/dist/nodes/spin-row.d.ts +14 -0
  116. package/dist/nodes/spin-row.d.ts.map +1 -0
  117. package/dist/nodes/spin-row.js +46 -0
  118. package/dist/nodes/spin-row.js.map +1 -0
  119. package/dist/nodes/switch-row.d.ts +11 -0
  120. package/dist/nodes/switch-row.d.ts.map +1 -0
  121. package/dist/nodes/switch-row.js +15 -0
  122. package/dist/nodes/switch-row.js.map +1 -0
  123. package/dist/nodes/text-anchor.d.ts.map +1 -1
  124. package/dist/nodes/text-anchor.js +10 -0
  125. package/dist/nodes/text-anchor.js.map +1 -1
  126. package/dist/nodes/text-tag.d.ts.map +1 -1
  127. package/dist/nodes/text-tag.js +45 -39
  128. package/dist/nodes/text-tag.js.map +1 -1
  129. package/dist/nodes/toggle-group.d.ts +12 -6
  130. package/dist/nodes/toggle-group.d.ts.map +1 -1
  131. package/dist/nodes/toggle-group.js +53 -4
  132. package/dist/nodes/toggle-group.js.map +1 -1
  133. package/dist/nodes/widget.d.ts.map +1 -1
  134. package/dist/nodes/widget.js +16 -22
  135. package/dist/nodes/widget.js.map +1 -1
  136. package/dist/nodes/window.d.ts.map +1 -1
  137. package/dist/nodes/window.js +2 -2
  138. package/dist/nodes/window.js.map +1 -1
  139. package/dist/registry.d.ts +0 -2
  140. package/dist/registry.d.ts.map +1 -1
  141. package/dist/registry.js +11 -18
  142. package/dist/registry.js.map +1 -1
  143. package/dist/types.d.ts +3 -2
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/use-property.d.ts +29 -0
  146. package/dist/use-property.d.ts.map +1 -0
  147. package/dist/use-property.js +44 -0
  148. package/dist/use-property.js.map +1 -0
  149. package/dist/use-setting.d.ts +36 -0
  150. package/dist/use-setting.d.ts.map +1 -0
  151. package/dist/use-setting.js +68 -0
  152. package/dist/use-setting.js.map +1 -0
  153. package/package.json +5 -4
  154. package/src/components/compound.tsx +57 -0
  155. package/src/components/list.tsx +140 -0
  156. package/src/components/slot-widget.tsx +46 -0
  157. package/src/errors.ts +8 -7
  158. package/src/generated/compounds.ts +2741 -0
  159. package/src/generated/internal.ts +3059 -1840
  160. package/src/generated/jsx.ts +2509 -5350
  161. package/src/generated/registry.ts +2 -1
  162. package/src/host-config.ts +2 -0
  163. package/src/index.ts +2 -0
  164. package/src/jsx.ts +167 -581
  165. package/src/metadata.ts +7 -4
  166. package/src/node.ts +23 -39
  167. package/src/nodes/alert-dialog.ts +55 -0
  168. package/src/nodes/animation.ts +67 -60
  169. package/src/nodes/application.ts +5 -0
  170. package/src/nodes/column-view-column.ts +125 -128
  171. package/src/nodes/container-slot.ts +30 -17
  172. package/src/nodes/drawing-area.ts +23 -32
  173. package/src/nodes/event-controller.ts +6 -18
  174. package/src/nodes/fixed-child.ts +13 -0
  175. package/src/nodes/grid-child.ts +13 -0
  176. package/src/nodes/internal/accessible.ts +0 -1
  177. package/src/nodes/internal/bound-item.ts +4 -0
  178. package/src/nodes/internal/construct.ts +38 -68
  179. package/src/nodes/internal/widget.ts +9 -13
  180. package/src/nodes/list-item-node.ts +53 -0
  181. package/src/nodes/list.ts +1082 -0
  182. package/src/nodes/notebook-page.ts +6 -2
  183. package/src/nodes/overlay-child.ts +30 -9
  184. package/src/nodes/spin-row.ts +72 -0
  185. package/src/nodes/switch-row.ts +26 -0
  186. package/src/nodes/text-anchor.ts +9 -0
  187. package/src/nodes/text-tag.ts +45 -40
  188. package/src/nodes/toggle-group.ts +63 -9
  189. package/src/nodes/widget.ts +14 -26
  190. package/src/nodes/window.ts +2 -2
  191. package/src/registry.ts +18 -24
  192. package/src/types.ts +8 -2
  193. package/src/use-property.ts +58 -0
  194. package/src/use-setting.ts +96 -0
  195. package/dist/fiber-root.d.ts +0 -4
  196. package/dist/fiber-root.d.ts.map +0 -1
  197. package/dist/fiber-root.js +0 -6
  198. package/dist/fiber-root.js.map +0 -1
  199. package/dist/nodes/column-view.d.ts +0 -37
  200. package/dist/nodes/column-view.d.ts.map +0 -1
  201. package/dist/nodes/column-view.js +0 -205
  202. package/dist/nodes/column-view.js.map +0 -1
  203. package/dist/nodes/drop-down.d.ts +0 -37
  204. package/dist/nodes/drop-down.d.ts.map +0 -1
  205. package/dist/nodes/drop-down.js +0 -231
  206. package/dist/nodes/drop-down.js.map +0 -1
  207. package/dist/nodes/grid-view.d.ts +0 -30
  208. package/dist/nodes/grid-view.d.ts.map +0 -1
  209. package/dist/nodes/grid-view.js +0 -90
  210. package/dist/nodes/grid-view.js.map +0 -1
  211. package/dist/nodes/internal/base-item-renderer.d.ts +0 -28
  212. package/dist/nodes/internal/base-item-renderer.d.ts.map +0 -1
  213. package/dist/nodes/internal/base-item-renderer.js +0 -85
  214. package/dist/nodes/internal/base-item-renderer.js.map +0 -1
  215. package/dist/nodes/internal/grid-item-renderer.d.ts +0 -20
  216. package/dist/nodes/internal/grid-item-renderer.d.ts.map +0 -1
  217. package/dist/nodes/internal/grid-item-renderer.js +0 -66
  218. package/dist/nodes/internal/grid-item-renderer.js.map +0 -1
  219. package/dist/nodes/internal/header-item-renderer.d.ts +0 -23
  220. package/dist/nodes/internal/header-item-renderer.d.ts.map +0 -1
  221. package/dist/nodes/internal/header-item-renderer.js +0 -87
  222. package/dist/nodes/internal/header-item-renderer.js.map +0 -1
  223. package/dist/nodes/internal/header-renderer-manager.d.ts +0 -13
  224. package/dist/nodes/internal/header-renderer-manager.d.ts.map +0 -1
  225. package/dist/nodes/internal/header-renderer-manager.js +0 -20
  226. package/dist/nodes/internal/header-renderer-manager.js.map +0 -1
  227. package/dist/nodes/internal/list-item-renderer.d.ts +0 -27
  228. package/dist/nodes/internal/list-item-renderer.d.ts.map +0 -1
  229. package/dist/nodes/internal/list-item-renderer.js +0 -131
  230. package/dist/nodes/internal/list-item-renderer.js.map +0 -1
  231. package/dist/nodes/internal/list-store.d.ts +0 -21
  232. package/dist/nodes/internal/list-store.d.ts.map +0 -1
  233. package/dist/nodes/internal/list-store.js +0 -90
  234. package/dist/nodes/internal/list-store.js.map +0 -1
  235. package/dist/nodes/internal/sectioned-list-store.d.ts +0 -50
  236. package/dist/nodes/internal/sectioned-list-store.d.ts.map +0 -1
  237. package/dist/nodes/internal/sectioned-list-store.js +0 -250
  238. package/dist/nodes/internal/sectioned-list-store.js.map +0 -1
  239. package/dist/nodes/internal/selection-helpers.d.ts +0 -12
  240. package/dist/nodes/internal/selection-helpers.d.ts.map +0 -1
  241. package/dist/nodes/internal/selection-helpers.js +0 -25
  242. package/dist/nodes/internal/selection-helpers.js.map +0 -1
  243. package/dist/nodes/internal/selection-model-controller.d.ts +0 -26
  244. package/dist/nodes/internal/selection-model-controller.d.ts.map +0 -1
  245. package/dist/nodes/internal/selection-model-controller.js +0 -82
  246. package/dist/nodes/internal/selection-model-controller.js.map +0 -1
  247. package/dist/nodes/internal/simple-list-store.d.ts +0 -15
  248. package/dist/nodes/internal/simple-list-store.d.ts.map +0 -1
  249. package/dist/nodes/internal/simple-list-store.js +0 -110
  250. package/dist/nodes/internal/simple-list-store.js.map +0 -1
  251. package/dist/nodes/internal/tree-store.d.ts +0 -37
  252. package/dist/nodes/internal/tree-store.d.ts.map +0 -1
  253. package/dist/nodes/internal/tree-store.js +0 -253
  254. package/dist/nodes/internal/tree-store.js.map +0 -1
  255. package/dist/nodes/list-item.d.ts +0 -24
  256. package/dist/nodes/list-item.d.ts.map +0 -1
  257. package/dist/nodes/list-item.js +0 -83
  258. package/dist/nodes/list-item.js.map +0 -1
  259. package/dist/nodes/list-section.d.ts +0 -27
  260. package/dist/nodes/list-section.d.ts.map +0 -1
  261. package/dist/nodes/list-section.js +0 -43
  262. package/dist/nodes/list-section.js.map +0 -1
  263. package/dist/nodes/list-view.d.ts +0 -32
  264. package/dist/nodes/list-view.d.ts.map +0 -1
  265. package/dist/nodes/list-view.js +0 -123
  266. package/dist/nodes/list-view.js.map +0 -1
  267. package/dist/nodes/models/list.d.ts +0 -39
  268. package/dist/nodes/models/list.d.ts.map +0 -1
  269. package/dist/nodes/models/list.js +0 -207
  270. package/dist/nodes/models/list.js.map +0 -1
  271. package/src/fiber-root.ts +0 -20
  272. package/src/nodes/column-view.ts +0 -262
  273. package/src/nodes/drop-down.ts +0 -284
  274. package/src/nodes/grid-view.ts +0 -119
  275. package/src/nodes/internal/base-item-renderer.ts +0 -107
  276. package/src/nodes/internal/grid-item-renderer.ts +0 -78
  277. package/src/nodes/internal/header-item-renderer.ts +0 -105
  278. package/src/nodes/internal/header-renderer-manager.ts +0 -33
  279. package/src/nodes/internal/list-item-renderer.ts +0 -162
  280. package/src/nodes/internal/list-store.ts +0 -107
  281. package/src/nodes/internal/sectioned-list-store.ts +0 -287
  282. package/src/nodes/internal/selection-helpers.ts +0 -35
  283. package/src/nodes/internal/selection-model-controller.ts +0 -119
  284. package/src/nodes/internal/simple-list-store.ts +0 -116
  285. package/src/nodes/internal/tree-store.ts +0 -289
  286. package/src/nodes/list-item.ts +0 -107
  287. package/src/nodes/list-section.ts +0 -64
  288. package/src/nodes/list-view.ts +0 -164
  289. package/src/nodes/models/list.ts +0 -250
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-child.d.ts","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,cAAe,SAAQ,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC/E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI;IAarD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IASpC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAgB/E,qBAAqB,IAAI,IAAI;IAO7C,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;CAwB/B"}
1
+ {"version":3,"file":"fixed-child.d.ts","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,cAAe,SAAQ,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC/E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI;IAarD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAUpC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAgB/E,qBAAqB,IAAI,IAAI;IAO7C,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,oBAAoB;CAwB/B"}
@@ -1,6 +1,7 @@
1
1
  import * as Graphene from "@gtkx/ffi/graphene";
2
2
  import * as Gsk from "@gtkx/ffi/gsk";
3
3
  import * as Gtk from "@gtkx/ffi/gtk";
4
+ import { isRemovable } from "./internal/predicates.js";
4
5
  import { hasChanged } from "./internal/props.js";
5
6
  import { VirtualNode } from "./virtual.js";
6
7
  import { WidgetNode } from "./widget.js";
@@ -24,6 +25,7 @@ export class FixedChildNode extends VirtualNode {
24
25
  appendChild(child) {
25
26
  super.appendChild(child);
26
27
  if (this.parent) {
28
+ this.detachFromGtkParent(child.container);
27
29
  this.attachToParent(this.parent.container, child.container);
28
30
  this.applyLayoutTransform();
29
31
  }
@@ -62,6 +64,17 @@ export class FixedChildNode extends VirtualNode {
62
64
  parent.remove(child);
63
65
  }
64
66
  }
67
+ detachFromGtkParent(child) {
68
+ const currentParent = child.getParent();
69
+ if (currentParent !== null) {
70
+ if (isRemovable(currentParent)) {
71
+ currentParent.remove(child);
72
+ }
73
+ else {
74
+ child.unparent();
75
+ }
76
+ }
77
+ }
65
78
  applyLayoutTransform() {
66
79
  if (!this.parent || !this.children[0])
67
80
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-child.js","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixed-child.js","sourceRoot":"","sources":["../../src/nodes/fixed-child.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class GridChildNode extends VirtualNode<GridChildProps, WidgetNod
13
13
  detachDeletedInstance(): void;
14
14
  private attachToParent;
15
15
  private detachFromParent;
16
+ private detachFromGtkParent;
16
17
  private reattachChild;
17
18
  }
18
19
  //# sourceMappingURL=grid-child.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-child.d.ts","sourceRoot":"","sources":["../../src/nodes/grid-child.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,aAAc,SAAQ,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC5E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAYpD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAc7E,qBAAqB,IAAI,IAAI;IAO7C,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;CAgBxB"}
1
+ {"version":3,"file":"grid-child.d.ts","sourceRoot":"","sources":["../../src/nodes/grid-child.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,aAAc,SAAQ,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC5E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAIpC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAYpD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IASpC,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQpC,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAc7E,qBAAqB,IAAI,IAAI;IAO7C,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,aAAa;CAgBxB"}
@@ -1,4 +1,5 @@
1
1
  import * as Gtk from "@gtkx/ffi/gtk";
2
+ import { isRemovable } from "./internal/predicates.js";
2
3
  import { hasChanged } from "./internal/props.js";
3
4
  import { VirtualNode } from "./virtual.js";
4
5
  import { WidgetNode } from "./widget.js";
@@ -21,6 +22,7 @@ export class GridChildNode extends VirtualNode {
21
22
  appendChild(child) {
22
23
  super.appendChild(child);
23
24
  if (this.parent) {
25
+ this.detachFromGtkParent(child.container);
24
26
  this.attachToParent(this.parent.container, child.container);
25
27
  }
26
28
  }
@@ -63,6 +65,17 @@ export class GridChildNode extends VirtualNode {
63
65
  parent.remove(child);
64
66
  }
65
67
  }
68
+ detachFromGtkParent(child) {
69
+ const currentParent = child.getParent();
70
+ if (currentParent !== null) {
71
+ if (isRemovable(currentParent)) {
72
+ currentParent.remove(child);
73
+ }
74
+ else {
75
+ child.unparent();
76
+ }
77
+ }
78
+ }
66
79
  reattachChild() {
67
80
  if (!this.parent || !this.children[0])
68
81
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"grid-child.js","sourceRoot":"","sources":["../../src/nodes/grid-child.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid-child.js","sourceRoot":"","sources":["../../src/nodes/grid-child.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accessible.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/accessible.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA2G5C,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,OAAsC,CAAC;AAgCvF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,IAAI,EAAE,UAAU,KAAK,KAAG,IAalG,CAAC"}
1
+ {"version":3,"file":"accessible.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/accessible.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA0G5C,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,OAAsC,CAAC;AAgCvF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,IAAI,EAAE,UAAU,KAAK,KAAG,IAalG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"accessible.js","sourceRoot":"","sources":["../../../src/nodes/internal/accessible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessible.js","sourceRoot":"","sources":["../../../src/nodes/internal/accessible.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAyBrC,MAAM,UAAU,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAa,CAAC,CAAC;AAC5E,MAAM,WAAW,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,GAAc,CAAC,CAAC;AAC/E,MAAM,OAAO,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAa,CAAC,CAAC;AACtE,MAAM,UAAU,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAa,CAAC,CAAC;AAC5E,MAAM,UAAU,GAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAE,GAAsB,IAAI,IAAI,CAAC,CAAC;AAE9F,MAAM,WAAW,GAAgB,CAAC,GAAG,EAAE,EAAE;IACrC,MAAM,OAAO,GAAG,GAAuB,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,SAAiC,EAAE,WAAwB,EAAe,EAAE,CAAC,CAAC;IACxF,IAAI,EAAE,UAAU;IAChB,SAAS;IACT,WAAW;CACd,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,SAA8B,EAAE,WAAwB,EAAY,EAAE,CAAC,CAAC;IACnF,IAAI,EAAE,OAAO;IACb,SAAS;IACT,WAAW;CACd,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,SAAiC,EAAE,WAAwB,EAAe,EAAE,CAAC,CAAC;IAC5F,IAAI,EAAE,UAAU;IAChB,SAAS;IACT,WAAW;CACd,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAsC;IAC3D,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC;IAC1E,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC;IAC3E,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC;IACvE,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC;IAC9E,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;IAC/D,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;IAC5D,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC;IAChE,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC;IACzE,yBAAyB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,CAAC;IACrF,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC;IACxE,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC;IAC3E,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC;IACvE,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC;IACtE,yBAAyB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,UAAU,CAAC;IACpF,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC;IAC1D,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC;IACtE,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC;IACtE,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC;IACtE,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxE,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC;IAEtE,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;IAC5D,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC;IAC9D,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC;IACpE,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC;IAChE,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC;IAC9D,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC;IAC9D,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC;IAChE,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC;IAE9D,0BAA0B,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC1F,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC;IACvE,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC;IACvE,sBAAsB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,CAAC;IACnF,iBAAiB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrE,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC1E,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC;IACjF,iBAAiB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC;IACxE,sBAAsB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC;IACnF,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC;IACvE,oBAAoB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC/E,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC;IAClE,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC;IACxE,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC;IACvE,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC;IACvE,sBAAsB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,CAAC;IACnF,iBAAiB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrE,iBAAiB,EAAE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;CACxE,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,IAAI,mBAAmB,CAAC;AAEvF,SAAS,QAAQ,CAAC,MAAkB,EAAE,GAAsB,EAAE,QAAiB;IAC3E,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,UAAU;YACX,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,MAAM;QACV,KAAK,OAAO;YACR,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,MAAM;QACV,KAAK,UAAU;YACX,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,MAAM;IACd,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,MAAkB,EAAE,GAAsB;IACxD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,UAAU;YACX,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM;QACV,KAAK,OAAO;YACR,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjC,MAAM;QACV,KAAK,UAAU;YACX,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM;IACd,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAkB,EAAE,QAAsB,EAAE,QAAe,EAAQ,EAAE;IACtG,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAEpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ReactNode } from "react";
2
+ import type { Container } from "../../types.js";
3
+ export type BoundItem = [ReactNode, Container, string];
4
+ //# sourceMappingURL=bound-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bound-item.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/bound-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bound-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bound-item.js","sourceRoot":"","sources":["../../../src/nodes/internal/bound-item.ts"],"names":[],"mappings":""}
@@ -1,10 +1,3 @@
1
1
  import type { Container, ContainerClass, Props } from "../../types.js";
2
- /**
3
- * Creates a container (widget or controller) with construct-only properties.
4
- *
5
- * When construct-only props are present that aren't handled by the designated
6
- * constructor, uses `g_object_new` to set them during object construction.
7
- * Otherwise falls back to the normal constructor.
8
- */
9
- export declare function createContainerWithConstructOnly(containerClass: ContainerClass, props: Props, normalConstructor: () => Container): Container;
2
+ export declare function createContainerWithProperties(containerClass: ContainerClass, props: Props): Container;
10
3
  //# sourceMappingURL=construct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"construct.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/construct.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA2CvE;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC5C,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,MAAM,SAAS,GACnC,SAAS,CAgCX"}
1
+ {"version":3,"file":"construct.d.ts","sourceRoot":"","sources":["../../../src/nodes/internal/construct.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA2CvE,wBAAgB,6BAA6B,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,CAarG"}
@@ -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, Value } 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(Value.newFrom(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,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC7D,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,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,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,CAU7C"}
@@ -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) {
@@ -54,16 +57,12 @@ export function isDescendantOf(widget, ancestor) {
54
57
  return false;
55
58
  }
56
59
  export function resolvePropertySetter(parentWidget, propId) {
57
- const propMeta = resolvePropMeta(parentWidget, propId);
58
- if (!propMeta) {
60
+ const propName = resolvePropMeta(parentWidget, propId);
61
+ if (!propName) {
59
62
  return null;
60
63
  }
61
- const [, setterName] = propMeta;
62
- const setter = parentWidget[setterName];
63
- if (typeof setter !== "function") {
64
- const parentType = parentWidget.constructor.glibTypeName;
65
- throw new Error(`Expected setter function for property '${propId}' on type '${parentType}'`);
66
- }
67
- return setter.bind(parentWidget);
64
+ return (child) => {
65
+ parentWidget[propName] = child;
66
+ };
68
67
  }
69
68
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/nodes/internal/widget.ts"],"names":[],"mappings":"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"}
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
+ export declare class ListItemNode extends Node<Gtk.ListItem | Gtk.ListHeader, Props, Node, Node> {
5
+ isValidChild(_child: Node): boolean;
6
+ appendChild(child: Node): void;
7
+ removeChild(child: Node): void;
8
+ insertBefore(child: Node, before: Node): void;
9
+ private detachFromGtkParent;
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;AAIpD,qBAAa,YAAa,SAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;IACpE,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO;IAInC,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAS9B,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAQ9B,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI;IAS7D,OAAO,CAAC,mBAAmB;WAYJ,eAAe,IAAI,SAAS;CAGtD"}
@@ -0,0 +1,45 @@
1
+ import { Node } from "../node.js";
2
+ import { isRemovable } from "./internal/predicates.js";
3
+ import { WidgetNode } from "./widget.js";
4
+ export class ListItemNode extends Node {
5
+ isValidChild(_child) {
6
+ return true;
7
+ }
8
+ appendChild(child) {
9
+ super.appendChild(child);
10
+ if (child instanceof WidgetNode) {
11
+ this.detachFromGtkParent(child);
12
+ this.container.setChild(child.container);
13
+ }
14
+ }
15
+ removeChild(child) {
16
+ if (child instanceof WidgetNode) {
17
+ this.container.setChild(null);
18
+ }
19
+ super.removeChild(child);
20
+ }
21
+ insertBefore(child, before) {
22
+ super.insertBefore(child, before);
23
+ if (child instanceof WidgetNode) {
24
+ this.detachFromGtkParent(child);
25
+ this.container.setChild(child.container);
26
+ }
27
+ }
28
+ detachFromGtkParent(child) {
29
+ if (!(child instanceof WidgetNode))
30
+ return;
31
+ const currentParent = child.container.getParent();
32
+ if (currentParent !== null) {
33
+ if (isRemovable(currentParent)) {
34
+ currentParent.remove(child.container);
35
+ }
36
+ else {
37
+ child.container.unparent();
38
+ }
39
+ }
40
+ }
41
+ static createContainer() {
42
+ throw new Error("ListItemNode does not support container creation");
43
+ }
44
+ }
45
+ //# 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,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,YAAa,SAAQ,IAAsD;IACpE,YAAY,CAAC,MAAY;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEe,WAAW,CAAC,KAAW;QACnC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAEe,WAAW,CAAC,KAAW;QACnC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY,CAAC,KAAW,EAAE,MAAY;QAClD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAElC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,KAAW;QACnC,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,OAAO;QAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAClD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7B,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC;QACL,CAAC;IACL,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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"}