@gjsify/adwaita-web 0.54.0 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/adwaita-web.css +8146 -3011
- 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-status-page.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/attributes.d.ts +19 -0
- package/lib/types/breakpoints.d.ts +14 -3
- package/lib/types/construct-vectors.spec.d.ts +1 -0
- package/lib/types/elements/adw-action-row.d.ts +4 -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-combo-row.d.ts +4 -0
- package/lib/types/elements/adw-dialog.d.ts +10 -0
- package/lib/types/elements/adw-entry-row.d.ts +6 -0
- package/lib/types/elements/adw-expander-row.d.ts +2 -0
- package/lib/types/elements/adw-header-bar.d.ts +6 -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-overlay-split-view.d.ts +13 -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 +8 -2
- package/lib/types/elements/adw-spin-row.d.ts +6 -0
- package/lib/types/elements/adw-switch-row.d.ts +7 -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-toggle-group.d.ts +17 -0
- 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 +129 -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 +103 -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/row-line-clamp.d.ts +20 -0
- package/lib/types/row-tooltip.d.ts +8 -0
- package/lib/types/row-tooltip.spec.d.ts +1 -0
- package/lib/types/scroll-shading.d.ts +15 -1
- package/lib/types/shared-tree-builder.d.ts +75 -17
- package/lib/types/shared-tree-mount.spec.d.ts +1 -0
- 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/lib/types/widget-size.spec.d.ts +1 -0
- package/package.json +12 -8
- package/scss/_action_row.scss +41 -17
- 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/_button_row.scss +5 -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/_expander_row.scss +36 -3
- 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 +134 -1
- 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 +60 -0
- package/scss/_print_dialogs.scss +328 -0
- package/scss/_reset.scss +21 -19
- package/scss/_revealer.scss +37 -0
- package/scss/_row.scss +36 -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/_status_page.scss +1 -1
- 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/_toggle_group.scss +28 -0
- package/scss/_tree_expander.scss +62 -0
- package/scss/_variables.scss +1 -1
- package/scss/_video.scss +146 -0
- package/scss/_view_switcher_sidebar.scss +112 -0
- package/scss/_viewport.scss +50 -0
- package/scss/_widget.scss +14 -3
- package/scss/_window.scss +131 -2
- package/scss/_window_handle.scss +20 -0
- package/scss/adwaita-skin.scss +109 -0
- package/src/adw-action-rows.spec.ts +331 -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-header-bar.spec.ts +18 -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-status-page.spec.ts +124 -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/attributes.ts +52 -0
- package/src/breakpoints.ts +25 -8
- package/src/capabilities.d.mts +3 -0
- package/src/capabilities.mjs +21 -0
- package/src/connect-lifecycle.spec.ts +12 -0
- package/src/construct-vectors.spec.ts +175 -0
- package/src/elements/adw-action-row.ts +31 -2
- package/src/elements/adw-alert-dialog.ts +4 -1
- 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-button-row.ts +7 -1
- package/src/elements/adw-clamp-scrollable.ts +207 -0
- package/src/elements/adw-combo-row.ts +26 -1
- package/src/elements/adw-dialog.ts +19 -0
- package/src/elements/adw-entry-row.ts +22 -12
- package/src/elements/adw-expander-row.ts +34 -1
- package/src/elements/adw-header-bar.ts +18 -4
- package/src/elements/adw-layout-slot.ts +95 -0
- package/src/elements/adw-multi-layout-view.ts +326 -0
- package/src/elements/adw-overlay-split-view.ts +29 -6
- package/src/elements/adw-preferences-row.ts +153 -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 +74 -7
- package/src/elements/adw-spin-row.ts +37 -2
- package/src/elements/adw-status-page.ts +10 -2
- package/src/elements/adw-switch-row.ts +53 -2
- 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 +138 -14
- 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 +190 -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 +653 -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 +372 -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 +202 -0
- package/src/index.ts +9 -1
- package/src/keyboard-operable.spec.ts +77 -9
- 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/row-line-clamp.ts +74 -0
- package/src/row-tooltip.spec.ts +313 -0
- package/src/row-tooltip.ts +52 -0
- package/src/scroll-shading.ts +18 -1
- package/src/shared-tree-builder.ts +336 -41
- package/src/shared-tree-mount.spec.ts +130 -0
- package/src/shared-trees.spec.ts +15 -0
- package/src/signals.ts +15 -0
- 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 +160 -0
- package/src/widget-size.spec.ts +117 -0
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import './gtk-switch.js';
|
|
2
2
|
export declare class AdwSwitchRow extends HTMLElement {
|
|
3
3
|
private _switchEl;
|
|
4
|
+
private _prefixEl;
|
|
5
|
+
/** The label column — kept for `tooltip-text`, which the browser reads off a PART. */
|
|
6
|
+
private _textEl;
|
|
4
7
|
private _titleEl;
|
|
5
8
|
private _subtitleEl;
|
|
6
9
|
/** The headless active flag + its notify rule (ADR 0004). */
|
|
7
10
|
private readonly _state;
|
|
8
11
|
private _initialized;
|
|
9
12
|
static get observedAttributes(): string[];
|
|
13
|
+
/** The start (prefix) section — append icons/widgets here imperatively. */
|
|
14
|
+
get prefixSection(): HTMLDivElement;
|
|
10
15
|
get active(): boolean;
|
|
11
16
|
set active(value: boolean);
|
|
12
17
|
connectedCallback(): void;
|
|
@@ -18,4 +23,6 @@ export declare class AdwSwitchRow extends HTMLElement {
|
|
|
18
23
|
*/
|
|
19
24
|
private _apply;
|
|
20
25
|
private _renderText;
|
|
26
|
+
/** Apply CSS line-clamping based on title-lines/subtitle-lines attributes. */
|
|
27
|
+
private _applyLineClamping;
|
|
21
28
|
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { AdwTabView } from './adw-tab-view.js';
|
|
2
|
+
/** The CSS classes a chip's own layout reads — the states C puts on the widget. */
|
|
3
|
+
export declare class AdwTabBar extends HTMLElement {
|
|
4
|
+
private _boxEl;
|
|
5
|
+
private _startEl;
|
|
6
|
+
private _endEl;
|
|
7
|
+
private _indicatorEl;
|
|
8
|
+
private _chips;
|
|
9
|
+
private _hovered;
|
|
10
|
+
private _view;
|
|
11
|
+
private _initialized;
|
|
12
|
+
private _preferredAction;
|
|
13
|
+
private _dropTypes;
|
|
14
|
+
private _dropActions;
|
|
15
|
+
private _dropArmed;
|
|
16
|
+
static get observedAttributes(): string[];
|
|
17
|
+
/** `Adw.TabBar:view` — the tab view this bar controls. */
|
|
18
|
+
get view(): AdwTabView | null;
|
|
19
|
+
set view(value: AdwTabView | string | null);
|
|
20
|
+
/**
|
|
21
|
+
* `Adw.TabBar:start-action-widget` — the widget shown BEFORE the tabs.
|
|
22
|
+
*
|
|
23
|
+
* READ OUT OF THE BIN rather than remembered: a `slot="start-action-widget"` child and
|
|
24
|
+
* this setter are two spellings of one property, and a second copy of the truth is where
|
|
25
|
+
* they drift apart. `bindSlottedChildren` moves the node; the bin holds it.
|
|
26
|
+
*/
|
|
27
|
+
get startActionWidget(): HTMLElement | null;
|
|
28
|
+
set startActionWidget(widget: HTMLElement | null);
|
|
29
|
+
/** `Adw.TabBar:end-action-widget` — the widget shown AFTER the tabs. */
|
|
30
|
+
get endActionWidget(): HTMLElement | null;
|
|
31
|
+
set endActionWidget(widget: HTMLElement | null);
|
|
32
|
+
/**
|
|
33
|
+
* `Adw.TabBar:autohide` — whether the strip hides itself when it has nothing to show.
|
|
34
|
+
* TRUE upstream, opt-in here; see the header.
|
|
35
|
+
*/
|
|
36
|
+
get autohide(): boolean;
|
|
37
|
+
set autohide(value: boolean);
|
|
38
|
+
/** `Adw.TabBar:expand-tabs` — chips fill the strip instead of sitting at minimum size. */
|
|
39
|
+
get expandTabs(): boolean;
|
|
40
|
+
set expandTabs(value: boolean);
|
|
41
|
+
/** `Adw.TabBar:inverted` — close button first, indicator last. */
|
|
42
|
+
get inverted(): boolean;
|
|
43
|
+
set inverted(value: boolean);
|
|
44
|
+
/** `Adw.TabBar:extra-drag-preload` — see the header for the half a browser cannot do. */
|
|
45
|
+
get extraDragPreload(): boolean;
|
|
46
|
+
set extraDragPreload(value: boolean);
|
|
47
|
+
/** `Adw.TabBar:tabs-revealed` — read-only, and `tabsRevealed`'s answer. */
|
|
48
|
+
get tabsRevealed(): boolean;
|
|
49
|
+
/** `Adw.TabBar:is-overflowing` — read-only, measured off the strip's own scroll window. */
|
|
50
|
+
get isOverflowing(): boolean;
|
|
51
|
+
/** `Adw.TabBar:extra-drag-preferred-action` — read-only, set by a drag handler. */
|
|
52
|
+
get extraDragPreferredAction(): string | null;
|
|
53
|
+
/** `adw_tab_bar_set_view`: rebind, then redraw every chip from the new view's pages. */
|
|
54
|
+
setView(view: AdwTabView | null): void;
|
|
55
|
+
connectedCallback(): void;
|
|
56
|
+
disconnectedCallback(): void;
|
|
57
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
58
|
+
/**
|
|
59
|
+
* `adw_tab_bar_setup_extra_drop_target`: the DOM half of an extra drop target.
|
|
60
|
+
*
|
|
61
|
+
* `types` is the list of MIME types the widget accepts and `actions` the list of drop
|
|
62
|
+
* effects it will let through, which is the pair the C call takes. A drop of any other
|
|
63
|
+
* type is not ours and is left to the page.
|
|
64
|
+
*/
|
|
65
|
+
setupExtraDropTarget(types: readonly string[], actions?: readonly string[]): void;
|
|
66
|
+
private _resolveView;
|
|
67
|
+
/** `set_view`'s connections, as the view's own events rather than GObject notifications. */
|
|
68
|
+
private _bindView;
|
|
69
|
+
private _unbindView;
|
|
70
|
+
private _onViewChange;
|
|
71
|
+
/**
|
|
72
|
+
* The whole strip, rebuilt in place: the page list is the model, and C edits the box
|
|
73
|
+
* rather than rebuilding it, so a chip that survives keeps its node, its hover state and
|
|
74
|
+
* its focus.
|
|
75
|
+
*/
|
|
76
|
+
private _syncChips;
|
|
77
|
+
private _refreshOne;
|
|
78
|
+
/**
|
|
79
|
+
* `update_selected_tab`: the selected chip takes the `:selected` state, the roving
|
|
80
|
+
* tabindex follows it, and the strip scrolls it into view the way C does on EVERY
|
|
81
|
+
* selection (`adw-tab-bar.c:934` -> `adw-tab-box.c:1728`).
|
|
82
|
+
*/
|
|
83
|
+
private _applyActiveState;
|
|
84
|
+
/** `update_tabs_revealed`: the strip is up or it is not. */
|
|
85
|
+
private _applyRevealed;
|
|
86
|
+
/**
|
|
87
|
+
* `is-overflowing`, and the revealer over the box that reads it
|
|
88
|
+
* (`tabbox > revealer > indicator`, _tab-view.scss:44-55): a two-pixel accent bar under
|
|
89
|
+
* the chips, shown exactly while the strip cannot show them all.
|
|
90
|
+
*/
|
|
91
|
+
private _applyOverflow;
|
|
92
|
+
/**
|
|
93
|
+
* `Adw.TabView`'s shortcut table as the BAR sees it (`adw-tab-bar.c` connects the same
|
|
94
|
+
* moves), plus the ArrowLeft/ArrowRight movement `role=tablist` promises. Ctrl+Tab WRAPS
|
|
95
|
+
* and Ctrl+Page-Up/Down does not — the same `last` flag that separates them in C.
|
|
96
|
+
*/
|
|
97
|
+
private _onKeyDown;
|
|
98
|
+
private _onDragOver;
|
|
99
|
+
private _onDrop;
|
|
100
|
+
/** `dropEffect` is the DOM's own name for `Gdk.DragAction`, and it takes the same words. */
|
|
101
|
+
private _dropEffects;
|
|
102
|
+
/**
|
|
103
|
+
* `extra-drag-value` on hover-start with a `NULL` action (adw-tab-bar.c: the signal is
|
|
104
|
+
* emitted whenever an item starts hovering, whatever `extra-drag-preload` says), and
|
|
105
|
+
* `extra-drag-preferred-action` is whatever the handler answered with.
|
|
106
|
+
*/
|
|
107
|
+
private _armHoverValue;
|
|
108
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AdwTabView } from './adw-tab-view.js';
|
|
2
|
+
export declare class AdwTabButton extends HTMLElement {
|
|
3
|
+
private _button;
|
|
4
|
+
private _binEl;
|
|
5
|
+
private _labelEl;
|
|
6
|
+
private _indicatorEl;
|
|
7
|
+
private _view;
|
|
8
|
+
private _initialized;
|
|
9
|
+
static get observedAttributes(): string[];
|
|
10
|
+
/** `Adw.TabButton:view` — the tab view this button counts. */
|
|
11
|
+
get view(): AdwTabView | null;
|
|
12
|
+
set view(value: AdwTabView | string | null);
|
|
13
|
+
/** `adw_tab_button_set_view`: rebind, then re-derive the icon and the indicator. */
|
|
14
|
+
setView(view: AdwTabView | null): void;
|
|
15
|
+
connectedCallback(): void;
|
|
16
|
+
disconnectedCallback(): void;
|
|
17
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
18
|
+
private _resolveView;
|
|
19
|
+
private _onViewChange;
|
|
20
|
+
/**
|
|
21
|
+
* `set_view`'s four connections (adw-tab-button.c:`set_view`), as the view's own events.
|
|
22
|
+
*
|
|
23
|
+
* `notify::n-pages`, `page-attached` and `page-detached` all arrive as `page-attached`
|
|
24
|
+
* / `page-detached`; `notify::selected-page` is itself; and what C reads off each PAGE
|
|
25
|
+
* (`notify::needs-attention`) reaches the view as `page-updated`, whichever page it
|
|
26
|
+
* is on and whether an attribute or `setPageNeedsAttention` changed it.
|
|
27
|
+
*/
|
|
28
|
+
private _bindView;
|
|
29
|
+
private _unbindView;
|
|
30
|
+
/** `update_icon` and `update_needs_attention`, in that order. */
|
|
31
|
+
private _render;
|
|
32
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { type AdwMenuInput, type AdwMenuModel } from '@gjsify/adwaita-core';
|
|
2
|
+
import type { AdwTabView } from './adw-tab-view.js';
|
|
3
|
+
export declare class AdwTabOverview extends HTMLElement {
|
|
4
|
+
private _childEl;
|
|
5
|
+
private _overviewEl;
|
|
6
|
+
private _headerEl;
|
|
7
|
+
private _startButtonsEl;
|
|
8
|
+
private _endButtonsEl;
|
|
9
|
+
private _titleEl;
|
|
10
|
+
private _searchBtn;
|
|
11
|
+
private _searchEntry;
|
|
12
|
+
private _searchClamp;
|
|
13
|
+
private _searchBar;
|
|
14
|
+
private _menuBtn;
|
|
15
|
+
private _gridEl;
|
|
16
|
+
private _pinnedGridEl;
|
|
17
|
+
private _emptyState;
|
|
18
|
+
private _searchEmptyState;
|
|
19
|
+
private _newTabBtn;
|
|
20
|
+
private readonly _thumbs;
|
|
21
|
+
private _view;
|
|
22
|
+
private _model;
|
|
23
|
+
private _searchActive;
|
|
24
|
+
private _initialized;
|
|
25
|
+
/** The last visibility actually painted, so `notify::open` fires on a real change. */
|
|
26
|
+
private _appliedOpen;
|
|
27
|
+
/** Guards the `open` attribute we write ourselves from re-entering `setOpen`. */
|
|
28
|
+
private _reflecting;
|
|
29
|
+
static get observedAttributes(): string[];
|
|
30
|
+
/** `Adw.TabOverview:view` — the tab view the overview controls. */
|
|
31
|
+
get view(): AdwTabView | null;
|
|
32
|
+
set view(value: AdwTabView | string | null);
|
|
33
|
+
/**
|
|
34
|
+
* `adw_tab_overview_set_view`: rebind the view's five signals, then repopulate.
|
|
35
|
+
* The view must be INSIDE the overview (adw-tab-overview.c:1090-1093 refuses
|
|
36
|
+
* otherwise), which the element enforces by looking the view up among its own
|
|
37
|
+
* children when the reference is not a live element.
|
|
38
|
+
*/
|
|
39
|
+
setView(view: AdwTabView | null): void;
|
|
40
|
+
/**
|
|
41
|
+
* `Adw.TabOverview:child` — the widget the overview covers. Declared children are
|
|
42
|
+
* it: there is one slot in the template and it holds whatever the author wrote.
|
|
43
|
+
*/
|
|
44
|
+
get child(): HTMLElement | null;
|
|
45
|
+
/** `Adw.TabOverview:open` — whether the overview is showing. */
|
|
46
|
+
get open(): boolean;
|
|
47
|
+
set open(value: boolean);
|
|
48
|
+
/**
|
|
49
|
+
* Whether the thumbnails use the INVERTED layout: the close/unpin button at the
|
|
50
|
+
* START and the indicator at the END, rather than the other way round
|
|
51
|
+
* (adw-tab-overview.c:1626-1634).
|
|
52
|
+
*/
|
|
53
|
+
get inverted(): boolean;
|
|
54
|
+
set inverted(value: boolean);
|
|
55
|
+
/**
|
|
56
|
+
* `Adw.TabOverview:enable-search`, TRUE upstream — and so `="false"` is the off
|
|
57
|
+
* switch, absent meaning on. The same MODIFICATION `<adw-carousel>` makes for
|
|
58
|
+
* `allow-scroll-wheel`: an HTML boolean attribute can only mean TRUE.
|
|
59
|
+
*/
|
|
60
|
+
get enableSearch(): boolean;
|
|
61
|
+
set enableSearch(value: boolean);
|
|
62
|
+
/** `Adw.TabOverview:search-active` — read-only upstream, and read-only here. */
|
|
63
|
+
get searchActive(): boolean;
|
|
64
|
+
/** `Adw.TabOverview:enable-new-tab`. */
|
|
65
|
+
get enableNewTab(): boolean;
|
|
66
|
+
set enableNewTab(value: boolean);
|
|
67
|
+
/** `Adw.TabOverview:secondary-menu` — the portal menu of extra actions. */
|
|
68
|
+
get secondaryMenu(): AdwMenuModel;
|
|
69
|
+
set secondaryMenu(value: AdwMenuInput);
|
|
70
|
+
/** `Adw.TabOverview:show-start-title-buttons`, TRUE upstream, so `="false"` turns it off. */
|
|
71
|
+
get showStartTitleButtons(): boolean;
|
|
72
|
+
set showStartTitleButtons(value: boolean);
|
|
73
|
+
/** `Adw.TabOverview:show-end-title-buttons`, TRUE upstream, so `="false"` turns it off. */
|
|
74
|
+
get showEndTitleButtons(): boolean;
|
|
75
|
+
set showEndTitleButtons(value: boolean);
|
|
76
|
+
/**
|
|
77
|
+
* `Adw.TabOverview:extra-drag-preload`. Stored and reported; it gates the GDK drag
|
|
78
|
+
* protocol this port does not have (see the header).
|
|
79
|
+
*/
|
|
80
|
+
get extraDragPreload(): boolean;
|
|
81
|
+
set extraDragPreload(value: boolean);
|
|
82
|
+
/** `Adw.TabOverview:extra-drag-preferred-action` — always 0 here, for the same reason. */
|
|
83
|
+
get extraDragPreferredAction(): number;
|
|
84
|
+
/**
|
|
85
|
+
* The `overview.open` action (`overview_open_cb`, adw-tab-overview.c:1517-1521),
|
|
86
|
+
* with `update_actions`' enabled rule: closed AND holding a view (:816-826).
|
|
87
|
+
*/
|
|
88
|
+
activateOverviewOpen(): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* The `overview.close` action (`overview_close_cb`, :1523-1527): open, holding a
|
|
91
|
+
* view, and holding at least one page — an empty overview has nothing to close to.
|
|
92
|
+
*/
|
|
93
|
+
activateOverviewClose(): boolean;
|
|
94
|
+
connectedCallback(): void;
|
|
95
|
+
disconnectedCallback(): void;
|
|
96
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
97
|
+
private _resolveView;
|
|
98
|
+
/** The `AdwTabView` among our own children — the only place the C allows one. */
|
|
99
|
+
private _findView;
|
|
100
|
+
/**
|
|
101
|
+
* `set_view`'s five connections (adw-tab-overview.c:1140-1209), read off the view's
|
|
102
|
+
* own events: the page list's attach/detach/reorder, each page's `pinned` change,
|
|
103
|
+
* the selection, and the page COUNT (which the title and the actions are derived
|
|
104
|
+
* from). The pinned page change arrives as `page-updated` / `page-pinned`.
|
|
105
|
+
*/
|
|
106
|
+
private _bindView;
|
|
107
|
+
private _unbindView;
|
|
108
|
+
private _onViewChange;
|
|
109
|
+
private _syncAll;
|
|
110
|
+
/**
|
|
111
|
+
* `notify_n_pages_cb`: `dngettext ("%u Tab", "%u Tabs", n_pages)` — the count is
|
|
112
|
+
* the number of pages, and the singular is only for exactly one. No view means an
|
|
113
|
+
* EMPTY title, which is the C's own branch before the format string (:955-958).
|
|
114
|
+
*/
|
|
115
|
+
private _applyTitle;
|
|
116
|
+
/**
|
|
117
|
+
* The two grids, split the way `populate_sidebar`-shaped code splits them: pinned
|
|
118
|
+
* pages in `pinned_grid` in view order, the rest in `grid`, each filtered by the
|
|
119
|
+
* current search terms. Thumbnails are edited in place; a page that left either
|
|
120
|
+
* grid loses its node.
|
|
121
|
+
*/
|
|
122
|
+
private _syncGrids;
|
|
123
|
+
/**
|
|
124
|
+
* `empty_changed_cb`: EMPTY is BOTH grids empty, and which of the two status pages
|
|
125
|
+
* shows is the search — `empty_state` when it is off, `search_empty_state` when on.
|
|
126
|
+
*/
|
|
127
|
+
private _applyEmptyStates;
|
|
128
|
+
/** `update_new_tab_button`: the button hides while the search is running. */
|
|
129
|
+
private _applyNewTabButton;
|
|
130
|
+
/**
|
|
131
|
+
* `update_header_bar`: the bar shows when search is on, or a secondary menu is set,
|
|
132
|
+
* or either side wants its title buttons. The two sides are drawn as the slots C
|
|
133
|
+
* puts the window buttons in — this renderer has no window chrome to move, so the
|
|
134
|
+
* slot is where an application puts its own controls.
|
|
135
|
+
*/
|
|
136
|
+
private _applyHeaderBar;
|
|
137
|
+
private _applyMenu;
|
|
138
|
+
/** `set_open` + `set_overview_visible` (:916-939): one visibility, two surfaces. */
|
|
139
|
+
private _applyOpen;
|
|
140
|
+
/** `adw_tab_overview_set_open`, the setter the actions and the grid both call. */
|
|
141
|
+
setOpen(open: boolean): void;
|
|
142
|
+
private _searchMode;
|
|
143
|
+
/** The template's `search-mode-enabled` binding: the search BUTTON's own state. */
|
|
144
|
+
private _toggleSearchMode;
|
|
145
|
+
/**
|
|
146
|
+
* `search_changed_cb`: the terms go to BOTH grids and `search-active` is just
|
|
147
|
+
* "the entry is non-empty" — there is no separate mode to keep in step, which is why
|
|
148
|
+
* `stop_search_cb` has to clear the entry itself before reporting FALSE.
|
|
149
|
+
*/
|
|
150
|
+
private _onSearchChanged;
|
|
151
|
+
private _stopSearch;
|
|
152
|
+
/** `set_search_active` (:838-852): assign, re-derive, and notify only on a change. */
|
|
153
|
+
private _setSearchActive;
|
|
154
|
+
/**
|
|
155
|
+
* `search_activated_cb` (:884-893): Enter in the entry moves into the grid, and it
|
|
156
|
+
* is the PINNED grid first, because it sits above `grid` in the scrolled window.
|
|
157
|
+
*/
|
|
158
|
+
private _onSearchKeyDown;
|
|
159
|
+
/**
|
|
160
|
+
* `adw_tab_overview_focus` (:1343-1405), the parts the DOM can honour: the search
|
|
161
|
+
* button and the entry go DOWN into the first row, the secondary-menu button goes
|
|
162
|
+
* down to the LAST row, and the new-tab button goes UP to the last row of `grid`
|
|
163
|
+
* first. GTK's focus is a widget returning TRUE for a direction; a browser moves the
|
|
164
|
+
* focus itself, so this only names the destination.
|
|
165
|
+
*/
|
|
166
|
+
private _onKeyDown;
|
|
167
|
+
/**
|
|
168
|
+
* The thumbnail grids are `GtkGridView`s: arrows move a cursor in two dimensions over
|
|
169
|
+
* a column count the layout decides (the grid reflows), Home/End jump, and nothing
|
|
170
|
+
* wraps. Selection follows focus; Enter and Space activate like a click, because a
|
|
171
|
+
* thumbnail is a `div` with no activation of its own. A move that would leave the
|
|
172
|
+
* grid is not claimed for Up/Down, so `_onKeyDown` can still hand focus to the
|
|
173
|
+
* new-tab button.
|
|
174
|
+
*/
|
|
175
|
+
private _onGridKey;
|
|
176
|
+
private _focusFirstRow;
|
|
177
|
+
private _focusLastRow;
|
|
178
|
+
/**
|
|
179
|
+
* `create_tab` (:895-909) and `new_tab_clicked_cb` (:911-926).
|
|
180
|
+
*
|
|
181
|
+
* `create-tab`'s handler RETURNS a page, which a DOM event cannot do: `detail.page`
|
|
182
|
+
* is the return slot, and a listener fills it (usually by appending to the view).
|
|
183
|
+
* Nothing filled is C's `g_critical ("AdwTabOverview::create-tab handler must not
|
|
184
|
+
* return NULL")`, reported on `console.error` because the click cannot be abandoned.
|
|
185
|
+
*/
|
|
186
|
+
private _requestCreateTab;
|
|
187
|
+
private _createGrid;
|
|
188
|
+
/**
|
|
189
|
+
* adw-tab-thumbnail.ui, node for node: the `.thumbnail` overlay over a `.card`
|
|
190
|
+
* overlay holding the PICTURE, the close button, the unpin icon and the indicator
|
|
191
|
+
* button, with the attention dot over that and the icon/title box underneath.
|
|
192
|
+
*/
|
|
193
|
+
private _thumbFor;
|
|
194
|
+
/**
|
|
195
|
+
* `update_tooltip`, `update_icon`, `update_indicator`, `update_loading` and the
|
|
196
|
+
* needs-attention revealer, in that order (adw-tab-thumbnail.c:82-152).
|
|
197
|
+
*/
|
|
198
|
+
private _refreshThumb;
|
|
199
|
+
}
|
|
@@ -19,6 +19,8 @@ export declare class AdwTabView extends HTMLElement {
|
|
|
19
19
|
private readonly _pagesEl;
|
|
20
20
|
/** Tab chips keyed by page id — the bar is edited in place, never rebuilt. */
|
|
21
21
|
private readonly _tabs;
|
|
22
|
+
/** The same chips as {@link _tabs}, held as the shared builder's parts for a refresh. */
|
|
23
|
+
private readonly _chips;
|
|
22
24
|
/** Page panels keyed by page id; kept so a DETACHED page's node is still reachable. */
|
|
23
25
|
private readonly _panels;
|
|
24
26
|
private readonly _hovered;
|
|
@@ -103,7 +105,16 @@ export declare class AdwTabView extends HTMLElement {
|
|
|
103
105
|
reorderLast(id: string): boolean;
|
|
104
106
|
setPageTitle(id: string, title: string | null): boolean;
|
|
105
107
|
setPageTooltip(id: string, tooltip: string | null): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Set a page's search keyword (`AdwTabPage:keyword`) — the string the tab overview's
|
|
110
|
+
* search matches on beside the title and the tooltip ("Use keywords to search in
|
|
111
|
+
* e.g. page URLs in a web browser", adw-tab-overview.c:1646-1648).
|
|
112
|
+
*/
|
|
113
|
+
setPageKeyword(id: string, keyword: string | null): boolean;
|
|
114
|
+
/** Set a page's icon name (`adw_tab_page_set_icon`). */
|
|
106
115
|
setPageIcon(id: string, icon: string | null): boolean;
|
|
116
|
+
/** Set a page's indicator icon (`adw_tab_page_set_indicator_icon`). */
|
|
117
|
+
setPageIndicatorIcon(id: string, indicatorIcon: string | null): boolean;
|
|
107
118
|
setPageLoading(id: string, loading: boolean): boolean;
|
|
108
119
|
setPageNeedsAttention(id: string, needsAttention: boolean): boolean;
|
|
109
120
|
/** Every precondition the model refused, as C would have warned about it. */
|
|
@@ -117,35 +128,20 @@ export declare class AdwTabView extends HTMLElement {
|
|
|
117
128
|
private _moveTab;
|
|
118
129
|
private _refreshTab;
|
|
119
130
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* merely sits indented then measured every chip against the wrong origin and
|
|
127
|
-
* reported all of them clipped.
|
|
128
|
-
*/
|
|
129
|
-
private _tabPosition;
|
|
130
|
-
/**
|
|
131
|
-
* `tabCloseVisible`, with its pinned gate. `dragging` is constantly false — tab
|
|
132
|
-
* drag-and-drop is compositor work and is not modelled — and `fullyVisible` is
|
|
133
|
-
* measured against the bar's scroll window, which is what the C term means for a
|
|
134
|
-
* horizontally scrolled bar.
|
|
131
|
+
* The close affordance's visibility, and both halves of it now live in `../tab-chip.js`
|
|
132
|
+
* — `tabCloseVisible` and the geometry it is measured with, in the BAR's own scroll
|
|
133
|
+
* space. The incident that moved them there is recorded beside `chipPosition`: the
|
|
134
|
+
* measurement once used `offsetLeft`, which is relative to whichever positioned ancestor
|
|
135
|
+
* the HOST page happens to have, so a tab view that merely sat indented reported every
|
|
136
|
+
* chip clipped and swallowed the close button on hover.
|
|
135
137
|
*/
|
|
136
138
|
private _refreshCloseVisibility;
|
|
137
139
|
private _onSelectionChange;
|
|
138
140
|
private _applyActiveState;
|
|
139
141
|
/**
|
|
140
142
|
* `scroll_to_tab_full` (adw-tab-box.c:928-961), called on every selection the way
|
|
141
|
-
* `select_page` calls it (:1728)
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* The bar is the only thing C ever scrolls for a tab: `scroll_to_tab_full` writes
|
|
145
|
-
* `self->adjustment`, the strip's own adjustment, and nothing else. The DOM has no
|
|
146
|
-
* such narrow API: `focus()` and `scrollIntoView()` both walk EVERY scrollable
|
|
147
|
-
* ancestor up to the window. So this moves `scrollLeft` by hand, and the focus call
|
|
148
|
-
* below passes `preventScroll`.
|
|
143
|
+
* `select_page` calls it (:1728) — `scrollChipIntoBar` in `../tab-chip.js`, with the
|
|
144
|
+
* reasoning and the SPACING slack that is deliberately not transplanted.
|
|
149
145
|
*/
|
|
150
146
|
private _scrollSelectedTabIntoBar;
|
|
151
147
|
private _applyBarVisibility;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** A single toggle. Children of <adw-toggle-group>; consumed at connect time. */
|
|
2
2
|
export declare class AdwToggle extends HTMLElement {
|
|
3
3
|
static get observedAttributes(): string[];
|
|
4
|
+
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
4
5
|
}
|
|
5
6
|
export declare class AdwToggleGroup extends HTMLElement {
|
|
6
7
|
private _innerEl;
|
|
@@ -12,7 +13,21 @@ export declare class AdwToggleGroup extends HTMLElement {
|
|
|
12
13
|
private _stateAttr;
|
|
13
14
|
/** Each toggle's `name`, in order — what `active-name` resolves against. */
|
|
14
15
|
private _names;
|
|
16
|
+
/** `AdwToggle:enabled` per rendered button, in order — `add_toggle` spends this at add time. */
|
|
17
|
+
private _enabled;
|
|
18
|
+
/** The authored <adw-toggle> elements, kept to observe live `enabled` changes. */
|
|
19
|
+
private _toggles;
|
|
15
20
|
static get observedAttributes(): string[];
|
|
21
|
+
/**
|
|
22
|
+
* `GtkWidget:sensitive` — whether the whole group is insensitive.
|
|
23
|
+
*
|
|
24
|
+
* TRUE unless the attribute says `false`, because the property defaults to TRUE and a
|
|
25
|
+
* boolean attribute read by PRESENCE would leave every group on a page insensitive.
|
|
26
|
+
*/
|
|
27
|
+
get sensitive(): boolean;
|
|
28
|
+
set sensitive(value: boolean);
|
|
29
|
+
/** Whether the toggle at `index` is enabled (`AdwToggle:enabled`) — false once disabled. */
|
|
30
|
+
isToggleEnabled(index: number): boolean;
|
|
16
31
|
/** Zero-based index of the active toggle. */
|
|
17
32
|
get active(): number;
|
|
18
33
|
set active(value: number);
|
|
@@ -30,4 +45,6 @@ export declare class AdwToggleGroup extends HTMLElement {
|
|
|
30
45
|
private _readActiveAttr;
|
|
31
46
|
private _selectIndex;
|
|
32
47
|
private _render;
|
|
48
|
+
/** Select the first enabled toggle, if there is one — the C's "no active" repair. */
|
|
49
|
+
private _activateFirstEnabled;
|
|
33
50
|
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { SidebarItemFilter } from '@gjsify/adwaita-core';
|
|
2
|
+
import type { AdwViewStack } from './adw-view-stack.js';
|
|
3
|
+
export declare class AdwViewSwitcherSidebar extends HTMLElement {
|
|
4
|
+
private _sidebar;
|
|
5
|
+
private _placeholderEl;
|
|
6
|
+
private _prefixEl;
|
|
7
|
+
private _suffixEl;
|
|
8
|
+
private _stack;
|
|
9
|
+
private _filter;
|
|
10
|
+
private _initialized;
|
|
11
|
+
static get observedAttributes(): string[];
|
|
12
|
+
/** `AdwViewSwitcherSidebar:stack` — the stack the sidebar controls. */
|
|
13
|
+
get stack(): AdwViewStack | null;
|
|
14
|
+
set stack(value: AdwViewStack | string | null);
|
|
15
|
+
/**
|
|
16
|
+
* `adw_view_switcher_sidebar_set_stack`: unbind the old stack's four connections, bind
|
|
17
|
+
* the new one's, and populate. A NULL stack is refused, exactly as C is
|
|
18
|
+
* (`g_return_if_fail (!stack)`, :284) — an overview-less sidebar is not a state the C
|
|
19
|
+
* has, and inventing one here would give a reader a widget libadwaita cannot build.
|
|
20
|
+
*/
|
|
21
|
+
setStack(stack: AdwViewStack | null): void;
|
|
22
|
+
/** `AdwViewSwitcherSidebar:mode` — `sidebar` (default) or `page`. */
|
|
23
|
+
get mode(): 'sidebar' | 'page';
|
|
24
|
+
set mode(value: 'sidebar' | 'page');
|
|
25
|
+
/**
|
|
26
|
+
* `AdwViewSwitcherSidebar:filter` — a `GtkFilter`, which on this renderer is the
|
|
27
|
+
* sidebar's own predicate. A property and not an attribute: it is a FUNCTION, and
|
|
28
|
+
* markup cannot carry one.
|
|
29
|
+
*/
|
|
30
|
+
get filter(): SidebarItemFilter | null;
|
|
31
|
+
set filter(value: SidebarItemFilter | null);
|
|
32
|
+
/** `AdwViewSwitcherSidebar:placeholder` — shown when no item survives. */
|
|
33
|
+
get placeholder(): HTMLElement | null;
|
|
34
|
+
set placeholder(value: HTMLElement | null);
|
|
35
|
+
/**
|
|
36
|
+
* `AdwViewSwitcherSidebar:prefix` (1.10) — shown above the items.
|
|
37
|
+
*
|
|
38
|
+
* NOT `prefix`. `HTMLElement.prefix` is the RDFa attribute and a STRING, and a
|
|
39
|
+
* property of a different type cannot shadow it (TS2416). The GIR name is kept in the
|
|
40
|
+
* SLOT (`slot="prefix"`, what a `.blp`'s `prefix: …` authors) and here in the header.
|
|
41
|
+
*/
|
|
42
|
+
get prefixWidget(): HTMLElement | null;
|
|
43
|
+
set prefixWidget(value: HTMLElement | null);
|
|
44
|
+
/** `AdwViewSwitcherSidebar:suffix` (1.10) — shown below the items. `suffixWidget`, as `prefixWidget`. */
|
|
45
|
+
get suffixWidget(): HTMLElement | null;
|
|
46
|
+
set suffixWidget(value: HTMLElement | null);
|
|
47
|
+
connectedCallback(): void;
|
|
48
|
+
disconnectedCallback(): void;
|
|
49
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
50
|
+
private _resolveStack;
|
|
51
|
+
/** The stack this sidebar is next to, when the author named no id. */
|
|
52
|
+
private _findStack;
|
|
53
|
+
/** `set_stack`'s four connections (:270-282), read off the stack's own events. */
|
|
54
|
+
private _bindStack;
|
|
55
|
+
private _unbindStack;
|
|
56
|
+
private _onStackChange;
|
|
57
|
+
/**
|
|
58
|
+
* `activated_cb` (:104-112) — the row's index is the stack's index, so the two lists
|
|
59
|
+
* are kept one for one. The selection moves FIRST: `activated` is the signal a split
|
|
60
|
+
* view reveals its content pane on, and a handler that read the stack in that callback
|
|
61
|
+
* would otherwise see the page the user was leaving.
|
|
62
|
+
*/
|
|
63
|
+
private _onSidebarActivated;
|
|
64
|
+
/**
|
|
65
|
+
* `populate_sidebar` (:225-249) — one `AdwSidebarSection` per group of pages, each
|
|
66
|
+
* holding one `AdwSidebarItem` per page. The grouping is core's, so the browser and
|
|
67
|
+
* any second renderer derive the sections from the same table.
|
|
68
|
+
*/
|
|
69
|
+
private _populate;
|
|
70
|
+
private _toSectionSpec;
|
|
71
|
+
/**
|
|
72
|
+
* `selection_changed_cb` (:258-271) — the row follows the stack's visible page. Read as
|
|
73
|
+
* the INDEX, because the sidebar's flat index space is the unfiltered one (ADR 0004),
|
|
74
|
+
* so page position and row position are the same number.
|
|
75
|
+
*/
|
|
76
|
+
private _syncSelection;
|
|
77
|
+
private _applyMode;
|
|
78
|
+
/**
|
|
79
|
+
* `placeholder` (:449-460) — shown when the sidebar has no items, or when the filter
|
|
80
|
+
* took them all. The `<adw-sidebar>` knows the filtered list (`visibleItems` is empty),
|
|
81
|
+
* which is the C condition in `AdwSidebar`'s own words.
|
|
82
|
+
*/
|
|
83
|
+
private _applyEmptyState;
|
|
84
|
+
}
|
|
@@ -1,3 +1,43 @@
|
|
|
1
|
+
import { AdwBreakpoint } from '@gjsify/adwaita-core';
|
|
1
2
|
export declare class AdwWindow extends HTMLElement {
|
|
3
|
+
private _initialized;
|
|
4
|
+
private _contentEl;
|
|
5
|
+
private _breakpoints;
|
|
6
|
+
private _disposeBreakpoints;
|
|
7
|
+
private _openDialogs;
|
|
8
|
+
static get observedAttributes(): string[];
|
|
9
|
+
/** The content area — the Adw.Window:content property. */
|
|
10
|
+
get contentArea(): HTMLDivElement;
|
|
11
|
+
/** The content widget — the first child of the content area. */
|
|
12
|
+
get content(): HTMLElement | null;
|
|
13
|
+
set content(value: HTMLElement | null);
|
|
14
|
+
/** The breakpoints added to this window. */
|
|
15
|
+
get breakpoints(): readonly AdwBreakpoint[];
|
|
16
|
+
/** The currently applied breakpoint, or null when none is. */
|
|
17
|
+
get currentBreakpoint(): AdwBreakpoint | null;
|
|
18
|
+
/** The open dialogs presented inside this window (Adw.Window:dialogs). */
|
|
19
|
+
get dialogs(): readonly HTMLElement[];
|
|
20
|
+
/** The currently visible dialog, or null when none is (Adw.Window:visible-dialog). */
|
|
21
|
+
get visibleDialog(): HTMLElement | null;
|
|
22
|
+
/**
|
|
23
|
+
* Add a breakpoint to this window (adw_window_add_breakpoint).
|
|
24
|
+
* The breakpoint evaluates against the window's own box and sets a
|
|
25
|
+
* `data-breakpoint` attribute when applied.
|
|
26
|
+
*/
|
|
27
|
+
addBreakpoint(condition: string): AdwBreakpoint;
|
|
2
28
|
connectedCallback(): void;
|
|
29
|
+
disconnectedCallback(): void;
|
|
30
|
+
attributeChangedCallback(name: string): void;
|
|
31
|
+
private _buildOnce;
|
|
32
|
+
/**
|
|
33
|
+
* Bind the breakpoints to THIS box.
|
|
34
|
+
*
|
|
35
|
+
* NOT once per lifetime: `disconnectedCallback` releases the disposer, so a
|
|
36
|
+
* window moved between parents would come back deaf — and a window is exactly
|
|
37
|
+
* the thing a client-side route change re-parents. Re-binding is cheap and
|
|
38
|
+
* idempotent, and it re-measures the new box on the way.
|
|
39
|
+
*/
|
|
40
|
+
private _bindBreakpoints;
|
|
41
|
+
/** The window's size request — GTK's, not CSS's, so an absent attribute means the default. */
|
|
42
|
+
private _applySizeRequest;
|
|
3
43
|
}
|