@gtkx/react 0.17.2 → 0.18.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 (194) hide show
  1. package/README.md +7 -7
  2. package/dist/factory.d.ts +0 -1
  3. package/dist/factory.js +21 -8
  4. package/dist/generated/internal.d.ts +4 -51
  5. package/dist/generated/internal.js +626 -412
  6. package/dist/generated/jsx.d.ts +453 -958
  7. package/dist/host-config.d.ts +1 -1
  8. package/dist/host-config.js +18 -23
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/jsx.d.ts +579 -302
  12. package/dist/jsx.js +37 -179
  13. package/dist/metadata.d.ts +3 -0
  14. package/dist/metadata.js +26 -0
  15. package/dist/node.d.ts +20 -12
  16. package/dist/node.js +72 -17
  17. package/dist/nodes/adjustable.d.ts +3 -16
  18. package/dist/nodes/adjustable.js +5 -22
  19. package/dist/nodes/alert-dialog-response.d.ts +14 -1
  20. package/dist/nodes/alert-dialog-response.js +36 -62
  21. package/dist/nodes/animation.d.ts +37 -1
  22. package/dist/nodes/animation.js +162 -105
  23. package/dist/nodes/application.d.ts +11 -1
  24. package/dist/nodes/application.js +17 -38
  25. package/dist/nodes/calendar.d.ts +13 -0
  26. package/dist/nodes/calendar.js +10 -16
  27. package/dist/nodes/color-dialog-button.d.ts +13 -0
  28. package/dist/nodes/color-dialog-button.js +10 -38
  29. package/dist/nodes/column-view-column.d.ts +13 -11
  30. package/dist/nodes/column-view-column.js +27 -23
  31. package/dist/nodes/column-view.d.ts +31 -0
  32. package/dist/nodes/column-view.js +44 -44
  33. package/dist/nodes/container-slot.d.ts +15 -0
  34. package/dist/nodes/container-slot.js +68 -0
  35. package/dist/nodes/dialog.d.ts +6 -8
  36. package/dist/nodes/dialog.js +12 -13
  37. package/dist/nodes/drawing-area.d.ts +12 -0
  38. package/dist/nodes/drawing-area.js +24 -24
  39. package/dist/nodes/drop-down.d.ts +22 -0
  40. package/dist/nodes/drop-down.js +72 -0
  41. package/dist/nodes/event-controller.d.ts +8 -17
  42. package/dist/nodes/event-controller.js +20 -42
  43. package/dist/nodes/fixed-child.d.ts +18 -1
  44. package/dist/nodes/fixed-child.js +52 -36
  45. package/dist/nodes/font-dialog-button.d.ts +13 -0
  46. package/dist/nodes/font-dialog-button.js +12 -35
  47. package/dist/nodes/grid-child.d.ts +17 -1
  48. package/dist/nodes/grid-child.js +57 -37
  49. package/dist/nodes/grid-view.d.ts +24 -0
  50. package/dist/nodes/grid-view.js +73 -0
  51. package/dist/nodes/internal/base-item-renderer.d.ts +7 -9
  52. package/dist/nodes/internal/base-item-renderer.js +15 -18
  53. package/dist/nodes/internal/grid-item-renderer.d.ts +17 -0
  54. package/dist/nodes/internal/grid-item-renderer.js +59 -0
  55. package/dist/nodes/internal/list-item-renderer.d.ts +14 -9
  56. package/dist/nodes/internal/list-item-renderer.js +96 -35
  57. package/dist/nodes/internal/list-store.d.ts +5 -0
  58. package/dist/nodes/internal/list-store.js +39 -9
  59. package/dist/nodes/internal/predicates.d.ts +4 -19
  60. package/dist/nodes/internal/predicates.js +1 -20
  61. package/dist/nodes/internal/props.d.ts +5 -0
  62. package/dist/nodes/internal/props.js +42 -0
  63. package/dist/nodes/internal/{selection-model.d.ts → selection-model-controller.d.ts} +4 -9
  64. package/dist/nodes/internal/{selection-model.js → selection-model-controller.js} +6 -15
  65. package/dist/nodes/internal/signal-store.js +12 -5
  66. package/dist/nodes/internal/simple-list-store.d.ts +5 -0
  67. package/dist/nodes/internal/simple-list-store.js +42 -13
  68. package/dist/nodes/internal/text-buffer-controller.d.ts +4 -12
  69. package/dist/nodes/internal/text-buffer-controller.js +32 -33
  70. package/dist/nodes/internal/tree-store.d.ts +7 -0
  71. package/dist/nodes/internal/tree-store.js +75 -18
  72. package/dist/nodes/internal/widget.d.ts +7 -0
  73. package/dist/nodes/internal/widget.js +68 -0
  74. package/dist/nodes/level-bar.d.ts +10 -0
  75. package/dist/nodes/level-bar.js +11 -22
  76. package/dist/nodes/list-item.d.ts +17 -9
  77. package/dist/nodes/list-item.js +67 -12
  78. package/dist/nodes/list-view.d.ts +23 -0
  79. package/dist/nodes/list-view.js +27 -31
  80. package/dist/nodes/menu.d.ts +2 -4
  81. package/dist/nodes/menu.js +0 -6
  82. package/dist/nodes/models/grid.d.ts +27 -0
  83. package/dist/nodes/models/grid.js +68 -0
  84. package/dist/nodes/models/list.d.ts +15 -13
  85. package/dist/nodes/models/list.js +48 -26
  86. package/dist/nodes/models/menu.d.ts +15 -16
  87. package/dist/nodes/models/menu.js +63 -93
  88. package/dist/nodes/navigation-page.d.ts +16 -10
  89. package/dist/nodes/navigation-page.js +108 -31
  90. package/dist/nodes/navigation-view.d.ts +15 -0
  91. package/dist/nodes/navigation-view.js +15 -65
  92. package/dist/nodes/notebook-page-tab.d.ts +10 -12
  93. package/dist/nodes/notebook-page-tab.js +24 -27
  94. package/dist/nodes/notebook-page.d.ts +19 -16
  95. package/dist/nodes/notebook-page.js +75 -56
  96. package/dist/nodes/notebook.d.ts +10 -1
  97. package/dist/nodes/notebook.js +10 -22
  98. package/dist/nodes/overlay-child.d.ts +17 -1
  99. package/dist/nodes/overlay-child.js +53 -75
  100. package/dist/nodes/popover-menu.d.ts +15 -0
  101. package/dist/nodes/popover-menu.js +13 -26
  102. package/dist/nodes/scale.d.ts +8 -0
  103. package/dist/nodes/scale.js +2 -11
  104. package/dist/nodes/scrolled-window.d.ts +9 -0
  105. package/dist/nodes/scrolled-window.js +5 -11
  106. package/dist/nodes/search-bar.d.ts +9 -0
  107. package/dist/nodes/search-bar.js +8 -33
  108. package/dist/nodes/shortcut-controller.d.ts +9 -1
  109. package/dist/nodes/shortcut-controller.js +12 -25
  110. package/dist/nodes/shortcut.d.ts +11 -33
  111. package/dist/nodes/shortcut.js +19 -15
  112. package/dist/nodes/slot.d.ts +16 -15
  113. package/dist/nodes/slot.js +63 -57
  114. package/dist/nodes/source-view.d.ts +16 -0
  115. package/dist/nodes/source-view.js +44 -44
  116. package/dist/nodes/stack-page.d.ts +21 -1
  117. package/dist/nodes/stack-page.js +68 -17
  118. package/dist/nodes/stack.d.ts +11 -0
  119. package/dist/nodes/stack.js +8 -26
  120. package/dist/nodes/text-anchor.d.ts +11 -30
  121. package/dist/nodes/text-anchor.js +20 -22
  122. package/dist/nodes/text-content.d.ts +1 -0
  123. package/dist/nodes/text-content.js +1 -1
  124. package/dist/nodes/text-paintable.d.ts +10 -15
  125. package/dist/nodes/text-paintable.js +16 -9
  126. package/dist/nodes/text-segment.d.ts +12 -10
  127. package/dist/nodes/text-segment.js +19 -11
  128. package/dist/nodes/text-tag.d.ts +20 -119
  129. package/dist/nodes/text-tag.js +153 -119
  130. package/dist/nodes/text-view.d.ts +13 -18
  131. package/dist/nodes/text-view.js +17 -17
  132. package/dist/nodes/toggle-group.d.ts +9 -0
  133. package/dist/nodes/toggle-group.js +8 -33
  134. package/dist/nodes/toggle.d.ts +15 -1
  135. package/dist/nodes/toggle.js +34 -52
  136. package/dist/nodes/virtual.d.ts +3 -10
  137. package/dist/nodes/virtual.js +1 -14
  138. package/dist/nodes/web-view.d.ts +9 -0
  139. package/dist/nodes/web-view.js +10 -24
  140. package/dist/nodes/widget.d.ts +17 -13
  141. package/dist/nodes/widget.js +185 -112
  142. package/dist/nodes/window.d.ts +20 -21
  143. package/dist/nodes/window.js +54 -35
  144. package/dist/registry.d.ts +17 -6
  145. package/dist/registry.js +104 -5
  146. package/dist/render.d.ts +1 -10
  147. package/dist/render.js +1 -13
  148. package/package.json +6 -6
  149. package/dist/animation/css-builder.d.ts +0 -3
  150. package/dist/animation/css-builder.js +0 -53
  151. package/dist/animation/types.d.ts +0 -120
  152. package/dist/animation/types.js +0 -1
  153. package/dist/nodes/abstract/positional-child.d.ts +0 -9
  154. package/dist/nodes/abstract/positional-child.js +0 -29
  155. package/dist/nodes/abstract/virtual-container.d.ts +0 -21
  156. package/dist/nodes/abstract/virtual-container.js +0 -68
  157. package/dist/nodes/abstract/virtual-single-child.d.ts +0 -18
  158. package/dist/nodes/abstract/virtual-single-child.js +0 -55
  159. package/dist/nodes/action-row-child.d.ts +0 -1
  160. package/dist/nodes/action-row-child.js +0 -30
  161. package/dist/nodes/autowrapped.d.ts +0 -1
  162. package/dist/nodes/autowrapped.js +0 -115
  163. package/dist/nodes/expander-row-child.d.ts +0 -1
  164. package/dist/nodes/expander-row-child.js +0 -30
  165. package/dist/nodes/grid.d.ts +0 -1
  166. package/dist/nodes/grid.js +0 -41
  167. package/dist/nodes/index.d.ts +0 -56
  168. package/dist/nodes/index.js +0 -56
  169. package/dist/nodes/internal/child-attachment.d.ts +0 -26
  170. package/dist/nodes/internal/child-attachment.js +0 -48
  171. package/dist/nodes/internal/deferred-action.d.ts +0 -9
  172. package/dist/nodes/internal/deferred-action.js +0 -22
  173. package/dist/nodes/internal/text-tag-styles.d.ts +0 -43
  174. package/dist/nodes/internal/text-tag-styles.js +0 -52
  175. package/dist/nodes/internal/tree-list-item-renderer.d.ts +0 -26
  176. package/dist/nodes/internal/tree-list-item-renderer.js +0 -134
  177. package/dist/nodes/internal/utils.d.ts +0 -12
  178. package/dist/nodes/internal/utils.js +0 -92
  179. package/dist/nodes/models/tree-list.d.ts +0 -28
  180. package/dist/nodes/models/tree-list.js +0 -113
  181. package/dist/nodes/pack-child.d.ts +0 -1
  182. package/dist/nodes/pack-child.js +0 -30
  183. package/dist/nodes/simple-list-item.d.ts +0 -9
  184. package/dist/nodes/simple-list-item.js +0 -9
  185. package/dist/nodes/simple-list-view.d.ts +0 -1
  186. package/dist/nodes/simple-list-view.js +0 -74
  187. package/dist/nodes/toolbar-child.d.ts +0 -1
  188. package/dist/nodes/toolbar-child.js +0 -30
  189. package/dist/nodes/tree-list-item.d.ts +0 -22
  190. package/dist/nodes/tree-list-item.js +0 -90
  191. package/dist/nodes/tree-list-view.d.ts +0 -1
  192. package/dist/nodes/tree-list-view.js +0 -77
  193. package/dist/scheduler.d.ts +0 -26
  194. package/dist/scheduler.js +0 -42
@@ -12,7 +12,7 @@ import type * as Vte from "@gtkx/ffi/vte";
12
12
  import type * as WebKit from "@gtkx/ffi/webkit";
13
13
  import type * as cairo from "@gtkx/ffi/cairo";
14
14
  /** Base props shared by all GTK widget elements. */
15
- export type WidgetProps = {
15
+ export interface WidgetProps {
16
16
  /**
17
17
  * Whether the widget or any of its descendents can accept
18
18
  * the input focus.
@@ -302,11 +302,11 @@ export type WidgetProps = {
302
302
  onNotify?: ((pspec: GObject.ParamSpec, self: Gtk.Widget) => void) | null;
303
303
  /** When set to true, the widget will grab focus. Useful for focusing a widget when a condition becomes true. */
304
304
  grabFocus?: boolean;
305
- /** Children elements. For container widgets, these are child widgets. For non-container widgets, these are event controller elements. */
305
+ /** Children elements (child widgets or event controllers). */
306
306
  children?: ReactNode;
307
- };
307
+ }
308
308
  /** Props for the {@link AdwWindow} widget. */
309
- export type AdwWindowProps = GtkWindowProps & {
309
+ export interface AdwWindowProps extends GtkWindowProps {
310
310
  /**
311
311
  * Whether adaptive preview is currently open.
312
312
  *
@@ -325,13 +325,10 @@ export type AdwWindowProps = GtkWindowProps & {
325
325
  * This property should always be used instead of {@link Window.child}.
326
326
  */
327
327
  content?: Gtk.Widget | null;
328
- /** Called when the window close button is clicked. Control window visibility using React state. */
329
- onClose?: (() => void) | null;
330
- children?: ReactNode;
331
328
  ref?: Ref<Adw.Window>;
332
- };
329
+ }
333
330
  /** Props for the {@link GtkWindow} widget. */
334
- export type GtkWindowProps = WidgetProps & {
331
+ export interface GtkWindowProps extends WidgetProps {
335
332
  /**
336
333
  * The `GtkApplication` associated with the window.
337
334
  *
@@ -469,13 +466,10 @@ export type GtkWindowProps = WidgetProps & {
469
466
  * are associated with the window changes.
470
467
  */
471
468
  onKeysChanged?: ((self: Gtk.Window) => void) | null;
472
- /** Called when the window close button is clicked. Control window visibility using React state. */
473
- onClose?: (() => void) | null;
474
- children?: ReactNode;
475
469
  ref?: Ref<Gtk.Window>;
476
- };
470
+ }
477
471
  /** Props for the {@link AdwAboutDialog} widget. */
478
- export type AdwAboutDialogProps = AdwDialogProps & {
472
+ export interface AdwAboutDialogProps extends AdwDialogProps {
479
473
  /**
480
474
  * The name of the application icon.
481
475
  *
@@ -757,11 +751,10 @@ export type AdwAboutDialogProps = AdwDialogProps & {
757
751
  * to call {@link show_uri}.
758
752
  */
759
753
  onActivateLink?: ((uri: string, self: Adw.AboutDialog) => boolean) | null;
760
- children?: ReactNode;
761
754
  ref?: Ref<Adw.AboutDialog>;
762
- };
755
+ }
763
756
  /** Props for the {@link GtkAboutDialog} widget. */
764
- export type GtkAboutDialogProps = GtkWindowProps & {
757
+ export interface GtkAboutDialogProps extends GtkWindowProps {
765
758
  /**
766
759
  * The people who contributed artwork to the program.
767
760
  *
@@ -878,7 +871,7 @@ export type GtkAboutDialogProps = GtkWindowProps & {
878
871
  */
879
872
  website?: string | null;
880
873
  /** The label for the link to the website of the program. */
881
- websiteLabel?: string | null;
874
+ websiteLabel?: string;
882
875
  /** Whether to wrap the text in the license dialog. */
883
876
  wrapLicense?: boolean;
884
877
  /**
@@ -888,16 +881,10 @@ export type GtkAboutDialogProps = GtkWindowProps & {
888
881
  * which is to call {@link FileLauncher.launch}.
889
882
  */
890
883
  onActivateLink?: ((uri: string, self: Gtk.AboutDialog) => boolean) | null;
891
- /** Custom credit sections to add to the Credits page. Each section has a name and list of people. Changes to this prop after mount are ignored. */
892
- creditSections?: Array<{
893
- name: string;
894
- people: string[];
895
- }>;
896
- children?: ReactNode;
897
884
  ref?: Ref<Gtk.AboutDialog>;
898
- };
885
+ }
899
886
  /** Props for the {@link AdwAboutWindow} widget. */
900
- export type AdwAboutWindowProps = AdwWindowProps & {
887
+ export interface AdwAboutWindowProps extends AdwWindowProps {
901
888
  /**
902
889
  * The name of the application icon.
903
890
  *
@@ -1179,18 +1166,16 @@ export type AdwAboutWindowProps = AdwWindowProps & {
1179
1166
  * to call {@link show_uri}.
1180
1167
  */
1181
1168
  onActivateLink?: ((uri: string, self: Adw.AboutWindow) => boolean) | null;
1182
- children?: ReactNode;
1183
1169
  ref?: Ref<Adw.AboutWindow>;
1184
- };
1170
+ }
1185
1171
  /** Props for the {@link GtkActionBar} widget. */
1186
- export type GtkActionBarProps = WidgetProps & {
1172
+ export interface GtkActionBarProps extends WidgetProps {
1187
1173
  /** Controls whether the action bar shows its contents. */
1188
1174
  revealed?: boolean;
1189
- children?: ReactNode;
1190
1175
  ref?: Ref<Gtk.ActionBar>;
1191
- };
1176
+ }
1192
1177
  /** Props for the {@link AdwActionRow} widget. */
1193
- export type AdwActionRowProps = AdwPreferencesRowProps & {
1178
+ export interface AdwActionRowProps extends AdwPreferencesRowProps {
1194
1179
  /**
1195
1180
  * The widget to activate when the row is activated.
1196
1181
  *
@@ -1211,7 +1196,7 @@ export type AdwActionRowProps = AdwPreferencesRowProps & {
1211
1196
  * The subtitle is interpreted as Pango markup unless
1212
1197
  * {@link AdwPreferencesRow.use-markup} is set to `FALSE`.
1213
1198
  */
1214
- subtitle?: string | null;
1199
+ subtitle?: string;
1215
1200
  /**
1216
1201
  * The number of lines at the end of which the subtitle label will be
1217
1202
  * ellipsized.
@@ -1233,11 +1218,10 @@ export type AdwActionRowProps = AdwPreferencesRowProps & {
1233
1218
  titleLines?: number;
1234
1219
  /** This signal is emitted after the row has been activated. */
1235
1220
  onActivated?: ((self: Adw.ActionRow) => void) | null;
1236
- children?: ReactNode;
1237
1221
  ref?: Ref<Adw.ActionRow>;
1238
- };
1222
+ }
1239
1223
  /** Props for the {@link AdwAlertDialog} widget. */
1240
- export type AdwAlertDialogProps = AdwDialogProps & {
1224
+ export interface AdwAlertDialogProps extends AdwDialogProps {
1241
1225
  /** The body text of the dialog. */
1242
1226
  body?: string;
1243
1227
  /**
@@ -1301,18 +1285,17 @@ export type AdwAlertDialogProps = AdwDialogProps & {
1301
1285
  * {@link AdwAlertDialog.close-response}.
1302
1286
  */
1303
1287
  onResponse?: ((response: string, self: Adw.AlertDialog) => void) | null;
1304
- children?: ReactNode;
1305
1288
  ref?: Ref<Adw.AlertDialog>;
1306
- };
1289
+ }
1307
1290
  /** Props for the {@link GtkAppChooserButton} widget. */
1308
- export type GtkAppChooserButtonProps = WidgetProps & {
1291
+ export interface GtkAppChooserButtonProps extends WidgetProps {
1309
1292
  /**
1310
1293
  * The text to show at the top of the dialog that can be
1311
1294
  * opened from the button.
1312
1295
  *
1313
1296
  * The string may contain Pango markup.
1314
1297
  */
1315
- heading?: string | null;
1298
+ heading?: string;
1316
1299
  /** Whether the app chooser dialog should be modal. */
1317
1300
  modal?: boolean;
1318
1301
  /**
@@ -1342,25 +1325,24 @@ export type GtkAppChooserButtonProps = WidgetProps & {
1342
1325
  */
1343
1326
  onCustomItemActivated?: ((itemName: string, self: Gtk.AppChooserButton) => void) | null;
1344
1327
  ref?: Ref<Gtk.AppChooserButton>;
1345
- };
1328
+ }
1346
1329
  /** Props for the {@link GtkAppChooserDialog} widget. */
1347
- export type GtkAppChooserDialogProps = GtkDialogProps & {
1330
+ export interface GtkAppChooserDialogProps extends GtkDialogProps {
1348
1331
  /**
1349
1332
  * The text to show at the top of the dialog.
1350
1333
  *
1351
1334
  * The string may contain Pango markup.
1352
1335
  */
1353
- heading?: string | null;
1354
- children?: ReactNode;
1336
+ heading?: string;
1355
1337
  ref?: Ref<Gtk.AppChooserDialog>;
1356
- };
1338
+ }
1357
1339
  /** Props for the {@link GtkAppChooserWidget} widget. */
1358
- export type GtkAppChooserWidgetProps = WidgetProps & {
1340
+ export interface GtkAppChooserWidgetProps extends WidgetProps {
1359
1341
  /**
1360
1342
  * The text that appears in the widget when there are no applications
1361
1343
  * for the given content type.
1362
1344
  */
1363
- defaultText?: string | null;
1345
+ defaultText?: string;
1364
1346
  /**
1365
1347
  * If %TRUE, the app chooser presents all applications
1366
1348
  * in a single list, without subsections for default,
@@ -1407,9 +1389,9 @@ export type GtkAppChooserWidgetProps = WidgetProps & {
1407
1389
  /** Emitted when an application item is selected from the widget's list. */
1408
1390
  onApplicationSelected?: ((application: Gio.AppInfo, self: Gtk.AppChooserWidget) => void) | null;
1409
1391
  ref?: Ref<Gtk.AppChooserWidget>;
1410
- };
1392
+ }
1411
1393
  /** Props for the {@link AdwApplicationWindow} widget. */
1412
- export type AdwApplicationWindowProps = GtkApplicationWindowProps & {
1394
+ export interface AdwApplicationWindowProps extends GtkApplicationWindowProps {
1413
1395
  /**
1414
1396
  * Whether adaptive preview is currently open.
1415
1397
  *
@@ -1428,11 +1410,10 @@ export type AdwApplicationWindowProps = GtkApplicationWindowProps & {
1428
1410
  * This property should always be used instead of {@link Window.child}.
1429
1411
  */
1430
1412
  content?: Gtk.Widget | null;
1431
- children?: ReactNode;
1432
1413
  ref?: Ref<Adw.ApplicationWindow>;
1433
- };
1414
+ }
1434
1415
  /** Props for the {@link GtkApplicationWindow} widget. */
1435
- export type GtkApplicationWindowProps = GtkWindowProps & {
1416
+ export interface GtkApplicationWindowProps extends GtkWindowProps {
1436
1417
  /**
1437
1418
  * If this property is true, the window will display a menubar
1438
1419
  * unless it is shown by the desktop shell.
@@ -1461,11 +1442,10 @@ export type GtkApplicationWindowProps = GtkWindowProps & {
1461
1442
  onActionRemoved?: ((actionName: string, self: Gtk.ApplicationWindow) => void) | null;
1462
1443
  /** Signals that the state of the named action has changed. */
1463
1444
  onActionStateChanged?: ((actionName: string, value: GLib.Variant, self: Gtk.ApplicationWindow) => void) | null;
1464
- children?: ReactNode;
1465
1445
  ref?: Ref<Gtk.ApplicationWindow>;
1466
- };
1446
+ }
1467
1447
  /** Props for the {@link GtkAspectFrame} widget. */
1468
- export type GtkAspectFrameProps = WidgetProps & {
1448
+ export interface GtkAspectFrameProps extends WidgetProps {
1469
1449
  /** The child widget. */
1470
1450
  child?: Gtk.Widget | null;
1471
1451
  /** Whether the `GtkAspectFrame` should use the aspect ratio of its child. */
@@ -1481,11 +1461,10 @@ export type GtkAspectFrameProps = WidgetProps & {
1481
1461
  xalign?: number;
1482
1462
  /** The vertical alignment of the child. */
1483
1463
  yalign?: number;
1484
- children?: ReactNode;
1485
1464
  ref?: Ref<Gtk.AspectFrame>;
1486
- };
1465
+ }
1487
1466
  /** Props for the {@link GtkAssistant} widget. */
1488
- export type GtkAssistantProps = GtkWindowProps & {
1467
+ export interface GtkAssistantProps extends GtkWindowProps {
1489
1468
  /**
1490
1469
  * Emitted when the apply button is clicked.
1491
1470
  *
@@ -1502,12 +1481,6 @@ export type GtkAssistantProps = GtkWindowProps & {
1502
1481
  onApply?: ((self: Gtk.Assistant) => void) | null;
1503
1482
  /** Emitted when then the cancel button is clicked. */
1504
1483
  onCancel?: ((self: Gtk.Assistant) => void) | null;
1505
- /**
1506
- * Emitted either when the close button of a summary page is clicked,
1507
- * or when the apply button in the last page in the flow (of type
1508
- * %GTK_ASSISTANT_PAGE_CONFIRM) is clicked.
1509
- */
1510
- onClose?: ((self: Gtk.Assistant) => void) | null;
1511
1484
  /** The action signal for the Escape binding. */
1512
1485
  onEscape?: ((self: Gtk.Assistant) => void) | null;
1513
1486
  /**
@@ -1518,11 +1491,10 @@ export type GtkAssistantProps = GtkWindowProps & {
1518
1491
  * necessary before showing `page`.
1519
1492
  */
1520
1493
  onPrepare?: ((page: Gtk.Widget, self: Gtk.Assistant) => void) | null;
1521
- children?: ReactNode;
1522
1494
  ref?: Ref<Gtk.Assistant>;
1523
- };
1495
+ }
1524
1496
  /** Props for the {@link AdwAvatar} widget. */
1525
- export type AdwAvatarProps = WidgetProps & {
1497
+ export interface AdwAvatarProps extends WidgetProps {
1526
1498
  /**
1527
1499
  * A custom image paintable.
1528
1500
  *
@@ -1551,9 +1523,9 @@ export type AdwAvatarProps = WidgetProps & {
1551
1523
  */
1552
1524
  text?: string | null;
1553
1525
  ref?: Ref<Adw.Avatar>;
1554
- };
1526
+ }
1555
1527
  /** Props for the {@link AdwBanner} widget. */
1556
- export type AdwBannerProps = WidgetProps & {
1528
+ export interface AdwBannerProps extends WidgetProps {
1557
1529
  /**
1558
1530
  * The label to show on the button.
1559
1531
  *
@@ -1597,16 +1569,15 @@ export type AdwBannerProps = WidgetProps & {
1597
1569
  */
1598
1570
  onButtonClicked?: ((self: Adw.Banner) => void) | null;
1599
1571
  ref?: Ref<Adw.Banner>;
1600
- };
1572
+ }
1601
1573
  /** Props for the {@link AdwBin} widget. */
1602
- export type AdwBinProps = WidgetProps & {
1574
+ export interface AdwBinProps extends WidgetProps {
1603
1575
  /** The child widget of the `AdwBin`. */
1604
1576
  child?: Gtk.Widget | null;
1605
- children?: ReactNode;
1606
1577
  ref?: Ref<Adw.Bin>;
1607
- };
1578
+ }
1608
1579
  /** Props for the {@link AdwBottomSheet} widget. */
1609
- export type AdwBottomSheetProps = WidgetProps & {
1580
+ export interface AdwBottomSheetProps extends WidgetProps {
1610
1581
  /**
1611
1582
  * Horizontal alignment of the bottom sheet.
1612
1583
  *
@@ -1701,11 +1672,10 @@ export type AdwBottomSheetProps = WidgetProps & {
1701
1672
  * {@link AdwDialog.can-close} is set to `FALSE`.
1702
1673
  */
1703
1674
  onCloseAttempt?: ((self: Adw.BottomSheet) => void) | null;
1704
- children?: ReactNode;
1705
1675
  ref?: Ref<Adw.BottomSheet>;
1706
- };
1676
+ }
1707
1677
  /** Props for the {@link GtkBox} widget. */
1708
- export type GtkBoxProps = WidgetProps & {
1678
+ export interface GtkBoxProps extends WidgetProps {
1709
1679
  /**
1710
1680
  * The position of the child that determines the baseline.
1711
1681
  *
@@ -1720,18 +1690,16 @@ export type GtkBoxProps = WidgetProps & {
1720
1690
  spacing?: number;
1721
1691
  /** The orientation of the orientable. */
1722
1692
  orientation?: Gtk.Orientation;
1723
- children?: ReactNode;
1724
1693
  ref?: Ref<Gtk.Box>;
1725
- };
1694
+ }
1726
1695
  /** Props for the {@link AdwBreakpointBin} widget. */
1727
- export type AdwBreakpointBinProps = WidgetProps & {
1696
+ export interface AdwBreakpointBinProps extends WidgetProps {
1728
1697
  /** The child widget. */
1729
1698
  child?: Gtk.Widget | null;
1730
- children?: ReactNode;
1731
1699
  ref?: Ref<Adw.BreakpointBin>;
1732
- };
1700
+ }
1733
1701
  /** Props for the {@link GtkButton} widget. */
1734
- export type GtkButtonProps = WidgetProps & {
1702
+ export interface GtkButtonProps extends WidgetProps {
1735
1703
  /**
1736
1704
  * Whether the size of the button can be made smaller than the natural
1737
1705
  * size of its contents.
@@ -1747,9 +1715,9 @@ export type GtkButtonProps = WidgetProps & {
1747
1715
  /** Whether the button has a frame. */
1748
1716
  hasFrame?: boolean;
1749
1717
  /** The name of the icon used to automatically populate the button. */
1750
- iconName?: string | null;
1718
+ iconName?: string;
1751
1719
  /** Text of the label inside the button, if the button contains a label widget. */
1752
- label?: string | null;
1720
+ label?: string;
1753
1721
  /**
1754
1722
  * If set, an underline in the text indicates that the following character is
1755
1723
  * to be used as mnemonic.
@@ -1771,11 +1739,10 @@ export type GtkButtonProps = WidgetProps & {
1771
1739
  onActivate?: ((self: Gtk.Button) => void) | null;
1772
1740
  /** Emitted when the button has been activated (pressed and released). */
1773
1741
  onClicked?: ((self: Gtk.Button) => void) | null;
1774
- children?: ReactNode;
1775
1742
  ref?: Ref<Gtk.Button>;
1776
- };
1743
+ }
1777
1744
  /** Props for the {@link AdwButtonContent} widget. */
1778
- export type AdwButtonContentProps = WidgetProps & {
1745
+ export interface AdwButtonContentProps extends WidgetProps {
1779
1746
  /**
1780
1747
  * Whether the button can be smaller than the natural size of its contents.
1781
1748
  *
@@ -1801,20 +1768,19 @@ export type AdwButtonContentProps = WidgetProps & {
1801
1768
  */
1802
1769
  useUnderline?: boolean;
1803
1770
  ref?: Ref<Adw.ButtonContent>;
1804
- };
1771
+ }
1805
1772
  /** Props for the {@link AdwButtonRow} widget. */
1806
- export type AdwButtonRowProps = AdwPreferencesRowProps & {
1773
+ export interface AdwButtonRowProps extends AdwPreferencesRowProps {
1807
1774
  /** The icon name to show after the title. */
1808
1775
  endIconName?: string | null;
1809
1776
  /** The icon name to show before the title. */
1810
1777
  startIconName?: string | null;
1811
1778
  /** This signal is emitted after the row has been activated. */
1812
1779
  onActivated?: ((self: Adw.ButtonRow) => void) | null;
1813
- children?: ReactNode;
1814
1780
  ref?: Ref<Adw.ButtonRow>;
1815
- };
1781
+ }
1816
1782
  /** Props for the {@link GtkCalendar} widget. */
1817
- export type GtkCalendarProps = WidgetProps & {
1783
+ export interface GtkCalendarProps extends WidgetProps {
1818
1784
  /**
1819
1785
  * The selected date.
1820
1786
  *
@@ -1851,12 +1817,10 @@ export type GtkCalendarProps = WidgetProps & {
1851
1817
  onPrevMonth?: ((self: Gtk.Calendar) => void) | null;
1852
1818
  /** Emitted when user switches to the previous year. */
1853
1819
  onPrevYear?: ((self: Gtk.Calendar) => void) | null;
1854
- /** Array of day numbers (1-31) to mark on the calendar */
1855
- markedDays?: number[] | null;
1856
1820
  ref?: Ref<Gtk.Calendar>;
1857
- };
1821
+ }
1858
1822
  /** Props for the {@link AdwCarousel} widget. */
1859
- export type AdwCarouselProps = WidgetProps & {
1823
+ export interface AdwCarouselProps extends WidgetProps {
1860
1824
  /**
1861
1825
  * Whether to allow swiping for more than one page at a time.
1862
1826
  *
@@ -1912,29 +1876,26 @@ export type AdwCarouselProps = WidgetProps & {
1912
1876
  * An empty carousel is indicated by `(int)index == -1`.
1913
1877
  */
1914
1878
  onPageChanged?: ((index: number, self: Adw.Carousel) => void) | null;
1915
- children?: ReactNode;
1916
1879
  ref?: Ref<Adw.Carousel>;
1917
- };
1880
+ }
1918
1881
  /** Props for the {@link AdwCarouselIndicatorDots} widget. */
1919
- export type AdwCarouselIndicatorDotsProps = WidgetProps & {
1882
+ export interface AdwCarouselIndicatorDotsProps extends WidgetProps {
1920
1883
  /** The displayed carousel. */
1921
1884
  carousel?: Adw.Carousel | null;
1922
1885
  /** The orientation of the orientable. */
1923
1886
  orientation?: Gtk.Orientation;
1924
- children?: ReactNode;
1925
1887
  ref?: Ref<Adw.CarouselIndicatorDots>;
1926
- };
1888
+ }
1927
1889
  /** Props for the {@link AdwCarouselIndicatorLines} widget. */
1928
- export type AdwCarouselIndicatorLinesProps = WidgetProps & {
1890
+ export interface AdwCarouselIndicatorLinesProps extends WidgetProps {
1929
1891
  /** The displayed carousel. */
1930
1892
  carousel?: Adw.Carousel | null;
1931
1893
  /** The orientation of the orientable. */
1932
1894
  orientation?: Gtk.Orientation;
1933
- children?: ReactNode;
1934
1895
  ref?: Ref<Adw.CarouselIndicatorLines>;
1935
- };
1896
+ }
1936
1897
  /** Props for the {@link GtkCellView} widget. */
1937
- export type GtkCellViewProps = WidgetProps & {
1898
+ export interface GtkCellViewProps extends WidgetProps {
1938
1899
  /**
1939
1900
  * Whether all cells should be draw as sensitive for this view regardless
1940
1901
  * of the actual cell properties (used to make menus with submenus appear
@@ -1961,9 +1922,9 @@ export type GtkCellViewProps = WidgetProps & {
1961
1922
  /** The orientation of the orientable. */
1962
1923
  orientation?: Gtk.Orientation;
1963
1924
  ref?: Ref<Gtk.CellView>;
1964
- };
1925
+ }
1965
1926
  /** Props for the {@link GtkCenterBox} widget. */
1966
- export type GtkCenterBoxProps = WidgetProps & {
1927
+ export interface GtkCenterBoxProps extends WidgetProps {
1967
1928
  /** The position of the baseline aligned widget if extra space is available. */
1968
1929
  baselinePosition?: Gtk.BaselinePosition;
1969
1930
  /** The widget that is placed at the center position. */
@@ -1997,11 +1958,10 @@ export type GtkCenterBoxProps = WidgetProps & {
1997
1958
  startWidget?: Gtk.Widget | null;
1998
1959
  /** The orientation of the orientable. */
1999
1960
  orientation?: Gtk.Orientation;
2000
- children?: ReactNode;
2001
1961
  ref?: Ref<Gtk.CenterBox>;
2002
- };
1962
+ }
2003
1963
  /** Props for the {@link GtkCheckButton} widget. */
2004
- export type GtkCheckButtonProps = WidgetProps & {
1964
+ export interface GtkCheckButtonProps extends WidgetProps {
2005
1965
  /**
2006
1966
  * If the check button is active.
2007
1967
  *
@@ -2012,7 +1972,7 @@ export type GtkCheckButtonProps = WidgetProps & {
2012
1972
  /** The child widget. */
2013
1973
  child?: Gtk.Widget | null;
2014
1974
  /** The check button whose group this widget belongs to. */
2015
- group?: Gtk.CheckButton;
1975
+ group?: Gtk.CheckButton | null;
2016
1976
  /**
2017
1977
  * If the check button is in an “in between” state.
2018
1978
  *
@@ -2049,11 +2009,10 @@ export type GtkCheckButtonProps = WidgetProps & {
2049
2009
  * property changes.
2050
2010
  */
2051
2011
  onToggled?: ((self: Gtk.CheckButton) => void) | null;
2052
- children?: ReactNode;
2053
2012
  ref?: Ref<Gtk.CheckButton>;
2054
- };
2013
+ }
2055
2014
  /** Props for the {@link AdwClamp} widget. */
2056
- export type AdwClampProps = WidgetProps & {
2015
+ export interface AdwClampProps extends WidgetProps {
2057
2016
  /** The child widget of the `AdwClamp`. */
2058
2017
  child?: Gtk.Widget | null;
2059
2018
  /**
@@ -2087,11 +2046,10 @@ export type AdwClampProps = WidgetProps & {
2087
2046
  unit?: Adw.LengthUnit;
2088
2047
  /** The orientation of the orientable. */
2089
2048
  orientation?: Gtk.Orientation;
2090
- children?: ReactNode;
2091
2049
  ref?: Ref<Adw.Clamp>;
2092
- };
2050
+ }
2093
2051
  /** Props for the {@link AdwClampScrollable} widget. */
2094
- export type AdwClampScrollableProps = WidgetProps & {
2052
+ export interface AdwClampScrollableProps extends WidgetProps {
2095
2053
  /** The child widget of the `AdwClampScrollable`. */
2096
2054
  child?: Gtk.Widget | null;
2097
2055
  /**
@@ -2141,11 +2099,10 @@ export type AdwClampScrollableProps = WidgetProps & {
2141
2099
  vadjustment?: Gtk.Adjustment;
2142
2100
  /** Determines when vertical scrolling should start. */
2143
2101
  vscrollPolicy?: Gtk.ScrollablePolicy;
2144
- children?: ReactNode;
2145
2102
  ref?: Ref<Adw.ClampScrollable>;
2146
- };
2103
+ }
2147
2104
  /** Props for the {@link GtkColorButton} widget. */
2148
- export type GtkColorButtonProps = WidgetProps & {
2105
+ export interface GtkColorButtonProps extends WidgetProps {
2149
2106
  /** Whether the color chooser dialog should be modal. */
2150
2107
  modal?: boolean;
2151
2108
  /**
@@ -2203,9 +2160,9 @@ export type GtkColorButtonProps = WidgetProps & {
2203
2160
  */
2204
2161
  onColorActivated?: ((color: Gdk.RGBA, self: Gtk.ColorButton) => void) | null;
2205
2162
  ref?: Ref<Gtk.ColorButton>;
2206
- };
2163
+ }
2207
2164
  /** Props for the {@link GtkColorChooserDialog} widget. */
2208
- export type GtkColorChooserDialogProps = GtkDialogProps & {
2165
+ export interface GtkColorChooserDialogProps extends GtkDialogProps {
2209
2166
  /**
2210
2167
  * Whether the color chooser dialog is showing the single-color editor.
2211
2168
  *
@@ -2238,11 +2195,10 @@ export type GtkColorChooserDialogProps = GtkDialogProps & {
2238
2195
  * Space, Shift+Space, Return or Enter.
2239
2196
  */
2240
2197
  onColorActivated?: ((color: Gdk.RGBA, self: Gtk.ColorChooserDialog) => void) | null;
2241
- children?: ReactNode;
2242
2198
  ref?: Ref<Gtk.ColorChooserDialog>;
2243
- };
2199
+ }
2244
2200
  /** Props for the {@link GtkColorChooserWidget} widget. */
2245
- export type GtkColorChooserWidgetProps = WidgetProps & {
2201
+ export interface GtkColorChooserWidgetProps extends WidgetProps {
2246
2202
  /**
2247
2203
  * %TRUE when the color chooser is showing the single-color editor.
2248
2204
  *
@@ -2276,14 +2232,9 @@ export type GtkColorChooserWidgetProps = WidgetProps & {
2276
2232
  */
2277
2233
  onColorActivated?: ((color: Gdk.RGBA, self: Gtk.ColorChooserWidget) => void) | null;
2278
2234
  ref?: Ref<Gtk.ColorChooserWidget>;
2279
- };
2235
+ }
2280
2236
  /** Props for the {@link GtkColorDialogButton} widget. */
2281
- export type GtkColorDialogButtonProps = WidgetProps & {
2282
- /**
2283
- * The `GtkColorDialog` that contains parameters for
2284
- * the color chooser dialog.
2285
- */
2286
- dialog?: Gtk.ColorDialog | null;
2237
+ export interface GtkColorDialogButtonProps extends WidgetProps {
2287
2238
  /**
2288
2239
  * The selected color.
2289
2240
  *
@@ -2302,18 +2253,10 @@ export type GtkColorDialogButtonProps = WidgetProps & {
2302
2253
  * and emitting it causes the button to pop up its dialog.
2303
2254
  */
2304
2255
  onActivate?: ((self: Gtk.ColorDialogButton) => void) | null;
2305
- /** Callback when the selected color changes */
2306
- onRgbaChanged?: ((rgba: Gdk.RGBA) => void) | null;
2307
- /** Title for the color dialog */
2308
- title?: string;
2309
- /** Whether the dialog is modal */
2310
- modal?: boolean;
2311
- /** Whether to show the alpha channel selector */
2312
- withAlpha?: boolean;
2313
2256
  ref?: Ref<Gtk.ColorDialogButton>;
2314
- };
2257
+ }
2315
2258
  /** Props for the {@link GtkColumnView} widget. */
2316
- export type GtkColumnViewProps = WidgetProps & {
2259
+ export interface GtkColumnViewProps extends WidgetProps {
2317
2260
  /** Allow rubberband selection. */
2318
2261
  enableRubberband?: boolean;
2319
2262
  /**
@@ -2363,25 +2306,10 @@ export type GtkColumnViewProps = WidgetProps & {
2363
2306
  * signal.
2364
2307
  */
2365
2308
  onActivate?: ((position: number, self: Gtk.ColumnView) => void) | null;
2366
- /** Array of selected item IDs */
2367
- selected?: string[] | null;
2368
- /** Called when selection changes with array of selected item IDs */
2369
- onSelectionChanged?: ((ids: string[]) => void) | null;
2370
- /** Selection mode: SINGLE (default) or MULTIPLE */
2371
- selectionMode?: Gtk.SelectionMode | null;
2372
- /** ID of the currently sorted column, or null if unsorted */
2373
- sortColumn?: string | null;
2374
- /** The current sort direction */
2375
- sortOrder?: Gtk.SortType | null;
2376
- /** Called when a column header is clicked to change sort */
2377
- onSortChanged?: ((column: string | null, order: Gtk.SortType) => void) | null;
2378
- /** Estimated row height in pixels for proper virtualization before content loads */
2379
- estimatedRowHeight?: number | null;
2380
- children?: ReactNode;
2381
2309
  ref?: Ref<Gtk.ColumnView>;
2382
- };
2310
+ }
2383
2311
  /** Props for the {@link GtkComboBox} widget. */
2384
- export type GtkComboBoxProps = WidgetProps & {
2312
+ export interface GtkComboBoxProps extends WidgetProps {
2385
2313
  /**
2386
2314
  * The item which is currently active.
2387
2315
  *
@@ -2523,16 +2451,14 @@ export type GtkComboBoxProps = WidgetProps & {
2523
2451
  * for emitting `GtkCellEditable::remove-widget`.
2524
2452
  */
2525
2453
  onRemoveWidget?: ((self: Gtk.ComboBox) => void) | null;
2526
- children?: ReactNode;
2527
2454
  ref?: Ref<Gtk.ComboBox>;
2528
- };
2455
+ }
2529
2456
  /** Props for the {@link GtkComboBoxText} widget. */
2530
- export type GtkComboBoxTextProps = GtkComboBoxProps & {
2531
- children?: ReactNode;
2457
+ export interface GtkComboBoxTextProps extends GtkComboBoxProps {
2532
2458
  ref?: Ref<Gtk.ComboBoxText>;
2533
- };
2459
+ }
2534
2460
  /** Props for the {@link AdwComboRow} widget. */
2535
- export type AdwComboRowProps = AdwActionRowProps & {
2461
+ export interface AdwComboRowProps extends AdwActionRowProps {
2536
2462
  /**
2537
2463
  * Whether to show a search entry in the popup.
2538
2464
  *
@@ -2542,40 +2468,10 @@ export type AdwComboRowProps = AdwActionRowProps & {
2542
2468
  * Search requires {@link AdwComboRow.expression} to be set.
2543
2469
  */
2544
2470
  enableSearch?: boolean;
2545
- /**
2546
- * An expression used to obtain strings from items.
2547
- *
2548
- * The expression must have a value type of `G_TYPE_STRING`.
2549
- *
2550
- * It's used to bind strings to labels produced by the default factory if
2551
- * {@link AdwComboRow.factory} is not set, or when
2552
- * {@link AdwComboRow.use-subtitle} is set to `TRUE`.
2553
- */
2554
- expression?: Gtk.Expression | null;
2555
- /**
2556
- * Factory for populating list items.
2557
- *
2558
- * This factory is always used for the item in the row. It is also used for
2559
- * items in the popup unless {@link AdwComboRow.list-factory} is set.
2560
- */
2561
- factory?: Gtk.ListItemFactory | null;
2562
2471
  /** The factory for creating header widgets for the popup. */
2563
2472
  headerFactory?: Gtk.ListItemFactory | null;
2564
- /**
2565
- * The factory for populating list items in the popup.
2566
- *
2567
- * If this is not set, {@link AdwComboRow.factory} is used.
2568
- */
2569
- listFactory?: Gtk.ListItemFactory | null;
2570
2473
  /** The match mode for the search filter. */
2571
2474
  searchMatchMode?: Gtk.StringFilterMatchMode;
2572
- /**
2573
- * The position of the selected item.
2574
- *
2575
- * If no item is selected, the property has the value
2576
- * {@link INVALID_LIST_POSITION}
2577
- */
2578
- selected?: number;
2579
2475
  /**
2580
2476
  * Whether to use the current value as the subtitle.
2581
2477
  *
@@ -2588,24 +2484,18 @@ export type AdwComboRowProps = AdwActionRowProps & {
2588
2484
  * {@link AdwPreferencesRow.use-markup} is set to `TRUE`.
2589
2485
  */
2590
2486
  useSubtitle?: boolean;
2591
- /** ID of the initially selected item */
2592
- selectedId?: string | null;
2593
- /** Called when selection changes with the selected item's ID */
2594
- onSelectionChanged?: ((id: string) => void) | null;
2595
- children?: ReactNode;
2596
2487
  ref?: Ref<Adw.ComboRow>;
2597
- };
2488
+ }
2598
2489
  /** Props for the {@link GtkSourceCompletionCell} widget. */
2599
- export type GtkSourceCompletionCellProps = WidgetProps & {
2490
+ export interface GtkSourceCompletionCellProps extends WidgetProps {
2600
2491
  markup?: string;
2601
2492
  paintable?: Gdk.Paintable;
2602
- text?: string;
2603
- widget?: Gtk.Widget | null;
2604
- children?: ReactNode;
2493
+ text?: string | null;
2494
+ widget?: Gtk.Widget;
2605
2495
  ref?: Ref<GtkSource.CompletionCell>;
2606
- };
2496
+ }
2607
2497
  /** Props for the {@link AdwDialog} widget. */
2608
- export type AdwDialogProps = WidgetProps & {
2498
+ export interface AdwDialogProps extends WidgetProps {
2609
2499
  /**
2610
2500
  * Whether the dialog can be closed.
2611
2501
  *
@@ -2675,19 +2565,10 @@ export type AdwDialogProps = WidgetProps & {
2675
2565
  onCloseAttempt?: ((self: Adw.Dialog) => void) | null;
2676
2566
  /** Emitted when the dialog is successfully closed. */
2677
2567
  onClosed?: ((self: Adw.Dialog) => void) | null;
2678
- children?: ReactNode;
2679
2568
  ref?: Ref<Adw.Dialog>;
2680
- };
2569
+ }
2681
2570
  /** Props for the {@link GtkDialog} widget. */
2682
- export type GtkDialogProps = GtkWindowProps & {
2683
- /**
2684
- * Emitted when the user uses a keybinding to close the dialog.
2685
- *
2686
- * This is a keybinding signal.
2687
- *
2688
- * The default binding for this signal is the Escape key.
2689
- */
2690
- onClose?: ((self: Gtk.Dialog) => void) | null;
2571
+ export interface GtkDialogProps extends GtkWindowProps {
2691
2572
  /**
2692
2573
  * Emitted when an action widget is clicked.
2693
2574
  *
@@ -2697,18 +2578,16 @@ export type GtkDialogProps = GtkWindowProps & {
2697
2578
  * Otherwise, it depends on which action widget was clicked.
2698
2579
  */
2699
2580
  onResponse?: ((responseId: number, self: Gtk.Dialog) => void) | null;
2700
- children?: ReactNode;
2701
2581
  ref?: Ref<Gtk.Dialog>;
2702
- };
2582
+ }
2703
2583
  /** Props for the {@link GtkDragIcon} widget. */
2704
- export type GtkDragIconProps = WidgetProps & {
2584
+ export interface GtkDragIconProps extends WidgetProps {
2705
2585
  /** The widget to display as drag icon. */
2706
2586
  child?: Gtk.Widget | null;
2707
- children?: ReactNode;
2708
2587
  ref?: Ref<Gtk.DragIcon>;
2709
- };
2588
+ }
2710
2589
  /** Props for the {@link GtkDrawingArea} widget. */
2711
- export type GtkDrawingAreaProps = WidgetProps & {
2590
+ export interface GtkDrawingAreaProps extends WidgetProps {
2712
2591
  /** The content height. */
2713
2592
  contentHeight?: number;
2714
2593
  /** The content width. */
@@ -2721,18 +2600,10 @@ export type GtkDrawingAreaProps = WidgetProps & {
2721
2600
  * like for instance a backing surface.
2722
2601
  */
2723
2602
  onResize?: ((width: number, height: number, self: Gtk.DrawingArea) => void) | null;
2724
- /**
2725
- * Called to draw the contents of the drawing area.
2726
- * @param self - The drawing area widget
2727
- * @param cr - The Cairo context to draw with
2728
- * @param width - The actual width of the drawing area
2729
- * @param height - The actual height of the drawing area
2730
- */
2731
- onDraw?: ((self: Gtk.DrawingArea, cr: cairo.Context, width: number, height: number) => void) | null;
2732
2603
  ref?: Ref<Gtk.DrawingArea>;
2733
- };
2604
+ }
2734
2605
  /** Props for the {@link GtkDropDown} widget. */
2735
- export type GtkDropDownProps = WidgetProps & {
2606
+ export interface GtkDropDownProps extends WidgetProps {
2736
2607
  /**
2737
2608
  * Whether to show a search entry in the popup.
2738
2609
  *
@@ -2740,34 +2611,10 @@ export type GtkDropDownProps = WidgetProps & {
2740
2611
  * to be set.
2741
2612
  */
2742
2613
  enableSearch?: boolean;
2743
- /**
2744
- * An expression to evaluate to obtain strings to match against the search
2745
- * term.
2746
- *
2747
- * See {@link DropDown.enable-search} for how to enable search.
2748
- * If {@link DropDown.factory} is not set, the expression is also
2749
- * used to bind strings to labels produced by a default factory.
2750
- */
2751
- expression?: Gtk.Expression | null;
2752
- /** Factory for populating list items. */
2753
- factory?: Gtk.ListItemFactory | null;
2754
2614
  /** The factory for creating header widgets for the popup. */
2755
2615
  headerFactory?: Gtk.ListItemFactory | null;
2756
- /**
2757
- * The factory for populating list items in the popup.
2758
- *
2759
- * If this is not set, {@link DropDown.factory} is used.
2760
- */
2761
- listFactory?: Gtk.ListItemFactory | null;
2762
2616
  /** The match mode for the search filter. */
2763
2617
  searchMatchMode?: Gtk.StringFilterMatchMode;
2764
- /**
2765
- * The position of the selected item.
2766
- *
2767
- * If no item is selected, the property has the value
2768
- * %GTK_INVALID_LIST_POSITION.
2769
- */
2770
- selected?: number;
2771
2618
  /** Whether to show an arrow within the GtkDropDown widget. */
2772
2619
  showArrow?: boolean;
2773
2620
  /**
@@ -2777,15 +2624,10 @@ export type GtkDropDownProps = WidgetProps & {
2777
2624
  * emitting it causes the drop down to pop up its dropdown.
2778
2625
  */
2779
2626
  onActivate?: ((self: Gtk.DropDown) => void) | null;
2780
- /** ID of the initially selected item */
2781
- selectedId?: string | null;
2782
- /** Called when selection changes with the selected item's ID */
2783
- onSelectionChanged?: ((id: string) => void) | null;
2784
- children?: ReactNode;
2785
2627
  ref?: Ref<Gtk.DropDown>;
2786
- };
2628
+ }
2787
2629
  /** Props for the {@link GtkEditableLabel} widget. */
2788
- export type GtkEditableLabelProps = WidgetProps & {
2630
+ export interface GtkEditableLabelProps extends WidgetProps {
2789
2631
  /** This property is %TRUE while the widget is in edit mode. */
2790
2632
  editing?: boolean;
2791
2633
  /** Whether the entry contents can be edited. */
@@ -2837,16 +2679,15 @@ export type GtkEditableLabelProps = WidgetProps & {
2837
2679
  */
2838
2680
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Gtk.EditableLabel) => void) | null;
2839
2681
  ref?: Ref<Gtk.EditableLabel>;
2840
- };
2682
+ }
2841
2683
  /** Props for the {@link GtkEmojiChooser} widget. */
2842
- export type GtkEmojiChooserProps = GtkPopoverProps & {
2684
+ export interface GtkEmojiChooserProps extends GtkPopoverProps {
2843
2685
  /** Emitted when the user selects an Emoji. */
2844
2686
  onEmojiPicked?: ((text: string, self: Gtk.EmojiChooser) => void) | null;
2845
- children?: ReactNode;
2846
2687
  ref?: Ref<Gtk.EmojiChooser>;
2847
- };
2688
+ }
2848
2689
  /** Props for the {@link GtkEntry} widget. */
2849
- export type GtkEntryProps = WidgetProps & {
2690
+ export interface GtkEntryProps extends WidgetProps {
2850
2691
  /** Whether to activate the default widget when Enter is pressed. */
2851
2692
  activatesDefault?: boolean;
2852
2693
  /**
@@ -2857,7 +2698,7 @@ export type GtkEntryProps = WidgetProps & {
2857
2698
  * The `PangoAttribute`'s `start_index` and `end_index` must refer to the
2858
2699
  * {@link EntryBuffer} text, i.e. without the preedit string.
2859
2700
  */
2860
- attributes?: Pango.AttrList | null;
2701
+ attributes?: Pango.AttrList;
2861
2702
  /** The buffer object which actually stores the text. */
2862
2703
  buffer?: Gtk.EntryBuffer;
2863
2704
  /** The auxiliary completion object to use with the entry. */
@@ -3136,11 +2977,10 @@ export type GtkEntryProps = WidgetProps & {
3136
2977
  * to modify the inserted text, or prevent it from being inserted entirely.
3137
2978
  */
3138
2979
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Gtk.Entry) => void) | null;
3139
- children?: ReactNode;
3140
2980
  ref?: Ref<Gtk.Entry>;
3141
- };
2981
+ }
3142
2982
  /** Props for the {@link AdwEntryRow} widget. */
3143
- export type AdwEntryRowProps = AdwPreferencesRowProps & {
2983
+ export interface AdwEntryRowProps extends AdwPreferencesRowProps {
3144
2984
  /** Whether activating the embedded entry can activate the default widget. */
3145
2985
  activatesDefault?: boolean;
3146
2986
  /**
@@ -3240,11 +3080,10 @@ export type AdwEntryRowProps = AdwPreferencesRowProps & {
3240
3080
  * to modify the inserted text, or prevent it from being inserted entirely.
3241
3081
  */
3242
3082
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Adw.EntryRow) => void) | null;
3243
- children?: ReactNode;
3244
3083
  ref?: Ref<Adw.EntryRow>;
3245
- };
3084
+ }
3246
3085
  /** Props for the {@link GtkExpander} widget. */
3247
- export type GtkExpanderProps = WidgetProps & {
3086
+ export interface GtkExpanderProps extends WidgetProps {
3248
3087
  /** The child widget. */
3249
3088
  child?: Gtk.Widget | null;
3250
3089
  /** Whether the expander has been opened to reveal the child. */
@@ -3264,11 +3103,10 @@ export type GtkExpanderProps = WidgetProps & {
3264
3103
  useUnderline?: boolean;
3265
3104
  /** Activates the `GtkExpander`. */
3266
3105
  onActivate?: ((self: Gtk.Expander) => void) | null;
3267
- children?: ReactNode;
3268
3106
  ref?: Ref<Gtk.Expander>;
3269
- };
3107
+ }
3270
3108
  /** Props for the {@link AdwExpanderRow} widget. */
3271
- export type AdwExpanderRowProps = AdwPreferencesRowProps & {
3109
+ export interface AdwExpanderRowProps extends AdwPreferencesRowProps {
3272
3110
  /** Whether expansion is enabled. */
3273
3111
  enableExpansion?: boolean;
3274
3112
  /** Whether the row is expanded. */
@@ -3297,11 +3135,10 @@ export type AdwExpanderRowProps = AdwPreferencesRowProps & {
3297
3135
  * If the value is 0, the number of lines won't be limited.
3298
3136
  */
3299
3137
  titleLines?: number;
3300
- children?: ReactNode;
3301
3138
  ref?: Ref<Adw.ExpanderRow>;
3302
- };
3139
+ }
3303
3140
  /** Props for the {@link GtkFileChooserDialog} widget. */
3304
- export type GtkFileChooserDialogProps = GtkDialogProps & {
3141
+ export interface GtkFileChooserDialogProps extends GtkDialogProps {
3305
3142
  /** The type of operation that the file chooser is performing. */
3306
3143
  action?: Gtk.FileChooserAction;
3307
3144
  /**
@@ -3313,11 +3150,10 @@ export type GtkFileChooserDialogProps = GtkDialogProps & {
3313
3150
  filter?: Gtk.FileFilter;
3314
3151
  /** Whether to allow multiple files to be selected. */
3315
3152
  selectMultiple?: boolean;
3316
- children?: ReactNode;
3317
3153
  ref?: Ref<Gtk.FileChooserDialog>;
3318
- };
3154
+ }
3319
3155
  /** Props for the {@link GtkFileChooserWidget} widget. */
3320
- export type GtkFileChooserWidgetProps = WidgetProps & {
3156
+ export interface GtkFileChooserWidgetProps extends WidgetProps {
3321
3157
  /** Whether search mode is enabled. */
3322
3158
  searchMode?: boolean;
3323
3159
  /** The type of operation that the file chooser is performing. */
@@ -3476,14 +3312,13 @@ export type GtkFileChooserWidgetProps = WidgetProps & {
3476
3312
  */
3477
3313
  onUpFolder?: ((self: Gtk.FileChooserWidget) => void) | null;
3478
3314
  ref?: Ref<Gtk.FileChooserWidget>;
3479
- };
3315
+ }
3480
3316
  /** Props for the {@link GtkFixed} widget. */
3481
- export type GtkFixedProps = WidgetProps & {
3482
- children?: ReactNode;
3317
+ export interface GtkFixedProps extends WidgetProps {
3483
3318
  ref?: Ref<Gtk.Fixed>;
3484
- };
3319
+ }
3485
3320
  /** Props for the {@link AdwFlap} widget. */
3486
- export type AdwFlapProps = WidgetProps & {
3321
+ export interface AdwFlapProps extends WidgetProps {
3487
3322
  /**
3488
3323
  * The content widget.
3489
3324
  *
@@ -3579,11 +3414,10 @@ export type AdwFlapProps = WidgetProps & {
3579
3414
  transitionType?: Adw.FlapTransitionType;
3580
3415
  /** The orientation of the orientable. */
3581
3416
  orientation?: Gtk.Orientation;
3582
- children?: ReactNode;
3583
3417
  ref?: Ref<Adw.Flap>;
3584
- };
3418
+ }
3585
3419
  /** Props for the {@link GtkFlowBox} widget. */
3586
- export type GtkFlowBoxProps = WidgetProps & {
3420
+ export interface GtkFlowBoxProps extends WidgetProps {
3587
3421
  /** Whether to accept unpaired release events. */
3588
3422
  acceptUnpairedRelease?: boolean;
3589
3423
  /**
@@ -3679,11 +3513,10 @@ export type GtkFlowBoxProps = WidgetProps & {
3679
3513
  * The default bindings for this signal is `Ctrl`-`Shift`-`a`.
3680
3514
  */
3681
3515
  onUnselectAll?: ((self: Gtk.FlowBox) => void) | null;
3682
- children?: ReactNode;
3683
3516
  ref?: Ref<Gtk.FlowBox>;
3684
- };
3517
+ }
3685
3518
  /** Props for the {@link GtkFlowBoxChild} widget. */
3686
- export type GtkFlowBoxChildProps = WidgetProps & {
3519
+ export interface GtkFlowBoxChildProps extends WidgetProps {
3687
3520
  /** The child widget. */
3688
3521
  child?: Gtk.Widget | null;
3689
3522
  /**
@@ -3698,11 +3531,10 @@ export type GtkFlowBoxChildProps = WidgetProps & {
3698
3531
  * The default bindings are `Space` and `Enter`.
3699
3532
  */
3700
3533
  onActivate?: ((self: Gtk.FlowBoxChild) => void) | null;
3701
- children?: ReactNode;
3702
3534
  ref?: Ref<Gtk.FlowBoxChild>;
3703
- };
3535
+ }
3704
3536
  /** Props for the {@link GtkFontButton} widget. */
3705
- export type GtkFontButtonProps = WidgetProps & {
3537
+ export interface GtkFontButtonProps extends WidgetProps {
3706
3538
  /** Whether the font chooser dialog should be modal. */
3707
3539
  modal?: boolean;
3708
3540
  /** The title of the font chooser dialog. */
@@ -3750,9 +3582,9 @@ export type GtkFontButtonProps = WidgetProps & {
3750
3582
  */
3751
3583
  onFontActivated?: ((fontname: string, self: Gtk.FontButton) => void) | null;
3752
3584
  ref?: Ref<Gtk.FontButton>;
3753
- };
3585
+ }
3754
3586
  /** Props for the {@link GtkFontChooserDialog} widget. */
3755
- export type GtkFontChooserDialogProps = GtkDialogProps & {
3587
+ export interface GtkFontChooserDialogProps extends GtkDialogProps {
3756
3588
  /** The font description as a string, e.g. "Sans Italic 12". */
3757
3589
  font?: string;
3758
3590
  /** The font description as a `PangoFontDescription`. */
@@ -3773,11 +3605,10 @@ export type GtkFontChooserDialogProps = GtkDialogProps & {
3773
3605
  * Space, Shift+Space, Return or Enter.
3774
3606
  */
3775
3607
  onFontActivated?: ((fontname: string, self: Gtk.FontChooserDialog) => void) | null;
3776
- children?: ReactNode;
3777
3608
  ref?: Ref<Gtk.FontChooserDialog>;
3778
- };
3609
+ }
3779
3610
  /** Props for the {@link GtkFontChooserWidget} widget. */
3780
- export type GtkFontChooserWidgetProps = WidgetProps & {
3611
+ export interface GtkFontChooserWidgetProps extends WidgetProps {
3781
3612
  /** The font description as a string, e.g. "Sans Italic 12". */
3782
3613
  font?: string;
3783
3614
  /** The font description as a `PangoFontDescription`. */
@@ -3799,14 +3630,9 @@ export type GtkFontChooserWidgetProps = WidgetProps & {
3799
3630
  */
3800
3631
  onFontActivated?: ((fontname: string, self: Gtk.FontChooserWidget) => void) | null;
3801
3632
  ref?: Ref<Gtk.FontChooserWidget>;
3802
- };
3633
+ }
3803
3634
  /** Props for the {@link GtkFontDialogButton} widget. */
3804
- export type GtkFontDialogButtonProps = WidgetProps & {
3805
- /**
3806
- * The `GtkFontDialog` that contains parameters for
3807
- * the font chooser dialog.
3808
- */
3809
- dialog?: Gtk.FontDialog | null;
3635
+ export interface GtkFontDialogButtonProps extends WidgetProps {
3810
3636
  /**
3811
3637
  * The selected font.
3812
3638
  *
@@ -3817,7 +3643,7 @@ export type GtkFontDialogButtonProps = WidgetProps & {
3817
3643
  * Listen to `notify::font-desc` to get informed about changes
3818
3644
  * to the buttons font.
3819
3645
  */
3820
- fontDesc?: Pango.FontDescription | null;
3646
+ fontDesc?: Pango.FontDescription;
3821
3647
  /**
3822
3648
  * The selected font features.
3823
3649
  *
@@ -3851,16 +3677,10 @@ export type GtkFontDialogButtonProps = WidgetProps & {
3851
3677
  * and emitting it causes the button to pop up its dialog.
3852
3678
  */
3853
3679
  onActivate?: ((self: Gtk.FontDialogButton) => void) | null;
3854
- /** Callback when the selected font changes */
3855
- onFontDescChanged?: ((fontDesc: Pango.FontDescription) => void) | null;
3856
- /** Title for the font dialog */
3857
- title?: string;
3858
- /** Whether the dialog is modal */
3859
- modal?: boolean;
3860
3680
  ref?: Ref<Gtk.FontDialogButton>;
3861
- };
3681
+ }
3862
3682
  /** Props for the {@link GtkFrame} widget. */
3863
- export type GtkFrameProps = WidgetProps & {
3683
+ export interface GtkFrameProps extends WidgetProps {
3864
3684
  /** The child widget. */
3865
3685
  child?: Gtk.Widget | null;
3866
3686
  /** Text of the frame's label. */
@@ -3869,11 +3689,10 @@ export type GtkFrameProps = WidgetProps & {
3869
3689
  labelWidget?: Gtk.Widget | null;
3870
3690
  /** The horizontal alignment of the label. */
3871
3691
  labelXalign?: number;
3872
- children?: ReactNode;
3873
3692
  ref?: Ref<Gtk.Frame>;
3874
- };
3693
+ }
3875
3694
  /** Props for the {@link GtkGLArea} widget. */
3876
- export type GtkGLAreaProps = WidgetProps & {
3695
+ export interface GtkGLAreaProps extends WidgetProps {
3877
3696
  /** The allowed APIs. */
3878
3697
  allowedApis?: Gdk.GLAPI;
3879
3698
  /**
@@ -3942,18 +3761,19 @@ export type GtkGLAreaProps = WidgetProps & {
3942
3761
  */
3943
3762
  onResize?: ((width: number, height: number, self: Gtk.GLArea) => void) | null;
3944
3763
  ref?: Ref<Gtk.GLArea>;
3945
- };
3764
+ }
3946
3765
  /** Props for the {@link GtkGraphicsOffload} widget. */
3947
- export type GtkGraphicsOffloadProps = WidgetProps & {
3766
+ export interface GtkGraphicsOffloadProps extends WidgetProps {
3948
3767
  /** Whether to draw a black background. */
3949
3768
  blackBackground?: boolean;
3769
+ /** The child widget. */
3770
+ child?: Gtk.Widget | null;
3950
3771
  /** Whether graphics offload is enabled. */
3951
3772
  enabled?: Gtk.GraphicsOffloadEnabled;
3952
- children?: ReactNode;
3953
3773
  ref?: Ref<Gtk.GraphicsOffload>;
3954
- };
3774
+ }
3955
3775
  /** Props for the {@link GtkGrid} widget. */
3956
- export type GtkGridProps = WidgetProps & {
3776
+ export interface GtkGridProps extends WidgetProps {
3957
3777
  /** The row to align to the baseline when valign is using baseline alignment. */
3958
3778
  baselineRow?: number;
3959
3779
  /** If %TRUE, the columns are all the same width. */
@@ -3966,11 +3786,10 @@ export type GtkGridProps = WidgetProps & {
3966
3786
  rowSpacing?: number;
3967
3787
  /** The orientation of the orientable. */
3968
3788
  orientation?: Gtk.Orientation;
3969
- children?: ReactNode;
3970
3789
  ref?: Ref<Gtk.Grid>;
3971
- };
3790
+ }
3972
3791
  /** Props for the {@link GtkGridView} widget. */
3973
- export type GtkGridViewProps = GtkListBaseProps & {
3792
+ export interface GtkGridViewProps extends GtkListBaseProps {
3974
3793
  /** Allow rubberband selection. */
3975
3794
  enableRubberband?: boolean;
3976
3795
  /**
@@ -3995,27 +3814,14 @@ export type GtkGridViewProps = GtkListBaseProps & {
3995
3814
  * this signal.
3996
3815
  */
3997
3816
  onActivate?: ((position: number, self: Gtk.GridView) => void) | null;
3998
- /** Array of selected item IDs */
3999
- selected?: string[] | null;
4000
- /** Called when selection changes with array of selected item IDs */
4001
- onSelectionChanged?: ((ids: string[]) => void) | null;
4002
- /** Selection mode: SINGLE (default) or MULTIPLE */
4003
- selectionMode?: Gtk.SelectionMode | null;
4004
- /**
4005
- * Render function for list items.
4006
- * Called with null during setup (for loading state) and with the actual item during bind.
4007
- */
4008
- renderItem: (item: any) => ReactNode;
4009
- children?: ReactNode;
4010
3817
  ref?: Ref<Gtk.GridView>;
4011
- };
3818
+ }
4012
3819
  /** Props for the {@link GtkSourceGutter} widget. */
4013
- export type GtkSourceGutterProps = WidgetProps & {
4014
- children?: ReactNode;
3820
+ export interface GtkSourceGutterProps extends WidgetProps {
4015
3821
  ref?: Ref<GtkSource.Gutter>;
4016
- };
3822
+ }
4017
3823
  /** Props for the {@link GtkSourceGutterRenderer} widget. */
4018
- export type GtkSourceGutterRendererProps = WidgetProps & {
3824
+ export interface GtkSourceGutterRendererProps extends WidgetProps {
4019
3825
  /**
4020
3826
  * The alignment mode of the renderer.
4021
3827
  *
@@ -4047,23 +3853,23 @@ export type GtkSourceGutterRendererProps = WidgetProps & {
4047
3853
  onQueryActivatable?: ((iter: Gtk.TextIter, area: Gdk.Rectangle, self: GtkSource.GutterRenderer) => boolean) | null;
4048
3854
  onQueryData?: ((object: GObject.Object, p0: number, self: GtkSource.GutterRenderer) => void) | null;
4049
3855
  ref?: Ref<GtkSource.GutterRenderer>;
4050
- };
3856
+ }
4051
3857
  /** Props for the {@link GtkSourceGutterRendererPixbuf} widget. */
4052
- export type GtkSourceGutterRendererPixbufProps = GtkSourceGutterRendererProps & {
4053
- gicon?: Gio.Icon;
4054
- iconName?: string;
3858
+ export interface GtkSourceGutterRendererPixbufProps extends GtkSourceGutterRendererProps {
3859
+ gicon?: Gio.Icon | null;
3860
+ iconName?: string | null;
4055
3861
  paintable?: Gdk.Paintable | null;
4056
- pixbuf?: GdkPixbuf.Pixbuf;
3862
+ pixbuf?: GdkPixbuf.Pixbuf | null;
4057
3863
  ref?: Ref<GtkSource.GutterRendererPixbuf>;
4058
- };
3864
+ }
4059
3865
  /** Props for the {@link GtkSourceGutterRendererText} widget. */
4060
- export type GtkSourceGutterRendererTextProps = GtkSourceGutterRendererProps & {
3866
+ export interface GtkSourceGutterRendererTextProps extends GtkSourceGutterRendererProps {
4061
3867
  markup?: string;
4062
3868
  text?: string;
4063
3869
  ref?: Ref<GtkSource.GutterRendererText>;
4064
- };
3870
+ }
4065
3871
  /** Props for the {@link AdwHeaderBar} widget. */
4066
- export type AdwHeaderBarProps = WidgetProps & {
3872
+ export interface AdwHeaderBarProps extends WidgetProps {
4067
3873
  /** The policy for aligning the center widget. */
4068
3874
  centeringPolicy?: Adw.CenteringPolicy;
4069
3875
  /**
@@ -4131,11 +3937,10 @@ export type AdwHeaderBarProps = WidgetProps & {
4131
3937
  * ```
4132
3938
  */
4133
3939
  titleWidget?: Gtk.Widget | null;
4134
- children?: ReactNode;
4135
3940
  ref?: Ref<Adw.HeaderBar>;
4136
- };
3941
+ }
4137
3942
  /** Props for the {@link GtkHeaderBar} widget. */
4138
- export type GtkHeaderBarProps = WidgetProps & {
3943
+ export interface GtkHeaderBarProps extends WidgetProps {
4139
3944
  /**
4140
3945
  * The decoration layout for buttons.
4141
3946
  *
@@ -4165,16 +3970,14 @@ export type GtkHeaderBarProps = WidgetProps & {
4165
3970
  * See also Using GTK on Apple macOS.
4166
3971
  */
4167
3972
  useNativeControls?: boolean;
4168
- children?: ReactNode;
4169
3973
  ref?: Ref<Gtk.HeaderBar>;
4170
- };
3974
+ }
4171
3975
  /** Props for the {@link GtkSourceHoverDisplay} widget. */
4172
- export type GtkSourceHoverDisplayProps = WidgetProps & {
4173
- children?: ReactNode;
3976
+ export interface GtkSourceHoverDisplayProps extends WidgetProps {
4174
3977
  ref?: Ref<GtkSource.HoverDisplay>;
4175
- };
3978
+ }
4176
3979
  /** Props for the {@link GtkIconView} widget. */
4177
- export type GtkIconViewProps = WidgetProps & {
3980
+ export interface GtkIconViewProps extends WidgetProps {
4178
3981
  /**
4179
3982
  * The activate-on-single-click property specifies whether the "item-activated" signal
4180
3983
  * will be emitted after a single click.
@@ -4370,18 +4173,18 @@ export type GtkIconViewProps = WidgetProps & {
4370
4173
  */
4371
4174
  onUnselectAll?: ((self: Gtk.IconView) => void) | null;
4372
4175
  ref?: Ref<Gtk.IconView>;
4373
- };
4176
+ }
4374
4177
  /** Props for the {@link GtkImage} widget. */
4375
- export type GtkImageProps = WidgetProps & {
4178
+ export interface GtkImageProps extends WidgetProps {
4376
4179
  /** A path to the file to display. */
4377
- file?: string;
4180
+ file?: string | null;
4378
4181
  /**
4379
4182
  * The `GIcon` displayed in the GtkImage.
4380
4183
  *
4381
4184
  * For themed icons, If the icon theme is changed, the image will be updated
4382
4185
  * automatically.
4383
4186
  */
4384
- gicon?: Gio.Icon | null;
4187
+ gicon?: Gio.Icon;
4385
4188
  /**
4386
4189
  * The name of the icon in the icon theme.
4387
4190
  *
@@ -4401,7 +4204,7 @@ export type GtkImageProps = WidgetProps & {
4401
4204
  */
4402
4205
  pixelSize?: number;
4403
4206
  /** A path to a resource file to display. */
4404
- resource?: string;
4207
+ resource?: string | null;
4405
4208
  /**
4406
4209
  * Whether the icon displayed in the `GtkImage` will use
4407
4210
  * standard icon names fallback.
@@ -4411,9 +4214,9 @@ export type GtkImageProps = WidgetProps & {
4411
4214
  */
4412
4215
  useFallback?: boolean;
4413
4216
  ref?: Ref<Gtk.Image>;
4414
- };
4217
+ }
4415
4218
  /** Props for the {@link GtkInfoBar} widget. */
4416
- export type GtkInfoBarProps = WidgetProps & {
4219
+ export interface GtkInfoBarProps extends WidgetProps {
4417
4220
  /**
4418
4221
  * The type of the message.
4419
4222
  *
@@ -4440,11 +4243,10 @@ export type GtkInfoBarProps = WidgetProps & {
4440
4243
  * on which action widget was clicked.
4441
4244
  */
4442
4245
  onResponse?: ((responseId: number, self: Gtk.InfoBar) => void) | null;
4443
- children?: ReactNode;
4444
4246
  ref?: Ref<Gtk.InfoBar>;
4445
- };
4247
+ }
4446
4248
  /** Props for the {@link AdwInlineViewSwitcher} widget. */
4447
- export type AdwInlineViewSwitcherProps = WidgetProps & {
4249
+ export interface AdwInlineViewSwitcherProps extends WidgetProps {
4448
4250
  /**
4449
4251
  * Whether the toggles can be smaller than the natural size of their contents.
4450
4252
  *
@@ -4467,11 +4269,10 @@ export type AdwInlineViewSwitcherProps = WidgetProps & {
4467
4269
  stack?: Adw.ViewStack | null;
4468
4270
  /** The orientation of the orientable. */
4469
4271
  orientation?: Gtk.Orientation;
4470
- children?: ReactNode;
4471
4272
  ref?: Ref<Adw.InlineViewSwitcher>;
4472
- };
4273
+ }
4473
4274
  /** Props for the {@link GtkInscription} widget. */
4474
- export type GtkInscriptionProps = WidgetProps & {
4275
+ export interface GtkInscriptionProps extends WidgetProps {
4475
4276
  /** A list of style attributes to apply to the text of the inscription. */
4476
4277
  attributes?: Pango.AttrList | null;
4477
4278
  /**
@@ -4483,7 +4284,7 @@ export type GtkInscriptionProps = WidgetProps & {
4483
4284
  * attributes. The markup must be valid. If you cannot ensure that, consider using
4484
4285
  * {@link Pangoparse_markup} and setting the two properties yourself.
4485
4286
  */
4486
- markup?: string;
4287
+ markup?: string | null;
4487
4288
  /**
4488
4289
  * The number of characters that should fit into the inscription at minimum.
4489
4290
  *
@@ -4558,9 +4359,9 @@ export type GtkInscriptionProps = WidgetProps & {
4558
4359
  */
4559
4360
  yalign?: number;
4560
4361
  ref?: Ref<Gtk.Inscription>;
4561
- };
4362
+ }
4562
4363
  /** Props for the {@link GtkLabel} widget. */
4563
- export type GtkLabelProps = WidgetProps & {
4364
+ export interface GtkLabelProps extends WidgetProps {
4564
4365
  /** A list of style attributes to apply to the text of the label. */
4565
4366
  attributes?: Pango.AttrList | null;
4566
4367
  /**
@@ -4750,15 +4551,14 @@ export type GtkLabelProps = WidgetProps & {
4750
4551
  * - `Home` and `End` move to the ends of the buffer
4751
4552
  */
4752
4553
  onMoveCursor?: ((step: Gtk.MovementStep, count: number, extendSelection: boolean, self: Gtk.Label) => void) | null;
4753
- children?: ReactNode;
4754
4554
  ref?: Ref<Gtk.Label>;
4755
- };
4555
+ }
4756
4556
  /** Props for the {@link AdwLayoutSlot} widget. */
4757
- export type AdwLayoutSlotProps = WidgetProps & {
4557
+ export interface AdwLayoutSlotProps extends WidgetProps {
4758
4558
  ref?: Ref<Adw.LayoutSlot>;
4759
- };
4559
+ }
4760
4560
  /** Props for the {@link AdwLeaflet} widget. */
4761
- export type AdwLeafletProps = WidgetProps & {
4561
+ export interface AdwLeafletProps extends WidgetProps {
4762
4562
  /**
4763
4563
  * Whether gestures and shortcuts for navigating backward are enabled.
4764
4564
  *
@@ -4847,20 +4647,19 @@ export type AdwLeafletProps = WidgetProps & {
4847
4647
  * by the user, in which case visible child will change back to the previously
4848
4648
  * visible child.
4849
4649
  */
4850
- visibleChild?: Gtk.Widget | null;
4650
+ visibleChild?: Gtk.Widget;
4851
4651
  /**
4852
4652
  * The name of the widget currently visible when the leaflet is folded.
4853
4653
  *
4854
4654
  * See {@link AdwLeaflet.visible-child}.
4855
4655
  */
4856
- visibleChildName?: string | null;
4656
+ visibleChildName?: string;
4857
4657
  /** The orientation of the orientable. */
4858
4658
  orientation?: Gtk.Orientation;
4859
- children?: ReactNode;
4860
4659
  ref?: Ref<Adw.Leaflet>;
4861
- };
4660
+ }
4862
4661
  /** Props for the {@link GtkLevelBar} widget. */
4863
- export type GtkLevelBarProps = WidgetProps & {
4662
+ export interface GtkLevelBarProps extends WidgetProps {
4864
4663
  /**
4865
4664
  * Whether the `GtkLeveBar` is inverted.
4866
4665
  *
@@ -4900,15 +4699,10 @@ export type GtkLevelBarProps = WidgetProps & {
4900
4699
  * the value of offset "x" changes.
4901
4700
  */
4902
4701
  onOffsetChanged?: ((name: string, self: Gtk.LevelBar) => void) | null;
4903
- /** Array of named offset thresholds for visual style changes */
4904
- offsets?: Array<{
4905
- id: string;
4906
- value: number;
4907
- }> | null;
4908
4702
  ref?: Ref<Gtk.LevelBar>;
4909
- };
4703
+ }
4910
4704
  /** Props for the {@link GtkLinkButton} widget. */
4911
- export type GtkLinkButtonProps = GtkButtonProps & {
4705
+ export interface GtkLinkButtonProps extends GtkButtonProps {
4912
4706
  /** The URI bound to this button. */
4913
4707
  uri?: string;
4914
4708
  /**
@@ -4928,11 +4722,10 @@ export type GtkLinkButtonProps = GtkButtonProps & {
4928
4722
  * by returning %TRUE from your handler.
4929
4723
  */
4930
4724
  onActivateLink?: ((self: Gtk.LinkButton) => boolean) | null;
4931
- children?: ReactNode;
4932
4725
  ref?: Ref<Gtk.LinkButton>;
4933
- };
4726
+ }
4934
4727
  /** Props for the {@link GtkListBase} widget. */
4935
- export type GtkListBaseProps = WidgetProps & {
4728
+ export interface GtkListBaseProps extends WidgetProps {
4936
4729
  /**
4937
4730
  * The orientation of the list. See GtkOrientable:orientation
4938
4731
  * for details.
@@ -4955,9 +4748,9 @@ export type GtkListBaseProps = WidgetProps & {
4955
4748
  /** Determines when vertical scrolling should start. */
4956
4749
  vscrollPolicy?: Gtk.ScrollablePolicy;
4957
4750
  ref?: Ref<Gtk.ListBase>;
4958
- };
4751
+ }
4959
4752
  /** Props for the {@link GtkListBox} widget. */
4960
- export type GtkListBoxProps = WidgetProps & {
4753
+ export interface GtkListBoxProps extends WidgetProps {
4961
4754
  /** Whether to accept unpaired release events. */
4962
4755
  acceptUnpairedRelease?: boolean;
4963
4756
  /**
@@ -5025,25 +4818,10 @@ export type GtkListBoxProps = WidgetProps & {
5025
4818
  * `Ctrl`-`Shift`-`a`.
5026
4819
  */
5027
4820
  onUnselectAll?: ((self: Gtk.ListBox) => void) | null;
5028
- /** The current value of the adjustment */
5029
- value?: number;
5030
- /** The minimum value */
5031
- lower?: number;
5032
- /** The maximum value */
5033
- upper?: number;
5034
- /** The increment for arrow keys */
5035
- stepIncrement?: number;
5036
- /** The increment for page up/down */
5037
- pageIncrement?: number;
5038
- /** The page size (usually 0 for scales) */
5039
- pageSize?: number;
5040
- /** Callback when the value changes */
5041
- onValueChanged?: ((value: number, self: Gtk.ListBox) => void) | null;
5042
- children?: ReactNode;
5043
4821
  ref?: Ref<Gtk.ListBox>;
5044
- };
4822
+ }
5045
4823
  /** Props for the {@link GtkListBoxRow} widget. */
5046
- export type GtkListBoxRowProps = WidgetProps & {
4824
+ export interface GtkListBoxRowProps extends WidgetProps {
5047
4825
  /**
5048
4826
  * Determines whether the ::row-activated
5049
4827
  * signal will be emitted for this row.
@@ -5065,11 +4843,10 @@ export type GtkListBoxRowProps = WidgetProps & {
5065
4843
  * `GtkListBox`.
5066
4844
  */
5067
4845
  onActivate?: ((self: Gtk.ListBoxRow) => void) | null;
5068
- children?: ReactNode;
5069
4846
  ref?: Ref<Gtk.ListBoxRow>;
5070
- };
4847
+ }
5071
4848
  /** Props for the {@link GtkListView} widget. */
5072
- export type GtkListViewProps = GtkListBaseProps & {
4849
+ export interface GtkListViewProps extends GtkListBaseProps {
5073
4850
  /** Allow rubberband selection. */
5074
4851
  enableRubberband?: boolean;
5075
4852
  /**
@@ -5095,22 +4872,10 @@ export type GtkListViewProps = GtkListBaseProps & {
5095
4872
  * this signal.
5096
4873
  */
5097
4874
  onActivate?: ((position: number, self: Gtk.ListView) => void) | null;
5098
- /** Array of selected item IDs */
5099
- selected?: string[] | null;
5100
- /** Called when selection changes with array of selected item IDs */
5101
- onSelectionChanged?: ((ids: string[]) => void) | null;
5102
- /** Selection mode: SINGLE (default) or MULTIPLE */
5103
- selectionMode?: Gtk.SelectionMode | null;
5104
- /**
5105
- * Render function for list items.
5106
- * Called with null during setup (for loading state) and with the actual item during bind.
5107
- */
5108
- renderItem: (item: any) => ReactNode;
5109
- children?: ReactNode;
5110
4875
  ref?: Ref<Gtk.ListView>;
5111
- };
4876
+ }
5112
4877
  /** Props for the {@link GtkLockButton} widget. */
5113
- export type GtkLockButtonProps = GtkButtonProps & {
4878
+ export interface GtkLockButtonProps extends GtkButtonProps {
5114
4879
  /** The `GPermission object controlling this button. */
5115
4880
  permission?: Gio.Permission | null;
5116
4881
  /** The text to display when prompting the user to lock. */
@@ -5123,49 +4888,21 @@ export type GtkLockButtonProps = GtkButtonProps & {
5123
4888
  tooltipNotAuthorized?: string;
5124
4889
  /** The tooltip to display when prompting the user to unlock. */
5125
4890
  tooltipUnlock?: string;
5126
- children?: ReactNode;
5127
4891
  ref?: Ref<Gtk.LockButton>;
5128
- };
4892
+ }
5129
4893
  /** Props for the {@link GtkSourceMap} widget. */
5130
- export type GtkSourceMapProps = GtkSourceViewProps & {
5131
- view?: GtkSource.View | null;
5132
- /** Whether to enable undo/redo */
5133
- enableUndo?: boolean;
5134
- /** Callback when the buffer content changes. Use buffer.getText() to extract text. */
5135
- onBufferChanged?: ((buffer: Gtk.TextBuffer) => void) | null;
5136
- /** Callback when text is inserted into the buffer */
5137
- onTextInserted?: ((buffer: Gtk.TextBuffer, offset: number, text: string) => void) | null;
5138
- /** Callback when text is deleted from the buffer */
5139
- onTextDeleted?: ((buffer: Gtk.TextBuffer, startOffset: number, endOffset: number) => void) | null;
5140
- /** Callback when can-undo state changes */
5141
- onCanUndoChanged?: ((canUndo: boolean) => void) | null;
5142
- /** Callback when can-redo state changes */
5143
- onCanRedoChanged?: ((canRedo: boolean) => void) | null;
5144
- /** Language for syntax highlighting. Can be a language ID string (e.g., "typescript", "python") or a GtkSource.Language object. */
5145
- language?: string | GtkSource.Language;
5146
- /** Style scheme for syntax highlighting colors. Can be a scheme ID string (e.g., "Adwaita-dark") or a GtkSource.StyleScheme object. */
5147
- styleScheme?: string | GtkSource.StyleScheme;
5148
- /** Whether to enable syntax highlighting. Defaults to true when language is set. */
5149
- highlightSyntax?: boolean;
5150
- /** Whether to highlight matching brackets when cursor is on a bracket. Defaults to true. */
5151
- highlightMatchingBrackets?: boolean;
5152
- /** Whether the buffer has an implicit trailing newline. */
5153
- implicitTrailingNewline?: boolean;
5154
- /** Callback when the cursor position changes */
5155
- onCursorMoved?: (() => void) | null;
5156
- /** Callback when syntax highlighting is updated for a region */
5157
- onHighlightUpdated?: ((start: Gtk.TextIter, end: Gtk.TextIter) => void) | null;
5158
- children?: ReactNode;
4894
+ export interface GtkSourceMapProps extends GtkSourceViewProps {
4895
+ view?: GtkSource.View;
5159
4896
  ref?: Ref<GtkSource.Map>;
5160
- };
4897
+ }
5161
4898
  /** Props for the {@link GtkMediaControls} widget. */
5162
- export type GtkMediaControlsProps = WidgetProps & {
4899
+ export interface GtkMediaControlsProps extends WidgetProps {
5163
4900
  /** The media-stream managed by this object or %NULL if none. */
5164
4901
  mediaStream?: Gtk.MediaStream | null;
5165
4902
  ref?: Ref<Gtk.MediaControls>;
5166
- };
4903
+ }
5167
4904
  /** Props for the {@link GtkMenuButton} widget. */
5168
- export type GtkMenuButtonProps = WidgetProps & {
4905
+ export interface GtkMenuButtonProps extends WidgetProps {
5169
4906
  /** Whether the menu button is active. */
5170
4907
  active?: boolean;
5171
4908
  /** Whether to show a dropdown arrow even when using an icon or a custom child. */
@@ -5185,16 +4922,9 @@ export type GtkMenuButtonProps = WidgetProps & {
5185
4922
  /** Whether the button has a frame. */
5186
4923
  hasFrame?: boolean;
5187
4924
  /** The name of the icon used to automatically populate the button. */
5188
- iconName?: string | null;
4925
+ iconName?: string;
5189
4926
  /** The label for the button. */
5190
- label?: string | null;
5191
- /**
5192
- * The `GMenuModel` from which the popup will be created.
5193
- *
5194
- * See {@link MenuButton.set_menu_model} for the interaction
5195
- * with the {@link MenuButton.popover} property.
5196
- */
5197
- menuModel?: Gio.MenuModel | null;
4927
+ label?: string;
5198
4928
  /** The `GtkPopover` that will be popped up when the button is clicked. */
5199
4929
  popover?: Gtk.Popover | null;
5200
4930
  /**
@@ -5212,11 +4942,10 @@ export type GtkMenuButtonProps = WidgetProps & {
5212
4942
  * emitting it causes the button to pop up its menu.
5213
4943
  */
5214
4944
  onActivate?: ((self: Gtk.MenuButton) => void) | null;
5215
- children?: ReactNode;
5216
4945
  ref?: Ref<Gtk.MenuButton>;
5217
- };
4946
+ }
5218
4947
  /** Props for the {@link AdwMessageDialog} widget. */
5219
- export type AdwMessageDialogProps = GtkWindowProps & {
4948
+ export interface AdwMessageDialogProps extends GtkWindowProps {
5220
4949
  /** The body text of the dialog. */
5221
4950
  body?: string;
5222
4951
  /**
@@ -5273,11 +5002,10 @@ export type AdwMessageDialogProps = GtkWindowProps & {
5273
5002
  * {@link AdwMessageDialog.close-response}.
5274
5003
  */
5275
5004
  onResponse?: ((response: string, self: Adw.MessageDialog) => void) | null;
5276
- children?: ReactNode;
5277
5005
  ref?: Ref<Adw.MessageDialog>;
5278
- };
5006
+ }
5279
5007
  /** Props for the {@link GtkMessageDialog} widget. */
5280
- export type GtkMessageDialogProps = GtkDialogProps & {
5008
+ export interface GtkMessageDialogProps extends GtkDialogProps {
5281
5009
  /** The type of the message. */
5282
5010
  messageType?: Gtk.MessageType;
5283
5011
  /** The secondary text of the message dialog. */
@@ -5300,24 +5028,22 @@ export type GtkMessageDialogProps = GtkDialogProps & {
5300
5028
  * See {@link Pangoparse_markup}.
5301
5029
  */
5302
5030
  useMarkup?: boolean;
5303
- children?: ReactNode;
5304
5031
  ref?: Ref<Gtk.MessageDialog>;
5305
- };
5032
+ }
5306
5033
  /** Props for the {@link AdwMultiLayoutView} widget. */
5307
- export type AdwMultiLayoutViewProps = WidgetProps & {
5034
+ export interface AdwMultiLayoutViewProps extends WidgetProps {
5308
5035
  /** The currently used layout. */
5309
- layout?: Adw.Layout | null;
5036
+ layout?: Adw.Layout;
5310
5037
  /**
5311
5038
  * The name of the currently used layout.
5312
5039
  *
5313
5040
  * See {@link AdwLayout.name}.
5314
5041
  */
5315
- layoutName?: string | null;
5316
- children?: ReactNode;
5042
+ layoutName?: string;
5317
5043
  ref?: Ref<Adw.MultiLayoutView>;
5318
- };
5044
+ }
5319
5045
  /** Props for the {@link AdwNavigationPage} widget. */
5320
- export type AdwNavigationPageProps = WidgetProps & {
5046
+ export interface AdwNavigationPageProps extends WidgetProps {
5321
5047
  /**
5322
5048
  * Whether the page can be popped from navigation stack.
5323
5049
  *
@@ -5331,6 +5057,8 @@ export type AdwNavigationPageProps = WidgetProps & {
5331
5057
  * button, but not shortcuts.
5332
5058
  */
5333
5059
  canPop?: boolean;
5060
+ /** The child widget. */
5061
+ child: Gtk.Widget | null;
5334
5062
  /**
5335
5063
  * The page tag.
5336
5064
  *
@@ -5383,11 +5111,10 @@ export type AdwNavigationPageProps = WidgetProps & {
5383
5111
  * {@link AdwNavigationPage.:hiding}.
5384
5112
  */
5385
5113
  onShown?: ((self: Adw.NavigationPage) => void) | null;
5386
- children?: ReactNode;
5387
5114
  ref?: Ref<Adw.NavigationPage>;
5388
- };
5115
+ }
5389
5116
  /** Props for the {@link AdwNavigationSplitView} widget. */
5390
- export type AdwNavigationSplitViewProps = WidgetProps & {
5117
+ export interface AdwNavigationSplitViewProps extends WidgetProps {
5391
5118
  /**
5392
5119
  * Whether the split view is collapsed.
5393
5120
  *
@@ -5461,11 +5188,10 @@ export type AdwNavigationSplitViewProps = WidgetProps & {
5461
5188
  * {@link AdwNavigationSplitView.max-sidebar-width}.
5462
5189
  */
5463
5190
  sidebarWidthUnit?: Adw.LengthUnit;
5464
- children?: ReactNode;
5465
5191
  ref?: Ref<Adw.NavigationSplitView>;
5466
- };
5192
+ }
5467
5193
  /** Props for the {@link AdwNavigationView} widget. */
5468
- export type AdwNavigationViewProps = WidgetProps & {
5194
+ export interface AdwNavigationViewProps extends WidgetProps {
5469
5195
  /**
5470
5196
  * Whether to animate page transitions.
5471
5197
  *
@@ -5535,15 +5261,10 @@ export type AdwNavigationViewProps = WidgetProps & {
5535
5261
  * See {@link NavigationViewreplace}.
5536
5262
  */
5537
5263
  onReplaced?: ((self: Adw.NavigationView) => void) | null;
5538
- /** Array of page IDs representing the navigation stack. The last ID is the visible page. */
5539
- history?: string[] | null;
5540
- /** Called when the navigation history changes due to user interaction (back button, swipe gesture). */
5541
- onHistoryChanged?: ((history: string[]) => void) | null;
5542
- children?: ReactNode;
5543
5264
  ref?: Ref<Adw.NavigationView>;
5544
- };
5265
+ }
5545
5266
  /** Props for the {@link GtkNotebook} widget. */
5546
- export type GtkNotebookProps = WidgetProps & {
5267
+ export interface GtkNotebookProps extends WidgetProps {
5547
5268
  /** If %TRUE, pressing the right mouse button on the notebook shows a page switching menu. */
5548
5269
  enablePopup?: boolean;
5549
5270
  /** Group name for tab drag and drop. */
@@ -5623,11 +5344,10 @@ export type GtkNotebookProps = WidgetProps & {
5623
5344
  onSelectPage?: ((moveFocus: boolean, self: Gtk.Notebook) => boolean) | null;
5624
5345
  /** Emitted when the user or a function changes the current page. */
5625
5346
  onSwitchPage?: ((page: Gtk.Widget, pageNum: number, self: Gtk.Notebook) => void) | null;
5626
- children?: ReactNode;
5627
5347
  ref?: Ref<Gtk.Notebook>;
5628
- };
5348
+ }
5629
5349
  /** Props for the {@link GtkOverlay} widget. */
5630
- export type GtkOverlayProps = WidgetProps & {
5350
+ export interface GtkOverlayProps extends WidgetProps {
5631
5351
  /** The main child widget. */
5632
5352
  child?: Gtk.Widget | null;
5633
5353
  /**
@@ -5647,11 +5367,10 @@ export type GtkOverlayProps = WidgetProps & {
5647
5367
  * to its contents.
5648
5368
  */
5649
5369
  onGetChildPosition?: ((widget: Gtk.Widget, allocation: Gdk.Rectangle, self: Gtk.Overlay) => boolean) | null;
5650
- children?: ReactNode;
5651
5370
  ref?: Ref<Gtk.Overlay>;
5652
- };
5371
+ }
5653
5372
  /** Props for the {@link AdwOverlaySplitView} widget. */
5654
- export type AdwOverlaySplitViewProps = WidgetProps & {
5373
+ export interface AdwOverlaySplitViewProps extends WidgetProps {
5655
5374
  /**
5656
5375
  * Whether the split view is collapsed.
5657
5376
  *
@@ -5730,16 +5449,14 @@ export type AdwOverlaySplitViewProps = WidgetProps & {
5730
5449
  * {@link AdwOverlaySplitView.max-sidebar-width}.
5731
5450
  */
5732
5451
  sidebarWidthUnit?: Adw.LengthUnit;
5733
- children?: ReactNode;
5734
5452
  ref?: Ref<Adw.OverlaySplitView>;
5735
- };
5453
+ }
5736
5454
  /** Props for the {@link GtkPageSetupUnixDialog} widget. */
5737
- export type GtkPageSetupUnixDialogProps = GtkDialogProps & {
5738
- children?: ReactNode;
5455
+ export interface GtkPageSetupUnixDialogProps extends GtkDialogProps {
5739
5456
  ref?: Ref<Gtk.PageSetupUnixDialog>;
5740
- };
5457
+ }
5741
5458
  /** Props for the {@link GtkPaned} widget. */
5742
- export type GtkPanedProps = WidgetProps & {
5459
+ export interface GtkPanedProps extends WidgetProps {
5743
5460
  /** The second child. */
5744
5461
  endChild?: Gtk.Widget | null;
5745
5462
  /** Position of the separator in pixels, from the left/top. */
@@ -5838,11 +5555,10 @@ export type GtkPanedProps = WidgetProps & {
5838
5555
  * The default binding is `Tab`.
5839
5556
  */
5840
5557
  onToggleHandleFocus?: ((self: Gtk.Paned) => boolean) | null;
5841
- children?: ReactNode;
5842
5558
  ref?: Ref<Gtk.Paned>;
5843
- };
5559
+ }
5844
5560
  /** Props for the {@link GtkPasswordEntry} widget. */
5845
- export type GtkPasswordEntryProps = WidgetProps & {
5561
+ export interface GtkPasswordEntryProps extends WidgetProps {
5846
5562
  /** Whether to activate the default widget when Enter is pressed. */
5847
5563
  activatesDefault?: boolean;
5848
5564
  /**
@@ -5912,14 +5628,13 @@ export type GtkPasswordEntryProps = WidgetProps & {
5912
5628
  */
5913
5629
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Gtk.PasswordEntry) => void) | null;
5914
5630
  ref?: Ref<Gtk.PasswordEntry>;
5915
- };
5631
+ }
5916
5632
  /** Props for the {@link AdwPasswordEntryRow} widget. */
5917
- export type AdwPasswordEntryRowProps = AdwEntryRowProps & {
5918
- children?: ReactNode;
5633
+ export interface AdwPasswordEntryRowProps extends AdwEntryRowProps {
5919
5634
  ref?: Ref<Adw.PasswordEntryRow>;
5920
- };
5635
+ }
5921
5636
  /** Props for the {@link GtkPicture} widget. */
5922
- export type GtkPictureProps = WidgetProps & {
5637
+ export interface GtkPictureProps extends WidgetProps {
5923
5638
  /** The alternative textual description for the picture. */
5924
5639
  alternativeText?: string | null;
5925
5640
  /** If the `GtkPicture` can be made smaller than the natural size of its contents. */
@@ -5936,9 +5651,9 @@ export type GtkPictureProps = WidgetProps & {
5936
5651
  /** The `GdkPaintable` to be displayed by this `GtkPicture`. */
5937
5652
  paintable?: Gdk.Paintable | null;
5938
5653
  ref?: Ref<Gtk.Picture>;
5939
- };
5654
+ }
5940
5655
  /** Props for the {@link GtkPopover} widget. */
5941
- export type GtkPopoverProps = WidgetProps & {
5656
+ export interface GtkPopoverProps extends WidgetProps {
5942
5657
  /** Whether to dismiss the popover on outside clicks. */
5943
5658
  autohide?: boolean;
5944
5659
  /**
@@ -5950,13 +5665,13 @@ export type GtkPopoverProps = WidgetProps & {
5950
5665
  /** The child widget. */
5951
5666
  child?: Gtk.Widget | null;
5952
5667
  /** The default widget inside the popover. */
5953
- defaultWidget?: Gtk.Widget;
5668
+ defaultWidget?: Gtk.Widget | null;
5954
5669
  /** Whether to draw an arrow. */
5955
5670
  hasArrow?: boolean;
5956
5671
  /** Whether mnemonics are currently visible in this popover. */
5957
5672
  mnemonicsVisible?: boolean;
5958
5673
  /** Rectangle in the parent widget that the popover points to. */
5959
- pointingTo?: Gdk.Rectangle;
5674
+ pointingTo?: Gdk.Rectangle | null;
5960
5675
  /** How to place the popover, relative to its parent. */
5961
5676
  position?: Gtk.PositionType;
5962
5677
  /**
@@ -5969,11 +5684,10 @@ export type GtkPopoverProps = WidgetProps & {
5969
5684
  onActivateDefault?: ((self: Gtk.Popover) => void) | null;
5970
5685
  /** Emitted when the popover is closed. */
5971
5686
  onClosed?: ((self: Gtk.Popover) => void) | null;
5972
- children?: ReactNode;
5973
5687
  ref?: Ref<Gtk.Popover>;
5974
- };
5688
+ }
5975
5689
  /** Props for the {@link GtkPopoverMenu} widget. */
5976
- export type GtkPopoverMenuProps = GtkPopoverProps & {
5690
+ export interface GtkPopoverMenuProps extends GtkPopoverProps {
5977
5691
  /**
5978
5692
  * The flags that `popover` uses to create/display a menu from its model.
5979
5693
  *
@@ -5981,41 +5695,30 @@ export type GtkPopoverMenuProps = GtkPopoverProps & {
5981
5695
  * properties individually, set flags before model to avoid a redundant rebuild.
5982
5696
  */
5983
5697
  flags?: Gtk.PopoverMenuFlags;
5984
- /** The model from which the menu is made. */
5985
- menuModel?: Gio.MenuModel | null;
5986
5698
  /** The name of the visible submenu. */
5987
5699
  visibleSubmenu?: string;
5988
- children?: ReactNode;
5989
5700
  ref?: Ref<Gtk.PopoverMenu>;
5990
- };
5701
+ }
5991
5702
  /** Props for the {@link GtkPopoverMenuBar} widget. */
5992
- export type GtkPopoverMenuBarProps = WidgetProps & {
5993
- /**
5994
- * The `GMenuModel` from which the menu bar is created.
5995
- *
5996
- * The model should only contain submenus as toplevel elements.
5997
- */
5998
- menuModel?: Gio.MenuModel | null;
5999
- children?: ReactNode;
5703
+ export interface GtkPopoverMenuBarProps extends WidgetProps {
6000
5704
  ref?: Ref<Gtk.PopoverMenuBar>;
6001
- };
5705
+ }
6002
5706
  /** Props for the {@link AdwPreferencesDialog} widget. */
6003
- export type AdwPreferencesDialogProps = AdwDialogProps & {
5707
+ export interface AdwPreferencesDialogProps extends AdwDialogProps {
6004
5708
  /** Whether search is enabled. */
6005
5709
  searchEnabled?: boolean;
6006
5710
  /** The currently visible page. */
6007
- visiblePage?: Gtk.Widget | null;
5711
+ visiblePage?: Gtk.Widget;
6008
5712
  /**
6009
5713
  * The name of the currently visible page.
6010
5714
  *
6011
5715
  * See {@link AdwAdwPreferencesDialog.visible-page}.
6012
5716
  */
6013
- visiblePageName?: string | null;
6014
- children?: ReactNode;
5717
+ visiblePageName?: string;
6015
5718
  ref?: Ref<Adw.PreferencesDialog>;
6016
- };
5719
+ }
6017
5720
  /** Props for the {@link AdwPreferencesGroup} widget. */
6018
- export type AdwPreferencesGroupProps = WidgetProps & {
5721
+ export interface AdwPreferencesGroupProps extends WidgetProps {
6019
5722
  /** The description for this group of preferences. */
6020
5723
  description?: string | null;
6021
5724
  /**
@@ -6037,11 +5740,10 @@ export type AdwPreferencesGroupProps = WidgetProps & {
6037
5740
  separateRows?: boolean;
6038
5741
  /** The title for this group of preferences. */
6039
5742
  title?: string;
6040
- children?: ReactNode;
6041
5743
  ref?: Ref<Adw.PreferencesGroup>;
6042
- };
5744
+ }
6043
5745
  /** Props for the {@link AdwPreferencesPage} widget. */
6044
- export type AdwPreferencesPageProps = WidgetProps & {
5746
+ export interface AdwPreferencesPageProps extends WidgetProps {
6045
5747
  /** A {@link AdwBanner} displayed at the top of the page. */
6046
5748
  banner?: Adw.Banner | null;
6047
5749
  /** The description to be displayed at the top of the page. */
@@ -6054,11 +5756,10 @@ export type AdwPreferencesPageProps = WidgetProps & {
6054
5756
  title?: string;
6055
5757
  /** Whether an embedded underline in the title indicates a mnemonic. */
6056
5758
  useUnderline?: boolean;
6057
- children?: ReactNode;
6058
5759
  ref?: Ref<Adw.PreferencesPage>;
6059
- };
5760
+ }
6060
5761
  /** Props for the {@link AdwPreferencesRow} widget. */
6061
- export type AdwPreferencesRowProps = GtkListBoxRowProps & {
5762
+ export interface AdwPreferencesRowProps extends GtkListBoxRowProps {
6062
5763
  /**
6063
5764
  * The title of the preference represented by this row.
6064
5765
  *
@@ -6082,11 +5783,10 @@ export type AdwPreferencesRowProps = GtkListBoxRowProps & {
6082
5783
  useMarkup?: boolean;
6083
5784
  /** Whether an embedded underline in the title indicates a mnemonic. */
6084
5785
  useUnderline?: boolean;
6085
- children?: ReactNode;
6086
5786
  ref?: Ref<Adw.PreferencesRow>;
6087
- };
5787
+ }
6088
5788
  /** Props for the {@link AdwPreferencesWindow} widget. */
6089
- export type AdwPreferencesWindowProps = AdwWindowProps & {
5789
+ export interface AdwPreferencesWindowProps extends AdwWindowProps {
6090
5790
  /**
6091
5791
  * Whether gestures and shortcuts for closing subpages are enabled.
6092
5792
  *
@@ -6108,18 +5808,17 @@ export type AdwPreferencesWindowProps = AdwWindowProps & {
6108
5808
  /** Whether search is enabled. */
6109
5809
  searchEnabled?: boolean;
6110
5810
  /** The currently visible page. */
6111
- visiblePage?: Gtk.Widget | null;
5811
+ visiblePage?: Gtk.Widget;
6112
5812
  /**
6113
5813
  * The name of the currently visible page.
6114
5814
  *
6115
5815
  * See {@link AdwPreferencesWindow.visible-page}.
6116
5816
  */
6117
- visiblePageName?: string | null;
6118
- children?: ReactNode;
5817
+ visiblePageName?: string;
6119
5818
  ref?: Ref<Adw.PreferencesWindow>;
6120
- };
5819
+ }
6121
5820
  /** Props for the {@link GtkPrintUnixDialog} widget. */
6122
- export type GtkPrintUnixDialogProps = GtkDialogProps & {
5821
+ export interface GtkPrintUnixDialogProps extends GtkDialogProps {
6123
5822
  /** The current page in the document. */
6124
5823
  currentPage?: number;
6125
5824
  /** %TRUE if the page setup controls are embedded. */
@@ -6131,14 +5830,13 @@ export type GtkPrintUnixDialogProps = GtkDialogProps & {
6131
5830
  /** The `GtkPageSetup` object to use. */
6132
5831
  pageSetup?: Gtk.PageSetup;
6133
5832
  /** The `GtkPrintSettings` object used for this dialog. */
6134
- printSettings?: Gtk.PrintSettings;
5833
+ printSettings?: Gtk.PrintSettings | null;
6135
5834
  /** Whether the dialog supports selection. */
6136
5835
  supportSelection?: boolean;
6137
- children?: ReactNode;
6138
5836
  ref?: Ref<Gtk.PrintUnixDialog>;
6139
- };
5837
+ }
6140
5838
  /** Props for the {@link GtkProgressBar} widget. */
6141
- export type GtkProgressBarProps = WidgetProps & {
5839
+ export interface GtkProgressBarProps extends WidgetProps {
6142
5840
  /**
6143
5841
  * The preferred place to ellipsize the string.
6144
5842
  *
@@ -6175,9 +5873,9 @@ export type GtkProgressBarProps = WidgetProps & {
6175
5873
  /** The orientation of the orientable. */
6176
5874
  orientation?: Gtk.Orientation;
6177
5875
  ref?: Ref<Gtk.ProgressBar>;
6178
- };
5876
+ }
6179
5877
  /** Props for the {@link GtkRange} widget. */
6180
- export type GtkRangeProps = WidgetProps & {
5878
+ export interface GtkRangeProps extends WidgetProps {
6181
5879
  /** The fill level (e.g. prebuffering of a network stream). */
6182
5880
  fillLevel?: number;
6183
5881
  /** If %TRUE, the direction in which the slider moves is inverted. */
@@ -6227,24 +5925,10 @@ export type GtkRangeProps = WidgetProps & {
6227
5925
  * Used for keybindings.
6228
5926
  */
6229
5927
  onMoveSlider?: ((step: Gtk.ScrollType, self: Gtk.Range) => void) | null;
6230
- /** The current value of the adjustment */
6231
- value?: number;
6232
- /** The minimum value */
6233
- lower?: number;
6234
- /** The maximum value */
6235
- upper?: number;
6236
- /** The increment for arrow keys */
6237
- stepIncrement?: number;
6238
- /** The increment for page up/down */
6239
- pageIncrement?: number;
6240
- /** The page size (usually 0 for scales) */
6241
- pageSize?: number;
6242
- /** Callback when the value changes */
6243
- onValueChanged?: ((value: number, self: Gtk.Range) => void) | null;
6244
5928
  ref?: Ref<Gtk.Range>;
6245
- };
5929
+ }
6246
5930
  /** Props for the {@link GtkRevealer} widget. */
6247
- export type GtkRevealerProps = WidgetProps & {
5931
+ export interface GtkRevealerProps extends WidgetProps {
6248
5932
  /** The child widget. */
6249
5933
  child?: Gtk.Widget | null;
6250
5934
  /** Whether the revealer should reveal the child. */
@@ -6253,11 +5937,10 @@ export type GtkRevealerProps = WidgetProps & {
6253
5937
  transitionDuration?: number;
6254
5938
  /** The type of animation used to transition. */
6255
5939
  transitionType?: Gtk.RevealerTransitionType;
6256
- children?: ReactNode;
6257
5940
  ref?: Ref<Gtk.Revealer>;
6258
- };
5941
+ }
6259
5942
  /** Props for the {@link GtkScale} widget. */
6260
- export type GtkScaleProps = Omit<GtkRangeProps, "onValueChanged"> & {
5943
+ export interface GtkScaleProps extends GtkRangeProps {
6261
5944
  /** The number of decimal places that are displayed in the value. */
6262
5945
  digits?: number;
6263
5946
  /** Whether the current value is displayed as a string next to the slider. */
@@ -6266,30 +5949,10 @@ export type GtkScaleProps = Omit<GtkRangeProps, "onValueChanged"> & {
6266
5949
  hasOrigin?: boolean;
6267
5950
  /** The position in which the current value is displayed. */
6268
5951
  valuePos?: Gtk.PositionType;
6269
- /** The current value of the adjustment */
6270
- value?: number;
6271
- /** The minimum value */
6272
- lower?: number;
6273
- /** The maximum value */
6274
- upper?: number;
6275
- /** The increment for arrow keys */
6276
- stepIncrement?: number;
6277
- /** The increment for page up/down */
6278
- pageIncrement?: number;
6279
- /** The page size (usually 0 for scales) */
6280
- pageSize?: number;
6281
- /** Callback when the value changes */
6282
- onValueChanged?: ((value: number, self: Gtk.Scale) => void) | null;
6283
- /** Array of marks to display on the scale */
6284
- marks?: Array<{
6285
- value: number;
6286
- position?: Gtk.PositionType;
6287
- label?: string | null;
6288
- }> | null;
6289
5952
  ref?: Ref<Gtk.Scale>;
6290
- };
5953
+ }
6291
5954
  /** Props for the {@link GtkScaleButton} widget. */
6292
- export type GtkScaleButtonProps = WidgetProps & {
5955
+ export interface GtkScaleButtonProps extends WidgetProps {
6293
5956
  /** If the scale button has a frame. */
6294
5957
  hasFrame?: boolean;
6295
5958
  /**
@@ -6332,44 +5995,18 @@ export type GtkScaleButtonProps = WidgetProps & {
6332
5995
  * `Enter` and `Return`.
6333
5996
  */
6334
5997
  onPopup?: ((self: Gtk.ScaleButton) => void) | null;
6335
- /** The minimum value */
6336
- lower?: number;
6337
- /** The maximum value */
6338
- upper?: number;
6339
- /** The increment for arrow keys */
6340
- stepIncrement?: number;
6341
- /** The increment for page up/down */
6342
- pageIncrement?: number;
6343
- /** The page size (usually 0 for scales) */
6344
- pageSize?: number;
6345
- /** Callback when the value changes */
6346
- onValueChanged?: ((value: number, self: Gtk.ScaleButton) => void) | null;
6347
5998
  ref?: Ref<Gtk.ScaleButton>;
6348
- };
5999
+ }
6349
6000
  /** Props for the {@link GtkScrollbar} widget. */
6350
- export type GtkScrollbarProps = WidgetProps & {
6001
+ export interface GtkScrollbarProps extends WidgetProps {
6351
6002
  /** The `GtkAdjustment` controlled by this scrollbar. */
6352
- adjustment?: Gtk.Adjustment;
6003
+ adjustment?: Gtk.Adjustment | null;
6353
6004
  /** The orientation of the orientable. */
6354
6005
  orientation?: Gtk.Orientation;
6355
- /** The current value of the adjustment */
6356
- value?: number;
6357
- /** The minimum value */
6358
- lower?: number;
6359
- /** The maximum value */
6360
- upper?: number;
6361
- /** The increment for arrow keys */
6362
- stepIncrement?: number;
6363
- /** The increment for page up/down */
6364
- pageIncrement?: number;
6365
- /** The page size (usually 0 for scales) */
6366
- pageSize?: number;
6367
- /** Callback when the value changes */
6368
- onValueChanged?: ((value: number, self: Gtk.Scrollbar) => void) | null;
6369
6006
  ref?: Ref<Gtk.Scrollbar>;
6370
- };
6007
+ }
6371
6008
  /** Props for the {@link GtkScrolledWindow} widget. */
6372
- export type GtkScrolledWindowProps = WidgetProps & {
6009
+ export interface GtkScrolledWindowProps extends WidgetProps {
6373
6010
  /**
6374
6011
  * The child widget.
6375
6012
  *
@@ -6379,7 +6016,7 @@ export type GtkScrolledWindowProps = WidgetProps & {
6379
6016
  */
6380
6017
  child?: Gtk.Widget | null;
6381
6018
  /** The `GtkAdjustment` for the horizontal position. */
6382
- hadjustment?: Gtk.Adjustment;
6019
+ hadjustment?: Gtk.Adjustment | null;
6383
6020
  /** Whether to draw a frame around the contents. */
6384
6021
  hasFrame?: boolean;
6385
6022
  /**
@@ -6431,7 +6068,7 @@ export type GtkScrolledWindowProps = WidgetProps & {
6431
6068
  */
6432
6069
  propagateNaturalWidth?: boolean;
6433
6070
  /** The `GtkAdjustment` for the vertical position. */
6434
- vadjustment?: Gtk.Adjustment;
6071
+ vadjustment?: Gtk.Adjustment | null;
6435
6072
  /**
6436
6073
  * When the vertical scrollbar is displayed.
6437
6074
  *
@@ -6485,11 +6122,10 @@ export type GtkScrolledWindowProps = WidgetProps & {
6485
6122
  * signal that the scrolled window’s child may listen to and scroll itself.
6486
6123
  */
6487
6124
  onScrollChild?: ((scroll: Gtk.ScrollType, horizontal: boolean, self: Gtk.ScrolledWindow) => boolean) | null;
6488
- children?: ReactNode;
6489
6125
  ref?: Ref<Gtk.ScrolledWindow>;
6490
- };
6126
+ }
6491
6127
  /** Props for the {@link GtkSearchBar} widget. */
6492
- export type GtkSearchBarProps = WidgetProps & {
6128
+ export interface GtkSearchBarProps extends WidgetProps {
6493
6129
  /** The child widget. */
6494
6130
  child?: Gtk.Widget | null;
6495
6131
  /** The key capture widget. */
@@ -6498,13 +6134,10 @@ export type GtkSearchBarProps = WidgetProps & {
6498
6134
  searchModeEnabled?: boolean;
6499
6135
  /** Whether to show the close button in the search bar. */
6500
6136
  showCloseButton?: boolean;
6501
- /** Callback when the search mode changes (search bar shown/hidden). */
6502
- onSearchModeChanged?: ((searchMode: boolean) => void) | null;
6503
- children?: ReactNode;
6504
6137
  ref?: Ref<Gtk.SearchBar>;
6505
- };
6138
+ }
6506
6139
  /** Props for the {@link GtkSearchEntry} widget. */
6507
- export type GtkSearchEntryProps = WidgetProps & {
6140
+ export interface GtkSearchEntryProps extends WidgetProps {
6508
6141
  /** Whether to activate the default widget when Enter is pressed. */
6509
6142
  activatesDefault?: boolean;
6510
6143
  /**
@@ -6626,41 +6259,40 @@ export type GtkSearchEntryProps = WidgetProps & {
6626
6259
  */
6627
6260
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Gtk.SearchEntry) => void) | null;
6628
6261
  ref?: Ref<Gtk.SearchEntry>;
6629
- };
6262
+ }
6630
6263
  /** Props for the {@link GtkSeparator} widget. */
6631
- export type GtkSeparatorProps = WidgetProps & {
6264
+ export interface GtkSeparatorProps extends WidgetProps {
6632
6265
  /** The orientation of the orientable. */
6633
6266
  orientation?: Gtk.Orientation;
6634
6267
  ref?: Ref<Gtk.Separator>;
6635
- };
6268
+ }
6636
6269
  /** Props for the {@link AdwShortcutLabel} widget. */
6637
- export type AdwShortcutLabelProps = WidgetProps & {
6270
+ export interface AdwShortcutLabelProps extends WidgetProps {
6638
6271
  /** The displayed accelerator. */
6639
6272
  accelerator: string;
6640
6273
  /** The text displayed when no accelerator is set. */
6641
6274
  disabledText?: string;
6642
6275
  ref?: Ref<Adw.ShortcutLabel>;
6643
- };
6276
+ }
6644
6277
  /** Props for the {@link GtkShortcutLabel} widget. */
6645
- export type GtkShortcutLabelProps = WidgetProps & {
6278
+ export interface GtkShortcutLabelProps extends WidgetProps {
6646
6279
  /**
6647
6280
  * The accelerator that `self` displays.
6648
6281
  *
6649
6282
  * See {@link ShortcutsShortcut.accelerator}
6650
6283
  * for the accepted syntax.
6651
6284
  */
6652
- accelerator?: string | null;
6285
+ accelerator?: string;
6653
6286
  /** The text that is displayed when no accelerator is set. */
6654
- disabledText?: string | null;
6287
+ disabledText?: string;
6655
6288
  ref?: Ref<Gtk.ShortcutLabel>;
6656
- };
6289
+ }
6657
6290
  /** Props for the {@link AdwShortcutsDialog} widget. */
6658
- export type AdwShortcutsDialogProps = AdwDialogProps & {
6659
- children?: ReactNode;
6291
+ export interface AdwShortcutsDialogProps extends AdwDialogProps {
6660
6292
  ref?: Ref<Adw.ShortcutsDialog>;
6661
- };
6293
+ }
6662
6294
  /** Props for the {@link GtkShortcutsGroup} widget. */
6663
- export type GtkShortcutsGroupProps = GtkBoxProps & {
6295
+ export interface GtkShortcutsGroupProps extends GtkBoxProps {
6664
6296
  /**
6665
6297
  * The size group for the accelerator portion of shortcuts in this group.
6666
6298
  *
@@ -6684,11 +6316,10 @@ export type GtkShortcutsGroupProps = GtkBoxProps & {
6684
6316
  * Set this to %NULL to make the group always visible.
6685
6317
  */
6686
6318
  view?: string;
6687
- children?: ReactNode;
6688
6319
  ref?: Ref<Gtk.ShortcutsGroup>;
6689
- };
6320
+ }
6690
6321
  /** Props for the {@link GtkShortcutsSection} widget. */
6691
- export type GtkShortcutsSectionProps = GtkBoxProps & {
6322
+ export interface GtkShortcutsSectionProps extends GtkBoxProps {
6692
6323
  /**
6693
6324
  * The maximum number of lines to allow per column.
6694
6325
  *
@@ -6731,11 +6362,10 @@ export type GtkShortcutsSectionProps = GtkBoxProps & {
6731
6362
  * `Ctrl`+`PgDn`, `PgDn`.
6732
6363
  */
6733
6364
  onChangeCurrentPage?: ((offset: number, self: Gtk.ShortcutsSection) => boolean) | null;
6734
- children?: ReactNode;
6735
6365
  ref?: Ref<Gtk.ShortcutsSection>;
6736
- };
6366
+ }
6737
6367
  /** Props for the {@link GtkShortcutsShortcut} widget. */
6738
- export type GtkShortcutsShortcutProps = WidgetProps & {
6368
+ export interface GtkShortcutsShortcutProps extends WidgetProps {
6739
6369
  /**
6740
6370
  * The size group for the accelerator portion of this shortcut.
6741
6371
  *
@@ -6825,9 +6455,9 @@ export type GtkShortcutsShortcutProps = WidgetProps & {
6825
6455
  */
6826
6456
  titleSizeGroup?: Gtk.SizeGroup;
6827
6457
  ref?: Ref<Gtk.ShortcutsShortcut>;
6828
- };
6458
+ }
6829
6459
  /** Props for the {@link GtkShortcutsWindow} widget. */
6830
- export type GtkShortcutsWindowProps = GtkWindowProps & {
6460
+ export interface GtkShortcutsWindowProps extends GtkWindowProps {
6831
6461
  /**
6832
6462
  * The name of the section to show.
6833
6463
  *
@@ -6845,14 +6475,6 @@ export type GtkShortcutsWindowProps = GtkWindowProps & {
6845
6475
  * Set this to %NULL to show all groups.
6846
6476
  */
6847
6477
  viewName?: string;
6848
- /**
6849
- * Emitted when the user uses a keybinding to close the window.
6850
- *
6851
- * This is a keybinding signal.
6852
- *
6853
- * The default binding for this signal is the `Escape` key.
6854
- */
6855
- onClose?: ((self: Gtk.ShortcutsWindow) => void) | null;
6856
6478
  /**
6857
6479
  * Emitted when the user uses a keybinding to start a search.
6858
6480
  *
@@ -6861,11 +6483,10 @@ export type GtkShortcutsWindowProps = GtkWindowProps & {
6861
6483
  * The default binding for this signal is `Control`+`F`.
6862
6484
  */
6863
6485
  onSearch?: ((self: Gtk.ShortcutsWindow) => void) | null;
6864
- children?: ReactNode;
6865
6486
  ref?: Ref<Gtk.ShortcutsWindow>;
6866
- };
6487
+ }
6867
6488
  /** Props for the {@link GtkSpinButton} widget. */
6868
- export type GtkSpinButtonProps = WidgetProps & {
6489
+ export interface GtkSpinButtonProps extends WidgetProps {
6869
6490
  /**
6870
6491
  * Whether to activate the default widget when the spin button is activated.
6871
6492
  *
@@ -7032,34 +6653,20 @@ export type GtkSpinButtonProps = WidgetProps & {
7032
6653
  * to modify the inserted text, or prevent it from being inserted entirely.
7033
6654
  */
7034
6655
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Gtk.SpinButton) => void) | null;
7035
- /** The minimum value */
7036
- lower?: number;
7037
- /** The maximum value */
7038
- upper?: number;
7039
- /** The increment for arrow keys */
7040
- stepIncrement?: number;
7041
- /** The increment for page up/down */
7042
- pageIncrement?: number;
7043
- /** The page size (usually 0 for scales) */
7044
- pageSize?: number;
7045
- /** Callback when the value changes */
7046
- onValueChanged?: ((value: number, self: Gtk.SpinButton) => void) | null;
7047
6656
  ref?: Ref<Gtk.SpinButton>;
7048
- };
6657
+ }
7049
6658
  /** Props for the {@link AdwSpinner} widget. */
7050
- export type AdwSpinnerProps = WidgetProps & {
6659
+ export interface AdwSpinnerProps extends WidgetProps {
7051
6660
  ref?: Ref<Adw.Spinner>;
7052
- };
6661
+ }
7053
6662
  /** Props for the {@link GtkSpinner} widget. */
7054
- export type GtkSpinnerProps = WidgetProps & {
6663
+ export interface GtkSpinnerProps extends WidgetProps {
7055
6664
  /** Whether the spinner is spinning */
7056
6665
  spinning?: boolean;
7057
6666
  ref?: Ref<Gtk.Spinner>;
7058
- };
6667
+ }
7059
6668
  /** Props for the {@link AdwSpinRow} widget. */
7060
- export type AdwSpinRowProps = Omit<AdwActionRowProps, "onValueChanged"> & {
7061
- /** The adjustment that holds the value of the spin row. */
7062
- adjustment?: Gtk.Adjustment;
6669
+ export interface AdwSpinRowProps extends AdwActionRowProps {
7063
6670
  /** The acceleration rate when you hold down a button or key. */
7064
6671
  climbRate?: number;
7065
6672
  /** The number of decimal places to display. */
@@ -7149,23 +6756,10 @@ export type AdwSpinRowProps = Omit<AdwActionRowProps, "onValueChanged"> & {
7149
6756
  * to modify the inserted text, or prevent it from being inserted entirely.
7150
6757
  */
7151
6758
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Adw.SpinRow) => void) | null;
7152
- /** The minimum value */
7153
- lower?: number;
7154
- /** The maximum value */
7155
- upper?: number;
7156
- /** The increment for arrow keys */
7157
- stepIncrement?: number;
7158
- /** The increment for page up/down */
7159
- pageIncrement?: number;
7160
- /** The page size (usually 0 for scales) */
7161
- pageSize?: number;
7162
- /** Callback when the value changes */
7163
- onValueChanged?: ((value: number, self: Adw.SpinRow) => void) | null;
7164
- children?: ReactNode;
7165
6759
  ref?: Ref<Adw.SpinRow>;
7166
- };
6760
+ }
7167
6761
  /** Props for the {@link AdwSplitButton} widget. */
7168
- export type AdwSplitButtonProps = WidgetProps & {
6762
+ export interface AdwSplitButtonProps extends WidgetProps {
7169
6763
  /**
7170
6764
  * Whether the button can be smaller than the natural size of its contents.
7171
6765
  *
@@ -7205,14 +6799,14 @@ export type AdwSplitButtonProps = WidgetProps & {
7205
6799
  * Setting the icon name will set {@link AdwSplitButton.label} and
7206
6800
  * {@link AdwSplitButton.child} to `NULL`.
7207
6801
  */
7208
- iconName?: string | null;
6802
+ iconName?: string;
7209
6803
  /**
7210
6804
  * The label for the button.
7211
6805
  *
7212
6806
  * Setting the label will set {@link AdwSplitButton.icon-name} and
7213
6807
  * {@link AdwSplitButton.child} to `NULL`.
7214
6808
  */
7215
- label?: string | null;
6809
+ label?: string;
7216
6810
  /**
7217
6811
  * The `GMenuModel` from which the popup will be created.
7218
6812
  *
@@ -7254,11 +6848,10 @@ export type AdwSplitButtonProps = WidgetProps & {
7254
6848
  onActivate?: ((self: Adw.SplitButton) => void) | null;
7255
6849
  /** Emitted when the button has been activated (pressed and released). */
7256
6850
  onClicked?: ((self: Adw.SplitButton) => void) | null;
7257
- children?: ReactNode;
7258
6851
  ref?: Ref<Adw.SplitButton>;
7259
- };
6852
+ }
7260
6853
  /** Props for the {@link AdwSqueezer} widget. */
7261
- export type AdwSqueezerProps = WidgetProps & {
6854
+ export interface AdwSqueezerProps extends WidgetProps {
7262
6855
  /**
7263
6856
  * Whether to allow squeezing beyond the last child's minimum size.
7264
6857
  *
@@ -7323,11 +6916,10 @@ export type AdwSqueezerProps = WidgetProps & {
7323
6916
  yalign?: number;
7324
6917
  /** The orientation of the orientable. */
7325
6918
  orientation?: Gtk.Orientation;
7326
- children?: ReactNode;
7327
6919
  ref?: Ref<Adw.Squeezer>;
7328
- };
6920
+ }
7329
6921
  /** Props for the {@link GtkStack} widget. */
7330
- export type GtkStackProps = WidgetProps & {
6922
+ export interface GtkStackProps extends WidgetProps {
7331
6923
  /** %TRUE if the stack allocates the same width for all children. */
7332
6924
  hhomogeneous?: boolean;
7333
6925
  /** Whether or not the size should smoothly change during the transition. */
@@ -7338,40 +6930,32 @@ export type GtkStackProps = WidgetProps & {
7338
6930
  transitionType?: Gtk.StackTransitionType;
7339
6931
  /** %TRUE if the stack allocates the same height for all children. */
7340
6932
  vhomogeneous?: boolean;
7341
- /** ID of the visible page in the stack. */
7342
- page?: string | null;
7343
- /** Called when the visible page changes, either programmatically or via a ViewSwitcher/StackSwitcher. */
7344
- onPageChanged?: ((page: string | null, self: Gtk.Stack) => void) | null;
7345
- children?: ReactNode;
7346
6933
  ref?: Ref<Gtk.Stack>;
7347
- };
6934
+ }
7348
6935
  /** Props for the {@link GtkStackSidebar} widget. */
7349
- export type GtkStackSidebarProps = WidgetProps & {
6936
+ export interface GtkStackSidebarProps extends WidgetProps {
7350
6937
  /** The stack. */
7351
- stack?: Gtk.Stack | null;
7352
- children?: ReactNode;
6938
+ stack?: Gtk.Stack;
7353
6939
  ref?: Ref<Gtk.StackSidebar>;
7354
- };
6940
+ }
7355
6941
  /** Props for the {@link GtkStackSwitcher} widget. */
7356
- export type GtkStackSwitcherProps = WidgetProps & {
6942
+ export interface GtkStackSwitcherProps extends WidgetProps {
7357
6943
  /** The stack. */
7358
6944
  stack?: Gtk.Stack | null;
7359
6945
  /** The orientation of the orientable. */
7360
6946
  orientation?: Gtk.Orientation;
7361
- children?: ReactNode;
7362
6947
  ref?: Ref<Gtk.StackSwitcher>;
7363
- };
6948
+ }
7364
6949
  /** Props for the {@link GtkStatusbar} widget. */
7365
- export type GtkStatusbarProps = WidgetProps & {
6950
+ export interface GtkStatusbarProps extends WidgetProps {
7366
6951
  /** Emitted whenever a new message is popped off a statusbar's stack. */
7367
6952
  onTextPopped?: ((contextId: number, text: string, self: Gtk.Statusbar) => void) | null;
7368
6953
  /** Emitted whenever a new message gets pushed onto a statusbar's stack. */
7369
6954
  onTextPushed?: ((contextId: number, text: string, self: Gtk.Statusbar) => void) | null;
7370
- children?: ReactNode;
7371
6955
  ref?: Ref<Gtk.Statusbar>;
7372
- };
6956
+ }
7373
6957
  /** Props for the {@link AdwStatusPage} widget. */
7374
- export type AdwStatusPageProps = WidgetProps & {
6958
+ export interface AdwStatusPageProps extends WidgetProps {
7375
6959
  /** The child widget. */
7376
6960
  child?: Gtk.Widget | null;
7377
6961
  /** The description markup to be displayed below the title. */
@@ -7394,22 +6978,20 @@ export type AdwStatusPageProps = WidgetProps & {
7394
6978
  * It is not parsed as Pango markup.
7395
6979
  */
7396
6980
  title?: string;
7397
- children?: ReactNode;
7398
6981
  ref?: Ref<Adw.StatusPage>;
7399
- };
6982
+ }
7400
6983
  /** Props for the {@link GtkSourceStyleSchemeChooserButton} widget. */
7401
- export type GtkSourceStyleSchemeChooserButtonProps = GtkButtonProps & {
6984
+ export interface GtkSourceStyleSchemeChooserButtonProps extends GtkButtonProps {
7402
6985
  /**
7403
6986
  * Contains the currently selected style scheme.
7404
6987
  *
7405
6988
  * The property can be set to change the current selection programmatically.
7406
6989
  */
7407
6990
  styleScheme?: GtkSource.StyleScheme;
7408
- children?: ReactNode;
7409
6991
  ref?: Ref<GtkSource.StyleSchemeChooserButton>;
7410
- };
6992
+ }
7411
6993
  /** Props for the {@link GtkSourceStyleSchemeChooserWidget} widget. */
7412
- export type GtkSourceStyleSchemeChooserWidgetProps = WidgetProps & {
6994
+ export interface GtkSourceStyleSchemeChooserWidgetProps extends WidgetProps {
7413
6995
  /**
7414
6996
  * Contains the currently selected style scheme.
7415
6997
  *
@@ -7417,9 +6999,9 @@ export type GtkSourceStyleSchemeChooserWidgetProps = WidgetProps & {
7417
6999
  */
7418
7000
  styleScheme?: GtkSource.StyleScheme;
7419
7001
  ref?: Ref<GtkSource.StyleSchemeChooserWidget>;
7420
- };
7002
+ }
7421
7003
  /** Props for the {@link GtkSourceStyleSchemePreview} widget. */
7422
- export type GtkSourceStyleSchemePreviewProps = WidgetProps & {
7004
+ export interface GtkSourceStyleSchemePreviewProps extends WidgetProps {
7423
7005
  selected?: boolean;
7424
7006
  /** The name of the action with which this widget should be associated. */
7425
7007
  actionName?: string;
@@ -7427,9 +7009,9 @@ export type GtkSourceStyleSchemePreviewProps = WidgetProps & {
7427
7009
  actionTarget?: GLib.Variant;
7428
7010
  onActivate?: ((self: GtkSource.StyleSchemePreview) => void) | null;
7429
7011
  ref?: Ref<GtkSource.StyleSchemePreview>;
7430
- };
7012
+ }
7431
7013
  /** Props for the {@link GtkSwitch} widget. */
7432
- export type GtkSwitchProps = WidgetProps & {
7014
+ export interface GtkSwitchProps extends WidgetProps {
7433
7015
  /** Whether the `GtkSwitch` widget is in its on or off state. */
7434
7016
  active?: boolean;
7435
7017
  /**
@@ -7468,16 +7050,15 @@ export type GtkSwitchProps = WidgetProps & {
7468
7050
  */
7469
7051
  onStateSet?: ((state: boolean, self: Gtk.Switch) => boolean) | null;
7470
7052
  ref?: Ref<Gtk.Switch>;
7471
- };
7053
+ }
7472
7054
  /** Props for the {@link AdwSwitchRow} widget. */
7473
- export type AdwSwitchRowProps = AdwActionRowProps & {
7055
+ export interface AdwSwitchRowProps extends AdwActionRowProps {
7474
7056
  /** Whether the switch row is in the "on" or "off" position. */
7475
7057
  active?: boolean;
7476
- children?: ReactNode;
7477
7058
  ref?: Ref<Adw.SwitchRow>;
7478
- };
7059
+ }
7479
7060
  /** Props for the {@link AdwTabBar} widget. */
7480
- export type AdwTabBarProps = WidgetProps & {
7061
+ export interface AdwTabBarProps extends WidgetProps {
7481
7062
  /**
7482
7063
  * Whether the tabs automatically hide.
7483
7064
  *
@@ -7534,11 +7115,10 @@ export type AdwTabBarProps = WidgetProps & {
7534
7115
  * See {@link DropTarget.value}.
7535
7116
  */
7536
7117
  onExtraDragValue?: ((page: Adw.TabPage, value: GObject.Value, self: Adw.TabBar) => Gdk.DragAction) | null;
7537
- children?: ReactNode;
7538
7118
  ref?: Ref<Adw.TabBar>;
7539
- };
7119
+ }
7540
7120
  /** Props for the {@link AdwTabButton} widget. */
7541
- export type AdwTabButtonProps = WidgetProps & {
7121
+ export interface AdwTabButtonProps extends WidgetProps {
7542
7122
  /** The view the tab button displays. */
7543
7123
  view?: Adw.TabView | null;
7544
7124
  /** The name of the action with which this widget should be associated. */
@@ -7554,11 +7134,10 @@ export type AdwTabButtonProps = WidgetProps & {
7554
7134
  onActivate?: ((self: Adw.TabButton) => void) | null;
7555
7135
  /** Emitted when the button has been activated (pressed and released). */
7556
7136
  onClicked?: ((self: Adw.TabButton) => void) | null;
7557
- children?: ReactNode;
7558
7137
  ref?: Ref<Adw.TabButton>;
7559
- };
7138
+ }
7560
7139
  /** Props for the {@link AdwTabOverview} widget. */
7561
- export type AdwTabOverviewProps = WidgetProps & {
7140
+ export interface AdwTabOverviewProps extends WidgetProps {
7562
7141
  /** The child widget. */
7563
7142
  child?: Gtk.Widget | null;
7564
7143
  /**
@@ -7650,11 +7229,10 @@ export type AdwTabOverviewProps = WidgetProps & {
7650
7229
  * See {@link DropTarget.value}.
7651
7230
  */
7652
7231
  onExtraDragValue?: ((page: Adw.TabPage, value: GObject.Value, self: Adw.TabOverview) => Gdk.DragAction) | null;
7653
- children?: ReactNode;
7654
7232
  ref?: Ref<Adw.TabOverview>;
7655
- };
7233
+ }
7656
7234
  /** Props for the {@link AdwTabView} widget. */
7657
- export type AdwTabViewProps = WidgetProps & {
7235
+ export interface AdwTabViewProps extends WidgetProps {
7658
7236
  /**
7659
7237
  * Default page icon.
7660
7238
  *
@@ -7681,7 +7259,7 @@ export type AdwTabViewProps = WidgetProps & {
7681
7259
  */
7682
7260
  menuModel?: Gio.MenuModel | null;
7683
7261
  /** The currently selected page. */
7684
- selectedPage?: Adw.TabPage | null;
7262
+ selectedPage?: Adw.TabPage;
7685
7263
  /**
7686
7264
  * The enabled shortcuts.
7687
7265
  *
@@ -7770,11 +7348,10 @@ export type AdwTabViewProps = WidgetProps & {
7770
7348
  * disable actions not applicable to `page`.
7771
7349
  */
7772
7350
  onSetupMenu?: ((page: Adw.TabPage, self: Adw.TabView) => void) | null;
7773
- children?: ReactNode;
7774
7351
  ref?: Ref<Adw.TabView>;
7775
- };
7352
+ }
7776
7353
  /** Props for the {@link VteTerminal} widget. */
7777
- export type VteTerminalProps = WidgetProps & {
7354
+ export interface VteTerminalProps extends WidgetProps {
7778
7355
  /**
7779
7356
  * Controls whether or not the terminal will attempt to draw bold text,
7780
7357
  * by using a bold font variant.
@@ -7817,13 +7394,13 @@ export type VteTerminalProps = WidgetProps & {
7817
7394
  * #VteTerminal::context-menu-model property or vte_terminal_set_context_menu_model()
7818
7395
  * takes precedence over this.
7819
7396
  */
7820
- contextMenu?: Gtk.Popover;
7397
+ contextMenu?: Gtk.Popover | null;
7821
7398
  /**
7822
7399
  * The menu model used for context menus. If non-%NULL, the context menu is
7823
7400
  * generated from this model, and overrides a context menu set with the
7824
7401
  * #VteTerminal::context-menu property or vte_terminal_set_context_menu().
7825
7402
  */
7826
- contextMenuModel?: Gio.MenuModel;
7403
+ contextMenuModel?: Gio.MenuModel | null;
7827
7404
  /**
7828
7405
  * Sets whether or not the cursor will blink. Using %VTE_CURSOR_BLINK_SYSTEM
7829
7406
  * will use the #GtkSettings:gtk-cursor-blink setting.
@@ -8092,11 +7669,10 @@ export type VteTerminalProps = WidgetProps & {
8092
7669
  onTermpropsChanged?: ((props: number[], nProps: number, self: Vte.Terminal) => boolean) | null;
8093
7670
  /** Emitted when the #VteTerminal:window-title property is modified. */
8094
7671
  onWindowTitleChanged?: ((self: Vte.Terminal) => void) | null;
8095
- children?: ReactNode;
8096
7672
  ref?: Ref<Vte.Terminal>;
8097
- };
7673
+ }
8098
7674
  /** Props for the {@link GtkText} widget. */
8099
- export type GtkTextProps = WidgetProps & {
7675
+ export interface GtkTextProps extends WidgetProps {
8100
7676
  /** Whether to activate the default widget when `Enter` is pressed. */
8101
7677
  activatesDefault?: boolean;
8102
7678
  /**
@@ -8330,11 +7906,10 @@ export type GtkTextProps = WidgetProps & {
8330
7906
  * to modify the inserted text, or prevent it from being inserted entirely.
8331
7907
  */
8332
7908
  onInsertText?: ((text: string, length: number, position: Ref<number>, self: Gtk.Text) => void) | null;
8333
- children?: ReactNode;
8334
7909
  ref?: Ref<Gtk.Text>;
8335
- };
7910
+ }
8336
7911
  /** Props for the {@link GtkTextView} widget. */
8337
- export type GtkTextViewProps = WidgetProps & {
7912
+ export interface GtkTextViewProps extends WidgetProps {
8338
7913
  /** Whether Tab will result in a tab character being entered. */
8339
7914
  acceptsTab?: boolean;
8340
7915
  /**
@@ -8352,7 +7927,7 @@ export type GtkTextViewProps = WidgetProps & {
8352
7927
  /** Whether the text can be modified by the user. */
8353
7928
  editable?: boolean;
8354
7929
  /** A menu model whose contents will be appended to the context menu. */
8355
- extraMenu?: Gio.MenuModel;
7930
+ extraMenu?: Gio.MenuModel | null;
8356
7931
  /**
8357
7932
  * Which IM (input method) module should be used for this text_view.
8358
7933
  *
@@ -8420,7 +7995,7 @@ export type GtkTextViewProps = WidgetProps & {
8420
7995
  */
8421
7996
  rightMargin?: number;
8422
7997
  /** Custom tabs for this text. */
8423
- tabs?: Pango.TabArray | null;
7998
+ tabs?: Pango.TabArray;
8424
7999
  /**
8425
8000
  * The top margin for text in the text view.
8426
8001
  *
@@ -8612,41 +8187,26 @@ export type GtkTextViewProps = WidgetProps & {
8612
8187
  * The default binding for this signal is `Insert`.
8613
8188
  */
8614
8189
  onToggleOverwrite?: ((self: Gtk.TextView) => void) | null;
8615
- /** Whether to enable undo/redo */
8616
- enableUndo?: boolean;
8617
- /** Callback when the buffer content changes. Use buffer.getText() to extract text. */
8618
- onBufferChanged?: ((buffer: Gtk.TextBuffer) => void) | null;
8619
- /** Callback when text is inserted into the buffer */
8620
- onTextInserted?: ((buffer: Gtk.TextBuffer, offset: number, text: string) => void) | null;
8621
- /** Callback when text is deleted from the buffer */
8622
- onTextDeleted?: ((buffer: Gtk.TextBuffer, startOffset: number, endOffset: number) => void) | null;
8623
- /** Callback when can-undo state changes */
8624
- onCanUndoChanged?: ((canUndo: boolean) => void) | null;
8625
- /** Callback when can-redo state changes */
8626
- onCanRedoChanged?: ((canRedo: boolean) => void) | null;
8627
- children?: ReactNode;
8628
8190
  ref?: Ref<Gtk.TextView>;
8629
- };
8191
+ }
8630
8192
  /** Props for the {@link AdwToastOverlay} widget. */
8631
- export type AdwToastOverlayProps = WidgetProps & {
8193
+ export interface AdwToastOverlayProps extends WidgetProps {
8632
8194
  /** The child widget. */
8633
8195
  child?: Gtk.Widget | null;
8634
- children?: ReactNode;
8635
8196
  ref?: Ref<Adw.ToastOverlay>;
8636
- };
8197
+ }
8637
8198
  /** Props for the {@link GtkToggleButton} widget. */
8638
- export type GtkToggleButtonProps = GtkButtonProps & {
8199
+ export interface GtkToggleButtonProps extends GtkButtonProps {
8639
8200
  /** If the toggle button should be pressed in. */
8640
8201
  active?: boolean;
8641
8202
  /** The toggle button whose group this widget belongs to. */
8642
- group?: Gtk.ToggleButton;
8203
+ group?: Gtk.ToggleButton | null;
8643
8204
  /** Emitted whenever the `GtkToggleButton`'s state is changed. */
8644
8205
  onToggled?: ((self: Gtk.ToggleButton) => void) | null;
8645
- children?: ReactNode;
8646
8206
  ref?: Ref<Gtk.ToggleButton>;
8647
- };
8207
+ }
8648
8208
  /** Props for the {@link AdwToggleGroup} widget. */
8649
- export type AdwToggleGroupProps = WidgetProps & {
8209
+ export interface AdwToggleGroupProps extends WidgetProps {
8650
8210
  /**
8651
8211
  * The index of the active toggle.
8652
8212
  *
@@ -8678,13 +8238,10 @@ export type AdwToggleGroupProps = WidgetProps & {
8678
8238
  homogeneous?: boolean;
8679
8239
  /** The orientation of the orientable. */
8680
8240
  orientation?: Gtk.Orientation;
8681
- /** Callback when the active toggle changes. */
8682
- onActiveChanged?: ((active: number, activeName: string | null) => void) | null;
8683
- children?: ReactNode;
8684
8241
  ref?: Ref<Adw.ToggleGroup>;
8685
- };
8242
+ }
8686
8243
  /** Props for the {@link AdwToolbarView} widget. */
8687
- export type AdwToolbarViewProps = WidgetProps & {
8244
+ export interface AdwToolbarViewProps extends WidgetProps {
8688
8245
  /**
8689
8246
  * Appearance of the bottom bars.
8690
8247
  *
@@ -8784,11 +8341,10 @@ export type AdwToolbarViewProps = WidgetProps & {
8784
8341
  * See also {@link AdwToolbarView.bottom-bar-style}.
8785
8342
  */
8786
8343
  topBarStyle?: Adw.ToolbarStyle;
8787
- children?: ReactNode;
8788
8344
  ref?: Ref<Adw.ToolbarView>;
8789
- };
8345
+ }
8790
8346
  /** Props for the {@link GtkTreeExpander} widget. */
8791
- export type GtkTreeExpanderProps = WidgetProps & {
8347
+ export interface GtkTreeExpanderProps extends WidgetProps {
8792
8348
  /** The child widget with the actual contents. */
8793
8349
  child?: Gtk.Widget | null;
8794
8350
  /**
@@ -8806,11 +8362,10 @@ export type GtkTreeExpanderProps = WidgetProps & {
8806
8362
  indentForIcon?: boolean;
8807
8363
  /** The list row to track for expander state. */
8808
8364
  listRow?: Gtk.TreeListRow | null;
8809
- children?: ReactNode;
8810
8365
  ref?: Ref<Gtk.TreeExpander>;
8811
- };
8366
+ }
8812
8367
  /** Props for the {@link GtkTreeView} widget. */
8813
- export type GtkTreeViewProps = WidgetProps & {
8368
+ export interface GtkTreeViewProps extends WidgetProps {
8814
8369
  /**
8815
8370
  * The activate-on-single-click property specifies whether the "row-activated" signal
8816
8371
  * will be emitted after a single click.
@@ -8929,9 +8484,9 @@ export type GtkTreeViewProps = WidgetProps & {
8929
8484
  onToggleCursorRow?: ((self: Gtk.TreeView) => boolean) | null;
8930
8485
  onUnselectAll?: ((self: Gtk.TreeView) => boolean) | null;
8931
8486
  ref?: Ref<Gtk.TreeView>;
8932
- };
8487
+ }
8933
8488
  /** Props for the {@link GtkVideo} widget. */
8934
- export type GtkVideoProps = WidgetProps & {
8489
+ export interface GtkVideoProps extends WidgetProps {
8935
8490
  /** If the video should automatically begin playing. */
8936
8491
  autoplay?: boolean;
8937
8492
  /** The file played by this video if the video is playing a file. */
@@ -8943,9 +8498,9 @@ export type GtkVideoProps = WidgetProps & {
8943
8498
  /** The media-stream played */
8944
8499
  mediaStream?: Gtk.MediaStream | null;
8945
8500
  ref?: Ref<Gtk.Video>;
8946
- };
8501
+ }
8947
8502
  /** Props for the {@link GtkSourceView} widget. */
8948
- export type GtkSourceViewProps = GtkTextViewProps & {
8503
+ export interface GtkSourceViewProps extends GtkTextViewProps {
8949
8504
  autoIndent?: boolean;
8950
8505
  /** Draw a specific background pattern on the view. */
8951
8506
  backgroundPattern?: GtkSource.BackgroundPatternType;
@@ -9042,37 +8597,10 @@ export type GtkSourceViewProps = GtkTextViewProps & {
9042
8597
  * home/end.
9043
8598
  */
9044
8599
  onSmartHomeEnd?: ((iter: Gtk.TextIter, count: number, self: GtkSource.View) => void) | null;
9045
- /** Whether to enable undo/redo */
9046
- enableUndo?: boolean;
9047
- /** Callback when the buffer content changes. Use buffer.getText() to extract text. */
9048
- onBufferChanged?: ((buffer: Gtk.TextBuffer) => void) | null;
9049
- /** Callback when text is inserted into the buffer */
9050
- onTextInserted?: ((buffer: Gtk.TextBuffer, offset: number, text: string) => void) | null;
9051
- /** Callback when text is deleted from the buffer */
9052
- onTextDeleted?: ((buffer: Gtk.TextBuffer, startOffset: number, endOffset: number) => void) | null;
9053
- /** Callback when can-undo state changes */
9054
- onCanUndoChanged?: ((canUndo: boolean) => void) | null;
9055
- /** Callback when can-redo state changes */
9056
- onCanRedoChanged?: ((canRedo: boolean) => void) | null;
9057
- /** Language for syntax highlighting. Can be a language ID string (e.g., "typescript", "python") or a GtkSource.Language object. */
9058
- language?: string | GtkSource.Language;
9059
- /** Style scheme for syntax highlighting colors. Can be a scheme ID string (e.g., "Adwaita-dark") or a GtkSource.StyleScheme object. */
9060
- styleScheme?: string | GtkSource.StyleScheme;
9061
- /** Whether to enable syntax highlighting. Defaults to true when language is set. */
9062
- highlightSyntax?: boolean;
9063
- /** Whether to highlight matching brackets when cursor is on a bracket. Defaults to true. */
9064
- highlightMatchingBrackets?: boolean;
9065
- /** Whether the buffer has an implicit trailing newline. */
9066
- implicitTrailingNewline?: boolean;
9067
- /** Callback when the cursor position changes */
9068
- onCursorMoved?: (() => void) | null;
9069
- /** Callback when syntax highlighting is updated for a region */
9070
- onHighlightUpdated?: ((start: Gtk.TextIter, end: Gtk.TextIter) => void) | null;
9071
- children?: ReactNode;
9072
8600
  ref?: Ref<GtkSource.View>;
9073
- };
8601
+ }
9074
8602
  /** Props for the {@link GtkViewport} widget. */
9075
- export type GtkViewportProps = WidgetProps & {
8603
+ export interface GtkViewportProps extends WidgetProps {
9076
8604
  /** The child widget. */
9077
8605
  child?: Gtk.Widget | null;
9078
8606
  /**
@@ -9099,11 +8627,10 @@ export type GtkViewportProps = WidgetProps & {
9099
8627
  vadjustment?: Gtk.Adjustment;
9100
8628
  /** Determines when vertical scrolling should start. */
9101
8629
  vscrollPolicy?: Gtk.ScrollablePolicy;
9102
- children?: ReactNode;
9103
8630
  ref?: Ref<Gtk.Viewport>;
9104
- };
8631
+ }
9105
8632
  /** Props for the {@link AdwViewStack} widget. */
9106
- export type AdwViewStackProps = WidgetProps & {
8633
+ export interface AdwViewStackProps extends WidgetProps {
9107
8634
  /**
9108
8635
  * Whether the stack uses a crossfade transition between pages.
9109
8636
  *
@@ -9138,33 +8665,26 @@ export type AdwViewStackProps = WidgetProps & {
9138
8665
  * visible.
9139
8666
  */
9140
8667
  vhomogeneous?: boolean;
9141
- /** ID of the visible page in the stack. */
9142
- page?: string | null;
9143
- /** Called when the visible page changes, either programmatically or via a ViewSwitcher/StackSwitcher. */
9144
- onPageChanged?: ((page: string | null, self: Adw.ViewStack) => void) | null;
9145
- children?: ReactNode;
9146
8668
  ref?: Ref<Adw.ViewStack>;
9147
- };
8669
+ }
9148
8670
  /** Props for the {@link AdwViewSwitcher} widget. */
9149
- export type AdwViewSwitcherProps = WidgetProps & {
8671
+ export interface AdwViewSwitcherProps extends WidgetProps {
9150
8672
  /** The policy to determine which mode to use. */
9151
8673
  policy?: Adw.ViewSwitcherPolicy;
9152
8674
  /** The stack the view switcher controls. */
9153
8675
  stack?: Adw.ViewStack | null;
9154
- children?: ReactNode;
9155
8676
  ref?: Ref<Adw.ViewSwitcher>;
9156
- };
8677
+ }
9157
8678
  /** Props for the {@link AdwViewSwitcherBar} widget. */
9158
- export type AdwViewSwitcherBarProps = WidgetProps & {
8679
+ export interface AdwViewSwitcherBarProps extends WidgetProps {
9159
8680
  /** Whether the bar should be revealed or hidden. */
9160
8681
  reveal?: boolean;
9161
8682
  /** The stack the view switcher controls. */
9162
8683
  stack?: Adw.ViewStack | null;
9163
- children?: ReactNode;
9164
8684
  ref?: Ref<Adw.ViewSwitcherBar>;
9165
- };
8685
+ }
9166
8686
  /** Props for the {@link AdwViewSwitcherTitle} widget. */
9167
- export type AdwViewSwitcherTitleProps = WidgetProps & {
8687
+ export interface AdwViewSwitcherTitleProps extends WidgetProps {
9168
8688
  /** The stack the view switcher controls. */
9169
8689
  stack?: Adw.ViewStack | null;
9170
8690
  /**
@@ -9191,11 +8711,10 @@ export type AdwViewSwitcherTitleProps = WidgetProps & {
9191
8711
  * window width, or any other constraint you find suitable.
9192
8712
  */
9193
8713
  viewSwitcherEnabled?: boolean;
9194
- children?: ReactNode;
9195
8714
  ref?: Ref<Adw.ViewSwitcherTitle>;
9196
- };
8715
+ }
9197
8716
  /** Props for the {@link GtkVolumeButton} widget. */
9198
- export type GtkVolumeButtonProps = Omit<GtkScaleButtonProps, "onValueChanged"> & {
8717
+ export interface GtkVolumeButtonProps extends GtkScaleButtonProps {
9199
8718
  /**
9200
8719
  * Whether to use symbolic icons as the icons.
9201
8720
  *
@@ -9203,24 +8722,10 @@ export type GtkVolumeButtonProps = Omit<GtkScaleButtonProps, "onValueChanged"> &
9203
8722
  * theme, then the normal (potentially colorful) icons will be used.
9204
8723
  */
9205
8724
  useSymbolic?: boolean;
9206
- /** The current value of the adjustment */
9207
- value?: number;
9208
- /** The minimum value */
9209
- lower?: number;
9210
- /** The maximum value */
9211
- upper?: number;
9212
- /** The increment for arrow keys */
9213
- stepIncrement?: number;
9214
- /** The increment for page up/down */
9215
- pageIncrement?: number;
9216
- /** The page size (usually 0 for scales) */
9217
- pageSize?: number;
9218
- /** Callback when the value changes */
9219
- onValueChanged?: ((value: number, self: Gtk.VolumeButton) => void) | null;
9220
8725
  ref?: Ref<Gtk.VolumeButton>;
9221
- };
8726
+ }
9222
8727
  /** Props for the {@link WebKitWebView} widget. */
9223
- export type WebKitWebViewProps = WebKitWebViewBaseProps & {
8728
+ export interface WebKitWebViewProps extends WebKitWebViewBaseProps {
9224
8729
  /**
9225
8730
  * Capture state of the camera device. Whenever the user grants a media-request sent by the web
9226
8731
  * page, requesting video capture capabilities (`navigator.mediaDevices.getUserMedia({video:
@@ -9720,15 +9225,14 @@ export type WebKitWebViewProps = WebKitWebViewBaseProps & {
9720
9225
  * to `reason`.
9721
9226
  */
9722
9227
  onWebProcessTerminated?: ((reason: WebKit.WebProcessTerminationReason, self: WebKit.WebView) => void) | null;
9723
- children?: ReactNode;
9724
9228
  ref?: Ref<WebKit.WebView>;
9725
- };
9229
+ }
9726
9230
  /** Props for the {@link WebKitWebViewBase} widget. */
9727
- export type WebKitWebViewBaseProps = WidgetProps & {
9231
+ export interface WebKitWebViewBaseProps extends WidgetProps {
9728
9232
  ref?: Ref<WebKit.WebViewBase>;
9729
- };
9233
+ }
9730
9234
  /** Props for the {@link GtkWindowControls} widget. */
9731
- export type GtkWindowControlsProps = WidgetProps & {
9235
+ export interface GtkWindowControlsProps extends WidgetProps {
9732
9236
  /**
9733
9237
  * The decoration layout for window buttons.
9734
9238
  *
@@ -9754,16 +9258,15 @@ export type GtkWindowControlsProps = WidgetProps & {
9754
9258
  */
9755
9259
  useNativeControls?: boolean;
9756
9260
  ref?: Ref<Gtk.WindowControls>;
9757
- };
9261
+ }
9758
9262
  /** Props for the {@link GtkWindowHandle} widget. */
9759
- export type GtkWindowHandleProps = WidgetProps & {
9263
+ export interface GtkWindowHandleProps extends WidgetProps {
9760
9264
  /** The child widget. */
9761
9265
  child?: Gtk.Widget | null;
9762
- children?: ReactNode;
9763
9266
  ref?: Ref<Gtk.WindowHandle>;
9764
- };
9267
+ }
9765
9268
  /** Props for the {@link AdwWindowTitle} widget. */
9766
- export type AdwWindowTitleProps = WidgetProps & {
9269
+ export interface AdwWindowTitleProps extends WidgetProps {
9767
9270
  /**
9768
9271
  * The subtitle to display.
9769
9272
  *
@@ -9778,9 +9281,9 @@ export type AdwWindowTitleProps = WidgetProps & {
9778
9281
  */
9779
9282
  title: string;
9780
9283
  ref?: Ref<Adw.WindowTitle>;
9781
- };
9284
+ }
9782
9285
  /** Props for the {@link AdwWrapBox} widget. */
9783
- export type AdwWrapBoxProps = WidgetProps & {
9286
+ export interface AdwWrapBoxProps extends WidgetProps {
9784
9287
  /**
9785
9288
  * The alignment of the children within each line.
9786
9289
  *
@@ -9890,9 +9393,8 @@ export type AdwWrapBoxProps = WidgetProps & {
9890
9393
  wrapReverse?: boolean;
9891
9394
  /** The orientation of the orientable. */
9892
9395
  orientation?: Gtk.Orientation;
9893
- children?: ReactNode;
9894
9396
  ref?: Ref<Adw.WrapBox>;
9895
- };
9397
+ }
9896
9398
  /**
9897
9399
  * The base class for event controllers.
9898
9400
  *
@@ -9907,7 +9409,7 @@ export type AdwWrapBoxProps = WidgetProps & {
9907
9409
  * an overview of the basic concepts, such as the capture and bubble
9908
9410
  * phases of event propagation.
9909
9411
  */
9910
- export type EventControllerBaseProps = {
9412
+ export interface EventControllerBaseProps {
9911
9413
  /** The name for this controller, typically used for debugging purposes. */
9912
9414
  name?: string | null;
9913
9415
  /** The limit for which events this controller will handle. */
@@ -9942,9 +9444,10 @@ export type EventControllerBaseProps = {
9942
9444
  * detail strings for the notify signal.
9943
9445
  */
9944
9446
  onNotify?: (pspec: GObject.ParamSpec, self: Gtk.EventController) => void | null;
9945
- };
9447
+ children?: ReactNode;
9448
+ }
9946
9449
  /** Props for the {@link GtkDragSource} controller element. */
9947
- export type GtkDragSourceProps = GtkGestureSingleProps & {
9450
+ export interface GtkDragSourceProps extends GtkGestureSingleProps {
9948
9451
  /**
9949
9452
  * The actions that are supported by drag operations from the source.
9950
9453
  *
@@ -9986,16 +9489,10 @@ export type GtkDragSourceProps = GtkGestureSingleProps & {
9986
9489
  * property ahead of time, you don't need to connect to this signal.
9987
9490
  */
9988
9491
  onPrepare?: (x: number, y: number, self: Gtk.DragSource) => Gdk.ContentProvider | null;
9989
- /** Paintable to use as the drag icon during DND operations. */
9990
- icon?: Gdk.Paintable | null;
9991
- /** X coordinate of the hotspot relative to the drag icon's top-left corner. */
9992
- iconHotX?: number;
9993
- /** Y coordinate of the hotspot relative to the drag icon's top-left corner. */
9994
- iconHotY?: number;
9995
9492
  ref?: Ref<Gtk.DragSource>;
9996
- };
9493
+ }
9997
9494
  /** Props for the {@link GtkDropControllerMotion} controller element. */
9998
- export type GtkDropControllerMotionProps = EventControllerBaseProps & {
9495
+ export interface GtkDropControllerMotionProps extends EventControllerBaseProps {
9999
9496
  /** Signals that the pointer has entered the widget. */
10000
9497
  onEnter?: (x: number, y: number, self: Gtk.DropControllerMotion) => void | null;
10001
9498
  /** Signals that the pointer has left the widget. */
@@ -10003,9 +9500,9 @@ export type GtkDropControllerMotionProps = EventControllerBaseProps & {
10003
9500
  /** Emitted when the pointer moves inside the widget. */
10004
9501
  onMotion?: (x: number, y: number, self: Gtk.DropControllerMotion) => void | null;
10005
9502
  ref?: Ref<Gtk.DropControllerMotion>;
10006
- };
9503
+ }
10007
9504
  /** Props for the {@link GtkDropTarget} controller element. */
10008
- export type GtkDropTargetProps = EventControllerBaseProps & {
9505
+ export interface GtkDropTargetProps extends EventControllerBaseProps {
10009
9506
  /** The `GdkDragActions` that this drop target supports. */
10010
9507
  actions?: Gdk.DragAction;
10011
9508
  /**
@@ -10075,12 +9572,10 @@ export type GtkDropTargetProps = EventControllerBaseProps & {
10075
9572
  onLeave?: (self: Gtk.DropTarget) => void | null;
10076
9573
  /** Emitted while the pointer is moving over the drop target. */
10077
9574
  onMotion?: (x: number, y: number, self: Gtk.DropTarget) => Gdk.DragAction | null;
10078
- /** Array of GTypes that this drop target accepts. Use typeFromName() to get GType values. */
10079
- types?: number[];
10080
9575
  ref?: Ref<Gtk.DropTarget>;
10081
- };
9576
+ }
10082
9577
  /** Props for the {@link GtkDropTargetAsync} controller element. */
10083
- export type GtkDropTargetAsyncProps = EventControllerBaseProps & {
9578
+ export interface GtkDropTargetAsyncProps extends EventControllerBaseProps {
10084
9579
  /** The `GdkDragActions` that this drop target supports. */
10085
9580
  actions?: Gdk.DragAction;
10086
9581
  /** The `GdkContentFormats` that determines the supported data formats. */
@@ -10136,9 +9631,9 @@ export type GtkDropTargetAsyncProps = EventControllerBaseProps & {
10136
9631
  */
10137
9632
  onDrop?: (drop: Gdk.Drop, x: number, y: number, self: Gtk.DropTargetAsync) => boolean | null;
10138
9633
  ref?: Ref<Gtk.DropTargetAsync>;
10139
- };
9634
+ }
10140
9635
  /** Props for the {@link GtkEventControllerFocus} controller element. */
10141
- export type GtkEventControllerFocusProps = EventControllerBaseProps & {
9636
+ export interface GtkEventControllerFocusProps extends EventControllerBaseProps {
10142
9637
  /**
10143
9638
  * Emitted whenever the focus enters into the widget or one
10144
9639
  * of its descendents.
@@ -10165,9 +9660,9 @@ export type GtkEventControllerFocusProps = EventControllerBaseProps & {
10165
9660
  */
10166
9661
  onLeave?: (self: Gtk.EventControllerFocus) => void | null;
10167
9662
  ref?: Ref<Gtk.EventControllerFocus>;
10168
- };
9663
+ }
10169
9664
  /** Props for the {@link GtkEventControllerKey} controller element. */
10170
- export type GtkEventControllerKeyProps = EventControllerBaseProps & {
9665
+ export interface GtkEventControllerKeyProps extends EventControllerBaseProps {
10171
9666
  /**
10172
9667
  * Emitted whenever the input method context filters away
10173
9668
  * a keypress and prevents the `controller` receiving it.
@@ -10183,15 +9678,15 @@ export type GtkEventControllerKeyProps = EventControllerBaseProps & {
10183
9678
  /** Emitted whenever the state of modifier keys and pointer buttons change. */
10184
9679
  onModifiers?: (state: Gdk.ModifierType, self: Gtk.EventControllerKey) => boolean | null;
10185
9680
  ref?: Ref<Gtk.EventControllerKey>;
10186
- };
9681
+ }
10187
9682
  /** Props for the {@link GtkEventControllerLegacy} controller element. */
10188
- export type GtkEventControllerLegacyProps = EventControllerBaseProps & {
9683
+ export interface GtkEventControllerLegacyProps extends EventControllerBaseProps {
10189
9684
  /** Emitted for each GDK event delivered to `controller`. */
10190
9685
  onEvent?: (event: Gdk.Event, self: Gtk.EventControllerLegacy) => boolean | null;
10191
9686
  ref?: Ref<Gtk.EventControllerLegacy>;
10192
- };
9687
+ }
10193
9688
  /** Props for the {@link GtkEventControllerMotion} controller element. */
10194
- export type GtkEventControllerMotionProps = EventControllerBaseProps & {
9689
+ export interface GtkEventControllerMotionProps extends EventControllerBaseProps {
10195
9690
  /** Signals that the pointer has entered the widget. */
10196
9691
  onEnter?: (x: number, y: number, self: Gtk.EventControllerMotion) => void | null;
10197
9692
  /** Signals that the pointer has left the widget. */
@@ -10199,9 +9694,9 @@ export type GtkEventControllerMotionProps = EventControllerBaseProps & {
10199
9694
  /** Emitted when the pointer moves inside the widget. */
10200
9695
  onMotion?: (x: number, y: number, self: Gtk.EventControllerMotion) => void | null;
10201
9696
  ref?: Ref<Gtk.EventControllerMotion>;
10202
- };
9697
+ }
10203
9698
  /** Props for the {@link GtkEventControllerScroll} controller element. */
10204
- export type GtkEventControllerScrollProps = EventControllerBaseProps & {
9699
+ export interface GtkEventControllerScrollProps extends EventControllerBaseProps {
10205
9700
  /** The flags affecting event controller behavior. */
10206
9701
  flags?: Gtk.EventControllerScrollFlags;
10207
9702
  /**
@@ -10234,9 +9729,9 @@ export type GtkEventControllerScrollProps = EventControllerBaseProps & {
10234
9729
  */
10235
9730
  onScrollEnd?: (self: Gtk.EventControllerScroll) => void | null;
10236
9731
  ref?: Ref<Gtk.EventControllerScroll>;
10237
- };
9732
+ }
10238
9733
  /** Props for the {@link GtkGesture} controller element. */
10239
- export type GtkGestureProps = EventControllerBaseProps & {
9734
+ export interface GtkGestureProps extends EventControllerBaseProps {
10240
9735
  /**
10241
9736
  * Emitted when the gesture is recognized.
10242
9737
  *
@@ -10288,9 +9783,9 @@ export type GtkGestureProps = EventControllerBaseProps & {
10288
9783
  */
10289
9784
  onUpdate?: (sequence: Gdk.EventSequence, self: Gtk.Gesture) => void | null;
10290
9785
  ref?: Ref<Gtk.Gesture>;
10291
- };
9786
+ }
10292
9787
  /** Props for the {@link GtkGestureClick} controller element. */
10293
- export type GtkGestureClickProps = GtkGestureSingleProps & {
9788
+ export interface GtkGestureClickProps extends GtkGestureSingleProps {
10294
9789
  /** Emitted whenever a button or touch press happens. */
10295
9790
  onPressed?: (nPress: number, x: number, y: number, self: Gtk.GestureClick) => void | null;
10296
9791
  /**
@@ -10314,9 +9809,9 @@ export type GtkGestureClickProps = GtkGestureSingleProps & {
10314
9809
  */
10315
9810
  onUnpairedRelease?: (x: number, y: number, button: number, sequence: Gdk.EventSequence, self: Gtk.GestureClick) => void | null;
10316
9811
  ref?: Ref<Gtk.GestureClick>;
10317
- };
9812
+ }
10318
9813
  /** Props for the {@link GtkGestureDrag} controller element. */
10319
- export type GtkGestureDragProps = GtkGestureSingleProps & {
9814
+ export interface GtkGestureDragProps extends GtkGestureSingleProps {
10320
9815
  /** Emitted whenever dragging starts. */
10321
9816
  onDragBegin?: (startX: number, startY: number, self: Gtk.GestureDrag) => void | null;
10322
9817
  /** Emitted whenever the dragging is finished. */
@@ -10324,9 +9819,9 @@ export type GtkGestureDragProps = GtkGestureSingleProps & {
10324
9819
  /** Emitted whenever the dragging point moves. */
10325
9820
  onDragUpdate?: (offsetX: number, offsetY: number, self: Gtk.GestureDrag) => void | null;
10326
9821
  ref?: Ref<Gtk.GestureDrag>;
10327
- };
9822
+ }
10328
9823
  /** Props for the {@link GtkGestureLongPress} controller element. */
10329
- export type GtkGestureLongPressProps = GtkGestureSingleProps & {
9824
+ export interface GtkGestureLongPressProps extends GtkGestureSingleProps {
10330
9825
  /** Factor by which to modify the default timeout. */
10331
9826
  delayFactor?: number;
10332
9827
  /**
@@ -10340,23 +9835,23 @@ export type GtkGestureLongPressProps = GtkGestureSingleProps & {
10340
9835
  */
10341
9836
  onPressed?: (x: number, y: number, self: Gtk.GestureLongPress) => void | null;
10342
9837
  ref?: Ref<Gtk.GestureLongPress>;
10343
- };
9838
+ }
10344
9839
  /** Props for the {@link GtkGesturePan} controller element. */
10345
- export type GtkGesturePanProps = GtkGestureDragProps & {
9840
+ export interface GtkGesturePanProps extends GtkGestureDragProps {
10346
9841
  /** The expected orientation of pan gestures. */
10347
9842
  orientation?: Gtk.Orientation;
10348
9843
  /** Emitted once a panning gesture along the expected axis is detected. */
10349
9844
  onPan?: (direction: Gtk.PanDirection, offset: number, self: Gtk.GesturePan) => void | null;
10350
9845
  ref?: Ref<Gtk.GesturePan>;
10351
- };
9846
+ }
10352
9847
  /** Props for the {@link GtkGestureRotate} controller element. */
10353
- export type GtkGestureRotateProps = GtkGestureProps & {
9848
+ export interface GtkGestureRotateProps extends GtkGestureProps {
10354
9849
  /** Emitted when the angle between both tracked points changes. */
10355
9850
  onAngleChanged?: (angle: number, angleDelta: number, self: Gtk.GestureRotate) => void | null;
10356
9851
  ref?: Ref<Gtk.GestureRotate>;
10357
- };
9852
+ }
10358
9853
  /** Props for the {@link GtkGestureSingle} controller element. */
10359
- export type GtkGestureSingleProps = GtkGestureProps & {
9854
+ export interface GtkGestureSingleProps extends GtkGestureProps {
10360
9855
  /** Mouse button number to listen to, or 0 to listen for any button. */
10361
9856
  button?: number;
10362
9857
  /**
@@ -10368,9 +9863,9 @@ export type GtkGestureSingleProps = GtkGestureProps & {
10368
9863
  /** Whether the gesture handles only touch events. */
10369
9864
  touchOnly?: boolean;
10370
9865
  ref?: Ref<Gtk.GestureSingle>;
10371
- };
9866
+ }
10372
9867
  /** Props for the {@link GtkGestureStylus} controller element. */
10373
- export type GtkGestureStylusProps = GtkGestureSingleProps & {
9868
+ export interface GtkGestureStylusProps extends GtkGestureSingleProps {
10374
9869
  /** If this gesture should exclusively react to stylus input devices. */
10375
9870
  stylusOnly?: boolean;
10376
9871
  /** Emitted when the stylus touches the device. */
@@ -10382,9 +9877,9 @@ export type GtkGestureStylusProps = GtkGestureSingleProps & {
10382
9877
  /** Emitted when the stylus no longer touches the device. */
10383
9878
  onUp?: (x: number, y: number, self: Gtk.GestureStylus) => void | null;
10384
9879
  ref?: Ref<Gtk.GestureStylus>;
10385
- };
9880
+ }
10386
9881
  /** Props for the {@link GtkGestureSwipe} controller element. */
10387
- export type GtkGestureSwipeProps = GtkGestureSingleProps & {
9882
+ export interface GtkGestureSwipeProps extends GtkGestureSingleProps {
10388
9883
  /**
10389
9884
  * Emitted when the recognized gesture is finished.
10390
9885
  *
@@ -10392,19 +9887,19 @@ export type GtkGestureSwipeProps = GtkGestureSingleProps & {
10392
9887
  */
10393
9888
  onSwipe?: (velocityX: number, velocityY: number, self: Gtk.GestureSwipe) => void | null;
10394
9889
  ref?: Ref<Gtk.GestureSwipe>;
10395
- };
9890
+ }
10396
9891
  /** Props for the {@link GtkGestureZoom} controller element. */
10397
- export type GtkGestureZoomProps = GtkGestureProps & {
9892
+ export interface GtkGestureZoomProps extends GtkGestureProps {
10398
9893
  /** Emitted whenever the distance between both tracked sequences changes. */
10399
9894
  onScaleChanged?: (scale: number, self: Gtk.GestureZoom) => void | null;
10400
9895
  ref?: Ref<Gtk.GestureZoom>;
10401
- };
9896
+ }
10402
9897
  /** Props for the {@link GtkPadController} controller element. */
10403
- export type GtkPadControllerProps = EventControllerBaseProps & {
9898
+ export interface GtkPadControllerProps extends EventControllerBaseProps {
10404
9899
  ref?: Ref<Gtk.PadController>;
10405
- };
9900
+ }
10406
9901
  /** Props for the {@link GtkShortcutController} controller element. */
10407
- export type GtkShortcutControllerProps = EventControllerBaseProps & {
9902
+ export interface GtkShortcutControllerProps extends EventControllerBaseProps {
10408
9903
  /** The modifiers that need to be pressed to allow mnemonics activation. */
10409
9904
  mnemonicModifiers?: Gdk.ModifierType;
10410
9905
  /** What scope the shortcuts will be handled in. */
@@ -10418,10 +9913,8 @@ export type GtkShortcutControllerProps = EventControllerBaseProps & {
10418
9913
  * in the model change.
10419
9914
  */
10420
9915
  onItemsChanged?: (position: number, removed: number, added: number, self: Gtk.ShortcutController) => void | null;
10421
- /** Shortcut children (x.Shortcut elements). */
10422
- children?: ReactNode;
10423
9916
  ref?: Ref<Gtk.ShortcutController>;
10424
- };
9917
+ }
10425
9918
  /**
10426
9919
  * Type mapping widgets to their valid slot names. Used for type-safe Slot components.
10427
9920
  * Derived from CodegenWidgetMeta (single source of truth).
@@ -10451,6 +9944,7 @@ export type WidgetSlotNames = {
10451
9944
  AdwFlap: "content" | "flap" | "separator";
10452
9945
  GtkFlowBoxChild: "child";
10453
9946
  GtkFrame: "child" | "labelWidget";
9947
+ GtkGraphicsOffload: "child";
10454
9948
  GtkSourceGutter: "view";
10455
9949
  AdwHeaderBar: "titleWidget";
10456
9950
  GtkHeaderBar: "titleWidget";
@@ -10461,6 +9955,7 @@ export type WidgetSlotNames = {
10461
9955
  GtkSourceMap: "view";
10462
9956
  GtkMenuButton: "child" | "popover";
10463
9957
  AdwMessageDialog: "extraChild";
9958
+ AdwNavigationPage: "child";
10464
9959
  AdwNavigationSplitView: "content" | "sidebar";
10465
9960
  GtkOverlay: "child";
10466
9961
  AdwOverlaySplitView: "content" | "sidebar";