@gjsify/gtk-host 0.51.0 → 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 (38) 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/fonts.js +1 -1
  8. package/lib/esm/generated/accessibility.js +1 -0
  9. package/lib/esm/host.js +1 -1
  10. package/lib/esm/index.js +1 -1
  11. package/lib/esm/menu.js +1 -1
  12. package/lib/esm/policies.js +1 -1
  13. package/lib/esm/props.js +1 -1
  14. package/lib/types/accessibility.d.ts +56 -0
  15. package/lib/types/accessibility.spec.d.ts +2 -0
  16. package/lib/types/attrs.d.ts +15 -2
  17. package/lib/types/conformance/at-context.d.ts +31 -0
  18. package/lib/types/conformance/index.d.ts +2 -0
  19. package/lib/types/conformance/nick-vectors.d.mts +26 -0
  20. package/lib/types/conformance/shared-tree-builder.d.ts +26 -0
  21. package/lib/types/errors.d.ts +61 -1
  22. package/lib/types/font-dir.d.ts +5 -3
  23. package/lib/types/fonts.d.ts +66 -12
  24. package/lib/types/generated/accessibility.d.ts +208 -0
  25. package/lib/types/generated/enum-values.d.mts +1 -1
  26. package/lib/types/generated/props.d.ts +3310 -186
  27. package/lib/types/generated/surface-data.d.mts +10 -0
  28. package/lib/types/generated/value-types.d.mts +28 -0
  29. package/lib/types/generator/emit-types.d.mts +22 -0
  30. package/lib/types/generator/model.d.mts +20 -0
  31. package/lib/types/host.d.ts +26 -0
  32. package/lib/types/index.d.ts +1 -1
  33. package/lib/types/policies.d.ts +58 -1
  34. package/lib/types/props.d.ts +10 -5
  35. package/lib/types/react-jsx-runtime.d.ts +2 -2
  36. package/lib/types/types.d.ts +52 -0
  37. package/lib/types/ui-font.d.ts +12 -2
  38. package/package.json +17 -15
@@ -0,0 +1,31 @@
1
+ import type Gtk from '@girs/gtk-4.0';
2
+ /**
3
+ * Give this process an in-process accessibility backend, before anything asks for one.
4
+ *
5
+ * OVERWRITE is deliberate: CI sets `GTK_A11Y=none` explicitly, and honouring it would
6
+ * keep the vectors measuring an absent layer rather than the code under test.
7
+ *
8
+ * AND THE ORDER IS LOAD-BEARING, which is why this belongs at a test ENTRY POINT and
9
+ * not beside a `Gtk.init()`. GTK reads the variable lazily but exactly ONCE, at the
10
+ * first `get_at_context()`, and caches the answer — measured on gtk 4.22.5 starting
11
+ * from `GTK_A11Y=none`: set after `Gtk.init()` and before any widget is asked for its
12
+ * context, `test` takes; set after ONE widget has been asked, the answer is `null`
13
+ * forever. A module body runs after every `import` above it, so an entry point is
14
+ * early enough only for as long as nothing it imports touches an AT context while
15
+ * being evaluated. {@link withAtContext} is what NAMES the day that stops being true.
16
+ */
17
+ export declare function installAccessibilityBackend(): void;
18
+ /**
19
+ * The widget, or a refusal that says why an ARIA assertion about it cannot mean anything.
20
+ *
21
+ * A THROW rather than an `expect`, because the SENTENCE is the whole value here. Without
22
+ * it the symptom is `Expected: true (boolean) / Actual: false (boolean)`, six times over,
23
+ * on three OS legs at once — and that shape reads as a marshalling defect in whichever
24
+ * runtime those legs happen to share. It is not one; it is this.
25
+ *
26
+ * It also guards the assertions that expect FALSE, and those are the ones that make this
27
+ * a gate rather than a nicety: with no AT context they pass VACUOUSLY. A reset vector, a
28
+ * "nothing was authored here" vector — every one of them is green against a layer that
29
+ * was never there.
30
+ */
31
+ export declare function withAtContext<T extends Gtk.Accessible>(widget: T): T;
@@ -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.
@@ -1,3 +1,4 @@
1
+ import Gtk from 'gi://Gtk?version=4.0';
1
2
  import { type FontFamilyMatch } from './font-families.js';
2
3
  import { type FontSource, type ResolveFontSourcesOptions } from './font-dir.js';
3
4
  import { type PlanUiFontOptions, type UiFontPlan, type UiFontPolicy } from './ui-font.js';
@@ -40,6 +41,29 @@ export interface FontFaceFailure {
40
41
  readonly path: string;
41
42
  readonly message: string;
42
43
  }
44
+ /**
45
+ * A {@link FontSource} and the faces IT contributed.
46
+ *
47
+ * WHY THE ATTRIBUTION IS PART OF THE RESULT rather than something a caller re-derives. Since the
48
+ * GTK runtime bundle started carrying the GNOME UI typeface there are TWO sources, and the flat
49
+ * {@link InitFontsResult.registered}, {@link InitFontsResult.declined} and
50
+ * {@link InitFontsResult.failed} lists span both — so "did MY staged face arrive" stopped being
51
+ * answerable from them the day a published bundle gained a face, silently, with no caller
52
+ * changing a line. The loop that hands each file to the font map is the only place that knows
53
+ * which directory it came from; anything downstream is reduced to comparing path prefixes, which
54
+ * is a guess about filesystem layout rather than a measurement.
55
+ *
56
+ * The same argument {@link InitFontsResult.families} makes about the family diff, one field over:
57
+ * only the call that did the work is in a position to take the reading.
58
+ */
59
+ export interface FontSourceOutcome extends FontSource {
60
+ /** Faces from THIS directory now on the default font map. */
61
+ readonly registered: readonly string[];
62
+ /** Faces from THIS directory the font map declined — see {@link isUnsupportedByFontMap}. */
63
+ readonly declined: readonly string[];
64
+ /** Faces from THIS directory that failed otherwise, plus the directory itself if unreadable. */
65
+ readonly failed: readonly FontFaceFailure[];
66
+ }
43
67
  /** What {@link initFonts} did, so a caller that cares can assert on it. */
44
68
  export interface InitFontsResult {
45
69
  /**
@@ -50,8 +74,16 @@ export interface InitFontsResult {
50
74
  * answering `true` because the platform's were. {@link sources} is the full list.
51
75
  */
52
76
  readonly dir: string | undefined;
53
- /** Every directory registered, runtime first. See {@link FontSource}. */
54
- readonly sources: readonly FontSource[];
77
+ /**
78
+ * Every directory registered, runtime first, and what each one contributed.
79
+ *
80
+ * THE ONLY PLACE A FACE IS ATTRIBUTED TO A DIRECTORY. Read this, not the flat lists below,
81
+ * whenever the question is about ONE source — "did the face I staged arrive", "did the
82
+ * runtime bundle bring its own" — because the flat lists answer for all of them at once and
83
+ * their counts move whenever a published bundle changes what it carries. See
84
+ * {@link FontSourceOutcome}.
85
+ */
86
+ readonly sources: readonly FontSourceOutcome[];
55
87
  /**
56
88
  * What the UI-font-size policy did, or `undefined` when it did not run.
57
89
  *
@@ -59,11 +91,17 @@ export interface InitFontsResult {
59
91
  * there, so the default leaves `gtk-font-name` alone entirely.
60
92
  */
61
93
  readonly uiFont: UiFontPlan | undefined;
62
- /** Faces now on the default font map. */
94
+ /** Faces now on the default font map, ACROSS EVERY {@link sources} entry. */
63
95
  readonly registered: readonly string[];
64
- /** Faces the font map declined as unsupported — see {@link isUnsupportedByFontMap}. */
96
+ /**
97
+ * Faces the font map declined as unsupported, across every {@link sources} entry — see
98
+ * {@link isUnsupportedByFontMap}.
99
+ */
65
100
  readonly declined: readonly string[];
66
- /** Faces that failed for any other reason. Each was warned about; none threw. */
101
+ /**
102
+ * Faces that failed for any other reason, across every {@link sources} entry. Each was warned
103
+ * about; none threw.
104
+ */
67
105
  readonly failed: readonly FontFaceFailure[];
68
106
  /**
69
107
  * The family names the default font map GAINED across this call, sorted.
@@ -112,9 +150,12 @@ export interface InitFontsResult {
112
150
  * Keyed on the ERROR rather than on `process.platform`, which is the difference between a
113
151
  * capability test and a guess about who is asking. It costs no `gjsify.os` declaration (this
114
152
  * package makes no OS decision, and ADR 0018's candidate set is derived from the code that reads
115
- * the host), it stays right if a fontconfig-backed Pango is ever selected on darwin — the backend
116
- * is chosen by what is compiled in, not per platform, and `PANGOCAIRO_BACKEND=fc` selects one — and
117
- * 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.
118
159
  */
119
160
  export declare function isUnsupportedByFontMap(error: unknown): boolean;
120
161
  /**
@@ -144,6 +185,14 @@ export declare function initFonts(options?: InitFontsOptions): InitFontsResult;
144
185
  /** Everything {@link planUiFontPolicy} takes except what this module supplies itself. */
145
186
  export interface ApplyUiFontPolicyOptions extends PlanUiFontOptions {
146
187
  readonly policy: UiFontPolicy;
188
+ /**
189
+ * The settings object to act on. Defaults to `Gtk.Settings.get_default()`.
190
+ *
191
+ * A seam, not a knob: the null arm below is the one a real consumer hit, and on a host with a
192
+ * display there is no way to reach it through the default — `get_default()` never answers null
193
+ * once GTK is up. Passing `null` explicitly is how the test for it exists at all.
194
+ */
195
+ readonly settings?: Gtk.Settings | null;
147
196
  }
148
197
  /**
149
198
  * `gtk-font-name` as this process first found it — what the `system` policy restores.
@@ -165,10 +214,15 @@ export declare function uiFontBaseline(): string | undefined;
165
214
  * captured before the first write, which is why switching `adwaita` → `system` at runtime
166
215
  * returns the host's own `Segoe UI 9` rather than an approximation of it.
167
216
  *
168
- * `Gtk.Settings.get_default()` answers null before `Gtk.init()`, and that is a legitimate state
169
- * rather than an error: a program may register its faces before it initialises the toolkit. It
170
- * reports `unparsed` — the arm that already means "nothing to act on, so nothing changed" —
171
- * instead of throwing a caller out of a font call over a setting.
217
+ * `Gtk.Settings.get_default()` answers null before `Gtk.init()`. That is not an error to throw
218
+ * over — a program may register its faces before it initialises the toolkit — but it is NOT the
219
+ * same answer as "the policy ran and had nothing to do", and reporting it as `unparsed` said it
220
+ * was. A consumer that called this at module scope got a plan indistinguishable from a host that
221
+ * needed no correction, so its setting silently did nothing: measured in Learn6502 0.8.0, where
222
+ * `ui-font: policy=size -> unparsed (unchanged)` was printed on macOS and on Windows — the one
223
+ * platform whose 16 px against GNOME's 19 is the reason the policy exists. It now reports
224
+ * `uninitialised` and says so once, because a caller that is too early can only find out from
225
+ * here.
172
226
  */
173
227
  export declare function applyUiFontPolicy(request: UiFontPolicy | ApplyUiFontPolicyOptions): UiFontPlan;
174
228
  /**
@@ -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
  /**