@gjsify/adwaita-core 0.64.12-next.279 → 0.64.12-next.281

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.
@@ -0,0 +1 @@
1
+ import"./_virtual/_rolldown/runtime.js";var RGBA=class{constructor(e={}){this.red=e.red??0,this.green=e.green??0,this.blue=e.blue??0,this.alpha=e.alpha??0}equal(e){return this.red===e.red&&this.green===e.green&&this.blue===e.blue&&this.alpha===e.alpha}to_string(){let channel=e=>Math.round(Math.min(1,Math.max(0,e))*255),e=`${channel(this.red)},${channel(this.green)},${channel(this.blue)}`;return this.alpha===1?`rgb(${e})`:`rgba(${e},${Number(this.alpha.toPrecision(6))})`}};export{RGBA};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{GIR_TYPE as e,GObjectObject as t,ParamFlags as n,ParamSpec as r,registerBaseClass as i}from"./gobject.js";const a={DEFAULT:0,FORCE_LIGHT:1,PREFER_LIGHT:2,PREFER_DARK:3,FORCE_DARK:4},o=new WeakMap,s=new WeakMap,c=new WeakMap;function refresh(e){if(!o.has(e))return;let t=sourceOf(e).dark();o.get(e)!==t&&(o.set(e,t),e.notify(`dark`))}function sourceOf(e){let t=e.constructor.source;if(t===void 0)throw Error(`Adw.StyleManager: this class has no StyleSource; use the Adw.StyleManager of a port.`);return t}var StyleManagerBase=class extends t{static{this[e]=`Adw.StyleManager`}static get_default(){let e=s.get(this);if(e===void 0){e=new this,s.set(this,e);let t=sourceOf(e);o.set(e,t.dark()),t.subscribe(()=>refresh(e))}return e}get dark(){return sourceOf(this).dark()}get_dark(){return this.dark}get system_supports_color_schemes(){return sourceOf(this).supportsColorSchemes?.()??!1}get_system_supports_color_schemes(){return this.system_supports_color_schemes}get color_scheme(){return c.get(this)??a.DEFAULT}set color_scheme(e){if(!Object.values(a).includes(e))throw Error(`Adw.StyleManager: ${e} is not an Adw.ColorScheme`);if(e===this.color_scheme)return;c.set(this,e);let t=e===a.FORCE_DARK?!0:e===a.FORCE_LIGHT?!1:null;sourceOf(this).force?.(t),this.notify(`color-scheme`),refresh(this)}get_color_scheme(){return this.color_scheme}set_color_scheme(e){this.color_scheme=e}};i(StyleManagerBase,`AdwStyleManager`,{},[r.boolean(`dark`,``,``,n.READABLE,!1),r.boolean(`system-supports-color-schemes`,``,``,n.READABLE,!1),r.int(`color-scheme`,``,``,n.READWRITE,0,4,0)]);export{a as ColorScheme,StyleManagerBase};
1
+ import"./_virtual/_rolldown/runtime.js";import{GIR_TYPE as e,GObjectObject as t,ParamFlags as n,ParamSpec as r,registerBaseClass as i}from"./gobject.js";import{ADW_ACCENT_COLOR_NAMES as a,adwaitaAccentBgColor as o,adwaitaAccentColor as s,parseAdwRgb as c}from"./accent.js";import{RGBA as l}from"./rgba.js";const u={DEFAULT:0,FORCE_LIGHT:1,PREFER_LIGHT:2,PREFER_DARK:3,FORCE_DARK:4},d={BLUE:0,TEAL:1,GREEN:2,YELLOW:3,ORANGE:4,RED:5,PINK:6,PURPLE:7,SLATE:8,to_rgba:e=>rgbaOf(o(nameOf(e))),to_standalone_rgba:(e,t)=>rgbaOf(s(nameOf(e),t))};function nameOf(e){return a[e]??`blue`}function rgbaOf(e){let t=c(e);return new l({red:t.red,green:t.green,blue:t.blue,alpha:1})}const f=new WeakMap;function read(e){let t=e.accentColor?.()??null;return{dark:e.dark(),contrast:e.highContrast?.()??!1,accent:t===null?d.BLUE:a.indexOf(t)}}const p=new WeakMap,m=new WeakMap;function refresh(e){if(!f.has(e))return;let t=f.get(e),n=read(sourceOf(e));f.set(e,n),n.dark!==t.dark&&e.notify(`dark`),n.contrast!==t.contrast&&e.notify(`high-contrast`),n.accent!==t.accent&&e.notify(`accent-color`)}function sourceOf(e){let t=e.constructor.source;if(t===void 0)throw Error(`Adw.StyleManager: this class has no StyleSource; use the Adw.StyleManager of a port.`);return t}var StyleManagerBase=class extends t{static{this[e]=`Adw.StyleManager`}static get_default(){let e=p.get(this);if(e===void 0){e=new this,p.set(this,e);let t=sourceOf(e);f.set(e,read(t)),t.subscribe(()=>refresh(e))}return e}get dark(){return sourceOf(this).dark()}get_dark(){return this.dark}get system_supports_color_schemes(){return sourceOf(this).supportsColorSchemes?.()??!1}get_system_supports_color_schemes(){return this.system_supports_color_schemes}get high_contrast(){return sourceOf(this).highContrast?.()??!1}get_high_contrast(){return this.high_contrast}get system_supports_accent_colors(){return(sourceOf(this).accentColor?.()??null)!==null}get_system_supports_accent_colors(){return this.system_supports_accent_colors}get accent_color(){return read(sourceOf(this)).accent}get_accent_color(){return this.accent_color}get accent_color_rgba(){return d.to_rgba(this.accent_color)}get_accent_color_rgba(){return this.accent_color_rgba}get color_scheme(){return m.get(this)??u.DEFAULT}set color_scheme(e){if(!Object.values(u).includes(e))throw Error(`Adw.StyleManager: ${e} is not an Adw.ColorScheme`);if(e===this.color_scheme)return;m.set(this,e);let t=e===u.FORCE_DARK?!0:e===u.FORCE_LIGHT?!1:null;sourceOf(this).force?.(t),this.notify(`color-scheme`),refresh(this)}get_color_scheme(){return this.color_scheme}set_color_scheme(e){this.color_scheme=e}};i(StyleManagerBase,`AdwStyleManager`,{},[r.boolean(`dark`,``,``,n.READABLE,!1),r.boolean(`system-supports-color-schemes`,``,``,n.READABLE,!1),r.boolean(`high-contrast`,``,``,n.READABLE,!1),r.boolean(`system-supports-accent-colors`,``,``,n.READABLE,!1),r.int(`accent-color`,``,``,n.READABLE,0,8,0),r.int(`color-scheme`,``,``,n.READWRITE,0,4,0)]);export{d as AccentColor,u as ColorScheme,StyleManagerBase};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{insertActionGroup as e}from"./gio-actions.js";const t=[0,1,2],n=new WeakMap;function syncDirection(e){let t=n.get(e);t===void 0||!e.isConnected||(t===0?e.removeAttribute(`dir`):e.dir=t===2?`rtl`:`ltr`)}function widgetTreeMembers(){return{set_direction(e){if(!t.includes(e))throw TypeError(`${e} is not a valid value for enum argument dir`);n.set(this,e),syncDirection(this)},get_direction(){return n.get(this)??1},get_visible(){return!this.hasAttribute(`hidden`)},set_visible(e){this.toggleAttribute(`hidden`,!e)},get_first_child(){return this.firstElementChild},get_last_child(){return this.lastElementChild},get_next_sibling(){return this.nextElementSibling},get_prev_sibling(){return this.previousElementSibling},get_parent(){return this.parentElement},add_css_class(e){this.classList.add(e)},remove_css_class(e){this.classList.remove(e)},has_css_class(e){return this.classList.contains(e)},insert_action_group(t,n){e(this,t,n)}}}export{syncDirection,widgetTreeMembers};
1
+ import"./_virtual/_rolldown/runtime.js";import{insertActionGroup as e}from"./gio-actions.js";import{computePoint as t}from"./graphene.js";const n=[0,1,2],r=new WeakMap;function syncDirection(e){let t=r.get(e);t===void 0||!e.isConnected||(t===0?e.removeAttribute(`dir`):e.dir=t===2?`rtl`:`ltr`)}function widgetTreeMembers(){return{set_direction(e){if(!n.includes(e))throw TypeError(`${e} is not a valid value for enum argument dir`);r.set(this,e),syncDirection(this)},get_direction(){return r.get(this)??1},get_visible(){return!this.hasAttribute(`hidden`)},set_visible(e){this.toggleAttribute(`hidden`,!e)},get_first_child(){return this.firstElementChild},get_last_child(){return this.lastElementChild},get_next_sibling(){return this.nextElementSibling},get_prev_sibling(){return this.previousElementSibling},get_parent(){return this.parentElement},get_width(){return this.offsetWidth},get_height(){return this.offsetHeight},compute_point(e,n){return t(this,e,n)},add_css_class(e){this.classList.add(e)},remove_css_class(e){this.classList.remove(e)},has_css_class(e){return this.classList.contains(e)},insert_action_group(t,n){e(this,t,n)}}}export{syncDirection,widgetTreeMembers};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";var WindowMemberState=class{constructor(e,t={}){this._active=!1,this._focus=null,this._notify=e,this._maximized=t.maximized??!1}get active(){return this._active}get maximized(){return this._maximized}get focus(){return this._focus}reportActive(e){return this._active===e?!1:(this._active=e,this._notify(`is-active`),!0)}reportMaximized(e){return this._maximized===e?!1:(this._maximized=e,this._notify(`maximized`),!0)}reportFocus(e){return this._focus===e?!1:(this._focus=e,this._notify(`focus-widget`),!0)}},HandledAccumulator=class{constructor(){this._handled=!1}get stopped(){return this._handled}collect(e){e&&(this._handled=!0)}},CloseRequestState=class{constructor(){this._emitting=!1}get emitting(){return this._emitting}close(e){if(!e.realized||this._emitting)return`ignored`;let t;this._emitting=!0;try{e.emit()?t=`handled`:e.hideOnClose?(e.hide(),t=`hidden`):t=`destroyed`}finally{this._emitting=!1}return t===`destroyed`&&e.destroy(),t}};export{CloseRequestState,HandledAccumulator,WindowMemberState};
1
+ import"./_virtual/_rolldown/runtime.js";var WindowMemberState=class{constructor(e,t={}){this._active=!1,this._focus=null,this._notify=e,this._maximized=t.maximized??!1}get active(){return this._active}get maximized(){return this._maximized}get focus(){return this._focus}reportActive(e){return this._active===e?!1:(this._active=e,this._notify(`is-active`),!0)}reportMaximized(e){return this._maximized===e?!1:(this._maximized=e,this._notify(`maximized`),!0)}reportFocus(e){return this._focus===e?!1:(this._focus=e,this._notify(`focus-widget`),!0)}};function stepDefaultSize(e,t,n){if(!Number.isInteger(t)||!Number.isInteger(n)||t<-1||n<-1)return null;let r=[];return n!==e[1]&&r.push(`default-height`),t!==e[0]&&r.push(`default-width`),{width:t,height:n,changed:r}}var HandledAccumulator=class{constructor(){this._handled=!1}get stopped(){return this._handled}collect(e){e&&(this._handled=!0)}},CloseRequestState=class{constructor(){this._emitting=!1}get emitting(){return this._emitting}close(e){if(!e.realized||this._emitting)return`ignored`;let t;this._emitting=!0;try{e.emit()?t=`handled`:e.hideOnClose?(e.hide(),t=`hidden`):t=`destroyed`}finally{this._emitting=!1}return t===`destroyed`&&e.destroy(),t}};export{CloseRequestState,HandledAccumulator,WindowMemberState,stepDefaultSize};
@@ -1,7 +1,7 @@
1
1
  import type { BindingFlag, BlueprintTemplate, GObjectConstructor, GObjectInstance, GObjectNamespace } from '../gobject.js';
2
2
  import type { ConstructHarness } from './constructs.js';
3
3
  /** The rows of ADR 0096 § 2 that carry a claim; every one needs a vector. */
4
- export declare const GOBJECT_ROWS: readonly ["registerClass", "field-form", "ParamSpec", "Signals", "instance API", "type_ensure", "vfunc", "binding engine", "template"];
4
+ export declare const GOBJECT_ROWS: readonly ["registerClass", "field-form", "ParamSpec", "Signals", "instance API", "type_ensure", "vfunc", "binding engine", "template", "interface", "object property"];
5
5
  export type GObjectRow = (typeof GOBJECT_ROWS)[number];
6
6
  /** A template, in both spellings: GtkBuilder XML for GJS, the projected tree for a port. */
7
7
  export interface GObjectTemplateSource {
@@ -19,6 +19,24 @@ export interface GObjectSubject {
19
19
  readonly Widget?: GObjectConstructor;
20
20
  /** The value to put in `Template`. */
21
21
  template(source: GObjectTemplateSource): unknown;
22
+ /**
23
+ * The `Gio.ListModel` token a vector puts in `Implements` — the real interface on an oracle,
24
+ * the core's token on the subset. Absent where no Gio is reachable, which skips those rows.
25
+ */
26
+ readonly ListModel?: unknown;
27
+ /**
28
+ * Something carrying a READ-WRITE object-kind property called `model` whose value type is
29
+ * `Gio.ListModel`, and a value that property accepts.
30
+ *
31
+ * A REAL C object (`Gtk.DropDown` + `Gtk.StringList`) on the oracles, because a JS-registered
32
+ * class is not one for this row: GJS's auto-accessors store without a GValue conversion, so a
33
+ * JS class would accept every value the C property refuses and the refusal vectors would
34
+ * measure nothing. It needs a display, so an oracle offers it only where Gtk initialised.
35
+ */
36
+ objectProperty?(): {
37
+ readonly instance: GObjectInstance;
38
+ readonly accepted: GObjectInstance;
39
+ };
22
40
  /** The binding engine; `bind_property` on GJS, which is not exported by the ports. */
23
41
  bind(source: GObjectInstance, sourceProperty: string, target: GObjectInstance, targetProperty: string, flags: readonly BindingFlag[]): void;
24
42
  }
@@ -27,6 +45,10 @@ export interface GObjectVector {
27
45
  readonly rule: string;
28
46
  readonly holds: 'oracle' | 'subset';
29
47
  readonly widget?: true;
48
+ /** Needs {@link GObjectSubject.ListModel}; skipped where the subject has no Gio. */
49
+ readonly iface?: true;
50
+ /** Needs {@link GObjectSubject.objectProperty}; skipped where the subject cannot build one. */
51
+ readonly objectProperty?: true;
30
52
  readonly observe: (subject: GObjectSubject) => unknown;
31
53
  readonly shows: unknown;
32
54
  }
@@ -110,6 +110,8 @@ export { GLIB_URI_ROWS, GLIB_URI_VECTORS, driveGLibUriVectors } from './glib-uri
110
110
  export type { GLibUriLike, GLibUriRow, GLibUriSubject, GLibUriVector } from './glib-uri.js';
111
111
  export { GLIB_VARIANT_ROWS, GLIB_VARIANT_VECTORS, driveGLibVariantVectors } from './glib-variant.js';
112
112
  export type { GLibVariantLike, GLibVariantRow, GLibVariantSubject, GLibVariantVector, VariantClassLike, VariantLike, } from './glib-variant.js';
113
+ export { RGBA_ROWS, RGBA_VECTORS, driveRGBAVectors } from './rgba.js';
114
+ export type { GdkRGBALike, RGBALike, RGBARow, RGBASubject, RGBAVector } from './rgba.js';
113
115
  export { GLIB_UNICHAR_ROWS, GLIB_UNICHAR_VECTORS, driveGLibUnicharVectors } from './glib-unichar.js';
114
116
  export type { GLibUnicharLike, GLibUnicharRow, GLibUnicharSubject, GLibUnicharVector } from './glib-unichar.js';
115
117
  export { GIO_APP_INFO_ROWS, GIO_APP_INFO_VECTORS, driveGioAppInfoVectors } from './gio-app-info.js';
@@ -0,0 +1,46 @@
1
+ import type { ConstructHarness } from './constructs.js';
2
+ export interface RGBALike {
3
+ red: number;
4
+ green: number;
5
+ blue: number;
6
+ alpha: number;
7
+ equal(other: RGBALike): boolean;
8
+ to_string(): string;
9
+ }
10
+ /** The part of `Gdk` the vectors read. */
11
+ export interface GdkRGBALike {
12
+ RGBA: new (init?: {
13
+ red?: number;
14
+ green?: number;
15
+ blue?: number;
16
+ alpha?: number;
17
+ }) => RGBALike;
18
+ }
19
+ export interface RGBASubject {
20
+ readonly name: string;
21
+ readonly isOracle: boolean;
22
+ readonly Gdk: GdkRGBALike;
23
+ }
24
+ export declare const RGBA_ROWS: readonly ["opaque", "alpha", "rounding", "equal"];
25
+ export type RGBARow = (typeof RGBA_ROWS)[number];
26
+ export interface RGBAVector {
27
+ readonly row: RGBARow;
28
+ readonly rule: string;
29
+ readonly a: {
30
+ red: number;
31
+ green: number;
32
+ blue: number;
33
+ alpha: number;
34
+ };
35
+ /** The second colour `equal()` is asked about; absent for the string rows. */
36
+ readonly b?: {
37
+ red: number;
38
+ green: number;
39
+ blue: number;
40
+ alpha: number;
41
+ };
42
+ /** `to_string()` of `a`, or `equal()` as "true"/"false". */
43
+ readonly shows: string;
44
+ }
45
+ export declare const RGBA_VECTORS: readonly RGBAVector[];
46
+ export declare function driveRGBAVectors(subject: RGBASubject, harness: ConstructHarness, vectors?: readonly RGBAVector[]): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import type { ConstructHarness } from './constructs.js';
2
- export declare const WINDOW_ROWS: readonly ["close-request", "close", "hide-on-close", "maximized", "focus-widget"];
2
+ export declare const WINDOW_ROWS: readonly ["close-request", "close", "hide-on-close", "maximized", "default-size", "focus-widget"];
3
3
  export type WindowRow = (typeof WINDOW_ROWS)[number];
4
4
  type Handler = (...args: unknown[]) => unknown;
5
5
  /** What a port can honestly do. GTK itself has all of it. */
@@ -28,6 +28,8 @@ export interface WindowSubject {
28
28
  maximize(window: object): void;
29
29
  unmaximize(window: object): void;
30
30
  isMaximized(window: object): boolean;
31
+ getDefaultSize(window: object): [number, number];
32
+ setDefaultSize(window: object, width: number, height: number): void;
31
33
  isVisible(window: object): boolean;
32
34
  /** Two widgets inside `window` that can take focus. */
33
35
  focusables(window: object): [object, object];
@@ -20,6 +20,16 @@ export interface ForeignClassMeta {
20
20
  readonly GTypeName: string;
21
21
  readonly Properties?: Readonly<Record<string, ForeignProperty>>;
22
22
  readonly Signals?: Readonly<Record<string, ForeignSignal>>;
23
+ /**
24
+ * REFUSED, by name, and declared here so the refusal is findable from the call site.
25
+ *
26
+ * `Implements` is the one meta key route D cannot carry (ADR 0122 § 4): a foreign-parent class
27
+ * is registered over a `@nativescript/core` base that is not a GObject, so there is no GType
28
+ * to add an interface to. A widget that needs `Gio.ListModel` holds one instead of being one —
29
+ * which is what `Adw.ComboRow:model` does. Ignoring the key would leave a class that says it
30
+ * implements the interface and does not, which is the silent outcome ADR 0105 refuses.
31
+ */
32
+ readonly Implements?: readonly unknown[];
23
33
  }
24
34
  export interface GObjectEngine {
25
35
  /** Names the engine in a diagnostic; `'pure-js'` for the default one. */
@@ -1,5 +1,5 @@
1
1
  import type { SharedTreeNode } from './conformance/shared-trees.js';
2
- import type { GObjectEngine } from './engine.js';
2
+ import type { ForeignClassMeta, GObjectEngine } from './engine.js';
3
3
  /** What `registerClass` accepts as `Template`: the projected tree of a `?template` import (ADR 0096 § 4). */
4
4
  export type BlueprintTemplate = SharedTreeNode;
5
5
  /** The subset asked for something it does not list. `feature` is the name that was refused. */
@@ -16,6 +16,44 @@ export declare const TYPE_BOOLEAN: GType;
16
16
  export declare const TYPE_INT: GType;
17
17
  export declare const TYPE_UINT: GType;
18
18
  export declare const TYPE_DOUBLE: GType;
19
+ /**
20
+ * `G_TYPE_OBJECT` — the value type of an object-kind property that takes ANY GObject
21
+ * ({@link ParamSpec.object}). A property that takes one interface names the interface instead.
22
+ */
23
+ export declare const TYPE_OBJECT: GType;
24
+ /** What an interface token carries; the token itself is {@link GInterface}. */
25
+ export interface GInterfaceInfo {
26
+ /** The GIR spelling, as it reads in a refusal and in `items_changed`'s arity message. */
27
+ readonly name: string;
28
+ readonly gtype: GType;
29
+ /** The `vfunc_*` an implementor MUST define. */
30
+ readonly vfuncs: readonly string[];
31
+ /** Instance method → the `vfunc_*` it calls through. */
32
+ readonly methods: Readonly<Record<string, string>>;
33
+ /** Instance method → the signal it emits, with that signal's arity enforced. */
34
+ readonly emitters: Readonly<Record<string, string>>;
35
+ /** The signals the interface brings into the implementor's own signal table. */
36
+ readonly signals: Readonly<Record<string, readonly GType[]>>;
37
+ }
38
+ /**
39
+ * One interface of the subset — the value a class puts in `Implements`, and the right-hand side
40
+ * of `instanceof`.
41
+ *
42
+ * It is callable-shaped so `x instanceof ListModel` type-checks like any other `instanceof`;
43
+ * calling or constructing it throws, because an interface is not a class.
44
+ */
45
+ export type GInterface = GInterfaceInfo & (abstract new (...args: never[]) => object);
46
+ /**
47
+ * `Gio.ListModel` — the portable list model's interface, and the whole of the subset's interface
48
+ * support (ADR 0122 § 2).
49
+ *
50
+ * `items-changed` is an ordinary declared signal of every implementor, so an engine that knows
51
+ * nothing about interfaces registers and emits it like any other; `items_changed()` is the
52
+ * emitter GIR gives it, down to the arity message real GJS produces for a short call.
53
+ */
54
+ export declare const ListModel: GInterface;
55
+ /** Whether `instance`'s class chain declares `iface` — what `instanceof ListModel` answers. */
56
+ export declare function implementsInterface(instance: object, iface: GInterface): boolean;
19
57
  /**
20
58
  * `GObject.Value`, string-only (ADR 0096 Amendment 2). `init` takes `TYPE_STRING`; any other type
21
59
  * is refused by name. Real GObject logs a CRITICAL for `get_*`/`set_*` on an uninitialised value and
@@ -38,7 +76,7 @@ export declare const ParamFlags: {
38
76
  readonly CONSTRUCT: 4;
39
77
  readonly CONSTRUCT_ONLY: 8;
40
78
  };
41
- export type ParamKind = 'boolean' | 'string' | 'int' | 'uint' | 'double';
79
+ export type ParamKind = 'boolean' | 'string' | 'int' | 'uint' | 'double' | 'object';
42
80
  export declare class ParamSpec {
43
81
  readonly kind: ParamKind;
44
82
  readonly name: string;
@@ -47,6 +85,8 @@ export declare class ParamSpec {
47
85
  readonly flags: number;
48
86
  readonly minimum?: number;
49
87
  readonly maximum?: number;
88
+ /** An object-kind property's value type: {@link TYPE_OBJECT} or the one interface it takes. */
89
+ readonly valueType?: GType | GInterface;
50
90
  private readonly defaultValue;
51
91
  private constructor();
52
92
  static boolean(name: string, nick: string, blurb: string, flags: number, defaultValue: boolean): ParamSpec;
@@ -54,8 +94,30 @@ export declare class ParamSpec {
54
94
  static int(name: string, nick: string, blurb: string, flags: number, minimum: number, maximum: number, defaultValue: number): ParamSpec;
55
95
  static uint(name: string, nick: string, blurb: string, flags: number, minimum: number, maximum: number, defaultValue: number): ParamSpec;
56
96
  static double(name: string, nick: string, blurb: string, flags: number, minimum: number, maximum: number, defaultValue: number): ParamSpec;
97
+ /**
98
+ * `GObject.ParamSpec.object` — a property that holds another GObject, or `null`.
99
+ *
100
+ * `valueType` is {@link TYPE_OBJECT} for "any GObject" or an interface token for a property
101
+ * that takes only implementors of it (`Adw.ComboRow:model`, which takes a `Gio.ListModel`).
102
+ * The default is ALWAYS `null`: `g_param_spec_object` has no other, and a write that does
103
+ * not satisfy `valueType` throws rather than being stored (ADR 0122 § 6).
104
+ */
105
+ static object(name: string, nick: string, blurb: string, flags: number, valueType: GType | GInterface): ParamSpec;
57
106
  get_default_value(): unknown;
58
107
  }
108
+ /**
109
+ * The type check `g_object_set_property` does before a value reaches the store — the ONE place a
110
+ * declared property refuses a value, so every object-kind property refuses the same way.
111
+ *
112
+ * Only object-kind specs have anything to check: the other five kinds take what GJS's generated
113
+ * accessors take, which is anything (`_generateAccessors` stores without converting, and the
114
+ * subset's vectors hold it to that). The messages are the ones real GJS produces for a C object
115
+ * property, measured on `Gtk.DropDown:model` under GJS 1.88.01 / GTK 4.22.5 — a JS-registered
116
+ * class is NOT an oracle for them, because GJS's auto-accessors skip the GValue conversion that
117
+ * raises them. The pointer GJS prints in the "not a subclass" message is left out; nothing can
118
+ * match it.
119
+ */
120
+ export declare function checkPropertyValue(spec: ParamSpec, value: unknown): void;
59
121
  /** GJS's own symbols, so a class written in the field form (`static [GObject.properties] = …`) registers. */
60
122
  export declare const META_SYMBOLS: {
61
123
  readonly GTypeName: symbol;
@@ -111,8 +173,10 @@ export interface RegisteredClass {
111
173
  readonly typeName: string;
112
174
  readonly gtype: GType;
113
175
  readonly properties: readonly ParamSpec[];
114
- /** Signal name → its parameter types. */
176
+ /** Signal name → its parameter types; an implemented interface's are merged in. */
115
177
  readonly signals: Readonly<Record<string, readonly GType[]>>;
178
+ /** The interfaces of `Implements`, each one of {@link ACCEPTED_INTERFACES}. */
179
+ readonly interfaces: readonly GInterface[];
116
180
  readonly template?: BlueprintTemplate;
117
181
  readonly internalChildren: readonly string[];
118
182
  readonly cssName?: string;
@@ -130,6 +194,12 @@ export interface GObjectInstance {
130
194
  disconnect(id: number): void;
131
195
  emit(signal: string, ...args: unknown[]): void;
132
196
  }
197
+ /**
198
+ * `Implements` on a foreign-parent class: refused by name, on EVERY engine (ADR 0122 § 4). It is
199
+ * the core's refusal rather than each engine's so that route D says the same thing on the engine
200
+ * that could never do it and on the one that merely does not.
201
+ */
202
+ export declare function refuseForeignInterfaces(meta: ForeignClassMeta): void;
133
203
  /**
134
204
  * The default {@link GObjectEngine}: per-instance `Map`s behind a `WeakMap`, the only one the
135
205
  * browser can have. Registration needs nothing of it — a `$gtype` here is a token, not a GType.
@@ -213,7 +283,7 @@ export declare const UNLOCKED_VFUNCS: Readonly<Record<string, readonly string[]>
213
283
  * resolve through the registry like a registered class's own. The door is one that names the
214
284
  * missing widget model: such a class has no event system to fall through to.
215
285
  */
216
- export declare function registerBaseClass(klass: ClassLike, typeName: string, signals: Readonly<Record<string, readonly GType[]>>, properties?: readonly ParamSpec[], engine?: GObjectEngine): void;
286
+ export declare function registerBaseClass(klass: ClassLike, typeName: string, signals: Readonly<Record<string, readonly GType[]>>, properties?: readonly ParamSpec[], interfaces?: readonly GInterface[], engine?: GObjectEngine): void;
217
287
  export type GObjectConstructor = new (params?: Record<string, unknown>) => GObjectInstance;
218
288
  /** `GObject.Object` for a registered class with no widget model beneath it. */
219
289
  export declare class GObjectObject {
@@ -241,6 +311,7 @@ export interface GObjectNamespace {
241
311
  readonly TYPE_INT: GType;
242
312
  readonly TYPE_UINT: GType;
243
313
  readonly TYPE_DOUBLE: GType;
314
+ readonly TYPE_OBJECT: GType;
244
315
  readonly GTypeName: symbol;
245
316
  readonly GTypeFlags: symbol;
246
317
  readonly interfaces: symbol;
@@ -0,0 +1,27 @@
1
+ /** `Graphene.Point`: a position in two dimensions. */
2
+ export declare class Point {
3
+ x: number;
4
+ y: number;
5
+ constructor(props?: Partial<{
6
+ x: number;
7
+ y: number;
8
+ }>);
9
+ /** `graphene_point_zero`: the origin. */
10
+ static zero(): Point;
11
+ /** `graphene_point_init`. */
12
+ init(x: number, y: number): this;
13
+ }
14
+ /** The slice of a DOM element `compute_point` reads; core has no DOM lib. */
15
+ export interface PointNode {
16
+ getRootNode(): unknown;
17
+ getBoundingClientRect(): {
18
+ readonly left: number;
19
+ readonly top: number;
20
+ };
21
+ }
22
+ /**
23
+ * `gtk_widget_compute_point`: `point` in the coordinates of `source`, as a point in those of
24
+ * `target`. Two elements have a common ancestor when they are in the same tree, which is the same
25
+ * root node; a tree that does not reach the other gives `[false, (0, 0)]`, as GTK does.
26
+ */
27
+ export declare function computePoint(source: PointNode, target: PointNode, point: Point): [boolean, Point];
@@ -0,0 +1,2 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
@@ -1,4 +1,5 @@
1
1
  import type { AdwAdjustment, AdwAdjustmentInput } from './adjustment.js';
2
+ import { GObjectObject } from './gobject.js';
2
3
  /**
3
4
  * What `new Gtk.Adjustment({ … })` takes: the GJS construct bag, which is exactly
4
5
  * {@link AdwAdjustmentInput}.
@@ -14,22 +15,32 @@ export type GtkAdjustmentProps = AdwAdjustmentInput;
14
15
  * `new GtkAdjustment()` is `ADW_ADJUSTMENT_DEFAULTS` (0…100 step 1), which is the
15
16
  * package's own default and NOT GTK's 0…0 step 0 — `adjustment.ts` says why in its header.
16
17
  */
17
- export declare class GtkAdjustment implements AdwAdjustment {
18
+ export declare class GtkAdjustment extends GObjectObject implements AdwAdjustment {
19
+ constructor(props?: GtkAdjustmentProps | null);
18
20
  /** The current value, within {@link adjustmentRange}. */
19
- value: number;
21
+ get value(): number;
22
+ set value(value: number);
20
23
  /** The minimum value. */
21
- lower: number;
24
+ get lower(): number;
25
+ set lower(lower: number);
22
26
  /** The maximum value. */
23
- upper: number;
27
+ get upper(): number;
28
+ set upper(upper: number);
24
29
  /** How far one stepper press moves the value. */
25
- stepIncrement: number;
30
+ get stepIncrement(): number;
31
+ set stepIncrement(stepIncrement: number);
26
32
  /** How far one page press (Page Up/Down) moves the value. */
27
- pageIncrement: number;
33
+ get pageIncrement(): number;
34
+ set pageIncrement(pageIncrement: number);
28
35
  /** The size of the visible page; zero for a scalar value such as a spin row's. */
29
- pageSize: number;
30
- constructor(props?: GtkAdjustmentProps | null);
36
+ get pageSize(): number;
37
+ set pageSize(pageSize: number);
38
+ /** The six fields, so `JSON.stringify` and a copy see what an object literal would show. */
39
+ toJSON(): AdwAdjustment;
31
40
  /**
32
- * Re-establish the invariants around one authored change.
41
+ * Re-establish the invariants around one authored change, then announce it the way GTK
42
+ * does: `notify::<property>` for each number that moved, `changed` when the range moved
43
+ * (or `configure` moved any increment), `value-changed` when the value did.
33
44
  *
34
45
  * The current six are the BASE, so a field nobody wrote keeps what it held instead of
35
46
  * falling back to the package default — the same contract `SpinState.configure` has.
@@ -1,72 +1,117 @@
1
+ import { GIR_TYPE, GObjectObject, type GType } from './gobject.js';
2
+ /** `gtk_string_list_find`'s "not found" — `GTK_INVALID_LIST_POSITION`, a `guint` of all ones. */
3
+ export declare const INVALID_LIST_POSITION = 4294967295;
1
4
  /**
2
- * What `new Gtk.StringList({ … })` takes — the GJS spelling of the type's own
3
- * construct-time properties.
5
+ * `Gtk.StringObject` — one string, as the `GObject` a `GListModel` is allowed to hand out.
4
6
  *
5
- * `strings` only. The other two `StringList` declares — `item-type` and `n-items` — are
6
- * `GListModel`'s read-only pair, and a construct bag that accepted them would be offering
7
- * a write the type does not have.
7
+ * It exists for the reason it exists in GTK: `g_list_model_get_item` returns a `GObject`, and a
8
+ * string is not one. Two objects holding the same string are NOT equal (measured), so identity
9
+ * here means "this entry of this list", never "this text".
10
+ */
11
+ export declare class GtkStringObject extends GObjectObject {
12
+ static [GIR_TYPE]: string;
13
+ constructor(props?: Record<string, unknown> | null);
14
+ /** `gtk_string_object_new` — the only way to put a string in one. */
15
+ static new(string: string): GtkStringObject;
16
+ /**
17
+ * `Gtk.StringObject:string`.
18
+ *
19
+ * `null` on one built without a string: `new Gtk.StringObject().string` is `null`, measured,
20
+ * and the GIR's non-null typing describes only the items a list hands out.
21
+ */
22
+ get string(): string | null;
23
+ set string(_value: string);
24
+ /** `gtk_string_object_get_string`. */
25
+ get_string(): string | null;
26
+ }
27
+ /**
28
+ * What `new Gtk.StringList({ … })` takes.
29
+ *
30
+ * `strings` only, and CONSTRUCT-ONLY, as GTK declares it. The other two the type has —
31
+ * `item-type` and `n-items` — are `GListModel`'s read-only pair.
8
32
  */
9
33
  export interface GtkStringListProps {
10
34
  /** The strings the list starts with. */
11
- strings?: readonly string[] | null;
35
+ strings?: readonly (string | null)[] | null;
12
36
  }
13
37
  /**
14
- * A list of strings under construction — `Gtk.StringList`'s building half over a plain
15
- * JS array.
38
+ * `Gtk.StringList` — a `Gio.ListModel` of {@link GtkStringObject}s.
16
39
  *
17
- * `new GtkStringList()` is empty, as `gtk_string_list_new(NULL)` is, and the instance IS
18
- * the value a `model` property takes.
40
+ * `new GtkStringList()` is empty, as `gtk_string_list_new(NULL)` is, and the instance is what
41
+ * every `model` property takes. It is NOT an array and nothing array-shaped reaches it.
19
42
  */
20
- export declare class GtkStringList extends Array<string> {
21
- /** See the file header: `map`/`filter`/`slice` must not call this constructor. */
22
- static get [Symbol.species](): ArrayConstructor;
43
+ export declare class GtkStringList extends GObjectObject {
44
+ static [GIR_TYPE]: string;
45
+ /** Installed by the core from {@link ListModel}; declared here for the type alone. */
46
+ readonly get_item: (position: number) => GtkStringObject | null;
47
+ readonly get_item_type: () => GType;
48
+ readonly get_n_items: () => number;
49
+ readonly items_changed: (position: number, removed: number, added: number) => void;
23
50
  constructor(props?: GtkStringListProps | null);
24
51
  /** `gtk_string_list_new`: a list holding `strings`, or an empty one for `null`. */
25
- static new(strings: readonly string[] | null): GtkStringList;
52
+ static new(strings: readonly (string | null)[] | null): GtkStringList;
26
53
  /**
27
- * `Gtk.StringList:strings`, as the door an attribute reaches. GTK's property is
28
- * construct-only, and a NativeScript XML template has no constructor call to pass it
29
- * through: `<gtk:StringList strings='["Blue","Teal"]'>` assigns the JSON text to this
30
- * member instead, on a list that is still empty. So it REPLACES the contents, as
31
- * constructing with `{ strings }` would have filled them.
54
+ * `Gtk.StringList:strings` as GTK leaves it after construction: unreadable, and unwritable
55
+ * without saying so.
56
+ *
57
+ * Both halves are measured, not chosen. The property is construct-only, so GJS installs a
58
+ * getter that answers `undefined` and a setter GObject refuses — with a CRITICAL on stderr
59
+ * and NO exception, leaving the list exactly as it was. Omitting the pair would turn
60
+ * `list.strings = […]` into a silent own-property write that looks like it worked.
32
61
  */
33
- get strings(): string[];
34
- set strings(value: readonly string[] | string);
62
+ get strings(): undefined;
63
+ set strings(_value: readonly string[] | undefined);
64
+ /** `Gtk.StringList:item-type` — see the file header on why it is `GObject`. */
65
+ get item_type(): GType;
66
+ set item_type(_value: GType);
67
+ get itemType(): GType;
68
+ set itemType(_value: GType);
69
+ /** `Gtk.StringList:n-items` — the `ParamSpec`'s reader, and `get_n_items`'s answer. */
70
+ get n_items(): number;
71
+ set n_items(_value: number);
72
+ /** `vfunc_get_item_type` — what the interface's `get_item_type()` calls through to. */
73
+ vfunc_get_item_type(): GType;
74
+ /** `vfunc_get_n_items`. */
75
+ vfunc_get_n_items(): number;
76
+ /** `vfunc_get_item` — `null` past the end, as `g_list_model_get_item` returns `NULL`. */
77
+ vfunc_get_item(position: number): GtkStringObject | null;
35
78
  /** `gtk_string_list_append`. */
36
79
  append(string: string): void;
37
80
  /**
38
81
  * `gtk_string_list_take` — `append` without the copy.
39
82
  *
40
- * The copy is what the two differ by in C ("this variant … is convenient for
41
- * formatting strings"), and JS strings are immutable, so here the two are one
42
- * function. It exists so code ported from GJS keeps working rather than to say
43
- * something `append` does not.
83
+ * The copy is what the two differ by in C ("this variant … is convenient for formatting
84
+ * strings"), and JS strings are immutable, so here the two are one function. It exists so
85
+ * code ported from GJS keeps working rather than to say something `append` does not.
44
86
  */
45
87
  take(string: string): void;
46
88
  /** `gtk_string_list_remove` — the string at `position`, which must be in range. */
47
89
  remove(position: number): void;
48
90
  /**
49
- * `gtk_string_list_splice` AND `Array.prototype.splice`, which is the point.
91
+ * `gtk_string_list_splice(position, n_removals, additions)` — the C signature, all three
92
+ * arguments, additions as ONE array.
50
93
  *
51
- * The two say the same thing and pass the additions differently: C takes ONE array of
52
- * them, JS takes them as rest arguments. A list whose elements are strings can tell
53
- * the two apart with no ambiguity — an element is never an array — so both spellings
54
- * work and a `list.splice(1, 2, ['a', 'b'])` ported straight from GJS inserts two
55
- * strings instead of silently inserting one array as an element.
56
- *
57
- * `nRemovals` omitted is `Array.prototype.splice`'s "to the end", which is a different
58
- * thing from passing `undefined` — so it is spelled as the count that reaches the end,
59
- * which `splice` clamps the same way for a negative `position` as the one-argument form
60
- * does.
61
- *
62
- * Flattened by hand, not `Array.prototype.flatMap` (ES2019): this source is also
63
- * type-checked through `@gjsify/gtk-host`'s type-surface gate, whose `tsconfig`s
64
- * pin `lib` to ES2017 for reasons of their own (`type-tests/{jsx,react}/tsconfig.json`)
65
- * — a method this file alone would happily target ES2020 for is invisible there.
94
+ * Not `Array.prototype.splice`'s rest-argument form: this class is no longer an array, so the
95
+ * overload that used to serve both spellings would now be the subset inventing one. Each of
96
+ * the three refusals below is GJS's own, measured: a short call, a bare string where a strv
97
+ * belongs, and `undefined` in a slot that takes `null`.
66
98
  */
67
- splice(position: number, nRemovals?: number, ...additions: readonly (string | readonly string[])[]): string[];
99
+ splice(position: number, nRemovals: number, additions: readonly (string | null)[] | null): void;
68
100
  /** `gtk_string_list_get_string` — `null` past the end, as C returns `NULL`. */
69
101
  get_string(position: number): string | null;
70
- /** `g_list_model_get_n_items`, which a `GtkStringList` answers with its length. */
71
- get_n_items(): number;
102
+ /**
103
+ * `gtk_string_list_find` — the POSITION of the first equal string, GTK's meaning of the name,
104
+ * not `Array.prototype.find`'s. {@link INVALID_LIST_POSITION} when there is none.
105
+ */
106
+ find(string: string): number;
107
+ /**
108
+ * The one mutation, so the emission rule is written once: `items-changed` first, then
109
+ * `notify::n-items` and only when the count actually moved, and NEITHER when the splice
110
+ * removes nothing and adds nothing. All three measured; GTK's own
111
+ * `gtk_string_list_items_changed` is the same two lines.
112
+ *
113
+ * Out of range is a CRITICAL and a no-op, not an exception — `remove` past the end lands on
114
+ * the same assertion, because `gtk_string_list_remove` IS a splice in C.
115
+ */
116
+ private spliceItems;
72
117
  }
@@ -46,7 +46,7 @@ export { ADW_ADJUSTMENT_DEFAULTS, adjustmentRange, clampAdjustmentValue, normali
46
46
  export type { AdwAdjustment, AdwAdjustmentInput, SpinStateChange, SpinStateListener, SpinStateRangeListener, } from './adjustment.js';
47
47
  export { GtkAdjustment } from './gtk-adjustment.js';
48
48
  export type { GtkAdjustmentProps } from './gtk-adjustment.js';
49
- export { GtkStringList } from './gtk-string-list.js';
49
+ export { GtkStringList, GtkStringObject, INVALID_LIST_POSITION } from './gtk-string-list.js';
50
50
  export type { GtkStringListProps } from './gtk-string-list.js';
51
51
  export { ComboState, ExpanderState, ToggleGroupState, keptToggles, toggleIndexOfName } from './rows.js';
52
52
  export type { ComboItemsListener, ComboStateChange, ComboStateListener, ExpanderStateListener, ToggleGroupStateChange, ToggleGroupStateListener, } from './rows.js';
@@ -62,6 +62,8 @@ export { iconLookupNames, lookupResourceIcon } from './icon-theme-resources.js';
62
62
  export type { IconDirection, ResourceIconMatch, ResourceIconRequest } from './icon-theme-resources.js';
63
63
  export { syncDirection, widgetTreeMembers } from './widget-members.js';
64
64
  export type { ClipboardHost, GdkClipboard } from './gdk.js';
65
+ export { Point, computePoint } from './graphene.js';
66
+ export type { PointNode } from './graphene.js';
65
67
  export { createGLibTimers } from './glib-timers.js';
66
68
  export type { GLibTimers, SourceFunc, TimerHost } from './glib-timers.js';
67
69
  export { GLibError, DialogError, IOErrorEnum, ResourceError, asGLibError } from './glib-error.js';
@@ -128,16 +130,16 @@ export { ADW_WRAP_BOX_DEFAULT_ALIGN, ADW_WRAP_BOX_DEFAULT_JUSTIFY, ADW_WRAP_BOX_
128
130
  export type { AdwWrapBoxJustify, AdwWrapBoxOrientation, AdwWrapBoxPackDirection, AdwWrapPolicy, WrapBoxChildFlex, WrapBoxChildOrderOp, WrapBoxFlexInput, WrapBoxFlexStyle, WrapBoxLineLayout, } from './wrap-box.js';
129
131
  export { ADW_SOURCE_6502_DIRECTIVES, ADW_SOURCE_6502_LINE_COMMENT, ADW_SOURCE_6502_OPCODES, ADW_SOURCE_6502_REGISTERS, ADW_SOURCE_6502_TOKEN_ROLES, ADW_SOURCE_HEX_STRIDE, ADW_SOURCE_PALETTE_DARK, ADW_SOURCE_PALETTE_LIGHT, ADW_SOURCE_SYNTAX_ROLES, classifyAsm6502Word, formatHexAddress, formatLineNumber, stripSourceWhitespace, tokenizeAsm6502, } from './source.js';
130
132
  export type { AdwSourcePalette, AdwSourceSyntaxRole, AdwSourceTokenClass, AdwSourceTokenStream } from './source.js';
131
- export { GObjectObject, META_SYMBOLS, ParamFlags, ParamSpec, Value, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_INT, TYPE_STRING, TYPE_UINT, UnsupportedGObjectError, bindProperties, connectInstance, constructRegistered, createClosure, createGObject, disconnectInstance, emitInstance, gobjectEngineName, notifyInstance, PURE_JS_ENGINE, registeredClassOf, registerBaseClass, STOP_EMISSION, usePureJsGObjectEngine, type StoppableEmitter, UNLOCKED_VFUNCS, GIR_TYPE, } from './gobject.js';
133
+ export { GObjectObject, ListModel, META_SYMBOLS, ParamFlags, ParamSpec, Value, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_INT, TYPE_OBJECT, TYPE_STRING, TYPE_UINT, UnsupportedGObjectError, bindProperties, connectInstance, constructRegistered, createClosure, createGObject, disconnectInstance, emitInstance, gobjectEngineName, notifyInstance, PURE_JS_ENGINE, refuseForeignInterfaces, registeredClassOf, registerBaseClass, STOP_EMISSION, usePureJsGObjectEngine, type StoppableEmitter, UNLOCKED_VFUNCS, GIR_TYPE, } from './gobject.js';
132
134
  export { ApplicationFlags, ApplicationInhibitFlags, GioApplicationBase, GtkApplicationBase, withGtkApplication, defineWindowApplicationMembers, dispatchAccelerator, isValidApplicationId, } from './application.js';
133
- export { CloseRequestState, HandledAccumulator, WindowMemberState } from './window-members.js';
134
- export type { CloseOutcome, CloseRequestSteps, WindowCommon, WindowMemberInit, WindowMemberProperty, } from './window-members.js';
135
+ export { CloseRequestState, HandledAccumulator, WindowMemberState, stepDefaultSize } from './window-members.js';
136
+ export type { CloseOutcome, CloseRequestSteps, DefaultSizeProperty, DefaultSizeStep, WindowCommon, WindowMemberInit, WindowMemberProperty, } from './window-members.js';
135
137
  export { AcceleratorMap, ModifierMask, acceleratorName, parseAcceleratorKeyval } from './accelerators.js';
136
138
  export type { Accelerator } from './accelerators.js';
137
139
  export type { ApplicationHost, GtkApplicationMembers, GtkApplicationConstructor } from './application.js';
138
140
  export { ActionRegistry, SimpleAction, actionRegistryOf, activateWidgetAction, applicationOfWindow, findActionGroup, insertActionGroup, installActionMap, linkWindow, SimpleActionGroup, } from './gio-actions.js';
139
141
  export type { ActionActivateHandler, ActionGroupLike, ActionLike, SimpleActionProps } from './gio-actions.js';
140
- export type { Binding, BindingFlag, BlueprintTemplate, BuiltTemplate, ClassLike, ClassMeta, GObjectConstructor, GObjectDoor, GObjectInstance, GObjectNamespace, GType, ParamKind, RegisterClass, RegisteredClass, SignalHandler, SignalMeta, TemplateScope, } from './gobject.js';
142
+ export type { Binding, BindingFlag, BlueprintTemplate, BuiltTemplate, ClassLike, ClassMeta, GInterface, GObjectConstructor, GObjectDoor, GObjectInstance, GObjectNamespace, GType, ParamKind, RegisterClass, RegisteredClass, SignalHandler, SignalMeta, TemplateScope, } from './gobject.js';
141
143
  export { engineForTarget, registerGObjectEngine, registeredEngine, resetRegisteredEngine } from './engine.js';
142
144
  export type { EngineTarget, ForeignClassMeta, ForeignProperty, ForeignPropertyKind, ForeignSignal, GObjectEngine, } from './engine.js';
143
145
  export { MAXUINT32, buildFilenamev, getCurrentDir, getSystemDataDirs } from './glib-paths.js';
@@ -147,5 +149,6 @@ export { unicharIsalpha } from './glib-unichar.js';
147
149
  export { GLIB_UNICHAR_UNICODE_VERSION } from './glib-unichar.generated.js';
148
150
  export { AppLaunchContext as GioAppLaunchContext, createAppInfo, uriPeekScheme } from './gio-app-info.js';
149
151
  export type { GioAppInfo } from './gio-app-info.js';
150
- export { ColorScheme, StyleManagerBase } from './style-manager.js';
152
+ export { AccentColor, ColorScheme, StyleManagerBase } from './style-manager.js';
153
+ export { RGBA } from './rgba.js';
151
154
  export type { StyleSource } from './style-manager.js';