@gjsify/adwaita-web 0.55.0 → 0.57.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 (127) hide show
  1. package/README.md +8 -0
  2. package/dist/adwaita-web.css +137 -29
  3. package/dist/adwaita-web.css.map +1 -1
  4. package/lib/types/adw-status-page.spec.d.ts +1 -0
  5. package/lib/types/application.d.ts +24 -0
  6. package/lib/types/application.spec.d.ts +1 -0
  7. package/lib/types/attributes.d.ts +19 -0
  8. package/lib/types/elements/adw-action-row.d.ts +4 -0
  9. package/lib/types/elements/adw-application-window.d.ts +2 -0
  10. package/lib/types/elements/adw-combo-row.d.ts +4 -0
  11. package/lib/types/elements/adw-entry-row.d.ts +6 -0
  12. package/lib/types/elements/adw-expander-row.d.ts +2 -0
  13. package/lib/types/elements/adw-header-bar.d.ts +6 -0
  14. package/lib/types/elements/adw-overlay-split-view.d.ts +13 -0
  15. package/lib/types/elements/adw-sidebar.d.ts +3 -2
  16. package/lib/types/elements/adw-spin-row.d.ts +6 -0
  17. package/lib/types/elements/adw-switch-row.d.ts +4 -0
  18. package/lib/types/elements/adw-toggle-group.d.ts +17 -0
  19. package/lib/types/elements/adw-view-stack.d.ts +3 -0
  20. package/lib/types/elements/checks.d.ts +6 -0
  21. package/lib/types/elements/gtk-application-window.d.ts +2 -0
  22. package/lib/types/elements/gtk-drop-down.d.ts +3 -0
  23. package/lib/types/elements/gtk-entry.d.ts +10 -0
  24. package/lib/types/elements/gtk-menu-button.d.ts +2 -0
  25. package/lib/types/elements/gtk-scrolled-window.d.ts +26 -2
  26. package/lib/types/elements/gtk-stack.d.ts +3 -0
  27. package/lib/types/elements/gtk-switch.d.ts +3 -0
  28. package/lib/types/elements/gtk-window.d.ts +8 -2
  29. package/lib/types/glib.spec.d.ts +1 -0
  30. package/lib/types/gobject-door.d.ts +4 -0
  31. package/lib/types/gobject-door.spec.d.ts +1 -0
  32. package/lib/types/gobject-elements.d.ts +17 -0
  33. package/lib/types/gtksource/gtk-source-view.d.ts +77 -0
  34. package/lib/types/gtksource/gtk-source-view.spec.d.ts +2 -0
  35. package/lib/types/gtksource/web-editor-driver.d.ts +44 -0
  36. package/lib/types/index.d.ts +4 -1
  37. package/lib/types/menu-actions.spec.d.ts +1 -0
  38. package/lib/types/namespace/adw.d.ts +1 -0
  39. package/lib/types/namespace/gio.d.ts +2 -0
  40. package/lib/types/namespace/glib.d.ts +10 -0
  41. package/lib/types/namespace/gobject.d.ts +27 -0
  42. package/lib/types/namespace/gtk-enums.d.ts +22 -0
  43. package/lib/types/namespace/gtk.d.ts +2 -0
  44. package/lib/types/namespace/gtksource.d.ts +2 -0
  45. package/lib/types/row-line-clamp.d.ts +20 -0
  46. package/lib/types/row-tooltip.d.ts +8 -0
  47. package/lib/types/row-tooltip.spec.d.ts +1 -0
  48. package/lib/types/shared-tree-builder.d.ts +69 -20
  49. package/lib/types/shared-tree-mount.spec.d.ts +1 -0
  50. package/lib/types/styles.generated.d.ts +1 -1
  51. package/lib/types/widget-size.spec.d.ts +1 -0
  52. package/package.json +11 -9
  53. package/scss/_action_row.scss +39 -15
  54. package/scss/_button_row.scss +5 -0
  55. package/scss/_expander_row.scss +36 -3
  56. package/scss/_headerbar.scss +2 -1
  57. package/scss/_preferences_row.scss +9 -0
  58. package/scss/_reset.scss +1 -1
  59. package/scss/_row.scss +16 -0
  60. package/scss/_status_page.scss +1 -1
  61. package/scss/_toggle_group.scss +28 -0
  62. package/scss/_widget.scss +14 -3
  63. package/scss/_window.scss +13 -1
  64. package/src/adw-action-rows.spec.ts +255 -0
  65. package/src/adw-header-bar.spec.ts +18 -0
  66. package/src/adw-status-page.spec.ts +124 -0
  67. package/src/application.spec.ts +75 -0
  68. package/src/application.ts +92 -0
  69. package/src/attributes.ts +52 -0
  70. package/src/capabilities.mjs +3 -0
  71. package/src/construct-vectors.spec.ts +156 -1
  72. package/src/elements/adw-action-row.ts +31 -2
  73. package/src/elements/adw-alert-dialog.ts +4 -1
  74. package/src/elements/adw-application-window.ts +5 -0
  75. package/src/elements/adw-button-row.ts +7 -1
  76. package/src/elements/adw-combo-row.ts +26 -1
  77. package/src/elements/adw-entry-row.ts +22 -12
  78. package/src/elements/adw-expander-row.ts +34 -1
  79. package/src/elements/adw-header-bar.ts +18 -4
  80. package/src/elements/adw-overlay-split-view.ts +29 -6
  81. package/src/elements/adw-preferences-row.ts +5 -2
  82. package/src/elements/adw-sidebar.ts +33 -5
  83. package/src/elements/adw-spin-row.ts +37 -2
  84. package/src/elements/adw-split-button.ts +5 -1
  85. package/src/elements/adw-status-page.ts +10 -2
  86. package/src/elements/adw-switch-row.ts +25 -1
  87. package/src/elements/adw-toggle-group.ts +119 -10
  88. package/src/elements/adw-view-stack.ts +14 -0
  89. package/src/elements/adw-window.ts +9 -4
  90. package/src/elements/checks.ts +25 -1
  91. package/src/elements/gtk-application-window.ts +5 -0
  92. package/src/elements/gtk-drop-down.ts +16 -0
  93. package/src/elements/gtk-entry.ts +45 -7
  94. package/src/elements/gtk-menu-button.ts +12 -1
  95. package/src/elements/gtk-popover-menu.ts +7 -2
  96. package/src/elements/gtk-scrolled-window.ts +76 -7
  97. package/src/elements/gtk-stack.ts +8 -0
  98. package/src/elements/gtk-switch.ts +8 -0
  99. package/src/elements/gtk-window.ts +9 -3
  100. package/src/glib.spec.ts +34 -0
  101. package/src/gobject-door.spec.ts +119 -0
  102. package/src/gobject-door.ts +137 -0
  103. package/src/gobject-elements.ts +172 -0
  104. package/src/gtk-window.spec.ts +12 -0
  105. package/src/gtksource/gtk-source-view.spec.ts +69 -0
  106. package/src/gtksource/gtk-source-view.ts +379 -0
  107. package/src/gtksource/web-editor-driver.ts +260 -0
  108. package/src/index.ts +11 -1
  109. package/src/keyboard-operable.spec.ts +47 -11
  110. package/src/menu-actions.spec.ts +47 -0
  111. package/src/namespace/adw.ts +1 -0
  112. package/src/namespace/gio.ts +2 -0
  113. package/src/namespace/glib.ts +22 -0
  114. package/src/namespace/gobject.ts +37 -0
  115. package/src/namespace/gtk-enums.ts +15 -0
  116. package/src/namespace/gtk.ts +2 -0
  117. package/src/namespace/gtksource.ts +9 -0
  118. package/src/row-line-clamp.ts +74 -0
  119. package/src/row-tooltip.spec.ts +313 -0
  120. package/src/row-tooltip.ts +52 -0
  121. package/src/shared-tree-builder.ts +230 -42
  122. package/src/shared-tree-mount.spec.ts +130 -0
  123. package/src/shared-trees.spec.ts +15 -0
  124. package/src/split-button.spec.ts +2 -0
  125. package/src/styles.generated.ts +1 -1
  126. package/src/test.browser.mts +18 -0
  127. package/src/widget-size.spec.ts +117 -0
package/README.md CHANGED
@@ -219,6 +219,14 @@ if (!isIconAvailable('dialog-error')) {
219
219
  <adw-status-page icon="dialog-error" title="Could not connect"></adw-status-page>
220
220
  ```
221
221
 
222
+ A status page also takes libadwaita's `.compact` style class as a boolean attribute, for a
223
+ narrow surface such as an extension popup — a 96px icon, 24px margins and the smaller
224
+ `.title-2` heading (`style-classes.md` "Compact Status Page"):
225
+
226
+ ```html
227
+ <adw-status-page compact icon="dialog-error" title="No results"></adw-status-page>
228
+ ```
229
+
222
230
  `registerIcon(name, svg)` takes the icon's **SVG source** — exactly what
223
231
  `@gjsify/adwaita-icons` exports, and equally any symbolic SVG of your own drawn on the 16px
224
232
  Adwaita grid with `fill="currentColor"`. It writes the same pair the build writes: a
@@ -696,7 +696,7 @@
696
696
  font-size: var(--font-size-base);
697
697
  }
698
698
 
699
- adw-about-dialog, adw-action-row, adw-alert-dialog, adw-alert-response, adw-application-window, adw-avatar, adw-banner, adw-bin, adw-bottom-sheet, adw-bottom-sheet-bottom-bar, adw-bottom-sheet-content, adw-bottom-sheet-sheet, adw-breakpoint-bin, adw-button-content, adw-button-row, adw-card, adw-carousel, adw-carousel-indicator-dots, adw-carousel-indicator-lines, adw-clamp, adw-clamp-scrollable, adw-combo-row, adw-data-grid, adw-dialog, adw-entry-row, adw-expander-row, adw-header-bar, adw-inline-view-switcher, adw-layout-slot, adw-multi-layout-view, adw-navigation-page, adw-navigation-split-view, adw-navigation-view, adw-overlay-split-view, adw-password-entry-row, adw-preferences-dialog, adw-preferences-group, adw-preferences-page, adw-preferences-row, adw-radio, adw-shortcut-label, adw-shortcuts-dialog, adw-shortcuts-item, adw-shortcuts-section, adw-sidebar, adw-sidebar-item, adw-sidebar-section, adw-source-view, adw-spin-row, adw-spinner, adw-split-button, adw-status-page, adw-switch-row, adw-tab-bar, adw-tab-button, adw-tab-overview, adw-tab-page, adw-tab-view, adw-toast-overlay, adw-toggle, adw-toggle-group, adw-toolbar-view, gtk-notebook, adw-view-stack, adw-view-stack-page, adw-view-switcher, adw-view-switcher-bar, adw-view-switcher-page, adw-view-switcher-sidebar, adw-window, adw-window-title, adw-wrap-box, gtk-about-dialog, gtk-action-bar, gtk-application-window, gtk-aspect-frame, gtk-box, gtk-button, gtk-center-box, gtk-calendar, gtk-check-button, gtk-color-dialog-button, gtk-column-view, gtk-drag-icon, gtk-drawing-area, gtk-drop-down, gtk-editable-label, gtk-emoji-chooser, gtk-entry, gtk-expander, gtk-fixed, gtk-flow-box, gtk-flow-box-child, gtk-font-dialog-button, gtk-frame, gtk-gl-area, gtk-graphics-offload, gtk-grid, gtk-grid-view, gtk-header-bar, gtk-image, gtk-inscription, gtk-label, gtk-level-bar, gtk-link-button, gtk-list-box, gtk-list-box-row, gtk-list-view, gtk-media-controls, gtk-menu-button, gtk-overlay, gtk-page-setup-unix-dialog, gtk-paned, gtk-password-entry, gtk-picture, gtk-popover, gtk-popover-bin, gtk-popover-menu, gtk-popover-menu-bar, gtk-print-unix-dialog, gtk-progress-bar, gtk-revealer, gtk-scale, gtk-scale-button, gtk-scrollbar, gtk-scrolled-window, gtk-search-bar, gtk-search-entry, gtk-separator, gtk-spin-button, gtk-spinner, gtk-stack, gtk-stack-sidebar, gtk-stack-switcher, gtk-switch, gtk-text, gtk-text-view, gtk-toggle-button, gtk-tree-expander, gtk-video, gtk-viewport, gtk-window, gtk-window-controls, gtk-window-handle {
699
+ adw-about-dialog, adw-action-row, adw-alert-dialog, adw-alert-response, adw-application-window, adw-avatar, adw-banner, adw-bin, adw-bottom-sheet, adw-bottom-sheet-bottom-bar, adw-bottom-sheet-content, adw-bottom-sheet-sheet, adw-breakpoint-bin, adw-button-content, adw-button-row, adw-card, adw-carousel, adw-carousel-indicator-dots, adw-carousel-indicator-lines, adw-clamp, adw-clamp-scrollable, adw-combo-row, adw-data-grid, adw-dialog, adw-entry-row, adw-expander-row, adw-header-bar, adw-inline-view-switcher, adw-layout-slot, adw-multi-layout-view, adw-navigation-page, adw-navigation-split-view, adw-navigation-view, adw-overlay-split-view, adw-password-entry-row, adw-preferences-dialog, adw-preferences-group, adw-preferences-page, adw-preferences-row, adw-radio, adw-shortcut-label, adw-shortcuts-dialog, adw-shortcuts-item, adw-shortcuts-section, adw-sidebar, adw-sidebar-item, adw-sidebar-section, adw-source-view, adw-spin-row, adw-spinner, adw-split-button, adw-status-page, adw-switch-row, adw-tab-bar, adw-tab-button, adw-tab-overview, adw-tab-page, adw-tab-view, adw-toast-overlay, adw-toggle, adw-toggle-group, adw-toolbar-view, gtk-notebook, adw-view-stack, adw-view-stack-page, adw-view-switcher, adw-view-switcher-bar, adw-view-switcher-page, adw-view-switcher-sidebar, adw-window, adw-window-title, adw-wrap-box, gtk-about-dialog, gtk-action-bar, gtk-application-window, gtk-aspect-frame, gtk-box, gtk-button, gtk-center-box, gtk-calendar, gtk-check-button, gtk-color-dialog-button, gtk-column-view, gtk-drag-icon, gtk-drawing-area, gtk-drop-down, gtk-editable-label, gtk-emoji-chooser, gtk-entry, gtk-expander, gtk-fixed, gtk-flow-box, gtk-flow-box-child, gtk-font-dialog-button, gtk-frame, gtk-gl-area, gtk-graphics-offload, gtk-grid, gtk-grid-view, gtk-header-bar, gtk-image, gtk-inscription, gtk-label, gtk-level-bar, gtk-link-button, gtk-list-box, gtk-list-box-row, gtk-list-view, gtk-media-controls, gtk-menu-button, gtk-overlay, gtk-page-setup-unix-dialog, gtk-paned, gtk-password-entry, gtk-picture, gtk-popover, gtk-popover-bin, gtk-popover-menu, gtk-popover-menu-bar, gtk-print-unix-dialog, gtk-progress-bar, gtk-revealer, gtk-scale, gtk-scale-button, gtk-scrollbar, gtk-scrolled-window, gtk-search-bar, gtk-search-entry, gtk-separator, gtk-source-view, gtk-spin-button, gtk-spinner, gtk-stack, gtk-stack-sidebar, gtk-stack-switcher, gtk-switch, gtk-text, gtk-text-view, gtk-toggle-button, gtk-tree-expander, gtk-video, gtk-viewport, gtk-window, gtk-window-controls, gtk-window-handle {
700
700
  box-sizing: border-box;
701
701
  color: var(--window-fg-color);
702
702
  font-family: var(--font-family);
@@ -713,7 +713,7 @@ adw-about-dialog, adw-action-row, adw-alert-dialog, adw-alert-response, adw-appl
713
713
  text-shadow: none;
714
714
  }
715
715
 
716
- :where(adw-about-dialog, adw-action-row, adw-alert-dialog, adw-alert-response, adw-application-window, adw-avatar, adw-banner, adw-bin, adw-bottom-sheet, adw-bottom-sheet-bottom-bar, adw-bottom-sheet-content, adw-bottom-sheet-sheet, adw-breakpoint-bin, adw-button-content, adw-button-row, adw-card, adw-carousel, adw-carousel-indicator-dots, adw-carousel-indicator-lines, adw-clamp, adw-clamp-scrollable, adw-combo-row, adw-data-grid, adw-dialog, adw-entry-row, adw-expander-row, adw-header-bar, adw-inline-view-switcher, adw-layout-slot, adw-multi-layout-view, adw-navigation-page, adw-navigation-split-view, adw-navigation-view, adw-overlay-split-view, adw-password-entry-row, adw-preferences-dialog, adw-preferences-group, adw-preferences-page, adw-preferences-row, adw-radio, adw-shortcut-label, adw-shortcuts-dialog, adw-shortcuts-item, adw-shortcuts-section, adw-sidebar, adw-sidebar-item, adw-sidebar-section, adw-source-view, adw-spin-row, adw-spinner, adw-split-button, adw-status-page, adw-switch-row, adw-tab-bar, adw-tab-button, adw-tab-overview, adw-tab-page, adw-tab-view, adw-toast-overlay, adw-toggle, adw-toggle-group, adw-toolbar-view, gtk-notebook, adw-view-stack, adw-view-stack-page, adw-view-switcher, adw-view-switcher-bar, adw-view-switcher-page, adw-view-switcher-sidebar, adw-window, adw-window-title, adw-wrap-box, gtk-about-dialog, gtk-action-bar, gtk-application-window, gtk-aspect-frame, gtk-box, gtk-button, gtk-center-box, gtk-calendar, gtk-check-button, gtk-color-dialog-button, gtk-column-view, gtk-drag-icon, gtk-drawing-area, gtk-drop-down, gtk-editable-label, gtk-emoji-chooser, gtk-entry, gtk-expander, gtk-fixed, gtk-flow-box, gtk-flow-box-child, gtk-font-dialog-button, gtk-frame, gtk-gl-area, gtk-graphics-offload, gtk-grid, gtk-grid-view, gtk-header-bar, gtk-image, gtk-inscription, gtk-label, gtk-level-bar, gtk-link-button, gtk-list-box, gtk-list-box-row, gtk-list-view, gtk-media-controls, gtk-menu-button, gtk-overlay, gtk-page-setup-unix-dialog, gtk-paned, gtk-password-entry, gtk-picture, gtk-popover, gtk-popover-bin, gtk-popover-menu, gtk-popover-menu-bar, gtk-print-unix-dialog, gtk-progress-bar, gtk-revealer, gtk-scale, gtk-scale-button, gtk-scrollbar, gtk-scrolled-window, gtk-search-bar, gtk-search-entry, gtk-separator, gtk-spin-button, gtk-spinner, gtk-stack, gtk-stack-sidebar, gtk-stack-switcher, gtk-switch, gtk-text, gtk-text-view, gtk-toggle-button, gtk-tree-expander, gtk-video, gtk-viewport, gtk-window, gtk-window-controls, gtk-window-handle) :is(gtk-box, gtk-label, adw-button-content) {
716
+ :where(adw-about-dialog, adw-action-row, adw-alert-dialog, adw-alert-response, adw-application-window, adw-avatar, adw-banner, adw-bin, adw-bottom-sheet, adw-bottom-sheet-bottom-bar, adw-bottom-sheet-content, adw-bottom-sheet-sheet, adw-breakpoint-bin, adw-button-content, adw-button-row, adw-card, adw-carousel, adw-carousel-indicator-dots, adw-carousel-indicator-lines, adw-clamp, adw-clamp-scrollable, adw-combo-row, adw-data-grid, adw-dialog, adw-entry-row, adw-expander-row, adw-header-bar, adw-inline-view-switcher, adw-layout-slot, adw-multi-layout-view, adw-navigation-page, adw-navigation-split-view, adw-navigation-view, adw-overlay-split-view, adw-password-entry-row, adw-preferences-dialog, adw-preferences-group, adw-preferences-page, adw-preferences-row, adw-radio, adw-shortcut-label, adw-shortcuts-dialog, adw-shortcuts-item, adw-shortcuts-section, adw-sidebar, adw-sidebar-item, adw-sidebar-section, adw-source-view, adw-spin-row, adw-spinner, adw-split-button, adw-status-page, adw-switch-row, adw-tab-bar, adw-tab-button, adw-tab-overview, adw-tab-page, adw-tab-view, adw-toast-overlay, adw-toggle, adw-toggle-group, adw-toolbar-view, gtk-notebook, adw-view-stack, adw-view-stack-page, adw-view-switcher, adw-view-switcher-bar, adw-view-switcher-page, adw-view-switcher-sidebar, adw-window, adw-window-title, adw-wrap-box, gtk-about-dialog, gtk-action-bar, gtk-application-window, gtk-aspect-frame, gtk-box, gtk-button, gtk-center-box, gtk-calendar, gtk-check-button, gtk-color-dialog-button, gtk-column-view, gtk-drag-icon, gtk-drawing-area, gtk-drop-down, gtk-editable-label, gtk-emoji-chooser, gtk-entry, gtk-expander, gtk-fixed, gtk-flow-box, gtk-flow-box-child, gtk-font-dialog-button, gtk-frame, gtk-gl-area, gtk-graphics-offload, gtk-grid, gtk-grid-view, gtk-header-bar, gtk-image, gtk-inscription, gtk-label, gtk-level-bar, gtk-link-button, gtk-list-box, gtk-list-box-row, gtk-list-view, gtk-media-controls, gtk-menu-button, gtk-overlay, gtk-page-setup-unix-dialog, gtk-paned, gtk-password-entry, gtk-picture, gtk-popover, gtk-popover-bin, gtk-popover-menu, gtk-popover-menu-bar, gtk-print-unix-dialog, gtk-progress-bar, gtk-revealer, gtk-scale, gtk-scale-button, gtk-scrollbar, gtk-scrolled-window, gtk-search-bar, gtk-search-entry, gtk-separator, gtk-source-view, gtk-spin-button, gtk-spinner, gtk-stack, gtk-stack-sidebar, gtk-stack-switcher, gtk-switch, gtk-text, gtk-text-view, gtk-toggle-button, gtk-tree-expander, gtk-video, gtk-viewport, gtk-window, gtk-window-controls, gtk-window-handle) :is(gtk-box, gtk-label, adw-button-content) {
717
717
  color: inherit;
718
718
  font-family: inherit;
719
719
  font-size: inherit;
@@ -1501,6 +1501,12 @@ gtk-separator *::after {
1501
1501
  box-sizing: border-box;
1502
1502
  }
1503
1503
 
1504
+ gtk-source-view *,
1505
+ gtk-source-view *::before,
1506
+ gtk-source-view *::after {
1507
+ box-sizing: border-box;
1508
+ }
1509
+
1504
1510
  gtk-spin-button *,
1505
1511
  gtk-spin-button *::before,
1506
1512
  gtk-spin-button *::after {
@@ -2066,7 +2072,8 @@ adw-card,
2066
2072
  box-shadow: inset 6px 0 6px -6px color-mix(in srgb, currentColor 6%, transparent);
2067
2073
  }
2068
2074
 
2069
- adw-window {
2075
+ adw-window,
2076
+ adw-application-window {
2070
2077
  display: flex;
2071
2078
  flex-direction: column;
2072
2079
  background-color: var(--window-bg-color);
@@ -2079,7 +2086,9 @@ adw-window {
2079
2086
  outline: 1px solid rgba(255, 255, 255, 0.07);
2080
2087
  outline-offset: -1px;
2081
2088
  }
2082
- adw-window.maximized, adw-window.fullscreen {
2089
+ adw-window.maximized, adw-window.fullscreen,
2090
+ adw-application-window.maximized,
2091
+ adw-application-window.fullscreen {
2083
2092
  --window-radius: 0px;
2084
2093
  outline: none;
2085
2094
  box-shadow: none;
@@ -2093,6 +2102,11 @@ adw-window.maximized, adw-window.fullscreen {
2093
2102
  min-width: 0;
2094
2103
  }
2095
2104
 
2105
+ .adw-window-content > gtk-box {
2106
+ flex: 1 1 auto;
2107
+ min-height: 0;
2108
+ }
2109
+
2096
2110
  gtk-window,
2097
2111
  gtk-application-window {
2098
2112
  display: flex;
@@ -2234,7 +2248,8 @@ adw-header-bar .adw-header-btn:active {
2234
2248
  }
2235
2249
 
2236
2250
  .devel adw-header-bar,
2237
- adw-window.devel adw-header-bar {
2251
+ adw-window.devel adw-header-bar,
2252
+ adw-application-window.devel adw-header-bar {
2238
2253
  background-image: linear-gradient(to bottom, transparent 0%, var(--headerbar-bg-color) 100%), repeating-linear-gradient(116.565deg, color-mix(in srgb, currentColor 5%, transparent) 0 32px, transparent 32px 64px);
2239
2254
  }
2240
2255
 
@@ -3307,6 +3322,9 @@ adw-toggle-group {
3307
3322
  border-radius: var(--button-radius);
3308
3323
  background-color: var(--button-bg-color);
3309
3324
  }
3325
+ adw-toggle-group[disabled] {
3326
+ background-color: color-mix(in srgb, var(--button-bg-color) var(--disabled-opacity), transparent);
3327
+ }
3310
3328
  adw-toggle-group .adw-toggle-group-inner {
3311
3329
  display: flex;
3312
3330
  align-items: stretch;
@@ -3345,6 +3363,13 @@ adw-toggle-group .adw-toggle:focus-visible {
3345
3363
  outline: 2px solid var(--accent-color);
3346
3364
  outline-offset: 1px;
3347
3365
  }
3366
+ adw-toggle-group .adw-toggle:disabled {
3367
+ opacity: var(--disabled-opacity);
3368
+ cursor: default;
3369
+ }
3370
+ adw-toggle-group .adw-toggle:disabled:hover, adw-toggle-group .adw-toggle:disabled:active {
3371
+ background-color: transparent;
3372
+ }
3348
3373
  adw-toggle-group .adw-toggle.active {
3349
3374
  background-color: var(--active-toggle-bg-color);
3350
3375
  color: var(--active-toggle-fg-color);
@@ -3353,6 +3378,9 @@ adw-toggle-group .adw-toggle.active {
3353
3378
  adw-toggle-group .adw-toggle.active:hover {
3354
3379
  background-color: var(--active-toggle-bg-color);
3355
3380
  }
3381
+ adw-toggle-group .adw-toggle.active:disabled {
3382
+ box-shadow: none;
3383
+ }
3356
3384
  adw-toggle-group.round {
3357
3385
  border-radius: 17px;
3358
3386
  }
@@ -5240,6 +5268,9 @@ adw-preferences-row {
5240
5268
  adw-preferences-row .adw-row-title {
5241
5269
  user-select: none;
5242
5270
  }
5271
+ adw-preferences-row .adw-row-title:has(~ .adw-preferences-row-content[hidden]) {
5272
+ flex: 1 1 auto;
5273
+ }
5243
5274
  adw-preferences-row .adw-preferences-row-content {
5244
5275
  display: flex;
5245
5276
  align-items: center;
@@ -6284,6 +6315,10 @@ adw-combo-row:last-child {
6284
6315
  border-bottom: none;
6285
6316
  }
6286
6317
 
6318
+ [data-row-tooltip] {
6319
+ align-self: stretch;
6320
+ }
6321
+
6287
6322
  .adw-row-text {
6288
6323
  display: flex;
6289
6324
  flex-direction: column;
@@ -6318,7 +6353,10 @@ adw-combo-row:last-child {
6318
6353
  flex-shrink: 0;
6319
6354
  }
6320
6355
 
6321
- adw-action-row {
6356
+ adw-action-row,
6357
+ adw-switch-row,
6358
+ adw-combo-row,
6359
+ adw-spin-row {
6322
6360
  display: flex;
6323
6361
  align-items: center;
6324
6362
  gap: var(--spacing-m);
@@ -6327,46 +6365,90 @@ adw-action-row {
6327
6365
  border-bottom: 1px solid var(--card-shade-color);
6328
6366
  color: var(--card-fg-color);
6329
6367
  }
6330
- adw-action-row:last-child {
6368
+ adw-action-row:last-child,
6369
+ adw-switch-row:last-child,
6370
+ adw-combo-row:last-child,
6371
+ adw-spin-row:last-child {
6331
6372
  border-bottom: none;
6332
6373
  }
6333
- adw-action-row.activatable {
6374
+ adw-action-row.activatable,
6375
+ adw-switch-row.activatable,
6376
+ adw-combo-row.activatable,
6377
+ adw-spin-row.activatable {
6334
6378
  cursor: pointer;
6335
6379
  }
6336
- adw-action-row.activatable:hover {
6380
+ adw-action-row.activatable:hover,
6381
+ adw-switch-row.activatable:hover,
6382
+ adw-combo-row.activatable:hover,
6383
+ adw-spin-row.activatable:hover {
6337
6384
  background-color: var(--button-bg-color);
6338
6385
  }
6339
- adw-action-row.activatable:active {
6386
+ adw-action-row.activatable:active,
6387
+ adw-switch-row.activatable:active,
6388
+ adw-combo-row.activatable:active,
6389
+ adw-spin-row.activatable:active {
6340
6390
  background-color: var(--button-active-color);
6341
6391
  }
6342
6392
  adw-action-row .adw-action-row-prefix,
6343
- adw-action-row .adw-action-row-suffix {
6393
+ adw-action-row .adw-action-row-suffix,
6394
+ adw-action-row .adw-switch-row-prefix,
6395
+ adw-switch-row .adw-action-row-prefix,
6396
+ adw-switch-row .adw-action-row-suffix,
6397
+ adw-switch-row .adw-switch-row-prefix,
6398
+ adw-combo-row .adw-action-row-prefix,
6399
+ adw-combo-row .adw-action-row-suffix,
6400
+ adw-combo-row .adw-switch-row-prefix,
6401
+ adw-spin-row .adw-action-row-prefix,
6402
+ adw-spin-row .adw-action-row-suffix,
6403
+ adw-spin-row .adw-switch-row-prefix {
6344
6404
  display: flex;
6345
6405
  align-items: center;
6346
6406
  gap: var(--spacing-xs);
6347
6407
  flex-shrink: 0;
6348
6408
  }
6349
- adw-action-row .adw-action-row-text {
6350
- display: flex;
6351
- flex-direction: column;
6352
- justify-content: center;
6353
- flex: 1 1 auto;
6354
- min-width: 0;
6355
- }
6356
- adw-action-row .adw-row-title {
6409
+ adw-action-row .adw-row-title,
6410
+ adw-switch-row .adw-row-title,
6411
+ adw-combo-row .adw-row-title,
6412
+ adw-spin-row .adw-row-title {
6357
6413
  font-size: var(--font-size-base);
6358
6414
  color: var(--card-fg-color);
6359
- white-space: nowrap;
6360
- overflow: hidden;
6361
- text-overflow: ellipsis;
6415
+ white-space: normal;
6416
+ overflow-wrap: break-word;
6362
6417
  }
6363
- adw-action-row .adw-row-subtitle {
6418
+ adw-action-row .adw-row-subtitle,
6419
+ adw-switch-row .adw-row-subtitle,
6420
+ adw-combo-row .adw-row-subtitle,
6421
+ adw-spin-row .adw-row-subtitle {
6364
6422
  font-size: var(--font-size-small);
6365
6423
  opacity: var(--dim-opacity);
6366
6424
  color: var(--card-fg-color);
6367
- white-space: nowrap;
6425
+ white-space: normal;
6426
+ overflow-wrap: break-word;
6427
+ }
6428
+ adw-action-row .adw-row-text.adw-row-clamp .adw-row-title,
6429
+ adw-action-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
6430
+ adw-switch-row .adw-row-text.adw-row-clamp .adw-row-title,
6431
+ adw-switch-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
6432
+ adw-combo-row .adw-row-text.adw-row-clamp .adw-row-title,
6433
+ adw-combo-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
6434
+ adw-spin-row .adw-row-text.adw-row-clamp .adw-row-title,
6435
+ adw-spin-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
6436
+ display: -webkit-box;
6437
+ -webkit-box-orient: vertical;
6368
6438
  overflow: hidden;
6369
- text-overflow: ellipsis;
6439
+ text-overflow: var(--adw-row-ellipsize-overflow, ellipsis);
6440
+ }
6441
+ adw-action-row .adw-row-text.adw-row-clamp .adw-row-title,
6442
+ adw-switch-row .adw-row-text.adw-row-clamp .adw-row-title,
6443
+ adw-combo-row .adw-row-text.adw-row-clamp .adw-row-title,
6444
+ adw-spin-row .adw-row-text.adw-row-clamp .adw-row-title {
6445
+ -webkit-line-clamp: var(--adw-row-title-lines, 1);
6446
+ }
6447
+ adw-action-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
6448
+ adw-switch-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
6449
+ adw-combo-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
6450
+ adw-spin-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
6451
+ -webkit-line-clamp: var(--adw-row-subtitle-lines, 1);
6370
6452
  }
6371
6453
 
6372
6454
  adw-action-row.property .adw-row-title,
@@ -6588,6 +6670,7 @@ adw-button-row .adw-button-row-contents {
6588
6670
  justify-content: center;
6589
6671
  gap: var(--spacing-xs);
6590
6672
  min-width: 0;
6673
+ flex: 1 1 auto;
6591
6674
  }
6592
6675
  adw-button-row .adw-button-row-title {
6593
6676
  font-size: var(--font-size-base);
@@ -6656,9 +6739,28 @@ adw-expander-row .adw-expander-row-header:active {
6656
6739
  adw-expander-row .adw-row-title {
6657
6740
  font-size: var(--font-size-base);
6658
6741
  color: var(--card-fg-color);
6659
- white-space: nowrap;
6742
+ white-space: normal;
6743
+ overflow-wrap: break-word;
6744
+ }
6745
+ adw-expander-row .adw-row-subtitle {
6746
+ font-size: var(--font-size-small);
6747
+ opacity: var(--dim-opacity);
6748
+ color: var(--card-fg-color);
6749
+ white-space: normal;
6750
+ overflow-wrap: break-word;
6751
+ }
6752
+ adw-expander-row .adw-row-text.adw-row-clamp .adw-row-title,
6753
+ adw-expander-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
6754
+ display: -webkit-box;
6755
+ -webkit-box-orient: vertical;
6660
6756
  overflow: hidden;
6661
- text-overflow: ellipsis;
6757
+ text-overflow: var(--adw-row-ellipsize-overflow, ellipsis);
6758
+ }
6759
+ adw-expander-row .adw-row-text.adw-row-clamp .adw-row-title {
6760
+ -webkit-line-clamp: var(--adw-row-title-lines, 1);
6761
+ }
6762
+ adw-expander-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
6763
+ -webkit-line-clamp: var(--adw-row-subtitle-lines, 1);
6662
6764
  }
6663
6765
  adw-expander-row .adw-expander-row-header > .adw-row-text {
6664
6766
  flex: 1;
@@ -10420,11 +10522,17 @@ adw-shortcuts-item + adw-shortcuts-item {
10420
10522
  margin-block: auto;
10421
10523
  }
10422
10524
 
10423
- gtk-box:not([orientation=vertical]) > [hexpand],
10424
- gtk-box[orientation=vertical] > [vexpand] {
10525
+ gtk-box:not([orientation=vertical]) > [hexpand]:not([hexpand=false]),
10526
+ gtk-box[orientation=vertical] > [vexpand]:not([vexpand=false]) {
10425
10527
  flex-grow: 1;
10426
10528
  }
10427
10529
 
10530
+ gtk-box:not([orientation=vertical]) > [hexpand=false],
10531
+ gtk-box[orientation=vertical] > [vexpand=false] {
10532
+ flex-grow: 0;
10533
+ flex-basis: auto;
10534
+ }
10535
+
10428
10536
  [hidden] {
10429
10537
  display: none !important;
10430
10538
  }