@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.
- package/dist/adwaita-web.css +8070 -3037
- package/dist/adwaita-web.css.map +1 -1
- package/lib/types/adw-application-window.spec.d.ts +1 -0
- package/lib/types/adw-bin.spec.d.ts +1 -0
- package/lib/types/adw-breakpoint-bin.spec.d.ts +1 -0
- package/lib/types/adw-clamp-scrollable.spec.d.ts +1 -0
- package/lib/types/adw-multi-layout-view.spec.d.ts +1 -0
- package/lib/types/adw-preferences-row.spec.d.ts +1 -0
- package/lib/types/adw-shortcuts.spec.d.ts +1 -0
- package/lib/types/adw-tab-bar.spec.d.ts +1 -0
- package/lib/types/adw-tab-button.spec.d.ts +1 -0
- package/lib/types/adw-tab-overview.spec.d.ts +1 -0
- package/lib/types/adw-view-switcher-sidebar.spec.d.ts +1 -0
- package/lib/types/adw-window.spec.d.ts +1 -0
- package/lib/types/breakpoints.d.ts +14 -3
- package/lib/types/construct-vectors.spec.d.ts +1 -0
- package/lib/types/elements/adw-application-window.d.ts +27 -0
- package/lib/types/elements/adw-bin.d.ts +17 -0
- package/lib/types/elements/adw-breakpoint-bin.d.ts +67 -0
- package/lib/types/elements/adw-clamp-scrollable.d.ts +38 -0
- package/lib/types/elements/adw-dialog.d.ts +10 -0
- package/lib/types/elements/adw-layout-slot.d.ts +19 -0
- package/lib/types/elements/adw-multi-layout-view.d.ts +101 -0
- package/lib/types/elements/adw-preferences-row.d.ts +31 -0
- package/lib/types/elements/adw-shortcuts-dialog.d.ts +13 -0
- package/lib/types/elements/adw-shortcuts-item.d.ts +36 -0
- package/lib/types/elements/adw-shortcuts-section.d.ts +14 -0
- package/lib/types/elements/adw-sidebar.d.ts +5 -0
- package/lib/types/elements/adw-switch-row.d.ts +3 -0
- package/lib/types/elements/adw-tab-bar.d.ts +108 -0
- package/lib/types/elements/adw-tab-button.d.ts +32 -0
- package/lib/types/elements/adw-tab-overview.d.ts +199 -0
- package/lib/types/elements/adw-tab-view.d.ts +19 -23
- package/lib/types/elements/adw-view-switcher-sidebar.d.ts +84 -0
- package/lib/types/elements/adw-window.d.ts +40 -0
- package/lib/types/elements/gtk-about-dialog.d.ts +146 -0
- package/lib/types/elements/gtk-application-window.d.ts +34 -0
- package/lib/types/elements/gtk-aspect-frame.d.ts +27 -0
- package/lib/types/elements/gtk-button.d.ts +9 -0
- package/lib/types/elements/gtk-calendar.d.ts +159 -0
- package/lib/types/elements/gtk-center-box.d.ts +39 -0
- package/lib/types/elements/gtk-color-dialog-button.d.ts +69 -0
- package/lib/types/elements/gtk-column-view.d.ts +50 -0
- package/lib/types/elements/gtk-drag-icon.d.ts +78 -0
- package/lib/types/elements/gtk-drawing-area.d.ts +95 -0
- package/lib/types/elements/gtk-editable-label.d.ts +33 -0
- package/lib/types/elements/gtk-emoji-chooser.d.ts +84 -0
- package/lib/types/elements/gtk-entry.d.ts +20 -1
- package/lib/types/elements/gtk-expander.d.ts +49 -0
- package/lib/types/elements/gtk-fixed.d.ts +13 -0
- package/lib/types/elements/gtk-flow-box-child.d.ts +14 -0
- package/lib/types/elements/gtk-flow-box.d.ts +87 -0
- package/lib/types/elements/gtk-font-dialog-button.d.ts +83 -0
- package/lib/types/elements/gtk-frame.d.ts +24 -0
- package/lib/types/elements/gtk-gl-area.d.ts +136 -0
- package/lib/types/elements/gtk-graphics-offload.d.ts +24 -0
- package/lib/types/elements/gtk-grid-view.d.ts +39 -0
- package/lib/types/elements/gtk-grid.d.ts +27 -0
- package/lib/types/elements/gtk-header-bar.d.ts +60 -0
- package/lib/types/elements/gtk-inscription.d.ts +64 -0
- package/lib/types/elements/gtk-label.d.ts +3 -0
- package/lib/types/elements/gtk-level-bar.d.ts +59 -0
- package/lib/types/elements/gtk-link-button.d.ts +29 -0
- package/lib/types/elements/gtk-list-box-row.d.ts +54 -0
- package/lib/types/elements/gtk-list-box.d.ts +100 -0
- package/lib/types/elements/gtk-list-view.d.ts +73 -0
- package/lib/types/elements/gtk-media-controls.d.ts +142 -0
- package/lib/types/elements/gtk-notebook.d.ts +148 -0
- package/lib/types/elements/gtk-overlay.d.ts +22 -0
- package/lib/types/elements/gtk-page-setup-unix-dialog.d.ts +87 -0
- package/lib/types/elements/gtk-paned.d.ts +121 -0
- package/lib/types/elements/gtk-password-entry.d.ts +27 -0
- package/lib/types/elements/gtk-picture.d.ts +66 -0
- package/lib/types/elements/gtk-popover-bin.d.ts +82 -0
- package/lib/types/elements/gtk-popover-menu-bar.d.ts +66 -0
- package/lib/types/elements/gtk-popover-menu.d.ts +83 -0
- package/lib/types/elements/gtk-popover.d.ts +28 -3
- package/lib/types/elements/gtk-print-unix-dialog.d.ts +167 -0
- package/lib/types/elements/gtk-revealer.d.ts +55 -0
- package/lib/types/elements/gtk-scale-button.d.ts +59 -0
- package/lib/types/elements/gtk-scale.d.ts +98 -0
- package/lib/types/elements/gtk-scrollbar.d.ts +124 -0
- package/lib/types/elements/gtk-scrolled-window.d.ts +121 -0
- package/lib/types/elements/gtk-search-bar.d.ts +39 -0
- package/lib/types/elements/gtk-search-entry.d.ts +27 -0
- package/lib/types/elements/gtk-separator.d.ts +10 -0
- package/lib/types/elements/gtk-spin-button.d.ts +94 -0
- package/lib/types/elements/gtk-spinner.d.ts +14 -0
- package/lib/types/elements/gtk-stack-sidebar.d.ts +43 -0
- package/lib/types/elements/gtk-stack-switcher.d.ts +58 -0
- package/lib/types/elements/gtk-stack.d.ts +154 -0
- package/lib/types/elements/gtk-switch.d.ts +4 -1
- package/lib/types/elements/gtk-text-view.d.ts +62 -0
- package/lib/types/elements/gtk-text.d.ts +45 -0
- package/lib/types/elements/gtk-toggle-button.d.ts +45 -0
- package/lib/types/elements/gtk-tree-expander.d.ts +38 -0
- package/lib/types/elements/gtk-video.d.ts +97 -0
- package/lib/types/elements/gtk-viewport.d.ts +84 -0
- package/lib/types/elements/gtk-window-controls.d.ts +80 -0
- package/lib/types/elements/gtk-window-handle.d.ts +39 -0
- package/lib/types/elements/gtk-window.d.ts +97 -0
- package/lib/types/elements/justification.d.ts +2 -0
- package/lib/types/elements/popover-menu.d.ts +18 -0
- package/lib/types/elements/roving-focus.d.ts +29 -1
- package/lib/types/emoji-data.d.ts +38 -0
- package/lib/types/font-description.d.ts +96 -0
- package/lib/types/gtk-about-dialog.spec.d.ts +1 -0
- package/lib/types/gtk-action-bar.spec.d.ts +1 -0
- package/lib/types/gtk-application-window.spec.d.ts +1 -0
- package/lib/types/gtk-aspect-frame.spec.d.ts +1 -0
- package/lib/types/gtk-calendar.spec.d.ts +1 -0
- package/lib/types/gtk-center-box.spec.d.ts +1 -0
- package/lib/types/gtk-color-dialog-button.spec.d.ts +1 -0
- package/lib/types/gtk-column-view.spec.d.ts +1 -0
- package/lib/types/gtk-drag-icon.spec.d.ts +1 -0
- package/lib/types/gtk-drawing-area.spec.d.ts +1 -0
- package/lib/types/gtk-editable-label.spec.d.ts +1 -0
- package/lib/types/gtk-emoji-chooser.spec.d.ts +1 -0
- package/lib/types/gtk-expander.spec.d.ts +1 -0
- package/lib/types/gtk-fixed.spec.d.ts +1 -0
- package/lib/types/gtk-flow-box.spec.d.ts +1 -0
- package/lib/types/gtk-font-dialog-button.spec.d.ts +1 -0
- package/lib/types/gtk-frame.spec.d.ts +1 -0
- package/lib/types/gtk-gl-area.spec.d.ts +1 -0
- package/lib/types/gtk-graphics-offload.spec.d.ts +1 -0
- package/lib/types/gtk-grid-view.spec.d.ts +1 -0
- package/lib/types/gtk-grid.spec.d.ts +1 -0
- package/lib/types/gtk-header-bar.spec.d.ts +1 -0
- package/lib/types/gtk-inscription.spec.d.ts +1 -0
- package/lib/types/gtk-level-bar.spec.d.ts +1 -0
- package/lib/types/gtk-link-button.spec.d.ts +1 -0
- package/lib/types/gtk-list-box.spec.d.ts +1 -0
- package/lib/types/gtk-list-view.spec.d.ts +1 -0
- package/lib/types/gtk-media-controls.spec.d.ts +1 -0
- package/lib/types/gtk-notebook.spec.d.ts +1 -0
- package/lib/types/gtk-overlay.spec.d.ts +1 -0
- package/lib/types/gtk-paned.spec.d.ts +1 -0
- package/lib/types/gtk-password-entry.spec.d.ts +1 -0
- package/lib/types/gtk-picture.spec.d.ts +1 -0
- package/lib/types/gtk-popover-bin.spec.d.ts +1 -0
- package/lib/types/gtk-popover-menu-bar.spec.d.ts +1 -0
- package/lib/types/gtk-popover-menu.spec.d.ts +1 -0
- package/lib/types/gtk-popover-role.spec.d.ts +1 -0
- package/lib/types/gtk-popover.spec.d.ts +1 -0
- package/lib/types/gtk-print-dialogs.spec.d.ts +1 -0
- package/lib/types/gtk-revealer.spec.d.ts +1 -0
- package/lib/types/gtk-scale-button.spec.d.ts +1 -0
- package/lib/types/gtk-scale.spec.d.ts +1 -0
- package/lib/types/gtk-scrollbar.spec.d.ts +1 -0
- package/lib/types/gtk-scrolled-window.spec.d.ts +1 -0
- package/lib/types/gtk-search-bar.spec.d.ts +1 -0
- package/lib/types/gtk-search-entry.spec.d.ts +1 -0
- package/lib/types/gtk-separator.spec.d.ts +1 -0
- package/lib/types/gtk-spin-button.spec.d.ts +1 -0
- package/lib/types/gtk-spinner.spec.d.ts +1 -0
- package/lib/types/gtk-stack-sidebar.spec.d.ts +1 -0
- package/lib/types/gtk-stack-switcher.spec.d.ts +1 -0
- package/lib/types/gtk-stack.spec.d.ts +1 -0
- package/lib/types/gtk-text-view.spec.d.ts +1 -0
- package/lib/types/gtk-text.spec.d.ts +1 -0
- package/lib/types/gtk-toggle-button.spec.d.ts +1 -0
- package/lib/types/gtk-tree-expander.spec.d.ts +1 -0
- package/lib/types/gtk-video.spec.d.ts +1 -0
- package/lib/types/gtk-viewport.spec.d.ts +1 -0
- package/lib/types/gtk-window-controls.spec.d.ts +1 -0
- package/lib/types/gtk-window-handle.spec.d.ts +1 -0
- package/lib/types/gtk-window.spec.d.ts +1 -0
- package/lib/types/index.d.ts +4 -1
- package/lib/types/list-view-dom.d.ts +44 -0
- package/lib/types/namespace/adw.d.ts +12 -0
- package/lib/types/namespace/gtk.d.ts +61 -0
- package/lib/types/page-setup.d.ts +100 -0
- package/lib/types/scroll-shading.d.ts +15 -1
- package/lib/types/shared-tree-builder.d.ts +30 -2
- package/lib/types/signals.d.ts +4 -0
- package/lib/types/styles.generated.d.ts +1 -1
- package/lib/types/tab-chip.d.ts +73 -0
- package/lib/types/template-classes.d.ts +11 -0
- package/package.json +12 -8
- package/scss/_action_row.scss +2 -2
- package/scss/_application_window.scss +26 -0
- package/scss/_aspect_frame.scss +25 -0
- package/scss/_bin.scss +26 -0
- package/scss/_button.scss +45 -0
- package/scss/_calendar.scss +176 -0
- package/scss/_center_box.scss +25 -0
- package/scss/_checks.scss +6 -1
- package/scss/_clamp_scrollable.scss +28 -0
- package/scss/_color_button.scss +67 -0
- package/scss/_column_view.scss +126 -0
- package/scss/_drag_icon.scss +55 -0
- package/scss/_drawing.scss +85 -0
- package/scss/_emoji_chooser.scss +213 -0
- package/scss/_entry.scss +13 -5
- package/scss/_entry_row.scss +1 -1
- package/scss/_expander.scss +113 -0
- package/scss/_fixed.scss +29 -0
- package/scss/_flow_box.scss +94 -0
- package/scss/_font_button.scss +63 -0
- package/scss/_frame.scss +41 -0
- package/scss/_grid.scss +19 -0
- package/scss/_grid_view.scss +46 -0
- package/scss/_gtk_about_dialog.scss +186 -0
- package/scss/_headerbar.scss +132 -0
- package/scss/_icons.generated.scss +186 -0
- package/scss/_inscription.scss +125 -0
- package/scss/_level_bar.scss +190 -0
- package/scss/_link.scss +82 -0
- package/scss/_list_box.scss +88 -0
- package/scss/_list_view.scss +96 -0
- package/scss/_media_controls.scss +139 -0
- package/scss/_overlay.scss +68 -0
- package/scss/_paned.scss +130 -0
- package/scss/_password_entry.scss +83 -0
- package/scss/_picture.scss +80 -0
- package/scss/_popover_bin.scss +53 -0
- package/scss/_popover_menu_bar.scss +104 -0
- package/scss/_preferences_row.scss +51 -0
- package/scss/_print_dialogs.scss +328 -0
- package/scss/_reset.scss +21 -19
- package/scss/_revealer.scss +37 -0
- package/scss/_row.scss +20 -5
- package/scss/_scale.scss +298 -0
- package/scss/_scale_button.scss +167 -0
- package/scss/_scrollbar.scss +230 -0
- package/scss/_scrolled_window.scss +131 -0
- package/scss/_search_bar.scss +118 -0
- package/scss/_search_entry.scss +86 -0
- package/scss/_separator.scss +44 -0
- package/scss/_shortcuts_dialog.scss +100 -0
- package/scss/_spin_button.scss +172 -0
- package/scss/_spin_row.scss +56 -8
- package/scss/_spinner.scss +85 -4
- package/scss/_stack.scss +729 -0
- package/scss/_switch.scss +13 -5
- package/scss/_switch_row.scss +10 -0
- package/scss/_tab_bar.scss +317 -0
- package/scss/_tab_button.scss +98 -0
- package/scss/_tab_overview.scss +483 -0
- package/scss/_text.scss +182 -0
- package/scss/_theme.scss +1 -1
- package/scss/_tree_expander.scss +62 -0
- package/scss/_variables.scss +43 -21
- package/scss/_video.scss +146 -0
- package/scss/_view_switcher_sidebar.scss +112 -0
- package/scss/_viewport.scss +50 -0
- package/scss/_window.scss +118 -1
- package/scss/_window_handle.scss +20 -0
- package/scss/adwaita-skin.scss +109 -0
- package/src/adw-action-rows.spec.ts +76 -0
- package/src/adw-application-window.spec.ts +118 -0
- package/src/adw-bin.spec.ts +75 -0
- package/src/adw-breakpoint-bin.spec.ts +324 -0
- package/src/adw-clamp-scrollable.spec.ts +189 -0
- package/src/adw-multi-layout-view.spec.ts +243 -0
- package/src/adw-preferences-row.spec.ts +164 -0
- package/src/adw-row-state.spec.ts +142 -0
- package/src/adw-shortcuts.spec.ts +155 -0
- package/src/adw-tab-bar.spec.ts +287 -0
- package/src/adw-tab-button.spec.ts +101 -0
- package/src/adw-tab-overview.spec.ts +443 -0
- package/src/adw-view-switcher-sidebar.spec.ts +281 -0
- package/src/adw-window.spec.ts +129 -0
- package/src/breakpoints.ts +25 -8
- package/src/capabilities.d.mts +3 -0
- package/src/capabilities.mjs +18 -0
- package/src/connect-lifecycle.spec.ts +12 -0
- package/src/construct-vectors.spec.ts +175 -0
- package/src/elements/adw-application-window.ts +154 -0
- package/src/elements/adw-bin.ts +101 -0
- package/src/elements/adw-breakpoint-bin.ts +287 -0
- package/src/elements/adw-clamp-scrollable.ts +207 -0
- package/src/elements/adw-dialog.ts +19 -0
- package/src/elements/adw-layout-slot.ts +95 -0
- package/src/elements/adw-multi-layout-view.ts +326 -0
- package/src/elements/adw-preferences-row.ts +150 -0
- package/src/elements/adw-shortcuts-dialog.ts +52 -0
- package/src/elements/adw-shortcuts-item.ts +171 -0
- package/src/elements/adw-shortcuts-section.ts +86 -0
- package/src/elements/adw-sidebar.ts +42 -3
- package/src/elements/adw-switch-row.ts +28 -1
- package/src/elements/adw-tab-bar.ts +529 -0
- package/src/elements/adw-tab-button.ts +194 -0
- package/src/elements/adw-tab-overview.ts +1011 -0
- package/src/elements/adw-tab-view.ts +66 -145
- package/src/elements/adw-toggle-group.ts +20 -5
- package/src/elements/adw-view-stack.ts +18 -0
- package/src/elements/adw-view-switcher-sidebar.ts +332 -0
- package/src/elements/adw-window.ts +185 -11
- package/src/elements/checks.ts +35 -8
- package/src/elements/gtk-about-dialog.ts +811 -0
- package/src/elements/gtk-application-window.ts +108 -0
- package/src/elements/gtk-aspect-frame.ts +160 -0
- package/src/elements/gtk-button.ts +12 -0
- package/src/elements/gtk-calendar.ts +757 -0
- package/src/elements/gtk-center-box.ts +184 -0
- package/src/elements/gtk-color-dialog-button.ts +278 -0
- package/src/elements/gtk-column-view.ts +320 -0
- package/src/elements/gtk-drag-icon.ts +257 -0
- package/src/elements/gtk-drawing-area.ts +303 -0
- package/src/elements/gtk-editable-label.ts +204 -0
- package/src/elements/gtk-emoji-chooser.ts +542 -0
- package/src/elements/gtk-entry.ts +39 -5
- package/src/elements/gtk-expander.ts +301 -0
- package/src/elements/gtk-fixed.ts +99 -0
- package/src/elements/gtk-flow-box-child.ts +68 -0
- package/src/elements/gtk-flow-box.ts +480 -0
- package/src/elements/gtk-font-dialog-button.ts +432 -0
- package/src/elements/gtk-frame.ts +174 -0
- package/src/elements/gtk-gl-area.ts +476 -0
- package/src/elements/gtk-graphics-offload.ts +130 -0
- package/src/elements/gtk-grid-view.ts +168 -0
- package/src/elements/gtk-grid.ts +127 -0
- package/src/elements/gtk-header-bar.ts +273 -0
- package/src/elements/gtk-inscription.ts +387 -0
- package/src/elements/gtk-label.ts +19 -11
- package/src/elements/gtk-level-bar.ts +323 -0
- package/src/elements/gtk-link-button.ts +138 -0
- package/src/elements/gtk-list-box-row.ts +195 -0
- package/src/elements/gtk-list-box.ts +413 -0
- package/src/elements/gtk-list-view.ts +370 -0
- package/src/elements/gtk-media-controls.ts +509 -0
- package/src/elements/gtk-notebook.ts +664 -0
- package/src/elements/gtk-overlay.ts +149 -0
- package/src/elements/gtk-page-setup-unix-dialog.ts +420 -0
- package/src/elements/gtk-paned.ts +597 -0
- package/src/elements/gtk-password-entry.ts +170 -0
- package/src/elements/gtk-picture.ts +254 -0
- package/src/elements/gtk-popover-bin.ts +332 -0
- package/src/elements/gtk-popover-menu-bar.ts +355 -0
- package/src/elements/gtk-popover-menu.ts +339 -0
- package/src/elements/gtk-popover.ts +92 -10
- package/src/elements/gtk-print-unix-dialog.ts +989 -0
- package/src/elements/gtk-progress-bar.ts +24 -11
- package/src/elements/gtk-revealer.ts +406 -0
- package/src/elements/gtk-scale-button.ts +358 -0
- package/src/elements/gtk-scale.ts +492 -0
- package/src/elements/gtk-scrollbar.ts +528 -0
- package/src/elements/gtk-scrolled-window.ts +642 -0
- package/src/elements/gtk-search-bar.ts +200 -0
- package/src/elements/gtk-search-entry.ts +172 -0
- package/src/elements/gtk-separator.ts +52 -0
- package/src/elements/gtk-spin-button.ts +475 -0
- package/src/elements/gtk-spinner.ts +126 -0
- package/src/elements/gtk-stack-sidebar.ts +212 -0
- package/src/elements/gtk-stack-switcher.ts +279 -0
- package/src/elements/gtk-stack.ts +748 -0
- package/src/elements/gtk-switch.ts +52 -19
- package/src/elements/gtk-text-view.ts +290 -0
- package/src/elements/gtk-text.ts +219 -0
- package/src/elements/gtk-toggle-button.ts +239 -0
- package/src/elements/gtk-tree-expander.ts +243 -0
- package/src/elements/gtk-video.ts +423 -0
- package/src/elements/gtk-viewport.ts +277 -0
- package/src/elements/gtk-window-controls.ts +341 -0
- package/src/elements/gtk-window-handle.ts +221 -0
- package/src/elements/gtk-window.ts +366 -0
- package/src/elements/justification.ts +24 -0
- package/src/elements/popover-menu.ts +24 -0
- package/src/elements/roving-focus.ts +53 -21
- package/src/emoji-data.ts +577 -0
- package/src/entry-rows.spec.ts +31 -0
- package/src/font-description.ts +238 -0
- package/src/gtk-about-dialog.spec.ts +250 -0
- package/src/gtk-action-bar.spec.ts +89 -0
- package/src/gtk-application-window.spec.ts +107 -0
- package/src/gtk-aspect-frame.spec.ts +114 -0
- package/src/gtk-calendar.spec.ts +589 -0
- package/src/gtk-center-box.spec.ts +125 -0
- package/src/gtk-color-dialog-button.spec.ts +141 -0
- package/src/gtk-column-view.spec.ts +154 -0
- package/src/gtk-drag-icon.spec.ts +190 -0
- package/src/gtk-drawing-area.spec.ts +211 -0
- package/src/gtk-editable-label.spec.ts +190 -0
- package/src/gtk-emoji-chooser.spec.ts +173 -0
- package/src/gtk-entry.spec.ts +23 -0
- package/src/gtk-expander.spec.ts +170 -0
- package/src/gtk-fixed.spec.ts +97 -0
- package/src/gtk-flow-box.spec.ts +289 -0
- package/src/gtk-font-dialog-button.spec.ts +166 -0
- package/src/gtk-frame.spec.ts +119 -0
- package/src/gtk-gl-area.spec.ts +361 -0
- package/src/gtk-graphics-offload.spec.ts +119 -0
- package/src/gtk-grid-view.spec.ts +106 -0
- package/src/gtk-grid.spec.ts +122 -0
- package/src/gtk-header-bar.spec.ts +202 -0
- package/src/gtk-inscription.spec.ts +235 -0
- package/src/gtk-level-bar.spec.ts +199 -0
- package/src/gtk-link-button.spec.ts +117 -0
- package/src/gtk-list-box.spec.ts +422 -0
- package/src/gtk-list-view.spec.ts +203 -0
- package/src/gtk-media-controls.spec.ts +295 -0
- package/src/gtk-notebook.spec.ts +546 -0
- package/src/gtk-overlay.spec.ts +141 -0
- package/src/gtk-paned.spec.ts +267 -0
- package/src/gtk-password-entry.spec.ts +150 -0
- package/src/gtk-picture.spec.ts +172 -0
- package/src/gtk-popover-bin.spec.ts +229 -0
- package/src/gtk-popover-menu-bar.spec.ts +296 -0
- package/src/gtk-popover-menu.spec.ts +261 -0
- package/src/gtk-popover-role.spec.ts +138 -0
- package/src/gtk-popover.spec.ts +264 -0
- package/src/gtk-print-dialogs.spec.ts +251 -0
- package/src/gtk-revealer.spec.ts +164 -0
- package/src/gtk-scale-button.spec.ts +218 -0
- package/src/gtk-scale.spec.ts +213 -0
- package/src/gtk-scrollbar.spec.ts +244 -0
- package/src/gtk-scrolled-window.spec.ts +262 -0
- package/src/gtk-search-bar.spec.ts +179 -0
- package/src/gtk-search-entry.spec.ts +142 -0
- package/src/gtk-separator.spec.ts +74 -0
- package/src/gtk-spin-button.spec.ts +186 -0
- package/src/gtk-spinner.spec.ts +130 -0
- package/src/gtk-stack-sidebar.spec.ts +217 -0
- package/src/gtk-stack-switcher.spec.ts +249 -0
- package/src/gtk-stack.spec.ts +432 -0
- package/src/gtk-text-view.spec.ts +189 -0
- package/src/gtk-text.spec.ts +163 -0
- package/src/gtk-toggle-button.spec.ts +186 -0
- package/src/gtk-tree-expander.spec.ts +201 -0
- package/src/gtk-video.spec.ts +240 -0
- package/src/gtk-viewport.spec.ts +140 -0
- package/src/gtk-window-controls.spec.ts +232 -0
- package/src/gtk-window-handle.spec.ts +158 -0
- package/src/gtk-window.spec.ts +190 -0
- package/src/index.ts +9 -1
- package/src/keyboard-operable.spec.ts +33 -1
- package/src/list-view-dom.ts +121 -0
- package/src/namespace/adw.ts +12 -0
- package/src/namespace/gtk.ts +61 -0
- package/src/page-setup.ts +222 -0
- package/src/scroll-shading.ts +18 -1
- package/src/shared-tree-builder.ts +263 -21
- package/src/signals.ts +15 -0
- package/src/source-view/theme.ts +11 -5
- package/src/style-classes.spec.ts +9 -8
- package/src/styles.generated.ts +1 -1
- package/src/tab-chip.ts +200 -0
- package/src/template-classes.ts +45 -0
- 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
|
+
}
|