@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,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `GtkDrawingAreaDrawFunc` with the `user_data` / `destroy` pair dropped — see the header.
|
|
3
|
+
*
|
|
4
|
+
* @param area the drawing area being painted, as the C's first argument
|
|
5
|
+
* @param cr a 2D context over the whole allocation, in logical pixels
|
|
6
|
+
* @param width the width of the allocation — NOT of `content-width`
|
|
7
|
+
* @param height the height of the allocation — NOT of `content-height`
|
|
8
|
+
*/
|
|
9
|
+
export type GtkDrawingAreaDrawFunc = (area: GtkDrawingArea, cr: CanvasRenderingContext2D, width: number, height: number) => void;
|
|
10
|
+
export declare class GtkDrawingArea extends HTMLElement {
|
|
11
|
+
private _canvas;
|
|
12
|
+
private _context;
|
|
13
|
+
private _initialized;
|
|
14
|
+
private _drawFunc;
|
|
15
|
+
/** The last allocation the draw function was called with, as `::resize` sees it. */
|
|
16
|
+
private _width;
|
|
17
|
+
private _height;
|
|
18
|
+
/** The last device pixel ratio the backing store was built for. */
|
|
19
|
+
private _scale;
|
|
20
|
+
private _resize;
|
|
21
|
+
private _frame;
|
|
22
|
+
static get observedAttributes(): string[];
|
|
23
|
+
/** `Gtk.DrawingArea:content-width` — the minimum AND natural width. Defaults to 0. */
|
|
24
|
+
get contentWidth(): number;
|
|
25
|
+
set contentWidth(v: number);
|
|
26
|
+
/** `Gtk.DrawingArea:content-height` — the minimum AND natural height. Defaults to 0. */
|
|
27
|
+
get contentHeight(): number;
|
|
28
|
+
set contentHeight(v: number);
|
|
29
|
+
/**
|
|
30
|
+
* Every GObject setter here returns early when the value is already right
|
|
31
|
+
* (gtkdrawingarea.c:373, :423), while `setAttribute` runs the reaction for a write
|
|
32
|
+
* that changes nothing — so the guard that makes "notify only on a real change" true
|
|
33
|
+
* for the numeric half is the same one `<gtk-level-bar>` uses.
|
|
34
|
+
*/
|
|
35
|
+
private _write;
|
|
36
|
+
/** `GtkDrawingAreaDrawFunc`, or `null` — GTK's default, which paints nothing (:251). */
|
|
37
|
+
get drawFunc(): GtkDrawingAreaDrawFunc | null;
|
|
38
|
+
set drawFunc(fn: GtkDrawingAreaDrawFunc | null);
|
|
39
|
+
/**
|
|
40
|
+
* `gtk_drawing_area_set_draw_func` (gtkdrawingarea.c:474-491): store the function and
|
|
41
|
+
* `queue_draw`, which is what repaints. Passing `null` clears it, and the next
|
|
42
|
+
* snapshot leaves the widget blank — the C's early return at :251.
|
|
43
|
+
*/
|
|
44
|
+
setDrawFunc(fn: GtkDrawingAreaDrawFunc | null): void;
|
|
45
|
+
/**
|
|
46
|
+
* `gtk_widget_queue_draw` on this widget: the documented way to ask for the draw
|
|
47
|
+
* function to be called again (gtkdrawingarea.c:127-129).
|
|
48
|
+
*
|
|
49
|
+
* AND WHY IT IS NOT IMMEDIATE. `queue_draw` marks the window dirty and the frame clock
|
|
50
|
+
* draws it on the next frame, so a draw function that calls `queue_draw` keeps
|
|
51
|
+
* ANIMATING rather than recursing — and a 2D canvas drawn synchronously would turn the
|
|
52
|
+
* same application into a stack overflow. One animation frame is the browser's frame
|
|
53
|
+
* clock, and coalescing through it is what makes "paint from the function" a loop and
|
|
54
|
+
* not a crash. Several requests before the frame are one frame, as in the C.
|
|
55
|
+
*/
|
|
56
|
+
queueDraw(): void;
|
|
57
|
+
connectedCallback(): void;
|
|
58
|
+
disconnectedCallback(): void;
|
|
59
|
+
attributeChangedCallback(name: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* `measure` returns one number per axis as the minimum AND the natural size
|
|
62
|
+
* (gtkdrawingarea.c:210-231), and CSS has a property for each half — so the element
|
|
63
|
+
* publishes the number once and `_drawing.scss` reads it twice. A zero removes the
|
|
64
|
+
* property rather than declaring `0px`, because `var(--adw-drawing-width, auto)` is
|
|
65
|
+
* how "no intrinsic size" is spelled.
|
|
66
|
+
*/
|
|
67
|
+
private _publishSize;
|
|
68
|
+
private _observe;
|
|
69
|
+
/**
|
|
70
|
+
* `gtk_drawing_area_size_allocate` (:233-238) emits `::resize` and does nothing else —
|
|
71
|
+
* the signal IS the allocation path. The browser learns the allocation from the
|
|
72
|
+
* observer instead, so the signal is emitted from here, and only when the allocation
|
|
73
|
+
* really changed: GTK reaches `size_allocate` on every layout pass, and the signal
|
|
74
|
+
* is documented as firing "each time the widget is changed" (:312-314).
|
|
75
|
+
*/
|
|
76
|
+
private _allocated;
|
|
77
|
+
/**
|
|
78
|
+
* One frame. `gtk_drawing_area_snapshot` (:240-267) measures the ALLOCATION, not the
|
|
79
|
+
* properties, and calls the function with it; the browser gets the allocation from the
|
|
80
|
+
* observer instead of from the snapshot, and the drawing itself is the 2D context the
|
|
81
|
+
* canvas already owns.
|
|
82
|
+
*/
|
|
83
|
+
private _draw;
|
|
84
|
+
/** The backing store is rebuilt when the display's ratio changes, not every frame. */
|
|
85
|
+
private _devicePixelRatio;
|
|
86
|
+
/** The `notify::` detail for `name`: the PROPERTY, parsed, not the raw attribute. */
|
|
87
|
+
private _notify;
|
|
88
|
+
/** The last allocation, as `::resize` reported it — the spec reads it back. */
|
|
89
|
+
get allocation(): {
|
|
90
|
+
width: number;
|
|
91
|
+
height: number;
|
|
92
|
+
};
|
|
93
|
+
/** The ratio the backing store was built at, as the header describes. */
|
|
94
|
+
get pixelScale(): number;
|
|
95
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare class GtkEditableLabel extends HTMLElement {
|
|
2
|
+
private _label;
|
|
3
|
+
private _entry;
|
|
4
|
+
private _initialized;
|
|
5
|
+
private _grace;
|
|
6
|
+
static get observedAttributes(): string[];
|
|
7
|
+
/** `Gtk.Editable:text` — what the label shows, which is the committed draft. */
|
|
8
|
+
get text(): string;
|
|
9
|
+
set text(value: string);
|
|
10
|
+
/** `Gtk.Editable:editable` — defaults TRUE. FALSE refuses to start editing. */
|
|
11
|
+
get editable(): boolean;
|
|
12
|
+
set editable(value: boolean);
|
|
13
|
+
/**
|
|
14
|
+
* `GtkEditableLabel:editing` — TRUE while the entry is the stack's visible child, so it
|
|
15
|
+
* is the ATTRIBUTE as on every other boolean here. Setting it is what starts or stops
|
|
16
|
+
* editing, because the C's property setter does exactly that (gtkeditablelabel.c:406-411).
|
|
17
|
+
*/
|
|
18
|
+
get editing(): boolean;
|
|
19
|
+
set editing(value: boolean);
|
|
20
|
+
/** `gtk_editable_label_start_editing` — refused while `editable` is FALSE, as in the C. */
|
|
21
|
+
startEditing(): void;
|
|
22
|
+
/**
|
|
23
|
+
* `gtk_editable_label_stop_editing` — `commit` decides whether the drafted text becomes
|
|
24
|
+
* the label's; FALSE resets the entry to the label instead (gtkeditablelabel.c:637-656).
|
|
25
|
+
*/
|
|
26
|
+
stopEditing(commit?: boolean): void;
|
|
27
|
+
/** The inner native entry, for focus and selection. */
|
|
28
|
+
get entry(): HTMLInputElement;
|
|
29
|
+
connectedCallback(): void;
|
|
30
|
+
disconnectedCallback(): void;
|
|
31
|
+
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
32
|
+
private _render;
|
|
33
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type EmojiEntry } from '../emoji-data.js';
|
|
2
|
+
import { GtkPopover } from './gtk-popover.js';
|
|
3
|
+
export declare class GtkEmojiChooser extends GtkPopover {
|
|
4
|
+
private _built;
|
|
5
|
+
private _entry;
|
|
6
|
+
private _listEl;
|
|
7
|
+
private _emptyEl;
|
|
8
|
+
private _sections;
|
|
9
|
+
/** The entry a button was built from — `emoji-data` has no reverse lookup. */
|
|
10
|
+
private _entryOf;
|
|
11
|
+
/** `recently-used-emoji` — the GSettings key, held in memory here (see the header). */
|
|
12
|
+
private _recent;
|
|
13
|
+
/**
|
|
14
|
+
* The Ctrl state `should_close` reads off the keyboard (:433-448). A DOM event's
|
|
15
|
+
* `ctrlKey` says what the key that caused IT was, and a `click` synthesised from a
|
|
16
|
+
* keyboard activation carries no modifier at all, so the state is tracked from the key
|
|
17
|
+
* events themselves — which is what `gdk_device_get_modifier_state` answers.
|
|
18
|
+
*/
|
|
19
|
+
private _ctrl;
|
|
20
|
+
connectedCallback(): void;
|
|
21
|
+
/** The emoji picked most recently, newest first — what `recently-used-emoji` holds. */
|
|
22
|
+
get recentEmoji(): EmojiEntry[];
|
|
23
|
+
/**
|
|
24
|
+
* Pick an entry the flow box's `child-activated` would have delivered — which is what
|
|
25
|
+
* a consumer inserting an emoji from elsewhere needs, and what a test drives the recents
|
|
26
|
+
* with. `fromRecent` is `emoji_activated`'s own half of the recent check: an entry
|
|
27
|
+
* picked out of the recent list is not recorded a second time.
|
|
28
|
+
*/
|
|
29
|
+
pick(entry: EmojiEntry, fromRecent?: boolean): void;
|
|
30
|
+
/** The `.emoji-searchbar` box: the magnifying glyph and the search entry. */
|
|
31
|
+
private _buildSearchbar;
|
|
32
|
+
/** The `empty` stack page: the big glyph and the two lines under it. */
|
|
33
|
+
private _buildEmptyPage;
|
|
34
|
+
/** One flow box per category, each under its own heading label. */
|
|
35
|
+
private _buildSections;
|
|
36
|
+
/**
|
|
37
|
+
* The toolbar: one `.emoji-section` button per section, recent FIRST (the struct
|
|
38
|
+
* order), each with its own symbolic and the `.ui`'s tooltip.
|
|
39
|
+
*
|
|
40
|
+
* The icons are written out one call per section rather than looked up from a table:
|
|
41
|
+
* each name is USED there, which is what makes it a name this stylesheet has to be
|
|
42
|
+
* able to draw — `scripts/check-adwaita-icon-masks.mjs` reads exactly that.
|
|
43
|
+
*/
|
|
44
|
+
private _buildToolbar;
|
|
45
|
+
/** `button.image-button.emoji-section` — flat, circular, 32px, with a tooltip. */
|
|
46
|
+
private _sectionButton;
|
|
47
|
+
/**
|
|
48
|
+
* One emoji: a `<button>` holding the glyph at `PANGO_SCALE_X_LARGE`, labelled with
|
|
49
|
+
* the English name — the name the search reads, so it is the accessible name too.
|
|
50
|
+
*/
|
|
51
|
+
private _emojiButton;
|
|
52
|
+
/** `filter_func` + `match_tokens`: EVERY term must be a PREFIX of a token of the name
|
|
53
|
+
* or of one of the keywords. `g_str_tokenize_and_fold` case-folds, hence lower-casing
|
|
54
|
+
* both sides. */
|
|
55
|
+
private _matches;
|
|
56
|
+
/** `search_changed` — invalidate every section, then `update_headings`. */
|
|
57
|
+
private _filter;
|
|
58
|
+
/** `emoji_activated` — emit, remember, and pop down unless Ctrl is held. */
|
|
59
|
+
private _activate;
|
|
60
|
+
/** `add_recent_item` (:390) — newest first, no duplicates, at most `MAX_RECENT`. */
|
|
61
|
+
private _remember;
|
|
62
|
+
/** `populate_recent_section` (:366-388): the list, its visibility and its button. */
|
|
63
|
+
private _renderRecents;
|
|
64
|
+
/**
|
|
65
|
+
* `show_variations` (:508-548): the plain form and the five skin tones
|
|
66
|
+
* (`add_emoji (box, FALSE, emoji_data, 0, …)` then `1F3FB`…`1F3FF`), in a popover over
|
|
67
|
+
* the emoji — and only for an emoji that HAS them, which is `has_variations` (:489).
|
|
68
|
+
*/
|
|
69
|
+
private _showVariations;
|
|
70
|
+
private _closeVariations;
|
|
71
|
+
/** `scroll_to_section` (:312-330) — to the heading, minus `BOX_SPACE`. */
|
|
72
|
+
private _scrollTo;
|
|
73
|
+
/** `gtk_emoji_chooser_scroll_section` (:1198) — Ctrl+N / Ctrl+P over the visible ones. */
|
|
74
|
+
private _scrollSection;
|
|
75
|
+
/** `activate_search` (:1019) — the first result of the first non-empty section. */
|
|
76
|
+
private _activateFirstResult;
|
|
77
|
+
/**
|
|
78
|
+
* `adj_value_changed` (:814-870): the section the scroll position is INSIDE is the
|
|
79
|
+
* checked one, so the toolbar follows the list without any interaction of its own.
|
|
80
|
+
*/
|
|
81
|
+
private _sectionAt;
|
|
82
|
+
private _currentSection;
|
|
83
|
+
private _markSection;
|
|
84
|
+
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export declare class GtkEntry extends HTMLElement {
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* `protected`, not `private`: `GtkPasswordEntry` and `GtkSearchEntry` subclass this
|
|
4
|
+
* element and restyle or wrap the very input it builds (the password field's Caps Lock
|
|
5
|
+
* and peek listeners, the search field's leading icon and trailing clear button), so the
|
|
6
|
+
* inner node is theirs to reach as well as this class's.
|
|
7
|
+
*/
|
|
8
|
+
protected _input: HTMLInputElement;
|
|
3
9
|
private _initialized;
|
|
4
10
|
private _maxLength;
|
|
5
11
|
static get observedAttributes(): string[];
|
|
@@ -10,8 +16,21 @@ export declare class GtkEntry extends HTMLElement {
|
|
|
10
16
|
set maxLength(value: number);
|
|
11
17
|
/** `Gtk.Entry:text-length` — code points, not UTF-16 units. */
|
|
12
18
|
get textLength(): number;
|
|
19
|
+
/**
|
|
20
|
+
* `Gtk.Entry:placeholder-text`, the name a Blueprint file and the gallery trees use.
|
|
21
|
+
* `placeholder` stays for markup written before the GTK spelling was read.
|
|
22
|
+
*/
|
|
23
|
+
private placeholderAttribute;
|
|
24
|
+
/** `Gtk.Widget:width-request` — a minimum width in px; -1 or absent leaves the natural one. */
|
|
25
|
+
private applyWidthRequest;
|
|
13
26
|
/** The inner native input (for focus/selection). */
|
|
14
27
|
get input(): HTMLInputElement;
|
|
15
28
|
connectedCallback(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Declared so a subclass can override it and still reach the base: the custom-element
|
|
31
|
+
* lifecycle hooks a subclass chains (`super.disconnectedCallback()`) have to exist on
|
|
32
|
+
* the class it extends, and `GtkSearchEntry` drops its pending search timeout here.
|
|
33
|
+
*/
|
|
34
|
+
disconnectedCallback(): void;
|
|
16
35
|
attributeChangedCallback(name: string, _old: string | null, value: string | null): void;
|
|
17
36
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import './gtk-label.js';
|
|
2
|
+
export declare class GtkExpander extends HTMLElement {
|
|
3
|
+
private _box;
|
|
4
|
+
private _titleEl;
|
|
5
|
+
private _arrowEl;
|
|
6
|
+
private _labelEl;
|
|
7
|
+
private _labelSection;
|
|
8
|
+
private _contentEl;
|
|
9
|
+
private _initialized;
|
|
10
|
+
static get observedAttributes(): string[];
|
|
11
|
+
/** `Gtk.Expander:expanded` — whether the child is revealed. */
|
|
12
|
+
get expanded(): boolean;
|
|
13
|
+
set expanded(value: boolean);
|
|
14
|
+
/** `Gtk.Expander:label` — the title TEXT, or `null` when a label widget is in its place. */
|
|
15
|
+
get label(): string | null;
|
|
16
|
+
set label(value: string | null);
|
|
17
|
+
/** `Gtk.Expander:use-markup` — whether the label is Pango markup. */
|
|
18
|
+
get useMarkup(): boolean;
|
|
19
|
+
set useMarkup(value: boolean);
|
|
20
|
+
/** `Gtk.Expander:use-underline` — whether `_` in the label marks a mnemonic. */
|
|
21
|
+
get useUnderline(): boolean;
|
|
22
|
+
set useUnderline(value: boolean);
|
|
23
|
+
/** `Gtk.Expander:resize-toplevel` — reflected, because a document reflows itself. */
|
|
24
|
+
get resizeToplevel(): boolean;
|
|
25
|
+
set resizeToplevel(value: boolean);
|
|
26
|
+
/** `Gtk.Expander:child` — the light-DOM node in the content row. */
|
|
27
|
+
get child(): Element | null;
|
|
28
|
+
/** `Gtk.Expander:label-widget` — the light-DOM node standing in for the label text. */
|
|
29
|
+
get labelWidget(): Element | null;
|
|
30
|
+
connectedCallback(): void;
|
|
31
|
+
attributeChangedCallback(name: string): void;
|
|
32
|
+
private _detail;
|
|
33
|
+
/** `gtk_expander_activate` (gtkexpander.c:786-792) — the one thing the widget does. */
|
|
34
|
+
private _activate;
|
|
35
|
+
/**
|
|
36
|
+
* `Alt`+the marked character, as `gtk_expander_new_with_mnemonic` documents
|
|
37
|
+
* (gtkexpander.c:856-860): "Pressing Alt and that key activates the button."
|
|
38
|
+
*/
|
|
39
|
+
private readonly _onKeyDown;
|
|
40
|
+
/**
|
|
41
|
+
* The single character `use-underline` marks, or `null` when none does.
|
|
42
|
+
*
|
|
43
|
+
* The walk is `stripMnemonic`'s, for the reason that function gives: a `_` takes the
|
|
44
|
+
* character after it and is itself removed, `__` is an escaped literal underscore and
|
|
45
|
+
* marks nothing, and a trailing marker has no character to take.
|
|
46
|
+
*/
|
|
47
|
+
private _mnemonic;
|
|
48
|
+
private _render;
|
|
49
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class GtkFixed extends HTMLElement {
|
|
2
|
+
private _resize;
|
|
3
|
+
private _mutations;
|
|
4
|
+
connectedCallback(): void;
|
|
5
|
+
disconnectedCallback(): void;
|
|
6
|
+
/** `gtk_fixed_put()` — a child and the position it sits at, both relative to the fixed. */
|
|
7
|
+
put(child: HTMLElement, x: number, y: number): void;
|
|
8
|
+
/** `gtk_fixed_move()` — the same position for a child already in this fixed. */
|
|
9
|
+
move(child: HTMLElement, x: number, y: number): void;
|
|
10
|
+
private _observeChildren;
|
|
11
|
+
/** `gtk_fixed_layout_measure`: the union of the children's rectangles, as one box. */
|
|
12
|
+
private _size;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class GtkFlowBoxChild extends HTMLElement {
|
|
2
|
+
private _contentsEl;
|
|
3
|
+
private _initialized;
|
|
4
|
+
connectedCallback(): void;
|
|
5
|
+
/** `GtkFlowBoxChild:child`, as the light-DOM child it already is. */
|
|
6
|
+
get child(): Element | null;
|
|
7
|
+
/** Where this child sits in its box, or -1 while it has no box. */
|
|
8
|
+
get index(): number;
|
|
9
|
+
/**
|
|
10
|
+
* `gtk_flow_box_child_is_selected` — read over the class the box writes, so a cell moved
|
|
11
|
+
* between boxes never carries a stale answer.
|
|
12
|
+
*/
|
|
13
|
+
get selected(): boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { type AdwBoxSelectionMode } from '@gjsify/adwaita-core';
|
|
2
|
+
import type { GtkFlowBoxChild } from './gtk-flow-box-child.js';
|
|
3
|
+
import './gtk-flow-box-child.js';
|
|
4
|
+
/** `GtkFlowBox:max-children-per-line`'s default — `DEFAULT_MAX_CHILDREN_PER_LINE` (:728). */
|
|
5
|
+
export declare const ADW_FLOW_BOX_MAX_CHILDREN_PER_LINE = 7;
|
|
6
|
+
/** `GtkFlowBox:orientation` — HORIZONTAL by default here, unlike a `GtkListBase` (:3981). */
|
|
7
|
+
export type AdwFlowBoxOrientation = 'horizontal' | 'vertical';
|
|
8
|
+
export declare class GtkFlowBox extends HTMLElement {
|
|
9
|
+
private _children;
|
|
10
|
+
private _selection;
|
|
11
|
+
/** `priv->selected_child`, `-1` for the C's NULL. */
|
|
12
|
+
private _anchor;
|
|
13
|
+
private _initialized;
|
|
14
|
+
static get observedAttributes(): string[];
|
|
15
|
+
get selectionMode(): AdwBoxSelectionMode;
|
|
16
|
+
set selectionMode(value: AdwBoxSelectionMode);
|
|
17
|
+
/** Default TRUE (gtkflowbox.c:3723), so the attribute is the OFF switch. */
|
|
18
|
+
get activateOnSingleClick(): boolean;
|
|
19
|
+
set activateOnSingleClick(value: boolean);
|
|
20
|
+
/** Default FALSE (gtkflowbox.c:3731). Read as boolean because a browser always pairs a
|
|
21
|
+
* click's halves somewhere; see `<gtk-list-box>`'s header for the rest. */
|
|
22
|
+
get acceptUnpairedRelease(): boolean;
|
|
23
|
+
set acceptUnpairedRelease(value: boolean);
|
|
24
|
+
get homogeneous(): boolean;
|
|
25
|
+
set homogeneous(value: boolean);
|
|
26
|
+
/** `GtkFlowBox:min-children-per-line` — 0 is the ParamSpec default (:3758). */
|
|
27
|
+
get minChildrenPerLine(): number;
|
|
28
|
+
set minChildrenPerLine(value: number);
|
|
29
|
+
/** `GtkFlowBox:max-children-per-line` — 7 is the default, and the ParamSpec's MINIMUM is 1. */
|
|
30
|
+
get maxChildrenPerLine(): number;
|
|
31
|
+
set maxChildrenPerLine(value: number);
|
|
32
|
+
get rowSpacing(): number;
|
|
33
|
+
set rowSpacing(value: number);
|
|
34
|
+
get columnSpacing(): number;
|
|
35
|
+
set columnSpacing(value: number);
|
|
36
|
+
get orientation(): AdwFlowBoxOrientation;
|
|
37
|
+
set orientation(value: AdwFlowBoxOrientation);
|
|
38
|
+
/**
|
|
39
|
+
* The cells, in document order — GTK's `children` sequence.
|
|
40
|
+
*
|
|
41
|
+
* NOT spelled `children`: that name is `HTMLElement.children`, an `HTMLCollection`, and
|
|
42
|
+
* shadowing it on an element that HAS children would break `firstElementChild` consumers
|
|
43
|
+
* and the DOM's own `[...el.children]` idiom everywhere else in this package.
|
|
44
|
+
*/
|
|
45
|
+
get cells(): readonly GtkFlowBoxChild[];
|
|
46
|
+
/** The selected positions, ascending. A method upstream (`get_selected_children`). */
|
|
47
|
+
get selectedChildren(): number[];
|
|
48
|
+
set selectedChildren(value: Iterable<number> | number | null);
|
|
49
|
+
get selectedChildElements(): GtkFlowBoxChild[];
|
|
50
|
+
connectedCallback(): void;
|
|
51
|
+
attributeChangedCallback(): void;
|
|
52
|
+
/** `gtk_flow_box_select_child` (gtkflowbox.c:4731-4739). `null` is the C's unselect-all. */
|
|
53
|
+
selectChild(child: GtkFlowBoxChild | null): void;
|
|
54
|
+
/** `gtk_flow_box_unselect_child` (gtkflowbox.c:4749-4756). */
|
|
55
|
+
unselectChild(child: GtkFlowBoxChild): void;
|
|
56
|
+
/** `gtk_flow_box_select_all` — refused unless the mode is `multiple` (:4770-4771). */
|
|
57
|
+
selectAll(): void;
|
|
58
|
+
/** `gtk_flow_box_unselect_all` — refused in `browse` (:4792-4793). */
|
|
59
|
+
unselectAll(): void;
|
|
60
|
+
/**
|
|
61
|
+
* The properties, as inline custom properties, so the flex rules in `_flow_box.scss` stay
|
|
62
|
+
* declarative and a `homogeneous` write is one class flip.
|
|
63
|
+
*/
|
|
64
|
+
private _applyAttributes;
|
|
65
|
+
private _collectChildren;
|
|
66
|
+
/**
|
|
67
|
+
* The `GTK_STATE_FLAG_SELECTED` each selected cell raises and the accessible state that
|
|
68
|
+
* goes with it (`gtk_flow_box_child_set_selected`, gtkflowbox.c:943-962). The accessible
|
|
69
|
+
* state is published ONLY while the box can select, which is the same reset the list box
|
|
70
|
+
* does (:3617-3623).
|
|
71
|
+
*/
|
|
72
|
+
private _syncChildren;
|
|
73
|
+
private _onClick;
|
|
74
|
+
private _onDoubleClick;
|
|
75
|
+
/**
|
|
76
|
+
* `Ctrl`+Space is `toggle-cursor-child` (gtkflowbox.c:3957-3959); Enter and Space are the
|
|
77
|
+
* CELL's, via `activate-cursor-child` (:3836) and `GtkFlowBoxChild`'s own `activate`.
|
|
78
|
+
*/
|
|
79
|
+
private _onKeyDown;
|
|
80
|
+
private _childAt;
|
|
81
|
+
/** One click or `Ctrl`+Space — `gtk_flow_box_update_selection` (:1077-1131). */
|
|
82
|
+
private _updateSelection;
|
|
83
|
+
/** `gtk_flow_box_select_and_activate` (:1136-1148) — the `child-activated` signal. */
|
|
84
|
+
private _activate;
|
|
85
|
+
/** `child-activated`'s companion `selected-children-changed` (:3820-3826) plus the notify. */
|
|
86
|
+
private _emitSelection;
|
|
87
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type PangoFontDescription } from '../font-description.js';
|
|
2
|
+
import './gtk-popover.js';
|
|
3
|
+
import './gtk-separator.js';
|
|
4
|
+
/** `GtkFontLevel`'s four values, under the nicks a string property carries. */
|
|
5
|
+
export type FontLevel = 'family' | 'face' | 'font' | 'features';
|
|
6
|
+
/** `GtkFontDialog`'s own parameters; `font-map` has no browser counterpart and is absent. */
|
|
7
|
+
export interface FontDialogParameters {
|
|
8
|
+
/** Whether the chooser is modal. Default `TRUE`, as in the GIR. */
|
|
9
|
+
modal?: boolean;
|
|
10
|
+
/** The chooser's title. Default `null`. */
|
|
11
|
+
title?: string | null;
|
|
12
|
+
/** The language font features are resolved against. Default `null`. */
|
|
13
|
+
language?: string | null;
|
|
14
|
+
/** Whether only scalable fonts are offered. */
|
|
15
|
+
filter?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class GtkFontDialogButton extends HTMLElement {
|
|
18
|
+
private _buttonEl;
|
|
19
|
+
private _labelEl;
|
|
20
|
+
private _sizeBoxEl;
|
|
21
|
+
private _sizeLabelEl;
|
|
22
|
+
private _dockEl;
|
|
23
|
+
private _selectEl;
|
|
24
|
+
private _desc;
|
|
25
|
+
private _dialog;
|
|
26
|
+
private _features;
|
|
27
|
+
private _language;
|
|
28
|
+
private _pending;
|
|
29
|
+
private _initialized;
|
|
30
|
+
static get observedAttributes(): string[];
|
|
31
|
+
/** `GtkFontDialogButton:font-desc` — the selected font, as a plain value. */
|
|
32
|
+
get fontDesc(): PangoFontDescription;
|
|
33
|
+
set fontDesc(value: PangoFontDescription | string);
|
|
34
|
+
/** `GtkFontDialogButton:font-features` — Pango's comma-separated feature list. */
|
|
35
|
+
get fontFeatures(): string;
|
|
36
|
+
set fontFeatures(value: string);
|
|
37
|
+
/** `GtkFontDialogButton:language` — the language font features resolve against. */
|
|
38
|
+
get language(): string | null;
|
|
39
|
+
set language(value: string | null);
|
|
40
|
+
/** `GtkFontDialogButton:level` — how much of the font the chooser offers. */
|
|
41
|
+
get level(): FontLevel;
|
|
42
|
+
set level(value: FontLevel);
|
|
43
|
+
/** `GtkFontDialogButton:use-font` — draw the family label in the selected font. */
|
|
44
|
+
get useFont(): boolean;
|
|
45
|
+
set useFont(value: boolean);
|
|
46
|
+
/** `GtkFontDialogButton:use-size` — draw the selected SIZE in the label too. */
|
|
47
|
+
get useSize(): boolean;
|
|
48
|
+
set useSize(value: boolean);
|
|
49
|
+
/** `GtkFontDialogButton:dialog` — the chooser this button opens, or `null` for none. */
|
|
50
|
+
get dialog(): FontDialogParameters | null;
|
|
51
|
+
set dialog(value: FontDialogParameters | null);
|
|
52
|
+
connectedCallback(): void;
|
|
53
|
+
attributeChangedCallback(name?: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* The `::activate` action signal (:405-418), bound to `gtk_widget_activate (self->button)`
|
|
56
|
+
* (:540-546): activating the widget and pressing the button are the same thing, and
|
|
57
|
+
* both present the chooser.
|
|
58
|
+
*/
|
|
59
|
+
activate(): void;
|
|
60
|
+
/** `button_clicked` (:548-585), with the level deciding which C handler would answer. */
|
|
61
|
+
private _openChooser;
|
|
62
|
+
/**
|
|
63
|
+
* The combinations this page can actually render, plus the one already held.
|
|
64
|
+
*
|
|
65
|
+
* `FontFaceSet.check()` is the browser's font map in one call, and it is a QUESTION
|
|
66
|
+
* ABOUT A DESCRIPTION, which is exactly the shape of Pango's face walk: the family is
|
|
67
|
+
* the outer loop, the face the inner one, and a combination that does not render is
|
|
68
|
+
* the face the family does not have.
|
|
69
|
+
*/
|
|
70
|
+
private _options;
|
|
71
|
+
/** The four `*_chosen` handlers (:441-538), by level. */
|
|
72
|
+
private _choose;
|
|
73
|
+
/** `update_button_sensitivity` (:433-439), as the colour button's is (:380-391). */
|
|
74
|
+
private _renderSensitivity;
|
|
75
|
+
/** `update_font_info` (:649-687) plus `apply_use_font` (:689-720). */
|
|
76
|
+
private _render;
|
|
77
|
+
/**
|
|
78
|
+
* `font_description_style_equal` against the faces the page declares — the stand-in for
|
|
79
|
+
* the font-map walk `update_font_data` performs, and the name it prints when there is
|
|
80
|
+
* one.
|
|
81
|
+
*/
|
|
82
|
+
private _faceName;
|
|
83
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare class GtkFrame extends HTMLElement {
|
|
2
|
+
private _mutations;
|
|
3
|
+
static get observedAttributes(): string[];
|
|
4
|
+
/** The element's own `<gtk-label>`, built from `label` — null while no string is set. */
|
|
5
|
+
private _labelEl;
|
|
6
|
+
/** True while {@link _sync} writes `label` onto that widget, so its notify does not escape. */
|
|
7
|
+
private _writingLabel;
|
|
8
|
+
/** `Gtk.Frame:label` — the frame's label text, or null when it carries no label. */
|
|
9
|
+
get label(): string | null;
|
|
10
|
+
set label(value: string | null);
|
|
11
|
+
/**
|
|
12
|
+
* `Gtk.Frame:label-xalign` — where the label sits across the frame's width.
|
|
13
|
+
* `0` (the pspec default) puts it at the start, `1` at the end, `0.5` centred.
|
|
14
|
+
*/
|
|
15
|
+
get labelXalign(): number;
|
|
16
|
+
set labelXalign(value: number);
|
|
17
|
+
/** The child in GTK's `label-widget` slot — the widget drawn in place of the text. */
|
|
18
|
+
get labelWidget(): HTMLElement | null;
|
|
19
|
+
set labelWidget(value: HTMLElement | null);
|
|
20
|
+
connectedCallback(): void;
|
|
21
|
+
disconnectedCallback(): void;
|
|
22
|
+
attributeChangedCallback(name: string, old: string | null, value: string | null): void;
|
|
23
|
+
private _sync;
|
|
24
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/** `GdkGLAPI`'s nicks, as `GdkGLAPINickSet` spells them. */
|
|
2
|
+
declare const APIS: readonly ["gl", "gles"];
|
|
3
|
+
type GlApi = (typeof APIS)[number];
|
|
4
|
+
/** A WebGL context, whichever version the browser handed out. */
|
|
5
|
+
type GlContext = WebGLRenderingContext | WebGL2RenderingContext;
|
|
6
|
+
export declare class GtkGLArea extends HTMLElement {
|
|
7
|
+
private _canvas;
|
|
8
|
+
private _messageEl;
|
|
9
|
+
private _initialized;
|
|
10
|
+
private _context;
|
|
11
|
+
private _error;
|
|
12
|
+
/** `gtk_gl_area_resize` is called from here, so `needs_resize` is a C field too. */
|
|
13
|
+
private _needsResize;
|
|
14
|
+
/** `priv->needs_render`, TRUE from `gtk_gl_area_init` (:1104). */
|
|
15
|
+
/** `priv->allowed_apis`, default `GDK_GL_API_GL | GDK_GL_API_GLES` (:1100). */
|
|
16
|
+
private _allowedApis;
|
|
17
|
+
private _needsRender;
|
|
18
|
+
/** `priv->have_buffers` (:392), dropped by the two buffer setters. */
|
|
19
|
+
private _haveBuffers;
|
|
20
|
+
private _width;
|
|
21
|
+
private _height;
|
|
22
|
+
private _scale;
|
|
23
|
+
private _resize;
|
|
24
|
+
private _frame;
|
|
25
|
+
static get observedAttributes(): string[];
|
|
26
|
+
/**
|
|
27
|
+
* `GtkGLArea:auto-render` — whether `::render` is emitted every time the widget draws.
|
|
28
|
+
* Defaults to TRUE (:1102, and `g_param_spec_boolean` at :924).
|
|
29
|
+
*/
|
|
30
|
+
get autoRender(): boolean;
|
|
31
|
+
set autoRender(v: boolean);
|
|
32
|
+
/**
|
|
33
|
+
* `GtkGLArea:has-depth-buffer` — whether a depth buffer is allocated and the depth
|
|
34
|
+
* test enabled (:782-785, :408-417). Defaults to FALSE (:941).
|
|
35
|
+
*/
|
|
36
|
+
get hasDepthBuffer(): boolean;
|
|
37
|
+
set hasDepthBuffer(v: boolean);
|
|
38
|
+
/** `GtkGLArea:has-stencil-buffer` — the stencil half of the same renderbuffer (:954). */
|
|
39
|
+
get hasStencilBuffer(): boolean;
|
|
40
|
+
set hasStencilBuffer(v: boolean);
|
|
41
|
+
/**
|
|
42
|
+
* `GtkGLArea:allowed-apis` — the APIs a created context may use (:983, :1100).
|
|
43
|
+
*
|
|
44
|
+
* The value lives in a field, not in the attribute, because the setter REFUSES a
|
|
45
|
+
* realized area and a refused write in a custom element has already moved the
|
|
46
|
+
* attribute — the C keeps the property and drops the call, this keeps the property and
|
|
47
|
+
* puts the attribute back.
|
|
48
|
+
*/
|
|
49
|
+
get allowedApis(): GlApi[];
|
|
50
|
+
set allowedApis(v: GlApi[]);
|
|
51
|
+
/**
|
|
52
|
+
* The guard that makes "notify only on a real change" true: `setAttribute` runs the
|
|
53
|
+
* custom-element reaction for a write that changes nothing, while GTK's setters
|
|
54
|
+
* return early (:1522, :1197).
|
|
55
|
+
*/
|
|
56
|
+
private _write;
|
|
57
|
+
/**
|
|
58
|
+
* `GtkGLArea:api` — the API in use, read-only in the GIR and defaulting to 0, which
|
|
59
|
+
* is `GDK_GL_API_GL`. A context in a browser is WebGL or WebGL2, both ES, so a
|
|
60
|
+
* realized area reports `gles` and an unrealized one the pspec's `0` — see the header.
|
|
61
|
+
*/
|
|
62
|
+
get api(): GlApi;
|
|
63
|
+
/** `gtk_gl_area_get_context` (:1495-1508) — the context, or `null` when there is none. */
|
|
64
|
+
get context(): GlContext | null;
|
|
65
|
+
/** `gtk_gl_area_get_error` (:1533-1543) — the error set on the area, if any. */
|
|
66
|
+
get error(): string | null;
|
|
67
|
+
/** `gtk_gl_area_set_error` (:1545-1558). `null` clears it, which restores drawing. */
|
|
68
|
+
setError(error: Error | string | null): void;
|
|
69
|
+
/**
|
|
70
|
+
* `gtk_gl_area_make_current` (:1563-1572). A WebGL context is current for its own
|
|
71
|
+
* canvas and nowhere else, so there is nothing to switch — the method exists
|
|
72
|
+
* because the C's callers expect it to.
|
|
73
|
+
*/
|
|
74
|
+
makeCurrent(): GlContext | null;
|
|
75
|
+
/**
|
|
76
|
+
* `gtk_gl_area_queue_render` (:1465-1474) — the render flag plus `queue_draw`.
|
|
77
|
+
*
|
|
78
|
+
* AND WHY THE DRAW IS NOT SYNCHRONOUS. `gtk_widget_queue_draw` marks the window dirty
|
|
79
|
+
* and the frame clock draws it LATER, so an application that queues per tick animates
|
|
80
|
+
* instead of recursing; a 2D-style synchronous draw would make the same application a
|
|
81
|
+
* stack overflow. An animation frame is the browser's frame clock, and coalescing
|
|
82
|
+
* through one keeps "ask for a frame" a scheduler.
|
|
83
|
+
*
|
|
84
|
+
* NOTE WHAT THE FLAG DOES NOT SURVIVE: `needs_render` is cleared AFTER the `::render`
|
|
85
|
+
* emit (:811), so a `queue_render()` from inside the handler has its flag overwritten
|
|
86
|
+
* and only the queued frame remains. That is the C's own behaviour, and it is why an
|
|
87
|
+
* animation asks from a tick callback rather than from the handler.
|
|
88
|
+
*/
|
|
89
|
+
queueRender(): void;
|
|
90
|
+
connectedCallback(): void;
|
|
91
|
+
disconnectedCallback(): void;
|
|
92
|
+
/** `gtk_widget_queue_draw`: one frame, however many requests arrived before it. */
|
|
93
|
+
private _queueDraw;
|
|
94
|
+
attributeChangedCallback(name: string): void;
|
|
95
|
+
/** The `notify::` detail for `name`: the PROPERTY, parsed, not the raw attribute. */
|
|
96
|
+
private _notify;
|
|
97
|
+
private _observe;
|
|
98
|
+
/**
|
|
99
|
+
* The snapshot, in the C's order (gtkglarea.c:757-812). One pass, four early exits,
|
|
100
|
+
* and the two flags cleared only after the signals — see the header.
|
|
101
|
+
*/
|
|
102
|
+
private _draw;
|
|
103
|
+
/**
|
|
104
|
+
* `gtk_gl_area_attach_buffers` (:583-618): the depth/stencil renderbuffer is created
|
|
105
|
+
* when either buffer is asked for and deleted when neither is — and `have_buffers`
|
|
106
|
+
* says which, so a redraw after one of the two setters is the frame that allocates
|
|
107
|
+
* it (:408-417). WebGL's equivalent is the depth and stencil TESTS plus the
|
|
108
|
+
* `depth`/`stencil` context attributes the element created the context with: a context
|
|
109
|
+
* cannot gain a buffer afterwards, which is why `_createContext` reads both properties
|
|
110
|
+
* before asking, and why the flag is what decides the tests are re-applied.
|
|
111
|
+
*/
|
|
112
|
+
attachBuffers(context?: GlContext | null): void;
|
|
113
|
+
/**
|
|
114
|
+
* `::create-context` (:1086-1109) lets a handler supply the context, and GTK's handler
|
|
115
|
+
* RETURNS one. A browser event has no return channel, so the detail object is the
|
|
116
|
+
* channel: a handler that sets `detail.context` wins, and the element asks the
|
|
117
|
+
* browser only when nobody did.
|
|
118
|
+
*/
|
|
119
|
+
private _createContext;
|
|
120
|
+
/**
|
|
121
|
+
* `gtk_gl_area_draw_error_screen` (:701-723): the message over the whole widget, at
|
|
122
|
+
* its own font, vertically centred. The canvas stays where it is — GTK's error screen
|
|
123
|
+
* replaces what a frame would have drawn, not the widget's own node — and the message
|
|
124
|
+
* node is removed again when the error clears, which is the redraw the C's setter
|
|
125
|
+
* queues (:1552-1556).
|
|
126
|
+
*/
|
|
127
|
+
private _renderMessage;
|
|
128
|
+
/** The device-pixel viewport, for a spec that checks `::resize`. */
|
|
129
|
+
get viewport(): {
|
|
130
|
+
width: number;
|
|
131
|
+
height: number;
|
|
132
|
+
};
|
|
133
|
+
/** The scale factor the viewport is multiplied by (gtkglarea.c:761-763). */
|
|
134
|
+
get pixelScale(): number;
|
|
135
|
+
}
|
|
136
|
+
export {};
|