@gjsify/adwaita-web 0.64.1 → 0.64.2-next.254
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.
- package/README.md +22 -88
- package/dist/adwaita-web.css +91 -12
- package/dist/adwaita-web.css.map +1 -1
- package/lib/types/accessible.d.ts +8 -0
- package/lib/types/application.d.ts +1 -1
- package/lib/types/child-slot.spec.d.ts +1 -0
- package/lib/types/compute-expand.d.ts +5 -0
- package/lib/types/compute-expand.spec.d.ts +1 -0
- package/lib/types/container-fill.spec.d.ts +1 -0
- package/lib/types/elements/adw-about-dialog.d.ts +28 -1
- package/lib/types/elements/adw-action-row.d.ts +2 -1
- package/lib/types/elements/adw-alert-dialog.d.ts +80 -19
- package/lib/types/elements/adw-avatar.d.ts +2 -1
- package/lib/types/elements/adw-banner.d.ts +2 -1
- package/lib/types/elements/adw-bin.d.ts +2 -1
- package/lib/types/elements/adw-bottom-sheet.d.ts +5 -4
- package/lib/types/elements/adw-breakpoint-bin.d.ts +2 -1
- package/lib/types/elements/adw-button-content.d.ts +2 -1
- package/lib/types/elements/adw-button-row.d.ts +2 -1
- package/lib/types/elements/adw-card.d.ts +2 -1
- package/lib/types/elements/adw-carousel.d.ts +20 -3
- package/lib/types/elements/adw-clamp-scrollable.d.ts +2 -1
- package/lib/types/elements/adw-clamp.d.ts +2 -1
- package/lib/types/elements/adw-combo-row.d.ts +6 -1
- package/lib/types/elements/adw-data-grid.d.ts +2 -1
- package/lib/types/elements/adw-dialog.d.ts +2 -1
- package/lib/types/elements/adw-entry-row.d.ts +2 -1
- package/lib/types/elements/adw-expander-row.d.ts +2 -1
- package/lib/types/elements/adw-header-bar.d.ts +2 -1
- package/lib/types/elements/adw-inline-view-switcher.d.ts +3 -2
- package/lib/types/elements/adw-layout-slot.d.ts +2 -1
- package/lib/types/elements/adw-multi-layout-view.d.ts +2 -1
- package/lib/types/elements/adw-navigation-split-view.d.ts +2 -1
- package/lib/types/elements/adw-navigation-view.d.ts +3 -2
- package/lib/types/elements/adw-overlay-split-view.d.ts +2 -1
- package/lib/types/elements/adw-preferences-dialog.d.ts +5 -4
- package/lib/types/elements/adw-preferences-group.d.ts +2 -1
- package/lib/types/elements/adw-preferences-row.d.ts +2 -1
- package/lib/types/elements/adw-shortcut-label.d.ts +2 -1
- package/lib/types/elements/adw-shortcuts-item.d.ts +2 -1
- package/lib/types/elements/adw-shortcuts-section.d.ts +2 -1
- package/lib/types/elements/adw-sidebar.d.ts +4 -3
- package/lib/types/elements/adw-spin-row.d.ts +2 -1
- package/lib/types/elements/adw-spinner.d.ts +2 -1
- package/lib/types/elements/adw-split-button.d.ts +2 -1
- package/lib/types/elements/adw-status-page.d.ts +2 -1
- package/lib/types/elements/adw-switch-row.d.ts +4 -1
- package/lib/types/elements/adw-tab-bar.d.ts +2 -1
- package/lib/types/elements/adw-tab-button.d.ts +2 -1
- package/lib/types/elements/adw-tab-overview.d.ts +2 -1
- package/lib/types/elements/adw-tab-view.d.ts +3 -2
- package/lib/types/elements/adw-toast-overlay.d.ts +10 -30
- package/lib/types/elements/adw-toggle-group.d.ts +3 -2
- package/lib/types/elements/adw-toolbar-view.d.ts +2 -1
- package/lib/types/elements/adw-view-stack.d.ts +3 -1
- package/lib/types/elements/adw-view-switcher-bar.d.ts +2 -1
- package/lib/types/elements/adw-view-switcher-sidebar.d.ts +2 -1
- package/lib/types/elements/adw-view-switcher.d.ts +3 -2
- package/lib/types/elements/adw-window-features.d.ts +8 -0
- package/lib/types/elements/adw-window-title.d.ts +2 -1
- package/lib/types/elements/adw-wrap-box.d.ts +2 -1
- package/lib/types/elements/checks.d.ts +16 -1
- package/lib/types/elements/gtk-action-bar.d.ts +2 -1
- package/lib/types/elements/gtk-application-window.d.ts +1 -4
- package/lib/types/elements/gtk-aspect-frame.d.ts +2 -1
- package/lib/types/elements/gtk-box.d.ts +5 -1
- package/lib/types/elements/gtk-button.d.ts +5 -7
- package/lib/types/elements/gtk-calendar.d.ts +2 -1
- package/lib/types/elements/gtk-center-box.d.ts +2 -1
- package/lib/types/elements/gtk-color-dialog-button.d.ts +2 -1
- package/lib/types/elements/gtk-drag-icon.d.ts +2 -1
- package/lib/types/elements/gtk-drawing-area.d.ts +2 -1
- package/lib/types/elements/gtk-drop-down.d.ts +2 -1
- package/lib/types/elements/gtk-editable-label.d.ts +2 -1
- package/lib/types/elements/gtk-emoji-chooser.d.ts +2 -0
- package/lib/types/elements/gtk-entry.d.ts +2 -1
- package/lib/types/elements/gtk-expander.d.ts +2 -1
- package/lib/types/elements/gtk-fixed.d.ts +2 -1
- package/lib/types/elements/gtk-flow-box-child.d.ts +2 -1
- package/lib/types/elements/gtk-flow-box.d.ts +2 -1
- package/lib/types/elements/gtk-font-dialog-button.d.ts +2 -1
- package/lib/types/elements/gtk-frame.d.ts +2 -1
- package/lib/types/elements/gtk-gl-area.d.ts +2 -1
- package/lib/types/elements/gtk-graphics-offload.d.ts +2 -1
- package/lib/types/elements/gtk-grid.d.ts +2 -1
- package/lib/types/elements/gtk-header-bar.d.ts +2 -1
- package/lib/types/elements/gtk-image.d.ts +5 -6
- package/lib/types/elements/gtk-inscription.d.ts +2 -1
- package/lib/types/elements/gtk-label.d.ts +10 -3
- package/lib/types/elements/gtk-level-bar.d.ts +2 -1
- package/lib/types/elements/gtk-list-box-row.d.ts +2 -1
- package/lib/types/elements/gtk-list-box.d.ts +2 -1
- package/lib/types/elements/gtk-list-view.d.ts +2 -1
- package/lib/types/elements/gtk-media-controls.d.ts +2 -1
- package/lib/types/elements/gtk-menu-button.d.ts +2 -1
- package/lib/types/elements/gtk-notebook.d.ts +2 -1
- package/lib/types/elements/gtk-overlay.d.ts +2 -1
- package/lib/types/elements/gtk-paned.d.ts +2 -1
- package/lib/types/elements/gtk-picture.d.ts +2 -1
- package/lib/types/elements/gtk-popover-bin.d.ts +2 -1
- package/lib/types/elements/gtk-popover-menu-bar.d.ts +2 -1
- package/lib/types/elements/gtk-popover-menu.d.ts +2 -0
- package/lib/types/elements/gtk-popover.d.ts +7 -1
- package/lib/types/elements/gtk-progress-bar.d.ts +2 -1
- package/lib/types/elements/gtk-revealer.d.ts +2 -1
- package/lib/types/elements/gtk-scale-button.d.ts +2 -1
- package/lib/types/elements/gtk-scale.d.ts +2 -1
- package/lib/types/elements/gtk-scrollbar.d.ts +2 -1
- package/lib/types/elements/gtk-scrolled-window.d.ts +2 -1
- package/lib/types/elements/gtk-search-bar.d.ts +2 -1
- package/lib/types/elements/gtk-separator.d.ts +2 -1
- package/lib/types/elements/gtk-spin-button.d.ts +2 -1
- package/lib/types/elements/gtk-spinner.d.ts +2 -1
- package/lib/types/elements/gtk-stack-page.d.ts +29 -0
- package/lib/types/elements/gtk-stack-sidebar.d.ts +2 -1
- package/lib/types/elements/gtk-stack-switcher.d.ts +2 -1
- package/lib/types/elements/gtk-stack.d.ts +13 -1
- package/lib/types/elements/gtk-switch.d.ts +2 -1
- package/lib/types/elements/gtk-text-view.d.ts +2 -1
- package/lib/types/elements/gtk-text.d.ts +2 -1
- package/lib/types/elements/gtk-tree-expander.d.ts +2 -1
- package/lib/types/elements/gtk-video.d.ts +2 -1
- package/lib/types/elements/gtk-viewport.d.ts +2 -1
- package/lib/types/elements/gtk-window-controls.d.ts +2 -1
- package/lib/types/elements/gtk-window-handle.d.ts +2 -1
- package/lib/types/elements/gtk-window.d.ts +18 -2
- package/lib/types/gobject-elements.d.ts +15 -0
- package/lib/types/gtksource/gtk-source-view.d.ts +2 -1
- package/lib/types/{icon-registry.spec.d.ts → icon-masks.spec.d.ts} +1 -1
- package/lib/types/icon-theme.d.ts +15 -35
- package/lib/types/index.d.ts +3 -4
- package/lib/types/learn6502-window.spec.d.ts +1 -0
- package/lib/types/namespace/adw.d.ts +1 -1
- package/lib/types/namespace/gdk.d.ts +1 -0
- package/lib/types/namespace/gio.d.ts +1 -0
- package/lib/types/namespace/glib.d.ts +2 -1
- package/lib/types/namespace/gtk.d.ts +2 -0
- package/lib/types/shared-tree-builder.d.ts +31 -0
- package/lib/types/signals.d.ts +5 -1
- package/lib/types/source-view/adw-source-view.d.ts +2 -1
- package/lib/types/styles.generated.d.ts +1 -1
- package/lib/types/widget-element.d.ts +25 -0
- package/lib/types/widget-map.spec.d.ts +1 -0
- package/lib/types/widget-mapping.d.ts +7 -0
- package/lib/types/widget-visible.spec.d.ts +1 -0
- package/lib/types/window-maximize.spec.d.ts +1 -0
- package/package.json +13 -12
- package/scss/_about_dialog.scss +46 -1
- package/scss/_bin.scss +6 -3
- package/scss/_checks.scss +5 -2
- package/scss/_icon.scss +3 -4
- package/scss/_labels.scss +2 -2
- package/scss/_overlay.scss +11 -1
- package/scss/_overlay_split_view.scss +10 -0
- package/scss/_reset.scss +1 -1
- package/scss/_scrolled_window.scss +15 -0
- package/scss/_stack.scss +8 -2
- package/scss/_toast.scss +13 -3
- package/scss/_widget.scss +5 -1
- package/scss/_window.scss +16 -0
- package/src/accessible.ts +29 -0
- package/src/adw-about-dialog.spec.ts +81 -12
- package/src/adw-action-rows.spec.ts +2 -2
- package/src/adw-alert-dialog.spec.ts +71 -5
- package/src/adw-bin.spec.ts +4 -3
- package/src/adw-button-content.spec.ts +1 -1
- package/src/adw-carousel.spec.ts +49 -1
- package/src/adw-header-bar.spec.ts +18 -0
- package/src/adw-toast-overlay.spec.ts +68 -24
- package/src/application.spec.ts +44 -0
- package/src/application.ts +13 -18
- package/src/capabilities.mjs +2 -3
- package/src/checks.spec.ts +51 -1
- package/src/child-slot.spec.ts +71 -0
- package/src/compute-expand.spec.ts +186 -0
- package/src/compute-expand.ts +134 -0
- package/src/construct-vectors.spec.ts +97 -7
- package/src/container-fill.spec.ts +70 -0
- package/src/elements/adw-about-dialog.ts +152 -9
- package/src/elements/adw-action-row.ts +2 -1
- package/src/elements/adw-alert-dialog.ts +177 -46
- package/src/elements/adw-application-window.ts +0 -3
- package/src/elements/adw-avatar.ts +2 -1
- package/src/elements/adw-banner.ts +2 -1
- package/src/elements/adw-bin.ts +2 -1
- package/src/elements/adw-bottom-sheet.ts +5 -4
- package/src/elements/adw-breakpoint-bin.ts +5 -1
- package/src/elements/adw-button-content.ts +2 -1
- package/src/elements/adw-button-row.ts +2 -1
- package/src/elements/adw-card.ts +2 -1
- package/src/elements/adw-carousel.ts +62 -3
- package/src/elements/adw-clamp-scrollable.ts +2 -1
- package/src/elements/adw-clamp.ts +2 -1
- package/src/elements/adw-combo-row.ts +15 -1
- package/src/elements/adw-data-grid.ts +2 -1
- package/src/elements/adw-dialog.ts +5 -2
- package/src/elements/adw-entry-row.ts +2 -1
- package/src/elements/adw-expander-row.ts +2 -1
- package/src/elements/adw-header-bar.ts +6 -1
- package/src/elements/adw-inline-view-switcher.ts +3 -2
- package/src/elements/adw-layout-slot.ts +2 -1
- package/src/elements/adw-multi-layout-view.ts +2 -1
- package/src/elements/adw-navigation-split-view.ts +2 -1
- package/src/elements/adw-navigation-view.ts +3 -2
- package/src/elements/adw-overlay-split-view.ts +2 -1
- package/src/elements/adw-preferences-dialog.ts +6 -4
- package/src/elements/adw-preferences-group.ts +2 -1
- package/src/elements/adw-preferences-row.ts +2 -1
- package/src/elements/adw-shortcut-label.ts +2 -1
- package/src/elements/adw-shortcuts-item.ts +2 -1
- package/src/elements/adw-shortcuts-section.ts +2 -1
- package/src/elements/adw-sidebar.ts +4 -3
- package/src/elements/adw-spin-row.ts +2 -1
- package/src/elements/adw-spinner.ts +2 -1
- package/src/elements/adw-split-button.ts +2 -1
- package/src/elements/adw-status-page.ts +2 -1
- package/src/elements/adw-switch-row.ts +10 -1
- package/src/elements/adw-tab-bar.ts +2 -1
- package/src/elements/adw-tab-button.ts +2 -1
- package/src/elements/adw-tab-overview.ts +2 -1
- package/src/elements/adw-tab-view.ts +3 -2
- package/src/elements/adw-toast-overlay.ts +37 -70
- package/src/elements/adw-toggle-group.ts +3 -2
- package/src/elements/adw-toolbar-view.ts +2 -1
- package/src/elements/adw-view-stack.ts +39 -1
- package/src/elements/adw-view-switcher-bar.ts +2 -1
- package/src/elements/adw-view-switcher-sidebar.ts +2 -1
- package/src/elements/adw-view-switcher.ts +3 -2
- package/src/elements/adw-window-features.ts +14 -2
- package/src/elements/adw-window-title.ts +2 -1
- package/src/elements/adw-wrap-box.ts +2 -1
- package/src/elements/checks.ts +85 -6
- package/src/elements/gtk-action-bar.ts +2 -1
- package/src/elements/gtk-application-window.ts +3 -8
- package/src/elements/gtk-aspect-frame.ts +2 -1
- package/src/elements/gtk-box.ts +56 -1
- package/src/elements/gtk-button.ts +10 -22
- package/src/elements/gtk-calendar.ts +2 -1
- package/src/elements/gtk-center-box.ts +2 -1
- package/src/elements/gtk-color-dialog-button.ts +2 -1
- package/src/elements/gtk-drag-icon.ts +6 -1
- package/src/elements/gtk-drawing-area.ts +2 -1
- package/src/elements/gtk-drop-down.ts +2 -1
- package/src/elements/gtk-editable-label.ts +2 -1
- package/src/elements/gtk-emoji-chooser.ts +5 -0
- package/src/elements/gtk-entry.ts +2 -1
- package/src/elements/gtk-expander.ts +2 -1
- package/src/elements/gtk-fixed.ts +2 -1
- package/src/elements/gtk-flow-box-child.ts +5 -2
- package/src/elements/gtk-flow-box.ts +2 -1
- package/src/elements/gtk-font-dialog-button.ts +2 -1
- package/src/elements/gtk-frame.ts +2 -1
- package/src/elements/gtk-gl-area.ts +2 -1
- package/src/elements/gtk-graphics-offload.ts +5 -2
- package/src/elements/gtk-grid.ts +2 -1
- package/src/elements/gtk-header-bar.ts +2 -1
- package/src/elements/gtk-image.ts +14 -15
- package/src/elements/gtk-inscription.ts +2 -1
- package/src/elements/gtk-label.ts +12 -5
- package/src/elements/gtk-level-bar.ts +2 -1
- package/src/elements/gtk-list-box-row.ts +5 -2
- package/src/elements/gtk-list-box.ts +2 -1
- package/src/elements/gtk-list-view.ts +2 -1
- package/src/elements/gtk-media-controls.ts +2 -1
- package/src/elements/gtk-menu-button.ts +2 -1
- package/src/elements/gtk-notebook.ts +2 -1
- package/src/elements/gtk-overlay.ts +7 -5
- package/src/elements/gtk-paned.ts +9 -2
- package/src/elements/gtk-picture.ts +2 -1
- package/src/elements/gtk-popover-bin.ts +5 -1
- package/src/elements/gtk-popover-menu-bar.ts +2 -1
- package/src/elements/gtk-popover-menu.ts +5 -0
- package/src/elements/gtk-popover.ts +14 -1
- package/src/elements/gtk-progress-bar.ts +2 -1
- package/src/elements/gtk-revealer.ts +2 -1
- package/src/elements/gtk-scale-button.ts +2 -1
- package/src/elements/gtk-scale.ts +2 -1
- package/src/elements/gtk-scrollbar.ts +2 -1
- package/src/elements/gtk-scrolled-window.ts +8 -5
- package/src/elements/gtk-search-bar.ts +7 -6
- package/src/elements/gtk-separator.ts +2 -1
- package/src/elements/gtk-spin-button.ts +2 -1
- package/src/elements/gtk-spinner.ts +2 -1
- package/src/elements/gtk-stack-page.ts +112 -0
- package/src/elements/gtk-stack-sidebar.ts +2 -1
- package/src/elements/gtk-stack-switcher.ts +2 -1
- package/src/elements/gtk-stack.ts +52 -6
- package/src/elements/gtk-switch.ts +2 -1
- package/src/elements/gtk-text-view.ts +2 -1
- package/src/elements/gtk-text.ts +2 -1
- package/src/elements/gtk-tree-expander.ts +5 -1
- package/src/elements/gtk-video.ts +2 -1
- package/src/elements/gtk-viewport.ts +6 -1
- package/src/elements/gtk-window-controls.ts +2 -1
- package/src/elements/gtk-window-handle.ts +6 -1
- package/src/elements/gtk-window.ts +57 -7
- package/src/gio.spec.ts +13 -3
- package/src/glib.spec.ts +9 -0
- package/src/gobject-elements.ts +44 -2
- package/src/gtk-label.spec.ts +39 -0
- package/src/gtk-scrolled-window.spec.ts +6 -6
- package/src/gtk-stack.spec.ts +170 -0
- package/src/gtk-value-doors.spec.ts +19 -0
- package/src/gtk-window.spec.ts +2 -2
- package/src/gtksource/gtk-source-view.ts +2 -1
- package/src/{icon-registry.spec.ts → icon-masks.spec.ts} +4 -100
- package/src/icon-theme.spec.ts +69 -124
- package/src/icon-theme.ts +29 -119
- package/src/index.ts +5 -9
- package/src/keyboard-operable.spec.ts +3 -3
- package/src/learn6502-window.spec.ts +113 -0
- package/src/namespace/adw.ts +1 -1
- package/src/namespace/gdk.ts +1 -0
- package/src/namespace/gio.ts +8 -0
- package/src/namespace/glib.ts +4 -0
- package/src/namespace/gtk.ts +2 -0
- package/src/shared-tree-builder.ts +131 -13
- package/src/shared-trees.spec.ts +15 -1
- package/src/signals.ts +11 -2
- package/src/slotted-children.spec.ts +24 -0
- package/src/slotted-children.ts +18 -2
- package/src/source-view/adw-source-view.ts +2 -1
- package/src/split-button.spec.ts +1 -1
- package/src/style-manager.spec.ts +13 -0
- package/src/style-manager.ts +6 -0
- package/src/styles.generated.ts +1 -1
- package/src/test.browser.mts +16 -2
- package/src/value-lists.spec.ts +3 -3
- package/src/widget-element.ts +75 -0
- package/src/widget-map.spec.ts +116 -0
- package/src/widget-mapping.ts +100 -0
- package/src/widget-visible.spec.ts +148 -0
- package/src/window-maximize.spec.ts +93 -0
- package/lib/types/icon-registry.d.ts +0 -37
- package/src/icon-registry.ts +0 -163
package/README.md
CHANGED
|
@@ -106,24 +106,28 @@ the composition is an implementation detail.
|
|
|
106
106
|
### Toasts are queued, one at a time
|
|
107
107
|
|
|
108
108
|
`<adw-toast-overlay>` follows `Adw.ToastOverlay`: it shows **exactly one** toast
|
|
109
|
-
and queues the rest
|
|
110
|
-
|
|
111
|
-
`dismiss()`.
|
|
109
|
+
and queues the rest; a `priority: Adw.ToastPriority.HIGH` toast goes ahead of the
|
|
110
|
+
visible one. Each queued toast is shown only after the visible one is dismissed —
|
|
111
|
+
by its timeout, by its close button, by its action button, or by `toast.dismiss()`.
|
|
112
112
|
|
|
113
113
|
```typescript
|
|
114
|
+
import { Adw } from '@gjsify/adwaita-web';
|
|
115
|
+
|
|
114
116
|
const overlay = document.querySelector('adw-toast-overlay');
|
|
115
117
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
+
const toast = new Adw.Toast({ title: 'File moved to Trash', timeout: 3, button_label: 'Undo' });
|
|
119
|
+
toast.connect('button-clicked', undo);
|
|
120
|
+
overlay.add_toast(toast);
|
|
121
|
+
overlay.add_toast(new Adw.Toast({ title: 'Second file moved' })); // waits its turn
|
|
118
122
|
|
|
119
123
|
overlay.currentToast?.title; // 'File moved to Trash'
|
|
120
124
|
overlay.pendingToasts; // 1
|
|
121
125
|
|
|
122
|
-
|
|
123
|
-
overlay.
|
|
126
|
+
toast.dismiss(); // show the next queued toast now
|
|
127
|
+
overlay.dismiss_all(); // dismiss the visible one and everything queued
|
|
124
128
|
```
|
|
125
129
|
|
|
126
|
-
`
|
|
130
|
+
`Adw.Toast:timeout` is in **seconds**; `0`
|
|
127
131
|
keeps the toast until it is dismissed and holds the queue behind it. The
|
|
128
132
|
auto-dismiss runs on the browser's timers by default; assign
|
|
129
133
|
`overlay.scheduler` a custom `ToastScheduler` (the seam `@gjsify/adwaita-core`
|
|
@@ -244,16 +248,11 @@ visible: the icon has not silently disappeared, and nothing throws — an icon i
|
|
|
244
248
|
and neither of the other two Adwaita renderers takes an application down over a glyph. Only
|
|
245
249
|
an **absent or empty** name draws nothing, which is the host declining an icon.
|
|
246
250
|
|
|
247
|
-
###
|
|
248
|
-
|
|
249
|
-
```typescript
|
|
250
|
-
import { registerIcon, isIconAvailable } from '@gjsify/adwaita-web';
|
|
251
|
-
import { dialogErrorSymbolic } from '@gjsify/adwaita-icons/status';
|
|
251
|
+
### Icons outside the subset
|
|
252
252
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
```
|
|
253
|
+
A glyph the subset does not compile — a symbolic of your own, or a full-colour application
|
|
254
|
+
icon — comes from the app's GResource, the way GNOME ships it (next section).
|
|
255
|
+
`isIconAvailable(name)` answers whether the compiled subset or a resource path draws a name.
|
|
257
256
|
|
|
258
257
|
```html
|
|
259
258
|
<gtk-image icon-name="dialog-error"></gtk-image>
|
|
@@ -269,71 +268,6 @@ narrow surface such as an extension popup — a 96px icon, 24px margins and the
|
|
|
269
268
|
<adw-status-page compact icon="dialog-error" title="No results"></adw-status-page>
|
|
270
269
|
```
|
|
271
270
|
|
|
272
|
-
`registerIcon(name, svg)` takes the icon's **SVG source** — exactly what
|
|
273
|
-
`@gjsify/adwaita-icons` exports, and equally any symbolic SVG of your own drawn on the 16px
|
|
274
|
-
Adwaita grid with `fill="currentColor"`. It writes the same pair the build writes: a
|
|
275
|
-
`--icon-<name>` custom property on the document element and a `.adw-icon--<name>` mask rule,
|
|
276
|
-
so from then on the name is indistinguishable from a compiled one — in `<gtk-image>`, in a
|
|
277
|
-
widget attribute, in a hand-written `class="adw-icon adw-icon--dialog-error"`, and in your
|
|
278
|
-
own CSS as `var(--icon-dialog-error)`.
|
|
279
|
-
|
|
280
|
-
Notes worth having:
|
|
281
|
-
|
|
282
|
-
- **Register before you mount, where you can.** An icon already in the document shows the
|
|
283
|
-
fallback until the registration lands. The CSS is live, so it corrects itself on the next
|
|
284
|
-
style recalculation with no re-render — but there is a visible frame in between.
|
|
285
|
-
- **`registerIcon` needs a live document.** It writes to `document.documentElement` and
|
|
286
|
-
`document.head`, so calling it at module top level in an SSR/SSG build (an Astro component
|
|
287
|
-
module, for instance) throws a `ReferenceError` before any page renders. Call it from
|
|
288
|
-
client-side code — an `onMount`, a `client:load` boundary, a `DOMContentLoaded` handler.
|
|
289
|
-
- **The name is normalized the same way the attribute is**: one optional `-symbolic` suffix
|
|
290
|
-
comes off, and what is left has to be a single CSS token. `registerIcon` *throws* on a name
|
|
291
|
-
that is not (`org.gnome.Builder`, `a b`), because a call that silently registers nothing is
|
|
292
|
-
the failure this whole area exists to end — and because there is no mask class such a name
|
|
293
|
-
could be given. `<gtk-image>` stays lenient with the same input: the name came from markup,
|
|
294
|
-
so it draws `image-missing` rather than taking the page down.
|
|
295
|
-
- **Re-registering replaces the glyph** rather than adding a second rule, so a runtime theme
|
|
296
|
-
switch can call it as often as it likes.
|
|
297
|
-
- `isIconAvailable(name)` reads the live cascade, not a generated list, so it also answers
|
|
298
|
-
`true` for a glyph you supplied through your own stylesheet's `--icon-<name>`.
|
|
299
|
-
|
|
300
|
-
### Full-colour icons — an application icon
|
|
301
|
-
|
|
302
|
-
A symbolic icon is recoloured; an application icon is not. On GNOME,
|
|
303
|
-
`AdwAboutDialog`'s `application-icon` is the application ID, and GTK finds
|
|
304
|
-
`hicolor/scalable/apps/<app-id>.svg` and draws it as it is. The web stand-in for that file is
|
|
305
|
-
`registerColorIcon`:
|
|
306
|
-
|
|
307
|
-
```typescript
|
|
308
|
-
import { registerColorIcon } from '@gjsify/adwaita-web';
|
|
309
|
-
import appIcon from './icons/org.example.App.svg?raw';
|
|
310
|
-
|
|
311
|
-
registerColorIcon('org.example.App', appIcon); // SVG source…
|
|
312
|
-
registerColorIcon('org.example.Other', '/icons/other.png'); // …or an image URL
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
```html
|
|
316
|
-
<adw-about-dialog application-icon="org.example.App" application-name="Example"></adw-about-dialog>
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
Every `<gtk-image>` asking for a registered name draws the image unmasked and unrecoloured,
|
|
320
|
-
which covers every widget that draws its icons through it, `<adw-about-dialog>` and
|
|
321
|
-
`<gtk-about-dialog logo-icon-name>` among them. A name is looked up in the order GTK's own
|
|
322
|
-
theme tries it (`g_themed_icon_update_names`, then gtkicontheme.c's theme order). A colour
|
|
323
|
-
registration is hicolor's, so the current theme's symbolic glyph comes first either way:
|
|
324
|
-
|
|
325
|
-
| Asked for | Tried, in order | Neither found |
|
|
326
|
-
| --- | --- | --- |
|
|
327
|
-
| `X` | symbolic `X-symbolic`, then colour `X` | `image-missing` |
|
|
328
|
-
| `X-symbolic` | symbolic `X-symbolic`, then colour `X` | `image-missing` |
|
|
329
|
-
|
|
330
|
-
So nothing changes for a name with no colour registration, and a colour `X` shows only where the
|
|
331
|
-
theme has no `X-symbolic` — the same as on GNOME. `registerColorIcon` keys on the
|
|
332
|
-
**exact** name, reverse-DNS IDs included, and *throws* on an empty or spaced name, on a
|
|
333
|
-
`-symbolic` (`-ltr`/`-rtl`) name — that is `registerIcon`'s half — and on a source that is
|
|
334
|
-
neither SVG source nor an `http(s):`, `blob:`, `file:` or `data:image/` URL. A registration
|
|
335
|
-
redraws every mounted `<gtk-image>`, and `isIconAvailable` answers `true` for the name.
|
|
336
|
-
|
|
337
271
|
### Icons from the app's GResource (ADR 0116)
|
|
338
272
|
|
|
339
273
|
The way GNOME takes: the app's compiled `.gresource`, registered with the GIO calls it already
|
|
@@ -352,9 +286,9 @@ the lookup follows `gtkicontheme.c`: hicolor subdirectories (`16x16/apps/`, `sca
|
|
|
352
286
|
`symbolic/apps/`, …, without a `hicolor/` component) by size and scale, then files directly
|
|
353
287
|
under the path. A compiled symbolic glyph still answers a `-symbolic` name first. A `-symbolic`
|
|
354
288
|
file draws as a mask in `currentColor`, any other SVG or PNG as it is; an XPM or a compressed
|
|
355
|
-
entry draws `image-missing` with a warning.
|
|
356
|
-
|
|
357
|
-
or `gtk/help-overlay.ui` under the base path, startup throws: no builder here reads them yet.
|
|
289
|
+
entry draws `image-missing` with a warning. An application icon (`application-icon="org.example.App"`)
|
|
290
|
+
is a colour file such as `scalable/apps/org.example.App.svg` under the path. If the resource
|
|
291
|
+
holds `gtk/menus.ui` or `gtk/help-overlay.ui` under the base path, startup throws: no builder here reads them yet.
|
|
358
292
|
`add_search_path` stays a record, since there is no file system to search.
|
|
359
293
|
|
|
360
294
|
### Why this is a web-only concern
|
|
@@ -366,14 +300,14 @@ knowing which one you are on:
|
|
|
366
300
|
| --- | --- | --- |
|
|
367
301
|
| GTK (`@gjsify/adwaita-app`) | `GtkIconTheme` looks it up in the **system** icon theme at runtime | draws the theme's `image-missing` |
|
|
368
302
|
| NativeScript (`@gjsify/adwaita-nativescript`) | `GtkImage` is handed the **SVG source**, not a name | cannot happen — a missing icon is a missing import |
|
|
369
|
-
| Web (this package) | a **compile-time** subset, the `Gtk.IconTheme` resource paths
|
|
303
|
+
| Web (this package) | a **compile-time** subset, then the `Gtk.IconTheme` resource paths | draws `image-missing` |
|
|
370
304
|
|
|
371
305
|
All three therefore end on ONE glyph for a name they cannot draw. The web reaches it by two
|
|
372
306
|
routes — no mask class for a known-shaped name, or no usable class for a name like
|
|
373
|
-
`org.gnome.Builder` that no
|
|
307
|
+
`org.gnome.Builder` that no resource path has answered either.
|
|
374
308
|
|
|
375
309
|
Only the web renderer has a set that can be missing something at runtime, which is why only
|
|
376
|
-
it needs a
|
|
310
|
+
it needs a compiled subset beside the resource paths. `scripts/check-adwaita-icon-masks.mjs` holds the compiled
|
|
377
311
|
subset against every name this repository's SHIPPING surfaces emit, in both directions, and
|
|
378
312
|
fails on a compiled glyph that did not come from `@gjsify/adwaita-icons`.
|
|
379
313
|
|
package/dist/adwaita-web.css
CHANGED
|
@@ -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-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 {
|
|
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-page, 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-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) {
|
|
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-page, 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;
|
|
@@ -1525,6 +1525,12 @@ gtk-stack *::after {
|
|
|
1525
1525
|
box-sizing: border-box;
|
|
1526
1526
|
}
|
|
1527
1527
|
|
|
1528
|
+
gtk-stack-page *,
|
|
1529
|
+
gtk-stack-page *::before,
|
|
1530
|
+
gtk-stack-page *::after {
|
|
1531
|
+
box-sizing: border-box;
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1528
1534
|
gtk-stack-sidebar *,
|
|
1529
1535
|
gtk-stack-sidebar *::before,
|
|
1530
1536
|
gtk-stack-sidebar *::after {
|
|
@@ -2105,6 +2111,12 @@ adw-application-window.fullscreen {
|
|
|
2105
2111
|
outline: none;
|
|
2106
2112
|
box-shadow: none;
|
|
2107
2113
|
}
|
|
2114
|
+
adw-window[maximized]:not([maximized=false]), adw-window[fullscreened]:not([fullscreened=false]),
|
|
2115
|
+
adw-application-window[maximized]:not([maximized=false]),
|
|
2116
|
+
adw-application-window[fullscreened]:not([fullscreened=false]) {
|
|
2117
|
+
width: 100%;
|
|
2118
|
+
height: 100%;
|
|
2119
|
+
}
|
|
2108
2120
|
adw-window[hidden],
|
|
2109
2121
|
adw-application-window[hidden] {
|
|
2110
2122
|
display: none;
|
|
@@ -2146,6 +2158,12 @@ gtk-application-window.fullscreen {
|
|
|
2146
2158
|
outline: none;
|
|
2147
2159
|
box-shadow: none;
|
|
2148
2160
|
}
|
|
2161
|
+
gtk-window[maximized]:not([maximized=false]), gtk-window[fullscreened]:not([fullscreened=false]),
|
|
2162
|
+
gtk-application-window[maximized]:not([maximized=false]),
|
|
2163
|
+
gtk-application-window[fullscreened]:not([fullscreened=false]) {
|
|
2164
|
+
width: 100%;
|
|
2165
|
+
height: 100%;
|
|
2166
|
+
}
|
|
2149
2167
|
gtk-window > .adw-gtk-window-titlebar,
|
|
2150
2168
|
gtk-application-window > .adw-gtk-window-titlebar {
|
|
2151
2169
|
display: flex;
|
|
@@ -3913,13 +3931,17 @@ gtk-drag-icon .adw-drag-icon-swatch {
|
|
|
3913
3931
|
}
|
|
3914
3932
|
|
|
3915
3933
|
gtk-overlay {
|
|
3916
|
-
display:
|
|
3934
|
+
display: flex;
|
|
3935
|
+
flex-direction: column;
|
|
3917
3936
|
position: relative;
|
|
3918
3937
|
}
|
|
3919
3938
|
|
|
3920
3939
|
.adw-overlay-child {
|
|
3921
3940
|
display: contents;
|
|
3922
3941
|
}
|
|
3942
|
+
.adw-overlay-child > * {
|
|
3943
|
+
flex: 1 1 auto;
|
|
3944
|
+
}
|
|
3923
3945
|
|
|
3924
3946
|
.adw-overlay-layer {
|
|
3925
3947
|
position: absolute;
|
|
@@ -4179,7 +4201,8 @@ gtk-check-button .adw-check-indicator {
|
|
|
4179
4201
|
border-radius: 6px;
|
|
4180
4202
|
}
|
|
4181
4203
|
|
|
4182
|
-
adw-radio .adw-check-indicator
|
|
4204
|
+
adw-radio .adw-check-indicator,
|
|
4205
|
+
gtk-check-button[radio] .adw-check-indicator {
|
|
4183
4206
|
border-radius: 100%;
|
|
4184
4207
|
}
|
|
4185
4208
|
|
|
@@ -4189,13 +4212,15 @@ gtk-check-button[checked] .adw-check-indicator::after {
|
|
|
4189
4212
|
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='black' d='m 12.599609,2.1992188 a 1,1 0 0 0 -1.40039,0.2011718 L 5.890625,9.4765625 2.7070313,6.2929687 a 1,1 0 0 0 -1.4140626,0 1,1 0 0 0 0,1.4140625 l 4,3.9999998 A 1.0001,1.0001 0 0 0 6.8007812,11.599609 L 12.800781,3.5996094 A 1,1 0 0 0 12.599609,2.1992188 Z'/%3E%3C/svg%3E");
|
|
4190
4213
|
}
|
|
4191
4214
|
|
|
4192
|
-
adw-radio[checked] .adw-check-indicator::after
|
|
4215
|
+
adw-radio[checked] .adw-check-indicator::after,
|
|
4216
|
+
gtk-check-button[radio][checked] .adw-check-indicator::after {
|
|
4193
4217
|
background-color: currentColor;
|
|
4194
4218
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='black' d='M 7 3 c -2.207 0 -4 1.793 -4 4 s 1.793 4 4 4 c 2.208 0 4 -1.793 4 -4 s -1.792 -4 -4 -4 z'/%3E%3C/svg%3E");
|
|
4195
4219
|
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='black' d='M 7 3 c -2.207 0 -4 1.793 -4 4 s 1.793 4 4 4 c 2.208 0 4 -1.793 4 -4 s -1.792 -4 -4 -4 z'/%3E%3C/svg%3E");
|
|
4196
4220
|
}
|
|
4197
4221
|
|
|
4198
4222
|
gtk-check-button[indeterminate] .adw-check-indicator::after,
|
|
4223
|
+
gtk-check-button[radio][indeterminate] .adw-check-indicator::after,
|
|
4199
4224
|
adw-radio[indeterminate] .adw-check-indicator::after {
|
|
4200
4225
|
background-color: currentColor;
|
|
4201
4226
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='black' d='M 3 5 A 2 2 0 0 0 1 7 A 2 2 0 0 0 3 9 L 11 9 A 2 2 0 0 0 13 7 A 2 2 0 0 0 11 5 Z'/%3E%3C/svg%3E");
|
|
@@ -5390,10 +5415,11 @@ adw-card,
|
|
|
5390
5415
|
}
|
|
5391
5416
|
|
|
5392
5417
|
adw-bin {
|
|
5393
|
-
display:
|
|
5418
|
+
display: flex;
|
|
5419
|
+
flex-direction: column;
|
|
5394
5420
|
}
|
|
5395
5421
|
adw-bin > :only-child {
|
|
5396
|
-
|
|
5422
|
+
flex: 1 1 auto;
|
|
5397
5423
|
}
|
|
5398
5424
|
|
|
5399
5425
|
adw-clamp {
|
|
@@ -5423,12 +5449,12 @@ gtk-stack > .adw-stack-page.transitioning-in, gtk-stack > .adw-stack-page.transi
|
|
|
5423
5449
|
display: flex;
|
|
5424
5450
|
flex-direction: column;
|
|
5425
5451
|
}
|
|
5426
|
-
gtk-stack
|
|
5452
|
+
gtk-stack[hhomogeneous=false] > .adw-stack-page {
|
|
5427
5453
|
flex: 0 1 auto;
|
|
5428
5454
|
width: max-content;
|
|
5429
5455
|
max-width: 100%;
|
|
5430
5456
|
}
|
|
5431
|
-
gtk-stack
|
|
5457
|
+
gtk-stack[vhomogeneous=false] > .adw-stack-page {
|
|
5432
5458
|
height: max-content;
|
|
5433
5459
|
max-height: 100%;
|
|
5434
5460
|
}
|
|
@@ -6872,11 +6898,18 @@ adw-password-entry-row .adw-password-entry-row-toggle {
|
|
|
6872
6898
|
|
|
6873
6899
|
adw-toast-overlay {
|
|
6874
6900
|
position: relative;
|
|
6875
|
-
display:
|
|
6901
|
+
display: flex;
|
|
6902
|
+
flex-direction: column;
|
|
6876
6903
|
}
|
|
6877
6904
|
adw-toast-overlay .adw-toast-overlay-content {
|
|
6905
|
+
display: flex;
|
|
6906
|
+
flex: 1 1 auto;
|
|
6907
|
+
flex-direction: column;
|
|
6908
|
+
min-height: 0;
|
|
6878
6909
|
width: 100%;
|
|
6879
|
-
|
|
6910
|
+
}
|
|
6911
|
+
adw-toast-overlay .adw-toast-overlay-content > * {
|
|
6912
|
+
flex: 1 1 auto;
|
|
6880
6913
|
}
|
|
6881
6914
|
adw-toast-overlay .adw-toast-overlay-toasts {
|
|
6882
6915
|
position: absolute;
|
|
@@ -7232,6 +7265,12 @@ gtk-scrolled-window {
|
|
|
7232
7265
|
}
|
|
7233
7266
|
gtk-scrolled-window > gtk-viewport {
|
|
7234
7267
|
grid-area: 1/1;
|
|
7268
|
+
width: 0;
|
|
7269
|
+
height: 0;
|
|
7270
|
+
min-width: 100%;
|
|
7271
|
+
min-height: 100%;
|
|
7272
|
+
max-width: 100%;
|
|
7273
|
+
max-height: 100%;
|
|
7235
7274
|
}
|
|
7236
7275
|
gtk-scrolled-window > gtk-scrollbar.vertical {
|
|
7237
7276
|
grid-row: 1/3;
|
|
@@ -7416,6 +7455,10 @@ adw-overlay-split-view .adw-osv-content {
|
|
|
7416
7455
|
flex-direction: column;
|
|
7417
7456
|
align-self: stretch;
|
|
7418
7457
|
}
|
|
7458
|
+
adw-overlay-split-view .adw-osv-content > :only-child,
|
|
7459
|
+
adw-overlay-split-view .adw-osv-sidebar > :only-child {
|
|
7460
|
+
flex: 1 1 auto;
|
|
7461
|
+
}
|
|
7419
7462
|
adw-overlay-split-view:not(.collapsed) .adw-osv-sidebar {
|
|
7420
7463
|
position: relative;
|
|
7421
7464
|
}
|
|
@@ -9894,6 +9937,7 @@ adw-about-dialog .adw-about-dialog-sheet:focus {
|
|
|
9894
9937
|
outline: 1px solid var(--separator-color);
|
|
9895
9938
|
outline-offset: -1px;
|
|
9896
9939
|
}
|
|
9940
|
+
adw-about-dialog adw-toast-overlay,
|
|
9897
9941
|
adw-about-dialog adw-navigation-view,
|
|
9898
9942
|
adw-about-dialog .adw-navigation-view-pages,
|
|
9899
9943
|
adw-about-dialog .adw-navigation-page {
|
|
@@ -10004,6 +10048,39 @@ adw-about-dialog .adw-about-dialog-comments {
|
|
|
10004
10048
|
text-align: start;
|
|
10005
10049
|
white-space: pre-wrap;
|
|
10006
10050
|
}
|
|
10051
|
+
adw-about-dialog .adw-about-dialog-release-notes {
|
|
10052
|
+
margin: var(--spacing-s) 0 0;
|
|
10053
|
+
font-size: var(--font-size-base);
|
|
10054
|
+
line-height: 1.5;
|
|
10055
|
+
white-space: pre-wrap;
|
|
10056
|
+
}
|
|
10057
|
+
adw-about-dialog .adw-about-dialog-release-notes [data-tag=heading] {
|
|
10058
|
+
font-weight: 800;
|
|
10059
|
+
font-size: 1.2em;
|
|
10060
|
+
}
|
|
10061
|
+
adw-about-dialog .adw-about-dialog-release-notes [data-tag=em] {
|
|
10062
|
+
font-style: italic;
|
|
10063
|
+
}
|
|
10064
|
+
adw-about-dialog .adw-about-dialog-release-notes [data-tag=code] {
|
|
10065
|
+
font-family: var(--monospace-font-family);
|
|
10066
|
+
}
|
|
10067
|
+
adw-about-dialog .adw-about-dialog-release-notes [data-tag=bullet] {
|
|
10068
|
+
opacity: var(--dim-opacity);
|
|
10069
|
+
}
|
|
10070
|
+
adw-about-dialog .adw-about-dialog-debug-info {
|
|
10071
|
+
margin: var(--spacing-s) 0 0;
|
|
10072
|
+
padding: var(--spacing-s);
|
|
10073
|
+
font-family: var(--monospace-font-family);
|
|
10074
|
+
font-size: var(--font-size-small);
|
|
10075
|
+
white-space: pre-wrap;
|
|
10076
|
+
overflow-wrap: anywhere;
|
|
10077
|
+
border-radius: var(--card-radius);
|
|
10078
|
+
background-color: var(--card-bg-color);
|
|
10079
|
+
}
|
|
10080
|
+
adw-about-dialog .adw-about-dialog-copy {
|
|
10081
|
+
align-self: center;
|
|
10082
|
+
margin-top: var(--spacing-m);
|
|
10083
|
+
}
|
|
10007
10084
|
adw-about-dialog .adw-about-dialog-copyright {
|
|
10008
10085
|
margin: var(--spacing-s) 0 0;
|
|
10009
10086
|
font-size: var(--font-size-small);
|
|
@@ -10542,7 +10619,9 @@ adw-shortcuts-item + adw-shortcuts-item {
|
|
|
10542
10619
|
}
|
|
10543
10620
|
|
|
10544
10621
|
gtk-box:not([orientation=vertical]) > [hexpand]:not([hexpand=false]),
|
|
10545
|
-
gtk-box[orientation=vertical] > [vexpand]:not([vexpand=false])
|
|
10622
|
+
gtk-box[orientation=vertical] > [vexpand]:not([vexpand=false]),
|
|
10623
|
+
gtk-box:not([orientation=vertical]) > [data-computed-hexpand],
|
|
10624
|
+
gtk-box[orientation=vertical] > [data-computed-vexpand] {
|
|
10546
10625
|
flex-grow: 1;
|
|
10547
10626
|
}
|
|
10548
10627
|
|