@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,103 @@
1
+ import { type AdwSlot } from '../slotted-children.js';
2
+ import './gtk-window-controls.js';
3
+ export declare class GtkWindow extends HTMLElement {
4
+ private _initialized;
5
+ /** The `titlebar` strip — `protected` so a subclass can place its own strips around it. */
6
+ protected _titlebar: HTMLDivElement;
7
+ /** Every child the window has no slot name for. */
8
+ protected _content: HTMLDivElement;
9
+ /** The SSD controls the strip draws when the window has no titlebar of its own. */
10
+ private _startControls;
11
+ private _endControls;
12
+ /** The window's own title in the strip, or `null` when a titlebar holds it. */
13
+ private _titleLabel;
14
+ /** Watches the strip for an author's titlebar arriving after the build. */
15
+ private _titlebarObserver;
16
+ static get observedAttributes(): string[];
17
+ /**
18
+ * `Gtk.Window:title` — the window's title.
19
+ *
20
+ * The getter answers `''` for no title, not `null`: a `string | null` getter is not assignable to
21
+ * `HTMLElement.title`, and the emitted `.d.ts` then fails every consumer that does not set
22
+ * `skipLibCheck`. The setter still takes `null` to clear it, as GTK does.
23
+ */
24
+ get title(): string;
25
+ set title(value: string | null);
26
+ /** `Gtk.Window:decorated` — whether the frame and its titlebar strip are drawn at all. */
27
+ get decorated(): boolean;
28
+ set decorated(value: boolean);
29
+ /** `Gtk.Window:maximized` — square corners and the restore glyph. */
30
+ get maximized(): boolean;
31
+ set maximized(value: boolean);
32
+ /** `Gtk.Window:resizable` — whether the maximize button may appear. */
33
+ get resizable(): boolean;
34
+ set resizable(value: boolean);
35
+ /** `Gtk.Window:deletable` — whether the close button may appear. */
36
+ get deletable(): boolean;
37
+ set deletable(value: boolean);
38
+ /**
39
+ * `setAttribute` for a write that changes nothing. Every GObject setter here returns
40
+ * early when the value is already right (gtkwindow.c:1015-1017, :1045-1046, :894-895),
41
+ * and a boolean property whose value did not move must not notify.
42
+ */
43
+ protected _write(name: string, value: string | null): void;
44
+ /**
45
+ * The two default polarities, because one of them is wrong for half of this widget.
46
+ *
47
+ * `decorated`, `resizable` and `deletable` default TRUE (gtkwindow.c:1014, :893, :1024)
48
+ * and `maximized`, `fullscreened`, `modal` and `hide-on-close` default FALSE (:1044,
49
+ * :1060, :903, :945). Reading them all through one helper is how a bare `<gtk-window>`
50
+ * ended up wearing `.maximized` and `.fullscreen` — square corners and no shadow, on a
51
+ * window that had never been maximized.
52
+ */
53
+ private _onByDefault;
54
+ private _offByDefault;
55
+ connectedCallback(): void;
56
+ disconnectedCallback(): void;
57
+ /**
58
+ * A `slot="titlebar"` child adopted AFTER the build has to take the strip over from the
59
+ * server-side decoration, and `_render` is the one that notices — nothing else here runs
60
+ * when a child lands. Observed on `_titlebar`, which is where the adopted child goes,
61
+ * because `bindSlottedChildren` already watches the host for it.
62
+ *
63
+ * Re-established on every connect, so a window moved between parents keeps it.
64
+ */
65
+ private _watchTitlebar;
66
+ /**
67
+ * The strips the frame is built from, in order. A subclass with a strip of its own —
68
+ * `<gtk-application-window>`'s menubar — adds it here, which is the only reason this pair
69
+ * exists: `install()` takes the structure and the slots at once, and the ORDER is that
70
+ * call's invariant (see `slotted-children.ts`).
71
+ */
72
+ protected strips(): Node[];
73
+ /** The slots a subclass adds beside `titlebar`; none by default. */
74
+ protected extraSlots(): AdwSlot[];
75
+ attributeChangedCallback(name: string): void;
76
+ private _property;
77
+ private _render;
78
+ /**
79
+ * The strip, in the two shapes a window can be in. With a `titlebar` child the strip
80
+ * holds exactly that — GTK hands the whole titlebar to the bar, decorations and all. With
81
+ * none it holds the two `<gtk-window-controls>` and the window's title, which is the
82
+ * server-side decoration GTK would otherwise have asked the window manager to draw and
83
+ * which a page has to draw for itself.
84
+ */
85
+ private _renderTitlebar;
86
+ /** The frame controls' `GtkActionable` names, answered here — gtkwindow.c:1274-1287. */
87
+ private _onWindowAction;
88
+ /**
89
+ * `gtk_window_close` (gtkwindow.c:1274-1287): emit `close-request` and, if nothing handled
90
+ * it, hide the window when `hide-on-close` is set and DESTROY it otherwise. "Destroy" is
91
+ * the one word this port cannot mean — a page has no unref — so the default detaches the
92
+ * frame, which is the same observable outcome for everything above it.
93
+ */
94
+ close(): boolean;
95
+ /**
96
+ * `gtk_window_maximize`. ASYNCHRONOUS in GTK — the GIR says so at gtkwindow.c:1044 — so
97
+ * the property is the thing a caller watches, and this writes it directly rather than
98
+ * pretending to round-trip a compositor.
99
+ */
100
+ maximize(): void;
101
+ /** `gtk_window_unmaximize`, with the same caveat as {@link maximize}. */
102
+ unmaximize(): void;
103
+ }
@@ -0,0 +1,2 @@
1
+ import type { LabelJustification } from '@gjsify/adwaita-core';
2
+ export declare const JUSTIFY_TEXT_ALIGN: Record<LabelJustification, string>;
@@ -45,6 +45,24 @@ export declare class PopoverMenuView {
45
45
  private _onKeyDown;
46
46
  /** Every row of the open page, in order — including the ones no key can reach. */
47
47
  get rows(): readonly HTMLButtonElement[];
48
+ /**
49
+ * The path of the page showing; `[]` is the root.
50
+ *
51
+ * Public because `GtkPopoverMenu:visible-submenu` IS this: GTK's value is the
52
+ * `GtkStack` child's name (gtkpopovermenu.c:755-757), and the stack child's identity
53
+ * here is the path that leads to it. Reading it is how the element answers the
54
+ * property without keeping a second copy of the open page beside this one.
55
+ */
56
+ get page(): AdwMenuPath;
57
+ /**
58
+ * Point the view at `path` without rendering — {@link render} does that, and doing it
59
+ * here as well would rebuild the rows twice per change.
60
+ *
61
+ * Distinct from {@link reset} because it NAMES the destination: a popover menu can be
62
+ * opened straight into a submenu, and a caller that had to open the parent first and
63
+ * then click into it would be reporting the reader's journey as the widget's state.
64
+ */
65
+ showPage(path: AdwMenuPath): void;
48
66
  /**
49
67
  * The rows a key can actually REACH, which is the only list worth focusing into.
50
68
  *
@@ -1,12 +1,28 @@
1
1
  /** Which axis the items are laid out along — it decides which arrow keys move. */
2
2
  export type AdwRovingOrientation = 'horizontal' | 'vertical';
3
+ /**
4
+ * Where one key lands, given where the cursor is.
5
+ *
6
+ * The DEFAULT is the neighbouring index, which is what a single run of items means. A widget
7
+ * whose two axes do NOT both mean "one along" supplies its own: `Gtk.FlowBox` binds
8
+ * `GTK_MOVEMENT_VISUAL_POSITIONS` sideways and `GTK_MOVEMENT_DISPLAY_LINES` vertically
9
+ * (gtkflowbox.c:3944-3951), and against a grid those differ — from the last cell of a full
10
+ * line, "left" is the first cell of the next one by INDEX and one row UP by POSITION.
11
+ */
12
+ export type AdwRovingStep = (items: readonly HTMLElement[], from: number, direction: -1 | 1) => number | null;
3
13
  export interface AdwRovingFocusInit {
4
14
  /**
5
15
  * The element the listener sits on — the custom element itself, so items rebuilt at
6
16
  * any time are still covered.
7
17
  */
8
18
  host: HTMLElement;
9
- orientation: AdwRovingOrientation;
19
+ /**
20
+ * Which axis the arrows move along. A FUNCTION where the widget is a `GtkOrientable`
21
+ * and can be turned after the listener is installed — `<gtk-list-view>` and
22
+ * `<gtk-flow-box>` are, and a value read once at install time pointed its arrow keys at
23
+ * the axis it had at connect for the rest of its life.
24
+ */
25
+ orientation: AdwRovingOrientation | (() => AdwRovingOrientation);
10
26
  /**
11
27
  * The items a key may land on, in visual order. The widget filters: a `hidden` or
12
28
  * `disabled` item is not navigable, and leaving one in would strand the user on a
@@ -18,6 +34,18 @@ export interface AdwRovingFocusInit {
18
34
  * focus travels with the key either way ({@link attachRovingFocus}).
19
35
  */
20
36
  select: (item: HTMLElement) => void;
37
+ /** Where a previous/next key lands. Defaults to the neighbouring index. */
38
+ step?: AdwRovingStep;
39
+ /**
40
+ * A SECOND pair of arrows, for the one widget GTK gives both. It contributes those two
41
+ * keys ONLY — never `Home` and `End`, which name the two ENDS of the box and stay one
42
+ * answer however many axes ask.
43
+ */
44
+ crossAxis?: {
45
+ orientation: AdwRovingOrientation | (() => AdwRovingOrientation);
46
+ /** Required here, unlike on the primary axis: a second axis is a grid, not a run. */
47
+ step: AdwRovingStep;
48
+ };
21
49
  }
22
50
  /**
23
51
  * Make a roving tabindex navigable: arrows step, Home/End jump, and focus travels with
@@ -0,0 +1,38 @@
1
+ /** One emoji entry: the code points and the words the search reads. */
2
+ export interface EmojiEntry {
3
+ /** The code points, as one string — a ZWJ sequence is already spelled out. */
4
+ readonly text: string;
5
+ /** The English name — `filter_func`'s second list. */
6
+ readonly name: string;
7
+ /** Search keywords, one word each — `filter_func`'s third list. */
8
+ readonly keywords: readonly string[];
9
+ }
10
+ /** One `EmojiSection`, with the heading and the toolbar button's own label. */
11
+ export interface EmojiCategory {
12
+ /** The section key: `recent`, `people`, … */
13
+ readonly id: string;
14
+ /** The heading above the section, `''` for the one without (recent). */
15
+ readonly heading: string;
16
+ /** The `.ui` tooltip of the toolbar button, which for every section but recent is its heading. */
17
+ readonly tooltip: string;
18
+ /** The emoji, in the order GTK appends them. */
19
+ readonly entries: readonly EmojiEntry[];
20
+ }
21
+ /** `MAX_RECENT` — 7 columns by 3 rows (gtkemojichooser.c:363). */
22
+ export declare const EMOJI_MAX_RECENT: number;
23
+ /** `EMOJI_SKIN_TONES` — `1F3FB`…`1F3FF`, the five modifiers (gtkemojichooser.c:530). */
24
+ export declare const EMOJI_SKIN_TONES: readonly string[];
25
+ /** `has_variations` (gtkemojichooser.c:489-508) — whether an entry carries a skin slot. */
26
+ export declare function hasVariations(entry: EmojiEntry): boolean;
27
+ /**
28
+ * The nine category sections, in `setup_section`'s registration order. `recent` is NOT
29
+ * here: its emoji come from `GSettings` (`recently-used-emoji`), so the element owns
30
+ * that list and this table does not know about it.
31
+ */
32
+ export declare const EMOJI_CATEGORIES: readonly EmojiCategory[];
33
+ /** The section ids in order, `recent` FIRST — the struct order of `GtkEmojiChooser`. */
34
+ export declare const EMOJI_SECTION_IDS: readonly string[];
35
+ /** The heading of a section, `''` for `recent` — the one with no heading widget at all. */
36
+ export declare function emojiHeading(id: string): string;
37
+ /** The toolbar button's tooltip for a section: its heading, or `Recent` for the first. */
38
+ export declare function emojiTooltip(id: string): string;
@@ -0,0 +1,96 @@
1
+ /** The horizontal slant Pango spells. CSS has `italic` and `oblique`, and so does this. */
2
+ export type FontSlant = 'normal' | 'italic' | 'oblique';
3
+ /** The four widths Pango distinguishes; CSS `font-stretch` names the same three. */
4
+ export type FontWidth = 'normal' | 'condensed' | 'expanded';
5
+ /**
6
+ * The fields `GtkFontDialogButton` reads. `variant` and the exact family/face are
7
+ * deliberately absent: the C compares them in `font_description_style_equal`
8
+ * (gtkfontdialogbutton.c:586-592) to pick a face out of a font map, and a browser page
9
+ * has no font map — see `font-button`'s header for what stands in for it.
10
+ */
11
+ export interface PangoFontDescription {
12
+ /** The family name, or `''` for the "unset" a fresh description carries. */
13
+ family: string;
14
+ slant: FontSlant;
15
+ /** Pango's numeric weight, which is also CSS's `font-weight` number. */
16
+ weight: number;
17
+ width: FontWidth;
18
+ /** The size as written. `unit` says what it is counted in. */
19
+ size: number;
20
+ /** `pango_font_description_set_size_is_absolute` — `true` means the size is pixels. */
21
+ absolute: boolean;
22
+ }
23
+ /** The description `gtk_font_dialog_button_init` builds: `pango_font_description_from_string ("Sans 12")`. */
24
+ export declare const PANGO_FONT_DESCRIPTION_DEFAULT: PangoFontDescription;
25
+ /**
26
+ * `pango_font_description_from_string` — family, style words and a trailing size, in any
27
+ * order.
28
+ *
29
+ * Total, like the C: an unrecognised word is not a style, and a family is whatever is
30
+ * left over once the styles and the size are gone — which is why the tokens are consumed
31
+ * from the END, where Pango reads the size, and a token that matches no style word stays
32
+ * in the family.
33
+ */
34
+ export declare function parseFontDescription(text: string): PangoFontDescription;
35
+ /** `pango_font_description_to_string` — the same words, in the same order. */
36
+ export declare function formatFontDescription(description: PangoFontDescription): string;
37
+ /**
38
+ * `pango_font_description_equal` — every field, as Pango's own comparison is. `font-desc`
39
+ * is `G_PARAM_EXPLICIT_NOTIFY` (:345), so a write of the description already held must be
40
+ * the write that changes nothing (gtkfontdialogbutton.c:869-871).
41
+ */
42
+ export declare function fontDescriptionEqual(a: PangoFontDescription, b: PangoFontDescription): boolean;
43
+ /**
44
+ * `update_font_info`'s size format, `g_strdup_printf ("%2.4g%s", size / PANGO_SCALE, …)`
45
+ * (gtkfontdialogbutton.c:669-673) — four significant digits with the zeros stripped, and
46
+ * `px` when the size is absolute. `%g` is what `Number#toPrecision` computes and
47
+ * `Number#toString` then tidies, which is the whole of the difference between `12` and
48
+ * `12.00`.
49
+ */
50
+ export declare function formatFontSize(size: number, absolute: boolean): string;
51
+ /**
52
+ * The CSS projection of a description — `apply_use_font`'s attribute list
53
+ * (gtkfontdialogbutton.c:689-720), as the four LONGHANDS Pango's own attribute list sets.
54
+ *
55
+ * `use_size` is the one field `apply_use_font` may unset, and it is a parameter here for
56
+ * that reason: `PANGO_FONT_MASK_SIZE` goes only when the size is not wanted.
57
+ *
58
+ * The longhands rather than the `font` SHORTHAND, because the shorthand is all-or-nothing:
59
+ * one rejected token discards the family with it, and a description is half its fields.
60
+ * `cssFontShorthand` is the same projection for the one caller that needs a string —
61
+ * `FontFaceSet.check()`, which takes nothing else.
62
+ *
63
+ * THE SIZE CARRIES A UNIT, and Pango's own string does not — which is the one place this
64
+ * projection is not a rename. A bare `12` is a size in Pango (points, because
65
+ * `PangoFontDescription`'s size is divided by `PANGO_SCALE` and Pango's renderer reads
66
+ * points) and a length a CSS declaration REJECTS. `pt` is the unit Pango means — one point
67
+ * is 1/72 inch in both — so an absolute size keeps `px` and everything else becomes `pt`.
68
+ */
69
+ export interface CssFontParts {
70
+ fontFamily: string;
71
+ fontWeight: string;
72
+ fontStyle: string;
73
+ fontStretch: string;
74
+ fontSize: string;
75
+ }
76
+ /** An unset family is "None" as a LABEL, not a font to render in — so the generic is. */
77
+ export declare function cssFontParts(description: PangoFontDescription, useSize: boolean): CssFontParts;
78
+ /** {@link cssFontParts} as one `font` shorthand, for the string-shaped caller. */
79
+ export declare function cssFontShorthand(description: PangoFontDescription, useSize: boolean): string;
80
+ /**
81
+ * Pango's feature list as the TAGS a CSS `font-feature-settings` value is built from — the
82
+ * one place this module translates rather than renames.
83
+ *
84
+ * `pango_font_features_to_string` writes a comma-separated list of bare tags with `-` for
85
+ * off, which is the same LIST and not the same SYNTAX: CSS wants each tag quoted (`"liga"`).
86
+ *
87
+ * The tags come back as a LIST on purpose. `font-feature-settings` is all-or-nothing, and
88
+ * MEASURED in Firefox: the declaration `"liga", "-kern"` is DROPPED WHOLE — an unknown tag
89
+ * invalidates the value, not just itself — while `"liga"` alone stands. A single joined
90
+ * string would therefore lose every tag the browser does not know, which is a silent
91
+ * difference from Pango's "keep what you recognise". The caller applies the tags one at a
92
+ * time so a rejection costs one feature.
93
+ *
94
+ * `tnum=1` keeps its `=1`, which is Pango's own spelling for "on with a value".
95
+ */
96
+ export declare function cssFontFeatureTags(features: string): string[];
@@ -0,0 +1 @@
1
+ export declare const GtkAboutDialogTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkActionBarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkApplicationWindowTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkAspectFrameTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkCalendarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkCenterBoxTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkColorDialogButtonTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkColumnViewTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkDragIconTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkDrawingAreaTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkEditableLabelTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkEmojiChooserTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkExpanderTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkFixedTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkFlowBoxTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkFontDialogButtonTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkFrameTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkGLAreaTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkGraphicsOffloadTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkGridViewTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkGridTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkHeaderBarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkInscriptionTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkLevelBarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkLinkButtonTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkListBoxTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkListViewTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkMediaControlsTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkNotebookTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkOverlayTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPanedTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPasswordEntryTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPictureTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPopoverBinTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPopoverMenuBarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPopoverMenuTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPopoverRoleTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPopoverTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkPrintDialogsTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkRevealerTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkScaleButtonTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkScaleTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkScrollbarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkScrolledWindowTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkSearchBarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkSearchEntryTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkSeparatorTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkSpinButtonTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkSpinnerTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkStackSidebarTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkStackSwitcherTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkStackTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkTextViewTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkTextTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkToggleButtonTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkTreeExpanderTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkVideoTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkViewportTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkWindowControlsTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkWindowHandleTest: () => Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const GtkWindowTest: () => Promise<void>;
@@ -6,7 +6,8 @@ export type { AdwAccentSource } from './appearance.js';
6
6
  export { AdwScrollShading } from './scroll-shading.js';
7
7
  export type { AdwUndershootEdges } from './scroll-shading.js';
8
8
  export { buildSharedTree, mountSharedTree } from './shared-tree-builder.js';
9
- export type { MountedSharedTree } from './shared-tree-builder.js';
9
+ export type { MountOptions, MountedSharedTree, SizeSource } from './shared-tree-builder.js';
10
+ export { registerTemplateClass } from './template-classes.js';
10
11
  export { isIconAvailable, registerIcon } from './icon-registry.js';
11
12
  export * as Adw from './namespace/adw.js';
12
13
  export * as Gtk from './namespace/gtk.js';
@@ -20,6 +21,8 @@ export { AdwTabPage } from './elements/adw-tab-view.js';
20
21
  export { AdwViewSwitcherPage } from './elements/adw-view-switcher.js';
21
22
  export { AdwViewStackPage } from './elements/adw-inline-view-switcher.js';
22
23
  export { AdwSidebarItem, AdwSidebarSection } from './elements/adw-sidebar.js';
24
+ export { AdwShortcutsSection } from './elements/adw-shortcuts-section.js';
25
+ export { AdwShortcutsItem } from './elements/adw-shortcuts-item.js';
23
26
  export { AdwBottomSheetBottomBar, AdwBottomSheetContent, AdwBottomSheetSheet } from './elements/adw-bottom-sheet.js';
24
27
  export { AdwAlertResponse } from './elements/adw-alert-dialog.js';
25
28
  export type { GtkPopoverAlign, GtkPopoverPosition, GtkPopoverRole } from './elements/gtk-popover.js';
@@ -0,0 +1,44 @@
1
+ import type { AdwListItemFactory } from '@gjsify/adwaita-core';
2
+ /** The class every row/cell label carries, so one stylesheet rule reaches all three views. */
3
+ export declare const LIST_ITEM_LABEL_CLASS = "adw-list-item-label";
4
+ /**
5
+ * What a view draws for an item when no `factory` was set.
6
+ *
7
+ * GTK HAS NO DEFAULT FACTORY — `gtk_list_view_new (model, NULL)` is legal and draws empty
8
+ * rows, which on a documentation surface is indistinguishable from a broken widget. So
9
+ * the port's default is the factory every upstream example writes by hand: a label bound
10
+ * to the item. Setting `factory` replaces it, and that is the only way to get GTK's own
11
+ * answer back.
12
+ */
13
+ export declare const defaultListItemFactory: AdwListItemFactory<Node>;
14
+ /** What {@link attachRubberBand} needs to know about the view it bands. */
15
+ export interface AdwRubberBandInit {
16
+ /** The element the pointer listeners sit on. */
17
+ host: HTMLElement;
18
+ /** The positioned box the band is drawn inside — the row container. */
19
+ surface: HTMLElement;
20
+ /** Whether a drag may start right now: `enable-rubberband` AND a multiple selection. */
21
+ enabled: () => boolean;
22
+ /** The row elements, in model order. */
23
+ rows: () => readonly HTMLElement[];
24
+ /** Select every position the band covers, replacing the selection. */
25
+ selectPositions: (positions: readonly number[]) => void;
26
+ }
27
+ /**
28
+ * Rubberband selection — drag on the view's background to select what the rectangle
29
+ * covers.
30
+ *
31
+ * GTK runs this as a drag gesture on `GtkListBase` and draws a `rubberband` CSS node,
32
+ * which libadwaita styles as an accent border over a 20% accent fill
33
+ * (`_views.scss:47-50`); this builds the same node and lets that rule reach it.
34
+ *
35
+ * THE DRAG MUST START ON THE BACKGROUND. A press that lands on a row is that row's click
36
+ * — GTK's row gesture claims the sequence — so starting a band there would make every
37
+ * click a one-pixel drag and swallow the row's own selection step.
38
+ *
39
+ * The hit test is `getBoundingClientRect` per row against the band, which is the same
40
+ * question GTK answers against its tile areas. It is recomputed per pointermove rather
41
+ * than cached: a row's box can change mid-drag (a scroll, a factory that lays out late),
42
+ * and a cached rectangle would select the wrong rows without anything looking wrong.
43
+ */
44
+ export declare function attachRubberBand(init: AdwRubberBandInit): void;