@gjsify/adwaita-web 0.54.0 → 0.56.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.
Files changed (479) hide show
  1. package/README.md +8 -0
  2. package/dist/adwaita-web.css +8146 -3011
  3. package/dist/adwaita-web.css.map +1 -1
  4. package/lib/types/adw-application-window.spec.d.ts +1 -0
  5. package/lib/types/adw-bin.spec.d.ts +1 -0
  6. package/lib/types/adw-breakpoint-bin.spec.d.ts +1 -0
  7. package/lib/types/adw-clamp-scrollable.spec.d.ts +1 -0
  8. package/lib/types/adw-multi-layout-view.spec.d.ts +1 -0
  9. package/lib/types/adw-preferences-row.spec.d.ts +1 -0
  10. package/lib/types/adw-shortcuts.spec.d.ts +1 -0
  11. package/lib/types/adw-status-page.spec.d.ts +1 -0
  12. package/lib/types/adw-tab-bar.spec.d.ts +1 -0
  13. package/lib/types/adw-tab-button.spec.d.ts +1 -0
  14. package/lib/types/adw-tab-overview.spec.d.ts +1 -0
  15. package/lib/types/adw-view-switcher-sidebar.spec.d.ts +1 -0
  16. package/lib/types/adw-window.spec.d.ts +1 -0
  17. package/lib/types/attributes.d.ts +19 -0
  18. package/lib/types/breakpoints.d.ts +14 -3
  19. package/lib/types/construct-vectors.spec.d.ts +1 -0
  20. package/lib/types/elements/adw-action-row.d.ts +4 -0
  21. package/lib/types/elements/adw-application-window.d.ts +27 -0
  22. package/lib/types/elements/adw-bin.d.ts +17 -0
  23. package/lib/types/elements/adw-breakpoint-bin.d.ts +67 -0
  24. package/lib/types/elements/adw-clamp-scrollable.d.ts +38 -0
  25. package/lib/types/elements/adw-combo-row.d.ts +4 -0
  26. package/lib/types/elements/adw-dialog.d.ts +10 -0
  27. package/lib/types/elements/adw-entry-row.d.ts +6 -0
  28. package/lib/types/elements/adw-expander-row.d.ts +2 -0
  29. package/lib/types/elements/adw-header-bar.d.ts +6 -0
  30. package/lib/types/elements/adw-layout-slot.d.ts +19 -0
  31. package/lib/types/elements/adw-multi-layout-view.d.ts +101 -0
  32. package/lib/types/elements/adw-overlay-split-view.d.ts +13 -0
  33. package/lib/types/elements/adw-preferences-row.d.ts +31 -0
  34. package/lib/types/elements/adw-shortcuts-dialog.d.ts +13 -0
  35. package/lib/types/elements/adw-shortcuts-item.d.ts +36 -0
  36. package/lib/types/elements/adw-shortcuts-section.d.ts +14 -0
  37. package/lib/types/elements/adw-sidebar.d.ts +8 -2
  38. package/lib/types/elements/adw-spin-row.d.ts +6 -0
  39. package/lib/types/elements/adw-switch-row.d.ts +7 -0
  40. package/lib/types/elements/adw-tab-bar.d.ts +108 -0
  41. package/lib/types/elements/adw-tab-button.d.ts +32 -0
  42. package/lib/types/elements/adw-tab-overview.d.ts +199 -0
  43. package/lib/types/elements/adw-tab-view.d.ts +19 -23
  44. package/lib/types/elements/adw-toggle-group.d.ts +17 -0
  45. package/lib/types/elements/adw-view-switcher-sidebar.d.ts +84 -0
  46. package/lib/types/elements/adw-window.d.ts +40 -0
  47. package/lib/types/elements/gtk-about-dialog.d.ts +146 -0
  48. package/lib/types/elements/gtk-application-window.d.ts +34 -0
  49. package/lib/types/elements/gtk-aspect-frame.d.ts +27 -0
  50. package/lib/types/elements/gtk-button.d.ts +9 -0
  51. package/lib/types/elements/gtk-calendar.d.ts +159 -0
  52. package/lib/types/elements/gtk-center-box.d.ts +39 -0
  53. package/lib/types/elements/gtk-color-dialog-button.d.ts +69 -0
  54. package/lib/types/elements/gtk-column-view.d.ts +50 -0
  55. package/lib/types/elements/gtk-drag-icon.d.ts +78 -0
  56. package/lib/types/elements/gtk-drawing-area.d.ts +95 -0
  57. package/lib/types/elements/gtk-editable-label.d.ts +33 -0
  58. package/lib/types/elements/gtk-emoji-chooser.d.ts +84 -0
  59. package/lib/types/elements/gtk-entry.d.ts +20 -1
  60. package/lib/types/elements/gtk-expander.d.ts +49 -0
  61. package/lib/types/elements/gtk-fixed.d.ts +13 -0
  62. package/lib/types/elements/gtk-flow-box-child.d.ts +14 -0
  63. package/lib/types/elements/gtk-flow-box.d.ts +87 -0
  64. package/lib/types/elements/gtk-font-dialog-button.d.ts +83 -0
  65. package/lib/types/elements/gtk-frame.d.ts +24 -0
  66. package/lib/types/elements/gtk-gl-area.d.ts +136 -0
  67. package/lib/types/elements/gtk-graphics-offload.d.ts +24 -0
  68. package/lib/types/elements/gtk-grid-view.d.ts +39 -0
  69. package/lib/types/elements/gtk-grid.d.ts +27 -0
  70. package/lib/types/elements/gtk-header-bar.d.ts +60 -0
  71. package/lib/types/elements/gtk-inscription.d.ts +64 -0
  72. package/lib/types/elements/gtk-label.d.ts +3 -0
  73. package/lib/types/elements/gtk-level-bar.d.ts +59 -0
  74. package/lib/types/elements/gtk-link-button.d.ts +29 -0
  75. package/lib/types/elements/gtk-list-box-row.d.ts +54 -0
  76. package/lib/types/elements/gtk-list-box.d.ts +100 -0
  77. package/lib/types/elements/gtk-list-view.d.ts +73 -0
  78. package/lib/types/elements/gtk-media-controls.d.ts +142 -0
  79. package/lib/types/elements/gtk-notebook.d.ts +148 -0
  80. package/lib/types/elements/gtk-overlay.d.ts +22 -0
  81. package/lib/types/elements/gtk-page-setup-unix-dialog.d.ts +87 -0
  82. package/lib/types/elements/gtk-paned.d.ts +121 -0
  83. package/lib/types/elements/gtk-password-entry.d.ts +27 -0
  84. package/lib/types/elements/gtk-picture.d.ts +66 -0
  85. package/lib/types/elements/gtk-popover-bin.d.ts +82 -0
  86. package/lib/types/elements/gtk-popover-menu-bar.d.ts +66 -0
  87. package/lib/types/elements/gtk-popover-menu.d.ts +83 -0
  88. package/lib/types/elements/gtk-popover.d.ts +28 -3
  89. package/lib/types/elements/gtk-print-unix-dialog.d.ts +167 -0
  90. package/lib/types/elements/gtk-revealer.d.ts +55 -0
  91. package/lib/types/elements/gtk-scale-button.d.ts +59 -0
  92. package/lib/types/elements/gtk-scale.d.ts +98 -0
  93. package/lib/types/elements/gtk-scrollbar.d.ts +124 -0
  94. package/lib/types/elements/gtk-scrolled-window.d.ts +129 -0
  95. package/lib/types/elements/gtk-search-bar.d.ts +39 -0
  96. package/lib/types/elements/gtk-search-entry.d.ts +27 -0
  97. package/lib/types/elements/gtk-separator.d.ts +10 -0
  98. package/lib/types/elements/gtk-spin-button.d.ts +94 -0
  99. package/lib/types/elements/gtk-spinner.d.ts +14 -0
  100. package/lib/types/elements/gtk-stack-sidebar.d.ts +43 -0
  101. package/lib/types/elements/gtk-stack-switcher.d.ts +58 -0
  102. package/lib/types/elements/gtk-stack.d.ts +154 -0
  103. package/lib/types/elements/gtk-switch.d.ts +4 -1
  104. package/lib/types/elements/gtk-text-view.d.ts +62 -0
  105. package/lib/types/elements/gtk-text.d.ts +45 -0
  106. package/lib/types/elements/gtk-toggle-button.d.ts +45 -0
  107. package/lib/types/elements/gtk-tree-expander.d.ts +38 -0
  108. package/lib/types/elements/gtk-video.d.ts +97 -0
  109. package/lib/types/elements/gtk-viewport.d.ts +84 -0
  110. package/lib/types/elements/gtk-window-controls.d.ts +80 -0
  111. package/lib/types/elements/gtk-window-handle.d.ts +39 -0
  112. package/lib/types/elements/gtk-window.d.ts +103 -0
  113. package/lib/types/elements/justification.d.ts +2 -0
  114. package/lib/types/elements/popover-menu.d.ts +18 -0
  115. package/lib/types/elements/roving-focus.d.ts +29 -1
  116. package/lib/types/emoji-data.d.ts +38 -0
  117. package/lib/types/font-description.d.ts +96 -0
  118. package/lib/types/gtk-about-dialog.spec.d.ts +1 -0
  119. package/lib/types/gtk-action-bar.spec.d.ts +1 -0
  120. package/lib/types/gtk-application-window.spec.d.ts +1 -0
  121. package/lib/types/gtk-aspect-frame.spec.d.ts +1 -0
  122. package/lib/types/gtk-calendar.spec.d.ts +1 -0
  123. package/lib/types/gtk-center-box.spec.d.ts +1 -0
  124. package/lib/types/gtk-color-dialog-button.spec.d.ts +1 -0
  125. package/lib/types/gtk-column-view.spec.d.ts +1 -0
  126. package/lib/types/gtk-drag-icon.spec.d.ts +1 -0
  127. package/lib/types/gtk-drawing-area.spec.d.ts +1 -0
  128. package/lib/types/gtk-editable-label.spec.d.ts +1 -0
  129. package/lib/types/gtk-emoji-chooser.spec.d.ts +1 -0
  130. package/lib/types/gtk-expander.spec.d.ts +1 -0
  131. package/lib/types/gtk-fixed.spec.d.ts +1 -0
  132. package/lib/types/gtk-flow-box.spec.d.ts +1 -0
  133. package/lib/types/gtk-font-dialog-button.spec.d.ts +1 -0
  134. package/lib/types/gtk-frame.spec.d.ts +1 -0
  135. package/lib/types/gtk-gl-area.spec.d.ts +1 -0
  136. package/lib/types/gtk-graphics-offload.spec.d.ts +1 -0
  137. package/lib/types/gtk-grid-view.spec.d.ts +1 -0
  138. package/lib/types/gtk-grid.spec.d.ts +1 -0
  139. package/lib/types/gtk-header-bar.spec.d.ts +1 -0
  140. package/lib/types/gtk-inscription.spec.d.ts +1 -0
  141. package/lib/types/gtk-level-bar.spec.d.ts +1 -0
  142. package/lib/types/gtk-link-button.spec.d.ts +1 -0
  143. package/lib/types/gtk-list-box.spec.d.ts +1 -0
  144. package/lib/types/gtk-list-view.spec.d.ts +1 -0
  145. package/lib/types/gtk-media-controls.spec.d.ts +1 -0
  146. package/lib/types/gtk-notebook.spec.d.ts +1 -0
  147. package/lib/types/gtk-overlay.spec.d.ts +1 -0
  148. package/lib/types/gtk-paned.spec.d.ts +1 -0
  149. package/lib/types/gtk-password-entry.spec.d.ts +1 -0
  150. package/lib/types/gtk-picture.spec.d.ts +1 -0
  151. package/lib/types/gtk-popover-bin.spec.d.ts +1 -0
  152. package/lib/types/gtk-popover-menu-bar.spec.d.ts +1 -0
  153. package/lib/types/gtk-popover-menu.spec.d.ts +1 -0
  154. package/lib/types/gtk-popover-role.spec.d.ts +1 -0
  155. package/lib/types/gtk-popover.spec.d.ts +1 -0
  156. package/lib/types/gtk-print-dialogs.spec.d.ts +1 -0
  157. package/lib/types/gtk-revealer.spec.d.ts +1 -0
  158. package/lib/types/gtk-scale-button.spec.d.ts +1 -0
  159. package/lib/types/gtk-scale.spec.d.ts +1 -0
  160. package/lib/types/gtk-scrollbar.spec.d.ts +1 -0
  161. package/lib/types/gtk-scrolled-window.spec.d.ts +1 -0
  162. package/lib/types/gtk-search-bar.spec.d.ts +1 -0
  163. package/lib/types/gtk-search-entry.spec.d.ts +1 -0
  164. package/lib/types/gtk-separator.spec.d.ts +1 -0
  165. package/lib/types/gtk-spin-button.spec.d.ts +1 -0
  166. package/lib/types/gtk-spinner.spec.d.ts +1 -0
  167. package/lib/types/gtk-stack-sidebar.spec.d.ts +1 -0
  168. package/lib/types/gtk-stack-switcher.spec.d.ts +1 -0
  169. package/lib/types/gtk-stack.spec.d.ts +1 -0
  170. package/lib/types/gtk-text-view.spec.d.ts +1 -0
  171. package/lib/types/gtk-text.spec.d.ts +1 -0
  172. package/lib/types/gtk-toggle-button.spec.d.ts +1 -0
  173. package/lib/types/gtk-tree-expander.spec.d.ts +1 -0
  174. package/lib/types/gtk-video.spec.d.ts +1 -0
  175. package/lib/types/gtk-viewport.spec.d.ts +1 -0
  176. package/lib/types/gtk-window-controls.spec.d.ts +1 -0
  177. package/lib/types/gtk-window-handle.spec.d.ts +1 -0
  178. package/lib/types/gtk-window.spec.d.ts +1 -0
  179. package/lib/types/index.d.ts +4 -1
  180. package/lib/types/list-view-dom.d.ts +44 -0
  181. package/lib/types/namespace/adw.d.ts +12 -0
  182. package/lib/types/namespace/gtk.d.ts +61 -0
  183. package/lib/types/page-setup.d.ts +100 -0
  184. package/lib/types/row-line-clamp.d.ts +20 -0
  185. package/lib/types/row-tooltip.d.ts +8 -0
  186. package/lib/types/row-tooltip.spec.d.ts +1 -0
  187. package/lib/types/scroll-shading.d.ts +15 -1
  188. package/lib/types/shared-tree-builder.d.ts +75 -17
  189. package/lib/types/shared-tree-mount.spec.d.ts +1 -0
  190. package/lib/types/signals.d.ts +4 -0
  191. package/lib/types/styles.generated.d.ts +1 -1
  192. package/lib/types/tab-chip.d.ts +73 -0
  193. package/lib/types/template-classes.d.ts +11 -0
  194. package/lib/types/widget-size.spec.d.ts +1 -0
  195. package/package.json +12 -8
  196. package/scss/_action_row.scss +41 -17
  197. package/scss/_application_window.scss +26 -0
  198. package/scss/_aspect_frame.scss +25 -0
  199. package/scss/_bin.scss +26 -0
  200. package/scss/_button.scss +45 -0
  201. package/scss/_button_row.scss +5 -0
  202. package/scss/_calendar.scss +176 -0
  203. package/scss/_center_box.scss +25 -0
  204. package/scss/_checks.scss +6 -1
  205. package/scss/_clamp_scrollable.scss +28 -0
  206. package/scss/_color_button.scss +67 -0
  207. package/scss/_column_view.scss +126 -0
  208. package/scss/_drag_icon.scss +55 -0
  209. package/scss/_drawing.scss +85 -0
  210. package/scss/_emoji_chooser.scss +213 -0
  211. package/scss/_entry.scss +13 -5
  212. package/scss/_entry_row.scss +1 -1
  213. package/scss/_expander.scss +113 -0
  214. package/scss/_expander_row.scss +36 -3
  215. package/scss/_fixed.scss +29 -0
  216. package/scss/_flow_box.scss +94 -0
  217. package/scss/_font_button.scss +63 -0
  218. package/scss/_frame.scss +41 -0
  219. package/scss/_grid.scss +19 -0
  220. package/scss/_grid_view.scss +46 -0
  221. package/scss/_gtk_about_dialog.scss +186 -0
  222. package/scss/_headerbar.scss +134 -1
  223. package/scss/_icons.generated.scss +186 -0
  224. package/scss/_inscription.scss +125 -0
  225. package/scss/_level_bar.scss +190 -0
  226. package/scss/_link.scss +82 -0
  227. package/scss/_list_box.scss +88 -0
  228. package/scss/_list_view.scss +96 -0
  229. package/scss/_media_controls.scss +139 -0
  230. package/scss/_overlay.scss +68 -0
  231. package/scss/_paned.scss +130 -0
  232. package/scss/_password_entry.scss +83 -0
  233. package/scss/_picture.scss +80 -0
  234. package/scss/_popover_bin.scss +53 -0
  235. package/scss/_popover_menu_bar.scss +104 -0
  236. package/scss/_preferences_row.scss +60 -0
  237. package/scss/_print_dialogs.scss +328 -0
  238. package/scss/_reset.scss +21 -19
  239. package/scss/_revealer.scss +37 -0
  240. package/scss/_row.scss +36 -5
  241. package/scss/_scale.scss +298 -0
  242. package/scss/_scale_button.scss +167 -0
  243. package/scss/_scrollbar.scss +230 -0
  244. package/scss/_scrolled_window.scss +131 -0
  245. package/scss/_search_bar.scss +118 -0
  246. package/scss/_search_entry.scss +86 -0
  247. package/scss/_separator.scss +44 -0
  248. package/scss/_shortcuts_dialog.scss +100 -0
  249. package/scss/_spin_button.scss +172 -0
  250. package/scss/_spin_row.scss +56 -8
  251. package/scss/_spinner.scss +85 -4
  252. package/scss/_stack.scss +729 -0
  253. package/scss/_status_page.scss +1 -1
  254. package/scss/_switch.scss +13 -5
  255. package/scss/_switch_row.scss +10 -0
  256. package/scss/_tab_bar.scss +317 -0
  257. package/scss/_tab_button.scss +98 -0
  258. package/scss/_tab_overview.scss +483 -0
  259. package/scss/_text.scss +182 -0
  260. package/scss/_theme.scss +1 -1
  261. package/scss/_toggle_group.scss +28 -0
  262. package/scss/_tree_expander.scss +62 -0
  263. package/scss/_variables.scss +1 -1
  264. package/scss/_video.scss +146 -0
  265. package/scss/_view_switcher_sidebar.scss +112 -0
  266. package/scss/_viewport.scss +50 -0
  267. package/scss/_widget.scss +14 -3
  268. package/scss/_window.scss +131 -2
  269. package/scss/_window_handle.scss +20 -0
  270. package/scss/adwaita-skin.scss +109 -0
  271. package/src/adw-action-rows.spec.ts +331 -0
  272. package/src/adw-application-window.spec.ts +118 -0
  273. package/src/adw-bin.spec.ts +75 -0
  274. package/src/adw-breakpoint-bin.spec.ts +324 -0
  275. package/src/adw-clamp-scrollable.spec.ts +189 -0
  276. package/src/adw-header-bar.spec.ts +18 -0
  277. package/src/adw-multi-layout-view.spec.ts +243 -0
  278. package/src/adw-preferences-row.spec.ts +164 -0
  279. package/src/adw-row-state.spec.ts +142 -0
  280. package/src/adw-shortcuts.spec.ts +155 -0
  281. package/src/adw-status-page.spec.ts +124 -0
  282. package/src/adw-tab-bar.spec.ts +287 -0
  283. package/src/adw-tab-button.spec.ts +101 -0
  284. package/src/adw-tab-overview.spec.ts +443 -0
  285. package/src/adw-view-switcher-sidebar.spec.ts +281 -0
  286. package/src/adw-window.spec.ts +129 -0
  287. package/src/attributes.ts +52 -0
  288. package/src/breakpoints.ts +25 -8
  289. package/src/capabilities.d.mts +3 -0
  290. package/src/capabilities.mjs +21 -0
  291. package/src/connect-lifecycle.spec.ts +12 -0
  292. package/src/construct-vectors.spec.ts +175 -0
  293. package/src/elements/adw-action-row.ts +31 -2
  294. package/src/elements/adw-alert-dialog.ts +4 -1
  295. package/src/elements/adw-application-window.ts +154 -0
  296. package/src/elements/adw-bin.ts +101 -0
  297. package/src/elements/adw-breakpoint-bin.ts +287 -0
  298. package/src/elements/adw-button-row.ts +7 -1
  299. package/src/elements/adw-clamp-scrollable.ts +207 -0
  300. package/src/elements/adw-combo-row.ts +26 -1
  301. package/src/elements/adw-dialog.ts +19 -0
  302. package/src/elements/adw-entry-row.ts +22 -12
  303. package/src/elements/adw-expander-row.ts +34 -1
  304. package/src/elements/adw-header-bar.ts +18 -4
  305. package/src/elements/adw-layout-slot.ts +95 -0
  306. package/src/elements/adw-multi-layout-view.ts +326 -0
  307. package/src/elements/adw-overlay-split-view.ts +29 -6
  308. package/src/elements/adw-preferences-row.ts +153 -0
  309. package/src/elements/adw-shortcuts-dialog.ts +52 -0
  310. package/src/elements/adw-shortcuts-item.ts +171 -0
  311. package/src/elements/adw-shortcuts-section.ts +86 -0
  312. package/src/elements/adw-sidebar.ts +74 -7
  313. package/src/elements/adw-spin-row.ts +37 -2
  314. package/src/elements/adw-status-page.ts +10 -2
  315. package/src/elements/adw-switch-row.ts +53 -2
  316. package/src/elements/adw-tab-bar.ts +529 -0
  317. package/src/elements/adw-tab-button.ts +194 -0
  318. package/src/elements/adw-tab-overview.ts +1011 -0
  319. package/src/elements/adw-tab-view.ts +66 -145
  320. package/src/elements/adw-toggle-group.ts +138 -14
  321. package/src/elements/adw-view-stack.ts +18 -0
  322. package/src/elements/adw-view-switcher-sidebar.ts +332 -0
  323. package/src/elements/adw-window.ts +190 -11
  324. package/src/elements/checks.ts +35 -8
  325. package/src/elements/gtk-about-dialog.ts +811 -0
  326. package/src/elements/gtk-application-window.ts +108 -0
  327. package/src/elements/gtk-aspect-frame.ts +160 -0
  328. package/src/elements/gtk-button.ts +12 -0
  329. package/src/elements/gtk-calendar.ts +757 -0
  330. package/src/elements/gtk-center-box.ts +184 -0
  331. package/src/elements/gtk-color-dialog-button.ts +278 -0
  332. package/src/elements/gtk-column-view.ts +320 -0
  333. package/src/elements/gtk-drag-icon.ts +257 -0
  334. package/src/elements/gtk-drawing-area.ts +303 -0
  335. package/src/elements/gtk-editable-label.ts +204 -0
  336. package/src/elements/gtk-emoji-chooser.ts +542 -0
  337. package/src/elements/gtk-entry.ts +39 -5
  338. package/src/elements/gtk-expander.ts +301 -0
  339. package/src/elements/gtk-fixed.ts +99 -0
  340. package/src/elements/gtk-flow-box-child.ts +68 -0
  341. package/src/elements/gtk-flow-box.ts +480 -0
  342. package/src/elements/gtk-font-dialog-button.ts +432 -0
  343. package/src/elements/gtk-frame.ts +174 -0
  344. package/src/elements/gtk-gl-area.ts +476 -0
  345. package/src/elements/gtk-graphics-offload.ts +130 -0
  346. package/src/elements/gtk-grid-view.ts +168 -0
  347. package/src/elements/gtk-grid.ts +127 -0
  348. package/src/elements/gtk-header-bar.ts +273 -0
  349. package/src/elements/gtk-inscription.ts +387 -0
  350. package/src/elements/gtk-label.ts +19 -11
  351. package/src/elements/gtk-level-bar.ts +323 -0
  352. package/src/elements/gtk-link-button.ts +138 -0
  353. package/src/elements/gtk-list-box-row.ts +195 -0
  354. package/src/elements/gtk-list-box.ts +413 -0
  355. package/src/elements/gtk-list-view.ts +370 -0
  356. package/src/elements/gtk-media-controls.ts +509 -0
  357. package/src/elements/gtk-notebook.ts +664 -0
  358. package/src/elements/gtk-overlay.ts +149 -0
  359. package/src/elements/gtk-page-setup-unix-dialog.ts +420 -0
  360. package/src/elements/gtk-paned.ts +597 -0
  361. package/src/elements/gtk-password-entry.ts +170 -0
  362. package/src/elements/gtk-picture.ts +254 -0
  363. package/src/elements/gtk-popover-bin.ts +332 -0
  364. package/src/elements/gtk-popover-menu-bar.ts +355 -0
  365. package/src/elements/gtk-popover-menu.ts +339 -0
  366. package/src/elements/gtk-popover.ts +92 -10
  367. package/src/elements/gtk-print-unix-dialog.ts +989 -0
  368. package/src/elements/gtk-progress-bar.ts +24 -11
  369. package/src/elements/gtk-revealer.ts +406 -0
  370. package/src/elements/gtk-scale-button.ts +358 -0
  371. package/src/elements/gtk-scale.ts +492 -0
  372. package/src/elements/gtk-scrollbar.ts +528 -0
  373. package/src/elements/gtk-scrolled-window.ts +653 -0
  374. package/src/elements/gtk-search-bar.ts +200 -0
  375. package/src/elements/gtk-search-entry.ts +172 -0
  376. package/src/elements/gtk-separator.ts +52 -0
  377. package/src/elements/gtk-spin-button.ts +475 -0
  378. package/src/elements/gtk-spinner.ts +126 -0
  379. package/src/elements/gtk-stack-sidebar.ts +212 -0
  380. package/src/elements/gtk-stack-switcher.ts +279 -0
  381. package/src/elements/gtk-stack.ts +748 -0
  382. package/src/elements/gtk-switch.ts +52 -19
  383. package/src/elements/gtk-text-view.ts +290 -0
  384. package/src/elements/gtk-text.ts +219 -0
  385. package/src/elements/gtk-toggle-button.ts +239 -0
  386. package/src/elements/gtk-tree-expander.ts +243 -0
  387. package/src/elements/gtk-video.ts +423 -0
  388. package/src/elements/gtk-viewport.ts +277 -0
  389. package/src/elements/gtk-window-controls.ts +341 -0
  390. package/src/elements/gtk-window-handle.ts +221 -0
  391. package/src/elements/gtk-window.ts +372 -0
  392. package/src/elements/justification.ts +24 -0
  393. package/src/elements/popover-menu.ts +24 -0
  394. package/src/elements/roving-focus.ts +53 -21
  395. package/src/emoji-data.ts +577 -0
  396. package/src/entry-rows.spec.ts +31 -0
  397. package/src/font-description.ts +238 -0
  398. package/src/gtk-about-dialog.spec.ts +250 -0
  399. package/src/gtk-action-bar.spec.ts +89 -0
  400. package/src/gtk-application-window.spec.ts +107 -0
  401. package/src/gtk-aspect-frame.spec.ts +114 -0
  402. package/src/gtk-calendar.spec.ts +589 -0
  403. package/src/gtk-center-box.spec.ts +125 -0
  404. package/src/gtk-color-dialog-button.spec.ts +141 -0
  405. package/src/gtk-column-view.spec.ts +154 -0
  406. package/src/gtk-drag-icon.spec.ts +190 -0
  407. package/src/gtk-drawing-area.spec.ts +211 -0
  408. package/src/gtk-editable-label.spec.ts +190 -0
  409. package/src/gtk-emoji-chooser.spec.ts +173 -0
  410. package/src/gtk-entry.spec.ts +23 -0
  411. package/src/gtk-expander.spec.ts +170 -0
  412. package/src/gtk-fixed.spec.ts +97 -0
  413. package/src/gtk-flow-box.spec.ts +289 -0
  414. package/src/gtk-font-dialog-button.spec.ts +166 -0
  415. package/src/gtk-frame.spec.ts +119 -0
  416. package/src/gtk-gl-area.spec.ts +361 -0
  417. package/src/gtk-graphics-offload.spec.ts +119 -0
  418. package/src/gtk-grid-view.spec.ts +106 -0
  419. package/src/gtk-grid.spec.ts +122 -0
  420. package/src/gtk-header-bar.spec.ts +202 -0
  421. package/src/gtk-inscription.spec.ts +235 -0
  422. package/src/gtk-level-bar.spec.ts +199 -0
  423. package/src/gtk-link-button.spec.ts +117 -0
  424. package/src/gtk-list-box.spec.ts +422 -0
  425. package/src/gtk-list-view.spec.ts +203 -0
  426. package/src/gtk-media-controls.spec.ts +295 -0
  427. package/src/gtk-notebook.spec.ts +546 -0
  428. package/src/gtk-overlay.spec.ts +141 -0
  429. package/src/gtk-paned.spec.ts +267 -0
  430. package/src/gtk-password-entry.spec.ts +150 -0
  431. package/src/gtk-picture.spec.ts +172 -0
  432. package/src/gtk-popover-bin.spec.ts +229 -0
  433. package/src/gtk-popover-menu-bar.spec.ts +296 -0
  434. package/src/gtk-popover-menu.spec.ts +261 -0
  435. package/src/gtk-popover-role.spec.ts +138 -0
  436. package/src/gtk-popover.spec.ts +264 -0
  437. package/src/gtk-print-dialogs.spec.ts +251 -0
  438. package/src/gtk-revealer.spec.ts +164 -0
  439. package/src/gtk-scale-button.spec.ts +218 -0
  440. package/src/gtk-scale.spec.ts +213 -0
  441. package/src/gtk-scrollbar.spec.ts +244 -0
  442. package/src/gtk-scrolled-window.spec.ts +262 -0
  443. package/src/gtk-search-bar.spec.ts +179 -0
  444. package/src/gtk-search-entry.spec.ts +142 -0
  445. package/src/gtk-separator.spec.ts +74 -0
  446. package/src/gtk-spin-button.spec.ts +186 -0
  447. package/src/gtk-spinner.spec.ts +130 -0
  448. package/src/gtk-stack-sidebar.spec.ts +217 -0
  449. package/src/gtk-stack-switcher.spec.ts +249 -0
  450. package/src/gtk-stack.spec.ts +432 -0
  451. package/src/gtk-text-view.spec.ts +189 -0
  452. package/src/gtk-text.spec.ts +163 -0
  453. package/src/gtk-toggle-button.spec.ts +186 -0
  454. package/src/gtk-tree-expander.spec.ts +201 -0
  455. package/src/gtk-video.spec.ts +240 -0
  456. package/src/gtk-viewport.spec.ts +140 -0
  457. package/src/gtk-window-controls.spec.ts +232 -0
  458. package/src/gtk-window-handle.spec.ts +158 -0
  459. package/src/gtk-window.spec.ts +202 -0
  460. package/src/index.ts +9 -1
  461. package/src/keyboard-operable.spec.ts +77 -9
  462. package/src/list-view-dom.ts +121 -0
  463. package/src/namespace/adw.ts +12 -0
  464. package/src/namespace/gtk.ts +61 -0
  465. package/src/page-setup.ts +222 -0
  466. package/src/row-line-clamp.ts +74 -0
  467. package/src/row-tooltip.spec.ts +313 -0
  468. package/src/row-tooltip.ts +52 -0
  469. package/src/scroll-shading.ts +18 -1
  470. package/src/shared-tree-builder.ts +336 -41
  471. package/src/shared-tree-mount.spec.ts +130 -0
  472. package/src/shared-trees.spec.ts +15 -0
  473. package/src/signals.ts +15 -0
  474. package/src/style-classes.spec.ts +9 -8
  475. package/src/styles.generated.ts +1 -1
  476. package/src/tab-chip.ts +200 -0
  477. package/src/template-classes.ts +45 -0
  478. package/src/test.browser.mts +160 -0
  479. package/src/widget-size.spec.ts +117 -0
@@ -0,0 +1 @@
1
+ export declare const AdwApplicationWindowTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwBinTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwBreakpointBinTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwClampScrollableTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwMultiLayoutViewTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwPreferencesRowTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwShortcutsTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwStatusPageTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwTabBarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwTabButtonTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwTabOverviewTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwViewSwitcherSidebarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const AdwWindowTest: () => Promise<void>;
@@ -0,0 +1,19 @@
1
+ import { VALUE_BASED_BOOLEAN_ATTRS } from '@gjsify/adwaita-core/tags';
2
+ /** Re-export for consumers that need the list (e.g. `shared-tree-builder.ts`). */
3
+ export { VALUE_BASED_BOOLEAN_ATTRS };
4
+ /**
5
+ * Whether an attribute spells a boolean property, defaulting to `whenAbsent`.
6
+ *
7
+ * Absent is the property's default; present, the literal `"false"` is FALSE and anything
8
+ * else is TRUE.
9
+ */
10
+ export declare function booleanAttribute(value: string | null, whenAbsent: boolean): boolean;
11
+ /**
12
+ * Write a value-based boolean attribute (GTK property defaulting to TRUE).
13
+ *
14
+ * `true` → sets `attr="true"` (present, not "false", reads as true)
15
+ * `false` → sets `attr="false"` (present, reads as false)
16
+ * This avoids `toggleAttribute` which removes the attribute for `false`,
17
+ * causing value-based readers to fall back to the default (true).
18
+ */
19
+ export declare function writeBooleanAttribute(el: HTMLElement, attr: string, value: boolean): void;
@@ -1,12 +1,23 @@
1
1
  import { AdwBreakpoint } from '@gjsify/adwaita-core';
2
+ import type { BreakpointSize } from '@gjsify/adwaita-core';
2
3
  /**
3
- * Drive `breakpoints` from `element`'s own box, and return a dispose function.
4
+ * The SIZE SOURCE both adaptive shapes in this package share: a `ResizeObserver` on
5
+ * `element`, handing every delivery's BORDER box to `onSize`.
4
6
  *
5
- * `ResizeObserver` delivers an initial observation on `observe()`, so the breakpoints
6
- * settle on the correct state before first paint — no flash of the wrong layout, no
7
+ * Split out of {@link addBreakpoints} because a second consumer needs the box without
8
+ * the `AdwBreakpoint` state machine: `<adw-breakpoint-bin>` drives `BreakpointBinState`
9
+ * (core), which evaluates a LIST of breakpoints and answers with the writes to perform,
10
+ * so it cannot be handed one `AdwBreakpoint` per condition. Two readers of
11
+ * `borderBoxSize` would be two shapes of the fallback, and the fallback is the half that
12
+ * only matters on the engines that do not report `borderBoxSize` at all.
13
+ *
14
+ * `ResizeObserver` delivers an initial observation on `observe()`, so the caller
15
+ * settles on the correct state before first paint — no flash of the wrong layout, no
7
16
  * separate seeding pass. The size read is the BORDER box in CSS pixels, the browser's
8
17
  * counterpart to the `sp`/DIP units an Adwaita condition is written in.
9
18
  */
19
+ export declare function observeAdaptiveSize(element: Element, onSize: (size: BreakpointSize) => void): () => void;
20
+ /** Drive `breakpoints` from `element`'s own box, and return a dispose function. */
10
21
  export declare function addBreakpoints(element: Element, breakpoints: readonly AdwBreakpoint[]): () => void;
11
22
  /**
12
23
  * Wire a `breakpoint="<condition>"` attribute to a boolean setter, the browser equivalent
@@ -0,0 +1 @@
1
+ export declare const AdwConstructVectorsTest: () => Promise<void>;
@@ -3,6 +3,8 @@ export declare class AdwActionRow extends HTMLElement {
3
3
  private _subtitleEl;
4
4
  private _suffixEl;
5
5
  private _prefixEl;
6
+ /** The label column — kept for `tooltip-text`, which the browser reads off a PART. */
7
+ private _textEl;
6
8
  /** The headless labels + activatable-widget coupling (ADR 0004). */
7
9
  private readonly _state;
8
10
  /** Watches the activatable widget's `disabled`/`aria-disabled` — the live binding. */
@@ -46,4 +48,6 @@ export declare class AdwActionRow extends HTMLElement {
46
48
  /** Reflect the state's `activatable` back onto the attribute + class. */
47
49
  private _syncActivatable;
48
50
  private _render;
51
+ /** Apply CSS line-clamping based on title-lines/subtitle-lines attributes. */
52
+ private _applyLineClamping;
49
53
  }
@@ -0,0 +1,27 @@
1
+ import { type AdwMenuInput, type AdwMenuModel } from '@gjsify/adwaita-core';
2
+ import { AdwWindow } from './adw-window.js';
3
+ export declare class AdwApplicationWindow extends AdwWindow {
4
+ private _menubarEl;
5
+ private _model;
6
+ static get observedAttributes(): string[];
7
+ /** Whether this window shows the application's menubar (Gtk.ApplicationWindow:show-menubar). */
8
+ get showMenubar(): boolean;
9
+ set showMenubar(value: boolean);
10
+ /** The menubar's model — what a GtkApplication would own here. */
11
+ get menuModel(): AdwMenuModel;
12
+ set menuModel(value: AdwMenuInput);
13
+ /** The menubar strip, or null before the window is connected. */
14
+ get menubar(): HTMLDivElement | null;
15
+ connectedCallback(): void;
16
+ attributeChangedCallback(name: string): void;
17
+ /**
18
+ * The menubar, INSIDE the content area rather than beside it.
19
+ *
20
+ * `bindSlottedChildren` watches the host and moves every child it does not claim
21
+ * into the content area, so a sibling would be re-homed into it one tick later. The
22
+ * content area's own children are not watched, so prepending here is stable — and
23
+ * it is also where the bar belongs: above the toolbar view, inside the window box.
24
+ */
25
+ private _buildMenubar;
26
+ private _renderMenubar;
27
+ }
@@ -0,0 +1,17 @@
1
+ export declare class AdwBin extends HTMLElement {
2
+ private _observer;
3
+ /** `Adw.Bin:child` — the one child, or `null`. The last one appended is the one that stays. */
4
+ get child(): Element | null;
5
+ /** `adw_bin_set_child`: replace the current child, unparenting it. */
6
+ set child(value: Element | null);
7
+ connectedCallback(): void;
8
+ disconnectedCallback(): void;
9
+ /**
10
+ * `adw_bin_set_child` — the LAST child wins, and the one it replaces leaves.
11
+ *
12
+ * A removal, not a move: C unparents the child it replaces.
13
+ */
14
+ private _enforceSingleChild;
15
+ /** `adw_bin_set_child`, including its refusal of a child that already has a parent. */
16
+ setChild(value: Element | null): void;
17
+ }
@@ -0,0 +1,67 @@
1
+ export declare class AdwBreakpointBin extends HTMLElement {
2
+ /** The C's own structure: a list of breakpoints, and at most one picked. */
3
+ private _state;
4
+ private _dispose;
5
+ /**
6
+ * What the last binding applied, carried across every rebind.
7
+ *
8
+ * `BreakpointBinState.inherit` exists for exactly this and its docblock records the
9
+ * measurement: a browser element rebinds on every `connectedCallback`, and a bin that
10
+ * restarts at "none applied" reads the size that LEFT the old breakpoint's range as
11
+ * no change at all and leaves the child holding what the old bin wrote.
12
+ */
13
+ private _applied;
14
+ /** Registration is deferred to the first allocation; see `_observe`. */
15
+ private _pendingSync;
16
+ /**
17
+ * What each setter's target held when the setter was FIRST registered, keyed by
18
+ * target + property + value.
19
+ *
20
+ * Carried across a REBIND because a rebind is not a re-registration. Upstream
21
+ * `adw_breakpoint_add_setter` captures the original once, at the call
22
+ * (`g_object_get_property`, adw-breakpoint.c:1627), and the widget outlives every
23
+ * resize; a browser element rebinds on every connect, and re-reading the original
24
+ * then would capture the value the OUTGOING breakpoint had already written — so the
25
+ * restore would write back the applied value and the widget would never recover.
26
+ * Measured: a bin applied at 400px, moved to a 500px parent and widened to 900px
27
+ * kept its narrow label for good.
28
+ *
29
+ * Cleared when the AUTHOR rewrites `breakpoints`, which is a new
30
+ * `add_breakpoint`/`add_setters` sequence and captures new originals.
31
+ */
32
+ private _originals;
33
+ static get observedAttributes(): string[];
34
+ /** `Adw.BreakpointBin:current-breakpoint` — the picked index, or null. Read-only. */
35
+ get currentBreakpoint(): number | null;
36
+ /** `adw_breakpoint_bin_get_current_breakpoint()` (:841), under its property name. */
37
+ get currentBreakpointAttribute(): string | null;
38
+ /** `Adw.BreakpointBin:child` — the bin has one child, the one every breakpoint writes. */
39
+ get child(): Element | null;
40
+ connectedCallback(): void;
41
+ disconnectedCallback(): void;
42
+ attributeChangedCallback(name?: string): void;
43
+ /**
44
+ * Rebuild the state from the attribute, keeping the applied breakpoint.
45
+ *
46
+ * The originals are read on the way, because `inherit` restores what the NEW
47
+ * definitions captured: a restore read off a child the outgoing breakpoint already
48
+ * changed would restore it to the applied value, which is no restore at all.
49
+ */
50
+ private _syncBreakpoints;
51
+ /**
52
+ * The size source. `ResizeObserver` delivers an initial observation, so the pick is
53
+ * settled before first paint — the same seam `src/breakpoints.ts` gives every other
54
+ * adaptive element, re-created on every connect so a widget MOVED between parents
55
+ * tracks its conditions again.
56
+ *
57
+ * The CHILD is read here rather than cached, because
58
+ * `adw_breakpoint_bin_size_allocate` tests it on every allocation (:427) and a child
59
+ * appended after connect is then a child.
60
+ */
61
+ private _observe;
62
+ private _perform;
63
+ private _write;
64
+ private _emit;
65
+ /** The measure rules of a bin that holds breakpoints (:356, :388, :669). */
66
+ private _syncSizing;
67
+ }
@@ -0,0 +1,38 @@
1
+ import { type AdwLengthUnit, type BoxOrientation } from '@gjsify/adwaita-core';
2
+ /** `Gtk.ScrollablePolicy`'s three nicks, in enum order. */
3
+ export type ScrollPolicy = 'automatic' | 'always' | 'never';
4
+ export declare class AdwClampScrollable extends HTMLElement {
5
+ private _resize;
6
+ private _mutations;
7
+ static get observedAttributes(): string[];
8
+ /** `AdwClampScrollable:maximum-size` — the cap, in `unit`. Default 600. */
9
+ get maximumSize(): number;
10
+ set maximumSize(value: number);
11
+ /** `AdwClampScrollable:tightening-threshold` — where the easing starts. Default 400. */
12
+ get tighteningThreshold(): number;
13
+ set tighteningThreshold(value: number);
14
+ /** `AdwClampScrollable:unit` — the length unit both sizes are written in. Default `sp`. */
15
+ get unit(): AdwLengthUnit;
16
+ set unit(value: AdwLengthUnit);
17
+ /** `GtkOrientable:orientation`, which this class overrides. Default horizontal. */
18
+ get orientation(): BoxOrientation;
19
+ set orientation(value: BoxOrientation);
20
+ connectedCallback(): void;
21
+ disconnectedCallback(): void;
22
+ attributeChangedCallback(): void;
23
+ /**
24
+ * `Gtk.Scrollable:hscroll-policy` / `vscroll-policy` — the two overrides the class
25
+ * re-declares (adw-clamp-scrollable.c:118-141) and then binds onto the child. They
26
+ * decide here whether this element scrolls at all, which is the question they answer
27
+ * in C.
28
+ */
29
+ private _applyOverflow;
30
+ /**
31
+ * `adw_clamp_layout_allocate`, against the AVAILABLE size on the clamped axis.
32
+ *
33
+ * The cap sits on the CHILD, never here: this element is the scrollport, so a cap on
34
+ * itself would feed its own capped width back into its ResizeObserver — a feedback
35
+ * loop rather than a measurement (the reasoning `<adw-clamp>` carries in full).
36
+ */
37
+ private _allocate;
38
+ }
@@ -2,6 +2,8 @@ import type { AdwComboOption, AdwListModelInput } from '@gjsify/adwaita-core';
2
2
  export declare class AdwComboRow extends HTMLElement {
3
3
  private _select;
4
4
  private _valueEl;
5
+ /** The label column — kept for `tooltip-text`, which the browser reads off a PART. */
6
+ private _textEl;
5
7
  private _titleEl;
6
8
  private _subtitleEl;
7
9
  /** The headless options list + selectedIndex↔selectedValue state machine (ADR 0004). */
@@ -78,4 +80,6 @@ export declare class AdwComboRow extends HTMLElement {
78
80
  */
79
81
  private _syncChooser;
80
82
  private _renderText;
83
+ /** Apply CSS line-clamping based on title-lines/subtitle-lines attributes. */
84
+ private _applyLineClamping;
81
85
  }
@@ -42,5 +42,15 @@ export declare class AdwDialog extends HTMLElement {
42
42
  private _attemptClose;
43
43
  /** On close: emit `closed`, then let the surface return focus to where it was. */
44
44
  private _onClosed;
45
+ /**
46
+ * Add to the header bar, called at the end of every render.
47
+ *
48
+ * The hook is for a DIALOG whose header is not a title plus a close button, which is
49
+ * what `<gtk-about-dialog>` needs: `gtkaboutdialog.ui` puts a `GtkStackSwitcher` in
50
+ * the titlebar's title-widget position and no title text at all. An empty body is the
51
+ * default, so every other dialog is unaffected — and the header element is the one
52
+ * the base already owns, so a subclass never reaches into private state to get it.
53
+ */
54
+ protected decorateHeader(_header: HTMLElement): void;
45
55
  private _render;
46
56
  }
@@ -49,6 +49,12 @@ export declare class AdwEntryRow extends HTMLElement {
49
49
  get editing(): boolean;
50
50
  connectedCallback(): void;
51
51
  attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
52
+ /**
53
+ * The parts `tooltip-text` lands on: the two slots and the editable area — NOT the
54
+ * apply button or the indicator, which carry tooltips of their own that the consumer
55
+ * reads for what they are.
56
+ */
57
+ private _tooltipParts;
52
58
  /**
53
59
  * Add a widget after the editable area — `adw_entry_row_add_suffix`, which APPENDS
54
60
  * into a box, so several suffixes coexist and the password row's own peek toggle
@@ -32,4 +32,6 @@ export declare class AdwExpanderRow extends HTMLElement {
32
32
  connectedCallback(): void;
33
33
  attributeChangedCallback(name: string): void;
34
34
  private _render;
35
+ /** Apply CSS line-clamping based on title-lines/subtitle-lines attributes. */
36
+ private _applyLineClamping;
35
37
  }
@@ -18,6 +18,12 @@ export declare class AdwHeaderBar extends HTMLElement {
18
18
  * bare `Adw.HeaderBar {}` in a `.blp` page shows "Mailboxes" with no title of its own.
19
19
  */
20
20
  private _page;
21
+ /**
22
+ * The window the bar sits in: `update_title`'s last stop before the application name
23
+ * (`gtk_window_get_title` of the root), so a bar with no title of its own, under no titled
24
+ * page, shows the window's.
25
+ */
26
+ private _window;
21
27
  private _pageObserver;
22
28
  static get observedAttributes(): string[];
23
29
  /** The start (left) section container — append buttons/widgets here. */
@@ -0,0 +1,19 @@
1
+ export declare class AdwLayoutSlot extends HTMLElement {
2
+ private _registered;
3
+ static get observedAttributes(): string[];
4
+ /** `adw_layout_slot_get_slot_id()` (:184), read under its property's name. */
5
+ get slotId(): string | null;
6
+ connectedCallback(): void;
7
+ disconnectedCallback(): void;
8
+ attributeChangedCallback(name?: string): void;
9
+ /**
10
+ * Hand this slot to the nearest `<adw-multi-layout-view>` ancestor.
11
+ *
12
+ * `adw_layout_slot_root` walks up for the view and calls
13
+ * `adw_multi_layout_view_register_slot` (adw-layout-slot.c:55). The view's own
14
+ * mount path is the authority — it registers only while it is building a layout —
15
+ * so a call arriving outside that window is refused there, exactly as
16
+ * `accepting_slots` refuses it upstream.
17
+ */
18
+ private _register;
19
+ }
@@ -0,0 +1,101 @@
1
+ import type { AdwLayoutSlot } from './adw-layout-slot.js';
2
+ export declare class AdwMultiLayoutView extends HTMLElement {
3
+ /** The C's own tables: layouts in order, children by id, and the current layout. */
4
+ private _layouts;
5
+ private _children;
6
+ /** `slots` — the current layout's holes, which are cleared on every rebuild. */
7
+ private _slots;
8
+ private _current;
9
+ /** `accepting_slots` — only TRUE while a layout is being mounted (:116, :690). */
10
+ private _acceptingSlots;
11
+ private _observer;
12
+ static get observedAttributes(): string[];
13
+ /** `adw_multi_layout_view_get_layout_name()` (:485), read under its property's name. */
14
+ get layoutName(): string | null;
15
+ /**
16
+ * `adw_multi_layout_view_set_layout_name()` (:507) — writable, unlike `layout`.
17
+ *
18
+ * The property is written, not the layout: the C looks the name up and refuses a
19
+ * name no layout carries, and the lookup is what makes the ORDER of declaration
20
+ * irrelevant here.
21
+ */
22
+ set layoutName(value: string | null);
23
+ /** The element `Adw.MultiLayoutView:layout` points at, or null. */
24
+ get layout(): Element | null;
25
+ connectedCallback(): void;
26
+ disconnectedCallback(): void;
27
+ attributeChangedCallback(name?: string): void;
28
+ /** `adw_multi_layout_view_get_child(id)` (:635). */
29
+ getChild(id: string): Element | null;
30
+ /** `adw_multi_layout_view_get_layout_by_name(name)` (:605). */
31
+ getLayoutByName(name: string): Element | null;
32
+ /**
33
+ * `adw_multi_layout_view_add_layout()` (:538), over the declared children.
34
+ *
35
+ * The rules it carries are the ones a reader of the markup would otherwise have to
36
+ * infer: the FIRST layout becomes current when the list is built (:553), and a
37
+ * duplicate name is a warning rather than a shadowed entry (:549).
38
+ */
39
+ /**
40
+ * `adw_multi_layout_view_register_slot()` (:682), called by every `<adw-layout-slot>`
41
+ * that becomes rooted.
42
+ *
43
+ * Refused outside a mount, which is what `accepting_slots` is for: a slot in a layout
44
+ * that is not current has no business in the table.
45
+ *
46
+ * A REPEAT registration by the SAME element is not a duplicate and says nothing. A DOM
47
+ * move fires `connectedCallback` again — and moving a slot is ordinary here, because
48
+ * the container it sits in re-homes its own slotted children when it builds its
49
+ * internals. `g_hash_table_insert` upstream would overwrite with the same pointer, so
50
+ * the C never notices; the warning is for two DIFFERENT slots under one ID, and
51
+ * reporting a re-registration would train a reader to ignore it (adw-multi-layout-view.c:693).
52
+ */
53
+ registerSlot(id: string, slot: AdwLayoutSlot): void;
54
+ /**
55
+ * Read the authored tree and mount the layout it names.
56
+ *
57
+ * A direct child with `name` is a layout; anything else is a child, keyed by `slot`.
58
+ * Reading it from the DOM rather than from a list is what makes a child appended
59
+ * after connect work, which is the whole of `bindSlottedChildren`'s contract for the
60
+ * elements that use it.
61
+ */
62
+ private _rebuild;
63
+ /** The C's three tables, read off the declared children. */
64
+ private _readAuthoredTree;
65
+ /** `set_layout()` (:252): the same layout is not a change, and both properties notify. */
66
+ private _setLayout;
67
+ /**
68
+ * `set_layout_name()` (:507): look the name up, refuse an unknown one, then switch.
69
+ *
70
+ * The refusal is C's, in its own shape — `g_critical` and `return`, with no call to
71
+ * `set_layout` at all (:519), so the current layout is UNCHANGED rather than emptied.
72
+ * That is why the lookup is not folded into `_setLayout`: it answers the question
73
+ * first, and an unknown name is not a switch to nothing.
74
+ */
75
+ private _setLayoutByName;
76
+ /**
77
+ * `destroy_current_layout()` (:192): forget every slot and unparent the content.
78
+ *
79
+ * The children are simply LEFT, which is what upstream does: a child whose id the
80
+ * OUTGOING layout had no slot for is not unparented by `unparent_child`
81
+ * (adw-multi-layout-view.c:175) and rides out with the content it was in. They stay
82
+ * alive in `_children`, which is where this port remembers the declaration.
83
+ */
84
+ private _destroy;
85
+ /**
86
+ * `rebuild_current_layout()` (:200), minus the render-node snapshot.
87
+ *
88
+ * The do/while is C's own: parenting a child can root a slot of its own, which grows
89
+ * the table, which may make another child land. `slotCount` is what the loop compares
90
+ * against — the C's `g_hash_table_size`.
91
+ */
92
+ private _mount;
93
+ /** `parent_child()` (:136): bind `visible`, then insert. */
94
+ private _parent;
95
+ /**
96
+ * The one-way `visible` binding (:151), which CSS cannot express: the SLOT follows
97
+ * the CHILD. `hidden` is observed rather than polled so a child hidden AFTER it
98
+ * landed still hides the hole.
99
+ */
100
+ private _mirrorVisible;
101
+ }
@@ -1,4 +1,7 @@
1
+ import type { DispatchedSignals } from '../signals.js';
1
2
  export declare class AdwOverlaySplitView extends HTMLElement {
3
+ /** The GTK signals this element dispatches, which is what a `.blp` `bind` of `show-sidebar` follows. */
4
+ static readonly signals: DispatchedSignals;
2
5
  private _initialized;
3
6
  private _sidebarEl;
4
7
  private _contentEl;
@@ -16,6 +19,8 @@ export declare class AdwOverlaySplitView extends HTMLElement {
16
19
  * `show-sidebar` + `pin-sidebar` mean together, held to `OVERLAY_COLLAPSE_VECTORS`.
17
20
  */
18
21
  private _state;
22
+ /** The `show-sidebar` the last `notify::show-sidebar` (or the first read) settled on. */
23
+ private _notifiedShowSidebar;
19
24
  /** Re-entrancy guard for {@link _reflectShowSidebar}. */
20
25
  private _reflecting;
21
26
  /** The view's own width in CSS px — the size the sidebar fraction is OF. */
@@ -66,6 +71,14 @@ export declare class AdwOverlaySplitView extends HTMLElement {
66
71
  * loop rather than a render.
67
72
  */
68
73
  private _reflectShowSidebar;
74
+ /**
75
+ * `notify::show-sidebar`, raised on the EFFECTIVE value — the state's, after an auto-hide on
76
+ * collapse — and only when it changed, the way GObject notifies. Every path that moves it
77
+ * (the attribute, the property, a breakpoint, a gesture) ends in {@link _reflectShowSidebar},
78
+ * so this is the one place it is raised. The first read only records the baseline: a bind
79
+ * reads the current value itself.
80
+ */
81
+ private _notifyShowSidebar;
69
82
  private _syncBreakpoint;
70
83
  openSidebar(): void;
71
84
  hideSidebar(): void;
@@ -0,0 +1,31 @@
1
+ export declare class AdwPreferencesRow extends HTMLElement {
2
+ private _titleEl;
3
+ private _contentEl;
4
+ private _initialized;
5
+ static get observedAttributes(): string[];
6
+ /** `Adw.PreferencesRow:title` — Pango markup unless {@link useMarkup} is false. */
7
+ get title(): string;
8
+ set title(value: string);
9
+ /** `Adw.PreferencesRow:title-selectable` — the user may copy the title. Default false. */
10
+ get titleSelectable(): boolean;
11
+ set titleSelectable(value: boolean);
12
+ /** `Adw.PreferencesRow:use-markup` — the title is Pango markup, reduced to its text. */
13
+ get useMarkup(): boolean;
14
+ set useMarkup(value: boolean);
15
+ /** `Adw.PreferencesRow:use-underline` — `_` marks a mnemonic. Default false. */
16
+ get useUnderline(): boolean;
17
+ set useUnderline(value: boolean);
18
+ /** `Adw.PreferencesRow:child` (inherited from `Gtk.ListBoxRow`) — the row's content. */
19
+ get child(): Element | null;
20
+ set child(value: Element | null);
21
+ connectedCallback(): void;
22
+ attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
23
+ /**
24
+ * The title label and the copy permission.
25
+ *
26
+ * `labelDisplayText` reduces Pango markup to its text and strips the mnemonic marker
27
+ * in C's order (markup first, `_` second) — the same reduction `<gtk-label>` uses, so
28
+ * a title written once reads the same in both.
29
+ */
30
+ private _render;
31
+ }
@@ -0,0 +1,13 @@
1
+ import { AdwDialog } from './adw-dialog.js';
2
+ export declare class AdwShortcutsDialog extends AdwDialog {
3
+ /**
4
+ * The sections in this dialog, in document order (AdwShortcutsDialog:add, in markup).
5
+ *
6
+ * READ OFF THE CONTENT AREA rather than off a wrapper this class builds, because the
7
+ * base routes every child there through its own LIVE `bindSlottedChildren` and a
8
+ * wrapper of our own would be a second destination the routing knows nothing about:
9
+ * a section appended after connect would land beside the wrapper, not inside it.
10
+ */
11
+ get sections(): readonly HTMLElement[];
12
+ connectedCallback(): void;
13
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * `AdwShortcutsItem:direction` is a `GtkTextDirection`, so it carries `none` beside the
3
+ * two directions — and `none` is the default, meaning "show this row either way".
4
+ *
5
+ * NOT `AdwTextDirection` from core: that one is the split views' pair (`'ltr' | 'rtl'`,
6
+ * split-view.ts:41), which cannot hold the value the C defaults this property to.
7
+ */
8
+ export type AdwShortcutsItemDirection = 'ltr' | 'rtl' | 'none';
9
+ export declare class AdwShortcutsItem extends HTMLElement {
10
+ private _initialized;
11
+ private _titleEl;
12
+ private _subtitleEl;
13
+ private _labelEl;
14
+ static get observedAttributes(): string[];
15
+ /** The row's title (AdwShortcutsItem:title). */
16
+ get title(): string;
17
+ set title(value: string);
18
+ /** The row's subtitle (AdwShortcutsItem:subtitle). */
19
+ get subtitle(): string;
20
+ set subtitle(value: string);
21
+ /** The accelerator, in `<adw-shortcut-label>`'s grammar (AdwShortcutsItem:accelerator). */
22
+ get accelerator(): string;
23
+ set accelerator(value: string);
24
+ /** The action this row stands for; resolved by a GtkApplication on GTK. */
25
+ get actionName(): string;
26
+ set actionName(value: string);
27
+ /** The text direction this row belongs to (AdwShortcutsItem:direction). */
28
+ get direction(): AdwShortcutsItemDirection;
29
+ set direction(value: AdwShortcutsItemDirection);
30
+ /** Whether a row carries an accelerator or stands for an action alone. */
31
+ get hasAccelerator(): boolean;
32
+ connectedCallback(): void;
33
+ attributeChangedCallback(name: string): void;
34
+ private _render;
35
+ private _renderSubtitle;
36
+ }
@@ -0,0 +1,14 @@
1
+ export declare class AdwShortcutsSection extends HTMLElement {
2
+ private _initialized;
3
+ private _bodyEl;
4
+ private _titleEl;
5
+ static get observedAttributes(): string[];
6
+ /** The section title (AdwShortcutsSection:title). */
7
+ get title(): string;
8
+ set title(value: string);
9
+ /** The shortcuts in this section, in document order (AdwShortcutsSection:n-items' list). */
10
+ get items(): readonly HTMLElement[];
11
+ connectedCallback(): void;
12
+ attributeChangedCallback(name: string): void;
13
+ private _render;
14
+ }
@@ -3,9 +3,10 @@ import { type AdwSidebarItemSpec, type AdwSidebarSectionSpec, type SidebarItemFi
3
3
  export declare class AdwSidebarItem extends HTMLElement {
4
4
  static get observedAttributes(): string[];
5
5
  /**
6
- * `AdwSidebarItem:enabled`, under the GIR name — the `disabled` attribute inverted. The
7
- * property is what lets an authored `enabled: false` reach this item through the
6
+ * `AdwSidebarItem:enabled`, under the GIR name — the `disabled` attribute inverted.
7
+ * The property is what lets an authored `enabled: false` reach this item through the
8
8
  * shared-tree builder, which writes a `false` through the element's own property.
9
+ * Reads both the presence-based `disabled` and value-based `enabled` attributes.
9
10
  */
10
11
  get enabled(): boolean;
11
12
  set enabled(value: boolean);
@@ -61,6 +62,11 @@ export declare class AdwSidebar extends HTMLElement {
61
62
  private _rebuild;
62
63
  private _createHeader;
63
64
  private _createRow;
65
+ /**
66
+ * The item's INDICATOR bin — C's `AdwBin` with `.indicator`, `.dot` and the
67
+ * optional `.needs-attention`, holding an `AdwFadingLabel`'s worth of text.
68
+ */
69
+ private _createIndicator;
64
70
  private _applyMode;
65
71
  private _applySelection;
66
72
  }
@@ -1,6 +1,10 @@
1
1
  import type { AdwAdjustment, AdwAdjustmentInput } from '@gjsify/adwaita-core';
2
2
  export declare class AdwSpinRow extends HTMLElement {
3
3
  private _input;
4
+ /** The label column — kept for `tooltip-text`, which the browser reads off a PART. */
5
+ private _textEl;
6
+ /** The −/input/+ box — the other half of the row's surface. */
7
+ private _controlEl;
4
8
  private _titleEl;
5
9
  private _subtitleEl;
6
10
  /** The headless adjustment: the range, the clamp and the two signals (ADR 0004, ADR 0047). */
@@ -21,6 +25,8 @@ export declare class AdwSpinRow extends HTMLElement {
21
25
  connectedCallback(): void;
22
26
  attributeChangedCallback(name: string, _old: string | null, val: string | null): void;
23
27
  private _renderText;
28
+ /** Apply CSS line-clamping based on title-lines/subtitle-lines attributes. */
29
+ private _applyLineClamping;
24
30
  /** A stepper press — the interactive path, so it emits `notify::value`. */
25
31
  private _adjust;
26
32
  private _emitChange;