@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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** `GtkGraphicsOffloadEnabled`, spelled as the GIR's enum nicks. */
|
|
2
|
+
type OffloadEnabled = 'enabled' | 'disabled';
|
|
3
|
+
export declare class GtkGraphicsOffload extends HTMLElement {
|
|
4
|
+
private _childEl;
|
|
5
|
+
private _initialized;
|
|
6
|
+
static get observedAttributes(): string[];
|
|
7
|
+
/** `Gtk.GraphicsOffload:child` — the child widget, as the light-DOM node adopted. */
|
|
8
|
+
get child(): Element | null;
|
|
9
|
+
/**
|
|
10
|
+
* `Gtk.GraphicsOffload:enabled` — whether the widget ATTEMPTS to offload its child's
|
|
11
|
+
* contents. Defaults to `GTK_GRAPHICS_OFFLOAD_ENABLED` (`:267-273`).
|
|
12
|
+
*/
|
|
13
|
+
get enabled(): OffloadEnabled;
|
|
14
|
+
set enabled(v: OffloadEnabled);
|
|
15
|
+
/** `Gtk.GraphicsOffload:black-background` — the black rect painted before the child. */
|
|
16
|
+
get blackBackground(): boolean;
|
|
17
|
+
set blackBackground(v: boolean);
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
attributeChangedCallback(name: string): void;
|
|
20
|
+
/** `sync_subsurface` (:176-191): the subsurface exists while the widget is realized and offload is not disabled. */
|
|
21
|
+
private _render;
|
|
22
|
+
private _notify;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { GtkListView } from './gtk-list-view.js';
|
|
2
|
+
export declare class GtkGridView extends GtkListView {
|
|
3
|
+
private _observer;
|
|
4
|
+
static get observedAttributes(): string[];
|
|
5
|
+
/** `GtkGridView:min-columns` — at least one, as the ParamSpec's range says. */
|
|
6
|
+
get minColumns(): number;
|
|
7
|
+
set minColumns(value: number);
|
|
8
|
+
/** `GtkGridView:max-columns` — `DEFAULT_MAX_COLUMNS` is 7 (gtkgridview.c:42). */
|
|
9
|
+
get maxColumns(): number;
|
|
10
|
+
set maxColumns(value: number);
|
|
11
|
+
connectedCallback(): void;
|
|
12
|
+
disconnectedCallback(): void;
|
|
13
|
+
attributeChangedCallback(name?: string): void;
|
|
14
|
+
protected get _viewClass(): string;
|
|
15
|
+
protected get _rowClass(): string;
|
|
16
|
+
protected _renderRows(): void;
|
|
17
|
+
/** An attribute that is not a positive integer is the property's default, not NaN. */
|
|
18
|
+
private _columnBound;
|
|
19
|
+
/**
|
|
20
|
+
* Measure, count, and write the tracks.
|
|
21
|
+
*
|
|
22
|
+
* THE ITEM SIZE IS THE CELL'S `min-width`, NOT ITS RENDERED WIDTH, and the difference
|
|
23
|
+
* is the whole reason this is three lines rather than one. The tracks are written as
|
|
24
|
+
* `1fr`, so a rendered cell is as wide as the count made it: feeding that back in
|
|
25
|
+
* would measure the answer and converge on whatever the first frame happened to do.
|
|
26
|
+
* `min-width` is a fact about the CONTENT instead, declared by the stylesheet and
|
|
27
|
+
* overridable per cell — and it is the branch GTK itself takes under
|
|
28
|
+
* `GTK_SCROLL_MINIMUM` (gtkgridview.c:628-630). The natural-size branch needs a
|
|
29
|
+
* measurement a browser can only take by first undoing the layout the answer feeds.
|
|
30
|
+
*
|
|
31
|
+
* The gap is read the same way, off the container's own `column-gap`, so the two
|
|
32
|
+
* numbers the arithmetic takes come from ONE place — the stylesheet — and an author
|
|
33
|
+
* who widens the gap does not get a column count computed against the old one.
|
|
34
|
+
*
|
|
35
|
+
* An empty view keeps the tracks it had: there is nothing to measure, and no cell for
|
|
36
|
+
* the answer to be wrong about.
|
|
37
|
+
*/
|
|
38
|
+
private _applyColumns;
|
|
39
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type BoxOrientation } from '@gjsify/adwaita-core';
|
|
2
|
+
export declare class GtkGrid extends HTMLElement {
|
|
3
|
+
static get observedAttributes(): string[];
|
|
4
|
+
/** `Gtk.Grid:column-spacing` — the gap between two consecutive columns. Defaults to 0. */
|
|
5
|
+
get columnSpacing(): number;
|
|
6
|
+
set columnSpacing(value: number);
|
|
7
|
+
/** `Gtk.Grid:row-spacing` — the gap between two consecutive rows. Defaults to 0. */
|
|
8
|
+
get rowSpacing(): number;
|
|
9
|
+
set rowSpacing(value: number);
|
|
10
|
+
/** `Gtk.Grid:column-homogeneous` — whether every column gets the same width. */
|
|
11
|
+
get columnHomogeneous(): boolean;
|
|
12
|
+
set columnHomogeneous(value: boolean);
|
|
13
|
+
/** `Gtk.Grid:row-homogeneous` — whether every row gets the same height. */
|
|
14
|
+
get rowHomogeneous(): boolean;
|
|
15
|
+
set rowHomogeneous(value: boolean);
|
|
16
|
+
/**
|
|
17
|
+
* `GtkOrientable:orientation` — the axis a child with no position of its own is
|
|
18
|
+
* attached along. `horizontal` (the default) appends each one to ROW 0 at the next
|
|
19
|
+
* free column, `vertical` to COLUMN 0 at the next free row.
|
|
20
|
+
*/
|
|
21
|
+
get orientation(): BoxOrientation;
|
|
22
|
+
set orientation(value: BoxOrientation);
|
|
23
|
+
connectedCallback(): void;
|
|
24
|
+
attributeChangedCallback(name: string, old: string | null, value: string | null): void;
|
|
25
|
+
private _normalized;
|
|
26
|
+
private _sync;
|
|
27
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import './gtk-window-controls.js';
|
|
2
|
+
export declare class GtkHeaderBar extends HTMLElement {
|
|
3
|
+
private _initialized;
|
|
4
|
+
private _handle;
|
|
5
|
+
private _box;
|
|
6
|
+
private _startBox;
|
|
7
|
+
private _endBox;
|
|
8
|
+
/** The two `GtkWindowControls`, present only while `show-title-buttons` is true (:798-826). */
|
|
9
|
+
private _startControls;
|
|
10
|
+
private _endControls;
|
|
11
|
+
/** The derived `GtkLabel`, or `null` while a `title-widget` holds the centre. */
|
|
12
|
+
private _titleLabel;
|
|
13
|
+
/** The child that took the centre — read back out of `_box`, never stored as truth. */
|
|
14
|
+
private _centre;
|
|
15
|
+
private _centreObserver;
|
|
16
|
+
static get observedAttributes(): string[];
|
|
17
|
+
/** `Gtk.HeaderBar:decoration-layout` — bound to both controls (:231-236, :240-245). */
|
|
18
|
+
get decorationLayout(): string | null;
|
|
19
|
+
set decorationLayout(value: string | null);
|
|
20
|
+
/** `Gtk.HeaderBar:show-title-buttons` — whether the standard frame controls are built. */
|
|
21
|
+
get showTitleButtons(): boolean;
|
|
22
|
+
set showTitleButtons(value: boolean);
|
|
23
|
+
/** `Gtk.HeaderBar:title-widget`, read as the element that holds the centre — or `null`. */
|
|
24
|
+
get titleWidget(): HTMLElement | null;
|
|
25
|
+
/** `setAttribute` for a write that changes nothing; every GObject setter here returns early. */
|
|
26
|
+
private _write;
|
|
27
|
+
connectedCallback(): void;
|
|
28
|
+
disconnectedCallback(): void;
|
|
29
|
+
attributeChangedCallback(name: string): void;
|
|
30
|
+
private _property;
|
|
31
|
+
/**
|
|
32
|
+
* `create_window_controls` and its inverse, `gtk_header_bar_set_show_title_buttons`
|
|
33
|
+
* (gtkheaderbar.c:198-249, :798-826): the start controls are PREPENDED into the start
|
|
34
|
+
* box, the end controls APPENDED into the end box, and setting the property false
|
|
35
|
+
* REMOVES both — which is why a bar with the property off has no controls at all rather
|
|
36
|
+
* than hidden ones.
|
|
37
|
+
*/
|
|
38
|
+
private _renderTitleButtons;
|
|
39
|
+
/** The two `G_BINDING_SYNC_CREATE` bindings onto the controls (:229-247). */
|
|
40
|
+
private _bindDecorationLayout;
|
|
41
|
+
/**
|
|
42
|
+
* The two things `gtk_header_bar_root` connects to (gtkheaderbar.c:362-376): the centre
|
|
43
|
+
* either/or, which changes what belongs in the middle in BOTH directions — `set_title_widget`
|
|
44
|
+
* empties the bin before installing and rebuilds the derived label when it is handed back
|
|
45
|
+
* to NULL (:319-341) — and `notify::title` on the ROOT, which re-runs `update_title`.
|
|
46
|
+
*/
|
|
47
|
+
private _followCentre;
|
|
48
|
+
/** The child of `_box` that is neither a side box nor the derived label. */
|
|
49
|
+
private _centreChild;
|
|
50
|
+
private _syncCentre;
|
|
51
|
+
/** `construct_title_label` (gtkheaderbar.c:274-290), with `width-chars=5` as CSS. */
|
|
52
|
+
private _constructTitleLabel;
|
|
53
|
+
/** `gtk_header_bar_set_title_widget`'s first act: the centre bin goes empty (:323). */
|
|
54
|
+
private _dropTitleLabel;
|
|
55
|
+
/**
|
|
56
|
+
* `update_title` (gtkheaderbar.c:250-271): the root window's title, then the two GLib
|
|
57
|
+
* process-name fallbacks — which is what the page's own `<title>` stands in for here.
|
|
58
|
+
*/
|
|
59
|
+
private _updateTitle;
|
|
60
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type LabelWrapMode } from '@gjsify/adwaita-core';
|
|
2
|
+
/** `GtkInscriptionOverflow`, in enum order (gtkinscription.h:44-48). */
|
|
3
|
+
export declare const INSCRIPTION_OVERFLOW_MODES: readonly ["clip", "ellipsize-start", "ellipsize-middle", "ellipsize-end"];
|
|
4
|
+
export type InscriptionOverflow = (typeof INSCRIPTION_OVERFLOW_MODES)[number];
|
|
5
|
+
/** `GTK_INSCRIPTION_OVERFLOW_CLIP`, the pspec default (gtkinscription.c:728-733). */
|
|
6
|
+
export declare const DEFAULT_INSCRIPTION_OVERFLOW: InscriptionOverflow;
|
|
7
|
+
/**
|
|
8
|
+
* `PANGO_WRAP_WORD_CHAR`, the pspec's default — which is NOT GtkLabel's
|
|
9
|
+
* (gtkinscription.c:738-740). The nick set is shared; only the fallback differs, and it
|
|
10
|
+
* differs because this widget sizes itself in characters and lines and therefore has to be
|
|
11
|
+
* able to break a word inside the box it just reserved.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DEFAULT_INSCRIPTION_WRAP_MODE: LabelWrapMode;
|
|
14
|
+
/** `GtkInscription:text-overflow` from its nick, leaving an unknown nick at the default. */
|
|
15
|
+
export declare function normalizeInscriptionOverflow(value: unknown): InscriptionOverflow;
|
|
16
|
+
/** `GtkInscription:wrap-mode` from its nick, with {@link DEFAULT_INSCRIPTION_WRAP_MODE}. */
|
|
17
|
+
export declare function normalizeInscriptionWrapMode(value: unknown): LabelWrapMode;
|
|
18
|
+
export declare class GtkInscription extends HTMLElement {
|
|
19
|
+
private _initialized;
|
|
20
|
+
static get observedAttributes(): string[];
|
|
21
|
+
/** `GtkInscription:text` — the plain string to draw (gtkinscription.c:713-717). */
|
|
22
|
+
get text(): string;
|
|
23
|
+
set text(value: string);
|
|
24
|
+
/**
|
|
25
|
+
* `GtkInscription:markup` — a Pango-markup string (gtkinscription.c:617-622), reduced
|
|
26
|
+
* to its plain text by `labelDisplayText` rather than parsed. See the header for why
|
|
27
|
+
* that is the XSS answer and why {@link text} wins when both are present.
|
|
28
|
+
*/
|
|
29
|
+
get markup(): string;
|
|
30
|
+
set markup(value: string);
|
|
31
|
+
/** `GtkInscription:min-chars` (gtkinscription.c:638-644). Defaults to 3. */
|
|
32
|
+
get minChars(): number;
|
|
33
|
+
set minChars(value: number);
|
|
34
|
+
/** `GtkInscription:nat-chars` (gtkinscription.c:680-686). Defaults to 0. */
|
|
35
|
+
get natChars(): number;
|
|
36
|
+
set natChars(value: number);
|
|
37
|
+
/** `GtkInscription:min-lines` (gtkinscription.c:660-666). Defaults to 1. */
|
|
38
|
+
get minLines(): number;
|
|
39
|
+
set minLines(value: number);
|
|
40
|
+
/** `GtkInscription:nat-lines` (gtkinscription.c:700-706). Defaults to 0. */
|
|
41
|
+
get natLines(): number;
|
|
42
|
+
set natLines(value: number);
|
|
43
|
+
/** `GtkInscription:text-overflow` (gtkinscription.c:726-732). Defaults to CLIP. */
|
|
44
|
+
get textOverflow(): InscriptionOverflow;
|
|
45
|
+
set textOverflow(value: InscriptionOverflow);
|
|
46
|
+
/** `GtkInscription:wrap-mode` (gtkinscription.c:741-746). Defaults to WORD_CHAR. */
|
|
47
|
+
get wrapMode(): LabelWrapMode;
|
|
48
|
+
set wrapMode(value: LabelWrapMode);
|
|
49
|
+
/**
|
|
50
|
+
* `GtkInscription:xalign` (gtkinscription.c:757-760). Defaults to 0.0
|
|
51
|
+
* (gtkinscription.c:67, :791) — start-aligned, unlike GtkLabel's 0.5.
|
|
52
|
+
*/
|
|
53
|
+
get xalign(): number;
|
|
54
|
+
set xalign(value: number);
|
|
55
|
+
/** `GtkInscription:yalign` (gtkinscription.c:773-776). Defaults to 0.5. */
|
|
56
|
+
get yalign(): number;
|
|
57
|
+
set yalign(value: number);
|
|
58
|
+
private _write;
|
|
59
|
+
connectedCallback(): void;
|
|
60
|
+
attributeChangedCallback(name: string): void;
|
|
61
|
+
/** The `notify::` detail for `name`: the PROPERTY, parsed, not the raw attribute. */
|
|
62
|
+
private _property;
|
|
63
|
+
private _render;
|
|
64
|
+
}
|
|
@@ -11,6 +11,9 @@ export declare class GtkLabel extends HTMLElement {
|
|
|
11
11
|
*/
|
|
12
12
|
private _wrapSpan;
|
|
13
13
|
private _resizes;
|
|
14
|
+
/** Whether `_sync` last wrote `min-width` / `max-width` itself, and so may clear them. */
|
|
15
|
+
private _wroteMinWidth;
|
|
16
|
+
private _wroteMaxWidth;
|
|
14
17
|
static get observedAttributes(): ("label" | "use-markup" | "use-underline" | "justify" | "wrap" | "xalign" | "yalign" | "wrap-mode" | "ellipsize" | "lines" | "width-chars" | "max-width-chars" | "selectable")[];
|
|
15
18
|
/** `Gtk.Label:label` — the text as written, before markup and the mnemonic come out. */
|
|
16
19
|
get label(): string;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type BoxOrientation } from '@gjsify/adwaita-core';
|
|
2
|
+
/** `GtkLevelBarMode`, spelled as the GIR's enum nicks (:1004-1008). */
|
|
3
|
+
type LevelBarMode = 'continuous' | 'discrete';
|
|
4
|
+
export declare class GtkLevelBar extends HTMLElement {
|
|
5
|
+
private _trough;
|
|
6
|
+
private _initialized;
|
|
7
|
+
/** Offset name → value, kept sorted ascending exactly as the C's `GList` is. */
|
|
8
|
+
private _offsets;
|
|
9
|
+
static get observedAttributes(): string[];
|
|
10
|
+
/** `Gtk.LevelBar:value` — the filled level. */
|
|
11
|
+
get value(): number;
|
|
12
|
+
set value(v: number);
|
|
13
|
+
/** `Gtk.LevelBar:min-value` — the low end of the interval. Defaults to 0. */
|
|
14
|
+
get minValue(): number;
|
|
15
|
+
set minValue(v: number);
|
|
16
|
+
/** `Gtk.LevelBar:max-value` — the high end of the interval. Defaults to 1. */
|
|
17
|
+
get maxValue(): number;
|
|
18
|
+
set maxValue(v: number);
|
|
19
|
+
/** `Gtk.LevelBar:mode` — one filled block, or one per unit of the interval. */
|
|
20
|
+
get mode(): LevelBarMode;
|
|
21
|
+
set mode(v: LevelBarMode);
|
|
22
|
+
/** `Gtk.LevelBar:inverted` — grow from the far end. */
|
|
23
|
+
get inverted(): boolean;
|
|
24
|
+
set inverted(v: boolean);
|
|
25
|
+
/** `GtkOrientable:orientation` (gtklevelbar.c:825-835). Horizontal fills rightwards. */
|
|
26
|
+
get orientation(): BoxOrientation;
|
|
27
|
+
set orientation(v: BoxOrientation);
|
|
28
|
+
/**
|
|
29
|
+
* `setAttribute` runs the custom-element reaction for a write that changes nothing,
|
|
30
|
+
* while every GObject setter here returns early when the value is already right
|
|
31
|
+
* (gtklevelbar.c:1186-1187, :1224-1225, :1300-1301, :1260-1261). This is the guard
|
|
32
|
+
* that makes "notify only on a real change" true for the numeric and enum half.
|
|
33
|
+
*/
|
|
34
|
+
private _write;
|
|
35
|
+
get disabled(): boolean;
|
|
36
|
+
set disabled(v: boolean);
|
|
37
|
+
/**
|
|
38
|
+
* `gtk_level_bar_add_offset_value` (gtklevelbar.c:1395-1411): replaces the value of
|
|
39
|
+
* an offset of the same name, keeps the list sorted, refuses a value outside the
|
|
40
|
+
* interval (`g_return_if_fail (gtk_level_bar_value_in_interval (…))`, :1403), and
|
|
41
|
+
* emits `offset-changed` — but only when the value actually moved (:259-260).
|
|
42
|
+
*/
|
|
43
|
+
addOffsetValue(name: string, value: number): void;
|
|
44
|
+
/** `gtk_level_bar_remove_offset_value` (gtklevelbar.c:1362-1377). */
|
|
45
|
+
removeOffsetValue(name: string): void;
|
|
46
|
+
/** `gtk_level_bar_get_offset_value` (gtklevelbar.c:1423-1443) — `null` when absent. */
|
|
47
|
+
offsetValue(name: string): number | null;
|
|
48
|
+
connectedCallback(): void;
|
|
49
|
+
attributeChangedCallback(name: string): void;
|
|
50
|
+
private _notify;
|
|
51
|
+
/** One interval endpoint CLAMPS every offset into the new range — the other does not. */
|
|
52
|
+
private _clampOffsets;
|
|
53
|
+
/** The `notify::` detail for `name`: the PROPERTY, parsed, not the raw attribute. */
|
|
54
|
+
private _property;
|
|
55
|
+
private _render;
|
|
56
|
+
/** One `block` node, `filled` or `empty`, wearing the offset's class (:635-652). */
|
|
57
|
+
private _block;
|
|
58
|
+
}
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { GtkButton } from './gtk-button.js';
|
|
2
|
+
export declare class GtkLinkButton extends GtkButton {
|
|
3
|
+
private _wired;
|
|
4
|
+
static get observedAttributes(): string[];
|
|
5
|
+
/** `Gtk.LinkButton:uri` — the address this button points at. */
|
|
6
|
+
get uri(): string;
|
|
7
|
+
set uri(value: string);
|
|
8
|
+
/**
|
|
9
|
+
* `Gtk.LinkButton:visited` — whether the link has been followed. The state flag
|
|
10
|
+
* GTK swaps here is what the stylesheet paints as `:visited`, and the `VISITED`
|
|
11
|
+
* accessibility state beside it; see the header.
|
|
12
|
+
*/
|
|
13
|
+
get visited(): boolean;
|
|
14
|
+
set visited(value: boolean);
|
|
15
|
+
connectedCallback(): void;
|
|
16
|
+
attributeChangedCallback(name?: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* `::activate-link` — cancelable, because the signal is a boolean accumulator
|
|
19
|
+
* (gtklinkbutton.c:216-238) and `preventDefault()` is the DOM spelling of a handler
|
|
20
|
+
* returning TRUE. Nothing cancelled ⇒ the default handler runs.
|
|
21
|
+
*/
|
|
22
|
+
private _activateLink;
|
|
23
|
+
/**
|
|
24
|
+
* The launcher call, on its own method so a caller (or a spec) can stand in for the
|
|
25
|
+
* window the desktop would have opened.
|
|
26
|
+
*/
|
|
27
|
+
protected launch(uri: string): void;
|
|
28
|
+
protected decorate(button: HTMLButtonElement): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export declare class GtkListBoxRow extends HTMLElement {
|
|
2
|
+
private _contentsEl;
|
|
3
|
+
private _activation?;
|
|
4
|
+
private _initialized;
|
|
5
|
+
static get observedAttributes(): string[];
|
|
6
|
+
/**
|
|
7
|
+
* `GtkListBoxRow:activatable` — TRUE by default (gtklistbox.c:3961), so this is the OFF
|
|
8
|
+
* switch and the attribute is read as `activatable="false"`.
|
|
9
|
+
*/
|
|
10
|
+
get activatable(): boolean;
|
|
11
|
+
set activatable(value: boolean);
|
|
12
|
+
/**
|
|
13
|
+
* `GtkListBoxRow:selectable` — TRUE by default (gtklistbox.c:3962), read the same way as
|
|
14
|
+
* `activatable`.
|
|
15
|
+
*/
|
|
16
|
+
get selectable(): boolean;
|
|
17
|
+
set selectable(value: boolean);
|
|
18
|
+
/** Where this row sits in its box, or -1 while it has no box. */
|
|
19
|
+
get index(): number;
|
|
20
|
+
/**
|
|
21
|
+
* Whether this row is selected — `gtk_list_box_row_is_selected`, answered by the parent so
|
|
22
|
+
* a row moved between boxes never carries a stale answer.
|
|
23
|
+
*/
|
|
24
|
+
get selected(): boolean;
|
|
25
|
+
/** `GtkListBoxRow:child`, as the light-DOM child it already is. */
|
|
26
|
+
get child(): Element | null;
|
|
27
|
+
connectedCallback(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Hand this row's `.activatable` class and tab stop to its box.
|
|
30
|
+
*
|
|
31
|
+
* Both are the box's to derive and neither is derivable here: `can_select` is the BOX's
|
|
32
|
+
* `selection-mode` (gtklistbox.c:3606-3609) and the tab stop is `GtkListBox:tab-behavior`,
|
|
33
|
+
* where `all` gives every activatable row its own stop and `item`/`cell` hand out a
|
|
34
|
+
* roving one — the split `gtk_list_box_focus` draws by walking rows between Tab presses
|
|
35
|
+
* only under `GTK_LIST_TAB_ALL` (gtklistbox.c:2037, :2067). The keys stay the row's:
|
|
36
|
+
* Enter and Space are `GtkListBoxRow`'s own (see `row-activation.ts`).
|
|
37
|
+
*/
|
|
38
|
+
claim(): void;
|
|
39
|
+
/** Give the row back to itself, for a box that no longer manages it. */
|
|
40
|
+
release(): void;
|
|
41
|
+
/** What the box last said about itself; TRUE until a box narrows it. */
|
|
42
|
+
private _canSelect;
|
|
43
|
+
/** Set by {@link claim}. While it is set the row derives neither class nor tab stop. */
|
|
44
|
+
private _claimed;
|
|
45
|
+
attributeChangedCallback(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Re-derive the tab stop and the `.activatable` class.
|
|
48
|
+
*
|
|
49
|
+
* Public because the box owns the second half of the class rule — it knows
|
|
50
|
+
* `selection-mode`, this row does not — and calls this for every row when that changes.
|
|
51
|
+
*/
|
|
52
|
+
syncClasses(canSelect: boolean): void;
|
|
53
|
+
private _syncActivation;
|
|
54
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { type AdwBoxSelectionMode } from '@gjsify/adwaita-core';
|
|
2
|
+
import type { GtkListBoxRow } from './gtk-list-box-row.js';
|
|
3
|
+
import './gtk-list-box-row.js';
|
|
4
|
+
/** `GtkListTabBehavior`'s nicks — `cell` behaves as `item` outside a cell-based box. */
|
|
5
|
+
export type GtkListTabBehavior = 'all' | 'item' | 'cell';
|
|
6
|
+
/** An unknown nick is `all`, the ParamSpec's default (gtklistbox.c:574-578). */
|
|
7
|
+
export declare function normalizeListTabBehavior(raw: string | null | undefined): GtkListTabBehavior;
|
|
8
|
+
export declare class GtkListBox extends HTMLElement {
|
|
9
|
+
private _rows;
|
|
10
|
+
private _selection;
|
|
11
|
+
/** `box->selected_row`, `-1` for the C's NULL. */
|
|
12
|
+
private _anchor;
|
|
13
|
+
private _initialized;
|
|
14
|
+
static get observedAttributes(): string[];
|
|
15
|
+
/** `GtkListBox:selection-mode` — the four `Gtk.SelectionMode` values. */
|
|
16
|
+
get selectionMode(): AdwBoxSelectionMode;
|
|
17
|
+
set selectionMode(value: AdwBoxSelectionMode);
|
|
18
|
+
/** Default TRUE (gtklistbox.c:543), so the attribute is the OFF switch. */
|
|
19
|
+
get activateOnSingleClick(): boolean;
|
|
20
|
+
set activateOnSingleClick(value: boolean);
|
|
21
|
+
/**
|
|
22
|
+
* `GtkListBox:accept-unpaired-release` — FALSE by default (gtklistbox.c:552-553).
|
|
23
|
+
*
|
|
24
|
+
* Upstream this decides whether a press followed by a release somewhere else still
|
|
25
|
+
* activates the row under the press (:1922-1935). A browser delivers `click` on the
|
|
26
|
+
* NEAREST COMMON ANCESTOR of the press and the release, so a release outside the row
|
|
27
|
+
* reaches this box rather than the row — and this attribute says whether that box-level
|
|
28
|
+
* click selects the row the press started on or is dropped.
|
|
29
|
+
*/
|
|
30
|
+
get acceptUnpairedRelease(): boolean;
|
|
31
|
+
set acceptUnpairedRelease(value: boolean);
|
|
32
|
+
get showSeparators(): boolean;
|
|
33
|
+
set showSeparators(value: boolean);
|
|
34
|
+
/** `GtkListBox:tab-behavior` (4.18) — `all` | `item` | `cell`. */
|
|
35
|
+
get tabBehavior(): GtkListTabBehavior;
|
|
36
|
+
set tabBehavior(value: GtkListTabBehavior);
|
|
37
|
+
/** The rows, in order. */
|
|
38
|
+
get rows(): readonly GtkListBoxRow[];
|
|
39
|
+
/**
|
|
40
|
+
* The selected positions, ascending.
|
|
41
|
+
*
|
|
42
|
+
* NOT a GIR property: `GtkListBox` exposes its selection through the `row-selected` /
|
|
43
|
+
* `selected-rows-changed` SIGNALS and the `get_selected_rows()` METHOD, and this element
|
|
44
|
+
* spells the signal as `notify::selected-rows` so a `notify::` listener finds the shape it
|
|
45
|
+
* expects everywhere else in the package.
|
|
46
|
+
*/
|
|
47
|
+
get selectedRows(): number[];
|
|
48
|
+
set selectedRows(value: Iterable<number> | number | null);
|
|
49
|
+
/** `gtk_list_box_selected_foreach`, as the rows themselves. */
|
|
50
|
+
get selectedRowElements(): GtkListBoxRow[];
|
|
51
|
+
connectedCallback(): void;
|
|
52
|
+
attributeChangedCallback(name?: string): void;
|
|
53
|
+
/** `gtk_list_box_select_row` (gtklistbox.c:915-933). `null` is the C's unselect-all (:926). */
|
|
54
|
+
selectRow(row: GtkListBoxRow | null): void;
|
|
55
|
+
/** `gtk_list_box_unselect_row` (gtklistbox.c:943-950). */
|
|
56
|
+
unselectRow(row: GtkListBoxRow): void;
|
|
57
|
+
/** `gtk_list_box_select_all` — refused unless the mode is `multiple` (:963-964). */
|
|
58
|
+
selectAll(): void;
|
|
59
|
+
/** `gtk_list_box_unselect_all` — refused in `browse`, a no-op on an empty selection. */
|
|
60
|
+
unselectAll(): void;
|
|
61
|
+
/** The classes and ARIA that follow directly from the attributes. */
|
|
62
|
+
private _applyAttributes;
|
|
63
|
+
/** Re-read the children and re-derive everything that follows from them. */
|
|
64
|
+
private _collectRows;
|
|
65
|
+
/**
|
|
66
|
+
* Re-derive every row's `.activatable` class, its `aria-selected` and the roving tabindex.
|
|
67
|
+
*
|
|
68
|
+
* Called on connect, on `selection-mode`, and from the childList observer, so a row
|
|
69
|
+
* appended after connect is in the selection from its first frame.
|
|
70
|
+
*/
|
|
71
|
+
private _syncRows;
|
|
72
|
+
/** The tab stops `tab-behavior` hands out: one per row, or one for the whole box. */
|
|
73
|
+
private _syncTabIndexes;
|
|
74
|
+
/**
|
|
75
|
+
* One click. Selection always follows; activation depends on the click COUNT, which a
|
|
76
|
+
* plain `click` cannot say — so the count comes from `detail` and a second click arrives
|
|
77
|
+
* here too.
|
|
78
|
+
*/
|
|
79
|
+
private _onClick;
|
|
80
|
+
/** The double-click arm, for the browser that reports the second click as `detail === 2`. */
|
|
81
|
+
private _onDoubleClick;
|
|
82
|
+
/**
|
|
83
|
+
* `Ctrl`+Space is `toggle-cursor-row` (gtklistbox.c:753-755) and nothing else is: Enter and
|
|
84
|
+
* Space reach the ROW, which `attachRowActivation` owns, and this box must not answer the
|
|
85
|
+
* same key twice.
|
|
86
|
+
*/
|
|
87
|
+
private _onKeyDown;
|
|
88
|
+
/** The row a click or key landed in, or null. */
|
|
89
|
+
private _rowAt;
|
|
90
|
+
/** One click or `Ctrl`+Space — `gtk_list_box_update_selection_full` (:1799-1871). */
|
|
91
|
+
private _updateSelection;
|
|
92
|
+
/** `gtk_list_box_activate` (:1873-1884) — an unactivatable row emits nothing. */
|
|
93
|
+
private _activate;
|
|
94
|
+
/**
|
|
95
|
+
* The two signals GObject emits for every selection change (:594-616) plus the notify a
|
|
96
|
+
* declarative port owes. `selected-rows-changed` is `RUN_FIRST` upstream and carries
|
|
97
|
+
* nothing, so its `detail` stays empty.
|
|
98
|
+
*/
|
|
99
|
+
private _emitSelection;
|
|
100
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ListViewState, type AdwComboOption, type AdwListItemFactory, type AdwListModelInput, type AdwListSelectionMode, type BoxOrientation } from '@gjsify/adwaita-core';
|
|
2
|
+
/** `GtkListTabBehavior`'s nicks — `cell` behaves as `item` outside a cell-based view. */
|
|
3
|
+
export type GtkListTabBehavior = 'all' | 'item' | 'cell';
|
|
4
|
+
/** An unknown nick is `all`, the ParamSpec's default (gtklistview.c:965-969). */
|
|
5
|
+
export declare function normalizeListTabBehavior(raw: string | null | undefined): GtkListTabBehavior;
|
|
6
|
+
export declare class GtkListView extends HTMLElement {
|
|
7
|
+
protected _listEl: HTMLDivElement;
|
|
8
|
+
protected _rows: HTMLElement[];
|
|
9
|
+
/** The model + selection machine all three views share (ADR 0004, ADR 0089). */
|
|
10
|
+
protected readonly _state: ListViewState;
|
|
11
|
+
protected _factory: AdwListItemFactory<Node>;
|
|
12
|
+
private _initialized;
|
|
13
|
+
static get observedAttributes(): string[];
|
|
14
|
+
/** The list model (`Gtk.ListView:model`, minus the selection ADR 0046 declined). */
|
|
15
|
+
get model(): AdwComboOption[];
|
|
16
|
+
set model(value: AdwListModelInput);
|
|
17
|
+
/** The per-item renderer — `Gtk.ListView:factory`, as one function. */
|
|
18
|
+
get factory(): AdwListItemFactory<Node>;
|
|
19
|
+
set factory(value: AdwListItemFactory<Node> | null);
|
|
20
|
+
/** The selected positions, ascending. Assigning replaces the selection. */
|
|
21
|
+
get selected(): number[];
|
|
22
|
+
set selected(value: Iterable<number> | number | null);
|
|
23
|
+
get selectionMode(): AdwListSelectionMode;
|
|
24
|
+
set selectionMode(value: AdwListSelectionMode);
|
|
25
|
+
get showSeparators(): boolean;
|
|
26
|
+
set showSeparators(value: boolean);
|
|
27
|
+
get singleClickActivate(): boolean;
|
|
28
|
+
set singleClickActivate(value: boolean);
|
|
29
|
+
get enableRubberband(): boolean;
|
|
30
|
+
set enableRubberband(value: boolean);
|
|
31
|
+
get tabBehavior(): GtkListTabBehavior;
|
|
32
|
+
set tabBehavior(value: GtkListTabBehavior);
|
|
33
|
+
/**
|
|
34
|
+
* `GtkOrientable:orientation` — which way the rows run.
|
|
35
|
+
*
|
|
36
|
+
* VERTICAL by default, and NOT through `normalizeBoxOrientation`: that helper is
|
|
37
|
+
* `GtkBox`'s parser and answers the interface default, horizontal. `GtkListBase` sets
|
|
38
|
+
* `priv->orientation = GTK_ORIENTATION_VERTICAL` in its own init
|
|
39
|
+
* (gtklistbase.c:2070), which is why every GTK list view scrolls DOWN out of the box.
|
|
40
|
+
* Taking the shared helper's default here put `.horizontal` on every list view,
|
|
41
|
+
* flowed the rows across, pointed the arrow keys at the wrong axis and stopped the
|
|
42
|
+
* `show-separators` rule matching — one wrong default, three symptoms.
|
|
43
|
+
*/
|
|
44
|
+
get orientation(): BoxOrientation;
|
|
45
|
+
set orientation(value: BoxOrientation);
|
|
46
|
+
connectedCallback(): void;
|
|
47
|
+
attributeChangedCallback(name?: string): void;
|
|
48
|
+
/** The classes and ARIA that follow directly from the attributes. */
|
|
49
|
+
protected _applyAttributes(): void;
|
|
50
|
+
/**
|
|
51
|
+
* The class the HOST wears. GTK names its views by CSS node — `listview`, `gridview`,
|
|
52
|
+
* `columnview` — and the three partials select on the tag, so this is what a consumer
|
|
53
|
+
* or a page rule has to spell; a subclass wearing the base's class would offer one
|
|
54
|
+
* name for two widgets.
|
|
55
|
+
*/
|
|
56
|
+
protected get _viewClass(): string;
|
|
57
|
+
/** The CSS node name GTK gives each child — `row` here, `child` in a grid view. */
|
|
58
|
+
protected get _rowClass(): string;
|
|
59
|
+
/** Build every row from scratch — the factory changed, or the view did. */
|
|
60
|
+
protected _renderRows(): void;
|
|
61
|
+
/** One row: the factory's node inside the element GTK calls `row`. */
|
|
62
|
+
protected _createRow(position: number): HTMLElement | null;
|
|
63
|
+
private _selectRow;
|
|
64
|
+
private _activateRow;
|
|
65
|
+
private _onSelectionChanged;
|
|
66
|
+
/** The per-row selected state, and the one tab stop a roving tabindex leaves open. */
|
|
67
|
+
protected _syncSelectedStates(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Apply one `items-changed` — remove `removed` rows at `position`, insert `added`
|
|
70
|
+
* fresh ones there, leave every other row standing.
|
|
71
|
+
*/
|
|
72
|
+
private _applyItemsChanged;
|
|
73
|
+
}
|