@gtkx/react 0.14.0 → 0.15.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 (52) hide show
  1. package/README.md +27 -27
  2. package/dist/generated/jsx.d.ts +235 -228
  3. package/dist/host-config.js +2 -2
  4. package/dist/jsx.d.ts +111 -2
  5. package/dist/jsx.js +79 -0
  6. package/dist/nodes/adjustment.d.ts +48 -0
  7. package/dist/nodes/adjustment.js +70 -0
  8. package/dist/nodes/calendar.js +3 -16
  9. package/dist/nodes/column-view-column.d.ts +1 -0
  10. package/dist/nodes/column-view-column.js +4 -0
  11. package/dist/nodes/column-view.js +6 -6
  12. package/dist/nodes/drawing-area.d.ts +1 -0
  13. package/dist/nodes/drawing-area.js +19 -0
  14. package/dist/nodes/expander-row.js +1 -0
  15. package/dist/nodes/index.d.ts +8 -0
  16. package/dist/nodes/index.js +8 -0
  17. package/dist/nodes/internal/constants.js +3 -0
  18. package/dist/nodes/internal/list-item-renderer.d.ts +1 -0
  19. package/dist/nodes/internal/list-item-renderer.js +5 -0
  20. package/dist/nodes/internal/predicates.d.ts +4 -0
  21. package/dist/nodes/internal/predicates.js +3 -0
  22. package/dist/nodes/internal/signal-store.d.ts +1 -0
  23. package/dist/nodes/internal/signal-store.js +7 -0
  24. package/dist/nodes/internal/tree-list-item-renderer.d.ts +1 -0
  25. package/dist/nodes/internal/tree-list-item-renderer.js +8 -0
  26. package/dist/nodes/level-bar.js +3 -16
  27. package/dist/nodes/list-view.js +6 -2
  28. package/dist/nodes/navigation-page.js +32 -23
  29. package/dist/nodes/notebook-page-tab.d.ts +1 -0
  30. package/dist/nodes/notebook-page-tab.js +15 -9
  31. package/dist/nodes/notebook-page.js +9 -6
  32. package/dist/nodes/scale.js +3 -16
  33. package/dist/nodes/scrolled-window.js +3 -2
  34. package/dist/nodes/shortcut-controller.d.ts +37 -0
  35. package/dist/nodes/shortcut-controller.js +74 -0
  36. package/dist/nodes/shortcut.d.ts +38 -0
  37. package/dist/nodes/shortcut.js +46 -0
  38. package/dist/nodes/source-buffer.d.ts +73 -0
  39. package/dist/nodes/source-buffer.js +149 -0
  40. package/dist/nodes/source-view.d.ts +1 -0
  41. package/dist/nodes/source-view.js +42 -0
  42. package/dist/nodes/stack-page.js +15 -9
  43. package/dist/nodes/text-buffer.d.ts +43 -0
  44. package/dist/nodes/text-buffer.js +81 -0
  45. package/dist/nodes/text-view.d.ts +1 -0
  46. package/dist/nodes/text-view.js +45 -0
  47. package/dist/nodes/tree-list-view.js +6 -2
  48. package/dist/nodes/widget.d.ts +4 -0
  49. package/dist/nodes/widget.js +85 -10
  50. package/dist/nodes/window.js +7 -5
  51. package/dist/types.d.ts +26 -0
  52. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode, Ref } from "react";
2
- import type { EventControllerProps, DragSourceProps, DropTargetProps } from "../types.js";
2
+ import type { EventControllerProps, DragSourceProps, DropTargetProps, GestureDragProps } from "../types.js";
3
3
  import type * as Adw from "@gtkx/ffi/adw";
4
4
  import type * as GLib from "@gtkx/ffi/glib";
5
5
  import type * as GObject from "@gtkx/ffi/gobject";
@@ -14,7 +14,7 @@ import type * as WebKit from "@gtkx/ffi/webkit";
14
14
  import type * as cairo from "@gtkx/ffi/cairo";
15
15
  /** Property names that can be passed to the onNotify callback for Widget. */
16
16
  export type WidgetNotifyProps = "accessible-role" | "can-focus" | "can-target" | "css-classes" | "css-name" | "cursor" | "focus-on-click" | "focusable" | "halign" | "has-tooltip" | "height-request" | "hexpand" | "hexpand-set" | "layout-manager" | "limit-events" | "margin-bottom" | "margin-end" | "margin-start" | "margin-top" | "name" | "opacity" | "overflow" | "receives-default" | "sensitive" | "tooltip-markup" | "tooltip-text" | "valign" | "vexpand" | "vexpand-set" | "visible" | "width-request";
17
- export type WidgetProps = EventControllerProps & DragSourceProps & DropTargetProps & {
17
+ export type WidgetProps = EventControllerProps & DragSourceProps & DropTargetProps & GestureDragProps & {
18
18
  /**
19
19
  * Whether the widget or any of its descendents can accept
20
20
  * the input focus.
@@ -28,7 +28,7 @@ export type WidgetProps = EventControllerProps & DragSourceProps & DropTargetPro
28
28
  /** A list of css classes applied to this widget. */
29
29
  cssClasses?: string[];
30
30
  /** The cursor used by `widget`. */
31
- cursor?: Gdk.Cursor;
31
+ cursor?: Gdk.Cursor | null;
32
32
  /**
33
33
  * Whether the widget should grab focus when it is clicked with the mouse.
34
34
  *
@@ -65,7 +65,7 @@ export type WidgetProps = EventControllerProps & DragSourceProps & DropTargetPro
65
65
  * This property is meant to be set by widget implementations,
66
66
  * typically in their instance init function.
67
67
  */
68
- layoutManager?: Gtk.LayoutManager;
68
+ layoutManager?: Gtk.LayoutManager | null;
69
69
  /**
70
70
  * Makes this widget act like a modal dialog, with respect to
71
71
  * event delivery.
@@ -143,7 +143,7 @@ export type WidgetProps = EventControllerProps & DragSourceProps & DropTargetPro
143
143
  * Note that if both {@link Widget.tooltip-text} and
144
144
  * {@link Widget.tooltip-markup} are set, the last one wins.
145
145
  */
146
- tooltipMarkup?: string;
146
+ tooltipMarkup?: string | null;
147
147
  /**
148
148
  * Sets the text of tooltip to be the given string.
149
149
  *
@@ -158,7 +158,7 @@ export type WidgetProps = EventControllerProps & DragSourceProps & DropTargetPro
158
158
  * Note that if both {@link Widget.tooltip-text} and
159
159
  * {@link Widget.tooltip-markup} are set, the last one wins.
160
160
  */
161
- tooltipText?: string;
161
+ tooltipText?: string | null;
162
162
  /** How to distribute vertical space if widget gets extra space. */
163
163
  valign?: Gtk.Align;
164
164
  /** Whether to expand vertically. */
@@ -274,6 +274,8 @@ export type WidgetProps = EventControllerProps & DragSourceProps & DropTargetPro
274
274
  * or the widget has been unmapped (that is, it is going to be hidden).
275
275
  */
276
276
  onUnrealize?: (self: Gtk.Widget) => void | null;
277
+ /** When set to true, the widget will grab focus. Useful for focusing a widget when a condition becomes true. */
278
+ grabFocus?: boolean;
277
279
  };
278
280
  /** Props for the {@link AdwWindow} widget. */
279
281
  export type AdwWindowProps = Omit<GtkWindowProps, "onNotify"> & {
@@ -294,7 +296,7 @@ export type AdwWindowProps = Omit<GtkWindowProps, "onNotify"> & {
294
296
  *
295
297
  * This property should always be used instead of {@link Window.child}.
296
298
  */
297
- content?: Gtk.Widget;
299
+ content?: Gtk.Widget | null;
298
300
  /** Called when the window close button is clicked. Control window visibility using React state. */
299
301
  onClose?: (() => void) | null;
300
302
  children?: ReactNode;
@@ -319,15 +321,15 @@ export type GtkWindowProps = WidgetProps & {
319
321
  * will remain until the window is destroyed, but you can explicitly
320
322
  * remove it by setting the this property to `NULL`.
321
323
  */
322
- application?: Gtk.Application;
324
+ application?: Gtk.Application | null;
323
325
  /** The child widget. */
324
- child?: Gtk.Widget;
326
+ child?: Gtk.Widget | null;
325
327
  /** Whether the window should have a frame (also known as *decorations*). */
326
328
  decorated?: boolean;
327
329
  /** The default height of the window. */
328
330
  defaultHeight?: number;
329
331
  /** The default widget. */
330
- defaultWidget?: Gtk.Widget;
332
+ defaultWidget?: Gtk.Widget | null;
331
333
  /** The default width of the window. */
332
334
  defaultWidth?: number;
333
335
  /** Whether the window frame should have a close button. */
@@ -344,7 +346,7 @@ export type GtkWindowProps = WidgetProps & {
344
346
  */
345
347
  focusVisible?: boolean;
346
348
  /** The focus widget. */
347
- focusWidget?: Gtk.Widget;
349
+ focusWidget?: Gtk.Widget | null;
348
350
  /**
349
351
  * Whether the window is fullscreen.
350
352
  *
@@ -379,7 +381,7 @@ export type GtkWindowProps = WidgetProps & {
379
381
  *
380
382
  * See {@link IconTheme} for more details.
381
383
  */
382
- iconName?: string;
384
+ iconName?: string | null;
383
385
  /**
384
386
  * Whether the window is maximized.
385
387
  *
@@ -404,11 +406,11 @@ export type GtkWindowProps = WidgetProps & {
404
406
  /** A write-only property for setting window's startup notification identifier. */
405
407
  startupId?: string;
406
408
  /** The title of the window. */
407
- title?: string;
409
+ title?: string | null;
408
410
  /** The titlebar widget. */
409
- titlebar?: Gtk.Widget;
411
+ titlebar?: Gtk.Widget | null;
410
412
  /** The transient parent of the window. */
411
- transientFor?: Gtk.Window;
413
+ transientFor?: Gtk.Window | null;
412
414
  /**
413
415
  * Emitted when the user activates the default widget.
414
416
  *
@@ -487,7 +489,7 @@ export type AdwAboutDialogProps = Omit<AdwDialogProps, "onNotify"> & {
487
489
  * * {@link AboutDialogadd_credit_section}
488
490
  * * {@link AboutDialogadd_acknowledgement_section}
489
491
  */
490
- artists?: string[];
492
+ artists?: string[] | null;
491
493
  /**
492
494
  * The comments about the application.
493
495
  *
@@ -550,7 +552,7 @@ export type AdwAboutDialogProps = Omit<AdwDialogProps, "onNotify"> & {
550
552
  * * {@link AboutDialogadd_credit_section}
551
553
  * * {@link AboutDialogadd_acknowledgement_section}
552
554
  */
553
- designers?: string[];
555
+ designers?: string[] | null;
554
556
  /**
555
557
  * The developer name.
556
558
  *
@@ -581,7 +583,7 @@ export type AdwAboutDialogProps = Omit<AdwDialogProps, "onNotify"> & {
581
583
  * * {@link AboutDialogadd_credit_section}
582
584
  * * {@link AboutDialogadd_acknowledgement_section}
583
585
  */
584
- developers?: string[];
586
+ developers?: string[] | null;
585
587
  /**
586
588
  * The list of documenters of the application.
587
589
  *
@@ -599,7 +601,7 @@ export type AdwAboutDialogProps = Omit<AdwDialogProps, "onNotify"> & {
599
601
  * * {@link AboutDialogadd_credit_section}
600
602
  * * {@link AboutDialogadd_acknowledgement_section}
601
603
  */
602
- documenters?: string[];
604
+ documenters?: string[] | null;
603
605
  /**
604
606
  * The URL for the application's issue tracker.
605
607
  *
@@ -771,9 +773,9 @@ export type GtkAboutDialogProps = Omit<GtkWindowProps, "onNotify"> & {
771
773
  * should be a short explanation of the main purpose of the program,
772
774
  * not a detailed list of features.
773
775
  */
774
- comments?: string;
776
+ comments?: string | null;
775
777
  /** Copyright information for the program. */
776
- copyright?: string;
778
+ copyright?: string | null;
777
779
  /**
778
780
  * The people documenting the program.
779
781
  *
@@ -797,7 +799,7 @@ export type GtkAboutDialogProps = Omit<GtkWindowProps, "onNotify"> & {
797
799
  * and email references in the form `<mail-to`some`.body>`, and these will
798
800
  * be converted into clickable links.
799
801
  */
800
- license?: string;
802
+ license?: string | null;
801
803
  /**
802
804
  * The license of the program.
803
805
  *
@@ -822,20 +824,20 @@ export type GtkAboutDialogProps = Omit<GtkWindowProps, "onNotify"> & {
822
824
  * If it is `NULL`, the default window icon set with
823
825
  * {@link Window.set_default_icon_name} will be used.
824
826
  */
825
- logo?: Gdk.Paintable;
827
+ logo?: Gdk.Paintable | null;
826
828
  /**
827
829
  * A named icon to use as the logo for the about box.
828
830
  *
829
831
  * This property overrides the {@link AboutDialog.logo} property.
830
832
  */
831
- logoIconName?: string;
833
+ logoIconName?: string | null;
832
834
  /**
833
835
  * The name of the program.
834
836
  *
835
837
  * If this is not set, it defaults to the value returned by
836
838
  * {@link GLibget_application_name}.
837
839
  */
838
- programName?: string;
840
+ programName?: string | null;
839
841
  /**
840
842
  * Information about the system on which the program is running.
841
843
  *
@@ -847,7 +849,7 @@ export type GtkAboutDialogProps = Omit<GtkWindowProps, "onNotify"> & {
847
849
  * and email references in the form `<mail-to`some`.body>`, and these will
848
850
  * be converted into clickable links.
849
851
  */
850
- systemInformation?: string;
852
+ systemInformation?: string | null;
851
853
  /**
852
854
  * Credits to the translators.
853
855
  *
@@ -856,17 +858,17 @@ export type GtkAboutDialogProps = Omit<GtkWindowProps, "onNotify"> & {
856
858
  * The string may contain email addresses and URLs, which will be displayed
857
859
  * as links, see the introduction for more details.
858
860
  */
859
- translatorCredits?: string;
861
+ translatorCredits?: string | null;
860
862
  /** The version of the program. */
861
- version?: string;
863
+ version?: string | null;
862
864
  /**
863
865
  * The URL for the link to the website of the program.
864
866
  *
865
867
  * This should be a string starting with `http://` or `https://`.
866
868
  */
867
- website?: string;
869
+ website?: string | null;
868
870
  /** The label for the link to the website of the program. */
869
- websiteLabel?: string;
871
+ websiteLabel?: string | null;
870
872
  /** Whether to wrap the text in the license dialog. */
871
873
  wrapLicense?: boolean;
872
874
  /**
@@ -916,7 +918,7 @@ export type AdwAboutWindowProps = Omit<AdwWindowProps, "onNotify"> & {
916
918
  * * {@link AboutWindowadd_credit_section}
917
919
  * * {@link AboutWindowadd_acknowledgement_section}
918
920
  */
919
- artists?: string[];
921
+ artists?: string[] | null;
920
922
  /**
921
923
  * The comments about the application.
922
924
  *
@@ -979,7 +981,7 @@ export type AdwAboutWindowProps = Omit<AdwWindowProps, "onNotify"> & {
979
981
  * * {@link AboutWindowadd_credit_section}
980
982
  * * {@link AboutWindowadd_acknowledgement_section}
981
983
  */
982
- designers?: string[];
984
+ designers?: string[] | null;
983
985
  /**
984
986
  * The developer name.
985
987
  *
@@ -1010,7 +1012,7 @@ export type AdwAboutWindowProps = Omit<AdwWindowProps, "onNotify"> & {
1010
1012
  * * {@link AboutWindowadd_credit_section}
1011
1013
  * * {@link AboutWindowadd_acknowledgement_section}
1012
1014
  */
1013
- developers?: string[];
1015
+ developers?: string[] | null;
1014
1016
  /**
1015
1017
  * The list of documenters of the application.
1016
1018
  *
@@ -1028,7 +1030,7 @@ export type AdwAboutWindowProps = Omit<AdwWindowProps, "onNotify"> & {
1028
1030
  * * {@link AboutWindowadd_credit_section}
1029
1031
  * * {@link AboutWindowadd_acknowledgement_section}
1030
1032
  */
1031
- documenters?: string[];
1033
+ documenters?: string[] | null;
1032
1034
  /**
1033
1035
  * The URL for the application's issue tracker.
1034
1036
  *
@@ -1203,16 +1205,16 @@ export type AdwActionRowProps = Omit<AdwPreferencesRowProps, "onNotify"> & {
1203
1205
  * The target widget will be activated by emitting the
1204
1206
  * {@link Widget.:mnemonic-activate} signal on it.
1205
1207
  */
1206
- activatableWidget?: Gtk.Widget;
1208
+ activatableWidget?: Gtk.Widget | null;
1207
1209
  /** The icon name for this row. */
1208
- iconName?: string;
1210
+ iconName?: string | null;
1209
1211
  /**
1210
1212
  * The subtitle for this row.
1211
1213
  *
1212
1214
  * The subtitle is interpreted as Pango markup unless
1213
1215
  * {@link AdwPreferencesRow.use-markup} is set to `FALSE`.
1214
1216
  */
1215
- subtitle?: string;
1217
+ subtitle?: string | null;
1216
1218
  /**
1217
1219
  * The number of lines at the end of which the subtitle label will be
1218
1220
  * ellipsized.
@@ -1275,15 +1277,15 @@ export type AdwAlertDialogProps = Omit<AdwDialogProps, "onNotify"> & {
1275
1277
  *
1276
1278
  * See {@link AdwDialog.default-widget}.
1277
1279
  */
1278
- defaultResponse?: string;
1280
+ defaultResponse?: string | null;
1279
1281
  /**
1280
1282
  * The child widget.
1281
1283
  *
1282
1284
  * Displayed below the heading and body.
1283
1285
  */
1284
- extraChild?: Gtk.Widget;
1286
+ extraChild?: Gtk.Widget | null;
1285
1287
  /** The heading of the dialog. */
1286
- heading?: string;
1288
+ heading?: string | null;
1287
1289
  /**
1288
1290
  * Whether the heading includes Pango markup.
1289
1291
  *
@@ -1325,7 +1327,7 @@ export type GtkAppChooserButtonProps = WidgetProps & {
1325
1327
  *
1326
1328
  * The string may contain Pango markup.
1327
1329
  */
1328
- heading?: string;
1330
+ heading?: string | null;
1329
1331
  /** Whether the app chooser dialog should be modal. */
1330
1332
  modal?: boolean;
1331
1333
  /**
@@ -1369,7 +1371,7 @@ export type GtkAppChooserDialogProps = Omit<GtkDialogProps, "onNotify"> & {
1369
1371
  *
1370
1372
  * The string may contain Pango markup.
1371
1373
  */
1372
- heading?: string;
1374
+ heading?: string | null;
1373
1375
  children?: ReactNode;
1374
1376
  /**
1375
1377
  * Called when any property on this widget changes.
@@ -1385,7 +1387,7 @@ export type GtkAppChooserWidgetProps = WidgetProps & {
1385
1387
  * The text that appears in the widget when there are no applications
1386
1388
  * for the given content type.
1387
1389
  */
1388
- defaultText?: string;
1390
+ defaultText?: string | null;
1389
1391
  /**
1390
1392
  * If %TRUE, the app chooser presents all applications
1391
1393
  * in a single list, without subsections for default,
@@ -1458,7 +1460,7 @@ export type AdwApplicationWindowProps = Omit<GtkApplicationWindowProps, "onNotif
1458
1460
  *
1459
1461
  * This property should always be used instead of {@link Window.child}.
1460
1462
  */
1461
- content?: Gtk.Widget;
1463
+ content?: Gtk.Widget | null;
1462
1464
  children?: ReactNode;
1463
1465
  /**
1464
1466
  * Called when any property on this widget changes.
@@ -1510,7 +1512,7 @@ export type GtkApplicationWindowProps = Omit<GtkWindowProps, "onNotify"> & {
1510
1512
  /** Props for the {@link GtkAspectFrame} widget. */
1511
1513
  export type GtkAspectFrameProps = WidgetProps & {
1512
1514
  /** The child widget. */
1513
- child?: Gtk.Widget;
1515
+ child?: Gtk.Widget | null;
1514
1516
  /** Whether the `GtkAspectFrame` should use the aspect ratio of its child. */
1515
1517
  obeyChild?: boolean;
1516
1518
  /**
@@ -1583,13 +1585,13 @@ export type AdwAvatarProps = WidgetProps & {
1583
1585
  *
1584
1586
  * Custom image is displayed instead of initials or icon.
1585
1587
  */
1586
- customImage?: Gdk.Paintable;
1588
+ customImage?: Gdk.Paintable | null;
1587
1589
  /**
1588
1590
  * The name of an icon to use as a fallback.
1589
1591
  *
1590
1592
  * If no name is set, `avatar-default-symbolic` will be used.
1591
1593
  */
1592
- iconName?: string;
1594
+ iconName?: string | null;
1593
1595
  /**
1594
1596
  * Whether initials are used instead of an icon on the fallback avatar.
1595
1597
  *
@@ -1604,7 +1606,7 @@ export type AdwAvatarProps = WidgetProps & {
1604
1606
  * It's only used to generate the color if {@link AdwAvatar.show-initials} is
1605
1607
  * `FALSE`.
1606
1608
  */
1607
- text?: string;
1609
+ text?: string | null;
1608
1610
  /**
1609
1611
  * Called when any property on this widget changes.
1610
1612
  * @param self - The widget that emitted the notification
@@ -1623,7 +1625,7 @@ export type AdwBannerProps = WidgetProps & {
1623
1625
  * The button can be used with a `GAction`, or with the
1624
1626
  * {@link AdwBanner.:button-clicked} signal.
1625
1627
  */
1626
- buttonLabel?: string;
1628
+ buttonLabel?: string | null;
1627
1629
  /**
1628
1630
  * The style class to use for the banner button.
1629
1631
  *
@@ -1668,7 +1670,7 @@ export type AdwBannerProps = WidgetProps & {
1668
1670
  /** Props for the {@link AdwBin} widget. */
1669
1671
  export type AdwBinProps = WidgetProps & {
1670
1672
  /** The child widget of the `AdwBin`. */
1671
- child?: Gtk.Widget;
1673
+ child?: Gtk.Widget | null;
1672
1674
  children?: ReactNode;
1673
1675
  /**
1674
1676
  * Called when any property on this widget changes.
@@ -1698,7 +1700,7 @@ export type AdwBottomSheetProps = WidgetProps & {
1698
1700
  * Bottom bar can be temporarily hidden using the
1699
1701
  * {@link AdwBottomSheet.reveal-bottom-bar} property.
1700
1702
  */
1701
- bottomBar?: Gtk.Widget;
1703
+ bottomBar?: Gtk.Widget | null;
1702
1704
  /**
1703
1705
  * Whether the bottom sheet can be closed by user.
1704
1706
  *
@@ -1723,7 +1725,7 @@ export type AdwBottomSheetProps = WidgetProps & {
1723
1725
  *
1724
1726
  * It's always shown, and the bottom sheet is overlaid over it.
1725
1727
  */
1726
- content?: Gtk.Widget;
1728
+ content?: Gtk.Widget | null;
1727
1729
  /**
1728
1730
  * Whether the bottom sheet takes the full width.
1729
1731
  *
@@ -1756,7 +1758,7 @@ export type AdwBottomSheetProps = WidgetProps & {
1756
1758
  *
1757
1759
  * Only shown when {@link AdwBottomSheet.open} is `TRUE`.
1758
1760
  */
1759
- sheet?: Gtk.Widget;
1761
+ sheet?: Gtk.Widget | null;
1760
1762
  /**
1761
1763
  * Whether to overlay a drag handle in the bottom sheet.
1762
1764
  *
@@ -1811,7 +1813,7 @@ export type GtkBoxProps = WidgetProps & {
1811
1813
  /** Props for the {@link AdwBreakpointBin} widget. */
1812
1814
  export type AdwBreakpointBinProps = WidgetProps & {
1813
1815
  /** The child widget. */
1814
- child?: Gtk.Widget;
1816
+ child?: Gtk.Widget | null;
1815
1817
  children?: ReactNode;
1816
1818
  /**
1817
1819
  * Called when any property on this widget changes.
@@ -1834,13 +1836,13 @@ export type GtkButtonProps = WidgetProps & {
1834
1836
  */
1835
1837
  canShrink?: boolean;
1836
1838
  /** The child widget. */
1837
- child?: Gtk.Widget;
1839
+ child?: Gtk.Widget | null;
1838
1840
  /** Whether the button has a frame. */
1839
1841
  hasFrame?: boolean;
1840
1842
  /** The name of the icon used to automatically populate the button. */
1841
- iconName?: string;
1843
+ iconName?: string | null;
1842
1844
  /** Text of the label inside the button, if the button contains a label widget. */
1843
- label?: string;
1845
+ label?: string | null;
1844
1846
  /**
1845
1847
  * If set, an underline in the text indicates that the following character is
1846
1848
  * to be used as mnemonic.
@@ -1908,9 +1910,9 @@ export type AdwButtonContentProps = WidgetProps & {
1908
1910
  /** Props for the {@link AdwButtonRow} widget. */
1909
1911
  export type AdwButtonRowProps = Omit<AdwPreferencesRowProps, "onNotify"> & {
1910
1912
  /** The icon name to show after the title. */
1911
- endIconName?: string;
1913
+ endIconName?: string | null;
1912
1914
  /** The icon name to show before the title. */
1913
- startIconName?: string;
1915
+ startIconName?: string | null;
1914
1916
  /** This signal is emitted after the row has been activated. */
1915
1917
  onActivated?: (self: Adw.ButtonRow) => void | null;
1916
1918
  children?: ReactNode;
@@ -2038,7 +2040,7 @@ export type AdwCarouselProps = WidgetProps & {
2038
2040
  /** Props for the {@link AdwCarouselIndicatorDots} widget. */
2039
2041
  export type AdwCarouselIndicatorDotsProps = WidgetProps & {
2040
2042
  /** The displayed carousel. */
2041
- carousel?: Adw.Carousel;
2043
+ carousel?: Adw.Carousel | null;
2042
2044
  /** The orientation of the orientable. */
2043
2045
  orientation?: Gtk.Orientation;
2044
2046
  children?: ReactNode;
@@ -2053,7 +2055,7 @@ export type AdwCarouselIndicatorDotsProps = WidgetProps & {
2053
2055
  /** Props for the {@link AdwCarouselIndicatorLines} widget. */
2054
2056
  export type AdwCarouselIndicatorLinesProps = WidgetProps & {
2055
2057
  /** The displayed carousel. */
2056
- carousel?: Adw.Carousel;
2058
+ carousel?: Adw.Carousel | null;
2057
2059
  /** The orientation of the orientable. */
2058
2060
  orientation?: Gtk.Orientation;
2059
2061
  children?: ReactNode;
@@ -2089,7 +2091,7 @@ export type GtkCellViewProps = WidgetProps & {
2089
2091
  *
2090
2092
  * since 2.10
2091
2093
  */
2092
- model?: Gtk.TreeModel;
2094
+ model?: Gtk.TreeModel | null;
2093
2095
  /** The orientation of the orientable. */
2094
2096
  orientation?: Gtk.Orientation;
2095
2097
  /**
@@ -2105,7 +2107,7 @@ export type GtkCenterBoxProps = WidgetProps & {
2105
2107
  /** The position of the baseline aligned widget if extra space is available. */
2106
2108
  baselinePosition?: Gtk.BaselinePosition;
2107
2109
  /** The widget that is placed at the center position. */
2108
- centerWidget?: Gtk.Widget;
2110
+ centerWidget?: Gtk.Widget | null;
2109
2111
  /**
2110
2112
  * The widget that is placed at the end position.
2111
2113
  *
@@ -2113,7 +2115,7 @@ export type GtkCenterBoxProps = WidgetProps & {
2113
2115
  * In horizontal orientation, the end position is at the trailing
2114
2116
  * edge with respect to the text direction.
2115
2117
  */
2116
- endWidget?: Gtk.Widget;
2118
+ endWidget?: Gtk.Widget | null;
2117
2119
  /**
2118
2120
  * Whether to shrink the center widget after other children.
2119
2121
  *
@@ -2132,7 +2134,7 @@ export type GtkCenterBoxProps = WidgetProps & {
2132
2134
  * In horizontal orientation, the start position is at the leading
2133
2135
  * edge with respect to the text direction.
2134
2136
  */
2135
- startWidget?: Gtk.Widget;
2137
+ startWidget?: Gtk.Widget | null;
2136
2138
  /** The orientation of the orientable. */
2137
2139
  orientation?: Gtk.Orientation;
2138
2140
  children?: ReactNode;
@@ -2154,7 +2156,7 @@ export type GtkCheckButtonProps = WidgetProps & {
2154
2156
  */
2155
2157
  active?: boolean;
2156
2158
  /** The child widget. */
2157
- child?: Gtk.Widget;
2159
+ child?: Gtk.Widget | null;
2158
2160
  /** The check button whose group this widget belongs to. */
2159
2161
  group?: Gtk.CheckButton;
2160
2162
  /**
@@ -2165,7 +2167,7 @@ export type GtkCheckButtonProps = WidgetProps & {
2165
2167
  */
2166
2168
  inconsistent?: boolean;
2167
2169
  /** Text of the label inside the check button, if it contains a label widget. */
2168
- label?: string;
2170
+ label?: string | null;
2169
2171
  /**
2170
2172
  * If set, an underline in the text indicates that the following
2171
2173
  * character is to be used as mnemonic.
@@ -2205,7 +2207,7 @@ export type GtkCheckButtonProps = WidgetProps & {
2205
2207
  /** Props for the {@link AdwClamp} widget. */
2206
2208
  export type AdwClampProps = WidgetProps & {
2207
2209
  /** The child widget of the `AdwClamp`. */
2208
- child?: Gtk.Widget;
2210
+ child?: Gtk.Widget | null;
2209
2211
  /**
2210
2212
  * The maximum size allocated to the child.
2211
2213
  *
@@ -2249,7 +2251,7 @@ export type AdwClampProps = WidgetProps & {
2249
2251
  /** Props for the {@link AdwClampScrollable} widget. */
2250
2252
  export type AdwClampScrollableProps = WidgetProps & {
2251
2253
  /** The child widget of the `AdwClampScrollable`. */
2252
- child?: Gtk.Widget;
2254
+ child?: Gtk.Widget | null;
2253
2255
  /**
2254
2256
  * The maximum size allocated to the child.
2255
2257
  *
@@ -2463,7 +2465,7 @@ export type GtkColorDialogButtonProps = WidgetProps & {
2463
2465
  * The `GtkColorDialog` that contains parameters for
2464
2466
  * the color chooser dialog.
2465
2467
  */
2466
- dialog?: Gtk.ColorDialog;
2468
+ dialog?: Gtk.ColorDialog | null;
2467
2469
  /**
2468
2470
  * The selected color.
2469
2471
  *
@@ -2499,7 +2501,7 @@ export type GtkColumnViewProps = WidgetProps & {
2499
2501
  *
2500
2502
  * The factory must be for configuring {@link ListHeader} objects.
2501
2503
  */
2502
- headerFactory?: Gtk.ListItemFactory;
2504
+ headerFactory?: Gtk.ListItemFactory | null;
2503
2505
  /** Whether columns are reorderable. */
2504
2506
  reorderable?: boolean;
2505
2507
  /**
@@ -2507,7 +2509,7 @@ export type GtkColumnViewProps = WidgetProps & {
2507
2509
  *
2508
2510
  * The factory must be for configuring {@link ColumnViewRow} objects.
2509
2511
  */
2510
- rowFactory?: Gtk.ListItemFactory;
2512
+ rowFactory?: Gtk.ListItemFactory | null;
2511
2513
  /** Show separators between columns. */
2512
2514
  showColumnSeparators?: boolean;
2513
2515
  /** Show separators between rows. */
@@ -2552,7 +2554,7 @@ export type GtkColumnViewProps = WidgetProps & {
2552
2554
  /** The current sort direction */
2553
2555
  sortOrder?: import("@gtkx/ffi/gtk").SortType | null;
2554
2556
  /** Called when a column header is clicked to change sort */
2555
- onSortChange?: ((column: string | null, order: import("@gtkx/ffi/gtk").SortType) => void) | null;
2557
+ onSortChanged?: ((column: string | null, order: import("@gtkx/ffi/gtk").SortType) => void) | null;
2556
2558
  /** Estimated row height in pixels for proper virtualization before content loads */
2557
2559
  estimatedRowHeight?: number | null;
2558
2560
  children?: ReactNode;
@@ -2576,14 +2578,14 @@ export type GtkComboBoxProps = WidgetProps & {
2576
2578
  */
2577
2579
  active?: number;
2578
2580
  /** The value of the ID column of the active row. */
2579
- activeId?: string;
2581
+ activeId?: string | null;
2580
2582
  /**
2581
2583
  * Whether the dropdown button is sensitive when
2582
2584
  * the model is empty.
2583
2585
  */
2584
2586
  buttonSensitivity?: Gtk.SensitivityType;
2585
2587
  /** The child widget. */
2586
- child?: Gtk.Widget;
2588
+ child?: Gtk.Widget | null;
2587
2589
  /**
2588
2590
  * The model column to associate with strings from the entry.
2589
2591
  *
@@ -2599,7 +2601,7 @@ export type GtkComboBoxProps = WidgetProps & {
2599
2601
  */
2600
2602
  idColumn?: number;
2601
2603
  /** The model from which the combo box takes its values. */
2602
- model?: Gtk.TreeModel;
2604
+ model?: Gtk.TreeModel | null;
2603
2605
  /**
2604
2606
  * Whether the popup's width should be a fixed width matching the
2605
2607
  * allocated width of the combo box.
@@ -2747,22 +2749,22 @@ export type AdwComboRowProps = Omit<AdwActionRowProps, "onNotify"> & {
2747
2749
  * {@link AdwComboRow.factory} is not set, or when
2748
2750
  * {@link AdwComboRow.use-subtitle} is set to `TRUE`.
2749
2751
  */
2750
- expression?: Gtk.Expression;
2752
+ expression?: Gtk.Expression | null;
2751
2753
  /**
2752
2754
  * Factory for populating list items.
2753
2755
  *
2754
2756
  * This factory is always used for the item in the row. It is also used for
2755
2757
  * items in the popup unless {@link AdwComboRow.list-factory} is set.
2756
2758
  */
2757
- factory?: Gtk.ListItemFactory;
2759
+ factory?: Gtk.ListItemFactory | null;
2758
2760
  /** The factory for creating header widgets for the popup. */
2759
- headerFactory?: Gtk.ListItemFactory;
2761
+ headerFactory?: Gtk.ListItemFactory | null;
2760
2762
  /**
2761
2763
  * The factory for populating list items in the popup.
2762
2764
  *
2763
2765
  * If this is not set, {@link AdwComboRow.factory} is used.
2764
2766
  */
2765
- listFactory?: Gtk.ListItemFactory;
2767
+ listFactory?: Gtk.ListItemFactory | null;
2766
2768
  /** The match mode for the search filter. */
2767
2769
  searchMatchMode?: Gtk.StringFilterMatchMode;
2768
2770
  /**
@@ -2802,7 +2804,7 @@ export type GtkSourceCompletionCellProps = WidgetProps & {
2802
2804
  markup?: string;
2803
2805
  paintable?: Gdk.Paintable;
2804
2806
  text?: string;
2805
- widget?: Gtk.Widget;
2807
+ widget?: Gtk.Widget | null;
2806
2808
  children?: ReactNode;
2807
2809
  /**
2808
2810
  * Called when any property on this widget changes.
@@ -2824,7 +2826,7 @@ export type AdwDialogProps = WidgetProps & {
2824
2826
  */
2825
2827
  canClose?: boolean;
2826
2828
  /** The child widget of the `AdwDialog`. */
2827
- child?: Gtk.Widget;
2829
+ child?: Gtk.Widget | null;
2828
2830
  /**
2829
2831
  * The height of the dialog's contents.
2830
2832
  *
@@ -2846,9 +2848,9 @@ export type AdwDialogProps = WidgetProps & {
2846
2848
  *
2847
2849
  * It's activated when the user presses Enter.
2848
2850
  */
2849
- defaultWidget?: Gtk.Widget;
2851
+ defaultWidget?: Gtk.Widget | null;
2850
2852
  /** The focus widget. */
2851
- focusWidget?: Gtk.Widget;
2853
+ focusWidget?: Gtk.Widget | null;
2852
2854
  /**
2853
2855
  * Whether to size content automatically.
2854
2856
  *
@@ -2923,7 +2925,7 @@ export type GtkDialogProps = Omit<GtkWindowProps, "onNotify"> & {
2923
2925
  /** Props for the {@link GtkDragIcon} widget. */
2924
2926
  export type GtkDragIconProps = WidgetProps & {
2925
2927
  /** The widget to display as drag icon. */
2926
- child?: Gtk.Widget;
2928
+ child?: Gtk.Widget | null;
2927
2929
  children?: ReactNode;
2928
2930
  /**
2929
2931
  * Called when any property on this widget changes.
@@ -2947,6 +2949,14 @@ export type GtkDrawingAreaProps = WidgetProps & {
2947
2949
  * like for instance a backing surface.
2948
2950
  */
2949
2951
  onResize?: (self: Gtk.DrawingArea, width: number, height: number) => void | null;
2952
+ /**
2953
+ * Called to draw the contents of the drawing area.
2954
+ * @param self - The drawing area widget
2955
+ * @param cr - The Cairo context to draw with
2956
+ * @param width - The actual width of the drawing area
2957
+ * @param height - The actual height of the drawing area
2958
+ */
2959
+ onDraw?: ((self: import("@gtkx/ffi/gtk").DrawingArea, cr: import("@gtkx/ffi/cairo").Context, width: number, height: number) => void) | null;
2950
2960
  /**
2951
2961
  * Called when any property on this widget changes.
2952
2962
  * @param self - The widget that emitted the notification
@@ -2972,17 +2982,17 @@ export type GtkDropDownProps = WidgetProps & {
2972
2982
  * If {@link DropDown.factory} is not set, the expression is also
2973
2983
  * used to bind strings to labels produced by a default factory.
2974
2984
  */
2975
- expression?: Gtk.Expression;
2985
+ expression?: Gtk.Expression | null;
2976
2986
  /** Factory for populating list items. */
2977
- factory?: Gtk.ListItemFactory;
2987
+ factory?: Gtk.ListItemFactory | null;
2978
2988
  /** The factory for creating header widgets for the popup. */
2979
- headerFactory?: Gtk.ListItemFactory;
2989
+ headerFactory?: Gtk.ListItemFactory | null;
2980
2990
  /**
2981
2991
  * The factory for populating list items in the popup.
2982
2992
  *
2983
2993
  * If this is not set, {@link DropDown.factory} is used.
2984
2994
  */
2985
- listFactory?: Gtk.ListItemFactory;
2995
+ listFactory?: Gtk.ListItemFactory | null;
2986
2996
  /** The match mode for the search filter. */
2987
2997
  searchMatchMode?: Gtk.StringFilterMatchMode;
2988
2998
  /**
@@ -3099,18 +3109,18 @@ export type GtkEntryProps = WidgetProps & {
3099
3109
  * The `PangoAttribute`'s `start_index` and `end_index` must refer to the
3100
3110
  * {@link EntryBuffer} text, i.e. without the preedit string.
3101
3111
  */
3102
- attributes?: Pango.AttrList;
3112
+ attributes?: Pango.AttrList | null;
3103
3113
  /** The buffer object which actually stores the text. */
3104
3114
  buffer?: Gtk.EntryBuffer;
3105
3115
  /** The auxiliary completion object to use with the entry. */
3106
- completion?: Gtk.EntryCompletion;
3116
+ completion?: Gtk.EntryCompletion | null;
3107
3117
  /**
3108
3118
  * Whether to suggest Emoji replacements for :-delimited names
3109
3119
  * like `:heart:`.
3110
3120
  */
3111
3121
  enableEmojiCompletion?: boolean;
3112
3122
  /** A menu model whose contents will be appended to the context menu. */
3113
- extraMenu?: Gio.MenuModel;
3123
+ extraMenu?: Gio.MenuModel | null;
3114
3124
  /** Whether the entry should draw a frame. */
3115
3125
  hasFrame?: boolean;
3116
3126
  /**
@@ -3182,7 +3192,7 @@ export type GtkEntryProps = WidgetProps & {
3182
3192
  * The text that will be displayed in the `GtkEntry` when it is empty
3183
3193
  * and unfocused.
3184
3194
  */
3185
- placeholderText?: string;
3195
+ placeholderText?: string | null;
3186
3196
  /**
3187
3197
  * Whether the primary icon is activatable.
3188
3198
  *
@@ -3278,7 +3288,7 @@ export type GtkEntryProps = WidgetProps & {
3278
3288
  */
3279
3289
  showEmojiIcon?: boolean;
3280
3290
  /** A list of tabstops to apply to the text of the entry. */
3281
- tabs?: Pango.TabArray;
3291
+ tabs?: Pango.TabArray | null;
3282
3292
  /** When %TRUE, pasted multi-line text is truncated to the first line. */
3283
3293
  truncateMultiline?: boolean;
3284
3294
  /**
@@ -3396,7 +3406,7 @@ export type AdwEntryRowProps = Omit<AdwPreferencesRowProps, "onNotify"> & {
3396
3406
  * The {@link PangoAttribute}'s `start_index` and `end_index` must refer to
3397
3407
  * the {@link EntryBuffer} text, i.e. without the preedit string.
3398
3408
  */
3399
- attributes?: Pango.AttrList;
3409
+ attributes?: Pango.AttrList | null;
3400
3410
  /**
3401
3411
  * Whether to suggest emoji replacements on the entry row.
3402
3412
  *
@@ -3499,13 +3509,13 @@ export type AdwEntryRowProps = Omit<AdwPreferencesRowProps, "onNotify"> & {
3499
3509
  /** Props for the {@link GtkExpander} widget. */
3500
3510
  export type GtkExpanderProps = WidgetProps & {
3501
3511
  /** The child widget. */
3502
- child?: Gtk.Widget;
3512
+ child?: Gtk.Widget | null;
3503
3513
  /** Whether the expander has been opened to reveal the child. */
3504
3514
  expanded?: boolean;
3505
3515
  /** The text of the expanders label. */
3506
- label?: string;
3516
+ label?: string | null;
3507
3517
  /** A widget to display instead of the usual expander label. */
3508
- labelWidget?: Gtk.Widget;
3518
+ labelWidget?: Gtk.Widget | null;
3509
3519
  /**
3510
3520
  * When this property is %TRUE, the expander will resize the toplevel
3511
3521
  * widget containing the expander upon expanding and collapsing.
@@ -3533,7 +3543,7 @@ export type AdwExpanderRowProps = Omit<AdwPreferencesRowProps, "onNotify"> & {
3533
3543
  /** Whether the row is expanded. */
3534
3544
  expanded?: boolean;
3535
3545
  /** The icon name for this row. */
3536
- iconName?: string;
3546
+ iconName?: string | null;
3537
3547
  /** Whether the switch enabling the expansion is visible. */
3538
3548
  showEnableSwitch?: boolean;
3539
3549
  /**
@@ -3772,13 +3782,13 @@ export type AdwFlapProps = WidgetProps & {
3772
3782
  *
3773
3783
  * It's always displayed when unfolded, and partially visible when folded.
3774
3784
  */
3775
- content?: Gtk.Widget;
3785
+ content?: Gtk.Widget | null;
3776
3786
  /**
3777
3787
  * The flap widget.
3778
3788
  *
3779
3789
  * It's only visible when {@link AdwFlap.reveal-progress} is greater than 0.
3780
3790
  */
3781
- flap?: Gtk.Widget;
3791
+ flap?: Gtk.Widget | null;
3782
3792
  /**
3783
3793
  * The flap position.
3784
3794
  *
@@ -3836,7 +3846,7 @@ export type AdwFlapProps = WidgetProps & {
3836
3846
  * When exactly it's visible depends on the {@link AdwFlap.transition-type}
3837
3847
  * value.
3838
3848
  */
3839
- separator?: Gtk.Widget;
3849
+ separator?: Gtk.Widget | null;
3840
3850
  /**
3841
3851
  * Whether the flap can be closed with a swipe gesture.
3842
3852
  *
@@ -3980,7 +3990,7 @@ export type GtkFlowBoxProps = WidgetProps & {
3980
3990
  /** Props for the {@link GtkFlowBoxChild} widget. */
3981
3991
  export type GtkFlowBoxChildProps = WidgetProps & {
3982
3992
  /** The child widget. */
3983
- child?: Gtk.Widget;
3993
+ child?: Gtk.Widget | null;
3984
3994
  /**
3985
3995
  * Emitted when the user activates a child widget in a `GtkFlowBox`.
3986
3996
  *
@@ -4125,7 +4135,7 @@ export type GtkFontDialogButtonProps = WidgetProps & {
4125
4135
  * The `GtkFontDialog` that contains parameters for
4126
4136
  * the font chooser dialog.
4127
4137
  */
4128
- dialog?: Gtk.FontDialog;
4138
+ dialog?: Gtk.FontDialog | null;
4129
4139
  /**
4130
4140
  * The selected font.
4131
4141
  *
@@ -4136,7 +4146,7 @@ export type GtkFontDialogButtonProps = WidgetProps & {
4136
4146
  * Listen to `notify::font-desc` to get informed about changes
4137
4147
  * to the buttons font.
4138
4148
  */
4139
- fontDesc?: Pango.FontDescription;
4149
+ fontDesc?: Pango.FontDescription | null;
4140
4150
  /**
4141
4151
  * The selected font features.
4142
4152
  *
@@ -4146,7 +4156,7 @@ export type GtkFontDialogButtonProps = WidgetProps & {
4146
4156
  * Listen to `notify::font-features` to get informed about changes
4147
4157
  * to the buttons font features.
4148
4158
  */
4149
- fontFeatures?: string;
4159
+ fontFeatures?: string | null;
4150
4160
  /**
4151
4161
  * The selected language for font features.
4152
4162
  *
@@ -4156,7 +4166,7 @@ export type GtkFontDialogButtonProps = WidgetProps & {
4156
4166
  * Listen to `notify::language` to get informed about changes
4157
4167
  * to the buttons language.
4158
4168
  */
4159
- language?: Pango.Language;
4169
+ language?: Pango.Language | null;
4160
4170
  /** The level of detail for the font chooser dialog. */
4161
4171
  level?: Gtk.FontLevel;
4162
4172
  /** Whether the buttons label will be drawn in the selected font. */
@@ -4181,11 +4191,11 @@ export type GtkFontDialogButtonProps = WidgetProps & {
4181
4191
  /** Props for the {@link GtkFrame} widget. */
4182
4192
  export type GtkFrameProps = WidgetProps & {
4183
4193
  /** The child widget. */
4184
- child?: Gtk.Widget;
4194
+ child?: Gtk.Widget | null;
4185
4195
  /** Text of the frame's label. */
4186
- label?: string;
4196
+ label?: string | null;
4187
4197
  /** Widget to display in place of the usual frame label. */
4188
- labelWidget?: Gtk.Widget;
4198
+ labelWidget?: Gtk.Widget | null;
4189
4199
  /** The horizontal alignment of the label. */
4190
4200
  labelXalign?: number;
4191
4201
  children?: ReactNode;
@@ -4413,7 +4423,7 @@ export type GtkSourceGutterRendererProps = WidgetProps & {
4413
4423
  export type GtkSourceGutterRendererPixbufProps = Omit<GtkSourceGutterRendererProps, "onNotify"> & {
4414
4424
  gicon?: Gio.Icon;
4415
4425
  iconName?: string;
4416
- paintable?: Gdk.Paintable;
4426
+ paintable?: Gdk.Paintable | null;
4417
4427
  pixbuf?: GdkPixbuf.Pixbuf;
4418
4428
  /**
4419
4429
  * Called when any property on this widget changes.
@@ -4453,7 +4463,7 @@ export type AdwHeaderBarProps = WidgetProps & {
4453
4463
  * For example, “icon:minimize,maximize,close” specifies an icon at the start,
4454
4464
  * and minimize, maximize and close buttons at the end.
4455
4465
  */
4456
- decorationLayout?: string;
4466
+ decorationLayout?: string | null;
4457
4467
  /**
4458
4468
  * Whether the header bar can show the back button.
4459
4469
  *
@@ -4503,7 +4513,7 @@ export type AdwHeaderBarProps = WidgetProps & {
4503
4513
  * </object>
4504
4514
  * ```
4505
4515
  */
4506
- titleWidget?: Gtk.Widget;
4516
+ titleWidget?: Gtk.Widget | null;
4507
4517
  children?: ReactNode;
4508
4518
  /**
4509
4519
  * Called when any property on this widget changes.
@@ -4521,7 +4531,7 @@ export type GtkHeaderBarProps = WidgetProps & {
4521
4531
  * If this property is not set, the
4522
4532
  * {@link Settings.gtk-decoration-layout} setting is used.
4523
4533
  */
4524
- decorationLayout?: string;
4534
+ decorationLayout?: string | null;
4525
4535
  /**
4526
4536
  * Whether to show title buttons like close, minimize, maximize.
4527
4537
  *
@@ -4532,7 +4542,7 @@ export type GtkHeaderBarProps = WidgetProps & {
4532
4542
  */
4533
4543
  showTitleButtons?: boolean;
4534
4544
  /** The title widget to display. */
4535
- titleWidget?: Gtk.Widget;
4545
+ titleWidget?: Gtk.Widget | null;
4536
4546
  /**
4537
4547
  * Whether to show platform native close/minimize/maximize buttons.
4538
4548
  *
@@ -4612,7 +4622,7 @@ export type GtkIconViewProps = WidgetProps & {
4612
4622
  */
4613
4623
  markupColumn?: number;
4614
4624
  /** The model of the icon view. */
4615
- model?: Gtk.TreeModel;
4625
+ model?: Gtk.TreeModel | null;
4616
4626
  /**
4617
4627
  * The ::pixbuf-column property contains the number of the model column
4618
4628
  * containing the pixbufs which are displayed. The pixbuf column must be
@@ -4778,17 +4788,17 @@ export type GtkImageProps = WidgetProps & {
4778
4788
  * For themed icons, If the icon theme is changed, the image will be updated
4779
4789
  * automatically.
4780
4790
  */
4781
- gicon?: Gio.Icon;
4791
+ gicon?: Gio.Icon | null;
4782
4792
  /**
4783
4793
  * The name of the icon in the icon theme.
4784
4794
  *
4785
4795
  * If the icon theme is changed, the image will be updated automatically.
4786
4796
  */
4787
- iconName?: string;
4797
+ iconName?: string | null;
4788
4798
  /** The symbolic size to display icons at. */
4789
4799
  iconSize?: Gtk.IconSize;
4790
4800
  /** The `GdkPaintable` to display. */
4791
- paintable?: Gdk.Paintable;
4801
+ paintable?: Gdk.Paintable | null;
4792
4802
  /**
4793
4803
  * The size in pixels to display icons at.
4794
4804
  *
@@ -4873,7 +4883,7 @@ export type AdwInlineViewSwitcherProps = WidgetProps & {
4873
4883
  /** Whether all toggles take the same size. */
4874
4884
  homogeneous?: boolean;
4875
4885
  /** The stack the view switcher controls. */
4876
- stack?: Adw.ViewStack;
4886
+ stack?: Adw.ViewStack | null;
4877
4887
  /** The orientation of the orientable. */
4878
4888
  orientation?: Gtk.Orientation;
4879
4889
  children?: ReactNode;
@@ -4888,7 +4898,7 @@ export type AdwInlineViewSwitcherProps = WidgetProps & {
4888
4898
  /** Props for the {@link GtkInscription} widget. */
4889
4899
  export type GtkInscriptionProps = WidgetProps & {
4890
4900
  /** A list of style attributes to apply to the text of the inscription. */
4891
- attributes?: Pango.AttrList;
4901
+ attributes?: Pango.AttrList | null;
4892
4902
  /**
4893
4903
  * Utility property that sets both the {@link Inscription.text} and
4894
4904
  * {@link Inscription.attributes} properties, mainly intended for use in
@@ -4949,7 +4959,7 @@ export type GtkInscriptionProps = WidgetProps & {
4949
4959
  */
4950
4960
  natLines?: number;
4951
4961
  /** The displayed text. */
4952
- text?: string;
4962
+ text?: string | null;
4953
4963
  /** The overflow method to use for the text. */
4954
4964
  textOverflow?: Gtk.InscriptionOverflow;
4955
4965
  /**
@@ -4983,7 +4993,7 @@ export type GtkInscriptionProps = WidgetProps & {
4983
4993
  /** Props for the {@link GtkLabel} widget. */
4984
4994
  export type GtkLabelProps = WidgetProps & {
4985
4995
  /** A list of style attributes to apply to the text of the label. */
4986
- attributes?: Pango.AttrList;
4996
+ attributes?: Pango.AttrList | null;
4987
4997
  /**
4988
4998
  * The preferred place to ellipsize the string, if the label does
4989
4999
  * not have enough room to display the entire string.
@@ -4999,7 +5009,7 @@ export type GtkLabelProps = WidgetProps & {
4999
5009
  */
5000
5010
  ellipsize?: Pango.EllipsizeMode;
5001
5011
  /** A menu model whose contents will be appended to the context menu. */
5002
- extraMenu?: Gio.MenuModel;
5012
+ extraMenu?: Gio.MenuModel | null;
5003
5013
  /**
5004
5014
  * The alignment of the lines in the text of the label, relative to each other.
5005
5015
  *
@@ -5051,7 +5061,7 @@ export type GtkLabelProps = WidgetProps & {
5051
5061
  */
5052
5062
  maxWidthChars?: number;
5053
5063
  /** The widget to be activated when the labels mnemonic key is pressed. */
5054
- mnemonicWidget?: Gtk.Widget;
5064
+ mnemonicWidget?: Gtk.Widget | null;
5055
5065
  /**
5056
5066
  * Select the line wrapping for the natural size request.
5057
5067
  *
@@ -5074,7 +5084,7 @@ export type GtkLabelProps = WidgetProps & {
5074
5084
  */
5075
5085
  singleLineMode?: boolean;
5076
5086
  /** Custom tabs for this label. */
5077
- tabs?: Pango.TabArray;
5087
+ tabs?: Pango.TabArray | null;
5078
5088
  /**
5079
5089
  * True if the text of the label includes Pango markup.
5080
5090
  *
@@ -5280,13 +5290,13 @@ export type AdwLeafletProps = WidgetProps & {
5280
5290
  * by the user, in which case visible child will change back to the previously
5281
5291
  * visible child.
5282
5292
  */
5283
- visibleChild?: Gtk.Widget;
5293
+ visibleChild?: Gtk.Widget | null;
5284
5294
  /**
5285
5295
  * The name of the widget currently visible when the leaflet is folded.
5286
5296
  *
5287
5297
  * See {@link AdwLeaflet.visible-child}.
5288
5298
  */
5289
- visibleChildName?: string;
5299
+ visibleChildName?: string | null;
5290
5300
  /** The orientation of the orientable. */
5291
5301
  orientation?: Gtk.Orientation;
5292
5302
  children?: ReactNode;
@@ -5495,7 +5505,7 @@ export type GtkListBoxRowProps = WidgetProps & {
5495
5505
  */
5496
5506
  activatable?: boolean;
5497
5507
  /** The child widget. */
5498
- child?: Gtk.Widget;
5508
+ child?: Gtk.Widget | null;
5499
5509
  /** Determines whether this row can be selected. */
5500
5510
  selectable?: boolean;
5501
5511
  /** The name of the action with which this widget should be associated. */
@@ -5528,7 +5538,7 @@ export type GtkListViewProps = Omit<GtkListBaseProps, "onNotify"> & {
5528
5538
  *
5529
5539
  * The factory must be for configuring {@link ListHeader} objects.
5530
5540
  */
5531
- headerFactory?: Gtk.ListItemFactory;
5541
+ headerFactory?: Gtk.ListItemFactory | null;
5532
5542
  /** Show separators between rows. */
5533
5543
  showSeparators?: boolean;
5534
5544
  /** Activate rows on single click and select them on hover. */
@@ -5569,7 +5579,7 @@ export type GtkListViewProps = Omit<GtkListBaseProps, "onNotify"> & {
5569
5579
  /** Props for the {@link GtkLockButton} widget. */
5570
5580
  export type GtkLockButtonProps = Omit<GtkButtonProps, "onNotify"> & {
5571
5581
  /** The `GPermission object controlling this button. */
5572
- permission?: Gio.Permission;
5582
+ permission?: Gio.Permission | null;
5573
5583
  /** The text to display when prompting the user to lock. */
5574
5584
  textLock?: string;
5575
5585
  /** The text to display when prompting the user to unlock. */
@@ -5591,7 +5601,7 @@ export type GtkLockButtonProps = Omit<GtkButtonProps, "onNotify"> & {
5591
5601
  };
5592
5602
  /** Props for the {@link GtkSourceMap} widget. */
5593
5603
  export type GtkSourceMapProps = Omit<GtkSourceViewProps, "onNotify"> & {
5594
- view?: GtkSource.View;
5604
+ view?: GtkSource.View | null;
5595
5605
  children?: ReactNode;
5596
5606
  /**
5597
5607
  * Called when any property on this widget changes.
@@ -5604,7 +5614,7 @@ export type GtkSourceMapProps = Omit<GtkSourceViewProps, "onNotify"> & {
5604
5614
  /** Props for the {@link GtkMediaControls} widget. */
5605
5615
  export type GtkMediaControlsProps = WidgetProps & {
5606
5616
  /** The media-stream managed by this object or %NULL if none. */
5607
- mediaStream?: Gtk.MediaStream;
5617
+ mediaStream?: Gtk.MediaStream | null;
5608
5618
  /**
5609
5619
  * Called when any property on this widget changes.
5610
5620
  * @param self - The widget that emitted the notification
@@ -5625,7 +5635,7 @@ export type GtkMenuButtonProps = WidgetProps & {
5625
5635
  */
5626
5636
  canShrink?: boolean;
5627
5637
  /** The child widget. */
5628
- child?: Gtk.Widget;
5638
+ child?: Gtk.Widget | null;
5629
5639
  /**
5630
5640
  * The `GtkArrowType` representing the direction in which the
5631
5641
  * menu or popover will be popped out.
@@ -5634,18 +5644,18 @@ export type GtkMenuButtonProps = WidgetProps & {
5634
5644
  /** Whether the button has a frame. */
5635
5645
  hasFrame?: boolean;
5636
5646
  /** The name of the icon used to automatically populate the button. */
5637
- iconName?: string;
5647
+ iconName?: string | null;
5638
5648
  /** The label for the button. */
5639
- label?: string;
5649
+ label?: string | null;
5640
5650
  /**
5641
5651
  * The `GMenuModel` from which the popup will be created.
5642
5652
  *
5643
5653
  * See {@link MenuButton.set_menu_model} for the interaction
5644
5654
  * with the {@link MenuButton.popover} property.
5645
5655
  */
5646
- menuModel?: Gio.MenuModel;
5656
+ menuModel?: Gio.MenuModel | null;
5647
5657
  /** The `GtkPopover` that will be popped up when the button is clicked. */
5648
- popover?: Gtk.Popover;
5658
+ popover?: Gtk.Popover | null;
5649
5659
  /**
5650
5660
  * Whether the menu button acts as a primary menu.
5651
5661
  *
@@ -5702,15 +5712,15 @@ export type AdwMessageDialogProps = Omit<GtkWindowProps, "onNotify"> & {
5702
5712
  *
5703
5713
  * See {@link Window.default-widget}.
5704
5714
  */
5705
- defaultResponse?: string;
5715
+ defaultResponse?: string | null;
5706
5716
  /**
5707
5717
  * The child widget.
5708
5718
  *
5709
5719
  * Displayed below the heading and body.
5710
5720
  */
5711
- extraChild?: Gtk.Widget;
5721
+ extraChild?: Gtk.Widget | null;
5712
5722
  /** The heading of the dialog. */
5713
- heading?: string;
5723
+ heading?: string | null;
5714
5724
  /**
5715
5725
  * Whether the heading includes Pango markup.
5716
5726
  *
@@ -5773,13 +5783,13 @@ export type GtkMessageDialogProps = Omit<GtkDialogProps, "onNotify"> & {
5773
5783
  /** Props for the {@link AdwMultiLayoutView} widget. */
5774
5784
  export type AdwMultiLayoutViewProps = WidgetProps & {
5775
5785
  /** The currently used layout. */
5776
- layout?: Adw.Layout;
5786
+ layout?: Adw.Layout | null;
5777
5787
  /**
5778
5788
  * The name of the currently used layout.
5779
5789
  *
5780
5790
  * See {@link AdwLayout.name}.
5781
5791
  */
5782
- layoutName?: string;
5792
+ layoutName?: string | null;
5783
5793
  children?: ReactNode;
5784
5794
  /**
5785
5795
  * Called when any property on this widget changes.
@@ -5816,7 +5826,7 @@ export type AdwNavigationPageProps = WidgetProps & {
5816
5826
  *
5817
5827
  * The tag also must be set to use the `navigation.push` action.
5818
5828
  */
5819
- tag?: string;
5829
+ tag?: string | null;
5820
5830
  /**
5821
5831
  * The page title.
5822
5832
  *
@@ -5878,7 +5888,7 @@ export type AdwNavigationSplitViewProps = WidgetProps & {
5878
5888
  */
5879
5889
  collapsed?: boolean;
5880
5890
  /** The content widget. */
5881
- content?: Adw.NavigationPage;
5891
+ content?: Adw.NavigationPage | null;
5882
5892
  /**
5883
5893
  * The maximum sidebar width.
5884
5894
  *
@@ -5911,7 +5921,7 @@ export type AdwNavigationSplitViewProps = WidgetProps & {
5911
5921
  */
5912
5922
  showContent?: boolean;
5913
5923
  /** The sidebar widget. */
5914
- sidebar?: Adw.NavigationPage;
5924
+ sidebar?: Adw.NavigationPage | null;
5915
5925
  /**
5916
5926
  * The sidebar position.
5917
5927
  *
@@ -6038,7 +6048,7 @@ export type GtkNotebookProps = WidgetProps & {
6038
6048
  /** If %TRUE, pressing the right mouse button on the notebook shows a page switching menu. */
6039
6049
  enablePopup?: boolean;
6040
6050
  /** Group name for tab drag and drop. */
6041
- groupName?: string;
6051
+ groupName?: string | null;
6042
6052
  /** The index of the current page. */
6043
6053
  page?: number;
6044
6054
  /** If %TRUE, scroll arrows are added if there are too many pages to fit. */
@@ -6126,7 +6136,7 @@ export type GtkNotebookProps = WidgetProps & {
6126
6136
  /** Props for the {@link GtkOverlay} widget. */
6127
6137
  export type GtkOverlayProps = WidgetProps & {
6128
6138
  /** The main child widget. */
6129
- child?: Gtk.Widget;
6139
+ child?: Gtk.Widget | null;
6130
6140
  /**
6131
6141
  * Emitted to determine the position and size of any overlay
6132
6142
  * child widgets.
@@ -6163,7 +6173,7 @@ export type AdwOverlaySplitViewProps = WidgetProps & {
6163
6173
  */
6164
6174
  collapsed?: boolean;
6165
6175
  /** The content widget. */
6166
- content?: Gtk.Widget;
6176
+ content?: Gtk.Widget | null;
6167
6177
  /**
6168
6178
  * Whether the sidebar can be closed with a swipe gesture.
6169
6179
  *
@@ -6207,7 +6217,7 @@ export type AdwOverlaySplitViewProps = WidgetProps & {
6207
6217
  /** Whether the sidebar widget is shown. */
6208
6218
  showSidebar?: boolean;
6209
6219
  /** The sidebar widget. */
6210
- sidebar?: Gtk.Widget;
6220
+ sidebar?: Gtk.Widget | null;
6211
6221
  /**
6212
6222
  * The sidebar position.
6213
6223
  *
@@ -6256,7 +6266,7 @@ export type GtkPageSetupUnixDialogProps = Omit<GtkDialogProps, "onNotify"> & {
6256
6266
  /** Props for the {@link GtkPaned} widget. */
6257
6267
  export type GtkPanedProps = WidgetProps & {
6258
6268
  /** The second child. */
6259
- endChild?: Gtk.Widget;
6269
+ endChild?: Gtk.Widget | null;
6260
6270
  /** Position of the separator in pixels, from the left/top. */
6261
6271
  position?: number;
6262
6272
  /** Whether the {@link Paned.position} property has been set. */
@@ -6282,7 +6292,7 @@ export type GtkPanedProps = WidgetProps & {
6282
6292
  */
6283
6293
  shrinkStartChild?: boolean;
6284
6294
  /** The first child. */
6285
- startChild?: Gtk.Widget;
6295
+ startChild?: Gtk.Widget | null;
6286
6296
  /**
6287
6297
  * Whether the `GtkPaned` should provide a stronger visual separation.
6288
6298
  *
@@ -6370,7 +6380,7 @@ export type GtkPasswordEntryProps = WidgetProps & {
6370
6380
  * A menu model whose contents will be appended to
6371
6381
  * the context menu.
6372
6382
  */
6373
- extraMenu?: Gio.MenuModel;
6383
+ extraMenu?: Gio.MenuModel | null;
6374
6384
  /**
6375
6385
  * The text that will be displayed in the `GtkPasswordEntry`
6376
6386
  * when it is empty and unfocused.
@@ -6454,20 +6464,20 @@ export type AdwPasswordEntryRowProps = Omit<AdwEntryRowProps, "onNotify"> & {
6454
6464
  /** Props for the {@link GtkPicture} widget. */
6455
6465
  export type GtkPictureProps = WidgetProps & {
6456
6466
  /** The alternative textual description for the picture. */
6457
- alternativeText?: string;
6467
+ alternativeText?: string | null;
6458
6468
  /** If the `GtkPicture` can be made smaller than the natural size of its contents. */
6459
6469
  canShrink?: boolean;
6460
6470
  /** How the content should be resized to fit inside the `GtkPicture`. */
6461
6471
  contentFit?: Gtk.ContentFit;
6462
6472
  /** The `GFile` that is displayed or %NULL if none. */
6463
- file?: Gio.File;
6473
+ file?: Gio.File | null;
6464
6474
  /**
6465
6475
  * Whether the GtkPicture will render its contents trying to preserve the aspect
6466
6476
  * ratio.
6467
6477
  */
6468
6478
  keepAspectRatio?: boolean;
6469
6479
  /** The `GdkPaintable` to be displayed by this `GtkPicture`. */
6470
- paintable?: Gdk.Paintable;
6480
+ paintable?: Gdk.Paintable | null;
6471
6481
  /**
6472
6482
  * Called when any property on this widget changes.
6473
6483
  * @param self - The widget that emitted the notification
@@ -6487,7 +6497,7 @@ export type GtkPopoverProps = WidgetProps & {
6487
6497
  */
6488
6498
  cascadePopdown?: boolean;
6489
6499
  /** The child widget. */
6490
- child?: Gtk.Widget;
6500
+ child?: Gtk.Widget | null;
6491
6501
  /** The default widget inside the popover. */
6492
6502
  defaultWidget?: Gtk.Widget;
6493
6503
  /** Whether to draw an arrow. */
@@ -6527,7 +6537,7 @@ export type GtkPopoverMenuProps = Omit<GtkPopoverProps, "onNotify"> & {
6527
6537
  */
6528
6538
  flags?: Gtk.PopoverMenuFlags;
6529
6539
  /** The model from which the menu is made. */
6530
- menuModel?: Gio.MenuModel;
6540
+ menuModel?: Gio.MenuModel | null;
6531
6541
  /** The name of the visible submenu. */
6532
6542
  visibleSubmenu?: string;
6533
6543
  children?: ReactNode;
@@ -6546,7 +6556,7 @@ export type GtkPopoverMenuBarProps = WidgetProps & {
6546
6556
  *
6547
6557
  * The model should only contain submenus as toplevel elements.
6548
6558
  */
6549
- menuModel?: Gio.MenuModel;
6559
+ menuModel?: Gio.MenuModel | null;
6550
6560
  children?: ReactNode;
6551
6561
  /**
6552
6562
  * Called when any property on this widget changes.
@@ -6561,13 +6571,13 @@ export type AdwPreferencesDialogProps = Omit<AdwDialogProps, "onNotify"> & {
6561
6571
  /** Whether search is enabled. */
6562
6572
  searchEnabled?: boolean;
6563
6573
  /** The currently visible page. */
6564
- visiblePage?: Gtk.Widget;
6574
+ visiblePage?: Gtk.Widget | null;
6565
6575
  /**
6566
6576
  * The name of the currently visible page.
6567
6577
  *
6568
6578
  * See {@link AdwAdwPreferencesDialog.visible-page}.
6569
6579
  */
6570
- visiblePageName?: string;
6580
+ visiblePageName?: string | null;
6571
6581
  children?: ReactNode;
6572
6582
  /**
6573
6583
  * Called when any property on this widget changes.
@@ -6580,7 +6590,7 @@ export type AdwPreferencesDialogProps = Omit<AdwDialogProps, "onNotify"> & {
6580
6590
  /** Props for the {@link AdwPreferencesGroup} widget. */
6581
6591
  export type AdwPreferencesGroupProps = WidgetProps & {
6582
6592
  /** The description for this group of preferences. */
6583
- description?: string;
6593
+ description?: string | null;
6584
6594
  /**
6585
6595
  * The header suffix widget.
6586
6596
  *
@@ -6589,7 +6599,7 @@ export type AdwPreferencesGroupProps = WidgetProps & {
6589
6599
  * Suffixes are commonly used to show a button or a spinner for the whole
6590
6600
  * group.
6591
6601
  */
6592
- headerSuffix?: Gtk.Widget;
6602
+ headerSuffix?: Gtk.Widget | null;
6593
6603
  /**
6594
6604
  * Whether to separate rows.
6595
6605
  *
@@ -6612,13 +6622,13 @@ export type AdwPreferencesGroupProps = WidgetProps & {
6612
6622
  /** Props for the {@link AdwPreferencesPage} widget. */
6613
6623
  export type AdwPreferencesPageProps = WidgetProps & {
6614
6624
  /** A {@link AdwBanner} displayed at the top of the page. */
6615
- banner?: Adw.Banner;
6625
+ banner?: Adw.Banner | null;
6616
6626
  /** The description to be displayed at the top of the page. */
6617
6627
  description?: string;
6618
6628
  /** Whether the description should be centered. */
6619
6629
  descriptionCentered?: boolean;
6620
6630
  /** The icon name for this page. */
6621
- iconName?: string;
6631
+ iconName?: string | null;
6622
6632
  /** The title for this page. */
6623
6633
  title?: string;
6624
6634
  /** Whether an embedded underline in the title indicates a mnemonic. */
@@ -6689,13 +6699,13 @@ export type AdwPreferencesWindowProps = Omit<AdwWindowProps, "onNotify"> & {
6689
6699
  /** Whether search is enabled. */
6690
6700
  searchEnabled?: boolean;
6691
6701
  /** The currently visible page. */
6692
- visiblePage?: Gtk.Widget;
6702
+ visiblePage?: Gtk.Widget | null;
6693
6703
  /**
6694
6704
  * The name of the currently visible page.
6695
6705
  *
6696
6706
  * See {@link AdwPreferencesWindow.visible-page}.
6697
6707
  */
6698
- visiblePageName?: string;
6708
+ visiblePageName?: string | null;
6699
6709
  children?: ReactNode;
6700
6710
  /**
6701
6711
  * Called when any property on this widget changes.
@@ -6764,7 +6774,7 @@ export type GtkProgressBarProps = WidgetProps & {
6764
6774
  */
6765
6775
  showText?: boolean;
6766
6776
  /** Text to be displayed in the progress bar. */
6767
- text?: string;
6777
+ text?: string | null;
6768
6778
  /** The orientation of the orientable. */
6769
6779
  orientation?: Gtk.Orientation;
6770
6780
  /**
@@ -6777,8 +6787,6 @@ export type GtkProgressBarProps = WidgetProps & {
6777
6787
  };
6778
6788
  /** Props for the {@link GtkRange} widget. */
6779
6789
  export type GtkRangeProps = WidgetProps & {
6780
- /** The adjustment that is controlled by the range. */
6781
- adjustment?: Gtk.Adjustment;
6782
6790
  /** The fill level (e.g. prebuffering of a network stream). */
6783
6791
  fillLevel?: number;
6784
6792
  /** If %TRUE, the direction in which the slider moves is inverted. */
@@ -6830,6 +6838,7 @@ export type GtkRangeProps = WidgetProps & {
6830
6838
  onMoveSlider?: (self: Gtk.Range, step: Gtk.ScrollType) => void | null;
6831
6839
  /** Emitted when the range value changes. */
6832
6840
  onValueChanged?: (self: Gtk.Range) => void | null;
6841
+ children?: ReactNode;
6833
6842
  /**
6834
6843
  * Called when any property on this widget changes.
6835
6844
  * @param self - The widget that emitted the notification
@@ -6841,7 +6850,7 @@ export type GtkRangeProps = WidgetProps & {
6841
6850
  /** Props for the {@link GtkRevealer} widget. */
6842
6851
  export type GtkRevealerProps = WidgetProps & {
6843
6852
  /** The child widget. */
6844
- child?: Gtk.Widget;
6853
+ child?: Gtk.Widget | null;
6845
6854
  /** Whether the revealer should reveal the child. */
6846
6855
  revealChild?: boolean;
6847
6856
  /** The animation duration, in milliseconds. */
@@ -6878,8 +6887,6 @@ export type GtkScaleProps = Omit<GtkRangeProps, "onNotify"> & {
6878
6887
  };
6879
6888
  /** Props for the {@link GtkScaleButton} widget. */
6880
6889
  export type GtkScaleButtonProps = WidgetProps & {
6881
- /** The `GtkAdjustment` that is used as the model. */
6882
- adjustment?: Gtk.Adjustment;
6883
6890
  /** If the scale button has a frame. */
6884
6891
  hasFrame?: boolean;
6885
6892
  /**
@@ -6924,6 +6931,7 @@ export type GtkScaleButtonProps = WidgetProps & {
6924
6931
  onPopup?: (self: Gtk.ScaleButton) => void | null;
6925
6932
  /** Emitted when the value field has changed. */
6926
6933
  onValueChanged?: (self: Gtk.ScaleButton, value: number) => void | null;
6934
+ children?: ReactNode;
6927
6935
  /**
6928
6936
  * Called when any property on this widget changes.
6929
6937
  * @param self - The widget that emitted the notification
@@ -6938,6 +6946,7 @@ export type GtkScrollbarProps = WidgetProps & {
6938
6946
  adjustment?: Gtk.Adjustment;
6939
6947
  /** The orientation of the orientable. */
6940
6948
  orientation?: Gtk.Orientation;
6949
+ children?: ReactNode;
6941
6950
  /**
6942
6951
  * Called when any property on this widget changes.
6943
6952
  * @param self - The widget that emitted the notification
@@ -6955,7 +6964,7 @@ export type GtkScrolledWindowProps = WidgetProps & {
6955
6964
  * {@link Scrollable}, the scrolled window will add the child to
6956
6965
  * a {@link Viewport} and then set the viewport as the child.
6957
6966
  */
6958
- child?: Gtk.Widget;
6967
+ child?: Gtk.Widget | null;
6959
6968
  /** The `GtkAdjustment` for the horizontal position. */
6960
6969
  hadjustment?: Gtk.Adjustment;
6961
6970
  /** Whether to draw a frame around the contents. */
@@ -7075,9 +7084,9 @@ export type GtkScrolledWindowProps = WidgetProps & {
7075
7084
  /** Props for the {@link GtkSearchBar} widget. */
7076
7085
  export type GtkSearchBarProps = WidgetProps & {
7077
7086
  /** The child widget. */
7078
- child?: Gtk.Widget;
7087
+ child?: Gtk.Widget | null;
7079
7088
  /** The key capture widget. */
7080
- keyCaptureWidget?: Gtk.Widget;
7089
+ keyCaptureWidget?: Gtk.Widget | null;
7081
7090
  /** Whether the search mode is on and the search bar shown. */
7082
7091
  searchModeEnabled?: boolean;
7083
7092
  /** Whether to show the close button in the search bar. */
@@ -7109,7 +7118,7 @@ export type GtkSearchEntryProps = WidgetProps & {
7109
7118
  * The text that will be displayed in the `GtkSearchEntry`
7110
7119
  * when it is empty and unfocused.
7111
7120
  */
7112
- placeholderText?: string;
7121
+ placeholderText?: string | null;
7113
7122
  /**
7114
7123
  * The delay in milliseconds from last keypress to the search
7115
7124
  * changed signal.
@@ -7255,9 +7264,9 @@ export type GtkShortcutLabelProps = WidgetProps & {
7255
7264
  * See {@link ShortcutsShortcut.accelerator}
7256
7265
  * for the accepted syntax.
7257
7266
  */
7258
- accelerator?: string;
7267
+ accelerator?: string | null;
7259
7268
  /** The text that is displayed when no accelerator is set. */
7260
- disabledText?: string;
7269
+ disabledText?: string | null;
7261
7270
  /**
7262
7271
  * Called when any property on this widget changes.
7263
7272
  * @param self - The widget that emitted the notification
@@ -7514,8 +7523,6 @@ export type GtkSpinButtonProps = WidgetProps & {
7514
7523
  * See {@link SpinButton.:activate} for what counts as activation.
7515
7524
  */
7516
7525
  activatesDefault?: boolean;
7517
- /** The adjustment that holds the value of the spin button. */
7518
- adjustment?: Gtk.Adjustment;
7519
7526
  /** The acceleration rate when you hold down a button or key. */
7520
7527
  climbRate?: number;
7521
7528
  /** The number of decimal places to display. */
@@ -7682,6 +7689,7 @@ export type GtkSpinButtonProps = WidgetProps & {
7682
7689
  * to modify the inserted text, or prevent it from being inserted entirely.
7683
7690
  */
7684
7691
  onInsertText?: (self: Gtk.SpinButton, text: string, length: number, position: Ref<number>) => void | null;
7692
+ children?: ReactNode;
7685
7693
  /**
7686
7694
  * Called when any property on this widget changes.
7687
7695
  * @param self - The widget that emitted the notification
@@ -7831,7 +7839,7 @@ export type AdwSplitButtonProps = WidgetProps & {
7831
7839
  * Setting the child widget will set {@link AdwSplitButton.label} and
7832
7840
  * {@link AdwSplitButton.icon-name} to `NULL`.
7833
7841
  */
7834
- child?: Gtk.Widget;
7842
+ child?: Gtk.Widget | null;
7835
7843
  /**
7836
7844
  * The direction in which the popup will be popped up.
7837
7845
  *
@@ -7855,14 +7863,14 @@ export type AdwSplitButtonProps = WidgetProps & {
7855
7863
  * Setting the icon name will set {@link AdwSplitButton.label} and
7856
7864
  * {@link AdwSplitButton.child} to `NULL`.
7857
7865
  */
7858
- iconName?: string;
7866
+ iconName?: string | null;
7859
7867
  /**
7860
7868
  * The label for the button.
7861
7869
  *
7862
7870
  * Setting the label will set {@link AdwSplitButton.icon-name} and
7863
7871
  * {@link AdwSplitButton.child} to `NULL`.
7864
7872
  */
7865
- label?: string;
7873
+ label?: string | null;
7866
7874
  /**
7867
7875
  * The `GMenuModel` from which the popup will be created.
7868
7876
  *
@@ -7875,7 +7883,7 @@ export type AdwSplitButtonProps = WidgetProps & {
7875
7883
  * If {@link AdwSplitButton.popover} is already set, it will be dissociated
7876
7884
  * from the button, and the property is set to `NULL`.
7877
7885
  */
7878
- menuModel?: Gio.MenuModel;
7886
+ menuModel?: Gio.MenuModel | null;
7879
7887
  /**
7880
7888
  * The `GtkPopover` that will be popped up when the dropdown is clicked.
7881
7889
  *
@@ -7884,7 +7892,7 @@ export type AdwSplitButtonProps = WidgetProps & {
7884
7892
  * If {@link AdwSplitButton.menu-model} is set, the menu model is dissociated
7885
7893
  * from the button, and the property is set to `NULL`.
7886
7894
  */
7887
- popover?: Gtk.Popover;
7895
+ popover?: Gtk.Popover | null;
7888
7896
  /**
7889
7897
  * Whether an underline in the text indicates a mnemonic.
7890
7898
  *
@@ -8014,7 +8022,7 @@ export type GtkStackProps = WidgetProps & {
8014
8022
  /** Props for the {@link GtkStackSidebar} widget. */
8015
8023
  export type GtkStackSidebarProps = WidgetProps & {
8016
8024
  /** The stack. */
8017
- stack?: Gtk.Stack;
8025
+ stack?: Gtk.Stack | null;
8018
8026
  children?: ReactNode;
8019
8027
  /**
8020
8028
  * Called when any property on this widget changes.
@@ -8027,7 +8035,7 @@ export type GtkStackSidebarProps = WidgetProps & {
8027
8035
  /** Props for the {@link GtkStackSwitcher} widget. */
8028
8036
  export type GtkStackSwitcherProps = WidgetProps & {
8029
8037
  /** The stack. */
8030
- stack?: Gtk.Stack;
8038
+ stack?: Gtk.Stack | null;
8031
8039
  /** The orientation of the orientable. */
8032
8040
  orientation?: Gtk.Orientation;
8033
8041
  children?: ReactNode;
@@ -8057,21 +8065,21 @@ export type GtkStatusbarProps = WidgetProps & {
8057
8065
  /** Props for the {@link AdwStatusPage} widget. */
8058
8066
  export type AdwStatusPageProps = WidgetProps & {
8059
8067
  /** The child widget. */
8060
- child?: Gtk.Widget;
8068
+ child?: Gtk.Widget | null;
8061
8069
  /** The description markup to be displayed below the title. */
8062
- description?: string;
8070
+ description?: string | null;
8063
8071
  /**
8064
8072
  * The name of the icon to be used.
8065
8073
  *
8066
8074
  * Changing this will set {@link AdwStatusPage.paintable} to `NULL`.
8067
8075
  */
8068
- iconName?: string;
8076
+ iconName?: string | null;
8069
8077
  /**
8070
8078
  * The paintable to be used.
8071
8079
  *
8072
8080
  * Changing this will set {@link AdwStatusPage.icon-name} to `NULL`.
8073
8081
  */
8074
- paintable?: Gdk.Paintable;
8082
+ paintable?: Gdk.Paintable | null;
8075
8083
  /**
8076
8084
  * The title to be displayed below the icon.
8077
8085
  *
@@ -8208,7 +8216,7 @@ export type AdwTabBarProps = WidgetProps & {
8208
8216
  */
8209
8217
  autohide?: boolean;
8210
8218
  /** The widget shown after the tabs. */
8211
- endActionWidget?: Gtk.Widget;
8219
+ endActionWidget?: Gtk.Widget | null;
8212
8220
  /**
8213
8221
  * Whether tabs expand to full width.
8214
8222
  *
@@ -8230,9 +8238,9 @@ export type AdwTabBarProps = WidgetProps & {
8230
8238
  */
8231
8239
  inverted?: boolean;
8232
8240
  /** The widget shown before the tabs. */
8233
- startActionWidget?: Gtk.Widget;
8241
+ startActionWidget?: Gtk.Widget | null;
8234
8242
  /** The tab view the tab bar controls. */
8235
- view?: Adw.TabView;
8243
+ view?: Adw.TabView | null;
8236
8244
  /**
8237
8245
  * This signal is emitted when content is dropped onto a tab.
8238
8246
  *
@@ -8266,7 +8274,7 @@ export type AdwTabBarProps = WidgetProps & {
8266
8274
  /** Props for the {@link AdwTabButton} widget. */
8267
8275
  export type AdwTabButtonProps = WidgetProps & {
8268
8276
  /** The view the tab button displays. */
8269
- view?: Adw.TabView;
8277
+ view?: Adw.TabView | null;
8270
8278
  /** The name of the action with which this widget should be associated. */
8271
8279
  actionName?: string;
8272
8280
  /** The target value of the actionable widget's action. */
@@ -8292,7 +8300,7 @@ export type AdwTabButtonProps = WidgetProps & {
8292
8300
  /** Props for the {@link AdwTabOverview} widget. */
8293
8301
  export type AdwTabOverviewProps = WidgetProps & {
8294
8302
  /** The child widget. */
8295
- child?: Gtk.Widget;
8303
+ child?: Gtk.Widget | null;
8296
8304
  /**
8297
8305
  * Whether to enable new tab button.
8298
8306
  *
@@ -8332,7 +8340,7 @@ export type AdwTabOverviewProps = WidgetProps & {
8332
8340
  *
8333
8341
  * Use it to add extra actions, e.g. to open a new window or undo closed tab.
8334
8342
  */
8335
- secondaryMenu?: Gio.MenuModel;
8343
+ secondaryMenu?: Gio.MenuModel | null;
8336
8344
  /**
8337
8345
  * Whether to show end title buttons in the overview's header bar.
8338
8346
  *
@@ -8350,7 +8358,7 @@ export type AdwTabOverviewProps = WidgetProps & {
8350
8358
  *
8351
8359
  * The view must be inside the tab overview, see {@link AdwTabOverview.child}.
8352
8360
  */
8353
- view?: Adw.TabView;
8361
+ view?: Adw.TabView | null;
8354
8362
  /**
8355
8363
  * Emitted when a tab needs to be created.
8356
8364
  *
@@ -8417,9 +8425,9 @@ export type AdwTabViewProps = WidgetProps & {
8417
8425
  * provided menu model. Use the {@link AdwTabView.:setup-menu} signal to set up
8418
8426
  * the menu actions for the particular tab.
8419
8427
  */
8420
- menuModel?: Gio.MenuModel;
8428
+ menuModel?: Gio.MenuModel | null;
8421
8429
  /** The currently selected page. */
8422
- selectedPage?: Adw.TabPage;
8430
+ selectedPage?: Adw.TabPage | null;
8423
8431
  /**
8424
8432
  * The enabled shortcuts.
8425
8433
  *
@@ -8600,7 +8608,7 @@ export type VteTerminalProps = WidgetProps & {
8600
8608
  * terminal can change the encoding. The default is defined by the
8601
8609
  * application's locale settings.
8602
8610
  */
8603
- encoding?: string;
8611
+ encoding?: string | null;
8604
8612
  /**
8605
8613
  * The terminal's font options, or %NULL to use the default font options.
8606
8614
  *
@@ -8609,7 +8617,7 @@ export type VteTerminalProps = WidgetProps & {
8609
8617
  * function to set a #cairo_font_options_t that has
8610
8618
  * %CAIRO_HINT_METRICS_OFF set.
8611
8619
  */
8612
- fontOptions?: cairo.FontOptions;
8620
+ fontOptions?: cairo.FontOptions | null;
8613
8621
  /** The terminal's font scale. */
8614
8622
  fontScale?: number;
8615
8623
  /**
@@ -8625,7 +8633,7 @@ export type VteTerminalProps = WidgetProps & {
8625
8633
  */
8626
8634
  pointerAutohide?: boolean;
8627
8635
  /** The PTY object for the terminal. */
8628
- pty?: Vte.Pty;
8636
+ pty?: Vte.Pty | null;
8629
8637
  /**
8630
8638
  * Controls whether or not the terminal will rewrap its contents, including
8631
8639
  * the scrollback buffer, whenever the terminal's width changes.
@@ -8857,13 +8865,13 @@ export type GtkTextProps = WidgetProps & {
8857
8865
  * The `PangoAttribute`'s `start_index` and `end_index` must refer to the
8858
8866
  * `GtkEntryBuffer` text, i.e. without the preedit string.
8859
8867
  */
8860
- attributes?: Pango.AttrList;
8868
+ attributes?: Pango.AttrList | null;
8861
8869
  /** The `GtkEntryBuffer` object which stores the text. */
8862
8870
  buffer?: Gtk.EntryBuffer;
8863
8871
  /** Whether to suggest Emoji replacements. */
8864
8872
  enableEmojiCompletion?: boolean;
8865
8873
  /** A menu model whose contents will be appended to the context menu. */
8866
- extraMenu?: Gio.MenuModel;
8874
+ extraMenu?: Gio.MenuModel | null;
8867
8875
  /**
8868
8876
  * Which input method module should be used.
8869
8877
  *
@@ -8906,11 +8914,11 @@ export type GtkTextProps = WidgetProps & {
8906
8914
  * The text that will be displayed in the `GtkText` when it is empty
8907
8915
  * and unfocused.
8908
8916
  */
8909
- placeholderText?: string;
8917
+ placeholderText?: string | null;
8910
8918
  /** Whether the widget should grow and shrink with the content. */
8911
8919
  propagateTextWidth?: boolean;
8912
8920
  /** Custom tabs for this text widget. */
8913
- tabs?: Pango.TabArray;
8921
+ tabs?: Pango.TabArray | null;
8914
8922
  /** When true, pasted multi-line text is truncated to the first line. */
8915
8923
  truncateMultiline?: boolean;
8916
8924
  /** If false, the text is masked with the “invisible char”. */
@@ -9102,8 +9110,6 @@ export type GtkTextViewProps = WidgetProps & {
9102
9110
  * Don't confuse this property with {@link Widget.margin-bottom}.
9103
9111
  */
9104
9112
  bottomMargin?: number;
9105
- /** The buffer which is displayed. */
9106
- buffer?: Gtk.TextBuffer;
9107
9113
  /** If the insertion cursor is shown. */
9108
9114
  cursorVisible?: boolean;
9109
9115
  /** Whether the text can be modified by the user. */
@@ -9177,7 +9183,7 @@ export type GtkTextViewProps = WidgetProps & {
9177
9183
  */
9178
9184
  rightMargin?: number;
9179
9185
  /** Custom tabs for this text. */
9180
- tabs?: Pango.TabArray;
9186
+ tabs?: Pango.TabArray | null;
9181
9187
  /**
9182
9188
  * The top margin for text in the text view.
9183
9189
  *
@@ -9381,7 +9387,7 @@ export type GtkTextViewProps = WidgetProps & {
9381
9387
  /** Props for the {@link AdwToastOverlay} widget. */
9382
9388
  export type AdwToastOverlayProps = WidgetProps & {
9383
9389
  /** The child widget. */
9384
- child?: Gtk.Widget;
9390
+ child?: Gtk.Widget | null;
9385
9391
  children?: ReactNode;
9386
9392
  /**
9387
9393
  * Called when any property on this widget changes.
@@ -9428,7 +9434,7 @@ export type AdwToggleGroupProps = WidgetProps & {
9428
9434
  *
9429
9435
  * Set it to `NULL` to unset the current active toggle.
9430
9436
  */
9431
- activeName?: string;
9437
+ activeName?: string | null;
9432
9438
  /**
9433
9439
  * Whether the toggles can be smaller than the natural size of their contents.
9434
9440
  *
@@ -9480,7 +9486,7 @@ export type AdwToolbarViewProps = WidgetProps & {
9480
9486
  */
9481
9487
  bottomBarStyle?: Adw.ToolbarStyle;
9482
9488
  /** The content widget. */
9483
- content?: Gtk.Widget;
9489
+ content?: Gtk.Widget | null;
9484
9490
  /**
9485
9491
  * Whether the content widget can extend behind bottom bars.
9486
9492
  *
@@ -9563,7 +9569,7 @@ export type AdwToolbarViewProps = WidgetProps & {
9563
9569
  /** Props for the {@link GtkTreeExpander} widget. */
9564
9570
  export type GtkTreeExpanderProps = WidgetProps & {
9565
9571
  /** The child widget with the actual contents. */
9566
- child?: Gtk.Widget;
9572
+ child?: Gtk.Widget | null;
9567
9573
  /**
9568
9574
  * Whether the expander icon should be hidden in a GtkTreeListRow.
9569
9575
  * Note that this property simply hides the icon. The actions and keybinding
@@ -9578,7 +9584,7 @@ export type GtkTreeExpanderProps = WidgetProps & {
9578
9584
  /** TreeExpander indents the child by the width of an expander-icon if it is not expandable. */
9579
9585
  indentForIcon?: boolean;
9580
9586
  /** The list row to track for expander state. */
9581
- listRow?: Gtk.TreeListRow;
9587
+ listRow?: Gtk.TreeListRow | null;
9582
9588
  children?: ReactNode;
9583
9589
  /**
9584
9590
  * Called when any property on this widget changes.
@@ -9598,7 +9604,7 @@ export type GtkTreeViewProps = WidgetProps & {
9598
9604
  enableGridLines?: Gtk.TreeViewGridLines;
9599
9605
  enableSearch?: boolean;
9600
9606
  enableTreeLines?: boolean;
9601
- expanderColumn?: Gtk.TreeViewColumn;
9607
+ expanderColumn?: Gtk.TreeViewColumn | null;
9602
9608
  /**
9603
9609
  * Setting the ::fixed-height-mode property to %TRUE speeds up
9604
9610
  * `GtkTreeView` by assuming that all rows have the same height.
@@ -9630,7 +9636,7 @@ export type GtkTreeViewProps = WidgetProps & {
9630
9636
  hoverSelection?: boolean;
9631
9637
  /** Extra indentation for each level. */
9632
9638
  levelIndentation?: number;
9633
- model?: Gtk.TreeModel;
9639
+ model?: Gtk.TreeModel | null;
9634
9640
  reorderable?: boolean;
9635
9641
  rubberBanding?: boolean;
9636
9642
  searchColumn?: number;
@@ -9720,13 +9726,13 @@ export type GtkVideoProps = WidgetProps & {
9720
9726
  /** If the video should automatically begin playing. */
9721
9727
  autoplay?: boolean;
9722
9728
  /** The file played by this video if the video is playing a file. */
9723
- file?: Gio.File;
9729
+ file?: Gio.File | null;
9724
9730
  /** Whether to enable graphics offload. */
9725
9731
  graphicsOffload?: Gtk.GraphicsOffloadEnabled;
9726
9732
  /** If new media files should be set to loop. */
9727
9733
  loop?: boolean;
9728
9734
  /** The media-stream played */
9729
- mediaStream?: Gtk.MediaStream;
9735
+ mediaStream?: Gtk.MediaStream | null;
9730
9736
  /**
9731
9737
  * Called when any property on this widget changes.
9732
9738
  * @param self - The widget that emitted the notification
@@ -9758,7 +9764,7 @@ export type GtkSourceViewProps = Omit<GtkTextViewProps, "onNotify"> & {
9758
9764
  * The property is a {@link GtkSourceIndenter} to use to indent
9759
9765
  * as the user types into the {@link GtkSourceView}.
9760
9766
  */
9761
- indenter?: GtkSource.Indenter;
9767
+ indenter?: GtkSource.Indenter | null;
9762
9768
  insertSpacesInsteadOfTabs?: boolean;
9763
9769
  /** Position of the right margin. */
9764
9770
  rightMarginPosition?: number;
@@ -9810,7 +9816,7 @@ export type GtkSourceViewProps = Omit<GtkTextViewProps, "onNotify"> & {
9810
9816
  *
9811
9817
  * `location` will be updated to point at the end of the snippet.
9812
9818
  */
9813
- onPushSnippet?: (self: GtkSource.View, snippet: GtkSource.Snippet, location: Ref<Gtk.TextIter>) => void | null;
9819
+ onPushSnippet?: (self: GtkSource.View, snippet: GtkSource.Snippet, location: Gtk.TextIter) => void | null;
9814
9820
  /**
9815
9821
  * The signal is a key binding signal which gets
9816
9822
  * emitted when the user requests a completion, by pressing
@@ -9845,7 +9851,7 @@ export type GtkSourceViewProps = Omit<GtkTextViewProps, "onNotify"> & {
9845
9851
  /** Props for the {@link GtkViewport} widget. */
9846
9852
  export type GtkViewportProps = WidgetProps & {
9847
9853
  /** The child widget. */
9848
- child?: Gtk.Widget;
9854
+ child?: Gtk.Widget | null;
9849
9855
  /**
9850
9856
  * Whether to scroll when the focus changes.
9851
9857
  *
@@ -9931,7 +9937,7 @@ export type AdwViewSwitcherProps = WidgetProps & {
9931
9937
  /** The policy to determine which mode to use. */
9932
9938
  policy?: Adw.ViewSwitcherPolicy;
9933
9939
  /** The stack the view switcher controls. */
9934
- stack?: Adw.ViewStack;
9940
+ stack?: Adw.ViewStack | null;
9935
9941
  children?: ReactNode;
9936
9942
  /**
9937
9943
  * Called when any property on this widget changes.
@@ -9946,7 +9952,7 @@ export type AdwViewSwitcherBarProps = WidgetProps & {
9946
9952
  /** Whether the bar should be revealed or hidden. */
9947
9953
  reveal?: boolean;
9948
9954
  /** The stack the view switcher controls. */
9949
- stack?: Adw.ViewStack;
9955
+ stack?: Adw.ViewStack | null;
9950
9956
  children?: ReactNode;
9951
9957
  /**
9952
9958
  * Called when any property on this widget changes.
@@ -9959,7 +9965,7 @@ export type AdwViewSwitcherBarProps = WidgetProps & {
9959
9965
  /** Props for the {@link AdwViewSwitcherTitle} widget. */
9960
9966
  export type AdwViewSwitcherTitleProps = WidgetProps & {
9961
9967
  /** The stack the view switcher controls. */
9962
- stack?: Adw.ViewStack;
9968
+ stack?: Adw.ViewStack | null;
9963
9969
  /**
9964
9970
  * The subtitle to display.
9965
9971
  *
@@ -10002,6 +10008,7 @@ export type GtkVolumeButtonProps = Omit<GtkScaleButtonProps, "onNotify"> & {
10002
10008
  * theme, then the normal (potentially colorful) icons will be used.
10003
10009
  */
10004
10010
  useSymbolic?: boolean;
10011
+ children?: ReactNode;
10005
10012
  /**
10006
10013
  * Called when any property on this widget changes.
10007
10014
  * @param self - The widget that emitted the notification
@@ -10538,7 +10545,7 @@ export type GtkWindowControlsProps = WidgetProps & {
10538
10545
  * If this property is not set, the
10539
10546
  * {@link Settings.gtk-decoration-layout} setting is used.
10540
10547
  */
10541
- decorationLayout?: string;
10548
+ decorationLayout?: string | null;
10542
10549
  /**
10543
10550
  * Whether the widget shows start or end side of the decoration layout.
10544
10551
  *
@@ -10567,7 +10574,7 @@ export type GtkWindowControlsProps = WidgetProps & {
10567
10574
  /** Props for the {@link GtkWindowHandle} widget. */
10568
10575
  export type GtkWindowHandleProps = WidgetProps & {
10569
10576
  /** The child widget. */
10570
- child?: Gtk.Widget;
10577
+ child?: Gtk.Widget | null;
10571
10578
  children?: ReactNode;
10572
10579
  /**
10573
10580
  * Called when any property on this widget changes.