@gtkx/react 0.18.4 → 0.18.5

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 (79) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/nodes/calendar.d.ts +4 -1
  6. package/dist/nodes/calendar.d.ts.map +1 -1
  7. package/dist/nodes/calendar.js +3 -1
  8. package/dist/nodes/calendar.js.map +1 -1
  9. package/dist/nodes/column-view.d.ts +4 -1
  10. package/dist/nodes/column-view.d.ts.map +1 -1
  11. package/dist/nodes/column-view.js +19 -6
  12. package/dist/nodes/column-view.js.map +1 -1
  13. package/dist/nodes/drawing-area.d.ts +4 -1
  14. package/dist/nodes/drawing-area.d.ts.map +1 -1
  15. package/dist/nodes/drawing-area.js +3 -1
  16. package/dist/nodes/drawing-area.js.map +1 -1
  17. package/dist/nodes/drop-down.d.ts +8 -4
  18. package/dist/nodes/drop-down.d.ts.map +1 -1
  19. package/dist/nodes/drop-down.js +18 -6
  20. package/dist/nodes/drop-down.js.map +1 -1
  21. package/dist/nodes/grid-view.d.ts +8 -4
  22. package/dist/nodes/grid-view.d.ts.map +1 -1
  23. package/dist/nodes/grid-view.js +14 -3
  24. package/dist/nodes/grid-view.js.map +1 -1
  25. package/dist/nodes/internal/grid-item-renderer.d.ts +2 -1
  26. package/dist/nodes/internal/grid-item-renderer.d.ts.map +1 -1
  27. package/dist/nodes/internal/list-item-renderer.d.ts +2 -1
  28. package/dist/nodes/internal/list-item-renderer.d.ts.map +1 -1
  29. package/dist/nodes/internal/list-store.d.ts +2 -1
  30. package/dist/nodes/internal/list-store.d.ts.map +1 -1
  31. package/dist/nodes/internal/selection-model-controller.d.ts +1 -1
  32. package/dist/nodes/internal/selection-model-controller.d.ts.map +1 -1
  33. package/dist/nodes/internal/signal-store.d.ts +1 -1
  34. package/dist/nodes/internal/signal-store.d.ts.map +1 -1
  35. package/dist/nodes/internal/tree-store.d.ts +2 -1
  36. package/dist/nodes/internal/tree-store.d.ts.map +1 -1
  37. package/dist/nodes/list-view.d.ts +8 -4
  38. package/dist/nodes/list-view.d.ts.map +1 -1
  39. package/dist/nodes/list-view.js +16 -4
  40. package/dist/nodes/list-view.js.map +1 -1
  41. package/dist/nodes/navigation-view.d.ts +3 -1
  42. package/dist/nodes/navigation-view.d.ts.map +1 -1
  43. package/dist/nodes/navigation-view.js +7 -1
  44. package/dist/nodes/navigation-view.js.map +1 -1
  45. package/dist/nodes/notebook.d.ts +8 -3
  46. package/dist/nodes/notebook.d.ts.map +1 -1
  47. package/dist/nodes/notebook.js +17 -7
  48. package/dist/nodes/notebook.js.map +1 -1
  49. package/dist/nodes/popover-menu.d.ts +3 -1
  50. package/dist/nodes/popover-menu.d.ts.map +1 -1
  51. package/dist/nodes/popover-menu.js +7 -1
  52. package/dist/nodes/popover-menu.js.map +1 -1
  53. package/dist/nodes/text-view.d.ts +2 -1
  54. package/dist/nodes/text-view.d.ts.map +1 -1
  55. package/dist/nodes/text-view.js +2 -0
  56. package/dist/nodes/text-view.js.map +1 -1
  57. package/dist/nodes/window.d.ts +4 -2
  58. package/dist/nodes/window.d.ts.map +1 -1
  59. package/dist/nodes/window.js +5 -1
  60. package/dist/nodes/window.js.map +1 -1
  61. package/package.json +3 -3
  62. package/src/index.ts +1 -0
  63. package/src/nodes/calendar.ts +6 -2
  64. package/src/nodes/column-view.ts +23 -7
  65. package/src/nodes/drawing-area.ts +6 -2
  66. package/src/nodes/drop-down.ts +26 -10
  67. package/src/nodes/grid-view.ts +20 -7
  68. package/src/nodes/internal/grid-item-renderer.ts +1 -1
  69. package/src/nodes/internal/list-item-renderer.ts +1 -1
  70. package/src/nodes/internal/list-store.ts +1 -1
  71. package/src/nodes/internal/selection-model-controller.ts +1 -1
  72. package/src/nodes/internal/signal-store.ts +1 -1
  73. package/src/nodes/internal/tree-store.ts +1 -1
  74. package/src/nodes/list-view.ts +24 -8
  75. package/src/nodes/navigation-view.ts +10 -2
  76. package/src/nodes/notebook.ts +24 -10
  77. package/src/nodes/popover-menu.ts +10 -2
  78. package/src/nodes/text-view.ts +3 -1
  79. package/src/nodes/window.ts +16 -3
@@ -2,19 +2,23 @@ import type * as Gtk from "@gtkx/ffi/gtk";
2
2
  import type { GtkListViewProps } from "../jsx.js";
3
3
  import type { Node } from "../node.js";
4
4
  import type { Container } from "../types.js";
5
+ import { ContainerSlotNode } from "./container-slot.js";
6
+ import { EventControllerNode } from "./event-controller.js";
5
7
  import { ListItemNode } from "./list-item.js";
6
8
  import { type ListModelProps } from "./models/list.js";
9
+ import { SlotNode } from "./slot.js";
7
10
  import { WidgetNode } from "./widget.js";
8
11
  declare const RENDERER_PROPS: readonly ["renderItem", "estimatedItemHeight"];
9
12
  type ListViewProps = Pick<GtkListViewProps, (typeof RENDERER_PROPS)[number]> & ListModelProps;
10
- export declare class ListViewNode extends WidgetNode<Gtk.ListView, ListViewProps, ListItemNode> {
13
+ type ListViewChild = ListItemNode | EventControllerNode | SlotNode | ContainerSlotNode;
14
+ export declare class ListViewNode extends WidgetNode<Gtk.ListView, ListViewProps, ListViewChild> {
11
15
  private itemRenderer;
12
16
  private list;
13
17
  isValidChild(child: Node): boolean;
14
18
  constructor(typeName: string, props: ListViewProps, container: Gtk.ListView, rootContainer: Container);
15
- appendChild(child: ListItemNode): void;
16
- insertBefore(child: ListItemNode, before: ListItemNode): void;
17
- removeChild(child: ListItemNode): void;
19
+ appendChild(child: ListViewChild): void;
20
+ insertBefore(child: ListViewChild, before: ListViewChild): void;
21
+ removeChild(child: ListViewChild): void;
18
22
  finalizeInitialChildren(props: ListViewProps): boolean;
19
23
  commitUpdate(oldProps: ListViewProps | null, newProps: ListViewProps): void;
20
24
  commitMount(): void;
@@ -1 +1 @@
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;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,cAAc,gDAAiD,CAAC;AAGtE,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC;AAE9F,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC;IACnF,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,IAAI,CAAY;IAER,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;gBAItC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;IAiBrF,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKtC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAK7D,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKtC,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtD,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,WAAW,IAAI,IAAI;IAMnB,qBAAqB,IAAI,IAAI;IAK7C,OAAO,CAAC,aAAa;CAoBxB"}
1
+ {"version":3,"file":"list-view.d.ts","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,cAAc,gDAAiD,CAAC;AAGtE,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC;AAE9F,KAAK,aAAa,GAAG,YAAY,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAEvF,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;IACpF,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,IAAI,CAAY;IAER,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;gBAStC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;IAiBrF,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAO/D,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAOvC,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtD,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,WAAW,IAAI,IAAI;IAMnB,qBAAqB,IAAI,IAAI;IAK7C,OAAO,CAAC,aAAa;CAoBxB"}
@@ -1,7 +1,10 @@
1
+ import { ContainerSlotNode } from "./container-slot.js";
2
+ import { EventControllerNode } from "./event-controller.js";
1
3
  import { ListItemRenderer } from "./internal/list-item-renderer.js";
2
4
  import { filterProps, hasChanged } from "./internal/props.js";
3
5
  import { ListItemNode } from "./list-item.js";
4
6
  import { ListModel } from "./models/list.js";
7
+ import { SlotNode } from "./slot.js";
5
8
  import { WidgetNode } from "./widget.js";
6
9
  const RENDERER_PROPS = ["renderItem", "estimatedItemHeight"];
7
10
  const OWN_PROPS = [...RENDERER_PROPS, "autoexpand", "selectionMode", "selected", "onSelectionChanged"];
@@ -9,7 +12,10 @@ export class ListViewNode extends WidgetNode {
9
12
  itemRenderer;
10
13
  list;
11
14
  isValidChild(child) {
12
- return child instanceof ListItemNode;
15
+ return (child instanceof ListItemNode ||
16
+ child instanceof EventControllerNode ||
17
+ child instanceof SlotNode ||
18
+ child instanceof ContainerSlotNode);
13
19
  }
14
20
  constructor(typeName, props, container, rootContainer) {
15
21
  super(typeName, props, container, rootContainer);
@@ -26,14 +32,20 @@ export class ListViewNode extends WidgetNode {
26
32
  }
27
33
  appendChild(child) {
28
34
  super.appendChild(child);
29
- this.list.appendChild(child);
35
+ if (child instanceof ListItemNode) {
36
+ this.list.appendChild(child);
37
+ }
30
38
  }
31
39
  insertBefore(child, before) {
32
40
  super.insertBefore(child, before);
33
- this.list.insertBefore(child, before);
41
+ if (child instanceof ListItemNode && before instanceof ListItemNode) {
42
+ this.list.insertBefore(child, before);
43
+ }
34
44
  }
35
45
  removeChild(child) {
36
- this.list.removeChild(child);
46
+ if (child instanceof ListItemNode) {
47
+ this.list.removeChild(child);
48
+ }
37
49
  super.removeChild(child);
38
50
  }
39
51
  finalizeInitialChildren(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-view.js","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-view.js","sourceRoot":"","sources":["../../src/nodes/list-view.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import * as Adw from "@gtkx/ffi/adw";
2
2
  import type { AdwNavigationViewProps } from "../jsx.js";
3
3
  import type { Node } from "../node.js";
4
+ import { ContainerSlotNode } from "./container-slot.js";
5
+ import { EventControllerNode } from "./event-controller.js";
4
6
  import { NavigationPageNode } from "./navigation-page.js";
5
7
  import { SlotNode } from "./slot.js";
6
8
  import { WidgetNode } from "./widget.js";
7
9
  declare const OWN_PROPS: readonly ["history", "onHistoryChanged"];
8
10
  type NavigationViewProps = Pick<AdwNavigationViewProps, (typeof OWN_PROPS)[number]>;
9
- type NavigationViewChild = NavigationPageNode | SlotNode | WidgetNode;
11
+ type NavigationViewChild = NavigationPageNode | SlotNode | ContainerSlotNode | EventControllerNode | WidgetNode;
10
12
  export declare class NavigationViewNode extends WidgetNode<Adw.NavigationView, NavigationViewProps, NavigationViewChild> {
11
13
  isValidChild(child: Node): boolean;
12
14
  commitUpdate(oldProps: NavigationViewProps | null, newProps: NavigationViewProps): void;
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-view.d.ts","sourceRoot":"","sources":["../../src/nodes/navigation-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,SAAS,0CAA2C,CAAC;AAE3D,KAAK,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACpF,KAAK,mBAAmB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtE,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;IAC5F,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,YAAY,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKvG,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,iBAAiB;CAgB5B"}
1
+ {"version":3,"file":"navigation-view.d.ts","sourceRoot":"","sources":["../../src/nodes/navigation-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,SAAS,0CAA2C,CAAC;AAE3D,KAAK,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACpF,KAAK,mBAAmB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEhH,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;IAC5F,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAUlC,YAAY,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKvG,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,iBAAiB;CAgB5B"}
@@ -1,4 +1,6 @@
1
1
  import * as Adw from "@gtkx/ffi/adw";
2
+ import { ContainerSlotNode } from "./container-slot.js";
3
+ import { EventControllerNode } from "./event-controller.js";
2
4
  import { filterProps, hasChanged, primitiveArrayEqual } from "./internal/props.js";
3
5
  import { NavigationPageNode } from "./navigation-page.js";
4
6
  import { SlotNode } from "./slot.js";
@@ -6,7 +8,11 @@ import { WidgetNode } from "./widget.js";
6
8
  const OWN_PROPS = ["history", "onHistoryChanged"];
7
9
  export class NavigationViewNode extends WidgetNode {
8
10
  isValidChild(child) {
9
- return child instanceof NavigationPageNode || child instanceof SlotNode || child instanceof WidgetNode;
11
+ return (child instanceof NavigationPageNode ||
12
+ child instanceof SlotNode ||
13
+ child instanceof EventControllerNode ||
14
+ child instanceof ContainerSlotNode ||
15
+ child instanceof WidgetNode);
10
16
  }
11
17
  commitUpdate(oldProps, newProps) {
12
18
  super.commitUpdate(oldProps ? filterProps(oldProps, OWN_PROPS) : null, filterProps(newProps, OWN_PROPS));
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-view.js","sourceRoot":"","sources":["../../src/nodes/navigation-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAU,CAAC;AAK3D,MAAM,OAAO,kBAAmB,SAAQ,UAAwE;IAC5F,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,kBAAkB,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,YAAY,UAAU,CAAC;IAC3G,CAAC;IAEe,YAAY,CAAC,QAAoC,EAAE,QAA6B;QAC5F,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAEO,aAAa,CAAC,QAAoC,EAAE,QAA6B;QACrF,MAAM,UAAU,GAAG,QAAQ,EAAE,OAAO,CAAC;QACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEpC,IAAI,UAAU,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACrD,MAAM,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;YACtC,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEhG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,cAAc,CAAC;gBAAE,SAAS;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ"}
1
+ {"version":3,"file":"navigation-view.js","sourceRoot":"","sources":["../../src/nodes/navigation-view.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  import type * as Gtk from "@gtkx/ffi/gtk";
2
2
  import type { Node } from "../node.js";
3
3
  import type { Props } from "../types.js";
4
+ import { ContainerSlotNode } from "./container-slot.js";
5
+ import { EventControllerNode } from "./event-controller.js";
4
6
  import { NotebookPageNode } from "./notebook-page.js";
7
+ import { SlotNode } from "./slot.js";
5
8
  import { WidgetNode } from "./widget.js";
6
- export declare class NotebookNode extends WidgetNode<Gtk.Notebook, Props, NotebookPageNode> {
9
+ type NotebookChild = NotebookPageNode | EventControllerNode | SlotNode | ContainerSlotNode;
10
+ export declare class NotebookNode extends WidgetNode<Gtk.Notebook, Props, NotebookChild> {
7
11
  isValidChild(child: Node): boolean;
8
- insertBefore(child: NotebookPageNode, before: NotebookPageNode): void;
9
- removeChild(child: NotebookPageNode): void;
12
+ insertBefore(child: NotebookChild, before: NotebookChild): void;
13
+ removeChild(child: NotebookChild): void;
10
14
  }
15
+ export {};
11
16
  //# sourceMappingURL=notebook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/nodes/notebook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC;IAC/D,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIlC,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAYrE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;CAI7D"}
1
+ {"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../src/nodes/notebook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,KAAK,aAAa,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAE3F,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC;IAC5D,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IASlC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAc/D,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;CAM1D"}
@@ -1,20 +1,30 @@
1
+ import { ContainerSlotNode } from "./container-slot.js";
2
+ import { EventControllerNode } from "./event-controller.js";
1
3
  import { NotebookPageNode } from "./notebook-page.js";
4
+ import { SlotNode } from "./slot.js";
2
5
  import { WidgetNode } from "./widget.js";
3
6
  export class NotebookNode extends WidgetNode {
4
7
  isValidChild(child) {
5
- return child instanceof NotebookPageNode;
8
+ return (child instanceof NotebookPageNode ||
9
+ child instanceof EventControllerNode ||
10
+ child instanceof SlotNode ||
11
+ child instanceof ContainerSlotNode);
6
12
  }
7
13
  insertBefore(child, before) {
8
- const isMove = this.children.includes(child);
9
- const beforePosition = this.container.pageNum(before.getChildWidget());
10
- child.setPosition(beforePosition);
11
- if (isMove) {
12
- this.container.reorderChild(child.getChildWidget(), beforePosition);
14
+ if (child instanceof NotebookPageNode && before instanceof NotebookPageNode) {
15
+ const isMove = this.children.includes(child);
16
+ const beforePosition = this.container.pageNum(before.getChildWidget());
17
+ child.setPosition(beforePosition);
18
+ if (isMove) {
19
+ this.container.reorderChild(child.getChildWidget(), beforePosition);
20
+ }
13
21
  }
14
22
  super.insertBefore(child, before);
15
23
  }
16
24
  removeChild(child) {
17
- child.setPosition(null);
25
+ if (child instanceof NotebookPageNode) {
26
+ child.setPosition(null);
27
+ }
18
28
  super.removeChild(child);
19
29
  }
20
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../src/nodes/notebook.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAO,YAAa,SAAQ,UAAiD;IAC/D,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,gBAAgB,CAAC;IAC7C,CAAC;IAEe,YAAY,CAAC,KAAuB,EAAE,MAAwB;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAElC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEe,WAAW,CAAC,KAAuB;QAC/C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ"}
1
+ {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../src/nodes/notebook.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,OAAO,YAAa,SAAQ,UAA8C;IAC5D,YAAY,CAAC,KAAW;QACpC,OAAO,CACH,KAAK,YAAY,gBAAgB;YACjC,KAAK,YAAY,mBAAmB;YACpC,KAAK,YAAY,QAAQ;YACzB,KAAK,YAAY,iBAAiB,CACrC,CAAC;IACN,CAAC;IAEe,YAAY,CAAC,KAAoB,EAAE,MAAqB;QACpE,IAAI,KAAK,YAAY,gBAAgB,IAAI,MAAM,YAAY,gBAAgB,EAAE,CAAC;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAElC,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEe,WAAW,CAAC,KAAoB;QAC5C,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;YACpC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ"}
@@ -1,10 +1,12 @@
1
1
  import type { Node } from "../node.js";
2
2
  import type { PopoverMenuWidget } from "../registry.js";
3
3
  import type { Container, Props } from "../types.js";
4
+ import { ContainerSlotNode } from "./container-slot.js";
5
+ import { EventControllerNode } from "./event-controller.js";
4
6
  import { MenuNode } from "./menu.js";
5
7
  import { SlotNode } from "./slot.js";
6
8
  import { WidgetNode } from "./widget.js";
7
- type PopoverMenuChild = MenuNode | SlotNode | WidgetNode;
9
+ type PopoverMenuChild = MenuNode | SlotNode | ContainerSlotNode | EventControllerNode | WidgetNode;
8
10
  export declare class PopoverMenuNode extends WidgetNode<PopoverMenuWidget, Props, PopoverMenuChild> {
9
11
  private menu;
10
12
  isValidChild(child: Node): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"popover-menu.d.ts","sourceRoot":"","sources":["../../src/nodes/popover-menu.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,KAAK,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,qBAAa,eAAgB,SAAQ,UAAU,CAAC,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,CAAC;IACvF,OAAO,CAAC,IAAI,CAAY;IAER,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;gBAItC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS;IAYlF,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAQ1C,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAYrE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;CAO7D"}
1
+ {"version":3,"file":"popover-menu.d.ts","sourceRoot":"","sources":["../../src/nodes/popover-menu.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,KAAK,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEnG,qBAAa,eAAgB,SAAQ,UAAU,CAAC,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,CAAC;IACvF,OAAO,CAAC,IAAI,CAAY;IAER,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;gBAUtC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS;IAYlF,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAQ1C,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAYrE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;CAO7D"}
@@ -1,5 +1,7 @@
1
1
  import * as Gio from "@gtkx/ffi/gio";
2
2
  import * as Gtk from "@gtkx/ffi/gtk";
3
+ import { ContainerSlotNode } from "./container-slot.js";
4
+ import { EventControllerNode } from "./event-controller.js";
3
5
  import { MenuNode } from "./menu.js";
4
6
  import { MenuModel } from "./models/menu.js";
5
7
  import { SlotNode } from "./slot.js";
@@ -7,7 +9,11 @@ import { WidgetNode } from "./widget.js";
7
9
  export class PopoverMenuNode extends WidgetNode {
8
10
  menu;
9
11
  isValidChild(child) {
10
- return child instanceof MenuNode || child instanceof SlotNode || child instanceof WidgetNode;
12
+ return (child instanceof MenuNode ||
13
+ child instanceof SlotNode ||
14
+ child instanceof EventControllerNode ||
15
+ child instanceof ContainerSlotNode ||
16
+ child instanceof WidgetNode);
11
17
  }
12
18
  constructor(typeName, props, container, rootContainer) {
13
19
  super(typeName, props, container, rootContainer);
@@ -1 +1 @@
1
- {"version":3,"file":"popover-menu.js","sourceRoot":"","sources":["../../src/nodes/popover-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAIrC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,OAAO,eAAgB,SAAQ,UAAsD;IAC/E,IAAI,CAAY;IAER,YAAY,CAAC,KAAW;QACpC,OAAO,KAAK,YAAY,QAAQ,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,YAAY,UAAU,CAAC;IACjG,CAAC;IAED,YAAY,QAAgB,EAAE,KAAY,EAAE,SAA4B,EAAE,aAAwB;QAC9F,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,aAAa,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAE5C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAEe,WAAW,CAAC,KAAuB;QAC/C,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY,CAAC,KAAuB,EAAE,MAAwB;QAC1E,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,OAAO;QACX,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEe,WAAW,CAAC,KAAuB;QAC/C,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ"}
1
+ {"version":3,"file":"popover-menu.js","sourceRoot":"","sources":["../../src/nodes/popover-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAIrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,OAAO,eAAgB,SAAQ,UAAsD;IAC/E,IAAI,CAAY;IAER,YAAY,CAAC,KAAW;QACpC,OAAO,CACH,KAAK,YAAY,QAAQ;YACzB,KAAK,YAAY,QAAQ;YACzB,KAAK,YAAY,mBAAmB;YACpC,KAAK,YAAY,iBAAiB;YAClC,KAAK,YAAY,UAAU,CAC9B,CAAC;IACN,CAAC;IAED,YAAY,QAAgB,EAAE,KAAY,EAAE,SAA4B,EAAE,aAAwB;QAC9F,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,aAAa,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAE5C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAEe,WAAW,CAAC,KAAuB;QAC/C,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY,CAAC,KAAuB,EAAE,MAAwB;QAC1E,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,MAAM,YAAY,QAAQ,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YACD,OAAO;QACX,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAEe,WAAW,CAAC,KAAuB;QAC/C,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ"}
@@ -1,6 +1,7 @@
1
1
  import * as Gtk from "@gtkx/ffi/gtk";
2
2
  import type { GtkTextViewProps } from "../jsx.js";
3
3
  import type { Node } from "../node.js";
4
+ import { ContainerSlotNode } from "./container-slot.js";
4
5
  import { EventControllerNode } from "./event-controller.js";
5
6
  import { TextBufferController } from "./internal/text-buffer-controller.js";
6
7
  import { SlotNode } from "./slot.js";
@@ -9,7 +10,7 @@ import { TextSegmentNode } from "./text-segment.js";
9
10
  import { WidgetNode } from "./widget.js";
10
11
  declare const OWN_PROPS: readonly ["enableUndo", "onBufferChanged", "onTextInserted", "onTextDeleted", "onCanUndoChanged", "onCanRedoChanged"];
11
12
  type TextViewProps = Pick<GtkTextViewProps, (typeof OWN_PROPS)[number]>;
12
- type TextViewChild = TextContentChild | SlotNode | EventControllerNode | WidgetNode;
13
+ type TextViewChild = TextContentChild | SlotNode | ContainerSlotNode | EventControllerNode | WidgetNode;
13
14
  export declare class TextViewNode extends WidgetNode<Gtk.TextView, TextViewProps, TextViewChild> implements TextContentParent {
14
15
  protected bufferController: TextBufferController | null;
15
16
  isValidChild(child: Node): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"text-view.d.ts","sourceRoot":"","sources":["../../src/nodes/text-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,SAAS,uHAOL,CAAC;AAEX,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,KAAK,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAEpF,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAE,YAAW,iBAAiB;IACjH,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAE/C,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAYlD,SAAS,CAAC,sBAAsB,IAAI,oBAAoB;IAOxD,SAAS,CAAC,sBAAsB,IAAI,oBAAoB;IAIxC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQvC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAQ/D,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQhD,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI9C,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI7C,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAGhG"}
1
+ {"version":3,"file":"text-view.d.ts","sourceRoot":"","sources":["../../src/nodes/text-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,QAAA,MAAM,SAAS,uHAOL,CAAC;AAEX,KAAK,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,KAAK,aAAa,GAAG,gBAAgB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAExG,qBAAa,YAAa,SAAQ,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAE,YAAW,iBAAiB;IACjH,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAE/C,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAalD,SAAS,CAAC,sBAAsB,IAAI,oBAAoB;IAOxD,SAAS,CAAC,sBAAsB,IAAI,oBAAoB;IAIxC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAK3E,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQvC,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAQ/D,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAQhD,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI9C,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI7C,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAGhG"}
@@ -1,4 +1,5 @@
1
1
  import * as Gtk from "@gtkx/ffi/gtk";
2
+ import { ContainerSlotNode } from "./container-slot.js";
2
3
  import { EventControllerNode } from "./event-controller.js";
3
4
  import { filterProps } from "./internal/props.js";
4
5
  import { TextBufferController } from "./internal/text-buffer-controller.js";
@@ -24,6 +25,7 @@ export class TextViewNode extends WidgetNode {
24
25
  child instanceof TextAnchorNode ||
25
26
  child instanceof TextPaintableNode ||
26
27
  child instanceof SlotNode ||
28
+ child instanceof ContainerSlotNode ||
27
29
  child instanceof EventControllerNode ||
28
30
  child instanceof WidgetNode);
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"text-view.js","sourceRoot":"","sources":["../../src/nodes/text-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-view.js","sourceRoot":"","sources":["../../src/nodes/text-view.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,15 @@ import type { GtkAboutDialogProps, GtkWindowProps } from "../jsx.js";
3
3
  import type { Node } from "../node.js";
4
4
  import type { Container, Props } from "../types.js";
5
5
  import { AnimationNode } from "./animation.js";
6
+ import { ContainerSlotNode } from "./container-slot.js";
6
7
  import type { DialogNode } from "./dialog.js";
8
+ import { EventControllerNode } from "./event-controller.js";
7
9
  import { MenuNode } from "./menu.js";
8
10
  import { NavigationPageNode } from "./navigation-page.js";
9
11
  import { SlotNode } from "./slot.js";
10
12
  import { WidgetNode } from "./widget.js";
11
- export type WindowProps = Pick<GtkWindowProps, "onClose"> & Pick<GtkAboutDialogProps, "creditSections">;
12
- type WindowChild = WindowNode | DialogNode | MenuNode | SlotNode | AnimationNode | NavigationPageNode | WidgetNode;
13
+ type WindowProps = Pick<GtkWindowProps, "onClose"> & Pick<GtkAboutDialogProps, "creditSections">;
14
+ type WindowChild = WindowNode | DialogNode | MenuNode | SlotNode | ContainerSlotNode | AnimationNode | NavigationPageNode | EventControllerNode | WidgetNode;
13
15
  export declare class WindowNode extends WidgetNode<Gtk.Window, WindowProps, WindowChild> {
14
16
  private menu;
15
17
  static createContainer(props: Props, containerClass: typeof Gtk.Window, rootContainer: Container | undefined): Gtk.Window;
@@ -1 +1 @@
1
- {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/nodes/window.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAExG,KAAK,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,kBAAkB,GAAG,UAAU,CAAC;AAEnH,qBAAa,UAAW,SAAQ,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAY;WAED,eAAe,CAClC,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,OAAO,GAAG,CAAC,MAAM,EACjC,aAAa,EAAE,SAAS,GAAG,SAAS,GACrC,GAAG,CAAC,MAAM;gBAqBD,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS;cAa9E,oBAAoB,IAAI,OAAO;IAIlC,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAUlC,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAerC,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAerC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAiB3D,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAKpD,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAKvE,WAAW,IAAI,IAAI;IAInB,qBAAqB,IAAI,IAAI;IAM7C,OAAO,CAAC,aAAa;CAYxB"}
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../src/nodes/window.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAEjG,KAAK,WAAW,GACV,UAAU,GACV,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,mBAAmB,GACnB,UAAU,CAAC;AAEjB,qBAAa,UAAW,SAAQ,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAY;WAED,eAAe,CAClC,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,OAAO,GAAG,CAAC,MAAM,EACjC,aAAa,EAAE,SAAS,GAAG,SAAS,GACrC,GAAG,CAAC,MAAM;gBAqBD,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS;cAa9E,oBAAoB,IAAI,OAAO;IAIlC,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAYlC,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAerC,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAerC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAiB3D,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAKpD,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAKvE,WAAW,IAAI,IAAI;IAInB,qBAAqB,IAAI,IAAI;IAM7C,OAAO,CAAC,aAAa;CAYxB"}
@@ -1,6 +1,8 @@
1
1
  import * as Adw from "@gtkx/ffi/adw";
2
2
  import * as Gtk from "@gtkx/ffi/gtk";
3
3
  import { AnimationNode } from "./animation.js";
4
+ import { ContainerSlotNode } from "./container-slot.js";
5
+ import { EventControllerNode } from "./event-controller.js";
4
6
  import { filterProps, hasChanged } from "./internal/props.js";
5
7
  import { MenuNode } from "./menu.js";
6
8
  import { MenuModel } from "./models/menu.js";
@@ -45,7 +47,9 @@ export class WindowNode extends WidgetNode {
45
47
  child instanceof MenuNode ||
46
48
  child instanceof SlotNode ||
47
49
  child instanceof AnimationNode ||
48
- child instanceof NavigationPageNode);
50
+ child instanceof NavigationPageNode ||
51
+ child instanceof EventControllerNode ||
52
+ child instanceof ContainerSlotNode);
49
53
  }
50
54
  appendChild(child) {
51
55
  if (child instanceof WindowNode) {
@@ -1 +1 @@
1
- {"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/nodes/window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../src/nodes/window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gtkx/react",
3
- "version": "0.18.4",
3
+ "version": "0.18.5",
4
4
  "description": "Build GTK4 desktop applications with React and TypeScript",
5
5
  "keywords": [
6
6
  "gtkx",
@@ -39,8 +39,8 @@
39
39
  ],
40
40
  "dependencies": {
41
41
  "react-reconciler": "^0.33.0",
42
- "@gtkx/ffi": "0.18.4",
43
- "@gtkx/gir": "0.18.4"
42
+ "@gtkx/ffi": "0.18.5",
43
+ "@gtkx/gir": "0.18.5"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/react-reconciler": "^0.33.0"
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { GtkxError } from "./errors.js";
1
2
  export * from "./jsx.js";
2
3
  export { createPortal } from "./portal.js";
3
4
  export { reconciler } from "./reconciler.js";
@@ -1,17 +1,21 @@
1
1
  import type * as Gtk from "@gtkx/ffi/gtk";
2
2
  import type { GtkCalendarProps } from "../jsx.js";
3
3
  import type { Node } from "../node.js";
4
+ import { ContainerSlotNode } from "./container-slot.js";
4
5
  import { EventControllerNode } from "./event-controller.js";
5
6
  import { filterProps, primitiveArrayEqual } from "./internal/props.js";
7
+ import { SlotNode } from "./slot.js";
6
8
  import { WidgetNode } from "./widget.js";
7
9
 
8
10
  const OWN_PROPS = ["markedDays"] as const;
9
11
 
10
12
  type CalendarProps = Pick<GtkCalendarProps, (typeof OWN_PROPS)[number]>;
11
13
 
12
- export class CalendarNode extends WidgetNode<Gtk.Calendar, CalendarProps, EventControllerNode> {
14
+ type CalendarChild = EventControllerNode | SlotNode | ContainerSlotNode;
15
+
16
+ export class CalendarNode extends WidgetNode<Gtk.Calendar, CalendarProps, CalendarChild> {
13
17
  public override isValidChild(child: Node): boolean {
14
- return child instanceof EventControllerNode;
18
+ return child instanceof EventControllerNode || child instanceof SlotNode || child instanceof ContainerSlotNode;
15
19
  }
16
20
  private appliedMarks: number[] = [];
17
21
 
@@ -3,22 +3,31 @@ import type { GtkColumnViewProps } from "../jsx.js";
3
3
  import type { Node } from "../node.js";
4
4
  import type { Container } from "../types.js";
5
5
  import { ColumnViewColumnNode } from "./column-view-column.js";
6
+ import { ContainerSlotNode } from "./container-slot.js";
7
+ import { EventControllerNode } from "./event-controller.js";
6
8
  import { filterProps, hasChanged } from "./internal/props.js";
7
9
  import { ListItemNode } from "./list-item.js";
8
10
  import { ListModel, type ListModelProps } from "./models/list.js";
11
+ import { SlotNode } from "./slot.js";
9
12
  import { WidgetNode } from "./widget.js";
10
13
 
11
14
  const OWN_PROPS = ["sortColumn", "sortOrder", "onSortChanged", "estimatedRowHeight"] as const;
12
15
 
13
16
  type ColumnViewProps = Pick<GtkColumnViewProps, (typeof OWN_PROPS)[number]> & ListModelProps;
14
- type ColumnViewChild = ListItemNode | ColumnViewColumnNode;
17
+ type ColumnViewChild = ListItemNode | ColumnViewColumnNode | EventControllerNode | SlotNode | ContainerSlotNode;
15
18
 
16
19
  export class ColumnViewNode extends WidgetNode<Gtk.ColumnView, ColumnViewProps, ColumnViewChild> {
17
20
  private handleSortChange: (() => void) | null = null;
18
21
  private list: ListModel;
19
22
 
20
23
  public override isValidChild(child: Node): boolean {
21
- return child instanceof ListItemNode || child instanceof ColumnViewColumnNode;
24
+ return (
25
+ child instanceof ListItemNode ||
26
+ child instanceof ColumnViewColumnNode ||
27
+ child instanceof EventControllerNode ||
28
+ child instanceof SlotNode ||
29
+ child instanceof ContainerSlotNode
30
+ );
22
31
  }
23
32
  private columnNodes = new Set<ColumnViewColumnNode>();
24
33
  private estimatedRowHeight: number | null = null;
@@ -43,6 +52,8 @@ export class ColumnViewNode extends WidgetNode<Gtk.ColumnView, ColumnViewProps,
43
52
  return;
44
53
  }
45
54
 
55
+ if (!(child instanceof ColumnViewColumnNode)) return;
56
+
46
57
  const existingColumn = this.findColumnInView(child.getColumn());
47
58
 
48
59
  if (existingColumn) {
@@ -65,6 +76,8 @@ export class ColumnViewNode extends WidgetNode<Gtk.ColumnView, ColumnViewProps,
65
76
  return;
66
77
  }
67
78
 
79
+ if (!(child instanceof ColumnViewColumnNode)) return;
80
+
68
81
  const existingColumn = this.findColumnInView(child.getColumn());
69
82
 
70
83
  if (existingColumn) {
@@ -91,14 +104,17 @@ export class ColumnViewNode extends WidgetNode<Gtk.ColumnView, ColumnViewProps,
91
104
  return;
92
105
  }
93
106
 
94
- const existingColumn = this.findColumnInView(child.getColumn());
107
+ if (child instanceof ColumnViewColumnNode) {
108
+ const existingColumn = this.findColumnInView(child.getColumn());
95
109
 
96
- if (existingColumn) {
97
- this.container.removeColumn(existingColumn);
110
+ if (existingColumn) {
111
+ this.container.removeColumn(existingColumn);
112
+ }
113
+
114
+ child.setStore(null);
115
+ this.columnNodes.delete(child);
98
116
  }
99
117
 
100
- child.setStore(null);
101
- this.columnNodes.delete(child);
102
118
  super.removeChild(child);
103
119
  }
104
120
 
@@ -1,8 +1,10 @@
1
1
  import type * as Gtk from "@gtkx/ffi/gtk";
2
2
  import type { GtkDrawingAreaProps } from "../jsx.js";
3
3
  import type { Node } from "../node.js";
4
+ import { ContainerSlotNode } from "./container-slot.js";
4
5
  import { EventControllerNode } from "./event-controller.js";
5
6
  import { filterProps, hasChanged } from "./internal/props.js";
7
+ import { SlotNode } from "./slot.js";
6
8
  import { WidgetNode } from "./widget.js";
7
9
 
8
10
  const OWN_PROPS = ["onDraw"] as const;
@@ -29,9 +31,11 @@ function flushPendingDrawFuncs(): void {
29
31
  }
30
32
  }
31
33
 
32
- export class DrawingAreaNode extends WidgetNode<Gtk.DrawingArea, DrawingAreaProps, EventControllerNode> {
34
+ type DrawingAreaChild = EventControllerNode | SlotNode | ContainerSlotNode;
35
+
36
+ export class DrawingAreaNode extends WidgetNode<Gtk.DrawingArea, DrawingAreaProps, DrawingAreaChild> {
33
37
  public override isValidChild(child: Node): boolean {
34
- return child instanceof EventControllerNode;
38
+ return child instanceof EventControllerNode || child instanceof SlotNode || child instanceof ContainerSlotNode;
35
39
  }
36
40
 
37
41
  public override commitUpdate(oldProps: DrawingAreaProps | null, newProps: DrawingAreaProps): void {