@gjsify/adwaita-web 0.53.0 → 0.55.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 (440) hide show
  1. package/dist/adwaita-web.css +8070 -3037
  2. package/dist/adwaita-web.css.map +1 -1
  3. package/lib/types/adw-application-window.spec.d.ts +1 -0
  4. package/lib/types/adw-bin.spec.d.ts +1 -0
  5. package/lib/types/adw-breakpoint-bin.spec.d.ts +1 -0
  6. package/lib/types/adw-clamp-scrollable.spec.d.ts +1 -0
  7. package/lib/types/adw-multi-layout-view.spec.d.ts +1 -0
  8. package/lib/types/adw-preferences-row.spec.d.ts +1 -0
  9. package/lib/types/adw-shortcuts.spec.d.ts +1 -0
  10. package/lib/types/adw-tab-bar.spec.d.ts +1 -0
  11. package/lib/types/adw-tab-button.spec.d.ts +1 -0
  12. package/lib/types/adw-tab-overview.spec.d.ts +1 -0
  13. package/lib/types/adw-view-switcher-sidebar.spec.d.ts +1 -0
  14. package/lib/types/adw-window.spec.d.ts +1 -0
  15. package/lib/types/breakpoints.d.ts +14 -3
  16. package/lib/types/construct-vectors.spec.d.ts +1 -0
  17. package/lib/types/elements/adw-application-window.d.ts +27 -0
  18. package/lib/types/elements/adw-bin.d.ts +17 -0
  19. package/lib/types/elements/adw-breakpoint-bin.d.ts +67 -0
  20. package/lib/types/elements/adw-clamp-scrollable.d.ts +38 -0
  21. package/lib/types/elements/adw-dialog.d.ts +10 -0
  22. package/lib/types/elements/adw-layout-slot.d.ts +19 -0
  23. package/lib/types/elements/adw-multi-layout-view.d.ts +101 -0
  24. package/lib/types/elements/adw-preferences-row.d.ts +31 -0
  25. package/lib/types/elements/adw-shortcuts-dialog.d.ts +13 -0
  26. package/lib/types/elements/adw-shortcuts-item.d.ts +36 -0
  27. package/lib/types/elements/adw-shortcuts-section.d.ts +14 -0
  28. package/lib/types/elements/adw-sidebar.d.ts +5 -0
  29. package/lib/types/elements/adw-switch-row.d.ts +3 -0
  30. package/lib/types/elements/adw-tab-bar.d.ts +108 -0
  31. package/lib/types/elements/adw-tab-button.d.ts +32 -0
  32. package/lib/types/elements/adw-tab-overview.d.ts +199 -0
  33. package/lib/types/elements/adw-tab-view.d.ts +19 -23
  34. package/lib/types/elements/adw-view-switcher-sidebar.d.ts +84 -0
  35. package/lib/types/elements/adw-window.d.ts +40 -0
  36. package/lib/types/elements/gtk-about-dialog.d.ts +146 -0
  37. package/lib/types/elements/gtk-application-window.d.ts +34 -0
  38. package/lib/types/elements/gtk-aspect-frame.d.ts +27 -0
  39. package/lib/types/elements/gtk-button.d.ts +9 -0
  40. package/lib/types/elements/gtk-calendar.d.ts +159 -0
  41. package/lib/types/elements/gtk-center-box.d.ts +39 -0
  42. package/lib/types/elements/gtk-color-dialog-button.d.ts +69 -0
  43. package/lib/types/elements/gtk-column-view.d.ts +50 -0
  44. package/lib/types/elements/gtk-drag-icon.d.ts +78 -0
  45. package/lib/types/elements/gtk-drawing-area.d.ts +95 -0
  46. package/lib/types/elements/gtk-editable-label.d.ts +33 -0
  47. package/lib/types/elements/gtk-emoji-chooser.d.ts +84 -0
  48. package/lib/types/elements/gtk-entry.d.ts +20 -1
  49. package/lib/types/elements/gtk-expander.d.ts +49 -0
  50. package/lib/types/elements/gtk-fixed.d.ts +13 -0
  51. package/lib/types/elements/gtk-flow-box-child.d.ts +14 -0
  52. package/lib/types/elements/gtk-flow-box.d.ts +87 -0
  53. package/lib/types/elements/gtk-font-dialog-button.d.ts +83 -0
  54. package/lib/types/elements/gtk-frame.d.ts +24 -0
  55. package/lib/types/elements/gtk-gl-area.d.ts +136 -0
  56. package/lib/types/elements/gtk-graphics-offload.d.ts +24 -0
  57. package/lib/types/elements/gtk-grid-view.d.ts +39 -0
  58. package/lib/types/elements/gtk-grid.d.ts +27 -0
  59. package/lib/types/elements/gtk-header-bar.d.ts +60 -0
  60. package/lib/types/elements/gtk-inscription.d.ts +64 -0
  61. package/lib/types/elements/gtk-label.d.ts +3 -0
  62. package/lib/types/elements/gtk-level-bar.d.ts +59 -0
  63. package/lib/types/elements/gtk-link-button.d.ts +29 -0
  64. package/lib/types/elements/gtk-list-box-row.d.ts +54 -0
  65. package/lib/types/elements/gtk-list-box.d.ts +100 -0
  66. package/lib/types/elements/gtk-list-view.d.ts +73 -0
  67. package/lib/types/elements/gtk-media-controls.d.ts +142 -0
  68. package/lib/types/elements/gtk-notebook.d.ts +148 -0
  69. package/lib/types/elements/gtk-overlay.d.ts +22 -0
  70. package/lib/types/elements/gtk-page-setup-unix-dialog.d.ts +87 -0
  71. package/lib/types/elements/gtk-paned.d.ts +121 -0
  72. package/lib/types/elements/gtk-password-entry.d.ts +27 -0
  73. package/lib/types/elements/gtk-picture.d.ts +66 -0
  74. package/lib/types/elements/gtk-popover-bin.d.ts +82 -0
  75. package/lib/types/elements/gtk-popover-menu-bar.d.ts +66 -0
  76. package/lib/types/elements/gtk-popover-menu.d.ts +83 -0
  77. package/lib/types/elements/gtk-popover.d.ts +28 -3
  78. package/lib/types/elements/gtk-print-unix-dialog.d.ts +167 -0
  79. package/lib/types/elements/gtk-revealer.d.ts +55 -0
  80. package/lib/types/elements/gtk-scale-button.d.ts +59 -0
  81. package/lib/types/elements/gtk-scale.d.ts +98 -0
  82. package/lib/types/elements/gtk-scrollbar.d.ts +124 -0
  83. package/lib/types/elements/gtk-scrolled-window.d.ts +121 -0
  84. package/lib/types/elements/gtk-search-bar.d.ts +39 -0
  85. package/lib/types/elements/gtk-search-entry.d.ts +27 -0
  86. package/lib/types/elements/gtk-separator.d.ts +10 -0
  87. package/lib/types/elements/gtk-spin-button.d.ts +94 -0
  88. package/lib/types/elements/gtk-spinner.d.ts +14 -0
  89. package/lib/types/elements/gtk-stack-sidebar.d.ts +43 -0
  90. package/lib/types/elements/gtk-stack-switcher.d.ts +58 -0
  91. package/lib/types/elements/gtk-stack.d.ts +154 -0
  92. package/lib/types/elements/gtk-switch.d.ts +4 -1
  93. package/lib/types/elements/gtk-text-view.d.ts +62 -0
  94. package/lib/types/elements/gtk-text.d.ts +45 -0
  95. package/lib/types/elements/gtk-toggle-button.d.ts +45 -0
  96. package/lib/types/elements/gtk-tree-expander.d.ts +38 -0
  97. package/lib/types/elements/gtk-video.d.ts +97 -0
  98. package/lib/types/elements/gtk-viewport.d.ts +84 -0
  99. package/lib/types/elements/gtk-window-controls.d.ts +80 -0
  100. package/lib/types/elements/gtk-window-handle.d.ts +39 -0
  101. package/lib/types/elements/gtk-window.d.ts +97 -0
  102. package/lib/types/elements/justification.d.ts +2 -0
  103. package/lib/types/elements/popover-menu.d.ts +18 -0
  104. package/lib/types/elements/roving-focus.d.ts +29 -1
  105. package/lib/types/emoji-data.d.ts +38 -0
  106. package/lib/types/font-description.d.ts +96 -0
  107. package/lib/types/gtk-about-dialog.spec.d.ts +1 -0
  108. package/lib/types/gtk-action-bar.spec.d.ts +1 -0
  109. package/lib/types/gtk-application-window.spec.d.ts +1 -0
  110. package/lib/types/gtk-aspect-frame.spec.d.ts +1 -0
  111. package/lib/types/gtk-calendar.spec.d.ts +1 -0
  112. package/lib/types/gtk-center-box.spec.d.ts +1 -0
  113. package/lib/types/gtk-color-dialog-button.spec.d.ts +1 -0
  114. package/lib/types/gtk-column-view.spec.d.ts +1 -0
  115. package/lib/types/gtk-drag-icon.spec.d.ts +1 -0
  116. package/lib/types/gtk-drawing-area.spec.d.ts +1 -0
  117. package/lib/types/gtk-editable-label.spec.d.ts +1 -0
  118. package/lib/types/gtk-emoji-chooser.spec.d.ts +1 -0
  119. package/lib/types/gtk-expander.spec.d.ts +1 -0
  120. package/lib/types/gtk-fixed.spec.d.ts +1 -0
  121. package/lib/types/gtk-flow-box.spec.d.ts +1 -0
  122. package/lib/types/gtk-font-dialog-button.spec.d.ts +1 -0
  123. package/lib/types/gtk-frame.spec.d.ts +1 -0
  124. package/lib/types/gtk-gl-area.spec.d.ts +1 -0
  125. package/lib/types/gtk-graphics-offload.spec.d.ts +1 -0
  126. package/lib/types/gtk-grid-view.spec.d.ts +1 -0
  127. package/lib/types/gtk-grid.spec.d.ts +1 -0
  128. package/lib/types/gtk-header-bar.spec.d.ts +1 -0
  129. package/lib/types/gtk-inscription.spec.d.ts +1 -0
  130. package/lib/types/gtk-level-bar.spec.d.ts +1 -0
  131. package/lib/types/gtk-link-button.spec.d.ts +1 -0
  132. package/lib/types/gtk-list-box.spec.d.ts +1 -0
  133. package/lib/types/gtk-list-view.spec.d.ts +1 -0
  134. package/lib/types/gtk-media-controls.spec.d.ts +1 -0
  135. package/lib/types/gtk-notebook.spec.d.ts +1 -0
  136. package/lib/types/gtk-overlay.spec.d.ts +1 -0
  137. package/lib/types/gtk-paned.spec.d.ts +1 -0
  138. package/lib/types/gtk-password-entry.spec.d.ts +1 -0
  139. package/lib/types/gtk-picture.spec.d.ts +1 -0
  140. package/lib/types/gtk-popover-bin.spec.d.ts +1 -0
  141. package/lib/types/gtk-popover-menu-bar.spec.d.ts +1 -0
  142. package/lib/types/gtk-popover-menu.spec.d.ts +1 -0
  143. package/lib/types/gtk-popover-role.spec.d.ts +1 -0
  144. package/lib/types/gtk-popover.spec.d.ts +1 -0
  145. package/lib/types/gtk-print-dialogs.spec.d.ts +1 -0
  146. package/lib/types/gtk-revealer.spec.d.ts +1 -0
  147. package/lib/types/gtk-scale-button.spec.d.ts +1 -0
  148. package/lib/types/gtk-scale.spec.d.ts +1 -0
  149. package/lib/types/gtk-scrollbar.spec.d.ts +1 -0
  150. package/lib/types/gtk-scrolled-window.spec.d.ts +1 -0
  151. package/lib/types/gtk-search-bar.spec.d.ts +1 -0
  152. package/lib/types/gtk-search-entry.spec.d.ts +1 -0
  153. package/lib/types/gtk-separator.spec.d.ts +1 -0
  154. package/lib/types/gtk-spin-button.spec.d.ts +1 -0
  155. package/lib/types/gtk-spinner.spec.d.ts +1 -0
  156. package/lib/types/gtk-stack-sidebar.spec.d.ts +1 -0
  157. package/lib/types/gtk-stack-switcher.spec.d.ts +1 -0
  158. package/lib/types/gtk-stack.spec.d.ts +1 -0
  159. package/lib/types/gtk-text-view.spec.d.ts +1 -0
  160. package/lib/types/gtk-text.spec.d.ts +1 -0
  161. package/lib/types/gtk-toggle-button.spec.d.ts +1 -0
  162. package/lib/types/gtk-tree-expander.spec.d.ts +1 -0
  163. package/lib/types/gtk-video.spec.d.ts +1 -0
  164. package/lib/types/gtk-viewport.spec.d.ts +1 -0
  165. package/lib/types/gtk-window-controls.spec.d.ts +1 -0
  166. package/lib/types/gtk-window-handle.spec.d.ts +1 -0
  167. package/lib/types/gtk-window.spec.d.ts +1 -0
  168. package/lib/types/index.d.ts +4 -1
  169. package/lib/types/list-view-dom.d.ts +44 -0
  170. package/lib/types/namespace/adw.d.ts +12 -0
  171. package/lib/types/namespace/gtk.d.ts +61 -0
  172. package/lib/types/page-setup.d.ts +100 -0
  173. package/lib/types/scroll-shading.d.ts +15 -1
  174. package/lib/types/shared-tree-builder.d.ts +30 -2
  175. package/lib/types/signals.d.ts +4 -0
  176. package/lib/types/styles.generated.d.ts +1 -1
  177. package/lib/types/tab-chip.d.ts +73 -0
  178. package/lib/types/template-classes.d.ts +11 -0
  179. package/package.json +12 -8
  180. package/scss/_action_row.scss +2 -2
  181. package/scss/_application_window.scss +26 -0
  182. package/scss/_aspect_frame.scss +25 -0
  183. package/scss/_bin.scss +26 -0
  184. package/scss/_button.scss +45 -0
  185. package/scss/_calendar.scss +176 -0
  186. package/scss/_center_box.scss +25 -0
  187. package/scss/_checks.scss +6 -1
  188. package/scss/_clamp_scrollable.scss +28 -0
  189. package/scss/_color_button.scss +67 -0
  190. package/scss/_column_view.scss +126 -0
  191. package/scss/_drag_icon.scss +55 -0
  192. package/scss/_drawing.scss +85 -0
  193. package/scss/_emoji_chooser.scss +213 -0
  194. package/scss/_entry.scss +13 -5
  195. package/scss/_entry_row.scss +1 -1
  196. package/scss/_expander.scss +113 -0
  197. package/scss/_fixed.scss +29 -0
  198. package/scss/_flow_box.scss +94 -0
  199. package/scss/_font_button.scss +63 -0
  200. package/scss/_frame.scss +41 -0
  201. package/scss/_grid.scss +19 -0
  202. package/scss/_grid_view.scss +46 -0
  203. package/scss/_gtk_about_dialog.scss +186 -0
  204. package/scss/_headerbar.scss +132 -0
  205. package/scss/_icons.generated.scss +186 -0
  206. package/scss/_inscription.scss +125 -0
  207. package/scss/_level_bar.scss +190 -0
  208. package/scss/_link.scss +82 -0
  209. package/scss/_list_box.scss +88 -0
  210. package/scss/_list_view.scss +96 -0
  211. package/scss/_media_controls.scss +139 -0
  212. package/scss/_overlay.scss +68 -0
  213. package/scss/_paned.scss +130 -0
  214. package/scss/_password_entry.scss +83 -0
  215. package/scss/_picture.scss +80 -0
  216. package/scss/_popover_bin.scss +53 -0
  217. package/scss/_popover_menu_bar.scss +104 -0
  218. package/scss/_preferences_row.scss +51 -0
  219. package/scss/_print_dialogs.scss +328 -0
  220. package/scss/_reset.scss +21 -19
  221. package/scss/_revealer.scss +37 -0
  222. package/scss/_row.scss +20 -5
  223. package/scss/_scale.scss +298 -0
  224. package/scss/_scale_button.scss +167 -0
  225. package/scss/_scrollbar.scss +230 -0
  226. package/scss/_scrolled_window.scss +131 -0
  227. package/scss/_search_bar.scss +118 -0
  228. package/scss/_search_entry.scss +86 -0
  229. package/scss/_separator.scss +44 -0
  230. package/scss/_shortcuts_dialog.scss +100 -0
  231. package/scss/_spin_button.scss +172 -0
  232. package/scss/_spin_row.scss +56 -8
  233. package/scss/_spinner.scss +85 -4
  234. package/scss/_stack.scss +729 -0
  235. package/scss/_switch.scss +13 -5
  236. package/scss/_switch_row.scss +10 -0
  237. package/scss/_tab_bar.scss +317 -0
  238. package/scss/_tab_button.scss +98 -0
  239. package/scss/_tab_overview.scss +483 -0
  240. package/scss/_text.scss +182 -0
  241. package/scss/_theme.scss +1 -1
  242. package/scss/_tree_expander.scss +62 -0
  243. package/scss/_variables.scss +43 -21
  244. package/scss/_video.scss +146 -0
  245. package/scss/_view_switcher_sidebar.scss +112 -0
  246. package/scss/_viewport.scss +50 -0
  247. package/scss/_window.scss +118 -1
  248. package/scss/_window_handle.scss +20 -0
  249. package/scss/adwaita-skin.scss +109 -0
  250. package/src/adw-action-rows.spec.ts +76 -0
  251. package/src/adw-application-window.spec.ts +118 -0
  252. package/src/adw-bin.spec.ts +75 -0
  253. package/src/adw-breakpoint-bin.spec.ts +324 -0
  254. package/src/adw-clamp-scrollable.spec.ts +189 -0
  255. package/src/adw-multi-layout-view.spec.ts +243 -0
  256. package/src/adw-preferences-row.spec.ts +164 -0
  257. package/src/adw-row-state.spec.ts +142 -0
  258. package/src/adw-shortcuts.spec.ts +155 -0
  259. package/src/adw-tab-bar.spec.ts +287 -0
  260. package/src/adw-tab-button.spec.ts +101 -0
  261. package/src/adw-tab-overview.spec.ts +443 -0
  262. package/src/adw-view-switcher-sidebar.spec.ts +281 -0
  263. package/src/adw-window.spec.ts +129 -0
  264. package/src/breakpoints.ts +25 -8
  265. package/src/capabilities.d.mts +3 -0
  266. package/src/capabilities.mjs +18 -0
  267. package/src/connect-lifecycle.spec.ts +12 -0
  268. package/src/construct-vectors.spec.ts +175 -0
  269. package/src/elements/adw-application-window.ts +154 -0
  270. package/src/elements/adw-bin.ts +101 -0
  271. package/src/elements/adw-breakpoint-bin.ts +287 -0
  272. package/src/elements/adw-clamp-scrollable.ts +207 -0
  273. package/src/elements/adw-dialog.ts +19 -0
  274. package/src/elements/adw-layout-slot.ts +95 -0
  275. package/src/elements/adw-multi-layout-view.ts +326 -0
  276. package/src/elements/adw-preferences-row.ts +150 -0
  277. package/src/elements/adw-shortcuts-dialog.ts +52 -0
  278. package/src/elements/adw-shortcuts-item.ts +171 -0
  279. package/src/elements/adw-shortcuts-section.ts +86 -0
  280. package/src/elements/adw-sidebar.ts +42 -3
  281. package/src/elements/adw-switch-row.ts +28 -1
  282. package/src/elements/adw-tab-bar.ts +529 -0
  283. package/src/elements/adw-tab-button.ts +194 -0
  284. package/src/elements/adw-tab-overview.ts +1011 -0
  285. package/src/elements/adw-tab-view.ts +66 -145
  286. package/src/elements/adw-toggle-group.ts +20 -5
  287. package/src/elements/adw-view-stack.ts +18 -0
  288. package/src/elements/adw-view-switcher-sidebar.ts +332 -0
  289. package/src/elements/adw-window.ts +185 -11
  290. package/src/elements/checks.ts +35 -8
  291. package/src/elements/gtk-about-dialog.ts +811 -0
  292. package/src/elements/gtk-application-window.ts +108 -0
  293. package/src/elements/gtk-aspect-frame.ts +160 -0
  294. package/src/elements/gtk-button.ts +12 -0
  295. package/src/elements/gtk-calendar.ts +757 -0
  296. package/src/elements/gtk-center-box.ts +184 -0
  297. package/src/elements/gtk-color-dialog-button.ts +278 -0
  298. package/src/elements/gtk-column-view.ts +320 -0
  299. package/src/elements/gtk-drag-icon.ts +257 -0
  300. package/src/elements/gtk-drawing-area.ts +303 -0
  301. package/src/elements/gtk-editable-label.ts +204 -0
  302. package/src/elements/gtk-emoji-chooser.ts +542 -0
  303. package/src/elements/gtk-entry.ts +39 -5
  304. package/src/elements/gtk-expander.ts +301 -0
  305. package/src/elements/gtk-fixed.ts +99 -0
  306. package/src/elements/gtk-flow-box-child.ts +68 -0
  307. package/src/elements/gtk-flow-box.ts +480 -0
  308. package/src/elements/gtk-font-dialog-button.ts +432 -0
  309. package/src/elements/gtk-frame.ts +174 -0
  310. package/src/elements/gtk-gl-area.ts +476 -0
  311. package/src/elements/gtk-graphics-offload.ts +130 -0
  312. package/src/elements/gtk-grid-view.ts +168 -0
  313. package/src/elements/gtk-grid.ts +127 -0
  314. package/src/elements/gtk-header-bar.ts +273 -0
  315. package/src/elements/gtk-inscription.ts +387 -0
  316. package/src/elements/gtk-label.ts +19 -11
  317. package/src/elements/gtk-level-bar.ts +323 -0
  318. package/src/elements/gtk-link-button.ts +138 -0
  319. package/src/elements/gtk-list-box-row.ts +195 -0
  320. package/src/elements/gtk-list-box.ts +413 -0
  321. package/src/elements/gtk-list-view.ts +370 -0
  322. package/src/elements/gtk-media-controls.ts +509 -0
  323. package/src/elements/gtk-notebook.ts +664 -0
  324. package/src/elements/gtk-overlay.ts +149 -0
  325. package/src/elements/gtk-page-setup-unix-dialog.ts +420 -0
  326. package/src/elements/gtk-paned.ts +597 -0
  327. package/src/elements/gtk-password-entry.ts +170 -0
  328. package/src/elements/gtk-picture.ts +254 -0
  329. package/src/elements/gtk-popover-bin.ts +332 -0
  330. package/src/elements/gtk-popover-menu-bar.ts +355 -0
  331. package/src/elements/gtk-popover-menu.ts +339 -0
  332. package/src/elements/gtk-popover.ts +92 -10
  333. package/src/elements/gtk-print-unix-dialog.ts +989 -0
  334. package/src/elements/gtk-progress-bar.ts +24 -11
  335. package/src/elements/gtk-revealer.ts +406 -0
  336. package/src/elements/gtk-scale-button.ts +358 -0
  337. package/src/elements/gtk-scale.ts +492 -0
  338. package/src/elements/gtk-scrollbar.ts +528 -0
  339. package/src/elements/gtk-scrolled-window.ts +642 -0
  340. package/src/elements/gtk-search-bar.ts +200 -0
  341. package/src/elements/gtk-search-entry.ts +172 -0
  342. package/src/elements/gtk-separator.ts +52 -0
  343. package/src/elements/gtk-spin-button.ts +475 -0
  344. package/src/elements/gtk-spinner.ts +126 -0
  345. package/src/elements/gtk-stack-sidebar.ts +212 -0
  346. package/src/elements/gtk-stack-switcher.ts +279 -0
  347. package/src/elements/gtk-stack.ts +748 -0
  348. package/src/elements/gtk-switch.ts +52 -19
  349. package/src/elements/gtk-text-view.ts +290 -0
  350. package/src/elements/gtk-text.ts +219 -0
  351. package/src/elements/gtk-toggle-button.ts +239 -0
  352. package/src/elements/gtk-tree-expander.ts +243 -0
  353. package/src/elements/gtk-video.ts +423 -0
  354. package/src/elements/gtk-viewport.ts +277 -0
  355. package/src/elements/gtk-window-controls.ts +341 -0
  356. package/src/elements/gtk-window-handle.ts +221 -0
  357. package/src/elements/gtk-window.ts +366 -0
  358. package/src/elements/justification.ts +24 -0
  359. package/src/elements/popover-menu.ts +24 -0
  360. package/src/elements/roving-focus.ts +53 -21
  361. package/src/emoji-data.ts +577 -0
  362. package/src/entry-rows.spec.ts +31 -0
  363. package/src/font-description.ts +238 -0
  364. package/src/gtk-about-dialog.spec.ts +250 -0
  365. package/src/gtk-action-bar.spec.ts +89 -0
  366. package/src/gtk-application-window.spec.ts +107 -0
  367. package/src/gtk-aspect-frame.spec.ts +114 -0
  368. package/src/gtk-calendar.spec.ts +589 -0
  369. package/src/gtk-center-box.spec.ts +125 -0
  370. package/src/gtk-color-dialog-button.spec.ts +141 -0
  371. package/src/gtk-column-view.spec.ts +154 -0
  372. package/src/gtk-drag-icon.spec.ts +190 -0
  373. package/src/gtk-drawing-area.spec.ts +211 -0
  374. package/src/gtk-editable-label.spec.ts +190 -0
  375. package/src/gtk-emoji-chooser.spec.ts +173 -0
  376. package/src/gtk-entry.spec.ts +23 -0
  377. package/src/gtk-expander.spec.ts +170 -0
  378. package/src/gtk-fixed.spec.ts +97 -0
  379. package/src/gtk-flow-box.spec.ts +289 -0
  380. package/src/gtk-font-dialog-button.spec.ts +166 -0
  381. package/src/gtk-frame.spec.ts +119 -0
  382. package/src/gtk-gl-area.spec.ts +361 -0
  383. package/src/gtk-graphics-offload.spec.ts +119 -0
  384. package/src/gtk-grid-view.spec.ts +106 -0
  385. package/src/gtk-grid.spec.ts +122 -0
  386. package/src/gtk-header-bar.spec.ts +202 -0
  387. package/src/gtk-inscription.spec.ts +235 -0
  388. package/src/gtk-level-bar.spec.ts +199 -0
  389. package/src/gtk-link-button.spec.ts +117 -0
  390. package/src/gtk-list-box.spec.ts +422 -0
  391. package/src/gtk-list-view.spec.ts +203 -0
  392. package/src/gtk-media-controls.spec.ts +295 -0
  393. package/src/gtk-notebook.spec.ts +546 -0
  394. package/src/gtk-overlay.spec.ts +141 -0
  395. package/src/gtk-paned.spec.ts +267 -0
  396. package/src/gtk-password-entry.spec.ts +150 -0
  397. package/src/gtk-picture.spec.ts +172 -0
  398. package/src/gtk-popover-bin.spec.ts +229 -0
  399. package/src/gtk-popover-menu-bar.spec.ts +296 -0
  400. package/src/gtk-popover-menu.spec.ts +261 -0
  401. package/src/gtk-popover-role.spec.ts +138 -0
  402. package/src/gtk-popover.spec.ts +264 -0
  403. package/src/gtk-print-dialogs.spec.ts +251 -0
  404. package/src/gtk-revealer.spec.ts +164 -0
  405. package/src/gtk-scale-button.spec.ts +218 -0
  406. package/src/gtk-scale.spec.ts +213 -0
  407. package/src/gtk-scrollbar.spec.ts +244 -0
  408. package/src/gtk-scrolled-window.spec.ts +262 -0
  409. package/src/gtk-search-bar.spec.ts +179 -0
  410. package/src/gtk-search-entry.spec.ts +142 -0
  411. package/src/gtk-separator.spec.ts +74 -0
  412. package/src/gtk-spin-button.spec.ts +186 -0
  413. package/src/gtk-spinner.spec.ts +130 -0
  414. package/src/gtk-stack-sidebar.spec.ts +217 -0
  415. package/src/gtk-stack-switcher.spec.ts +249 -0
  416. package/src/gtk-stack.spec.ts +432 -0
  417. package/src/gtk-text-view.spec.ts +189 -0
  418. package/src/gtk-text.spec.ts +163 -0
  419. package/src/gtk-toggle-button.spec.ts +186 -0
  420. package/src/gtk-tree-expander.spec.ts +201 -0
  421. package/src/gtk-video.spec.ts +240 -0
  422. package/src/gtk-viewport.spec.ts +140 -0
  423. package/src/gtk-window-controls.spec.ts +232 -0
  424. package/src/gtk-window-handle.spec.ts +158 -0
  425. package/src/gtk-window.spec.ts +190 -0
  426. package/src/index.ts +9 -1
  427. package/src/keyboard-operable.spec.ts +33 -1
  428. package/src/list-view-dom.ts +121 -0
  429. package/src/namespace/adw.ts +12 -0
  430. package/src/namespace/gtk.ts +61 -0
  431. package/src/page-setup.ts +222 -0
  432. package/src/scroll-shading.ts +18 -1
  433. package/src/shared-tree-builder.ts +263 -21
  434. package/src/signals.ts +15 -0
  435. package/src/source-view/theme.ts +11 -5
  436. package/src/style-classes.spec.ts +9 -8
  437. package/src/styles.generated.ts +1 -1
  438. package/src/tab-chip.ts +200 -0
  439. package/src/template-classes.ts +45 -0
  440. package/src/test.browser.mts +152 -0
@@ -0,0 +1,83 @@
1
+ // _password_entry.scss — <gtk-password-entry>: an `entry.password` box with a Caps Lock
2
+ // warning leading and a peek button trailing.
3
+ //
4
+ // libadwaita styles `entry` and `entry.password` in ONE partial (_entries.scss:1-96), and the
5
+ // password half is four rules: the entry shape itself, `> image { opacity: 70% }` for the
6
+ // icons inside an entry (:42-61), and `&.password image.caps-lock-indicator { opacity:
7
+ // $dimmer_opacity }` (:63-69). Everything else here is the box this package's
8
+ // `_entry.scss` already gives `gtk-entry`, restated because the Caps Lock indicator is a
9
+ // TEXT glyph rather than a masked icon and would otherwise take the entry's own padding.
10
+ //
11
+ // Reference: refs/libadwaita/src/stylesheet/widgets/_entries.scss:1-96
12
+ // Copyright (c) GNOME contributors (libadwaita). LGPLv2.1+.
13
+ // Modifications: Adapted for @gjsify/adwaita-web Web Components.
14
+
15
+ gtk-password-entry {
16
+ display: flex;
17
+ flex: 1;
18
+ min-width: 0;
19
+ align-items: center;
20
+ box-sizing: border-box;
21
+ min-height: 34px;
22
+ padding: 0 9px;
23
+ border-radius: var(--button-radius);
24
+ background-color: var(--button-bg-color);
25
+ background-clip: padding-box;
26
+ caret-color: currentColor;
27
+
28
+ @media (prefers-contrast: more) {
29
+ box-shadow: inset 0 0 0 1px var(--border-color);
30
+ }
31
+
32
+ // The entry shape `_entry.scss` gives the inner input, narrowed to this widget's own parts.
33
+ .adw-entry {
34
+ flex: 1;
35
+ min-width: 0;
36
+ min-height: auto;
37
+ padding: 6px 0;
38
+ background-color: transparent;
39
+ box-shadow: none;
40
+
41
+ &:focus,
42
+ &:focus-visible {
43
+ box-shadow: none;
44
+ }
45
+ }
46
+
47
+ // `&.password image.caps-lock-indicator { opacity: $dimmer_opacity }` (:63-69). The glyph
48
+ // is text — `caps-lock-symbolic` is in no icon theme this renderer can compile — so it is
49
+ // DIMMED rather than masked, and it carries the canonical name in `data-icon-name`.
50
+ .adw-password-entry-caps-lock {
51
+ flex: none;
52
+ margin-right: 6px;
53
+ color: currentColor;
54
+ opacity: 0.45;
55
+ font-size: var(--font-size-base);
56
+ line-height: 1;
57
+
58
+ @media (prefers-contrast: more) {
59
+ opacity: 0.6;
60
+ }
61
+ }
62
+
63
+ // `> image { … &.right { margin-left: 6px } }` (:42-61): the icons inside an entry are at
64
+ // 70% and go to 100% on hover, which is the rule the peek button is a `gtk-image` for.
65
+ .adw-password-entry-peek {
66
+ flex: none;
67
+ margin-left: 6px;
68
+ opacity: 70%;
69
+ color: inherit;
70
+
71
+ @media (prefers-contrast: more) {
72
+ opacity: 85%;
73
+ }
74
+
75
+ &:hover {
76
+ opacity: 100%;
77
+ }
78
+
79
+ &:active {
80
+ opacity: 80%;
81
+ }
82
+ }
83
+ }
@@ -0,0 +1,80 @@
1
+ // _picture.scss — <gtk-picture>: the fit box, and the isolation boundary.
2
+ //
3
+ // libadwaita has NO `_picture.scss` of its own. Its only `picture` rule is a conditional
4
+ // inside a card's selector (`refs/libadwaita/src/stylesheet/widgets/_tab-view.scss:216`,
5
+ // `&.card > picture`), because a picture needs no styling of its own until a card asks for
6
+ // rounded corners. So everything structural below comes from the C, and the header of
7
+ // `gtk-picture.ts` says which C.
8
+ //
9
+ // WHY `object-fit` GOES ON THE CHILD AND NOT HERE. The four `GtkContentFit` members ARE
10
+ // the four CSS `object-fit` values, including `scale-down` (gtkpicture.c:162-167), so the
11
+ // mapping is exact rather than approximate — but `object-fit` applies to a REPLACED element's
12
+ // content box, and `<gtk-picture>` is a `<div>` with no content of its own. The element
13
+ // therefore writes `--gtk-picture-content-fit` and this rule hands it down with the explicit
14
+ // `inherit` keyword, which takes the parent's computed value whether or not the property is
15
+ // an inherited one.
16
+ //
17
+ // `can-shrink` IS THE MEASURE, AND `min-content` IS ITS OPPOSITE. A picture that may shrink
18
+ // reports a minimum of ZERO on both axes whatever the paintable is (gtkpicture.c:245-248);
19
+ // a picture that may not asks the paintable for a CONCRETE minimum — its own minimum at the
20
+ // style's icon size (gtkpicture.c:249-254) — which is what `min-content` is for a replaced
21
+ // element with an intrinsic size. The class is set from the NORMALIZED property, so a
22
+ // `can-shrink="false"` attribute and `canShrink = false` agree, and an absent attribute is
23
+ // TRUE (the C's own default, gtkpicture.c:554) rather than falling into the `min-content`
24
+ // branch by accident.
25
+ //
26
+ // `isolation: isolate` IS `gtk_snapshot_push_isolation`. The property brackets the snapshot
27
+ // (gtkpicture.c:148-149, :203-204), which stops the paintable's alpha compositing against
28
+ // whatever is behind the widget WITHOUT changing how the widget is positioned or sized —
29
+ // `contain: paint` would also establish a boundary and would additionally make the element a
30
+ // containing block for fixed and absolutely positioned descendants, which
31
+ // `push_isolation` does not do.
32
+ //
33
+ // `overflow: hidden` is not a styling choice: it is `gtk_widget_set_overflow (widget,
34
+ // GTK_OVERFLOW_HIDDEN)` in `init` (gtkpicture.c:557), which is what makes `cover` clip its
35
+ // overflow instead of painting outside the box.
36
+ //
37
+ // Reference: refs/libadwaita/src/stylesheet/widgets/_tab-view.scss:216 (the only upstream
38
+ // `picture` rule, a card's conditional rounded corner)
39
+ // Reference: refs/gtk/gtk/gtkpicture.c:146-205,245-254,538-557
40
+ // Copyright (c) GNOME contributors (libadwaita). LGPLv2.1+.
41
+ // Copyright (c) The GTK Team. LGPLv2.1+.
42
+ // Modifications: Adapted for @gjsify/adwaita-web Web Components.
43
+
44
+ gtk-picture {
45
+ display: inline-flex;
46
+
47
+ // `gtk_widget_set_overflow (widget, GTK_OVERFLOW_HIDDEN)` (gtkpicture.c:557).
48
+ overflow: hidden;
49
+
50
+ // `GtkPicture:isolate-contents` (gtkpicture.c:538-549, :555) as the stacking boundary
51
+ // `gtk_snapshot_push_isolation` creates (gtkpicture.c:148-149).
52
+ isolation: isolate;
53
+
54
+ // The content fit, handed to the replaced child below. `fill` is the C's first branch
55
+ // (gtkpicture.c:146) and the initial value of the custom property, so a picture with no
56
+ // `content-fit` written yet and no stylesheet loaded behaves like the C's default arm
57
+ // rather than like a broken one.
58
+ --gtk-picture-content-fit: fill;
59
+
60
+ &:not(.can-shrink) {
61
+ // `gtk_picture_measure`'s `else` arm (gtkpicture.c:249-254): the paintable's own
62
+ // concrete minimum, which is `min-content` for a replaced element.
63
+ min-width: min-content;
64
+ min-height: min-content;
65
+ }
66
+
67
+ // The four `GtkContentFit` members are the four CSS values (gtkpicture.c:146-205). The
68
+ // replaced-element list is what `GdkPaintable` can stand in for here: an image, a video
69
+ // frame (which is exactly what `<gtk-video>` puts inside its own picture), a canvas, an
70
+ // inline SVG.
71
+ > :is(img, video, canvas, picture, svg) {
72
+ object-fit: var(--gtk-picture-content-fit);
73
+
74
+ // The element is `display: inline-flex`, so a replaced child is a flex item and gets
75
+ // `min-width: auto` — the same "never smaller than my content" floor a flex row gives,
76
+ // which would defeat `can-shrink` before `min-content` was ever consulted.
77
+ min-width: 0;
78
+ min-height: 0;
79
+ }
80
+ }
@@ -0,0 +1,53 @@
1
+ // _popover_bin.scss — <gtk-popover-bin>: the container around a widget that owns a popover.
2
+ //
3
+ // libadwaita has NO `popoverbin` rule — the node is new in GTK 4.22
4
+ // (`gtk_widget_class_set_css_name (widget_class, "popoverbin")`, gtkpopoverbin.c:382) and
5
+ // libadwaita 1.10 never styles it. So this partial is small on purpose, and the claim it
6
+ // makes is exactly what GTK does with the class GTK ITSELF puts on the child:
7
+ //
8
+ // `on_popover_map` / `on_popover_unmap` (gtkpopoverbin.c:117-126) add and remove
9
+ // `.has-open-popup` on the bin's CHILD, and libadwaita's `_lists.scss:57` comments that
10
+ // class as "indicathing which row generated a popover" — a list row and a sidebar row
11
+ // (`:132`) both keep their selected tint while their popup is up.
12
+ //
13
+ // The rules below are therefore the two libadwaita ALREADY ships, restated against this
14
+ // package's tokens, because this package spells a row as a custom element rather than as
15
+ // GTK's `row` node. Both values are libadwaita's own:
16
+ //
17
+ // row.activatable.has-open-popup background-color: $view_hover_color;
18
+ // row.activatable:selected.has-open-popup $view_selected_hover_color;
19
+ //
20
+ // A bin whose child is a `<gtk-list-box-row>` or a `<gtk-button>` therefore stays highlighted
21
+ // while its menu is open, which is the whole reason the class exists and the reason this
22
+ // element toggles it rather than merely mirroring GTK's signal wiring.
23
+ //
24
+ // Reference: refs/libadwaita/src/stylesheet/widgets/_lists.scss:57, :64 (`row.has-open-popup`)
25
+ // Reference: refs/libadwaita/src/stylesheet/widgets/_sidebars.scss:132 (the sidebar row)
26
+ // Reference: refs/gtk/gtk/gtkpopoverbin.c:117-126 (`.has-open-popup` on the child)
27
+ // Copyright (c) GNOME contributors (GTK, libadwaita). LGPLv2.1+
28
+ // Modifications: Adapted for the @gjsify/adwaita-web light-DOM custom elements.
29
+
30
+ // The bin itself draws nothing: it is a bin layout holding one child and the popover, and
31
+ // `gtk_popover_bin_compute_expand` (gtkpopoverbin.c:289-306) simply forwards the child's
32
+ // expand to the bin. A `display: inline-flex` here would be an invented box, and the one
33
+ // thing it must not do is take the popover out of flow — `_popover.scss` already positions
34
+ // it absolutely against this element.
35
+ .adw-popover-bin {
36
+ position: relative;
37
+ }
38
+
39
+ // `row.activatable.has-open-popup { background-color: $view_hover_color }`
40
+ // (_lists.scss:57). `view-hover-color` is the token `_lists.scss` uses for an activatable
41
+ // row under the pointer, which is the closest thing this package has to a row that is
42
+ // "activated" by a popup it did not ask for.
43
+ .adw-popover-bin > .has-open-popup {
44
+ background-color: var(--view-hover-color, var(--button-hover-color));
45
+ }
46
+
47
+ // `_lists.scss:64` — the same, for a row that is ALSO selected: libadwaita darkens to
48
+ // `$view_selected_hover_color` rather than repeating the plain hover colour, which is what
49
+ // keeps a selected row readable while its popup covers the list.
50
+ .adw-popover-bin > .has-open-popup[aria-selected='true'],
51
+ .adw-popover-bin > .has-open-popup.selected {
52
+ background-color: var(--view-selected-hover-color, var(--button-hover-color));
53
+ }
@@ -0,0 +1,104 @@
1
+ // _popover_menu_bar.scss — <gtk-popover-menu-bar>: a horizontal bar of items that pop up
2
+ // a menu when clicked.
3
+ //
4
+ // libadwaita styles `menubar` in ONE place — the tail of `_menus.scss:244-269`, beside the
5
+ // `popover.menu` rules rather than in a file of its own — so this partial holds that block
6
+ // and nothing else. The values are libadwaita's:
7
+ //
8
+ // menubar box-shadow: inset 0 -1px $border_color; padding-bottom: 1px;
9
+ // menubar > item min-height: 16px; padding: 4px 8px;
10
+ // border-radius: $button_radius (9px, `_common.scss:8`);
11
+ // menubar > item:selected background-color: $selected_color, plus the
12
+ // `prefers-contrast: more` inset hairline.
13
+ //
14
+ // `:selected` is GTK's keyboard-highlight pseudo-class, which has no DOM counterpart: it is
15
+ // the SELECTED item (`set_active_item` sets and unsets `GTK_STATE_FLAG_SELECTED`,
16
+ // gtkpopovermenubar.c:145-152), and this package spells it `.selected` for the same reason
17
+ // `.checked` stands in for `:checked` elsewhere. The hover and focus states are this
18
+ // element's own addition, not libadwaita's: the upstream rule keys only on `:selected`
19
+ // (with the comment "seems like it :hover even with keyboard focus"), and a DOM item takes
20
+ // real focus where a GTK item is merely highlighted, so without them a keyboard reader would
21
+ // see nothing move at all.
22
+ //
23
+ // NOTHING ELSE IS HERE, and the omissions are load-bearing. Each item's popover is a
24
+ // `<gtk-popover-menu>`, so its surface, its 15px radius and its item rows are
25
+ // `_popover.scss`'s — which is the point of this partial being small. The NESTED SUBMENU
26
+ // rules libadwaita adds under `> item` (`popover.menu popover.menu` drops its top radius,
27
+ // _menus.scss:257-263) are NOT ported: they exist to flatten the seam where two popovers
28
+ // OVERLAP, and this port's surfaces never do — placement is the `position`/`align` pair
29
+ // with a 6px gap, so there is no seam to flatten.
30
+ //
31
+ // Reference: refs/libadwaita/src/stylesheet/widgets/_menus.scss:244-269 (`menubar`)
32
+ // Reference: refs/libadwaita/src/stylesheet/_common.scss:8 ($button_radius)
33
+ // Reference: refs/gtk/gtk/gtkpopovermenubar.c:38-51 (the node tree and `.active`)
34
+ // Copyright (c) GNOME contributors (libadwaita). LGPLv2.1+
35
+ // Modifications: Adapted for the @gjsify/adwaita-web light-DOM custom elements —
36
+ // `menubar > item` becomes `.adw-popover-menu-bar-item`, whose BUTTON is the `item`, and
37
+ // `:selected` becomes `.selected`.
38
+
39
+ .adw-popover-menu-bar {
40
+ display: flex;
41
+ align-items: center;
42
+ box-sizing: border-box;
43
+ box-shadow: inset 0 -1px var(--separator-color, rgba(0, 0, 0, 0.15));
44
+ padding-bottom: 1px;
45
+
46
+ // The wrapper carries GTK's `item` NODE, which is the positioning context the popover
47
+ // hangs off — `<gtk-popover>` places itself against `parentElement`, and this is it.
48
+ .adw-popover-menu-bar-item {
49
+ position: relative;
50
+ display: flex;
51
+ align-items: center;
52
+ }
53
+
54
+ .adw-popover-menu-bar-button {
55
+ box-sizing: border-box;
56
+ display: inline-flex;
57
+ align-items: center;
58
+ min-height: 16px;
59
+ padding: 4px 8px;
60
+ margin: 0;
61
+ border: none;
62
+ border-radius: var(--button-radius);
63
+ background-color: transparent;
64
+ color: inherit;
65
+ font-family: var(--font-family);
66
+ font-size: var(--font-size-base);
67
+ cursor: pointer;
68
+ transition: background-color 0.1s ease;
69
+
70
+ // The two states libadwaita and the DOM each contribute: `.selected` for GTK's
71
+ // `:selected`, `:hover`/`:focus` because a DOM item takes focus where a GTK item is
72
+ // merely highlighted.
73
+ &.selected,
74
+ &:hover,
75
+ &:focus {
76
+ background-color: var(--button-hover-color);
77
+ }
78
+
79
+ &:active {
80
+ background-color: var(--button-active-color);
81
+ }
82
+
83
+ @media (prefers-contrast: more) {
84
+ &.selected,
85
+ &:hover,
86
+ &:focus,
87
+ &:active {
88
+ box-shadow: inset 0 0 0 1px var(--separator-color);
89
+ }
90
+ }
91
+
92
+ &:focus-visible {
93
+ outline: 2px solid var(--accent-color);
94
+ outline-offset: 1px;
95
+ }
96
+ }
97
+
98
+ // `.active` is the item whose POPOVER IS OPEN, not the selected one
99
+ // (gtkpopovermenubar.c:50-51), so hovering the bar selects without lighting anything and
100
+ // the bar looks lit exactly while its menu is up.
101
+ .adw-popover-menu-bar-item.active > .adw-popover-menu-bar-button {
102
+ background-color: var(--button-active-color);
103
+ }
104
+ }
@@ -0,0 +1,51 @@
1
+ // _preferences_row.scss — <adw-preferences-row>, the base of every boxed-list row.
2
+ //
3
+ // The row is a GTK `row` node inside the group's list, so its box comes from two places
4
+ // in `_lists.scss`: `row` itself (a focus ring, `background-clip: padding-box`, and the
5
+ // hover/active/selected colours under `.activatable`) and `list > row { padding: 2px }`
6
+ // (:23-25). The metrics below are this package's shared row floor — the 50px minimum and
7
+ // the card-fg hairline every `_row.scss` row uses — because libadwaita's own row height
8
+ // is its theme's and a browser needs the number written down.
9
+ //
10
+ // Reference: refs/libadwaita/src/stylesheet/widgets/_lists.scss:1-90 (`row`, `list > row`)
11
+ // Reference: refs/libadwaita/src/stylesheet/widgets/_preferences.scss (the group's card)
12
+ // Copyright (c) GNOME contributors (libadwaita). LGPLv2.1+.
13
+ // Modifications: Adapted for @gjsify/adwaita-web Web Components — the GTK `row` node
14
+ // becomes the tag, and `:selected` becomes the row surface `<adw-preferences-group>`'s
15
+ // list box already paints.
16
+
17
+ adw-preferences-row {
18
+ display: flex;
19
+ align-items: center;
20
+ min-height: 50px;
21
+ padding: var(--spacing-s) var(--spacing-m);
22
+ gap: var(--spacing-m);
23
+ background-clip: padding-box;
24
+ color: var(--card-fg-color);
25
+ // The hairline between rows, which `_lists.scss` draws as
26
+ // `&:not(.horizontal) > row:not(.separator) { border-bottom: 1px solid $border_color }`
27
+ // (:32-34) — on the row, from the list it belongs to.
28
+ border-bottom: 1px solid var(--card-shade-color);
29
+
30
+ // `Gtk.Label:selectable` is `user-select: text`, and the element writes it on the
31
+ // title span itself; this is the row-level floor so a copyable title survives a
32
+ // stylesheet that resets selection.
33
+ .adw-row-title {
34
+ user-select: none;
35
+ }
36
+
37
+ // The slot the `child` property lands in: the preference's own controls, which sit
38
+ // after the title and take the rest of the row.
39
+ .adw-preferences-row-content {
40
+ display: flex;
41
+ align-items: center;
42
+ gap: var(--spacing-m);
43
+ flex: 1 1 auto;
44
+ min-width: 0;
45
+ justify-content: flex-end;
46
+ }
47
+
48
+ &:last-child {
49
+ border-bottom: none;
50
+ }
51
+ }