@gjsify/adwaita-web 0.64.1 → 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 (335) hide show
  1. package/README.md +22 -88
  2. package/dist/adwaita-web.css +91 -12
  3. package/dist/adwaita-web.css.map +1 -1
  4. package/lib/types/accessible.d.ts +8 -0
  5. package/lib/types/application.d.ts +1 -1
  6. package/lib/types/child-slot.spec.d.ts +1 -0
  7. package/lib/types/compute-expand.d.ts +5 -0
  8. package/lib/types/compute-expand.spec.d.ts +1 -0
  9. package/lib/types/container-fill.spec.d.ts +1 -0
  10. package/lib/types/elements/adw-about-dialog.d.ts +28 -1
  11. package/lib/types/elements/adw-action-row.d.ts +2 -1
  12. package/lib/types/elements/adw-alert-dialog.d.ts +80 -19
  13. package/lib/types/elements/adw-avatar.d.ts +2 -1
  14. package/lib/types/elements/adw-banner.d.ts +2 -1
  15. package/lib/types/elements/adw-bin.d.ts +2 -1
  16. package/lib/types/elements/adw-bottom-sheet.d.ts +5 -4
  17. package/lib/types/elements/adw-breakpoint-bin.d.ts +2 -1
  18. package/lib/types/elements/adw-button-content.d.ts +2 -1
  19. package/lib/types/elements/adw-button-row.d.ts +2 -1
  20. package/lib/types/elements/adw-card.d.ts +2 -1
  21. package/lib/types/elements/adw-carousel.d.ts +20 -3
  22. package/lib/types/elements/adw-clamp-scrollable.d.ts +2 -1
  23. package/lib/types/elements/adw-clamp.d.ts +2 -1
  24. package/lib/types/elements/adw-combo-row.d.ts +6 -1
  25. package/lib/types/elements/adw-data-grid.d.ts +2 -1
  26. package/lib/types/elements/adw-dialog.d.ts +2 -1
  27. package/lib/types/elements/adw-entry-row.d.ts +2 -1
  28. package/lib/types/elements/adw-expander-row.d.ts +2 -1
  29. package/lib/types/elements/adw-header-bar.d.ts +2 -1
  30. package/lib/types/elements/adw-inline-view-switcher.d.ts +3 -2
  31. package/lib/types/elements/adw-layout-slot.d.ts +2 -1
  32. package/lib/types/elements/adw-multi-layout-view.d.ts +2 -1
  33. package/lib/types/elements/adw-navigation-split-view.d.ts +2 -1
  34. package/lib/types/elements/adw-navigation-view.d.ts +3 -2
  35. package/lib/types/elements/adw-overlay-split-view.d.ts +2 -1
  36. package/lib/types/elements/adw-preferences-dialog.d.ts +5 -4
  37. package/lib/types/elements/adw-preferences-group.d.ts +2 -1
  38. package/lib/types/elements/adw-preferences-row.d.ts +2 -1
  39. package/lib/types/elements/adw-shortcut-label.d.ts +2 -1
  40. package/lib/types/elements/adw-shortcuts-item.d.ts +2 -1
  41. package/lib/types/elements/adw-shortcuts-section.d.ts +2 -1
  42. package/lib/types/elements/adw-sidebar.d.ts +4 -3
  43. package/lib/types/elements/adw-spin-row.d.ts +2 -1
  44. package/lib/types/elements/adw-spinner.d.ts +2 -1
  45. package/lib/types/elements/adw-split-button.d.ts +2 -1
  46. package/lib/types/elements/adw-status-page.d.ts +2 -1
  47. package/lib/types/elements/adw-switch-row.d.ts +4 -1
  48. package/lib/types/elements/adw-tab-bar.d.ts +2 -1
  49. package/lib/types/elements/adw-tab-button.d.ts +2 -1
  50. package/lib/types/elements/adw-tab-overview.d.ts +2 -1
  51. package/lib/types/elements/adw-tab-view.d.ts +3 -2
  52. package/lib/types/elements/adw-toast-overlay.d.ts +10 -30
  53. package/lib/types/elements/adw-toggle-group.d.ts +3 -2
  54. package/lib/types/elements/adw-toolbar-view.d.ts +2 -1
  55. package/lib/types/elements/adw-view-stack.d.ts +3 -1
  56. package/lib/types/elements/adw-view-switcher-bar.d.ts +2 -1
  57. package/lib/types/elements/adw-view-switcher-sidebar.d.ts +2 -1
  58. package/lib/types/elements/adw-view-switcher.d.ts +3 -2
  59. package/lib/types/elements/adw-window-features.d.ts +8 -0
  60. package/lib/types/elements/adw-window-title.d.ts +2 -1
  61. package/lib/types/elements/adw-wrap-box.d.ts +2 -1
  62. package/lib/types/elements/checks.d.ts +16 -1
  63. package/lib/types/elements/gtk-action-bar.d.ts +2 -1
  64. package/lib/types/elements/gtk-application-window.d.ts +1 -4
  65. package/lib/types/elements/gtk-aspect-frame.d.ts +2 -1
  66. package/lib/types/elements/gtk-box.d.ts +5 -1
  67. package/lib/types/elements/gtk-button.d.ts +5 -7
  68. package/lib/types/elements/gtk-calendar.d.ts +2 -1
  69. package/lib/types/elements/gtk-center-box.d.ts +2 -1
  70. package/lib/types/elements/gtk-color-dialog-button.d.ts +2 -1
  71. package/lib/types/elements/gtk-drag-icon.d.ts +2 -1
  72. package/lib/types/elements/gtk-drawing-area.d.ts +2 -1
  73. package/lib/types/elements/gtk-drop-down.d.ts +2 -1
  74. package/lib/types/elements/gtk-editable-label.d.ts +2 -1
  75. package/lib/types/elements/gtk-emoji-chooser.d.ts +2 -0
  76. package/lib/types/elements/gtk-entry.d.ts +2 -1
  77. package/lib/types/elements/gtk-expander.d.ts +2 -1
  78. package/lib/types/elements/gtk-fixed.d.ts +2 -1
  79. package/lib/types/elements/gtk-flow-box-child.d.ts +2 -1
  80. package/lib/types/elements/gtk-flow-box.d.ts +2 -1
  81. package/lib/types/elements/gtk-font-dialog-button.d.ts +2 -1
  82. package/lib/types/elements/gtk-frame.d.ts +2 -1
  83. package/lib/types/elements/gtk-gl-area.d.ts +2 -1
  84. package/lib/types/elements/gtk-graphics-offload.d.ts +2 -1
  85. package/lib/types/elements/gtk-grid.d.ts +2 -1
  86. package/lib/types/elements/gtk-header-bar.d.ts +2 -1
  87. package/lib/types/elements/gtk-image.d.ts +5 -6
  88. package/lib/types/elements/gtk-inscription.d.ts +2 -1
  89. package/lib/types/elements/gtk-label.d.ts +10 -3
  90. package/lib/types/elements/gtk-level-bar.d.ts +2 -1
  91. package/lib/types/elements/gtk-list-box-row.d.ts +2 -1
  92. package/lib/types/elements/gtk-list-box.d.ts +2 -1
  93. package/lib/types/elements/gtk-list-view.d.ts +2 -1
  94. package/lib/types/elements/gtk-media-controls.d.ts +2 -1
  95. package/lib/types/elements/gtk-menu-button.d.ts +2 -1
  96. package/lib/types/elements/gtk-notebook.d.ts +2 -1
  97. package/lib/types/elements/gtk-overlay.d.ts +2 -1
  98. package/lib/types/elements/gtk-paned.d.ts +2 -1
  99. package/lib/types/elements/gtk-picture.d.ts +2 -1
  100. package/lib/types/elements/gtk-popover-bin.d.ts +2 -1
  101. package/lib/types/elements/gtk-popover-menu-bar.d.ts +2 -1
  102. package/lib/types/elements/gtk-popover-menu.d.ts +2 -0
  103. package/lib/types/elements/gtk-popover.d.ts +7 -1
  104. package/lib/types/elements/gtk-progress-bar.d.ts +2 -1
  105. package/lib/types/elements/gtk-revealer.d.ts +2 -1
  106. package/lib/types/elements/gtk-scale-button.d.ts +2 -1
  107. package/lib/types/elements/gtk-scale.d.ts +2 -1
  108. package/lib/types/elements/gtk-scrollbar.d.ts +2 -1
  109. package/lib/types/elements/gtk-scrolled-window.d.ts +2 -1
  110. package/lib/types/elements/gtk-search-bar.d.ts +2 -1
  111. package/lib/types/elements/gtk-separator.d.ts +2 -1
  112. package/lib/types/elements/gtk-spin-button.d.ts +2 -1
  113. package/lib/types/elements/gtk-spinner.d.ts +2 -1
  114. package/lib/types/elements/gtk-stack-page.d.ts +29 -0
  115. package/lib/types/elements/gtk-stack-sidebar.d.ts +2 -1
  116. package/lib/types/elements/gtk-stack-switcher.d.ts +2 -1
  117. package/lib/types/elements/gtk-stack.d.ts +13 -1
  118. package/lib/types/elements/gtk-switch.d.ts +2 -1
  119. package/lib/types/elements/gtk-text-view.d.ts +2 -1
  120. package/lib/types/elements/gtk-text.d.ts +2 -1
  121. package/lib/types/elements/gtk-tree-expander.d.ts +2 -1
  122. package/lib/types/elements/gtk-video.d.ts +2 -1
  123. package/lib/types/elements/gtk-viewport.d.ts +2 -1
  124. package/lib/types/elements/gtk-window-controls.d.ts +2 -1
  125. package/lib/types/elements/gtk-window-handle.d.ts +2 -1
  126. package/lib/types/elements/gtk-window.d.ts +18 -2
  127. package/lib/types/gobject-elements.d.ts +15 -0
  128. package/lib/types/gtksource/gtk-source-view.d.ts +2 -1
  129. package/lib/types/{icon-registry.spec.d.ts → icon-masks.spec.d.ts} +1 -1
  130. package/lib/types/icon-theme.d.ts +15 -35
  131. package/lib/types/index.d.ts +3 -4
  132. package/lib/types/learn6502-window.spec.d.ts +1 -0
  133. package/lib/types/namespace/adw.d.ts +1 -1
  134. package/lib/types/namespace/gdk.d.ts +1 -0
  135. package/lib/types/namespace/gio.d.ts +1 -0
  136. package/lib/types/namespace/glib.d.ts +2 -1
  137. package/lib/types/namespace/gtk.d.ts +2 -0
  138. package/lib/types/shared-tree-builder.d.ts +31 -0
  139. package/lib/types/signals.d.ts +5 -1
  140. package/lib/types/source-view/adw-source-view.d.ts +2 -1
  141. package/lib/types/styles.generated.d.ts +1 -1
  142. package/lib/types/widget-element.d.ts +25 -0
  143. package/lib/types/widget-map.spec.d.ts +1 -0
  144. package/lib/types/widget-mapping.d.ts +7 -0
  145. package/lib/types/widget-visible.spec.d.ts +1 -0
  146. package/lib/types/window-maximize.spec.d.ts +1 -0
  147. package/package.json +13 -12
  148. package/scss/_about_dialog.scss +46 -1
  149. package/scss/_bin.scss +6 -3
  150. package/scss/_checks.scss +5 -2
  151. package/scss/_icon.scss +3 -4
  152. package/scss/_labels.scss +2 -2
  153. package/scss/_overlay.scss +11 -1
  154. package/scss/_overlay_split_view.scss +10 -0
  155. package/scss/_reset.scss +1 -1
  156. package/scss/_scrolled_window.scss +15 -0
  157. package/scss/_stack.scss +8 -2
  158. package/scss/_toast.scss +13 -3
  159. package/scss/_widget.scss +5 -1
  160. package/scss/_window.scss +16 -0
  161. package/src/accessible.ts +29 -0
  162. package/src/adw-about-dialog.spec.ts +81 -12
  163. package/src/adw-action-rows.spec.ts +2 -2
  164. package/src/adw-alert-dialog.spec.ts +71 -5
  165. package/src/adw-bin.spec.ts +4 -3
  166. package/src/adw-button-content.spec.ts +1 -1
  167. package/src/adw-carousel.spec.ts +49 -1
  168. package/src/adw-header-bar.spec.ts +18 -0
  169. package/src/adw-toast-overlay.spec.ts +68 -24
  170. package/src/application.spec.ts +44 -0
  171. package/src/application.ts +13 -18
  172. package/src/capabilities.mjs +2 -3
  173. package/src/checks.spec.ts +51 -1
  174. package/src/child-slot.spec.ts +71 -0
  175. package/src/compute-expand.spec.ts +186 -0
  176. package/src/compute-expand.ts +134 -0
  177. package/src/construct-vectors.spec.ts +97 -7
  178. package/src/container-fill.spec.ts +70 -0
  179. package/src/elements/adw-about-dialog.ts +152 -9
  180. package/src/elements/adw-action-row.ts +2 -1
  181. package/src/elements/adw-alert-dialog.ts +177 -46
  182. package/src/elements/adw-application-window.ts +0 -3
  183. package/src/elements/adw-avatar.ts +2 -1
  184. package/src/elements/adw-banner.ts +2 -1
  185. package/src/elements/adw-bin.ts +2 -1
  186. package/src/elements/adw-bottom-sheet.ts +5 -4
  187. package/src/elements/adw-breakpoint-bin.ts +5 -1
  188. package/src/elements/adw-button-content.ts +2 -1
  189. package/src/elements/adw-button-row.ts +2 -1
  190. package/src/elements/adw-card.ts +2 -1
  191. package/src/elements/adw-carousel.ts +62 -3
  192. package/src/elements/adw-clamp-scrollable.ts +2 -1
  193. package/src/elements/adw-clamp.ts +2 -1
  194. package/src/elements/adw-combo-row.ts +15 -1
  195. package/src/elements/adw-data-grid.ts +2 -1
  196. package/src/elements/adw-dialog.ts +5 -2
  197. package/src/elements/adw-entry-row.ts +2 -1
  198. package/src/elements/adw-expander-row.ts +2 -1
  199. package/src/elements/adw-header-bar.ts +6 -1
  200. package/src/elements/adw-inline-view-switcher.ts +3 -2
  201. package/src/elements/adw-layout-slot.ts +2 -1
  202. package/src/elements/adw-multi-layout-view.ts +2 -1
  203. package/src/elements/adw-navigation-split-view.ts +2 -1
  204. package/src/elements/adw-navigation-view.ts +3 -2
  205. package/src/elements/adw-overlay-split-view.ts +2 -1
  206. package/src/elements/adw-preferences-dialog.ts +6 -4
  207. package/src/elements/adw-preferences-group.ts +2 -1
  208. package/src/elements/adw-preferences-row.ts +2 -1
  209. package/src/elements/adw-shortcut-label.ts +2 -1
  210. package/src/elements/adw-shortcuts-item.ts +2 -1
  211. package/src/elements/adw-shortcuts-section.ts +2 -1
  212. package/src/elements/adw-sidebar.ts +4 -3
  213. package/src/elements/adw-spin-row.ts +2 -1
  214. package/src/elements/adw-spinner.ts +2 -1
  215. package/src/elements/adw-split-button.ts +2 -1
  216. package/src/elements/adw-status-page.ts +2 -1
  217. package/src/elements/adw-switch-row.ts +10 -1
  218. package/src/elements/adw-tab-bar.ts +2 -1
  219. package/src/elements/adw-tab-button.ts +2 -1
  220. package/src/elements/adw-tab-overview.ts +2 -1
  221. package/src/elements/adw-tab-view.ts +3 -2
  222. package/src/elements/adw-toast-overlay.ts +37 -70
  223. package/src/elements/adw-toggle-group.ts +3 -2
  224. package/src/elements/adw-toolbar-view.ts +2 -1
  225. package/src/elements/adw-view-stack.ts +39 -1
  226. package/src/elements/adw-view-switcher-bar.ts +2 -1
  227. package/src/elements/adw-view-switcher-sidebar.ts +2 -1
  228. package/src/elements/adw-view-switcher.ts +3 -2
  229. package/src/elements/adw-window-features.ts +14 -2
  230. package/src/elements/adw-window-title.ts +2 -1
  231. package/src/elements/adw-wrap-box.ts +2 -1
  232. package/src/elements/checks.ts +85 -6
  233. package/src/elements/gtk-action-bar.ts +2 -1
  234. package/src/elements/gtk-application-window.ts +3 -8
  235. package/src/elements/gtk-aspect-frame.ts +2 -1
  236. package/src/elements/gtk-box.ts +56 -1
  237. package/src/elements/gtk-button.ts +10 -22
  238. package/src/elements/gtk-calendar.ts +2 -1
  239. package/src/elements/gtk-center-box.ts +2 -1
  240. package/src/elements/gtk-color-dialog-button.ts +2 -1
  241. package/src/elements/gtk-drag-icon.ts +6 -1
  242. package/src/elements/gtk-drawing-area.ts +2 -1
  243. package/src/elements/gtk-drop-down.ts +2 -1
  244. package/src/elements/gtk-editable-label.ts +2 -1
  245. package/src/elements/gtk-emoji-chooser.ts +5 -0
  246. package/src/elements/gtk-entry.ts +2 -1
  247. package/src/elements/gtk-expander.ts +2 -1
  248. package/src/elements/gtk-fixed.ts +2 -1
  249. package/src/elements/gtk-flow-box-child.ts +5 -2
  250. package/src/elements/gtk-flow-box.ts +2 -1
  251. package/src/elements/gtk-font-dialog-button.ts +2 -1
  252. package/src/elements/gtk-frame.ts +2 -1
  253. package/src/elements/gtk-gl-area.ts +2 -1
  254. package/src/elements/gtk-graphics-offload.ts +5 -2
  255. package/src/elements/gtk-grid.ts +2 -1
  256. package/src/elements/gtk-header-bar.ts +2 -1
  257. package/src/elements/gtk-image.ts +14 -15
  258. package/src/elements/gtk-inscription.ts +2 -1
  259. package/src/elements/gtk-label.ts +12 -5
  260. package/src/elements/gtk-level-bar.ts +2 -1
  261. package/src/elements/gtk-list-box-row.ts +5 -2
  262. package/src/elements/gtk-list-box.ts +2 -1
  263. package/src/elements/gtk-list-view.ts +2 -1
  264. package/src/elements/gtk-media-controls.ts +2 -1
  265. package/src/elements/gtk-menu-button.ts +2 -1
  266. package/src/elements/gtk-notebook.ts +2 -1
  267. package/src/elements/gtk-overlay.ts +7 -5
  268. package/src/elements/gtk-paned.ts +9 -2
  269. package/src/elements/gtk-picture.ts +2 -1
  270. package/src/elements/gtk-popover-bin.ts +5 -1
  271. package/src/elements/gtk-popover-menu-bar.ts +2 -1
  272. package/src/elements/gtk-popover-menu.ts +5 -0
  273. package/src/elements/gtk-popover.ts +14 -1
  274. package/src/elements/gtk-progress-bar.ts +2 -1
  275. package/src/elements/gtk-revealer.ts +2 -1
  276. package/src/elements/gtk-scale-button.ts +2 -1
  277. package/src/elements/gtk-scale.ts +2 -1
  278. package/src/elements/gtk-scrollbar.ts +2 -1
  279. package/src/elements/gtk-scrolled-window.ts +8 -5
  280. package/src/elements/gtk-search-bar.ts +7 -6
  281. package/src/elements/gtk-separator.ts +2 -1
  282. package/src/elements/gtk-spin-button.ts +2 -1
  283. package/src/elements/gtk-spinner.ts +2 -1
  284. package/src/elements/gtk-stack-page.ts +112 -0
  285. package/src/elements/gtk-stack-sidebar.ts +2 -1
  286. package/src/elements/gtk-stack-switcher.ts +2 -1
  287. package/src/elements/gtk-stack.ts +52 -6
  288. package/src/elements/gtk-switch.ts +2 -1
  289. package/src/elements/gtk-text-view.ts +2 -1
  290. package/src/elements/gtk-text.ts +2 -1
  291. package/src/elements/gtk-tree-expander.ts +5 -1
  292. package/src/elements/gtk-video.ts +2 -1
  293. package/src/elements/gtk-viewport.ts +6 -1
  294. package/src/elements/gtk-window-controls.ts +2 -1
  295. package/src/elements/gtk-window-handle.ts +6 -1
  296. package/src/elements/gtk-window.ts +57 -7
  297. package/src/gio.spec.ts +13 -3
  298. package/src/glib.spec.ts +9 -0
  299. package/src/gobject-elements.ts +44 -2
  300. package/src/gtk-label.spec.ts +39 -0
  301. package/src/gtk-scrolled-window.spec.ts +6 -6
  302. package/src/gtk-stack.spec.ts +170 -0
  303. package/src/gtk-value-doors.spec.ts +19 -0
  304. package/src/gtk-window.spec.ts +2 -2
  305. package/src/gtksource/gtk-source-view.ts +2 -1
  306. package/src/{icon-registry.spec.ts → icon-masks.spec.ts} +4 -100
  307. package/src/icon-theme.spec.ts +69 -124
  308. package/src/icon-theme.ts +29 -119
  309. package/src/index.ts +5 -9
  310. package/src/keyboard-operable.spec.ts +3 -3
  311. package/src/learn6502-window.spec.ts +113 -0
  312. package/src/namespace/adw.ts +1 -1
  313. package/src/namespace/gdk.ts +1 -0
  314. package/src/namespace/gio.ts +8 -0
  315. package/src/namespace/glib.ts +4 -0
  316. package/src/namespace/gtk.ts +2 -0
  317. package/src/shared-tree-builder.ts +131 -13
  318. package/src/shared-trees.spec.ts +15 -1
  319. package/src/signals.ts +11 -2
  320. package/src/slotted-children.spec.ts +24 -0
  321. package/src/slotted-children.ts +18 -2
  322. package/src/source-view/adw-source-view.ts +2 -1
  323. package/src/split-button.spec.ts +1 -1
  324. package/src/style-manager.spec.ts +13 -0
  325. package/src/style-manager.ts +6 -0
  326. package/src/styles.generated.ts +1 -1
  327. package/src/test.browser.mts +16 -2
  328. package/src/value-lists.spec.ts +3 -3
  329. package/src/widget-element.ts +75 -0
  330. package/src/widget-map.spec.ts +116 -0
  331. package/src/widget-mapping.ts +100 -0
  332. package/src/widget-visible.spec.ts +148 -0
  333. package/src/window-maximize.spec.ts +93 -0
  334. package/lib/types/icon-registry.d.ts +0 -37
  335. package/src/icon-registry.ts +0 -163
@@ -1,5 +1,6 @@
1
1
  import { type BoxOrientation } from '@gjsify/adwaita-core';
2
- export declare class GtkGrid extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkGrid extends WidgetElement {
3
4
  static get observedAttributes(): string[];
4
5
  /** `Gtk.Grid:column-spacing` — the gap between two consecutive columns. Defaults to 0. */
5
6
  get columnSpacing(): number;
@@ -1,5 +1,6 @@
1
1
  import './gtk-window-controls.js';
2
- export declare class GtkHeaderBar extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkHeaderBar extends WidgetElement {
3
4
  private _initialized;
4
5
  private _handle;
5
6
  private _box;
@@ -1,7 +1,6 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /**
2
- * The generated mask-class prefix — the one place the `--` spelling appears. `icon-registry`
3
- * builds the same class for a runtime registration and imports it from here rather than
4
- * spelling it twice.
3
+ * The generated mask-class prefix — the one place the `--` spelling appears.
5
4
  */
6
5
  export declare const MASK_CLASS_PREFIX = "adw-icon--";
7
6
  /**
@@ -16,15 +15,15 @@ export declare const MISSING_ICON_NAME = "image-missing";
16
15
  * as "a mask is applied", and a colour icon has none.
17
16
  */
18
17
  export declare const COLOR_ICON_CLASS = "adw-icon-color";
19
- export declare class GtkImage extends HTMLElement {
18
+ export declare class GtkImage extends WidgetElement {
20
19
  static get observedAttributes(): string[];
21
20
  /** The declared symbolic name, `-symbolic` suffix optional. */
22
21
  get iconName(): string;
23
22
  set iconName(value: string | null);
24
23
  /**
25
24
  * The name the SYMBOLIC lookup works with — `''` when the icon-name is absent, empty,
26
- * or not usable as one CSS token. A registered colour icon can still draw for a name
27
- * that answers `''` here (`org.gnome.Builder`); whether a name draws anything but
25
+ * or not usable as one CSS token. A resource file can still draw for a name that
26
+ * answers `''` here (`org.gnome.Builder`); whether a name draws anything but
28
27
  * `image-missing` is `isIconAvailable`'s question.
29
28
  *
30
29
  * `''` does NOT mean the box draws nothing: an unusable name that was given still
@@ -1,4 +1,5 @@
1
1
  import { type LabelWrapMode } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `GtkInscriptionOverflow`, in enum order (gtkinscription.h:44-48). */
3
4
  export declare const INSCRIPTION_OVERFLOW_MODES: readonly ["clip", "ellipsize-start", "ellipsize-middle", "ellipsize-end"];
4
5
  export type InscriptionOverflow = (typeof INSCRIPTION_OVERFLOW_MODES)[number];
@@ -15,7 +16,7 @@ export declare const DEFAULT_INSCRIPTION_WRAP_MODE: LabelWrapMode;
15
16
  export declare function normalizeInscriptionOverflow(value: unknown): InscriptionOverflow;
16
17
  /** `GtkInscription:wrap-mode` from its nick, with {@link DEFAULT_INSCRIPTION_WRAP_MODE}. */
17
18
  export declare function normalizeInscriptionWrapMode(value: unknown): LabelWrapMode;
18
- export declare class GtkInscription extends HTMLElement {
19
+ export declare class GtkInscription extends WidgetElement {
19
20
  private _initialized;
20
21
  static get observedAttributes(): string[];
21
22
  /** `GtkInscription:text` — the plain string to draw (gtkinscription.c:713-717). */
@@ -1,5 +1,6 @@
1
1
  import { type LabelEllipsizeMode, type LabelJustification, type LabelWrapMode } from '@gjsify/adwaita-core';
2
- export declare class GtkLabel extends HTMLElement {
2
+ import { WidgetElement } from '../widget-element.js';
3
+ export declare class GtkLabel extends WidgetElement {
3
4
  /**
4
5
  * The rendered text's own box — present while {@link wrap} is set (so it can be pinned
5
6
  * to its measured wrap width, see `_remeasure`) OR while {@link ellipsize} is not
@@ -110,9 +111,15 @@ export declare class GtkLabel extends HTMLElement {
110
111
  * here, not the narrower width GTK's Pango layout actually wrapped to. So this measures
111
112
  * instead, in two passes: first let {@link _wrapSpan} wrap at the FULL container width
112
113
  * (`width: ''`, the same collapse above, which is exactly the width GTK's own
113
- * allocation wraps against), then pin the span to its widest resulting line via
114
+ * allocation wraps against), then cap the span at its widest resulting line via
114
115
  * `Range.getClientRects()`, which gives the pseudo spacers real free space to split.
115
- * Approximate on purpose, and cheap: one synchronous reflow per render. The pinned
116
+ * A CAP, `max-width`, and never `width`: a pinned `width` is also the span's
117
+ * min-content, so the label could no longer shrink below the width it first wrapped
118
+ * at, and a card holding it in a narrower pane grew past the pane and was clipped.
119
+ * GtkLabel's wrapping minimum is its widest word (`gtk_label_measure`), which a capped
120
+ * flex item keeps as its min-content; the cap itself only resolves against a definite
121
+ * container, so the label's max-content stays its text on one line, GTK's natural.
122
+ * Approximate on purpose, and cheap: one synchronous reflow per render. The measured
116
123
  * width goes stale whenever the available width or the font changes, and a page does
117
124
  * both (a rotated phone, an opened sidebar, a web font arriving late), so
118
125
  * {@link connectedCallback} re-measures on each resize and once the fonts have loaded.
@@ -1,7 +1,8 @@
1
1
  import { type BoxOrientation } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `GtkLevelBarMode`, spelled as the GIR's enum nicks (:1004-1008). */
3
4
  type LevelBarMode = 'continuous' | 'discrete';
4
- export declare class GtkLevelBar extends HTMLElement {
5
+ export declare class GtkLevelBar extends WidgetElement {
5
6
  private _trough;
6
7
  private _initialized;
7
8
  /** Offset name → value, kept sorted ascending exactly as the C's `GList` is. */
@@ -1,4 +1,5 @@
1
- export declare class GtkListBoxRow extends HTMLElement {
1
+ import { WidgetElement } from '../widget-element.js';
2
+ export declare class GtkListBoxRow extends WidgetElement {
2
3
  private _contentsEl;
3
4
  private _activation?;
4
5
  private _initialized;
@@ -1,11 +1,12 @@
1
1
  import { type AdwBoxSelectionMode } from '@gjsify/adwaita-core';
2
2
  import type { GtkListBoxRow } from './gtk-list-box-row.js';
3
3
  import './gtk-list-box-row.js';
4
+ import { WidgetElement } from '../widget-element.js';
4
5
  /** `GtkListTabBehavior`'s nicks — `cell` behaves as `item` outside a cell-based box. */
5
6
  export type GtkListTabBehavior = 'all' | 'item' | 'cell';
6
7
  /** An unknown nick is `all`, the ParamSpec's default (gtklistbox.c:574-578). */
7
8
  export declare function normalizeListTabBehavior(raw: string | null | undefined): GtkListTabBehavior;
8
- export declare class GtkListBox extends HTMLElement {
9
+ export declare class GtkListBox extends WidgetElement {
9
10
  private _rows;
10
11
  private _selection;
11
12
  /** `box->selected_row`, `-1` for the C's NULL. */
@@ -1,9 +1,10 @@
1
1
  import { ListViewState, type AdwComboOption, type AdwListItemFactory, type AdwListModelInput, type AdwListSelectionMode, type BoxOrientation } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** `GtkListTabBehavior`'s nicks — `cell` behaves as `item` outside a cell-based view. */
3
4
  export type GtkListTabBehavior = 'all' | 'item' | 'cell';
4
5
  /** An unknown nick is `all`, the ParamSpec's default (gtklistview.c:965-969). */
5
6
  export declare function normalizeListTabBehavior(raw: string | null | undefined): GtkListTabBehavior;
6
- export declare class GtkListView extends HTMLElement {
7
+ export declare class GtkListView extends WidgetElement {
7
8
  protected _listEl: HTMLDivElement;
8
9
  protected _rows: HTMLElement[];
9
10
  /** The model + selection machine all three views share (ADR 0004, ADR 0089). */
@@ -1,3 +1,4 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /**
2
3
  * The four `audio-volume-*` names `GtkVolumeButton` derives from a 0…1 level, one constant
3
4
  * each rather than an array of them, in the ORDER `icons_symbolic` holds them
@@ -53,7 +54,7 @@ export declare function volumeIconFor(volume: number): string;
53
54
  * as it is not in the C — see above.
54
55
  */
55
56
  export declare function mediaTimeToString(seconds: number, remaining?: boolean, forceHour?: boolean): string;
56
- export declare class GtkMediaControls extends HTMLElement {
57
+ export declare class GtkMediaControls extends WidgetElement {
57
58
  private _initialized;
58
59
  private _playButton;
59
60
  private _timeLabel;
@@ -1,6 +1,7 @@
1
1
  import type { AdwMenuActions, AdwMenuInput, AdwMenuModel, SplitButtonDirection } from '@gjsify/adwaita-core';
2
2
  import './gtk-popover.js';
3
- export declare class GtkMenuButton extends HTMLElement {
3
+ import { WidgetElement } from '../widget-element.js';
4
+ export declare class GtkMenuButton extends WidgetElement {
4
5
  private _buttonEl;
5
6
  private _popoverEl;
6
7
  private _model;
@@ -1,3 +1,4 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** `GtkPositionType`, spelled as the GIR's enum nicks. `top` is the property default. */
2
3
  export type NotebookTabPos = 'top' | 'bottom' | 'left' | 'right';
3
4
  /** The browser's page descriptor — the stand-in for the `GtkNotebookPage` GObject. */
@@ -19,7 +20,7 @@ export interface NotebookPageInfo {
19
20
  /** `GtkNotebookPage:child`. */
20
21
  child: HTMLElement;
21
22
  }
22
- export declare class GtkNotebook extends HTMLElement {
23
+ export declare class GtkNotebook extends WidgetElement {
23
24
  private _current;
24
25
  private _initialized;
25
26
  private _initializedChildren;
@@ -1,4 +1,5 @@
1
- export declare class GtkOverlay extends HTMLElement {
1
+ import { WidgetElement } from '../widget-element.js';
2
+ export declare class GtkOverlay extends WidgetElement {
2
3
  private _childEl;
3
4
  private _layerEl;
4
5
  private _initialized;
@@ -1,4 +1,5 @@
1
1
  import { type BoxOrientation } from '@gjsify/adwaita-core';
2
+ import { WidgetElement } from '../widget-element.js';
2
3
  /** The inputs of `gtk_paned_compute_position`, one per field it reads. */
3
4
  export interface PanedPositionInput {
4
5
  /** The paned's own allocation along the axis, minus the handle — its `allocation`. */
@@ -33,7 +34,7 @@ export interface PanedPosition {
33
34
  * of inputs can hold.
34
35
  */
35
36
  export declare function computePanedPosition(input: PanedPositionInput): PanedPosition;
36
- export declare class GtkPaned extends HTMLElement {
37
+ export declare class GtkPaned extends WidgetElement {
37
38
  private _startEl;
38
39
  private _handleEl;
39
40
  private _endEl;
@@ -1,3 +1,4 @@
1
+ import { WidgetElement } from '../widget-element.js';
1
2
  /** `GtkContentFit`, in enum order — the four nicks the GIR and CSS share. */
2
3
  export declare const PICTURE_CONTENT_FIT_MODES: readonly ["fill", "contain", "cover", "scale-down"];
3
4
  export type PictureContentFit = (typeof PICTURE_CONTENT_FIT_MODES)[number];
@@ -9,7 +10,7 @@ export declare const DEFAULT_PICTURE_CONTENT_FIT: PictureContentFit;
9
10
  * distort every picture a page writes.
10
11
  */
11
12
  export declare function normalizePictureContentFit(value: unknown): PictureContentFit;
12
- export declare class GtkPicture extends HTMLElement {
13
+ export declare class GtkPicture extends WidgetElement {
13
14
  private _initialized;
14
15
  static get observedAttributes(): string[];
15
16
  /**
@@ -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;
@@ -38,6 +38,8 @@ export declare class GtkPopoverMenu extends GtkPopover {
38
38
  */
39
39
  get visibleSubmenu(): string;
40
40
  set visibleSubmenu(value: string);
41
+ /** The menu's own stack is the child (gtkpopovermenu.c `gtk_popover_menu_init`). */
42
+ protected takesChild(): boolean;
41
43
  connectedCallback(): void;
42
44
  attributeChangedCallback(name?: string, previous?: string | null, value?: string | null): void;
43
45
  /** `gtk_popover_menu_open_submenu` — switch to the named page. */
@@ -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;
@@ -67,6 +68,11 @@ export declare class GtkPopover extends HTMLElement {
67
68
  /** Subscribe to open-state changes. Returns an unsubscribe function. */
68
69
  subscribe(listener: (open: boolean) => void): () => void;
69
70
  connectedCallback(): void;
71
+ /**
72
+ * Whether `Gtk.Popover:child` is the author's to set. A subclass that builds its own
73
+ * content (GtkPopoverMenu, GtkEmojiChooser) sets the child itself, as their C does.
74
+ */
75
+ protected takesChild(): boolean;
70
76
  private _buildOnce;
71
77
  disconnectedCallback(): void;
72
78
  /**
@@ -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). */
@@ -0,0 +1,29 @@
1
+ import { WidgetElement } from '../widget-element.js';
2
+ /** The attributes a record hands to its child on adoption — `GtkStackPage`'s string/boolean properties. */
3
+ export declare const STACK_PAGE_ATTRIBUTES: readonly ["name", "title", "icon-name", "needs-attention", "use-underline"];
4
+ export declare class GtkStackPage extends WidgetElement {
5
+ static get observedAttributes(): ("title" | "name" | "icon-name" | "use-underline" | "needs-attention")[];
6
+ /** `GtkStackPage:name` — what `visible-child-name` selects by. */
7
+ get name(): string;
8
+ set name(value: string | null);
9
+ /** `GtkStackPage:icon-name`. */
10
+ get iconName(): string | null;
11
+ set iconName(value: string | null);
12
+ /** `GtkStackPage:needs-attention`. */
13
+ get needsAttention(): boolean;
14
+ set needsAttention(value: boolean);
15
+ /** `GtkStackPage:use-underline`. */
16
+ get useUnderline(): boolean;
17
+ set useUnderline(value: boolean);
18
+ /** `GtkStackPage:visible` — `hidden`, as on the child the stack reads it from. */
19
+ get visible(): boolean;
20
+ set visible(value: boolean);
21
+ /** `GtkStackPage:child` — the element the stack shows for this page, while not yet adopted. */
22
+ get child(): HTMLElement | null;
23
+ connectedCallback(): void;
24
+ }
25
+ /**
26
+ * The one element a record holds: its `slot="child"` child or its only element child. A record
27
+ * with none, or with more than one, is refused by name — GtkStackPage has exactly one `child`.
28
+ */
29
+ export declare function pageChildOf(page: HTMLElement): HTMLElement | null;
@@ -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`. */
@@ -118,7 +119,18 @@ export declare class GtkStack extends HTMLElement {
118
119
  private _page;
119
120
  /** `set_visible_child`'s "pick first visible" scan (gtkstack.c:1437-1450). */
120
121
  private _firstVisible;
122
+ /**
123
+ * A `<gtk-stack-page>` record, adopted: its child takes the record's place and its properties
124
+ * as the attributes this element reads, the way `<adw-view-stack>` adopts a declared page.
125
+ * Any other child is already the page and is handed back as it is.
126
+ */
127
+ private _adopt;
121
128
  private _initChild;
129
+ /**
130
+ * The observer watches the subtree, so an attribute record can come from anything below a
131
+ * page; only a direct child is a page of THIS stack (a nested stack's pages are its own).
132
+ */
133
+ private _isPage;
122
134
  private _onChildMutations;
123
135
  /** C's NULL page name is an ABSENT attribute, not the empty string (gtkstack.c:2216). */
124
136
  private _nameOrNull;
@@ -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
  /**
@@ -1,7 +1,9 @@
1
+ import { type GtkApplication } from '../application.js';
1
2
  import type { DispatchedSignals } from '../signals.js';
2
3
  import { type AdwSlot } from '../slotted-children.js';
3
4
  import './gtk-window-controls.js';
4
- export declare class GtkWindow extends HTMLElement {
5
+ import { WidgetElement } from '../widget-element.js';
6
+ export declare class GtkWindow extends WidgetElement {
5
7
  private _initialized;
6
8
  /** The `titlebar` strip — `protected` so a subclass can place its own strips around it. */
7
9
  protected _titlebar: HTMLDivElement;
@@ -26,6 +28,10 @@ export declare class GtkWindow extends HTMLElement {
26
28
  * A `close-request` handler that returns true is `preventDefault()`.
27
29
  */
28
30
  static readonly signals: DispatchedSignals;
31
+ /** `Gtk.Window:application`: setting it is `add_window` (ADR 0098), set by `defineWindowApplication`. */
32
+ application: GtkApplication | null;
33
+ get_application: () => GtkApplication | null;
34
+ set_application: (application: GtkApplication | null) => void;
29
35
  /** `GObject.Object.connect`: installed per instance by `installElementApi`; refuses an undeclared signal. */
30
36
  connect: (signal: string, handler: (emitter: this, ...args: any[]) => unknown) => number;
31
37
  /** `GObject.Object.disconnect`: throws for an id that is not connected. */
@@ -55,6 +61,9 @@ export declare class GtkWindow extends HTMLElement {
55
61
  /** `Gtk.Window:maximized` — square corners and the restore glyph. */
56
62
  get maximized(): boolean;
57
63
  set maximized(value: boolean);
64
+ /** `Gtk.Window:fullscreened` — square corners, and the frame fills its containing block. */
65
+ get fullscreened(): boolean;
66
+ set fullscreened(value: boolean);
58
67
  /** `Gtk.Window:resizable` — whether the maximize button may appear. */
59
68
  get resizable(): boolean;
60
69
  set resizable(value: boolean);
@@ -112,7 +121,8 @@ export declare class GtkWindow extends HTMLElement {
112
121
  private _render;
113
122
  /**
114
123
  * The frame's box from `default-width` / `default-height`; an absent one clears it. A subclass
115
- * with a size request of its own (`Adw.Window`'s 360×200) replaces this.
124
+ * with a size request of its own (`Adw.Window`'s 360×200) replaces this. A maximized or
125
+ * fullscreened frame carries no inline size: the skin fills its containing block.
116
126
  */
117
127
  protected renderFrameSize(): void;
118
128
  /**
@@ -170,4 +180,10 @@ export declare class GtkWindow extends HTMLElement {
170
180
  maximize(): void;
171
181
  /** `gtk_window_unmaximize`, with the same caveat as {@link maximize}. */
172
182
  unmaximize(): void;
183
+ /** `gtk_window_is_fullscreen`: the FRAME's state, like {@link is_maximized}. */
184
+ is_fullscreen(): boolean;
185
+ /** `gtk_window_fullscreen`; asynchronous in GTK, so the property is written directly. */
186
+ fullscreen(): void;
187
+ /** `gtk_window_unfullscreen`, with the same caveat as {@link fullscreen}. */
188
+ unfullscreen(): void;
173
189
  }