@girs/gcrgtk4-4 5.0.0 → 5.2.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.
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  ![version](https://img.shields.io/npm/v/@girs/gcrgtk4-4)
5
5
  ![downloads/week](https://img.shields.io/npm/dw/@girs/gcrgtk4-4)
6
6
 
7
- GJS TypeScript type definitions for GcrGtk4-4 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.0.0.
7
+ GJS TypeScript type definitions for GcrGtk4-4 using [ts-for-gir](https://github.com/gjsify/ts-for-gir) v5.2.0.
8
8
 
9
9
  This package contains type declarations only. It ships no runtime code, so it adds
10
10
  nothing to your program and works with any bundler or none at all.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * GENERATED — do not edit. Provenance: GcrGtk4-4 — dropped empty base(s): GObject.InitiallyUnowned GObject.Object
5
5
  *
6
- * 1 concrete widgets, 1 declarations, 0 enum nick unions, 0 slot candidates.
6
+ * 1 instantiable GTypes (of which 1 concrete widgets), 1 declarations, 0 enum nick unions, 0 slot candidates.
7
7
  *
8
8
  * Module-scoped exports only. There is no `JSX` namespace here, no tag spelling and
9
9
  * no `on<Signal>` prop name: those are DIALECT, and every framework answers them
@@ -81,7 +81,11 @@ export interface Widgets {
81
81
  };
82
82
  }
83
83
 
84
- /** Every GType this namespace can create. A consumer derives its own tag map. */
84
+ /**
85
+ * Every GType this namespace can create AND put on screen. A consumer derives its own
86
+ * tag map. For everything a UI file can instantiate — layout managers, event
87
+ * controllers, cell renderers, `GtkSizeGroup` — read `DECLS` below.
88
+ */
85
89
  export type WidgetGType = keyof Widgets;
86
90
 
87
91
  // ---------------------------------------------------------------------------
@@ -133,7 +137,14 @@ export const PROVENANCE: {
133
137
  readonly childHolders: number;
134
138
  readonly droppedBases: readonly string[];
135
139
  readonly inlinedBases: readonly string[];
140
+ /** `<decl>.<prop>` for every property printed `never` because TypeScript has no value for it. */
136
141
  readonly unsettableProps: readonly string[];
142
+ /**
143
+ * `<decl>.<prop>: <Ns>.<Name>` for every property printed `never` because the model
144
+ * could not resolve its type across a namespace boundary — two independently released
145
+ * GIRs disagreeing, which is what the main emitter answers `never` for as well.
146
+ */
147
+ readonly unresolvedProps: readonly string[];
137
148
  };
138
149
 
139
150
  /** Declaration GType -> its own settable properties, as GObject registered them. */
@@ -147,7 +158,17 @@ export const OWN_PROPS: Readonly<Record<string, readonly string[]>>;
147
158
  */
148
159
  export const OWN_SIGNALS: Readonly<Record<string, readonly string[]>>;
149
160
 
150
- /** Widget GType -> every declaration its members come from, self first. */
161
+ /**
162
+ * Instantiable GType -> every declaration its members come from, self first.
163
+ *
164
+ * The key set is what a UI description file can NAME: every registered, non-abstract
165
+ * class this namespace declares. GtkBuilder resolves a `<object class="…">` through
166
+ * `g_type_from_name`, which knows nothing about widgets, so this is wider than
167
+ * `Widgets` by design — `GtkSizeGroup`, `GtkTextTag`, every `GtkEventController`
168
+ * and every `GtkCellRenderer` are here and are not widgets.
169
+ *
170
+ * `Widgets` and `CHILD_HOLDERS` are the narrower questions and answer them unchanged.
171
+ */
151
172
  export const DECLS: Readonly<Record<string, readonly string[]>>;
152
173
 
153
174
  /** The GTypes in `DECLS` that hold a widget without being one — see `ChildHolders`. */
@@ -159,8 +180,8 @@ export const ENUM_NICKS: Readonly<Record<string, readonly string[]>>;
159
180
  /**
160
181
  * `<enum GType>.<nick>` -> the integer GObject registers for it, from GIR's `value`.
161
182
  *
162
- * Position in `ENUM_NICKS` is NOT this number. Counting is wrong on 6 of the 129 enums a
163
- * GTK 4 vocabulary carries -- 104 in Gtk-4.0 and 25 in Adw-1: `GtkResponseType` runs -1 to -11, `GtkTextWindowType` starts
183
+ * Position in `ENUM_NICKS` is NOT this number. Counting is wrong on 6 of the 137 enums a
184
+ * GTK 4 vocabulary carries -- 112 in Gtk-4.0 and 25 in Adw-1: `GtkResponseType` runs -1 to -11, `GtkTextWindowType` starts
164
185
  * at 1, `GtkOrdering` and `GtkConstraintRelation` are -1/0/1, `GtkAlign` has two names
165
186
  * on one value, and `GtkConstraintStrength.required` is 1001001000 where counting says 0.
166
187
  *
@@ -198,10 +219,11 @@ export const ENUM_VALUES_UNREADABLE: Readonly<Record<string, string>>;
198
219
  *
199
220
  * `ENUM_NICKS` carries no bitfield, because GObject cannot resolve a nick SET; that says
200
221
  * nothing about a single member's number, and the number is what a host without GI needs.
201
- * 21 writable widget properties in Gtk-4.0 and Adw-1 are bitfield-typed and are declared
202
- * bare `number` -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`, `AdwTabView:shortcuts`
203
- * among them. Counting is worst here: 95 of 121 Gtk-4.0 bitfield members disagree with their
204
- * position, against 29 of 685 enumeration members.
222
+ * 23 settable properties in Gtk-4.0 and Adw-1 are bitfield-typed and are declared bare
223
+ * `number` -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`, `AdwTabView:shortcuts`,
224
+ * `GtkDropTarget:actions` among them. Counting is worst here: 119 of the 156 Gtk-4.0
225
+ * bitfield members this vocabulary carries disagree with their declaration position,
226
+ * against 29 of 672 enumeration members.
205
227
  *
206
228
  * Combine with `|` as GObject does. There is no nick table to pair this with, so a name
207
229
  * here is resolvable and a SET still is not.
@@ -225,13 +247,52 @@ export const FLAG_VALUES_UNREADABLE: Readonly<Record<string, string>>;
225
247
  *
226
248
  * The GType named here is not always one THIS module gives numbers for. A nick vocabulary is
227
249
  * emitted once, by the namespace that owns the enum, so `AdwComboRow.search-match-mode` names
228
- * `GtkStringFilterMatchMode` and its rows are in `@girs/gtk-4.0/vocabulary` — 57 of the 438
250
+ * `GtkStringFilterMatchMode` and its rows are in `@girs/gtk-4.0/vocabulary` — 83 of the 909
229
251
  * entries in a full run resolve only with the owner's vocabulary loaded beside this one. An
230
252
  * owner with no vocabulary of its own (Gdk, Pango) is inlined here instead, so every entry
231
253
  * resolves against SOME module.
232
254
  */
233
255
  export const PROP_ENUMS: Readonly<Record<string, string>>;
234
256
 
257
+ /**
258
+ * The kinds of value a GTK accessible property, relation or state takes.
259
+ *
260
+ * `enum` is the one that needs a second lookup: `ARIA_VALUE_ENUMS` names the enum GType,
261
+ * and `ENUM_NICKS` and `ENUM_VALUES` answer from there.
262
+ */
263
+ export type AriaValueType = 'string' | 'integer' | 'double' | 'boolean' | 'reference' | 'enum';
264
+
265
+ /**
266
+ * `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
267
+ *
268
+ * The one table in this file that is not a fact about a ParamSpec. A GtkBuilder or
269
+ * Blueprint `accessibility { … }` block is typed by GTK's ARIA table, not by the widget,
270
+ * and the two disagree where it costs most: `orientation` is settable on a `GtkLabel`
271
+ * that implements no `GtkOrientable`, and `checked` is a `GtkAccessibleTristate`, so
272
+ * `checked: true` is the number 1 rather than a boolean. Typing those slots from the
273
+ * widget's properties gets both wrong and raises nothing.
274
+ *
275
+ * Keyed like `ENUM_VALUES` because the ARIA names ARE enum members — of
276
+ * `GtkAccessibleProperty`, `GtkAccessibleRelation` and `GtkAccessibleState` — so
277
+ * `ENUM_NICKS` already lists them and one key parser reads both.
278
+ *
279
+ * Read from each member's own GIR documentation. `gtk_accessible_property_init_value()`
280
+ * is the C half of this table and is not introspectable; the doc sentence is, and states
281
+ * the type for 52 of the 53 members in gtk4 4.23.3. Complete or absent, never partial: a
282
+ * member the generator cannot answer for fails the build and names itself.
283
+ */
284
+ export const ARIA_VALUE_TYPES: Readonly<Record<string, AriaValueType>>;
285
+
286
+ /**
287
+ * The same keys, for the `'enum'` rows only -> the GType of that enum.
288
+ *
289
+ * A table of its own for the reason `PROP_ENUMS` is one: folded in, the values of
290
+ * `ARIA_VALUE_TYPES` would be six reserved words mixed with arbitrary GTypes and telling
291
+ * them apart would be the consumer's problem. Apart, `ARIA_VALUE_TYPES[k] === 'enum'` is
292
+ * the whole test and `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
293
+ */
294
+ export const ARIA_VALUE_ENUMS: Readonly<Record<string, string>>;
295
+
235
296
  /** Widget GType -> slot name -> the method that may adopt a child there. */
236
297
  export const SLOT_CANDIDATES: Readonly<Record<string, Readonly<Record<string, string>>>>;
237
298
 
@@ -14,6 +14,7 @@ export const PROVENANCE = {
14
14
  droppedBases: ['GObject.InitiallyUnowned', 'GObject.Object'],
15
15
  inlinedBases: [],
16
16
  unsettableProps: [],
17
+ unresolvedProps: [],
17
18
  };
18
19
 
19
20
  export const OWN_PROPS = {
@@ -22,14 +23,22 @@ export const OWN_PROPS = {
22
23
 
23
24
  export const OWN_SIGNALS = {};
24
25
 
26
+ // Every GType this namespace can INSTANTIATE -> the declarations its members come from.
27
+ //
28
+ // The key set is what a UI description file can name: a registered, non-abstract class.
29
+ // Not "every widget" — GtkBuilder resolves a name through `g_type_from_name`, which knows
30
+ // nothing about widgets, and a `.ui` file is full of `GtkSizeGroup`, `GtkTextTag`,
31
+ // `GtkEventController*` and `GtkCellRenderer*`. Use `Widgets` and `CHILD_HOLDERS`
32
+ // below for the narrower questions; they did not move.
25
33
  export const DECLS = {
26
34
  GcrCertificateWidget: ['GcrCertificateWidget', 'GtkWidget', 'GtkAccessible', 'GtkBuildable', 'GtkConstraintTarget'],
27
35
  };
28
36
 
29
- // The GTypes above that are NOT widgets: they hold one through `set_child`/`get_child`
30
- // and descend from `GObject.Object`. A renderer places them like a container; a check
31
- // asking "is this a widget" must not count them. Derived from the accessor pair, never
32
- // from a list — the count is in the provenance line above.
37
+ // The GTypes above that ARE widgets are the `Widgets` map in the sibling `.d.ts`; these
38
+ // are the ones that merely HOLD one, through `set_child`/`get_child`, descending from
39
+ // `GObject.Object`. A renderer places them like a container; a check asking "is this a
40
+ // widget" must not count them. Derived from the accessor pair, never from a list — the
41
+ // count is in the provenance line above.
33
42
  export const CHILD_HOLDERS = [];
34
43
 
35
44
  export const ENUM_NICKS = {};
@@ -39,7 +48,7 @@ export const ENUM_NICKS = {};
39
48
  // It ships because position in `ENUM_NICKS` is not the value and a consumer with no
40
49
  // typelib has no other way to learn it: a surface without GI still has to hand GObject an
41
50
  // integer. The alternative a consumer reaches for first is counting, and counting is wrong
42
- // on 6 of the 129 enums a GTK 4 vocabulary carries (104 in Gtk-4.0, 25 in Adw-1) --
51
+ // on 6 of the 137 enums a GTK 4 vocabulary carries (112 in Gtk-4.0, 25 in Adw-1) --
43
52
  // `GtkResponseType` runs -1 down to
44
53
  // -11, `GtkTextWindowType` starts at 1, and `GtkConstraintStrength.required` is
45
54
  // 1001001000 where counting answers 0.
@@ -76,11 +85,12 @@ export const ENUM_VALUES_UNREADABLE = {};
76
85
  // The number behind each member of a registered BITFIELD, keyed the same way.
77
86
  //
78
87
  // `ENUM_NICKS` refuses a bitfield because GObject cannot resolve a nick SET, and that
79
- // reason says nothing about one member's number. 21 writable widget properties in Gtk-4.0
80
- // and Adw-1 are bitfield-typed -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`,
81
- // `AdwTabView:shortcuts`, ... -- and they are typed bare `number`, so a host without GI
82
- // has nothing to compute one from. Counting is worst exactly here: 95 of 121 Gtk-4.0
83
- // bitfield members disagree with their position, against 29 of 685 enumeration members.
88
+ // reason says nothing about one member's number. 23 settable properties in Gtk-4.0 and
89
+ // Adw-1 are bitfield-typed -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`,
90
+ // `AdwTabView:shortcuts`, `GtkDropTarget:actions`, ... -- and they are typed bare
91
+ // `number`, so a host without GI has nothing to compute one from. Counting is worst
92
+ // exactly here: 119 of the 156 Gtk-4.0 bitfield members this vocabulary carries disagree
93
+ // with their declaration position, against 29 of 672 enumeration members.
84
94
  //
85
95
  // A table of its own rather than more rows in `ENUM_VALUES`, so that "every nick in
86
96
  // `ENUM_NICKS` has a number or a declared reason" stays a claim about one set.
@@ -103,10 +113,35 @@ export const FLAG_VALUES_UNREADABLE = {};
103
113
  // one are both entries a consumer would resolve wrongly, so neither is written.
104
114
  //
105
115
  // A GType named here has numbers in SOME vocabulary, not necessarily this one: the namespace
106
- // that OWNS an enum publishes it, so 57 of the 438 entries a full run emits want the owner's
116
+ // that OWNS an enum publishes it, so 83 of the 909 entries a full run emits want the owner's
107
117
  // vocabulary loaded too. Owners that emit none (Gdk, Pango) are inlined into the tables above.
108
118
  export const PROP_ENUMS = {};
109
119
 
120
+ // `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
121
+ //
122
+ // The one table here that is not about a ParamSpec. A GtkBuilder or Blueprint
123
+ // `accessibility { … }` block is typed by GTK's ARIA table instead, and the two disagree
124
+ // where it matters: `orientation` is settable on a `GtkLabel` that implements no
125
+ // `GtkOrientable` and has no such property, and `checked` is a `GtkAccessibleTristate`, so
126
+ // `checked: true` means the number 1 and not the boolean. A consumer typing those slots
127
+ // from the widget gets both wrong, silently.
128
+ //
129
+ // Read from each member's own documentation, which is where GTK keeps the table --
130
+ // `gtk_accessible_property_init_value()` is the C half and is not introspectable, the
131
+ // sentence is. Complete or absent, never partial: a member whose documentation states no
132
+ // value type fails generation and names itself, because a missing row is indistinguishable
133
+ // from "GTK has no such name" and the plausible fallback emits `true` where GTK means 1.
134
+ export const ARIA_VALUE_TYPES = {};
135
+
136
+ // The same keys, for the `'enum'` rows only -> the GType of the enum.
137
+ //
138
+ // The join on from a kind to a number, and a table of its own for the reason `PROP_ENUMS`
139
+ // is one: folding the GType into `ARIA_VALUE_TYPES` would make its values a mix of six
140
+ // reserved words and arbitrary GTypes, and telling them apart would be the consumer's
141
+ // problem. With this, `ARIA_VALUE_TYPES[k] === 'enum'` is the whole test, and
142
+ // `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
143
+ export const ARIA_VALUE_ENUMS = {};
144
+
110
145
  export const SLOT_CANDIDATES = {};
111
146
 
112
147
  export const SINCE = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@girs/gcrgtk4-4",
3
- "version": "5.0.0",
3
+ "version": "5.2.0",
4
4
  "description": "GJS TypeScript type definitions for GcrGtk4-4",
5
5
  "type": "module",
6
6
  "module": "gcrgtk4-4.js",
@@ -36,23 +36,23 @@
36
36
  "test": "tsc --project tsconfig.json"
37
37
  },
38
38
  "dependencies": {
39
- "@girs/gjs": "^5.0.0",
40
- "@girs/gtk-4.0": "^5.0.0",
41
- "@girs/gsk-4.0": "^5.0.0",
42
- "@girs/graphene-1.0": "^5.0.0",
43
- "@girs/gobject-2.0": "^5.0.0",
44
- "@girs/glib-2.0": "^5.0.0",
45
- "@girs/gdk-4.0": "^5.0.0",
46
- "@girs/cairo-1.0": "^5.0.0",
47
- "@girs/pangocairo-1.0": "^5.0.0",
48
- "@girs/pango-1.0": "^5.0.0",
49
- "@girs/harfbuzz-0.0": "^5.0.0",
50
- "@girs/freetype2-2.0": "^5.0.0",
51
- "@girs/gio-2.0": "^5.0.0",
52
- "@girs/gmodule-2.0": "^5.0.0",
53
- "@girs/gdkpixbuf-2.0": "^5.0.0",
54
- "@girs/gcr-4": "^5.0.0",
55
- "@girs/gck-2": "^5.0.0" },
39
+ "@girs/gjs": "^5.2.0",
40
+ "@girs/gtk-4.0": "^5.2.0",
41
+ "@girs/gsk-4.0": "^5.2.0",
42
+ "@girs/graphene-1.0": "^5.2.0",
43
+ "@girs/gobject-2.0": "^5.2.0",
44
+ "@girs/glib-2.0": "^5.2.0",
45
+ "@girs/gdk-4.0": "^5.2.0",
46
+ "@girs/cairo-1.0": "^5.2.0",
47
+ "@girs/pangocairo-1.0": "^5.2.0",
48
+ "@girs/pango-1.0": "^5.2.0",
49
+ "@girs/harfbuzz-0.0": "^5.2.0",
50
+ "@girs/freetype2-2.0": "^5.2.0",
51
+ "@girs/gio-2.0": "^5.2.0",
52
+ "@girs/gmodule-2.0": "^5.2.0",
53
+ "@girs/gdkpixbuf-2.0": "^5.2.0",
54
+ "@girs/gcr-4": "^5.2.0",
55
+ "@girs/gck-2": "^5.2.0" },
56
56
  "devDependencies": {
57
57
  "typescript": "*"
58
58
  },