@gjsify/adwaita-app 0.47.0 → 0.49.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
@@ -66,10 +66,68 @@ promise-job queue under `run()`).
66
66
  exit code. `AdwaitaAppOptions`: `applicationId`, `createWindow`, optional
67
67
  `flags`, `css`, `about` (`AboutInfo`), `quitAction` (default on, `<primary>q`),
68
68
  `devtools` (`true` | `InstallDevtoolsOptions` | omitted = env-gated),
69
- `onStartup`.
69
+ `bundledIcons` (default on — see below), `onStartup`.
70
70
  - `AdwaitaApp` — the configured `Adw.Application` subclass, if you need the
71
71
  instance instead of `runAdwaitaApp`.
72
72
 
73
+ ### Bundled icons
74
+
75
+ `icon-name` on GTK resolves against the icon theme the HOST has installed, and
76
+ nothing guarantees that is Adwaita — so a documented name can draw a different
77
+ glyph, or the broken-image paintable, on a machine that ships a different set.
78
+ This package bundles a subset of `@gjsify/adwaita-icons` into a GResource and
79
+ registers it on `startup`, so the names your app writes always resolve to a
80
+ glyph your app ships. **On by default.**
81
+
82
+ The subset is the same one `@gjsify/adwaita-web` compiles into its stylesheet
83
+ (41 glyphs, 19.9 KiB compiled, 26.5 KiB as the base64 the bundle travels as), so
84
+ one `icon-name` means one glyph on the browser, on GTK and on NativeScript.
85
+ `scripts/check-bundled-icon-parity.mjs` fails when the two lists drift apart.
86
+
87
+ ```ts
88
+ runAdwaitaApp({
89
+ applicationId: 'org.example.App',
90
+ createWindow,
91
+ // bundledIcons: true, // the default
92
+ // bundledIcons: { prefer: 'bundled' }, // the shipped set is authoritative
93
+ // bundledIcons: false, // host theme only, the way it was before
94
+ });
95
+ ```
96
+
97
+ `prefer` decides how the bundle relates to the host's theme, and the difference
98
+ is measured rather than assumed:
99
+
100
+ | `prefer` | host theme HAS the name | host theme lacks it |
101
+ |---|---|---|
102
+ | `'fallback'` (default) | the host's glyph is drawn | **the bundled glyph is drawn** |
103
+ | `'bundled'` | **the bundled glyph is drawn** | **the bundled glyph is drawn** |
104
+ | `'host'` | the host's glyph | nothing is registered — broken image |
105
+
106
+ `'fallback'` is the default because `Gtk.IconTheme.add_resource_path()`
107
+ *contributes* to the theme rather than overriding it — its own documentation
108
+ says so — and a user who chose Papirus should keep Papirus. It already closes
109
+ the failure this exists for: the name never fails to resolve.
110
+
111
+ `'bundled'` is for the case where the shipped glyph matters more than the host's
112
+ taste — a screenshot rig, a kiosk, a gallery whose pictures must match its
113
+ prose. It works by pointing the icon theme at a theme name nothing installs, so
114
+ only the app's resource can answer. The cost: a name **outside** the bundle then
115
+ has nothing behind it but GTK's own builtins. Register your own with
116
+ `registerBundledIconResource()` + `Gtk.IconTheme.add_resource_path()`, or pass a
117
+ `Gdk.Paintable` to the few widgets that accept one.
118
+
119
+ - `installBundledIconTheme(options?): boolean` — what `AdwaitaApp` calls on
120
+ `startup`. For an app that builds its `Adw.Application` some other way.
121
+ - `addBundledIconsToTheme(theme)` — the same, on a `Gtk.IconTheme` you own.
122
+ - `registerBundledIconResource(): Gio.Resource` — register the GResource only.
123
+ - `BUNDLED_ICON_RESOURCE_PATH`, `BUNDLED_ICON_THEME_NAME`, `BUNDLED_ICON_COUNT`.
124
+
125
+ > Only 15 of the 22 `icon-name` properties in Gtk-4.0 + Adw-1 have a
126
+ > `Gdk.Paintable`/`Gio.Icon` sibling at all (`Gtk.Button`, `Adw.ActionRow`,
127
+ > `Adw.ButtonRow`, `Adw.SplitButton`, `Adw.Toggle`, … have none), which is why
128
+ > the guarantee is built on the icon THEME rather than on handing widgets an
129
+ > imported SVG: for most of them there is no property to hand it to.
130
+
73
131
  ### Navigation shell
74
132
 
75
133
  - `createNavShell(window, options): NavShell` — builds the
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import e from"gi://Adw?version=1";import t from"gi://Gdk?version=4.0";import n from"gi://Gio?version=2.0";import r from"gi://GObject?version=2.0";import i from"gi://Gtk?version=4.0";import a from"system";import{installDevtools as o}from"@gjsify/devtools";var s=class AdwaitaApp extends e.Application{static{r.registerClass({GTypeName:`GjsifyAdwaitaApp`},AdwaitaApp)}constructor(e){super({application_id:e.applicationId,flags:e.flags??n.ApplicationFlags.DEFAULT_FLAGS}),this._window=null,this._options=e,this._initActions(),this.connect(`startup`,()=>this._onStartup()),this.connect(`activate`,()=>this._onActivate())}_initActions(){if(this._options.quitAction!==!1){let e=new n.SimpleAction({name:`quit`});e.connect(`activate`,()=>this.quit()),this.add_action(e),this.set_accels_for_action(`app.quit`,[`<primary>q`])}if(this._options.about){let e=new n.SimpleAction({name:`about`});e.connect(`activate`,()=>this._showAbout()),this.add_action(e)}}_onStartup(){this._options.css&&this._loadCss(this._options.css),this._installDevtools(),this._options.onStartup?.(this)}_loadCss(e){let n=t.Display.get_default();if(!n){console.error(`@gjsify/adwaita-app: no default display; CSS not applied`);return}let r=new i.CssProvider;r.load_from_string(e),i.StyleContext.add_provider_for_display(n,r,i.STYLE_PROVIDER_PRIORITY_APPLICATION)}_installDevtools(){let e=this._options.devtools;if(e===!1)return;let t=typeof e==`object`?e:{enabled:e||void 0};o(this,t)}_onActivate(){this._window||=this._options.createWindow(this),this._window.present()}_showAbout(){let t=this._options.about;if(!t)return;let n=new e.AboutDialog({application_name:t.applicationName,application_icon:t.applicationIcon??this._options.applicationId});t.version&&(n.version=t.version),t.developerName&&(n.developer_name=t.developerName),t.website&&(n.website=t.website),t.issueUrl&&(n.issue_url=t.issueUrl),t.license&&(n.license=t.license),t.comments&&(n.comments=t.comments),t.copyright&&(n.copyright=t.copyright),t.developers?.length&&n.set_developers(t.developers),n.present(this.get_active_window())}};async function runAdwaitaApp(e){return runApplication(new s(e),[a.programInvocationName,...a.programArgs])}async function runApplication(e,t){let n=!1;try{e.register(null),n=e.get_is_remote()}catch{n=!1}let r=await e.runAsync(t);return n&&console.error(`${e.applicationId??`This application`} is already running — brought the existing instance to the front instead of opening a second window.`),r}r.type_ensure(s.$gtype);export{s as AdwaitaApp,runAdwaitaApp,runApplication};
1
+ import"./_virtual/_rolldown/runtime.js";import{installBundledIconTheme as e}from"./icon-theme.js";import t from"gi://Adw?version=1";import n from"gi://Gdk?version=4.0";import r from"gi://Gio?version=2.0";import i from"gi://GObject?version=2.0";import a from"gi://Gtk?version=4.0";import o from"system";import{installDevtools as s}from"@gjsify/devtools";var c=class AdwaitaApp extends t.Application{static{i.registerClass({GTypeName:`GjsifyAdwaitaApp`},AdwaitaApp)}constructor(e){super({application_id:e.applicationId,flags:e.flags??r.ApplicationFlags.DEFAULT_FLAGS}),this._window=null,this._options=e,this._initActions(),this.connect(`startup`,()=>this._onStartup()),this.connect(`activate`,()=>this._onActivate())}_initActions(){if(this._options.quitAction!==!1){let e=new r.SimpleAction({name:`quit`});e.connect(`activate`,()=>this.quit()),this.add_action(e),this.set_accels_for_action(`app.quit`,[`<primary>q`])}if(this._options.about){let e=new r.SimpleAction({name:`about`});e.connect(`activate`,()=>this._showAbout()),this.add_action(e)}}_onStartup(){this._installBundledIcons(),this._options.css&&this._loadCss(this._options.css),this._installDevtools(),this._options.onStartup?.(this)}_installBundledIcons(){let t=this._options.bundledIcons;t!==!1&&e(typeof t==`object`?t:{})}_loadCss(e){let t=n.Display.get_default();if(!t){console.error(`@gjsify/adwaita-app: no default display; CSS not applied`);return}let r=new a.CssProvider;r.load_from_string(e),a.StyleContext.add_provider_for_display(t,r,a.STYLE_PROVIDER_PRIORITY_APPLICATION)}_installDevtools(){let e=this._options.devtools;if(e===!1)return;let t=typeof e==`object`?e:{enabled:e||void 0};s(this,t)}_onActivate(){this._window||=this._options.createWindow(this),this._window.present()}_showAbout(){let e=this._options.about;if(!e)return;let n=new t.AboutDialog({application_name:e.applicationName,application_icon:e.applicationIcon??this._options.applicationId});e.version&&(n.version=e.version),e.developerName&&(n.developer_name=e.developerName),e.website&&(n.website=e.website),e.issueUrl&&(n.issue_url=e.issueUrl),e.license&&(n.license=e.license),e.comments&&(n.comments=e.comments),e.copyright&&(n.copyright=e.copyright),e.developers?.length&&n.set_developers(e.developers),n.present(this.get_active_window())}};async function runAdwaitaApp(e){return runApplication(new c(e),[o.programInvocationName,...o.programArgs])}async function runApplication(e,t){let n=!1;try{e.register(null),n=e.get_is_remote()}catch{n=!1}let r=await e.runAsync(t);return n&&console.error(`${e.applicationId??`This application`} is already running — brought the existing instance to the front instead of opening a second window.`),r}i.type_ensure(c.$gtype);export{c as AdwaitaApp,runAdwaitaApp,runApplication};
@@ -0,0 +1 @@
1
+ import"./_virtual/_rolldown/runtime.js";import{BUNDLED_ICON_COUNT as e,BUNDLED_ICON_GRESOURCE_BASE64 as t,BUNDLED_ICON_RESOURCE_PATH as n}from"./icons.generated.js";import r from"gi://Gdk?version=4.0";import i from"gi://Gio?version=2.0";import a from"gi://Gtk?version=4.0";import o from"gi://GLib?version=2.0";const s=`gjsify-adwaita-bundled`;let c=null;function registerBundledIconResource(){if(c)return c;let e=o.base64_decode(t);return c=i.Resource.new_from_data(new o.Bytes(e)),i.resources_register(c),c}function addBundledIconsToTheme(e){registerBundledIconResource(),e.add_resource_path(n)}function installBundledIconTheme(e={}){let t=e.prefer??`fallback`;if(t===`host`)return!1;let n=e.display===void 0?r.Display.get_default():e.display;return n?(addBundledIconsToTheme(a.IconTheme.get_for_display(n)),t===`bundled`&&a.Settings.get_for_display(n).set_property(`gtk-icon-theme-name`,s),!0):!1}export{e as BUNDLED_ICON_COUNT,n as BUNDLED_ICON_RESOURCE_PATH,s as BUNDLED_ICON_THEME_NAME,addBundledIconsToTheme,installBundledIconTheme,registerBundledIconResource};
@@ -0,0 +1 @@
1
+ const e=`/eu/jumplink/gjsify/adwaita-app/icons`,t=41,n=`application-x-executable.avatar-default.camera-photo.contact-new.document-edit.document-open.document-save.edit-copy.emblem-system.folder.folder-documents.folder-download.folder-music.go-down.go-home.go-next.go-previous.image-missing.list-add.list-remove.mail-reply-sender.mail-send.mail-unread.network-wireless.open-menu.preferences-system.send-to.sidebar-show.starred.system-search.user-trash.view-conceal.view-grid.view-list.view-more.view-paged.view-refresh.view-reveal.window-close.window-maximize.window-minimize`.split(`.`),r=`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`;export{t as BUNDLED_ICON_COUNT,r as BUNDLED_ICON_GRESOURCE_BASE64,n as BUNDLED_ICON_NAMES,e as BUNDLED_ICON_RESOURCE_PATH};
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{AdwaitaApp as e,runAdwaitaApp as t,runApplication as n}from"./application.js";import{readAppDevHooks as r}from"./dev-hooks.js";import{confirmDialog as i,errorDialog as a}from"./dialogs.js";import{pickFile as o,saveFile as s}from"./file-dialog.js";import{createNavShell as c}from"./nav-shell.js";import{LoadToken as l,loadIntoStack as u}from"./view-loader.js";import{LoadingStack as d}from"./loading-stack.js";import{registerToastOverlay as f,showToast as p}from"./toast.js";import{SYSTEM_LOCALE_DIR as m,resolveLocaleDir as h}from"./locale-dir.js";import{initLocale as g}from"./locale.js";import{findNavItem as _,resolveInitialNavIndex as v}from"./nav-model.js";export{e as AdwaitaApp,l as LoadToken,d as LoadingStack,m as SYSTEM_LOCALE_DIR,i as confirmDialog,c as createNavShell,a as errorDialog,_ as findNavItem,g as initLocale,u as loadIntoStack,o as pickFile,r as readAppDevHooks,f as registerToastOverlay,v as resolveInitialNavIndex,h as resolveLocaleDir,t as runAdwaitaApp,n as runApplication,s as saveFile,p as showToast};
1
+ import{BUNDLED_ICON_COUNT as e,BUNDLED_ICON_RESOURCE_PATH as t}from"./icons.generated.js";import{BUNDLED_ICON_THEME_NAME as n,addBundledIconsToTheme as r,installBundledIconTheme as i,registerBundledIconResource as a}from"./icon-theme.js";import{AdwaitaApp as o,runAdwaitaApp as s,runApplication as c}from"./application.js";import{readAppDevHooks as l}from"./dev-hooks.js";import{confirmDialog as u,errorDialog as d}from"./dialogs.js";import{pickFile as f,saveFile as p}from"./file-dialog.js";import{createNavShell as m}from"./nav-shell.js";import{LoadToken as h,loadIntoStack as g}from"./view-loader.js";import{LoadingStack as _}from"./loading-stack.js";import{registerToastOverlay as v,showToast as y}from"./toast.js";import{SYSTEM_LOCALE_DIR as b,resolveLocaleDir as x}from"./locale-dir.js";import{initLocale as S}from"./locale.js";import{findNavItem as C,resolveInitialNavIndex as w}from"./nav-model.js";export{o as AdwaitaApp,e as BUNDLED_ICON_COUNT,t as BUNDLED_ICON_RESOURCE_PATH,n as BUNDLED_ICON_THEME_NAME,h as LoadToken,_ as LoadingStack,b as SYSTEM_LOCALE_DIR,r as addBundledIconsToTheme,u as confirmDialog,m as createNavShell,d as errorDialog,C as findNavItem,S as initLocale,i as installBundledIconTheme,g as loadIntoStack,f as pickFile,l as readAppDevHooks,a as registerBundledIconResource,v as registerToastOverlay,w as resolveInitialNavIndex,x as resolveLocaleDir,s as runAdwaitaApp,c as runApplication,p as saveFile,y as showToast};
@@ -2,6 +2,7 @@ import Adw from 'gi://Adw?version=1';
2
2
  import Gio from 'gi://Gio?version=2.0';
3
3
  import Gtk from 'gi://Gtk?version=4.0';
4
4
  import { type InstallDevtoolsOptions } from '@gjsify/devtools';
5
+ import { type BundledIconThemeOptions } from './icon-theme.js';
5
6
  import type { AboutInfo } from './types.js';
6
7
  /** Options for {@link AdwaitaApp} / {@link runAdwaitaApp}. */
7
8
  export interface AdwaitaAppOptions {
@@ -13,6 +14,21 @@ export interface AdwaitaAppOptions {
13
14
  createWindow: (app: Adw.Application) => Gtk.Window;
14
15
  /** CSS string applied display-wide on `startup` (via `Gtk.CssProvider`). */
15
16
  css?: string;
17
+ /**
18
+ * The app's own Adwaita icon glyphs, registered on `startup` so `icon-name`
19
+ * resolves without depending on the host having the Adwaita theme installed.
20
+ *
21
+ * ON BY DEFAULT, because the guarantee is the point: before this existed, a
22
+ * gjsify app on a host with a different icon set drew a different glyph — or
23
+ * the broken-image paintable — under every documented name, and nothing
24
+ * noticed. The default is `'fallback'`: the host's theme still wins where it
25
+ * HAS the name, and the bundle fills every hole.
26
+ *
27
+ * `false` (or `{ prefer: 'host' }`) is the documented way out for an app that
28
+ * deliberately wants only the host theme; `{ prefer: 'bundled' }` makes the
29
+ * shipped set authoritative. See {@link BundledIconThemeOptions}.
30
+ */
31
+ bundledIcons?: boolean | BundledIconThemeOptions;
16
32
  /** When set, wires an `app.about` action opening an `Adw.AboutDialog`. */
17
33
  about?: AboutInfo;
18
34
  /** Wire `app.quit` (`<primary>q`). Default `true`. */
@@ -23,7 +39,7 @@ export interface AdwaitaAppOptions {
23
39
  * `GJSIFY_DEVTOOLS` env var (safe in production either way).
24
40
  */
25
41
  devtools?: boolean | InstallDevtoolsOptions;
26
- /** Extra work on `startup`, after CSS + devtools are wired. */
42
+ /** Extra work on `startup`, after icons + CSS + devtools are wired. */
27
43
  onStartup?: (app: Adw.Application) => void;
28
44
  }
29
45
  /**
@@ -36,6 +52,7 @@ export declare class AdwaitaApp extends Adw.Application {
36
52
  constructor(options: AdwaitaAppOptions);
37
53
  private _initActions;
38
54
  private _onStartup;
55
+ private _installBundledIcons;
39
56
  private _loadCss;
40
57
  private _installDevtools;
41
58
  private _onActivate;
@@ -0,0 +1,69 @@
1
+ import Gdk from 'gi://Gdk?version=4.0';
2
+ import Gio from 'gi://Gio?version=2.0';
3
+ import Gtk from 'gi://Gtk?version=4.0';
4
+ import { BUNDLED_ICON_COUNT, BUNDLED_ICON_RESOURCE_PATH } from './icons.generated.js';
5
+ export { BUNDLED_ICON_COUNT, BUNDLED_ICON_RESOURCE_PATH };
6
+ /**
7
+ * The theme name `'bundled'` points the icon theme at.
8
+ *
9
+ * Deliberately a name no icon theme on any system installs: GTK then finds no `index.theme`
10
+ * for it, the theme chain contributes nothing, and the resource path is what answers every
11
+ * lookup. A REAL theme name here would put that theme's glyphs back in front of the bundle.
12
+ */
13
+ export declare const BUNDLED_ICON_THEME_NAME = "gjsify-adwaita-bundled";
14
+ /**
15
+ * How the app's shipped icons relate to the host's icon theme.
16
+ *
17
+ * - `'fallback'` (default) — the host theme wins where it has the name; the bundle fills
18
+ * every hole, so a name always resolves. Respects a user's chosen theme.
19
+ * - `'bundled'` — the shipped set is authoritative and the host theme is not consulted.
20
+ * Guarantees the documented glyph; costs the host's look, and any name outside the
21
+ * bundle falls back only to GTK's own builtins.
22
+ * - `'host'` — register nothing. The documented way out for an app that wants exactly the
23
+ * behaviour gjsify had before this existed.
24
+ */
25
+ export type BundledIconPreference = 'fallback' | 'bundled' | 'host';
26
+ export interface BundledIconThemeOptions {
27
+ /** Default `'fallback'`. See {@link BundledIconPreference}. */
28
+ prefer?: BundledIconPreference;
29
+ /**
30
+ * The display whose icon theme to touch. Defaults to `Gdk.Display.get_default()`;
31
+ * `null` with no default display is a no-op that RETURNS FALSE rather than throwing,
32
+ * because an app calling this on `startup` may legitimately be running headless.
33
+ */
34
+ display?: Gdk.Display | null;
35
+ }
36
+ /**
37
+ * Register the bundled GResource with GIO, once.
38
+ *
39
+ * Exported because {@link addBundledIconsToTheme} is useful on a bare `Gtk.IconTheme`
40
+ * (that is how the specs prove which glyph wins, with no display in sight) and both need
41
+ * the resource to exist first.
42
+ */
43
+ export declare function registerBundledIconResource(): Gio.Resource;
44
+ /**
45
+ * Point one `Gtk.IconTheme` at the bundled icons.
46
+ *
47
+ * Split out from {@link installBundledIconTheme} so the effect can be asserted on a theme
48
+ * object a test constructs — `Gtk.IconTheme.new()` takes a theme name, which the display's
49
+ * theme refuses ("This function cannot be called on the icon theme objects returned from
50
+ * gtk_icon_theme_get_for_display"), so the two paths reach `'bundled'` differently and only
51
+ * this one is drivable without a display.
52
+ */
53
+ export declare function addBundledIconsToTheme(theme: Gtk.IconTheme): void;
54
+ /**
55
+ * Make the app's shipped Adwaita glyphs available to every `icon-name` in the process.
56
+ *
57
+ * Called for you by `runAdwaitaApp`/`AdwaitaApp` on `startup`; call it yourself only if
58
+ * you build the `Adw.Application` some other way. Idempotent.
59
+ *
60
+ * Returns whether anything was installed — `false` for `'host'`, and `false` when there is
61
+ * no display to install onto.
62
+ *
63
+ * THE `'bundled'` PATH GOES THROUGH `Gtk.Settings`, not through `IconTheme.set_theme_name`,
64
+ * and that is not a style choice: the setter refuses on a display's theme, so the theme
65
+ * NAME can only be changed through the setting that feeds it. The consequence worth knowing
66
+ * is that this overrides the user's icon theme for the whole process, which is why it is
67
+ * not the default.
68
+ */
69
+ export declare function installBundledIconTheme(options?: BundledIconThemeOptions): boolean;
@@ -0,0 +1,2 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ /** The resource prefix the icons are registered under. */
2
+ export declare const BUNDLED_ICON_RESOURCE_PATH = "/eu/jumplink/gjsify/adwaita-app/icons";
3
+ /** How many glyphs the bundle carries. */
4
+ export declare const BUNDLED_ICON_COUNT = 41;
5
+ /**
6
+ * The names in the bundle, recorded so a STALE committed artifact is detectable without
7
+ * `glib-compile-resources` — `check-bundled-icon-parity.mjs` holds this against SUBSET.
8
+ */
9
+ export declare const BUNDLED_ICON_NAMES: readonly ["application-x-executable", "avatar-default", "camera-photo", "contact-new", "document-edit", "document-open", "document-save", "edit-copy", "emblem-system", "folder", "folder-documents", "folder-download", "folder-music", "go-down", "go-home", "go-next", "go-previous", "image-missing", "list-add", "list-remove", "mail-reply-sender", "mail-send", "mail-unread", "network-wireless", "open-menu", "preferences-system", "send-to", "sidebar-show", "starred", "system-search", "user-trash", "view-conceal", "view-grid", "view-list", "view-more", "view-paged", "view-refresh", "view-reveal", "window-close", "window-maximize", "window-minimize"];
10
+ /** The compiled `.gresource`, base64. 20349 bytes raw. */
11
+ export declare const BUNDLED_ICON_GRESOURCE_BASE64 = "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";
@@ -1,5 +1,7 @@
1
1
  export { AdwaitaApp, runAdwaitaApp, runApplication } from './application.js';
2
2
  export type { AdwaitaAppOptions } from './application.js';
3
+ export { BUNDLED_ICON_COUNT, BUNDLED_ICON_RESOURCE_PATH, BUNDLED_ICON_THEME_NAME, addBundledIconsToTheme, installBundledIconTheme, registerBundledIconResource, } from './icon-theme.js';
4
+ export type { BundledIconPreference, BundledIconThemeOptions } from './icon-theme.js';
3
5
  export { createNavShell } from './nav-shell.js';
4
6
  export type { NavShell, NavShellOptions } from './nav-shell.js';
5
7
  export { LoadToken, loadIntoStack } from './view-loader.js';
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/adwaita-app",
3
- "version": "0.47.0",
3
+ "version": "0.49.0",
4
4
  "description": "Native Adwaita application shell for GJS/GTK apps — Adw.Application lifecycle (runAsync + devtools + CSS), a data-driven NavigationSplitView nav shell, an async-view mounter, and promise dialog/toast/file helpers",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -15,16 +15,19 @@
15
15
  "lib"
16
16
  ],
17
17
  "scripts": {
18
- "clear": "gjsify clear lib tmp tsconfig.tsbuildinfo test.gjs.mjs test.node.mjs",
19
- "check": "gjsify tsc --noEmit",
18
+ "clear": "gjsify clear lib tmp tsconfig.tsbuildinfo test.gjs.mjs test.gtk.gjs.mjs test.node.mjs src/icons.generated.ts",
19
+ "check": "gjsify run build:icons && gjsify tsc --noEmit",
20
+ "build:icons": "node scripts/build-icon-gresource.mjs",
20
21
  "build": "gjsify run build:gjsify && gjsify run build:types",
21
- "build:gjsify": "gjsify build --library 'src/**/*.{ts,js}' --exclude 'src/**/*.spec.{mts,ts}' 'src/test.{mts,ts}'",
22
- "build:types": "gjsify tsc",
23
- "build:test": "gjsify run build:test:gjs && gjsify run build:test:node",
22
+ "build:gjsify": "gjsify run build:icons && gjsify build --library 'src/**/*.{ts,js}' --exclude 'src/**/*.spec.{mts,ts}' 'src/test.{mts,ts}'",
23
+ "build:types": "gjsify run build:icons && gjsify tsc",
24
+ "build:test": "gjsify run build:test:gjs && gjsify run build:test:gtk && gjsify run build:test:node",
24
25
  "build:test:gjs": "gjsify build src/test.mts --app gjs --outfile test.gjs.mjs",
26
+ "build:test:gtk": "gjsify build src/test.gtk.mts --app gjs --outfile test.gtk.gjs.mjs",
25
27
  "build:test:node": "gjsify build src/test.mts --app node --outfile test.node.mjs",
26
- "test": "gjsify run build:gjsify && gjsify run build:test && gjsify run test:gjs && gjsify run test:node",
28
+ "test": "gjsify run build:gjsify && gjsify run build:test && gjsify run test:gjs && gjsify run test:gtk && gjsify run test:node",
27
29
  "test:gjs": "gjsify run test.gjs.mjs",
30
+ "test:gtk": "gjsify run test.gtk.gjs.mjs",
28
31
  "test:node": "node test.node.mjs",
29
32
  "storybook": "gjsify storybook",
30
33
  "storybook:build": "gjsify storybook --build-only --out dist/storybook.gjs.mjs"
@@ -46,12 +49,12 @@
46
49
  "@girs/glib-2.0": "4.6.0",
47
50
  "@girs/gobject-2.0": "4.6.0",
48
51
  "@girs/gtk-4.0": "4.6.0",
49
- "@gjsify/devtools": "^0.47.0"
52
+ "@gjsify/devtools": "^0.49.0"
50
53
  },
51
54
  "devDependencies": {
52
- "@gjsify/cli": "^0.47.0",
53
- "@gjsify/storybook": "^0.47.0",
54
- "@gjsify/unit": "^0.47.0",
55
+ "@gjsify/cli": "^0.49.0",
56
+ "@gjsify/storybook": "^0.49.0",
57
+ "@gjsify/unit": "^0.49.0",
55
58
  "@types/node": "^25.9.2",
56
59
  "typescript": "^6.0.3"
57
60
  },