@gjsify/adwaita-web 0.64.2-next.252 → 0.64.2-next.254

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 (293) hide show
  1. package/README.md +10 -80
  2. package/dist/adwaita-web.css +52 -3
  3. package/dist/adwaita-web.css.map +1 -1
  4. package/lib/types/accessible.d.ts +8 -0
  5. package/lib/types/compute-expand.d.ts +5 -0
  6. package/lib/types/compute-expand.spec.d.ts +1 -0
  7. package/lib/types/elements/adw-about-dialog.d.ts +28 -1
  8. package/lib/types/elements/adw-action-row.d.ts +2 -1
  9. package/lib/types/elements/adw-alert-dialog.d.ts +3 -2
  10. package/lib/types/elements/adw-avatar.d.ts +2 -1
  11. package/lib/types/elements/adw-banner.d.ts +2 -1
  12. package/lib/types/elements/adw-bin.d.ts +2 -1
  13. package/lib/types/elements/adw-bottom-sheet.d.ts +5 -4
  14. package/lib/types/elements/adw-breakpoint-bin.d.ts +2 -1
  15. package/lib/types/elements/adw-button-content.d.ts +2 -1
  16. package/lib/types/elements/adw-button-row.d.ts +2 -1
  17. package/lib/types/elements/adw-card.d.ts +2 -1
  18. package/lib/types/elements/adw-carousel.d.ts +20 -3
  19. package/lib/types/elements/adw-clamp-scrollable.d.ts +2 -1
  20. package/lib/types/elements/adw-clamp.d.ts +2 -1
  21. package/lib/types/elements/adw-combo-row.d.ts +6 -1
  22. package/lib/types/elements/adw-data-grid.d.ts +2 -1
  23. package/lib/types/elements/adw-dialog.d.ts +2 -1
  24. package/lib/types/elements/adw-entry-row.d.ts +2 -1
  25. package/lib/types/elements/adw-expander-row.d.ts +2 -1
  26. package/lib/types/elements/adw-header-bar.d.ts +2 -1
  27. package/lib/types/elements/adw-inline-view-switcher.d.ts +3 -2
  28. package/lib/types/elements/adw-layout-slot.d.ts +2 -1
  29. package/lib/types/elements/adw-multi-layout-view.d.ts +2 -1
  30. package/lib/types/elements/adw-navigation-split-view.d.ts +2 -1
  31. package/lib/types/elements/adw-navigation-view.d.ts +3 -2
  32. package/lib/types/elements/adw-overlay-split-view.d.ts +2 -1
  33. package/lib/types/elements/adw-preferences-dialog.d.ts +5 -4
  34. package/lib/types/elements/adw-preferences-group.d.ts +2 -1
  35. package/lib/types/elements/adw-preferences-row.d.ts +2 -1
  36. package/lib/types/elements/adw-shortcut-label.d.ts +2 -1
  37. package/lib/types/elements/adw-shortcuts-item.d.ts +2 -1
  38. package/lib/types/elements/adw-shortcuts-section.d.ts +2 -1
  39. package/lib/types/elements/adw-sidebar.d.ts +4 -3
  40. package/lib/types/elements/adw-spin-row.d.ts +2 -1
  41. package/lib/types/elements/adw-spinner.d.ts +2 -1
  42. package/lib/types/elements/adw-split-button.d.ts +2 -1
  43. package/lib/types/elements/adw-status-page.d.ts +2 -1
  44. package/lib/types/elements/adw-switch-row.d.ts +4 -1
  45. package/lib/types/elements/adw-tab-bar.d.ts +2 -1
  46. package/lib/types/elements/adw-tab-button.d.ts +2 -1
  47. package/lib/types/elements/adw-tab-overview.d.ts +2 -1
  48. package/lib/types/elements/adw-tab-view.d.ts +3 -2
  49. package/lib/types/elements/adw-toast-overlay.d.ts +2 -1
  50. package/lib/types/elements/adw-toggle-group.d.ts +3 -2
  51. package/lib/types/elements/adw-toolbar-view.d.ts +2 -1
  52. package/lib/types/elements/adw-view-stack.d.ts +3 -1
  53. package/lib/types/elements/adw-view-switcher-bar.d.ts +2 -1
  54. package/lib/types/elements/adw-view-switcher-sidebar.d.ts +2 -1
  55. package/lib/types/elements/adw-view-switcher.d.ts +3 -2
  56. package/lib/types/elements/adw-window-title.d.ts +2 -1
  57. package/lib/types/elements/adw-wrap-box.d.ts +2 -1
  58. package/lib/types/elements/checks.d.ts +16 -1
  59. package/lib/types/elements/gtk-action-bar.d.ts +2 -1
  60. package/lib/types/elements/gtk-aspect-frame.d.ts +2 -1
  61. package/lib/types/elements/gtk-box.d.ts +5 -1
  62. package/lib/types/elements/gtk-button.d.ts +5 -7
  63. package/lib/types/elements/gtk-calendar.d.ts +2 -1
  64. package/lib/types/elements/gtk-center-box.d.ts +2 -1
  65. package/lib/types/elements/gtk-color-dialog-button.d.ts +2 -1
  66. package/lib/types/elements/gtk-drag-icon.d.ts +2 -1
  67. package/lib/types/elements/gtk-drawing-area.d.ts +2 -1
  68. package/lib/types/elements/gtk-drop-down.d.ts +2 -1
  69. package/lib/types/elements/gtk-editable-label.d.ts +2 -1
  70. package/lib/types/elements/gtk-entry.d.ts +2 -1
  71. package/lib/types/elements/gtk-expander.d.ts +2 -1
  72. package/lib/types/elements/gtk-fixed.d.ts +2 -1
  73. package/lib/types/elements/gtk-flow-box-child.d.ts +2 -1
  74. package/lib/types/elements/gtk-flow-box.d.ts +2 -1
  75. package/lib/types/elements/gtk-font-dialog-button.d.ts +2 -1
  76. package/lib/types/elements/gtk-frame.d.ts +2 -1
  77. package/lib/types/elements/gtk-gl-area.d.ts +2 -1
  78. package/lib/types/elements/gtk-graphics-offload.d.ts +2 -1
  79. package/lib/types/elements/gtk-grid.d.ts +2 -1
  80. package/lib/types/elements/gtk-header-bar.d.ts +2 -1
  81. package/lib/types/elements/gtk-image.d.ts +5 -6
  82. package/lib/types/elements/gtk-inscription.d.ts +2 -1
  83. package/lib/types/elements/gtk-label.d.ts +10 -3
  84. package/lib/types/elements/gtk-level-bar.d.ts +2 -1
  85. package/lib/types/elements/gtk-list-box-row.d.ts +2 -1
  86. package/lib/types/elements/gtk-list-box.d.ts +2 -1
  87. package/lib/types/elements/gtk-list-view.d.ts +2 -1
  88. package/lib/types/elements/gtk-media-controls.d.ts +2 -1
  89. package/lib/types/elements/gtk-menu-button.d.ts +2 -1
  90. package/lib/types/elements/gtk-notebook.d.ts +2 -1
  91. package/lib/types/elements/gtk-overlay.d.ts +2 -1
  92. package/lib/types/elements/gtk-paned.d.ts +2 -1
  93. package/lib/types/elements/gtk-picture.d.ts +2 -1
  94. package/lib/types/elements/gtk-popover-bin.d.ts +2 -1
  95. package/lib/types/elements/gtk-popover-menu-bar.d.ts +2 -1
  96. package/lib/types/elements/gtk-popover.d.ts +2 -1
  97. package/lib/types/elements/gtk-progress-bar.d.ts +2 -1
  98. package/lib/types/elements/gtk-revealer.d.ts +2 -1
  99. package/lib/types/elements/gtk-scale-button.d.ts +2 -1
  100. package/lib/types/elements/gtk-scale.d.ts +2 -1
  101. package/lib/types/elements/gtk-scrollbar.d.ts +2 -1
  102. package/lib/types/elements/gtk-scrolled-window.d.ts +2 -1
  103. package/lib/types/elements/gtk-search-bar.d.ts +2 -1
  104. package/lib/types/elements/gtk-separator.d.ts +2 -1
  105. package/lib/types/elements/gtk-spin-button.d.ts +2 -1
  106. package/lib/types/elements/gtk-spinner.d.ts +2 -1
  107. package/lib/types/elements/gtk-stack-page.d.ts +2 -1
  108. package/lib/types/elements/gtk-stack-sidebar.d.ts +2 -1
  109. package/lib/types/elements/gtk-stack-switcher.d.ts +2 -1
  110. package/lib/types/elements/gtk-stack.d.ts +2 -1
  111. package/lib/types/elements/gtk-switch.d.ts +2 -1
  112. package/lib/types/elements/gtk-text-view.d.ts +2 -1
  113. package/lib/types/elements/gtk-text.d.ts +2 -1
  114. package/lib/types/elements/gtk-tree-expander.d.ts +2 -1
  115. package/lib/types/elements/gtk-video.d.ts +2 -1
  116. package/lib/types/elements/gtk-viewport.d.ts +2 -1
  117. package/lib/types/elements/gtk-window-controls.d.ts +2 -1
  118. package/lib/types/elements/gtk-window-handle.d.ts +2 -1
  119. package/lib/types/elements/gtk-window.d.ts +2 -1
  120. package/lib/types/gobject-elements.d.ts +7 -1
  121. package/lib/types/gtksource/gtk-source-view.d.ts +2 -1
  122. package/lib/types/{icon-registry.spec.d.ts → icon-masks.spec.d.ts} +1 -1
  123. package/lib/types/icon-theme.d.ts +15 -35
  124. package/lib/types/index.d.ts +1 -2
  125. package/lib/types/namespace/gdk.d.ts +1 -0
  126. package/lib/types/namespace/gio.d.ts +1 -0
  127. package/lib/types/namespace/glib.d.ts +2 -1
  128. package/lib/types/signals.d.ts +5 -1
  129. package/lib/types/source-view/adw-source-view.d.ts +2 -1
  130. package/lib/types/styles.generated.d.ts +1 -1
  131. package/lib/types/widget-element.d.ts +25 -0
  132. package/lib/types/widget-map.spec.d.ts +1 -0
  133. package/lib/types/widget-mapping.d.ts +7 -0
  134. package/package.json +12 -12
  135. package/scss/_about_dialog.scss +46 -1
  136. package/scss/_checks.scss +5 -2
  137. package/scss/_icon.scss +3 -4
  138. package/scss/_labels.scss +2 -2
  139. package/scss/_overlay_split_view.scss +10 -0
  140. package/scss/_scrolled_window.scss +15 -0
  141. package/scss/_widget.scss +5 -1
  142. package/src/accessible.ts +29 -0
  143. package/src/adw-about-dialog.spec.ts +81 -12
  144. package/src/adw-action-rows.spec.ts +2 -2
  145. package/src/adw-button-content.spec.ts +1 -1
  146. package/src/adw-carousel.spec.ts +49 -1
  147. package/src/capabilities.mjs +1 -0
  148. package/src/checks.spec.ts +51 -1
  149. package/src/compute-expand.spec.ts +186 -0
  150. package/src/compute-expand.ts +134 -0
  151. package/src/construct-vectors.spec.ts +46 -1
  152. package/src/elements/adw-about-dialog.ts +152 -9
  153. package/src/elements/adw-action-row.ts +2 -1
  154. package/src/elements/adw-alert-dialog.ts +3 -2
  155. package/src/elements/adw-avatar.ts +2 -1
  156. package/src/elements/adw-banner.ts +2 -1
  157. package/src/elements/adw-bin.ts +2 -1
  158. package/src/elements/adw-bottom-sheet.ts +5 -4
  159. package/src/elements/adw-breakpoint-bin.ts +2 -1
  160. package/src/elements/adw-button-content.ts +2 -1
  161. package/src/elements/adw-button-row.ts +2 -1
  162. package/src/elements/adw-card.ts +2 -1
  163. package/src/elements/adw-carousel.ts +62 -3
  164. package/src/elements/adw-clamp-scrollable.ts +2 -1
  165. package/src/elements/adw-clamp.ts +2 -1
  166. package/src/elements/adw-combo-row.ts +15 -1
  167. package/src/elements/adw-data-grid.ts +2 -1
  168. package/src/elements/adw-dialog.ts +2 -1
  169. package/src/elements/adw-entry-row.ts +2 -1
  170. package/src/elements/adw-expander-row.ts +2 -1
  171. package/src/elements/adw-header-bar.ts +2 -1
  172. package/src/elements/adw-inline-view-switcher.ts +3 -2
  173. package/src/elements/adw-layout-slot.ts +2 -1
  174. package/src/elements/adw-multi-layout-view.ts +2 -1
  175. package/src/elements/adw-navigation-split-view.ts +2 -1
  176. package/src/elements/adw-navigation-view.ts +3 -2
  177. package/src/elements/adw-overlay-split-view.ts +2 -1
  178. package/src/elements/adw-preferences-dialog.ts +6 -4
  179. package/src/elements/adw-preferences-group.ts +2 -1
  180. package/src/elements/adw-preferences-row.ts +2 -1
  181. package/src/elements/adw-shortcut-label.ts +2 -1
  182. package/src/elements/adw-shortcuts-item.ts +2 -1
  183. package/src/elements/adw-shortcuts-section.ts +2 -1
  184. package/src/elements/adw-sidebar.ts +4 -3
  185. package/src/elements/adw-spin-row.ts +2 -1
  186. package/src/elements/adw-spinner.ts +2 -1
  187. package/src/elements/adw-split-button.ts +2 -1
  188. package/src/elements/adw-status-page.ts +2 -1
  189. package/src/elements/adw-switch-row.ts +10 -1
  190. package/src/elements/adw-tab-bar.ts +2 -1
  191. package/src/elements/adw-tab-button.ts +2 -1
  192. package/src/elements/adw-tab-overview.ts +2 -1
  193. package/src/elements/adw-tab-view.ts +3 -2
  194. package/src/elements/adw-toast-overlay.ts +2 -1
  195. package/src/elements/adw-toggle-group.ts +3 -2
  196. package/src/elements/adw-toolbar-view.ts +2 -1
  197. package/src/elements/adw-view-stack.ts +39 -1
  198. package/src/elements/adw-view-switcher-bar.ts +2 -1
  199. package/src/elements/adw-view-switcher-sidebar.ts +2 -1
  200. package/src/elements/adw-view-switcher.ts +3 -2
  201. package/src/elements/adw-window-title.ts +2 -1
  202. package/src/elements/adw-wrap-box.ts +2 -1
  203. package/src/elements/checks.ts +85 -6
  204. package/src/elements/gtk-action-bar.ts +2 -1
  205. package/src/elements/gtk-aspect-frame.ts +2 -1
  206. package/src/elements/gtk-box.ts +56 -1
  207. package/src/elements/gtk-button.ts +10 -22
  208. package/src/elements/gtk-calendar.ts +2 -1
  209. package/src/elements/gtk-center-box.ts +2 -1
  210. package/src/elements/gtk-color-dialog-button.ts +2 -1
  211. package/src/elements/gtk-drag-icon.ts +2 -1
  212. package/src/elements/gtk-drawing-area.ts +2 -1
  213. package/src/elements/gtk-drop-down.ts +2 -1
  214. package/src/elements/gtk-editable-label.ts +2 -1
  215. package/src/elements/gtk-entry.ts +2 -1
  216. package/src/elements/gtk-expander.ts +2 -1
  217. package/src/elements/gtk-fixed.ts +2 -1
  218. package/src/elements/gtk-flow-box-child.ts +2 -1
  219. package/src/elements/gtk-flow-box.ts +2 -1
  220. package/src/elements/gtk-font-dialog-button.ts +2 -1
  221. package/src/elements/gtk-frame.ts +2 -1
  222. package/src/elements/gtk-gl-area.ts +2 -1
  223. package/src/elements/gtk-graphics-offload.ts +2 -1
  224. package/src/elements/gtk-grid.ts +2 -1
  225. package/src/elements/gtk-header-bar.ts +2 -1
  226. package/src/elements/gtk-image.ts +14 -15
  227. package/src/elements/gtk-inscription.ts +2 -1
  228. package/src/elements/gtk-label.ts +12 -5
  229. package/src/elements/gtk-level-bar.ts +2 -1
  230. package/src/elements/gtk-list-box-row.ts +2 -1
  231. package/src/elements/gtk-list-box.ts +2 -1
  232. package/src/elements/gtk-list-view.ts +2 -1
  233. package/src/elements/gtk-media-controls.ts +2 -1
  234. package/src/elements/gtk-menu-button.ts +2 -1
  235. package/src/elements/gtk-notebook.ts +2 -1
  236. package/src/elements/gtk-overlay.ts +2 -1
  237. package/src/elements/gtk-paned.ts +2 -1
  238. package/src/elements/gtk-picture.ts +2 -1
  239. package/src/elements/gtk-popover-bin.ts +2 -1
  240. package/src/elements/gtk-popover-menu-bar.ts +2 -1
  241. package/src/elements/gtk-popover.ts +2 -1
  242. package/src/elements/gtk-progress-bar.ts +2 -1
  243. package/src/elements/gtk-revealer.ts +2 -1
  244. package/src/elements/gtk-scale-button.ts +2 -1
  245. package/src/elements/gtk-scale.ts +2 -1
  246. package/src/elements/gtk-scrollbar.ts +2 -1
  247. package/src/elements/gtk-scrolled-window.ts +8 -5
  248. package/src/elements/gtk-search-bar.ts +2 -1
  249. package/src/elements/gtk-separator.ts +2 -1
  250. package/src/elements/gtk-spin-button.ts +2 -1
  251. package/src/elements/gtk-spinner.ts +2 -1
  252. package/src/elements/gtk-stack-page.ts +2 -1
  253. package/src/elements/gtk-stack-sidebar.ts +2 -1
  254. package/src/elements/gtk-stack-switcher.ts +2 -1
  255. package/src/elements/gtk-stack.ts +2 -1
  256. package/src/elements/gtk-switch.ts +2 -1
  257. package/src/elements/gtk-text-view.ts +2 -1
  258. package/src/elements/gtk-text.ts +2 -1
  259. package/src/elements/gtk-tree-expander.ts +2 -1
  260. package/src/elements/gtk-video.ts +2 -1
  261. package/src/elements/gtk-viewport.ts +2 -1
  262. package/src/elements/gtk-window-controls.ts +2 -1
  263. package/src/elements/gtk-window-handle.ts +2 -1
  264. package/src/elements/gtk-window.ts +2 -1
  265. package/src/gio.spec.ts +13 -3
  266. package/src/glib.spec.ts +9 -0
  267. package/src/gobject-elements.ts +18 -4
  268. package/src/gtk-label.spec.ts +39 -0
  269. package/src/gtk-scrolled-window.spec.ts +6 -6
  270. package/src/gtk-value-doors.spec.ts +19 -0
  271. package/src/gtk-window.spec.ts +2 -2
  272. package/src/gtksource/gtk-source-view.ts +2 -1
  273. package/src/{icon-registry.spec.ts → icon-masks.spec.ts} +4 -100
  274. package/src/icon-theme.spec.ts +69 -124
  275. package/src/icon-theme.ts +29 -119
  276. package/src/index.ts +3 -7
  277. package/src/namespace/gdk.ts +1 -0
  278. package/src/namespace/gio.ts +8 -0
  279. package/src/namespace/glib.ts +4 -0
  280. package/src/shared-tree-builder.ts +26 -3
  281. package/src/signals.ts +11 -2
  282. package/src/source-view/adw-source-view.ts +2 -1
  283. package/src/split-button.spec.ts +1 -1
  284. package/src/style-manager.spec.ts +13 -0
  285. package/src/style-manager.ts +6 -0
  286. package/src/styles.generated.ts +1 -1
  287. package/src/test.browser.mts +6 -2
  288. package/src/widget-element.ts +75 -0
  289. package/src/widget-map.spec.ts +116 -0
  290. package/src/widget-mapping.ts +100 -0
  291. package/src/widget-visible.spec.ts +44 -0
  292. package/lib/types/icon-registry.d.ts +0 -37
  293. package/src/icon-registry.ts +0 -163
@@ -1,7 +1,8 @@
1
1
  import type { AdwMenuActions, AdwMenuInput, AdwMenuModel } from '@gjsify/adwaita-core';
2
2
  import './gtk-popover-menu.js';
3
3
  import type { GtkPopoverMenu } from './gtk-popover-menu.js';
4
- export declare class GtkPopoverBin extends HTMLElement {
4
+ import { WidgetElement } from '../widget-element.js';
5
+ export declare class GtkPopoverBin extends WidgetElement {
5
6
  private _model;
6
7
  private _popover;
7
8
  private _actions;
@@ -1,6 +1,7 @@
1
1
  import type { AdwMenuActions, AdwMenuInput, AdwMenuModel } from '@gjsify/adwaita-core';
2
2
  import './gtk-popover-menu.js';
3
- export declare class GtkPopoverMenuBar extends HTMLElement {
3
+ import { WidgetElement } from '../widget-element.js';
4
+ export declare class GtkPopoverMenuBar extends WidgetElement {
4
5
  private _model;
5
6
  private _actions;
6
7
  private _items;
@@ -1,3 +1,4 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** Which side of the anchor the surface sits on. */
2
3
  export type GtkPopoverPosition = 'bottom' | 'top' | 'start' | 'end';
3
4
  /** Which edge of the anchor the surface lines up with. */
@@ -11,7 +12,7 @@ export type GtkPopoverAlign = 'start' | 'end';
11
12
  * `GtkPopover` declares nothing.
12
13
  */
13
14
  export type GtkPopoverRole = 'menu' | 'listbox' | 'dialog';
14
- export declare class GtkPopover extends HTMLElement {
15
+ export declare class GtkPopover extends WidgetElement {
15
16
  private readonly _state;
16
17
  private _anchor;
17
18
  private _initialized;
@@ -1,4 +1,5 @@
1
- export declare class GtkProgressBar extends HTMLElement {
1
+ import { WidgetElement } from '../widget-element.js';
2
+ export declare class GtkProgressBar extends WidgetElement {
2
3
  private _trough;
3
4
  private _progress;
4
5
  private _text;
@@ -1,7 +1,8 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** Every `GtkRevealerTransitionType` nick, in GIR order. */
2
3
  declare const TRANSITION_TYPES: readonly ["none", "crossfade", "slide-right", "slide-left", "slide-up", "slide-down", "swing-right", "swing-left", "swing-up", "swing-down", "fade-slide-right", "fade-slide-left", "fade-slide-up", "fade-slide-down"];
3
4
  export type RevealerTransitionType = (typeof TRANSITION_TYPES)[number];
4
- export declare class GtkRevealer extends HTMLElement {
5
+ export declare class GtkRevealer extends WidgetElement {
5
6
  private _clipEl;
6
7
  private _initialized;
7
8
  /** `current_pos` — 0 hidden, 1 shown. */
@@ -1,5 +1,6 @@
1
1
  import './gtk-popover.js';
2
- export declare class GtkScaleButton extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkScaleButton extends WidgetElement {
3
4
  private readonly _state;
4
5
  private _buttonEl;
5
6
  private _glyph;
@@ -1,4 +1,5 @@
1
1
  import type { AdwAdjustment, AdwAdjustmentInput, BoxOrientation } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `Gtk.PositionType` nicks, as `GtkScale:value-pos` spells them. */
3
4
  declare const VALUE_POSITIONS: readonly ["left", "right", "top", "bottom"];
4
5
  /** `GtkScale:value-pos` in the order libadwaita lays the value out: default `top`. */
@@ -11,7 +12,7 @@ type ValuePosition = (typeof VALUE_POSITIONS)[number];
11
12
  * a different `digits` default, and reuses this rather than growing a second copy of it.
12
13
  */
13
14
  export declare function formatScaleValue(value: number, digits: number): string;
14
- export declare class GtkScale extends HTMLElement {
15
+ export declare class GtkScale extends WidgetElement {
15
16
  /** The headless `Gtk.Adjustment`: the range, the clamp and the two signals (ADR 0004, ADR 0047). */
16
17
  private readonly _range;
17
18
  private _trough;
@@ -1,7 +1,8 @@
1
1
  import { type AdwAdjustment, type AdwAdjustmentInput, type BoxOrientation } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `GtkScrollType`'s six kinds, which is what a `scroll-child` names. */
3
4
  export type GtkScrollType = 'step-backward' | 'step-forward' | 'page-backward' | 'page-forward' | 'start' | 'end';
4
- export declare class GtkScrollbar extends HTMLElement {
5
+ export declare class GtkScrollbar extends WidgetElement {
5
6
  private _trough;
6
7
  private _slider;
7
8
  private _observer;
@@ -1,5 +1,6 @@
1
1
  import type { AdwAdjustment } from '@gjsify/adwaita-core';
2
2
  import type { GtkViewport } from './gtk-viewport.js';
3
+ import { WidgetElement } from '../widget-element.js';
3
4
  /** `GtkPolicyType`'s four nicks; `automatic` is the pspec's default for both bars. */
4
5
  export type GtkPolicyType = 'always' | 'never' | 'automatic' | 'external';
5
6
  /** `GtkCornerType`'s four corners, `top-left` being the pspec's default. */
@@ -8,7 +9,7 @@ export type GtkCornerType = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-r
8
9
  export type GtkPositionType = 'left' | 'right' | 'top' | 'bottom';
9
10
  /** `Gtk.DirectionType`'s two, as `move-focus-out` names them. */
10
11
  export type GtkDirectionType = 'forward' | 'backward';
11
- export declare class GtkScrolledWindow extends HTMLElement {
12
+ export declare class GtkScrolledWindow extends WidgetElement {
12
13
  private _viewport;
13
14
  private _bars;
14
15
  /** The size clamps `_writeSize` last wrote, which are the only ones it may clear. */
@@ -1,4 +1,5 @@
1
- export declare class GtkSearchBar extends HTMLElement {
1
+ import { WidgetElement } from '../widget-element.js';
2
+ export declare class GtkSearchBar extends WidgetElement {
2
3
  private _box;
3
4
  private _center;
4
5
  private _close;
@@ -1,5 +1,6 @@
1
1
  import { type BoxOrientation } from '@gjsify/adwaita-core';
2
- export declare class GtkSeparator extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkSeparator extends WidgetElement {
3
4
  static get observedAttributes(): string[];
4
5
  /** `GtkOrientable:orientation` — `horizontal` (the default) or `vertical`. */
5
6
  get orientation(): BoxOrientation;
@@ -1,7 +1,8 @@
1
1
  import type { AdwAdjustment, AdwAdjustmentInput } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `Gtk.SpinButtonUpdatePolicy` nicks; `always` is the pspec default (gtkspinbutton.c:472-475). */
3
4
  declare const UPDATE_POLICIES: readonly ["always", "if-valid"];
4
- export declare class GtkSpinButton extends HTMLElement {
5
+ export declare class GtkSpinButton extends WidgetElement {
5
6
  private readonly _range;
6
7
  private _input;
7
8
  private _down;
@@ -1,4 +1,5 @@
1
- export declare class GtkSpinner extends HTMLElement {
1
+ import { WidgetElement } from '../widget-element.js';
2
+ export declare class GtkSpinner extends WidgetElement {
2
3
  private _initialized;
3
4
  static get observedAttributes(): string[];
4
5
  /** `Gtk.Spinner:spinning` — whether the animation runs. Defaults to FALSE (:338-340). */
@@ -1,6 +1,7 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** The attributes a record hands to its child on adoption — `GtkStackPage`'s string/boolean properties. */
2
3
  export declare const STACK_PAGE_ATTRIBUTES: readonly ["name", "title", "icon-name", "needs-attention", "use-underline"];
3
- export declare class GtkStackPage extends HTMLElement {
4
+ export declare class GtkStackPage extends WidgetElement {
4
5
  static get observedAttributes(): ("title" | "name" | "icon-name" | "use-underline" | "needs-attention")[];
5
6
  /** `GtkStackPage:name` — what `visible-child-name` selects by. */
6
7
  get name(): string;
@@ -1,5 +1,6 @@
1
1
  import type { GtkStack } from './gtk-stack.js';
2
- export declare class GtkStackSidebar extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkStackSidebar extends WidgetElement {
3
4
  private _stack;
4
5
  private _list;
5
6
  private _initialized;
@@ -1,6 +1,7 @@
1
1
  import { type BoxOrientation } from '@gjsify/adwaita-core';
2
2
  import type { GtkStack } from './gtk-stack.js';
3
- export declare class GtkStackSwitcher extends HTMLElement {
3
+ import { WidgetElement } from '../widget-element.js';
4
+ export declare class GtkStackSwitcher extends WidgetElement {
4
5
  private _stack;
5
6
  private _initialized;
6
7
  private _nodes;
@@ -1,4 +1,5 @@
1
1
  import type { DispatchedSignals } from '../signals.js';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `GtkStackTransitionType`, spelled as the GIR's enum nicks (gtkstack.c:95-121). */
3
4
  export type StackTransitionType = 'none' | 'crossfade' | 'slide-right' | 'slide-left' | 'slide-up' | 'slide-down' | 'slide-left-right' | 'slide-up-down' | 'over-up' | 'over-down' | 'over-left' | 'over-right' | 'under-up' | 'under-down' | 'under-left' | 'under-right' | 'over-up-down' | 'over-down-up' | 'over-left-right' | 'over-right-left' | 'rotate-left' | 'rotate-right' | 'rotate-left-right';
4
5
  /** The browser's page descriptor — the stand-in for the `GtkStackPage` GObject. */
@@ -18,7 +19,7 @@ export interface GtkStackPageInfo {
18
19
  /** `GtkStackPage:child`: the page's own node. */
19
20
  child: HTMLElement;
20
21
  }
21
- export declare class GtkStack extends HTMLElement {
22
+ export declare class GtkStack extends WidgetElement {
22
23
  /** The GTK signals this element dispatches, each with the DOM event it arrives as (ADR 0093). */
23
24
  static readonly signals: DispatchedSignals;
24
25
  /** The child that is visible, or `null` — C's `priv->visible_child`. */
@@ -1,5 +1,6 @@
1
1
  import type { DispatchedSignals } from '../signals.js';
2
- export declare class GtkSwitch extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkSwitch extends WidgetElement {
3
4
  /** The GTK signals this element dispatches, each with the DOM event it arrives as (ADR 0093). */
4
5
  static readonly signals: DispatchedSignals;
5
6
  private _input;
@@ -1,4 +1,5 @@
1
1
  import { type LabelJustification } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `Gtk.WrapMode`'s four nicks, in enum order — Pango's enum, and the DEFAULT is `none`. */
3
4
  declare const WRAP_MODES: readonly ["none", "char", "word", "word-char"];
4
5
  type TextViewWrapMode = (typeof WRAP_MODES)[number];
@@ -9,7 +10,7 @@ export interface GtkTextBufferSubset {
9
10
  set_text(text: string, len?: number): void;
10
11
  get_text(): string;
11
12
  }
12
- export declare class GtkTextView extends HTMLElement {
13
+ export declare class GtkTextView extends WidgetElement {
13
14
  private _area;
14
15
  private _initialized;
15
16
  static get observedAttributes(): string[];
@@ -1,4 +1,5 @@
1
- export declare class GtkText extends HTMLElement {
1
+ import { WidgetElement } from '../widget-element.js';
2
+ export declare class GtkText extends WidgetElement {
2
3
  private _input;
3
4
  private _initialized;
4
5
  private _maxLength;
@@ -1,5 +1,6 @@
1
1
  import { type AdwTreeExpanderLayout } from '@gjsify/adwaita-core';
2
- export declare class GtkTreeExpander extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkTreeExpander extends WidgetElement {
3
4
  private _ornaments;
4
5
  private _expandTimer;
5
6
  private _initialized;
@@ -1,3 +1,4 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** The four overlay glyphs, in the order `update_overlay_icon` tests them (gtkvideo.c:626-646). */
2
3
  export type VideoOverlayIcon = 'media-eject-symbolic' | 'dialog-error-symbolic' | 'media-playlist-repeat-symbolic' | 'media-playback-start-symbolic';
3
4
  /**
@@ -14,7 +15,7 @@ export declare const ENDED_ICON = "media-playlist-repeat-symbolic";
14
15
  export declare const READY_ICON = "media-playback-start-symbolic";
15
16
  /** `gtk_video_reveal_controls`' timeout: 3 s (gtkvideo.c:130). */
16
17
  export declare const CONTROLS_HIDE_MS = 3000;
17
- export declare class GtkVideo extends HTMLElement {
18
+ export declare class GtkVideo extends WidgetElement {
18
19
  private _initialized;
19
20
  private _overlayIcon;
20
21
  private _controlsRevealer;
@@ -1,8 +1,9 @@
1
1
  import { type AdwAdjustment } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** The two axes a scrollport reports numbers for, in the order GTK declares them. */
3
4
  declare const AXES: readonly ["horizontal", "vertical"];
4
5
  type Axis = (typeof AXES)[number];
5
- export declare class GtkViewport extends HTMLElement {
6
+ export declare class GtkViewport extends WidgetElement {
6
7
  private _observer;
7
8
  private _watch;
8
9
  static get observedAttributes(): string[];
@@ -1,8 +1,9 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** `Gtk.PackType`, spelled as the GIR's enum nicks (gtkwindowcontrols.c:68). */
2
3
  type PackSide = 'start' | 'end';
3
4
  /** What a press asks for: the `GtkActionable` action name minus its `window.` prefix. */
4
5
  export type WindowAction = 'minimize' | 'toggle-maximized' | 'close';
5
- export declare class GtkWindowControls extends HTMLElement {
6
+ export declare class GtkWindowControls extends WidgetElement {
6
7
  private _initialized;
7
8
  private _empty;
8
9
  /** The frame this controls answers to, or `null` outside one (`:257-263`). */
@@ -1,8 +1,9 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** `GtkTitlebarGesture`'s three gestures, as `perform_titlebar_action` decides them. */
2
3
  export type GtkTitlebarGesture = 'double-click' | 'middle-click' | 'right-click';
3
4
  /** The settings' own vocabulary, `none` included: "the compositor declined" is one. */
4
5
  export type GtkTitlebarAction = 'toggle-maximize' | 'lower' | 'minimize' | 'menu' | 'none';
5
- export declare class GtkWindowHandle extends HTMLElement {
6
+ export declare class GtkWindowHandle extends WidgetElement {
6
7
  /** The gesture in progress, as `priv->drag_start_x` / `_y` are in the C. */
7
8
  private _drag;
8
9
  /**
@@ -2,7 +2,8 @@ import { type GtkApplication } from '../application.js';
2
2
  import type { DispatchedSignals } from '../signals.js';
3
3
  import { type AdwSlot } from '../slotted-children.js';
4
4
  import './gtk-window-controls.js';
5
- export declare class GtkWindow extends HTMLElement {
5
+ import { WidgetElement } from '../widget-element.js';
6
+ export declare class GtkWindow extends WidgetElement {
6
7
  private _initialized;
7
8
  /** The `titlebar` strip — `protected` so a subclass can place its own strips around it. */
8
9
  protected _titlebar: HTMLDivElement;
@@ -1,6 +1,7 @@
1
1
  type Handler = (emitter: HTMLElement, ...args: unknown[]) => unknown;
2
2
  /** Whether `el` got its four methods from {@link installElementApi} (a registered class has the core's). */
3
3
  export declare function hasElementApi(el: object): boolean;
4
+ export declare function notifyElement(el: HTMLElement, name: string): void;
4
5
  /** Makes every change of `property` on `el` reach a `notify::<property>` listener, connected or not. */
5
6
  export declare function ensureNotifying(el: HTMLElement, property: string): void;
6
7
  /** Calls `handler(el, ...args)` for `signal`; returns the disconnect. */
@@ -13,7 +14,12 @@ export declare function dispatchElement(el: HTMLElement, signal: string, args: r
13
14
  * declares `sensitive` (`<adw-toggle-group>`) keeps its own.
14
15
  */
15
16
  export declare function installSensitive(el: HTMLElement): void;
16
- /** Whether `installVisible` gave `el` its `visible` (an element with its own keeps its own). */
17
+ /** The `visible` getters `WidgetElement` puts on its prototype, so a class's own accessor tells apart. */
18
+ export declare const WIDGET_VISIBLE_GETTERS: WeakSet<() => boolean>;
19
+ /**
20
+ * Whether `el` has the port's `visible` — from `installVisible` or from `WidgetElement`. An
21
+ * element with its own `visible` (`<gtk-stack-page>`) keeps its own and answers false.
22
+ */
17
23
  export declare function hasInstalledVisible(el: Element): boolean;
18
24
  /**
19
25
  * `Gtk.Widget:visible` for an element that has no member of that name: `gtk_widget_get_visible`
@@ -1,7 +1,8 @@
1
1
  import { GtkAdjustment } from '@gjsify/adwaita-core';
2
2
  import type { Buffer, Gutter } from '@gjsify/gtksource-core';
3
3
  import { STOP_EMISSION } from '@gjsify/gtksource-core';
4
- export declare class GtkSourceView extends HTMLElement {
4
+ import { WidgetElement } from '../widget-element.js';
5
+ export declare class GtkSourceView extends WidgetElement {
5
6
  static get observedAttributes(): string[];
6
7
  private readonly session;
7
8
  private readonly driver;
@@ -15,4 +15,4 @@ export declare const maskOf: (el: HTMLElement) => string;
15
15
  * them, and the first version of this file passed that way while asserting nothing.
16
16
  */
17
17
  export declare function fallbackMask(): string;
18
- export declare const AdwIconRegistryTest: () => Promise<void>;
18
+ export declare const AdwIconMasksTest: () => Promise<void>;
@@ -1,17 +1,11 @@
1
1
  import { type IconDirection } from '@gjsify/adwaita-core';
2
2
  /** What one icon name resolves to, in the order GTK's theme would try it. */
3
3
  export type IconLookup =
4
- /** A registered full-colour image, drawn as-is. `url` is ready for `url("…")`. */
5
- {
6
- kind: 'color';
7
- name: string;
8
- url: string;
9
- }
10
4
  /**
11
5
  * A file under a `Gtk.IconTheme` resource path; `symbolic` files are masks in `currentColor`.
12
6
  * `url` is `null` when the browser cannot draw the file (XPM, compressed): draw `image-missing`.
13
7
  */
14
- | {
8
+ {
15
9
  kind: 'resource';
16
10
  name: string;
17
11
  path: string;
@@ -29,17 +23,13 @@ export type IconLookup =
29
23
  };
30
24
  /** Subscribe to theme changes. Returns the unsubscribe function. */
31
25
  export declare function onIconThemeChanged(listener: () => void): () => void;
32
- /** Run every subscriber — after any registration that can change a lookup's answer. */
33
- export declare function notifyIconThemeChanged(): void;
34
26
  /**
35
27
  * Resolve `iconName` as `gtk_icon_theme_lookup_by_gicon` would for a `GtkImage`. `null` when
36
28
  * no name was given — the state where GTK draws nothing, not `image-missing`.
37
29
  *
38
- * When neither a colour registration nor a resource holds a name, the request is returned as a
39
- * symbolic one WITHOUT checking the cascade: the mask class falls back to `image-missing`
40
- * through CSS by itself and corrects itself when a later `registerIcon` lands, which is how
41
- * `<gtk-image>` behaved before this module. The cascade is read only to choose between a
42
- * symbolic glyph and a colour entry or file.
30
+ * When no resource holds a name, the request is returned as a symbolic one WITHOUT checking
31
+ * the cascade: the mask class falls back to `image-missing` through CSS by itself. The cascade
32
+ * is read only to choose between a symbolic glyph and a resource file.
43
33
  */
44
34
  export declare function lookupIcon(iconName: string | null | undefined, request?: IconRequest): IconLookup | null;
45
35
  /** What a `GtkImage` hands its theme besides the name: its size, scale and text direction. */
@@ -51,29 +41,19 @@ export interface IconRequest {
51
41
  readonly direction?: IconDirection;
52
42
  }
53
43
  /**
54
- * The lookup over the colour registrations and the theme's resource paths; `null` when neither
55
- * answers any name, a `symbolic` entry when the current theme's glyph comes first.
44
+ * The lookup over the theme's resource paths; `null` when no resource answers any name, a
45
+ * `symbolic` entry when the current theme's glyph comes first.
56
46
  */
57
47
  export declare function resourceIcon(iconName: string, request: IconRequest): IconLookup | null;
58
48
  /**
59
- * Whether `iconName` resolves to something other than `image-missing` — a registered colour
60
- * icon, a file under a resource path, or a symbolic glyph compiled into the stylesheet or
61
- * registered at runtime.
62
- */
63
- export declare function iconResolves(iconName: string): boolean;
64
- /**
65
- * Register a FULL-COLOUR icon under `name` — what an application ships in
66
- * `hicolor/scalable/apps/<app-id>.svg` and GTK finds through its icon theme. Every
67
- * `<gtk-image>` asking for the name draws the image unrecoloured, the way `AdwAboutDialog`'s
68
- * `application-icon` does on GNOME.
69
- *
70
- * `name` is the EXACT icon name, reverse-DNS application IDs included. A name with a
71
- * `-symbolic` suffix THROWS: that is the other half of the theme, and {@link registerIcon}
72
- * is its door. `source` is SVG source, or a URL (resolved against the document) to any
73
- * image the browser can draw.
74
- *
75
- * Re-registering a name replaces the image, and every mounted `<gtk-image>` redraws.
49
+ * Whether `name` draws something other than `image-missing` — a file under a `Gtk.IconTheme`
50
+ * resource path, or a symbolic glyph compiled into the stylesheet. The name is looked up
51
+ * exactly as `<gtk-image icon-name>` looks it up.
76
52
  *
77
- * CLIENT-SIDE ONLY, like `registerIcon`: it reads `document`.
53
+ * Reads the live cascade rather than a generated list, so it answers for a glyph that arrived
54
+ * by any route, including a consumer's own `--icon-<name>` declaration. It is deliberately the
55
+ * CUSTOM PROPERTY that is read and not the rendered `mask-image` of a probe element: since
56
+ * `_icon.scss` gives every icon box the `image-missing` fallback, a rendered mask is never
57
+ * `none`, and comparing against the fallback would answer `false` for `image-missing` itself.
78
58
  */
79
- export declare function registerColorIcon(name: string, source: string): void;
59
+ export declare function isIconAvailable(name: string): boolean;
@@ -8,8 +8,7 @@ export type { AdwUndershootEdges } from './scroll-shading.js';
8
8
  export { buildSharedTree, buildWithSiblings, mountSharedTree } from './shared-tree-builder.js';
9
9
  export type { BuildOptions, BuiltTree, MountOptions, MountedSharedTree, SizeSource } from './shared-tree-builder.js';
10
10
  export { registerTemplateClass } from './template-classes.js';
11
- export { isIconAvailable, registerIcon } from './icon-registry.js';
12
- export { registerColorIcon } from './icon-theme.js';
11
+ export { isIconAvailable } from './icon-theme.js';
13
12
  export * as Adw from './namespace/adw.js';
14
13
  export * as Gtk from './namespace/gtk.js';
15
14
  export * as Gio from './namespace/gio.js';
@@ -5,5 +5,6 @@ export declare const Display: {
5
5
  export declare const Clipboard: typeof import("@gjsify/adwaita-core").Clipboard;
6
6
  export declare const ContentProvider: Pick<typeof import("@gjsify/adwaita-core").ContentProvider, "new_for_value">;
7
7
  export declare const ContentFormats: typeof import("@gjsify/adwaita-core").ContentFormats;
8
+ export declare const AppLaunchContext: typeof import("@gjsify/adwaita-core").GdkAppLaunchContext;
8
9
  export declare const CURRENT_TIME = 0;
9
10
  export declare const KEY_space: 32, KEY_a: 97, KEY_d: 100, KEY_e: 101, KEY_q: 113, KEY_s: 115, KEY_w: 119, KEY_Return: 65293, KEY_Escape: 65307, KEY_Left: 65361, KEY_Up: 65362, KEY_Right: 65363, KEY_Down: 65364;
@@ -5,3 +5,4 @@ export { SimpleAction, SimpleActionGroup, ApplicationFlags } from '@gjsify/adwai
5
5
  export { GioResource as Resource, ResourceError, ResourceLookupFlags, resources_enumerate_children, resources_get_info, resources_lookup_data, resources_register, resources_unregister, } from '@gjsify/adwaita-core';
6
6
  export { GioApplication as Application } from '../application.js';
7
7
  export { Settings } from '@gjsify/app-settings/browser';
8
+ export declare const AppInfo: import("@gjsify/adwaita-core").GioAppInfo;
@@ -1,5 +1,5 @@
1
1
  export { GLibBytes as Bytes, GLibError as Error } from '@gjsify/adwaita-core';
2
- import { buildFilenamev, getCurrentDir, getSystemDataDirs } from '@gjsify/adwaita-core';
2
+ import { buildFilenamev, getCurrentDir, getSystemDataDirs, uriEscapeString } from '@gjsify/adwaita-core';
3
3
  export declare const PRIORITY_HIGH: number;
4
4
  export declare const PRIORITY_DEFAULT: number;
5
5
  export declare const PRIORITY_HIGH_IDLE: number;
@@ -14,3 +14,4 @@ export declare const MAXUINT32 = 4294967295;
14
14
  export declare const build_filenamev: typeof buildFilenamev;
15
15
  export declare const get_current_dir: typeof getCurrentDir;
16
16
  export declare const get_system_data_dirs: typeof getSystemDataDirs;
17
+ export declare const uri_escape_string: typeof uriEscapeString;
@@ -1,4 +1,8 @@
1
1
  /** GTK signal name → the DOM event type the element dispatches it as. */
2
2
  export type DispatchedSignals = Readonly<Record<string, string>>;
3
- /** The signals `el`'s class declares, or none. */
3
+ /**
4
+ * The signals `el`'s class and every class above it declare, or none. A class inherits its
5
+ * base's signals as a GObject class does (`map` / `unmap` are declared once, on
6
+ * `WidgetElement`); where two declare the same name, the more derived class wins.
7
+ */
4
8
  export declare function dispatchedSignalsOf(el: Element): DispatchedSignals;
@@ -1,5 +1,6 @@
1
1
  import { EditorView } from '@codemirror/view';
2
- export declare class AdwSourceView extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class AdwSourceView extends WidgetElement {
3
4
  private _view?;
4
5
  private _editorHost;
5
6
  private _copyButton;