@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
@@ -1,21 +1,27 @@
1
1
  export { AdwAboutDialog as AboutDialog } from '../elements/adw-about-dialog.js';
2
2
  export { AdwActionRow as ActionRow } from '../elements/adw-action-row.js';
3
3
  export { AdwAlertDialog as AlertDialog } from '../elements/adw-alert-dialog.js';
4
+ export { AdwApplicationWindow as ApplicationWindow } from '../elements/adw-application-window.js';
4
5
  export { AdwAvatar as Avatar } from '../elements/adw-avatar.js';
5
6
  export { AdwBanner as Banner } from '../elements/adw-banner.js';
7
+ export { AdwBin as Bin } from '../elements/adw-bin.js';
6
8
  export { AdwBottomSheet as BottomSheet } from '../elements/adw-bottom-sheet.js';
9
+ export { AdwBreakpointBin as BreakpointBin } from '../elements/adw-breakpoint-bin.js';
7
10
  export { AdwButtonContent as ButtonContent } from '../elements/adw-button-content.js';
8
11
  export { AdwButtonRow as ButtonRow } from '../elements/adw-button-row.js';
9
12
  export { AdwCarousel as Carousel } from '../elements/adw-carousel.js';
10
13
  export { AdwCarouselIndicatorDots as CarouselIndicatorDots } from '../elements/adw-carousel.js';
11
14
  export { AdwCarouselIndicatorLines as CarouselIndicatorLines } from '../elements/adw-carousel.js';
12
15
  export { AdwClamp as Clamp } from '../elements/adw-clamp.js';
16
+ export { AdwClampScrollable as ClampScrollable } from '../elements/adw-clamp-scrollable.js';
13
17
  export { AdwComboRow as ComboRow } from '../elements/adw-combo-row.js';
14
18
  export { AdwDialog as Dialog } from '../elements/adw-dialog.js';
15
19
  export { AdwEntryRow as EntryRow } from '../elements/adw-entry-row.js';
16
20
  export { AdwExpanderRow as ExpanderRow } from '../elements/adw-expander-row.js';
17
21
  export { AdwHeaderBar as HeaderBar } from '../elements/adw-header-bar.js';
18
22
  export { AdwInlineViewSwitcher as InlineViewSwitcher } from '../elements/adw-inline-view-switcher.js';
23
+ export { AdwLayoutSlot as LayoutSlot } from '../elements/adw-layout-slot.js';
24
+ export { AdwMultiLayoutView as MultiLayoutView } from '../elements/adw-multi-layout-view.js';
19
25
  export { AdwNavigationPage as NavigationPage } from '../elements/adw-navigation-view.js';
20
26
  export { AdwNavigationSplitView as NavigationSplitView } from '../elements/adw-navigation-split-view.js';
21
27
  export { AdwNavigationView as NavigationView } from '../elements/adw-navigation-view.js';
@@ -24,13 +30,18 @@ export { AdwPasswordEntryRow as PasswordEntryRow } from '../elements/adw-passwor
24
30
  export { AdwPreferencesDialog as PreferencesDialog } from '../elements/adw-preferences-dialog.js';
25
31
  export { AdwPreferencesGroup as PreferencesGroup } from '../elements/adw-preferences-group.js';
26
32
  export { AdwPreferencesPage as PreferencesPage } from '../elements/adw-preferences-dialog.js';
33
+ export { AdwPreferencesRow as PreferencesRow } from '../elements/adw-preferences-row.js';
27
34
  export { AdwShortcutLabel as ShortcutLabel } from '../elements/adw-shortcut-label.js';
35
+ export { AdwShortcutsDialog as ShortcutsDialog } from '../elements/adw-shortcuts-dialog.js';
28
36
  export { AdwSidebar as Sidebar } from '../elements/adw-sidebar.js';
29
37
  export { AdwSpinRow as SpinRow } from '../elements/adw-spin-row.js';
30
38
  export { AdwSpinner as Spinner } from '../elements/adw-spinner.js';
31
39
  export { AdwSplitButton as SplitButton } from '../elements/adw-split-button.js';
32
40
  export { AdwStatusPage as StatusPage } from '../elements/adw-status-page.js';
33
41
  export { AdwSwitchRow as SwitchRow } from '../elements/adw-switch-row.js';
42
+ export { AdwTabBar as TabBar } from '../elements/adw-tab-bar.js';
43
+ export { AdwTabButton as TabButton } from '../elements/adw-tab-button.js';
44
+ export { AdwTabOverview as TabOverview } from '../elements/adw-tab-overview.js';
34
45
  export { AdwTabView as TabView } from '../elements/adw-tab-view.js';
35
46
  export { AdwToastOverlay as ToastOverlay } from '../elements/adw-toast-overlay.js';
36
47
  export { AdwToggle as Toggle } from '../elements/adw-toggle-group.js';
@@ -38,6 +49,7 @@ export { AdwToggleGroup as ToggleGroup } from '../elements/adw-toggle-group.js';
38
49
  export { AdwToolbarView as ToolbarView } from '../elements/adw-toolbar-view.js';
39
50
  export { AdwViewStack as ViewStack } from '../elements/adw-view-stack.js';
40
51
  export { AdwViewSwitcher as ViewSwitcher } from '../elements/adw-view-switcher.js';
52
+ export { AdwViewSwitcherSidebar as ViewSwitcherSidebar } from '../elements/adw-view-switcher-sidebar.js';
41
53
  export { AdwViewSwitcherBar as ViewSwitcherBar } from '../elements/adw-view-switcher-bar.js';
42
54
  export { AdwWindow as Window } from '../elements/adw-window.js';
43
55
  export { AdwWindowTitle as WindowTitle } from '../elements/adw-window-title.js';
@@ -1,14 +1,75 @@
1
1
  export { GtkAdjustment as Adjustment } from '@gjsify/adwaita-core';
2
+ export { GtkAboutDialog as AboutDialog } from '../elements/gtk-about-dialog.js';
2
3
  export { GtkActionBar as ActionBar } from '../elements/gtk-action-bar.js';
4
+ export { GtkApplicationWindow as ApplicationWindow } from '../elements/gtk-application-window.js';
5
+ export { GtkAspectFrame as AspectFrame } from '../elements/gtk-aspect-frame.js';
3
6
  export { GtkBox as Box } from '../elements/gtk-box.js';
4
7
  export { GtkButton as Button } from '../elements/gtk-button.js';
8
+ export { GtkCalendar as Calendar } from '../elements/gtk-calendar.js';
9
+ export { GtkCenterBox as CenterBox } from '../elements/gtk-center-box.js';
5
10
  export { GtkCheckButton as CheckButton } from '../elements/checks.js';
11
+ export { GtkColorDialogButton as ColorDialogButton } from '../elements/gtk-color-dialog-button.js';
12
+ export { GtkColumnView as ColumnView } from '../elements/gtk-column-view.js';
6
13
  export { GtkDropDown as DropDown } from '../elements/gtk-drop-down.js';
14
+ export { GtkDrawingArea as DrawingArea } from '../elements/gtk-drawing-area.js';
15
+ export { GtkDragIcon as DragIcon } from '../elements/gtk-drag-icon.js';
16
+ export { GtkEditableLabel as EditableLabel } from '../elements/gtk-editable-label.js';
17
+ export { GtkEmojiChooser as EmojiChooser } from '../elements/gtk-emoji-chooser.js';
7
18
  export { GtkEntry as Entry } from '../elements/gtk-entry.js';
19
+ export { GtkExpander as Expander } from '../elements/gtk-expander.js';
20
+ export { GtkFixed as Fixed } from '../elements/gtk-fixed.js';
21
+ export { GtkFlowBox as FlowBox } from '../elements/gtk-flow-box.js';
22
+ export { GtkFlowBoxChild as FlowBoxChild } from '../elements/gtk-flow-box-child.js';
23
+ export { GtkFontDialogButton as FontDialogButton } from '../elements/gtk-font-dialog-button.js';
24
+ export { GtkFrame as Frame } from '../elements/gtk-frame.js';
25
+ export { GtkGLArea as GLArea } from '../elements/gtk-gl-area.js';
26
+ export { GtkGraphicsOffload as GraphicsOffload } from '../elements/gtk-graphics-offload.js';
27
+ export { GtkGrid as Grid } from '../elements/gtk-grid.js';
28
+ export { GtkGridView as GridView } from '../elements/gtk-grid-view.js';
29
+ export { GtkHeaderBar as HeaderBar } from '../elements/gtk-header-bar.js';
8
30
  export { GtkImage as Image } from '../elements/gtk-image.js';
31
+ export { GtkLinkButton as LinkButton } from '../elements/gtk-link-button.js';
9
32
  export { GtkLabel as Label } from '../elements/gtk-label.js';
33
+ export { GtkInscription as Inscription } from '../elements/gtk-inscription.js';
34
+ export { GtkLevelBar as LevelBar } from '../elements/gtk-level-bar.js';
35
+ export { GtkListBox as ListBox } from '../elements/gtk-list-box.js';
36
+ export { GtkListBoxRow as ListBoxRow } from '../elements/gtk-list-box-row.js';
37
+ export { GtkListView as ListView } from '../elements/gtk-list-view.js';
38
+ export { GtkMediaControls as MediaControls } from '../elements/gtk-media-controls.js';
10
39
  export { GtkMenuButton as MenuButton } from '../elements/gtk-menu-button.js';
40
+ export { GtkNotebook as Notebook } from '../elements/gtk-notebook.js';
41
+ export { GtkOverlay as Overlay } from '../elements/gtk-overlay.js';
42
+ export { GtkPageSetupUnixDialog as PageSetupUnixDialog } from '../elements/gtk-page-setup-unix-dialog.js';
43
+ export { GtkPaned as Paned } from '../elements/gtk-paned.js';
44
+ export { GtkPasswordEntry as PasswordEntry } from '../elements/gtk-password-entry.js';
45
+ export { GtkPicture as Picture } from '../elements/gtk-picture.js';
11
46
  export { GtkPopover as Popover } from '../elements/gtk-popover.js';
47
+ export { GtkPopoverBin as PopoverBin } from '../elements/gtk-popover-bin.js';
48
+ export { GtkPopoverMenu as PopoverMenu } from '../elements/gtk-popover-menu.js';
49
+ export { GtkPopoverMenuBar as PopoverMenuBar } from '../elements/gtk-popover-menu-bar.js';
50
+ export { GtkPrintUnixDialog as PrintUnixDialog } from '../elements/gtk-print-unix-dialog.js';
12
51
  export { GtkProgressBar as ProgressBar } from '../elements/gtk-progress-bar.js';
52
+ export { GtkRevealer as Revealer } from '../elements/gtk-revealer.js';
53
+ export { GtkScale as Scale } from '../elements/gtk-scale.js';
54
+ export { GtkScaleButton as ScaleButton } from '../elements/gtk-scale-button.js';
55
+ export { GtkSearchBar as SearchBar } from '../elements/gtk-search-bar.js';
56
+ export { GtkSearchEntry as SearchEntry } from '../elements/gtk-search-entry.js';
57
+ export { GtkScrolledWindow as ScrolledWindow } from '../elements/gtk-scrolled-window.js';
58
+ export { GtkScrollbar as Scrollbar } from '../elements/gtk-scrollbar.js';
59
+ export { GtkSeparator as Separator } from '../elements/gtk-separator.js';
60
+ export { GtkSpinButton as SpinButton } from '../elements/gtk-spin-button.js';
61
+ export { GtkSpinner as Spinner } from '../elements/gtk-spinner.js';
62
+ export { GtkStack as Stack } from '../elements/gtk-stack.js';
63
+ export { GtkStackSidebar as StackSidebar } from '../elements/gtk-stack-sidebar.js';
64
+ export { GtkStackSwitcher as StackSwitcher } from '../elements/gtk-stack-switcher.js';
13
65
  export { GtkStringList as StringList } from '@gjsify/adwaita-core';
14
66
  export { GtkSwitch as Switch } from '../elements/gtk-switch.js';
67
+ export { GtkText as Text } from '../elements/gtk-text.js';
68
+ export { GtkTextView as TextView } from '../elements/gtk-text-view.js';
69
+ export { GtkToggleButton as ToggleButton } from '../elements/gtk-toggle-button.js';
70
+ export { GtkTreeExpander as TreeExpander } from '../elements/gtk-tree-expander.js';
71
+ export { GtkVideo as Video } from '../elements/gtk-video.js';
72
+ export { GtkWindow as Window } from '../elements/gtk-window.js';
73
+ export { GtkWindowControls as WindowControls } from '../elements/gtk-window-controls.js';
74
+ export { GtkViewport as Viewport } from '../elements/gtk-viewport.js';
75
+ export { GtkWindowHandle as WindowHandle } from '../elements/gtk-window-handle.js';
@@ -0,0 +1,100 @@
1
+ /** `Gtk.PageOrientation`, in enum order. Reversed orientations are separate values. */
2
+ export declare const PAGE_ORIENTATIONS: readonly ["portrait", "landscape", "reverse-portrait", "reverse-landscape"];
3
+ /** One `Gtk.PageOrientation` — the nicks `packages/framework/gtk-host` generates. */
4
+ export type PageOrientation = (typeof PAGE_ORIENTATIONS)[number];
5
+ /** The `Gtk.Unit` the two dialogs' labels speak: millimetres or inches. */
6
+ export type PageUnit = 'mm' | 'inch';
7
+ /** One row of GTK's `paper_names` table, in millimetres. */
8
+ export interface PaperSize {
9
+ /** The `GtkPaperSize` name — `iso_a4`, `na_letter`, … */
10
+ readonly name: string;
11
+ /** `gtk_paper_size_get_display_name()` — `A4`, `US Letter`, … */
12
+ readonly displayName: string;
13
+ /** Short edge, mm. */
14
+ readonly width: number;
15
+ /** Long edge, mm. */
16
+ readonly height: number;
17
+ }
18
+ /**
19
+ * The twelve `common_paper_sizes`, in the order `fill_paper_sizes_from_printer` appends
20
+ * them when there is no printer (gtkpagesetupunixdialog.c:474-491): the list is
21
+ * deliberately NOT sorted, so the order here is the one a reader sees.
22
+ *
23
+ * Sizes and names are the `paper_names.c` rows for those keys; `in` sizes are
24
+ * converted once, at parse time, exactly as `parse_media_size` does.
25
+ */
26
+ export declare const COMMON_PAPER_SIZES: readonly PaperSize[];
27
+ /**
28
+ * `double_to_string` (gtkpagesetupunixdialog.c:594-628).
29
+ *
30
+ * The comment above the C is the reason this is not `toFixed`: the author wanted no
31
+ * decimal point at all on a whole number and at most one significant digit otherwise,
32
+ * and `printf` offers no "max precision" — so the code prints two places in inch and
33
+ * one in mm and then strips the zeros and the separator by hand. The stripping is
34
+ * ASCII-only and drops a `0.0` to `0`.
35
+ */
36
+ export declare function doubleToString(value: number, unit: PageUnit): string;
37
+ /** The four margins of a `Gtk.PageSetup`, in millimetres. */
38
+ export interface PageMargins {
39
+ readonly top: number;
40
+ readonly bottom: number;
41
+ readonly left: number;
42
+ readonly right: number;
43
+ }
44
+ /**
45
+ * `gtk_page_setup_set_paper_size_and_default_margins` (gtkpagesetup.c:248-258) —
46
+ * every margin `gtk_paper_size_get_default_*_margin` returns, for one paper size.
47
+ */
48
+ export declare function defaultMargins(size: PaperSize): PageMargins;
49
+ /** A plain-data `Gtk.PageSetup`: which paper, which way up, and the four margins. */
50
+ export interface PageSetup {
51
+ /** The `GtkPaperSize` name. */
52
+ readonly paperSize: string;
53
+ /** `GtkPageOrientation`. */
54
+ readonly orientation: PageOrientation;
55
+ /** Margins in millimetres, which is what `GtkPageSetup` stores internally. */
56
+ readonly margins: PageMargins;
57
+ }
58
+ /**
59
+ * `gtk_page_setup_new()` — the default setup GTK hands a dialog that has been given
60
+ * none: ISO A4, portrait, the default margins for it.
61
+ */
62
+ export declare function defaultPageSetup(): PageSetup;
63
+ /**
64
+ * `gtk_paper_size_new (name)` + the margins, for one of the twelve common sizes, or
65
+ * `null` for a name the table does not have — which is what `set_paper_size` sees
66
+ * when no row matches (it returns FALSE rather than inventing one).
67
+ */
68
+ export declare function paperSizeByName(name: string): PaperSize | null;
69
+ /** The paper size a setup names, or the default one when the name is unknown. */
70
+ export declare function paperSizeOf(setup: PageSetup): PaperSize;
71
+ /**
72
+ * `page_setup_is_equal` (gtkpagesetupunixdialog.c:410-418): same paper AND the same
73
+ * four margins. `page_setup_is_same_size` is the first half of it, which
74
+ * `set_paper_size` asks for when a new printer brings its own sizes along.
75
+ */
76
+ export declare function pageSetupEquals(a: PageSetup, b: PageSetup): boolean;
77
+ /** `page_setup_is_same_size` — the paper alone, margins ignored. */
78
+ export declare function pageSetupSameSize(a: PageSetup, b: PageSetup): boolean;
79
+ /**
80
+ * The width and height a `GtkPageSetup` reports for an orientation: landscape and
81
+ * reverse-landscape SWAP the two edges, which is the whole of
82
+ * `gtk_page_setup_get_orientation`-aware geometry in GTK (there is no separate
83
+ * landscape size).
84
+ */
85
+ export declare function orientedSize(setup: PageSetup, unit?: PageUnit): {
86
+ width: number;
87
+ height: number;
88
+ };
89
+ /** The `unit_str` of `paper_size_changed`: `_("mm")` or `_("inch")`. */
90
+ export declare function unitLabel(unit: PageUnit): string;
91
+ /**
92
+ * The label under the paper-size combo: `W × H unit`, both numbers through
93
+ * {@link doubleToString} and in the dialog's user unit.
94
+ */
95
+ export declare function paperSizeLabel(setup: PageSetup, unit?: PageUnit): string;
96
+ /**
97
+ * The tooltip `paper_size_changed` puts on the same label — the margins alone, in its
98
+ * order: left, right, top, bottom. The sizes live in the label text, not here.
99
+ */
100
+ export declare function paperMarginsTooltip(setup: PageSetup, unit?: PageUnit): string;
@@ -0,0 +1,20 @@
1
+ export interface RowLineClampConfig {
2
+ titleEl: HTMLElement;
3
+ subtitleEl: HTMLElement;
4
+ textContainerEl: HTMLElement;
5
+ getTitleLines: () => number;
6
+ getSubtitleLines: () => number;
7
+ }
8
+ /**
9
+ * Apply or remove line clamping based on title-lines/subtitle-lines values.
10
+ * Uses CSS custom properties and class toggle (not inline styles).
11
+ */
12
+ export declare function applyRowLineClamp(config: RowLineClampConfig): void;
13
+ /**
14
+ * Parse a lines attribute value following AdwActionRow semantics:
15
+ * - Missing/null/empty → 0 (unlimited)
16
+ * - Invalid/non-numeric → 0 (unlimited)
17
+ * - n > 0 → n (clamp to n lines)
18
+ * - n <= 0 → 0 (unlimited; pspec range is 0..G_MAXINT)
19
+ */
20
+ export declare function parseRowLinesAttribute(value: string | null): number;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Apply `row`'s `tooltip-text` to `parts`, or clear it when the attribute is absent.
3
+ *
4
+ * `parts` are the row's OWN sections, never a slotted consumer widget — see the header.
5
+ * Each one is marked `data-row-tooltip`, which is the hook `scss/_row.scss` stretches so
6
+ * the tooltip covers the row rather than the label text inside it.
7
+ */
8
+ export declare function applyRowTooltip(row: HTMLElement, parts: readonly Element[]): void;
@@ -0,0 +1 @@
1
+ export declare const AdwRowTooltipTest: () => Promise<void>;
@@ -5,6 +5,19 @@ export interface AdwUndershootEdges {
5
5
  /** `undershoot-bottom` on the view. */
6
6
  bottom: boolean;
7
7
  }
8
+ /**
9
+ * What a caller can ask to hear about, which is `GtkScrolledWindow::edge-overshot`'s own
10
+ * argument: the SIGNED distance past the edge, negative at the near one and positive at the
11
+ * far one, and `0` when the position is back inside the range.
12
+ *
13
+ * The alternative is a second copy of the overshoot accumulation in the caller, which is
14
+ * the duplication this module exists to prevent — the unclamped position is a value only
15
+ * the wheel bookkeeping here has.
16
+ */
17
+ export interface AdwScrollShadingOptions {
18
+ /** Called whenever a wheel pushes a scroller's position past one of its edges. */
19
+ onOvershoot?: (distance: number) => void;
20
+ }
8
21
  /**
9
22
  * Keeps every scroller under a root marked with its live edge indicators.
10
23
  *
@@ -24,7 +37,8 @@ export declare class AdwScrollShading {
24
37
  private _shaded;
25
38
  private _pendingScan;
26
39
  private _undershootEdges;
27
- constructor(root: HTMLElement);
40
+ private _onOvershoot;
41
+ constructor(root: HTMLElement, options?: AdwScrollShadingOptions);
28
42
  /**
29
43
  * Which edges may draw an UNDERSHOOT. The overshoot glow is not gated: upstream
30
44
  * draws it on every `scrolledwindow`, while the undershoot is what a toolbar
@@ -1,4 +1,5 @@
1
- import type { SharedTreeNode } from '@gjsify/adwaita-core/conformance';
1
+ import { type BreakpointSize } from '@gjsify/adwaita-core';
2
+ import { type SharedTreeNode } from '@gjsify/adwaita-core/conformance';
2
3
  /** One authored placement, kept so {@link mountSharedTree} can hold the renderer to it. */
3
4
  interface PlacedChild {
4
5
  parent: HTMLElement;
@@ -14,26 +15,51 @@ interface ExtendedNode {
14
15
  interface BuildRecord {
15
16
  placed: PlacedChild[];
16
17
  extended: ExtendedNode[];
18
+ /** Every authored id and the element it built, which a `bind` source is looked up in. */
19
+ ids: Map<string, HTMLElement>;
20
+ /** The `bindings` of every node, resolved once every id exists (a source may be built after its target). */
21
+ binds: PendingBind[];
22
+ /** The nodes that carry `breakpoints`, wired once every id exists (a setter may name a later sibling). */
23
+ breakpointHosts: {
24
+ el: HTMLElement;
25
+ node: SharedTreeNode;
26
+ }[];
27
+ /** Undoes what the build wired to the outside (the size observers); {@link mountSharedTree}'s `unmount` runs it. */
28
+ disposers: (() => void)[];
29
+ /** The size source a `breakpoints` node is driven from; a `ResizeObserver` unless the caller supplies one. */
30
+ observeSize?: SizeSource;
31
+ /** The object a signal handler's NAME is resolved against (ADR 0093 § 3), as `Gtk.BuilderScope` does. */
32
+ scope?: Readonly<Record<string, unknown>>;
33
+ }
34
+ /** Calls `onSize` with the host's measured size, now and on every change; returns its disposer. */
35
+ export type SizeSource = (element: Element, onSize: (size: BreakpointSize) => void) => () => void;
36
+ interface PendingBind {
37
+ el: HTMLElement;
38
+ property: string;
39
+ source: string;
40
+ sourceProperty: string;
41
+ flags: readonly string[];
17
42
  }
18
43
  /**
19
44
  * A `SharedTreeNode`, realised as a DETACHED element tree: a tag, its authored properties as
20
45
  * attributes, its style classes as classes, its extensions (ADR 0072) as the markup the element
21
46
  * reads, its placement as `slot=`, its children, in that order — recursive and total,
22
- * no tag list, no per-block case. A boolean authored property is the ATTRIBUTE'S PRESENCE
23
- * (`toggleAttribute`), which is what every element in the corpus reads
24
- * (`hasAttribute('revealed')`, `hasAttribute('expanded')`); spelling `"true"` would set a
25
- * present attribute for `false` as well.
47
+ * no tag list, no per-block case.
48
+ *
49
+ * BOOLEAN ATTRIBUTES are written per (widget, property), not per attribute name. The same
50
+ * attribute name (e.g. `revealed`) can be VALUE-BASED for one widget (`gtk-action-bar`,
51
+ * default TRUE) and PRESENCE-BASED for another (`adw-banner`, default FALSE). The
52
+ * per-widget map in `@gjsify/adwaita-core/tags` ({@link isValueBasedBooleanAttr}) records this.
26
53
  *
27
- * EXCEPT AN AUTHORED `false` ON A PROPERTY THE ELEMENT DECLARES. Absence cannot say `false`
28
- * where the GTK default is TRUE — `AdwNavigationPage:can-pop`, `GtkActionBar:revealed` —
29
- * because those elements read an absent attribute as that default, so `can-pop: false`
30
- * reached the page as `can-pop` unset and the page stayed poppable. The element's own
31
- * property setter knows its attribute convention, so an authored `false` is written
32
- * through it when the element (already upgraded: `createElement` of a defined tag
33
- * constructs it) declares one; everything else keeps the presence rule. "Declares" means a
34
- * member it can WRITE ({@link isWritable}): a getter-only accessor of the same name — the
35
- * split button's and the menu button's read-only `active` — would throw a bare `TypeError`
36
- * out of the assignment, so such a property falls back to the presence rule too.
54
+ * - VALUE-BASED: `attr="false"` means false, absent means true (the GTK default).
55
+ * The builder writes `attr="true"|"false"` directly via {@link writeBooleanAttribute}.
56
+ * - PRESENCE-BASED (style classes like `flat`, `round`, `compact`): `toggleAttribute`
57
+ * writes the bare attribute for `true`, removes it for `false`.
58
+ *
59
+ * EXCEPT an authored `false` on a NON-value-based, WRITABLE property: the property is set
60
+ * directly (bypassing the attribute) because the element's setter will reflect it correctly.
61
+ * A getter-only property of the same name (e.g. `AdwSplitButton.active`) falls back to the
62
+ * presence rule since assignment would throw.
37
63
  *
38
64
  * THE SLOT IS WRITTEN AS THE ATTRIBUTE THIS RENDERER ALREADY ROUTES ON, not translated:
39
65
  * `src/slotted-children.ts` reads `slot=` off every light-DOM child and keeps the routing
@@ -47,18 +73,50 @@ interface BuildRecord {
47
73
  * upgraded has declared no slots yet, so the refusal below belongs to the mount.
48
74
  */
49
75
  export declare function buildSharedTree(node: SharedTreeNode, record?: BuildRecord): HTMLElement;
76
+ /**
77
+ * One authored property, written as the element reads it; a breakpoint setter takes the same door.
78
+ *
79
+ * BOOLEAN ATTRIBUTES are written per (widget, property), not per attribute name. The same
80
+ * attribute name (e.g. `revealed`) can be VALUE-BASED for one widget (`gtk-action-bar`,
81
+ * default TRUE) and PRESENCE-BASED for another (`adw-banner`, default FALSE). The
82
+ * per-widget map in `@gjsify/adwaita-core/tags` ({@link isValueBasedBooleanAttr}) records this.
83
+ *
84
+ * - VALUE-BASED: `attr="false"` means false, absent means true (the GTK default).
85
+ * The builder writes `attr="true"|"false"` directly via {@link writeBooleanAttribute}.
86
+ * - PRESENCE-BASED (style classes like `flat`, `round`, `compact`): `toggleAttribute`
87
+ * writes the bare attribute for `true`, removes it for `false`.
88
+ *
89
+ * EXCEPT an authored `false` on a NON-value-based, WRITABLE property: the property is set
90
+ * directly (bypassing the attribute) because the element's setter will reflect it correctly.
91
+ * A getter-only property of the same name (e.g. `AdwSplitButton.active`) falls back to the
92
+ * presence rule since assignment would throw. `hexpand` / `vexpand` keep an authored `false`
93
+ * as the attribute `"false"` and a later `true` rewrites it — `GTK_WIDGET_EXPAND` says why.
94
+ */
95
+ export declare function writeProp(el: HTMLElement, prop: string, value: string | number | boolean): void;
50
96
  /** A tree {@link mountSharedTree} built and connected. */
51
97
  export interface MountedSharedTree {
52
98
  /** The authored root — connected, so every custom element under it has upgraded and run. */
53
99
  root: HTMLElement;
54
- /** Disconnects and discards the mount point. */
100
+ /** Disconnects the tree, and discards the mount point when this call made one. */
55
101
  unmount: () => void;
56
102
  }
103
+ /** What {@link mountSharedTree} takes beside the tree. */
104
+ export interface MountOptions {
105
+ /** The object a handler NAME is looked up on (ADR 0093 § 3). */
106
+ scope?: Readonly<Record<string, unknown>>;
107
+ /** The size source a `breakpoints` node is driven from. */
108
+ observeSize?: SizeSource;
109
+ /**
110
+ * Where the root is appended — a showcase's own container, which then lays the window out.
111
+ * Without it the tree gets a fresh host `<div>` in `document.body`, discarded on `unmount`.
112
+ */
113
+ into?: HTMLElement;
114
+ }
57
115
  /**
58
116
  * {@link buildSharedTree}, attached under a fresh host `<div>` in `document.body` so the tree
59
117
  * — and every custom element in it — is REAL rather than merely constructed. This is the
60
118
  * instantiation half a caller reading the corpus's elements normally wants; a bare
61
119
  * `buildSharedTree` is for a caller that already has somewhere of its own to attach it.
62
120
  */
63
- export declare function mountSharedTree(node: SharedTreeNode): MountedSharedTree;
121
+ export declare function mountSharedTree(node: SharedTreeNode, options?: MountOptions): MountedSharedTree;
64
122
  export {};
@@ -0,0 +1 @@
1
+ export declare const AdwSharedTreeMountTest: () => Promise<void>;
@@ -0,0 +1,4 @@
1
+ /** GTK signal name → the DOM event type the element dispatches it as. */
2
+ export type DispatchedSignals = Readonly<Record<string, string>>;
3
+ /** The signals `el`'s class declares, or none. */
4
+ export declare function dispatchedSignalsOf(el: Element): DispatchedSignals;