@gjsify/gtk-host 0.51.1 → 0.52.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 (36) hide show
  1. package/README.md +154 -1
  2. package/lib/esm/accessibility.js +1 -0
  3. package/lib/esm/conformance/at-context.js +1 -0
  4. package/lib/esm/conformance/index.js +1 -1
  5. package/lib/esm/conformance/shared-tree-builder.js +1 -0
  6. package/lib/esm/errors.js +1 -1
  7. package/lib/esm/generated/accessibility.js +1 -0
  8. package/lib/esm/host.js +1 -1
  9. package/lib/esm/index.js +1 -1
  10. package/lib/esm/menu.js +1 -1
  11. package/lib/esm/policies.js +1 -1
  12. package/lib/esm/props.js +1 -1
  13. package/lib/types/accessibility.d.ts +56 -0
  14. package/lib/types/accessibility.spec.d.ts +2 -0
  15. package/lib/types/attrs.d.ts +15 -2
  16. package/lib/types/conformance/at-context.d.ts +31 -0
  17. package/lib/types/conformance/index.d.ts +2 -0
  18. package/lib/types/conformance/nick-vectors.d.mts +26 -0
  19. package/lib/types/conformance/shared-tree-builder.d.ts +26 -0
  20. package/lib/types/errors.d.ts +61 -1
  21. package/lib/types/font-dir.d.ts +5 -3
  22. package/lib/types/fonts.d.ts +6 -3
  23. package/lib/types/generated/accessibility.d.ts +208 -0
  24. package/lib/types/generated/enum-values.d.mts +1 -1
  25. package/lib/types/generated/props.d.ts +3310 -186
  26. package/lib/types/generated/surface-data.d.mts +10 -0
  27. package/lib/types/generated/value-types.d.mts +28 -0
  28. package/lib/types/generator/emit-types.d.mts +22 -0
  29. package/lib/types/generator/model.d.mts +20 -0
  30. package/lib/types/host.d.ts +26 -0
  31. package/lib/types/index.d.ts +1 -1
  32. package/lib/types/policies.d.ts +58 -1
  33. package/lib/types/props.d.ts +10 -5
  34. package/lib/types/react-jsx-runtime.d.ts +2 -2
  35. package/lib/types/types.d.ts +52 -0
  36. package/package.json +17 -15
@@ -1,5 +1,7 @@
1
1
  export { describeLogRecord, installDiagnosticsGate, isEnvironmentDiagnostic, type DiagnosticsGate, } from './diagnostics.js';
2
2
  export { windowChromeCensus, windowChromeProblems, type WindowChromeCensus } from './window-chrome.js';
3
+ export { buildSharedTree } from './shared-tree-builder.js';
4
+ export { installAccessibilityBackend, withAtContext } from './at-context.js';
3
5
  import type Gtk from '@girs/gtk-4.0';
4
6
  import type { ChildPolicy, HostElement, NodePlacement, WidgetDescriptor } from '../types.js';
5
7
  /** Every method name a policy names, so the check does not have to know the shapes. */
@@ -0,0 +1,26 @@
1
+ /** What GObject must end up holding, or the refusal that must reach the caller. */
2
+ export type NickOutcome = {
3
+ readonly holds: number;
4
+ } | {
5
+ readonly refuses: string;
6
+ };
7
+ export interface NickVector {
8
+ /** What this row is about — a failing row prints it. */
9
+ readonly what: string;
10
+ readonly tag: string;
11
+ /** Kebab, as GObject knows the property. */
12
+ readonly prop: string;
13
+ /** What a template, a JSX file or a renderer writes. */
14
+ readonly authored: string | number;
15
+ readonly outcome: NickOutcome;
16
+ }
17
+ /**
18
+ * Every edge of nick resolution, against four bitfields and three enums.
19
+ *
20
+ * MORE THAN ONE BITFIELD TYPE ON PURPOSE. `GtkInputHints` alone would prove the
21
+ * parser and nothing about the JOIN that finds it: the type surface reaches a
22
+ * bitfield through `PROP_ENUMS`, keyed by the DECLARING type, so a property inherited
23
+ * from an interface (`GtkEditable`) and one declared on the class itself take
24
+ * different routes to the same answer.
25
+ */
26
+ export declare const NICK_VECTORS: readonly NickVector[];
@@ -0,0 +1,26 @@
1
+ import type { SharedTreeNode } from '@gjsify/adwaita-core/conformance';
2
+ import type { HostElement } from '../types.js';
3
+ /**
4
+ * A `SharedTreeNode`, realised: a tag, its authored properties, its placement, its children,
5
+ * in that order.
6
+ *
7
+ * Recursive and total — no tag list, no property list, no per-block case. The authored
8
+ * property NAMES go to `setProp` verbatim (through `createElement`), which is the point:
9
+ * `buttonLabel` reaching `button-label` is the host's own coercion, and a caller spelling the
10
+ * GObject name itself would be testing its own translation table instead of this one's.
11
+ *
12
+ * `built` COLLECTS THE ELEMENTS THIS CALL CREATED, in authored order, for a caller that has to
13
+ * tell them from the widgets libadwaita built AROUND them. Filtering a realised tree by CLASS
14
+ * cannot: the moment a corpus block authored a `GtkButton`, `AdwEntryRow`'s own apply button
15
+ * answered to the same name and the walk read one node too many. Identity is the only filter
16
+ * that stays right as the corpus grows, and only the builder knows it.
17
+ *
18
+ * THE SLOT GOES THROUGH THE SAME DOOR, and it is not a table here either. `setProp(el,
19
+ * 'slot', …)` is `setSlot`, and every framework adapter in this package already writes a
20
+ * `slot=` attribute through it; placement is then the parent descriptor's `ChildPolicy`,
21
+ * which refuses a name the parent has no destination for BY NAME. This builder read `tag`,
22
+ * `props` and `children` and dropped `slot` silently until a real `.blp` authored one — a
23
+ * `[top]` header bar landed in the content and the window title was then discarded by the
24
+ * bar's own construction, at exit 0.
25
+ */
26
+ export declare function buildSharedTree(node: SharedTreeNode, built?: HostElement[]): HostElement;
@@ -35,6 +35,38 @@ export declare const err: {
35
35
  */
36
36
  listModelMismatch: (tag: string, prop: string, gtypeName: string) => GtkHostError;
37
37
  badAdjustment: (tag: string, prop: string, got: string) => GtkHostError;
38
+ /**
39
+ * The `accessibility` prop given something that is not an object of ARIA names.
40
+ *
41
+ * One grouped prop, so the shape of the value is the first thing that can be wrong —
42
+ * and a string or an array would reach `Object.entries` and produce refusals about
43
+ * index names rather than about the prop.
44
+ */
45
+ badAccessibility: (tag: string, got: string) => GtkHostError;
46
+ unknownAria: (tag: string, name: string) => GtkHostError;
47
+ /**
48
+ * An ARIA name the SHIPPED table has and the INSTALLED GTK does not.
49
+ *
50
+ * The same version-gap question the generated widget table answers with `SINCE`, on the
51
+ * one axis where GTK's own failure is worst: `update_property` with an out-of-range
52
+ * member emits `gtk_accessible_value_collect_for_property_value: assertion failed`, then
53
+ * `gtk_accessible_attribute_set_remove: assertion failed`, and exits 0 (measured).
54
+ */
55
+ ariaNotInstalled: (tag: string, name: string, table: string) => GtkHostError;
56
+ badAriaValue: (tag: string, name: string, wants: string, got: string) => GtkHostError;
57
+ badAriaEnum: (tag: string, name: string, nick: string, gtypeName: string) => GtkHostError;
58
+ /**
59
+ * A relation whose value is another widget — the one part of GTK's ARIA surface this
60
+ * host cannot express, named rather than half-built.
61
+ *
62
+ * `Gtk.AccessibleList.new_from_list([widget])` builds exactly the value GTK wants, so
63
+ * the MARSHALLING is not what is missing: the ADDRESSING is. This host has no `id` prop,
64
+ * and `ref` is resolved by each framework AFTER the props of the element that names it
65
+ * are applied — so a ref read at this point is null on the render that authored it, and
66
+ * GTK takes a null reference at exit 0.
67
+ */
68
+ ariaReference: (tag: string, name: string) => GtkHostError;
69
+ notAccessible: (tag: string) => GtkHostError;
38
70
  badEnum: (tag: string, prop: string, nick: string, gtypeName: string) => GtkHostError;
39
71
  unknownSignal: (tag: string, prop: string, signal: string) => GtkHostError;
40
72
  signalTaken: (tag: string, prop: string, other: string, signal: string) => GtkHostError;
@@ -54,10 +86,38 @@ export declare const err: {
54
86
  eventModifier: (prop: string, modifier: string) => GtkHostError;
55
87
  badString: (tag: string, prop: string, got: string) => GtkHostError;
56
88
  badBoolean: (tag: string, prop: string, value: string) => GtkHostError;
89
+ /**
90
+ * A MEMBER of a flags value that names nothing — not the value as a whole.
91
+ *
92
+ * This used to refuse every string on a flags property, because resolving a nick
93
+ * set was nothing GObject exposed. GTK's `.ui` parser does resolve one, so what is
94
+ * left to refuse is the typo inside a set that otherwise reads fine, and the
95
+ * message has to name the SET as well as the type: `"spellcheck|lowecase"` fails
96
+ * on one member, and reporting only the type sends a reader looking at the wrong
97
+ * half of their own string.
98
+ */
57
99
  badFlags: (tag: string, prop: string, value: string, gtypeName: string) => GtkHostError;
58
- unresolvableEnum: (gtypeName: string) => GtkHostError;
100
+ /**
101
+ * The one flags input GTK's own parser answers SILENTLY, so this host does not.
102
+ *
103
+ * Measured on GTK 4.22.4: `""` and `" "` both parse to `[true, 0]`, and a leading
104
+ * empty member is dropped without a word. Zero is a legal flags value, so the
105
+ * caller gets every flag cleared, no diagnostic and exit 0 — while `"a||b"` and
106
+ * `"a|"` do raise. Refusing all of them by one name keeps the stray separator a
107
+ * spelling mistake rather than a value.
108
+ */
109
+ blankFlags: (tag: string, prop: string, value: string, gtypeName: string) => GtkHostError;
59
110
  textNotAccepted: (tag: string, text: string) => GtkHostError;
60
111
  unclaimedChild: (parentTag: string, childTag: string) => GtkHostError;
112
+ /**
113
+ * A placement the parent has no destination for.
114
+ *
115
+ * The EMPTY case is the common one and it used to print `Known slots: .` — `ordered`,
116
+ * `indexed` and `none` parents declare no slot names at all, and those are exactly the
117
+ * parents a stray `slot=` lands on. A reader needs "this parent has none" to act; a
118
+ * trailing full stop after nothing reads like the message was cut off. Both other
119
+ * renderers already spell it out, so this is also what makes the three agree.
120
+ */
61
121
  unknownSlot: (parentTag: string, slot: string, known: string[]) => GtkHostError;
62
122
  /**
63
123
  * An adder-backed slot with nothing that takes the child back out.
@@ -54,9 +54,11 @@ export declare function resolveFontSources(options?: ResolveFontSourcesOptions):
54
54
  * which is the only party that knows whether the payload became `/usr`, a `--prefix` tree, `/app`,
55
55
  * a bundle's `Contents/Resources` or a Windows program directory.
56
56
  *
57
- * There is NO system fallback, and that is the one place this parts company with
58
- * `resolveLocaleDir`, whose `/usr/share/locale` default is both correct and free. The analogous
59
- * `/usr/share/fonts` is neither: fontconfig has already scanned it, so walking it again would add
57
+ * There is NO system fallback, on ANY platform — where `resolveLocaleDir` keeps one for Linux,
58
+ * whose `/usr/share/locale` default is there both correct and free (it has none for darwin or
59
+ * win32, which have no such directory). The analogous
60
+ * `/usr/share/fonts` is correct on no platform: fontconfig has already scanned it, so walking it
61
+ * again would add
60
62
  * hundreds of `add_font_file` calls to every startup to arrive at families the font map holds
61
63
  * anyway. `undefined` therefore means "this application ships no faces of its own" — the ordinary
62
64
  * case, and a quiet one, because the launcher exports the variable only when it staged a face.
@@ -150,9 +150,12 @@ export interface InitFontsResult {
150
150
  * Keyed on the ERROR rather than on `process.platform`, which is the difference between a
151
151
  * capability test and a guess about who is asking. It costs no `gjsify.os` declaration (this
152
152
  * package makes no OS decision, and ADR 0018's candidate set is derived from the code that reads
153
- * the host), it stays right if a fontconfig-backed Pango is ever selected on darwin — the backend
154
- * is chosen by what is compiled in, not per platform, and `PANGOCAIRO_BACKEND=fc` selects one — and
155
- * it stays right for any other map that declines. The OS name was never the thing being asked.
153
+ * the host), and it stays right for any other map that declines. The OS name was never the thing
154
+ * being asked — which stopped being hypothetical: the backend is whichever one is selected rather
155
+ * than one per platform, and `@gjsify/node-gi`'s loader selects `PANGOCAIRO_BACKEND=fc` on the
156
+ * bundled windowing runtime (ADR 0038 § Amendment 3), so a darwin process on it reaches this
157
+ * arm's other side and REGISTERS the faces. A `process.platform` branch would have had to be
158
+ * found and reversed instead.
156
159
  */
157
160
  export declare function isUnsupportedByFontMap(error: unknown): boolean;
158
161
  /**
@@ -0,0 +1,208 @@
1
+ import type Gtk from '@girs/gtk-4.0';
2
+ import type { AriaSlot } from '../types.js';
3
+ import type { GtkAccessibleAutocompleteNick, GtkAccessibleInvalidStateNick, GtkAccessibleSortNick, GtkAccessibleTristateNick, GtkOrientationNick } from './props.js';
4
+ /**
5
+ * ARIA name -> the table it belongs to and the kind of value GTK collects for it.
6
+ *
7
+ * Keyed by the NAME alone: across the three tables of this GTK the names are distinct,
8
+ * and `girs-vocabulary.mts` fails the generation rather than emit a map that silently
9
+ * kept one of two. The table name is what the runtime derives its GTK call from.
10
+ */
11
+ export declare const ARIA_SLOTS: Readonly<Record<string, AriaSlot>>;
12
+ /**
13
+ * What `accessibility={{ … }}` accepts.
14
+ *
15
+ * ONE OBJECT PROP, NOT 53 FLAT ONES, and the decision is measured rather than
16
+ * stylistic. Measured in this repo's own type surface: TypeScript exempts every
17
+ * hyphen-containing JSX attribute from excess-property checking, so a flat `aria-labell`
18
+ * would be accepted in silence, while a key inside a FRESH object literal is checked —
19
+ * `accessibility={{ labell: 'x' }}` is TS2561, naming the key and suggesting `label`. A grouped
20
+ * prop is also the spelling the other surface over this same vocabulary has: a `.blp` author
21
+ * writes `accessibility { label: "…"; }`, and ADR 0034 exists so two surfaces over one
22
+ * vocabulary do not invent two spellings for one name.
23
+ *
24
+ * KEBAB, THE SPELLING GTK ITSELF USES. A second camelCase spelling would double the
25
+ * surface for nothing: unlike a JSX attribute, a quoted key in an object literal IS
26
+ * excess-property checked, so the one spelling already catches the typo.
27
+ *
28
+ * `null` clears a slot, as it does for every property on this host — `gtk_accessible_reset_*`
29
+ * is what GTK offers and what the host calls.
30
+ */
31
+ export interface AccessibilityAttributes {
32
+ /**
33
+ * `GtkAccessibleRelation.active-descendant` — a REFERENCE to another widget, and this host has no way
34
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
35
+ * props are applied, so the value would be `null` on the render that authors it. Declared
36
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
37
+ */
38
+ 'active-descendant'?: never;
39
+ /** `GtkAccessibleProperty.autocomplete` — a GtkAccessibleAutocomplete, which GTK collects as an int: the nick or the constant. */
40
+ autocomplete?: GtkAccessibleAutocompleteNick | Gtk.AccessibleAutocomplete | null;
41
+ /** `GtkAccessibleState.busy` — GTK collects it as a boolean. */
42
+ busy?: boolean | null;
43
+ /** `GtkAccessibleState.checked` — a GtkAccessibleTristate, which GTK collects as an int: the nick or the constant. */
44
+ checked?: GtkAccessibleTristateNick | Gtk.AccessibleTristate | null;
45
+ /** `GtkAccessibleRelation.col-count` — GTK collects it as an integer. */
46
+ 'col-count'?: number | null;
47
+ /** `GtkAccessibleRelation.col-index` — GTK collects it as an integer. */
48
+ 'col-index'?: number | null;
49
+ /** `GtkAccessibleRelation.col-index-text` — GTK collects it as a string. */
50
+ 'col-index-text'?: string | null;
51
+ /** `GtkAccessibleRelation.col-span` — GTK collects it as an integer. */
52
+ 'col-span'?: number | null;
53
+ /**
54
+ * `GtkAccessibleRelation.controlled-by` — a REFERENCE to another widget, and this host has no way
55
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
56
+ * props are applied, so the value would be `null` on the render that authors it. Declared
57
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
58
+ */
59
+ 'controlled-by'?: never;
60
+ /**
61
+ * `GtkAccessibleRelation.controls` — a REFERENCE to another widget, and this host has no way
62
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
63
+ * props are applied, so the value would be `null` on the render that authors it. Declared
64
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
65
+ */
66
+ controls?: never;
67
+ /**
68
+ * `GtkAccessibleRelation.described-by` — a REFERENCE to another widget, and this host has no way
69
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
70
+ * props are applied, so the value would be `null` on the render that authors it. Declared
71
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
72
+ */
73
+ 'described-by'?: never;
74
+ /** `GtkAccessibleProperty.description` — GTK collects it as a string. */
75
+ description?: string | null;
76
+ /**
77
+ * `GtkAccessibleRelation.description-for` — a REFERENCE to another widget, and this host has no way
78
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
79
+ * props are applied, so the value would be `null` on the render that authors it. Declared
80
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
81
+ */
82
+ 'description-for'?: never;
83
+ /**
84
+ * `GtkAccessibleRelation.details` — a REFERENCE to another widget, and this host has no way
85
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
86
+ * props are applied, so the value would be `null` on the render that authors it. Declared
87
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
88
+ */
89
+ details?: never;
90
+ /**
91
+ * `GtkAccessibleRelation.details-for` — a REFERENCE to another widget, and this host has no way
92
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
93
+ * props are applied, so the value would be `null` on the render that authors it. Declared
94
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
95
+ */
96
+ 'details-for'?: never;
97
+ /** `GtkAccessibleState.disabled` — GTK collects it as a boolean. */
98
+ disabled?: boolean | null;
99
+ /**
100
+ * `GtkAccessibleRelation.error-message` — a REFERENCE to another widget, and this host has no way
101
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
102
+ * props are applied, so the value would be `null` on the render that authors it. Declared
103
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
104
+ */
105
+ 'error-message'?: never;
106
+ /**
107
+ * `GtkAccessibleRelation.error-message-for` — a REFERENCE to another widget, and this host has no way
108
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
109
+ * props are applied, so the value would be `null` on the render that authors it. Declared
110
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
111
+ */
112
+ 'error-message-for'?: never;
113
+ /** `GtkAccessibleState.expanded` — GTK collects it as a boolean. */
114
+ expanded?: boolean | null;
115
+ /**
116
+ * `GtkAccessibleRelation.flow-from` — a REFERENCE to another widget, and this host has no way
117
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
118
+ * props are applied, so the value would be `null` on the render that authors it. Declared
119
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
120
+ */
121
+ 'flow-from'?: never;
122
+ /**
123
+ * `GtkAccessibleRelation.flow-to` — a REFERENCE to another widget, and this host has no way
124
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
125
+ * props are applied, so the value would be `null` on the render that authors it. Declared
126
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
127
+ */
128
+ 'flow-to'?: never;
129
+ /** `GtkAccessibleProperty.has-popup` — GTK collects it as a boolean. */
130
+ 'has-popup'?: boolean | null;
131
+ /** `GtkAccessibleProperty.help-text` — GTK collects it as a string. */
132
+ 'help-text'?: string | null;
133
+ /** `GtkAccessibleState.hidden` — GTK collects it as a boolean. */
134
+ hidden?: boolean | null;
135
+ /** `GtkAccessibleState.invalid` — a GtkAccessibleInvalidState, which GTK collects as an int: the nick or the constant. */
136
+ invalid?: GtkAccessibleInvalidStateNick | Gtk.AccessibleInvalidState | null;
137
+ /** `GtkAccessibleProperty.key-shortcuts` — GTK collects it as a string. */
138
+ 'key-shortcuts'?: string | null;
139
+ /** `GtkAccessibleProperty.label` — GTK collects it as a string. */
140
+ label?: string | null;
141
+ /**
142
+ * `GtkAccessibleRelation.label-for` — a REFERENCE to another widget, and this host has no way
143
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
144
+ * props are applied, so the value would be `null` on the render that authors it. Declared
145
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
146
+ */
147
+ 'label-for'?: never;
148
+ /**
149
+ * `GtkAccessibleRelation.labelled-by` — a REFERENCE to another widget, and this host has no way
150
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
151
+ * props are applied, so the value would be `null` on the render that authors it. Declared
152
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
153
+ */
154
+ 'labelled-by'?: never;
155
+ /** `GtkAccessibleProperty.level` — GTK collects it as an integer. */
156
+ level?: number | null;
157
+ /** `GtkAccessibleProperty.modal` — GTK collects it as a boolean. */
158
+ modal?: boolean | null;
159
+ /** `GtkAccessibleProperty.multi-line` — GTK collects it as a boolean. */
160
+ 'multi-line'?: boolean | null;
161
+ /** `GtkAccessibleProperty.multi-selectable` — GTK collects it as a boolean. */
162
+ 'multi-selectable'?: boolean | null;
163
+ /** `GtkAccessibleProperty.orientation` — a GtkOrientation, which GTK collects as an int: the nick or the constant. */
164
+ orientation?: GtkOrientationNick | Gtk.Orientation | null;
165
+ /**
166
+ * `GtkAccessibleRelation.owns` — a REFERENCE to another widget, and this host has no way
167
+ * to name one. There is no `id` prop and `ref` is resolved by the framework after the
168
+ * props are applied, so the value would be `null` on the render that authors it. Declared
169
+ * and unwritable rather than absent: GTK has this name, the gap is ours.
170
+ */
171
+ owns?: never;
172
+ /** `GtkAccessibleProperty.placeholder` — GTK collects it as a string. */
173
+ placeholder?: string | null;
174
+ /** `GtkAccessibleRelation.pos-in-set` — GTK collects it as an integer. */
175
+ 'pos-in-set'?: number | null;
176
+ /** `GtkAccessibleState.pressed` — a GtkAccessibleTristate, which GTK collects as an int: the nick or the constant. */
177
+ pressed?: GtkAccessibleTristateNick | Gtk.AccessibleTristate | null;
178
+ /** `GtkAccessibleProperty.read-only` — GTK collects it as a boolean. */
179
+ 'read-only'?: boolean | null;
180
+ /** `GtkAccessibleProperty.required` — GTK collects it as a boolean. */
181
+ required?: boolean | null;
182
+ /** `GtkAccessibleProperty.role-description` — GTK collects it as a string. */
183
+ 'role-description'?: string | null;
184
+ /** `GtkAccessibleRelation.row-count` — GTK collects it as an integer. */
185
+ 'row-count'?: number | null;
186
+ /** `GtkAccessibleRelation.row-index` — GTK collects it as an integer. */
187
+ 'row-index'?: number | null;
188
+ /** `GtkAccessibleRelation.row-index-text` — GTK collects it as a string. */
189
+ 'row-index-text'?: string | null;
190
+ /** `GtkAccessibleRelation.row-span` — GTK collects it as an integer. */
191
+ 'row-span'?: number | null;
192
+ /** `GtkAccessibleState.selected` — GTK collects it as a boolean. */
193
+ selected?: boolean | null;
194
+ /** `GtkAccessibleRelation.set-size` — GTK collects it as an integer. */
195
+ 'set-size'?: number | null;
196
+ /** `GtkAccessibleProperty.sort` — a GtkAccessibleSort, which GTK collects as an int: the nick or the constant. */
197
+ sort?: GtkAccessibleSortNick | Gtk.AccessibleSort | null;
198
+ /** `GtkAccessibleProperty.value-max` — GTK collects it as a double. */
199
+ 'value-max'?: number | null;
200
+ /** `GtkAccessibleProperty.value-min` — GTK collects it as a double. */
201
+ 'value-min'?: number | null;
202
+ /** `GtkAccessibleProperty.value-now` — GTK collects it as a double. */
203
+ 'value-now'?: number | null;
204
+ /** `GtkAccessibleProperty.value-text` — GTK collects it as a string. */
205
+ 'value-text'?: string | null;
206
+ /** `GtkAccessibleState.visited` — GTK collects it as a boolean. */
207
+ visited?: boolean | null;
208
+ }
@@ -5,7 +5,7 @@
5
5
  * A value, not only a header comment: `generated.spec.ts` compares it with the
6
6
  * running library to decide whether a disagreement is a defect or a version gap.
7
7
  */
8
- export declare const VALUES_PROVENANCE = "Adw-1/1.9.3 Gtk-4.0/4.22.4 Pango-1.0/1.57.1";
8
+ export declare const VALUES_PROVENANCE = "Adw-1/1.9.3 Gio-2.0 Gtk-4.0/4.22.4 Pango-1.0/1.57.1";
9
9
  /** `<enum GType>.<nick>` -> the integer the library registers for it. */
10
10
  export declare const ENUM_VALUES: Readonly<Record<string, number>>;
11
11
  /**