@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,124 @@
|
|
|
1
|
+
import { type AdwAdjustment, type AdwAdjustmentInput, type BoxOrientation } from '@gjsify/adwaita-core';
|
|
2
|
+
/** `GtkScrollType`'s six kinds, which is what a `scroll-child` names. */
|
|
3
|
+
export type GtkScrollType = 'step-backward' | 'step-forward' | 'page-backward' | 'page-forward' | 'start' | 'end';
|
|
4
|
+
export declare class GtkScrollbar extends HTMLElement {
|
|
5
|
+
private _trough;
|
|
6
|
+
private _slider;
|
|
7
|
+
private _observer;
|
|
8
|
+
private _built;
|
|
9
|
+
private _adjustment;
|
|
10
|
+
/** `priv->slide_initial_slider_position` — the slider's position when the drag began. */
|
|
11
|
+
private _grabPosition;
|
|
12
|
+
/** `priv->slide_initial_coordinate_delta` — how far into the slider the pointer was. */
|
|
13
|
+
private _grabDelta;
|
|
14
|
+
/** `priv->zoom` — the fine adjustment, `.fine-tune` and all. */
|
|
15
|
+
private _zoom;
|
|
16
|
+
private _dragging;
|
|
17
|
+
static get observedAttributes(): string[];
|
|
18
|
+
/** `GtkOrientable:orientation` — HORIZONTAL in `gtk_scrollbar_init`; unknown is that. */
|
|
19
|
+
get orientation(): BoxOrientation;
|
|
20
|
+
set orientation(value: BoxOrientation);
|
|
21
|
+
/**
|
|
22
|
+
* `GtkScrollbar:adjustment` — the range this bar moves, as the portable value.
|
|
23
|
+
*
|
|
24
|
+
* NEVER `null`, which is the half of this property that is easy to get wrong: GTK's
|
|
25
|
+
* pspec default is NULL, but `gtk_range_set_adjustment` answers a NULL with the ZERO
|
|
26
|
+
* adjustment (gtkrange.c:687-688) and `gtk_range_get_adjustment` creates it on demand
|
|
27
|
+
* (gtkrange.c:658-659), so a bare `GtkScrollbar` reads back a real adjustment whose
|
|
28
|
+
* `upper` is 0. A read that could return null would be a property GTK's own does not
|
|
29
|
+
* have, and the slider geometry would have to carry a second "nothing here" case.
|
|
30
|
+
*
|
|
31
|
+
* A string is read as the JSON the attribute carries, so the property and the
|
|
32
|
+
* attribute are one write; a partial object MERGES, which is
|
|
33
|
+
* `gtk_adjustment_configure`'s own contract (gtkadjustment.c). Assigning `null` is
|
|
34
|
+
* `gtk_scrollbar_set_adjustment (self, NULL)`: the zero adjustment again, and the
|
|
35
|
+
* property is assigned rather than merged.
|
|
36
|
+
*/
|
|
37
|
+
get adjustment(): AdwAdjustment;
|
|
38
|
+
set adjustment(value: AdwAdjustmentInput | string | null);
|
|
39
|
+
/** The position, which is the adjustment's own value (gtkrange.c:1168-1176). */
|
|
40
|
+
get value(): number;
|
|
41
|
+
/**
|
|
42
|
+
* `gtk_adjustment_set_value`: move the range, clamped, and announce it.
|
|
43
|
+
*
|
|
44
|
+
* A scrollbar is a VIEW of an adjustment it does not own, so the `value-changed`
|
|
45
|
+
* CustomEvent (bubbles, detail `{ adjustment }`) stands for `GtkAdjustment`'s signal —
|
|
46
|
+
* and `<gtk-scrolled-window>` is what listens, exactly as GTK reads the adjustment off
|
|
47
|
+
* the scrollbar it owns (`gtk_scrolled_window_scroll_child`, gtkscrolledwindow.c:3007).
|
|
48
|
+
*
|
|
49
|
+
* Over the zero adjustment `set_value` CLAMPS to 0 and reports no change, so a bar with
|
|
50
|
+
* no adjustment of its own is inert without being a special case anywhere.
|
|
51
|
+
*/
|
|
52
|
+
set value(value: number);
|
|
53
|
+
/**
|
|
54
|
+
* The value one `GtkScrollType` moves by, which is `gtk_scrolled_window_scroll_child`'s
|
|
55
|
+
* switch.
|
|
56
|
+
*
|
|
57
|
+
* `scrollBy` is a platform method with a delta form, so both are here and the KIND of the
|
|
58
|
+
* argument decides — a `GtkScrollType` nick moves the adjustment, a number or a
|
|
59
|
+
* `ScrollToOptions` is the scrollport's own call, which a bar has none of (it is not a
|
|
60
|
+
* scrollport) and which therefore lands on no adjustment and does nothing.
|
|
61
|
+
*/
|
|
62
|
+
scrollBy(kind: GtkScrollType): void;
|
|
63
|
+
scrollBy(options?: ScrollToOptions): void;
|
|
64
|
+
scrollBy(x: number, y: number): void;
|
|
65
|
+
/** How far a wheel detent moves the value: `scroll_delta_to_value` on a WHEEL unit. */
|
|
66
|
+
scrollByWheel(deltaY: number, deltaMode: number): void;
|
|
67
|
+
/**
|
|
68
|
+
* `gtk_range_get_range_area`-ish: the length of the trough, which is what the slider
|
|
69
|
+
* is a fraction of. Read on demand so a caller can scale with the same numbers.
|
|
70
|
+
*/
|
|
71
|
+
private get _troughLength();
|
|
72
|
+
connectedCallback(): void;
|
|
73
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
74
|
+
private _notify;
|
|
75
|
+
/**
|
|
76
|
+
* The trough's three rules and the slider's drag, at the settings default
|
|
77
|
+
* (`gtk_range_click_gesture_pressed`, gtkrange.c:2018-2138).
|
|
78
|
+
*/
|
|
79
|
+
private _onPointerDown;
|
|
80
|
+
/**
|
|
81
|
+
* `update_slider_position`: the pointer's travel since the grab, scaled by the zoom,
|
|
82
|
+
* added to where the slider WAS — so the slider keeps the offset it was grabbed at.
|
|
83
|
+
*/
|
|
84
|
+
private _onPointerMove;
|
|
85
|
+
private _onPointerEnd;
|
|
86
|
+
private _endDrag;
|
|
87
|
+
/**
|
|
88
|
+
* Keep the gesture alive past the bar's own edges, which is what `GtkGestureDrag` does
|
|
89
|
+
* upstream for as long as the button is held.
|
|
90
|
+
*
|
|
91
|
+
* `setPointerCapture` THROWS for a pointer id the platform is no longer tracking, and an
|
|
92
|
+
* exception here would abort the gesture before the warp or the page that follows it —
|
|
93
|
+
* which is not a state a scrollbar can be in. So a refused capture is a drag that ends at
|
|
94
|
+
* the bar's edge, and the synchronous move still happens.
|
|
95
|
+
*/
|
|
96
|
+
private _capture;
|
|
97
|
+
/** The keys `GtkScrollbar`'s own doc names: the arrow keys step, Page Up/Down page. */
|
|
98
|
+
private _onKeyDown;
|
|
99
|
+
private _onWheel;
|
|
100
|
+
private _setZoom;
|
|
101
|
+
/** `update_slider_position`'s zoom: the trough per unit of range, or the fallback. */
|
|
102
|
+
private _zoomFactor;
|
|
103
|
+
/**
|
|
104
|
+
* `gtk_range_compute_slider_position`, in CSS pixels.
|
|
105
|
+
*
|
|
106
|
+
* The slider's length is a fraction of the WHOLE adjustment range and its position a
|
|
107
|
+
* fraction of the SCROLLABLE one, which is why the two denominators differ and why
|
|
108
|
+
* neither is a plain percentage of the trough. A range with nothing to scroll is the
|
|
109
|
+
* `trough_length == slider_length` case upstream and answers 1.0.
|
|
110
|
+
*/
|
|
111
|
+
private _render;
|
|
112
|
+
/** Where the slider's START is along the trough, in pixels. */
|
|
113
|
+
private _sliderPosition;
|
|
114
|
+
/** The slider's own length, in pixels, from the last layout. */
|
|
115
|
+
private _sliderSize;
|
|
116
|
+
/**
|
|
117
|
+
* `coord_to_value` (gtkrange.c:1842-1886): a coordinate along the trough scaled by the
|
|
118
|
+
* FREE space — the trough less the slider — because the slider's centre has to reach
|
|
119
|
+
* both ends and not one of them twice over.
|
|
120
|
+
*/
|
|
121
|
+
private _coordinateValue;
|
|
122
|
+
/** The pointer's coordinate along the trough, from the trough's own box. */
|
|
123
|
+
private _coordinate;
|
|
124
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type { GtkViewport } from './gtk-viewport.js';
|
|
2
|
+
/** `GtkPolicyType`'s four nicks; `automatic` is the pspec's default for both bars. */
|
|
3
|
+
export type GtkPolicyType = 'always' | 'never' | 'automatic' | 'external';
|
|
4
|
+
/** `GtkCornerType`'s four corners, `top-left` being the pspec's default. */
|
|
5
|
+
export type GtkCornerType = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
6
|
+
/** `Gtk.PositionType`'s four edges, as `edge-reached` and `edge-overshot` name them. */
|
|
7
|
+
export type GtkPositionType = 'left' | 'right' | 'top' | 'bottom';
|
|
8
|
+
/** `Gtk.DirectionType`'s two, as `move-focus-out` names them. */
|
|
9
|
+
export type GtkDirectionType = 'forward' | 'backward';
|
|
10
|
+
export declare class GtkScrolledWindow extends HTMLElement {
|
|
11
|
+
private _viewport;
|
|
12
|
+
private _bars;
|
|
13
|
+
/** The size clamps `_writeSize` last wrote, which are the only ones it may clear. */
|
|
14
|
+
private readonly _wroteSizes;
|
|
15
|
+
private _shading;
|
|
16
|
+
private _observer;
|
|
17
|
+
private _hoverable;
|
|
18
|
+
private _fadeTimer;
|
|
19
|
+
private _built;
|
|
20
|
+
static get observedAttributes(): string[];
|
|
21
|
+
/** `GtkScrolledWindow:hscrollbar-policy` — `automatic` in the pspec. */
|
|
22
|
+
get hscrollbarPolicy(): GtkPolicyType;
|
|
23
|
+
set hscrollbarPolicy(value: GtkPolicyType);
|
|
24
|
+
/** `GtkScrolledWindow:vscrollbar-policy` — `automatic` in the pspec. */
|
|
25
|
+
get vscrollbarPolicy(): GtkPolicyType;
|
|
26
|
+
set vscrollbarPolicy(value: GtkPolicyType);
|
|
27
|
+
/** `GtkScrolledWindow:window-placement` — where the contents sit against the bars. */
|
|
28
|
+
get windowPlacement(): GtkCornerType;
|
|
29
|
+
set windowPlacement(value: GtkCornerType);
|
|
30
|
+
/** `GtkScrolledWindow:has-frame` — the `.frame` style class on the node, and nothing more. */
|
|
31
|
+
get hasFrame(): boolean;
|
|
32
|
+
set hasFrame(value: boolean);
|
|
33
|
+
/** `GtkScrolledWindow:overlay-scrolling` — TRUE in the pspec, and unknown is that. */
|
|
34
|
+
get overlayScrolling(): boolean;
|
|
35
|
+
set overlayScrolling(value: boolean);
|
|
36
|
+
/** `GtkScrolledWindow:min-content-width`, in px, or `null` for the pspec's -1. */
|
|
37
|
+
get minContentWidth(): number | null;
|
|
38
|
+
set minContentWidth(value: number | null);
|
|
39
|
+
/** `GtkScrolledWindow:min-content-height`, in px, or `null` for the pspec's -1. */
|
|
40
|
+
get minContentHeight(): number | null;
|
|
41
|
+
set minContentHeight(value: number | null);
|
|
42
|
+
/** `GtkScrolledWindow:max-content-width`, in px, or `null` for the pspec's -1. */
|
|
43
|
+
get maxContentWidth(): number | null;
|
|
44
|
+
set maxContentWidth(value: number | null);
|
|
45
|
+
/** `GtkScrolledWindow:max-content-height`, in px, or `null` for the pspec's -1. */
|
|
46
|
+
get maxContentHeight(): number | null;
|
|
47
|
+
set maxContentHeight(value: number | null);
|
|
48
|
+
/** `GtkScrolledWindow:propagate-natural-width` — FALSE in the pspec, so absent is that. */
|
|
49
|
+
get propagateNaturalWidth(): boolean;
|
|
50
|
+
set propagateNaturalWidth(value: boolean);
|
|
51
|
+
/** `GtkScrolledWindow:propagate-natural-height` — FALSE in the pspec, so absent is that. */
|
|
52
|
+
get propagateNaturalHeight(): boolean;
|
|
53
|
+
set propagateNaturalHeight(value: boolean);
|
|
54
|
+
/**
|
|
55
|
+
* `gtk_scrolled_window_get_hscrollbar` / `get_vscrollbar`, as METHODS and not getters.
|
|
56
|
+
*
|
|
57
|
+
* `connect-lifecycle.spec.ts` reads a get-only accessor returning an element as an
|
|
58
|
+
* invitation to append into it, and a scrollbar that is not visible is not an append
|
|
59
|
+
* point — which is the whole of what a getter here would be asking for.
|
|
60
|
+
*/
|
|
61
|
+
hscrollbar(): HTMLElement | null;
|
|
62
|
+
vscrollbar(): HTMLElement | null;
|
|
63
|
+
/** The `<gtk-viewport>` the child sits in — the one GTK's `set_child` builds for itself. */
|
|
64
|
+
get viewport(): GtkViewport;
|
|
65
|
+
connectedCallback(): void;
|
|
66
|
+
disconnectedCallback(): void;
|
|
67
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
68
|
+
/** The NORMALISED value a notify carries, which is the property and not the raw attribute. */
|
|
69
|
+
private _normalized;
|
|
70
|
+
private _writeSizeRequest;
|
|
71
|
+
/**
|
|
72
|
+
* `priv->use_indicators` — the AND of the property with the `gtk-overlay-scrolling`
|
|
73
|
+
* setting, whose browser spelling is whether a pointer that can hover exists at all.
|
|
74
|
+
*/
|
|
75
|
+
private get _useIndicators();
|
|
76
|
+
/** Everything the pspec's own state decides: the classes, the bars, the sizes. */
|
|
77
|
+
private _sync;
|
|
78
|
+
/**
|
|
79
|
+
* One of the four clamps as inline style. An unwritten clamp clears only what THIS element
|
|
80
|
+
* wrote: `min-width` / `min-height` are also where a tree's `width-request` /
|
|
81
|
+
* `height-request` land (`GTK_WIDGET_SIZE_CSS`), and assigning '' unconditionally erased it.
|
|
82
|
+
* Where both are set the content clamp wins, which is the one the widget measures itself.
|
|
83
|
+
*/
|
|
84
|
+
private _writeSize;
|
|
85
|
+
/** The viewport's adjustment for one axis, which is where GTK reads the scrollbar's. */
|
|
86
|
+
private _adjustment;
|
|
87
|
+
/**
|
|
88
|
+
* `may_hscroll` / `may_vscroll`: a bar that is DRAWN, or an EXTERNAL policy, which is a
|
|
89
|
+
* scrollbar this window does not show but can still be driven with.
|
|
90
|
+
*/
|
|
91
|
+
private _mayScroll;
|
|
92
|
+
/**
|
|
93
|
+
* The viewport moved: hand the position to the bars, ask whether an edge was REACHED
|
|
94
|
+
* (`maybe_emit_edge_reached` fires whenever the adjustment lands exactly on `lower` or
|
|
95
|
+
* `upper - page_size`, gtkscrolledwindow.c:3629-3661) and fade the indicators in.
|
|
96
|
+
*/
|
|
97
|
+
private _onViewportValue;
|
|
98
|
+
/**
|
|
99
|
+
* A bar moved: move the scrollport. GTK's direction is the other way round — the
|
|
100
|
+
* adjustment belongs to the scrollbar and the scrolled window reads it — which is why
|
|
101
|
+
* the bar is given the adjustment here instead of owning it: the numbers are the same
|
|
102
|
+
* either way, and one writer per side is what keeps them from fighting.
|
|
103
|
+
*/
|
|
104
|
+
private _onBarValue;
|
|
105
|
+
private _edgeReached;
|
|
106
|
+
/**
|
|
107
|
+
* `_gtk_scrolled_window_set_adjustment_value`'s `EDGE_OVERSHOT`, from the shading
|
|
108
|
+
* controller's unclamped position: negative is the near edge, positive the far one,
|
|
109
|
+
* and `0` is the settled case the C returns without emitting — it is the value CLAMPED
|
|
110
|
+
* to `lower - MAX_OVERSHOOT_DISTANCE` and `upper - page_size + MAX_OVERSHOOT_DISTANCE`
|
|
111
|
+
* that the signal compares (gtkscrolledwindow.c:3306-3352).
|
|
112
|
+
*/
|
|
113
|
+
private _edgeOvershot;
|
|
114
|
+
/** The keys of `gtk_scrolled_window_class_init`, and the two signals they emit. */
|
|
115
|
+
private _onKeyDown;
|
|
116
|
+
/**
|
|
117
|
+
* `indicator_start_fade(indicator, 1.0)` on every value change, and
|
|
118
|
+
* `maybe_hide_indicator`'s check `INDICATOR_FADE_OUT_DELAY` after the last one — a poll
|
|
119
|
+
* upstream, one timer here, and `!indicator->over` is the `.hovering` class (a pointer
|
|
120
|
+
* over the indicator holds it open).
|
|
121
|
+
*/
|
|
122
|
+
private _fadeIn;
|
|
123
|
+
private _fadeOut;
|
|
124
|
+
private _clearFade;
|
|
125
|
+
private _onIndicatorOver;
|
|
126
|
+
private _onIndicatorOut;
|
|
127
|
+
private _onHoverableChange;
|
|
128
|
+
private _releaseHoverable;
|
|
129
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare class GtkSearchBar extends HTMLElement {
|
|
2
|
+
private _box;
|
|
3
|
+
private _center;
|
|
4
|
+
private _close;
|
|
5
|
+
private _initialized;
|
|
6
|
+
private _capture;
|
|
7
|
+
private readonly _onCapturedKey;
|
|
8
|
+
private readonly _onInput;
|
|
9
|
+
static get observedAttributes(): string[];
|
|
10
|
+
/** `Gtk.SearchBar:search-mode-enabled` — the revealer's `reveal-child`. Defaults FALSE. */
|
|
11
|
+
get searchModeEnabled(): boolean;
|
|
12
|
+
set searchModeEnabled(value: boolean);
|
|
13
|
+
/** `Gtk.SearchBar:show-close-button` — the `.close` button at the end of the box. */
|
|
14
|
+
get showCloseButton(): boolean;
|
|
15
|
+
set showCloseButton(value: boolean);
|
|
16
|
+
/** `Gtk.SearchBar:key-capture-widget` — where printable keys start a search. */
|
|
17
|
+
get keyCaptureWidget(): HTMLElement | null;
|
|
18
|
+
set keyCaptureWidget(widget: HTMLElement | null);
|
|
19
|
+
/** The editable the C's `connect_entry` would have bound: the first field inside the bar. */
|
|
20
|
+
get entry(): HTMLInputElement | HTMLTextAreaElement | null;
|
|
21
|
+
connectedCallback(): void;
|
|
22
|
+
disconnectedCallback(): void;
|
|
23
|
+
attributeChangedCallback(name: string, _old: string | null, _value: string | null): void;
|
|
24
|
+
private _render;
|
|
25
|
+
/**
|
|
26
|
+
* `reveal_child_changed_cb` (gtksearchbar.c:183-205): revealing focuses the entry,
|
|
27
|
+
* hiding clears it. Run on a real CHANGE only — at init the C's own notify fires before
|
|
28
|
+
* the handler is connected, so a child that arrives with the bar is left alone.
|
|
29
|
+
*/
|
|
30
|
+
private _applyReveal;
|
|
31
|
+
private _revealFromTyping;
|
|
32
|
+
/**
|
|
33
|
+
* The key-capture path (gtksearchbar.c:525-556): a printable key on the capture widget
|
|
34
|
+
* opens the bar and goes into the entry, which is what forwarding the event does in the C.
|
|
35
|
+
* Modified keys and the functional keys are left alone — GTK forwards them, but a bar
|
|
36
|
+
* that opened on every arrow key would not be a search bar.
|
|
37
|
+
*/
|
|
38
|
+
private _captureKey;
|
|
39
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { GtkEntry } from './gtk-entry.js';
|
|
2
|
+
export declare class GtkSearchEntry extends GtkEntry {
|
|
3
|
+
private _searchIcon;
|
|
4
|
+
private _clear;
|
|
5
|
+
private _clearIcon;
|
|
6
|
+
private _timeout;
|
|
7
|
+
static get observedAttributes(): string[];
|
|
8
|
+
/** `GtkSearchEntry:search-delay` — ms from the last keypress to `search-changed`. */
|
|
9
|
+
get searchDelay(): number;
|
|
10
|
+
set searchDelay(value: number);
|
|
11
|
+
/** Whether there is text, which is what decides the two icons. */
|
|
12
|
+
private get _empty();
|
|
13
|
+
connectedCallback(): void;
|
|
14
|
+
attributeChangedCallback(name: string, oldValue: string | null, value: string | null): void;
|
|
15
|
+
disconnectedCallback(): void;
|
|
16
|
+
/**
|
|
17
|
+
* `gtk_search_entry_changed` (gtksearchentry.c:776-803) over `reset_timeout`.
|
|
18
|
+
*
|
|
19
|
+
* Empty is immediate and cancels; non-empty replaces the queue. `clearTimeout` before
|
|
20
|
+
* arming is `reset_timeout`'s `g_source_remove`, and without it two keystrokes would
|
|
21
|
+
* fire the signal twice.
|
|
22
|
+
*/
|
|
23
|
+
private _onChanged;
|
|
24
|
+
private _cancel;
|
|
25
|
+
private _onKeyDown;
|
|
26
|
+
private _render;
|
|
27
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type BoxOrientation } from '@gjsify/adwaita-core';
|
|
2
|
+
export declare class GtkSeparator extends HTMLElement {
|
|
3
|
+
static get observedAttributes(): string[];
|
|
4
|
+
/** `GtkOrientable:orientation` — `horizontal` (the default) or `vertical`. */
|
|
5
|
+
get orientation(): BoxOrientation;
|
|
6
|
+
set orientation(value: BoxOrientation);
|
|
7
|
+
connectedCallback(): void;
|
|
8
|
+
attributeChangedCallback(): void;
|
|
9
|
+
private _render;
|
|
10
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { AdwAdjustment, AdwAdjustmentInput } from '@gjsify/adwaita-core';
|
|
2
|
+
/** `Gtk.SpinButtonUpdatePolicy` nicks; `always` is the pspec default (gtkspinbutton.c:472-475). */
|
|
3
|
+
declare const UPDATE_POLICIES: readonly ["always", "if-valid"];
|
|
4
|
+
export declare class GtkSpinButton extends HTMLElement {
|
|
5
|
+
private readonly _range;
|
|
6
|
+
private _input;
|
|
7
|
+
private _down;
|
|
8
|
+
private _up;
|
|
9
|
+
private _initialized;
|
|
10
|
+
private _edited;
|
|
11
|
+
/** The orientation the children are CURRENTLY arranged for — see `_render`. */
|
|
12
|
+
private _vertical;
|
|
13
|
+
private _initialTimer;
|
|
14
|
+
private _repeatTimer;
|
|
15
|
+
private _timerCalls;
|
|
16
|
+
private _timerStep;
|
|
17
|
+
static get observedAttributes(): string[];
|
|
18
|
+
/** The numeric range — `Gtk.SpinButton:adjustment`, as the portable value. Writes MERGE. */
|
|
19
|
+
get adjustment(): AdwAdjustment;
|
|
20
|
+
set adjustment(value: AdwAdjustmentInput | string);
|
|
21
|
+
/** `Gtk.SpinButton:value` — always inside `adjustmentRange`. */
|
|
22
|
+
get value(): number;
|
|
23
|
+
set value(v: number);
|
|
24
|
+
/** `Gtk.SpinButton:digits` — `gtk_spin_button_init` starts it at 0. */
|
|
25
|
+
get digits(): number;
|
|
26
|
+
set digits(value: number);
|
|
27
|
+
/** `Gtk.SpinButton:numeric` — "whether non-numeric characters should be ignored". */
|
|
28
|
+
get numeric(): boolean;
|
|
29
|
+
set numeric(value: boolean);
|
|
30
|
+
/** `Gtk.SpinButton:snap-to-ticks`. */
|
|
31
|
+
get snapToTicks(): boolean;
|
|
32
|
+
set snapToTicks(value: boolean);
|
|
33
|
+
/** `Gtk.SpinButton:wrap` — whether the value wraps at either bound. */
|
|
34
|
+
get wrap(): boolean;
|
|
35
|
+
set wrap(value: boolean);
|
|
36
|
+
/** `Gtk.SpinButton:update-policy` — `always` (the default) or `if-valid`. */
|
|
37
|
+
get updatePolicy(): (typeof UPDATE_POLICIES)[number];
|
|
38
|
+
set updatePolicy(value: (typeof UPDATE_POLICIES)[number]);
|
|
39
|
+
/** `Gtk.SpinButton:climb-rate` — the acceleration of a held arrow. */
|
|
40
|
+
get climbRate(): number;
|
|
41
|
+
set climbRate(value: number);
|
|
42
|
+
/** The inner text node, for a consumer that needs to place a caret in it. */
|
|
43
|
+
get text(): HTMLInputElement;
|
|
44
|
+
connectedCallback(): void;
|
|
45
|
+
attributeChangedCallback(name: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* `gtk_spin_button_real_spin` (gtkspinbutton.c:1666-1711), the whole of it: the two wrap
|
|
48
|
+
* branches, the two clamp branches and the `wrapped` signal.
|
|
49
|
+
*
|
|
50
|
+
* The clamp itself is `SpinState`'s; what is here is that `wrap` REPLACES it, which is
|
|
51
|
+
* why this is a method and not `increment()`/`decrement()` on the core state.
|
|
52
|
+
*/
|
|
53
|
+
private _spin;
|
|
54
|
+
/**
|
|
55
|
+
* `gtk_spin_button_update` (gtkspinbutton.c:1795-1832) over
|
|
56
|
+
* `gtk_spin_button_default_input` (gtkspinbutton.c:1673-1752).
|
|
57
|
+
*
|
|
58
|
+
* `update-policy` is the two branches that decide what a bad entry does: `always`
|
|
59
|
+
* clamps, `if-valid` leaves the field ALONE and re-formats the committed value — which
|
|
60
|
+
* is the `value_changed` call plus the early return C does at :1820-1824.
|
|
61
|
+
*/
|
|
62
|
+
private _update;
|
|
63
|
+
private _commit;
|
|
64
|
+
/**
|
|
65
|
+
* `gtk_spin_button_insert_text`'s `numeric` filter (gtkspinbutton.c:1589-1649), applied to
|
|
66
|
+
* the field's whole text rather than to one insertion — a browser input hands over the
|
|
67
|
+
* result, not the keystroke. The three refusals C has are the three here: a sign after
|
|
68
|
+
* the first character, a decimal point when `digits` is 0 or one is already there, and
|
|
69
|
+
* anything that is not a digit.
|
|
70
|
+
*/
|
|
71
|
+
private _rejectNonNumeric;
|
|
72
|
+
/** A refused character drops the WHOLE edit and restores the formatted value, as C does. */
|
|
73
|
+
private _resetText;
|
|
74
|
+
/**
|
|
75
|
+
* The held-arrow repeat, `gtk_spin_button_timer` (gtkspinbutton.c:1374-1407) with the
|
|
76
|
+
* two constants that shape it.
|
|
77
|
+
*
|
|
78
|
+
* The ramp is C's exactly: the step grows by `climb-rate` once every `MAX_TIMER_CALLS`
|
|
79
|
+
* ticks, and only while it is still below `page-increment`.
|
|
80
|
+
*/
|
|
81
|
+
private _hold;
|
|
82
|
+
private _tick;
|
|
83
|
+
private _stopHold;
|
|
84
|
+
/**
|
|
85
|
+
* The keys `GtkSpinButton` takes on the entry (gtkspinbutton.c:1495-1525): the arrows and
|
|
86
|
+
* Page Up/Down move by the step and the page, and the vertical pair is bound on the
|
|
87
|
+
* SCROLL controller rather than the keyboard — which is the same "arrows step whatever way
|
|
88
|
+
* the widget runs" rule `GtkScale` states in its own words.
|
|
89
|
+
*/
|
|
90
|
+
private _onKeyDown;
|
|
91
|
+
private _formatted;
|
|
92
|
+
private _render;
|
|
93
|
+
}
|
|
94
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class GtkSpinner extends HTMLElement {
|
|
2
|
+
private _initialized;
|
|
3
|
+
static get observedAttributes(): string[];
|
|
4
|
+
/** `Gtk.Spinner:spinning` — whether the animation runs. Defaults to FALSE (:338-340). */
|
|
5
|
+
get spinning(): boolean;
|
|
6
|
+
set spinning(v: boolean);
|
|
7
|
+
/** `gtk_spinner_start` (gtkspinner.c:373-383): spin, and announce the busy state. */
|
|
8
|
+
start(): void;
|
|
9
|
+
/** `gtk_spinner_stop` (gtkspinner.c:391-400). */
|
|
10
|
+
stop(): void;
|
|
11
|
+
connectedCallback(): void;
|
|
12
|
+
attributeChangedCallback(name: string): void;
|
|
13
|
+
private _render;
|
|
14
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { GtkStack } from './gtk-stack.js';
|
|
2
|
+
export declare class GtkStackSidebar extends HTMLElement {
|
|
3
|
+
private _stack;
|
|
4
|
+
private _list;
|
|
5
|
+
private _initialized;
|
|
6
|
+
private _rows;
|
|
7
|
+
private readonly _onStackChange;
|
|
8
|
+
static get observedAttributes(): string[];
|
|
9
|
+
/** `Gtk.StackSidebar:stack` — the stack this sidebar drives, or null. */
|
|
10
|
+
get stack(): GtkStack | null;
|
|
11
|
+
set stack(value: GtkStack | string | null);
|
|
12
|
+
/** Rebuild the rows by hand, for a consumer that mutated a page in place. */
|
|
13
|
+
refresh(): void;
|
|
14
|
+
connectedCallback(): void;
|
|
15
|
+
disconnectedCallback(): void;
|
|
16
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
17
|
+
/** Bind to a stack element (or null). Unbinds the previous one, as `set_stack` does. */
|
|
18
|
+
setStack(stack: GtkStack | null): void;
|
|
19
|
+
private _resolve;
|
|
20
|
+
private _bindStack;
|
|
21
|
+
private _unbindStack;
|
|
22
|
+
private _pages;
|
|
23
|
+
/**
|
|
24
|
+
* `update_row`'s visibility rule (gtkstacksidebar.c:186): the page is visible AND
|
|
25
|
+
* carries a title. There is no icon fallback — `update_row` never reads `icon-name`,
|
|
26
|
+
* which is the one rule where this sidebar and the switcher disagree.
|
|
27
|
+
*/
|
|
28
|
+
private _visible;
|
|
29
|
+
private _selectedIndex;
|
|
30
|
+
/**
|
|
31
|
+
* An `items-changed` rebuilds the list wholesale (gtkstacksidebar.c:307-311) and a
|
|
32
|
+
* `selection-changed` does not (:317-338), so the rows are recreated ONLY when the
|
|
33
|
+
* page COUNT moves.
|
|
34
|
+
*/
|
|
35
|
+
private _rebuild;
|
|
36
|
+
private _buildRow;
|
|
37
|
+
/**
|
|
38
|
+
* `gtk_stack_sidebar_row_selected` (gtkstacksidebar.c:130-143): a selected row
|
|
39
|
+
* selects its page. An UNSELECTION is not driven from here — the model is the
|
|
40
|
+
* authority, exactly as in the switcher.
|
|
41
|
+
*/
|
|
42
|
+
private _onRowActivated;
|
|
43
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type BoxOrientation } from '@gjsify/adwaita-core';
|
|
2
|
+
import type { GtkStack } from './gtk-stack.js';
|
|
3
|
+
export declare class GtkStackSwitcher extends HTMLElement {
|
|
4
|
+
private _stack;
|
|
5
|
+
private _initialized;
|
|
6
|
+
private _nodes;
|
|
7
|
+
private readonly _onStackChange;
|
|
8
|
+
static get observedAttributes(): string[];
|
|
9
|
+
/** `Gtk.StackSwitcher:stack` — the stack this switcher drives, or null. */
|
|
10
|
+
get stack(): GtkStack | null;
|
|
11
|
+
set stack(value: GtkStack | string | null);
|
|
12
|
+
/** `GtkOrientable:orientation` (gtkstackswitcher.c:47). */
|
|
13
|
+
get orientation(): BoxOrientation;
|
|
14
|
+
set orientation(v: BoxOrientation);
|
|
15
|
+
/**
|
|
16
|
+
* Rebuild the buttons by hand, for a consumer that mutated a page in place. Not
|
|
17
|
+
* the only path: the stack emits `page-updated` and `items-changed`, and this
|
|
18
|
+
* element binds both, which is the mechanism C uses (`:311-321`, `:347-355`).
|
|
19
|
+
*/
|
|
20
|
+
refresh(): void;
|
|
21
|
+
connectedCallback(): void;
|
|
22
|
+
disconnectedCallback(): void;
|
|
23
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
24
|
+
/** Bind to a stack element (or null). Unbinds the previous one, as `set_stack` does. */
|
|
25
|
+
setStack(stack: GtkStack | null): void;
|
|
26
|
+
private _resolve;
|
|
27
|
+
private _bindStack;
|
|
28
|
+
private _unbindStack;
|
|
29
|
+
/**
|
|
30
|
+
* A button is visible when its page is visible AND the page carries a title or an
|
|
31
|
+
* icon (gtkstackswitcher.c:200). `visible` false must hide the row, and an absent
|
|
32
|
+
* title with no icon leaves the button childless — `rebuild_child` builds nothing
|
|
33
|
+
* for it (`:158-176`).
|
|
34
|
+
*/
|
|
35
|
+
private _visible;
|
|
36
|
+
/**
|
|
37
|
+
* The pages, in the order the stack holds them. A stack that is not upgraded has no
|
|
38
|
+
* `pages` getter, which is why it is read defensively.
|
|
39
|
+
*/
|
|
40
|
+
private _pages;
|
|
41
|
+
/** Which page the stack has selected, by position, `-1` for none. */
|
|
42
|
+
private _selectedIndex;
|
|
43
|
+
/**
|
|
44
|
+
* `items_changed_cb` rebuilds everything (gtkstackswitcher.c:347-355) and a
|
|
45
|
+
* `selection_changed_cb` does not — so the nodes are recreated ONLY when the page
|
|
46
|
+
* COUNT moves, and a selection change re-marks them in place (:359-381). Replacing
|
|
47
|
+
* a button mid-interaction would also drop keyboard focus.
|
|
48
|
+
*/
|
|
49
|
+
private _rebuild;
|
|
50
|
+
private _buildButton;
|
|
51
|
+
private _onToggled;
|
|
52
|
+
/**
|
|
53
|
+
* The orientation attribute is the GIR property's own spelling (gtkstackswitcher.c:47)
|
|
54
|
+
* and the stylesheet selects on it directly, so there is nothing to mirror onto a
|
|
55
|
+
* second attribute; this hook exists so the render pass has one entry point.
|
|
56
|
+
*/
|
|
57
|
+
private _render;
|
|
58
|
+
}
|