@gjsify/adwaita-web 0.54.0 → 0.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adwaita-web.css +8066 -3033
- package/dist/adwaita-web.css.map +1 -1
- package/lib/types/adw-application-window.spec.d.ts +1 -0
- package/lib/types/adw-bin.spec.d.ts +1 -0
- package/lib/types/adw-breakpoint-bin.spec.d.ts +1 -0
- package/lib/types/adw-clamp-scrollable.spec.d.ts +1 -0
- package/lib/types/adw-multi-layout-view.spec.d.ts +1 -0
- package/lib/types/adw-preferences-row.spec.d.ts +1 -0
- package/lib/types/adw-shortcuts.spec.d.ts +1 -0
- package/lib/types/adw-tab-bar.spec.d.ts +1 -0
- package/lib/types/adw-tab-button.spec.d.ts +1 -0
- package/lib/types/adw-tab-overview.spec.d.ts +1 -0
- package/lib/types/adw-view-switcher-sidebar.spec.d.ts +1 -0
- package/lib/types/adw-window.spec.d.ts +1 -0
- package/lib/types/breakpoints.d.ts +14 -3
- package/lib/types/construct-vectors.spec.d.ts +1 -0
- package/lib/types/elements/adw-application-window.d.ts +27 -0
- package/lib/types/elements/adw-bin.d.ts +17 -0
- package/lib/types/elements/adw-breakpoint-bin.d.ts +67 -0
- package/lib/types/elements/adw-clamp-scrollable.d.ts +38 -0
- package/lib/types/elements/adw-dialog.d.ts +10 -0
- package/lib/types/elements/adw-layout-slot.d.ts +19 -0
- package/lib/types/elements/adw-multi-layout-view.d.ts +101 -0
- package/lib/types/elements/adw-preferences-row.d.ts +31 -0
- package/lib/types/elements/adw-shortcuts-dialog.d.ts +13 -0
- package/lib/types/elements/adw-shortcuts-item.d.ts +36 -0
- package/lib/types/elements/adw-shortcuts-section.d.ts +14 -0
- package/lib/types/elements/adw-sidebar.d.ts +5 -0
- package/lib/types/elements/adw-switch-row.d.ts +3 -0
- package/lib/types/elements/adw-tab-bar.d.ts +108 -0
- package/lib/types/elements/adw-tab-button.d.ts +32 -0
- package/lib/types/elements/adw-tab-overview.d.ts +199 -0
- package/lib/types/elements/adw-tab-view.d.ts +19 -23
- package/lib/types/elements/adw-view-switcher-sidebar.d.ts +84 -0
- package/lib/types/elements/adw-window.d.ts +40 -0
- package/lib/types/elements/gtk-about-dialog.d.ts +146 -0
- package/lib/types/elements/gtk-application-window.d.ts +34 -0
- package/lib/types/elements/gtk-aspect-frame.d.ts +27 -0
- package/lib/types/elements/gtk-button.d.ts +9 -0
- package/lib/types/elements/gtk-calendar.d.ts +159 -0
- package/lib/types/elements/gtk-center-box.d.ts +39 -0
- package/lib/types/elements/gtk-color-dialog-button.d.ts +69 -0
- package/lib/types/elements/gtk-column-view.d.ts +50 -0
- package/lib/types/elements/gtk-drag-icon.d.ts +78 -0
- package/lib/types/elements/gtk-drawing-area.d.ts +95 -0
- package/lib/types/elements/gtk-editable-label.d.ts +33 -0
- package/lib/types/elements/gtk-emoji-chooser.d.ts +84 -0
- package/lib/types/elements/gtk-entry.d.ts +20 -1
- package/lib/types/elements/gtk-expander.d.ts +49 -0
- package/lib/types/elements/gtk-fixed.d.ts +13 -0
- package/lib/types/elements/gtk-flow-box-child.d.ts +14 -0
- package/lib/types/elements/gtk-flow-box.d.ts +87 -0
- package/lib/types/elements/gtk-font-dialog-button.d.ts +83 -0
- package/lib/types/elements/gtk-frame.d.ts +24 -0
- package/lib/types/elements/gtk-gl-area.d.ts +136 -0
- package/lib/types/elements/gtk-graphics-offload.d.ts +24 -0
- package/lib/types/elements/gtk-grid-view.d.ts +39 -0
- package/lib/types/elements/gtk-grid.d.ts +27 -0
- package/lib/types/elements/gtk-header-bar.d.ts +60 -0
- package/lib/types/elements/gtk-inscription.d.ts +64 -0
- package/lib/types/elements/gtk-label.d.ts +3 -0
- package/lib/types/elements/gtk-level-bar.d.ts +59 -0
- package/lib/types/elements/gtk-link-button.d.ts +29 -0
- package/lib/types/elements/gtk-list-box-row.d.ts +54 -0
- package/lib/types/elements/gtk-list-box.d.ts +100 -0
- package/lib/types/elements/gtk-list-view.d.ts +73 -0
- package/lib/types/elements/gtk-media-controls.d.ts +142 -0
- package/lib/types/elements/gtk-notebook.d.ts +148 -0
- package/lib/types/elements/gtk-overlay.d.ts +22 -0
- package/lib/types/elements/gtk-page-setup-unix-dialog.d.ts +87 -0
- package/lib/types/elements/gtk-paned.d.ts +121 -0
- package/lib/types/elements/gtk-password-entry.d.ts +27 -0
- package/lib/types/elements/gtk-picture.d.ts +66 -0
- package/lib/types/elements/gtk-popover-bin.d.ts +82 -0
- package/lib/types/elements/gtk-popover-menu-bar.d.ts +66 -0
- package/lib/types/elements/gtk-popover-menu.d.ts +83 -0
- package/lib/types/elements/gtk-popover.d.ts +28 -3
- package/lib/types/elements/gtk-print-unix-dialog.d.ts +167 -0
- package/lib/types/elements/gtk-revealer.d.ts +55 -0
- package/lib/types/elements/gtk-scale-button.d.ts +59 -0
- package/lib/types/elements/gtk-scale.d.ts +98 -0
- package/lib/types/elements/gtk-scrollbar.d.ts +124 -0
- package/lib/types/elements/gtk-scrolled-window.d.ts +121 -0
- package/lib/types/elements/gtk-search-bar.d.ts +39 -0
- package/lib/types/elements/gtk-search-entry.d.ts +27 -0
- package/lib/types/elements/gtk-separator.d.ts +10 -0
- package/lib/types/elements/gtk-spin-button.d.ts +94 -0
- package/lib/types/elements/gtk-spinner.d.ts +14 -0
- package/lib/types/elements/gtk-stack-sidebar.d.ts +43 -0
- package/lib/types/elements/gtk-stack-switcher.d.ts +58 -0
- package/lib/types/elements/gtk-stack.d.ts +154 -0
- package/lib/types/elements/gtk-switch.d.ts +4 -1
- package/lib/types/elements/gtk-text-view.d.ts +62 -0
- package/lib/types/elements/gtk-text.d.ts +45 -0
- package/lib/types/elements/gtk-toggle-button.d.ts +45 -0
- package/lib/types/elements/gtk-tree-expander.d.ts +38 -0
- package/lib/types/elements/gtk-video.d.ts +97 -0
- package/lib/types/elements/gtk-viewport.d.ts +84 -0
- package/lib/types/elements/gtk-window-controls.d.ts +80 -0
- package/lib/types/elements/gtk-window-handle.d.ts +39 -0
- package/lib/types/elements/gtk-window.d.ts +97 -0
- package/lib/types/elements/justification.d.ts +2 -0
- package/lib/types/elements/popover-menu.d.ts +18 -0
- package/lib/types/elements/roving-focus.d.ts +29 -1
- package/lib/types/emoji-data.d.ts +38 -0
- package/lib/types/font-description.d.ts +96 -0
- package/lib/types/gtk-about-dialog.spec.d.ts +1 -0
- package/lib/types/gtk-action-bar.spec.d.ts +1 -0
- package/lib/types/gtk-application-window.spec.d.ts +1 -0
- package/lib/types/gtk-aspect-frame.spec.d.ts +1 -0
- package/lib/types/gtk-calendar.spec.d.ts +1 -0
- package/lib/types/gtk-center-box.spec.d.ts +1 -0
- package/lib/types/gtk-color-dialog-button.spec.d.ts +1 -0
- package/lib/types/gtk-column-view.spec.d.ts +1 -0
- package/lib/types/gtk-drag-icon.spec.d.ts +1 -0
- package/lib/types/gtk-drawing-area.spec.d.ts +1 -0
- package/lib/types/gtk-editable-label.spec.d.ts +1 -0
- package/lib/types/gtk-emoji-chooser.spec.d.ts +1 -0
- package/lib/types/gtk-expander.spec.d.ts +1 -0
- package/lib/types/gtk-fixed.spec.d.ts +1 -0
- package/lib/types/gtk-flow-box.spec.d.ts +1 -0
- package/lib/types/gtk-font-dialog-button.spec.d.ts +1 -0
- package/lib/types/gtk-frame.spec.d.ts +1 -0
- package/lib/types/gtk-gl-area.spec.d.ts +1 -0
- package/lib/types/gtk-graphics-offload.spec.d.ts +1 -0
- package/lib/types/gtk-grid-view.spec.d.ts +1 -0
- package/lib/types/gtk-grid.spec.d.ts +1 -0
- package/lib/types/gtk-header-bar.spec.d.ts +1 -0
- package/lib/types/gtk-inscription.spec.d.ts +1 -0
- package/lib/types/gtk-level-bar.spec.d.ts +1 -0
- package/lib/types/gtk-link-button.spec.d.ts +1 -0
- package/lib/types/gtk-list-box.spec.d.ts +1 -0
- package/lib/types/gtk-list-view.spec.d.ts +1 -0
- package/lib/types/gtk-media-controls.spec.d.ts +1 -0
- package/lib/types/gtk-notebook.spec.d.ts +1 -0
- package/lib/types/gtk-overlay.spec.d.ts +1 -0
- package/lib/types/gtk-paned.spec.d.ts +1 -0
- package/lib/types/gtk-password-entry.spec.d.ts +1 -0
- package/lib/types/gtk-picture.spec.d.ts +1 -0
- package/lib/types/gtk-popover-bin.spec.d.ts +1 -0
- package/lib/types/gtk-popover-menu-bar.spec.d.ts +1 -0
- package/lib/types/gtk-popover-menu.spec.d.ts +1 -0
- package/lib/types/gtk-popover-role.spec.d.ts +1 -0
- package/lib/types/gtk-popover.spec.d.ts +1 -0
- package/lib/types/gtk-print-dialogs.spec.d.ts +1 -0
- package/lib/types/gtk-revealer.spec.d.ts +1 -0
- package/lib/types/gtk-scale-button.spec.d.ts +1 -0
- package/lib/types/gtk-scale.spec.d.ts +1 -0
- package/lib/types/gtk-scrollbar.spec.d.ts +1 -0
- package/lib/types/gtk-scrolled-window.spec.d.ts +1 -0
- package/lib/types/gtk-search-bar.spec.d.ts +1 -0
- package/lib/types/gtk-search-entry.spec.d.ts +1 -0
- package/lib/types/gtk-separator.spec.d.ts +1 -0
- package/lib/types/gtk-spin-button.spec.d.ts +1 -0
- package/lib/types/gtk-spinner.spec.d.ts +1 -0
- package/lib/types/gtk-stack-sidebar.spec.d.ts +1 -0
- package/lib/types/gtk-stack-switcher.spec.d.ts +1 -0
- package/lib/types/gtk-stack.spec.d.ts +1 -0
- package/lib/types/gtk-text-view.spec.d.ts +1 -0
- package/lib/types/gtk-text.spec.d.ts +1 -0
- package/lib/types/gtk-toggle-button.spec.d.ts +1 -0
- package/lib/types/gtk-tree-expander.spec.d.ts +1 -0
- package/lib/types/gtk-video.spec.d.ts +1 -0
- package/lib/types/gtk-viewport.spec.d.ts +1 -0
- package/lib/types/gtk-window-controls.spec.d.ts +1 -0
- package/lib/types/gtk-window-handle.spec.d.ts +1 -0
- package/lib/types/gtk-window.spec.d.ts +1 -0
- package/lib/types/index.d.ts +4 -1
- package/lib/types/list-view-dom.d.ts +44 -0
- package/lib/types/namespace/adw.d.ts +12 -0
- package/lib/types/namespace/gtk.d.ts +61 -0
- package/lib/types/page-setup.d.ts +100 -0
- package/lib/types/scroll-shading.d.ts +15 -1
- package/lib/types/shared-tree-builder.d.ts +30 -2
- package/lib/types/signals.d.ts +4 -0
- package/lib/types/styles.generated.d.ts +1 -1
- package/lib/types/tab-chip.d.ts +73 -0
- package/lib/types/template-classes.d.ts +11 -0
- package/package.json +12 -8
- package/scss/_action_row.scss +2 -2
- package/scss/_application_window.scss +26 -0
- package/scss/_aspect_frame.scss +25 -0
- package/scss/_bin.scss +26 -0
- package/scss/_button.scss +45 -0
- package/scss/_calendar.scss +176 -0
- package/scss/_center_box.scss +25 -0
- package/scss/_checks.scss +6 -1
- package/scss/_clamp_scrollable.scss +28 -0
- package/scss/_color_button.scss +67 -0
- package/scss/_column_view.scss +126 -0
- package/scss/_drag_icon.scss +55 -0
- package/scss/_drawing.scss +85 -0
- package/scss/_emoji_chooser.scss +213 -0
- package/scss/_entry.scss +13 -5
- package/scss/_entry_row.scss +1 -1
- package/scss/_expander.scss +113 -0
- package/scss/_fixed.scss +29 -0
- package/scss/_flow_box.scss +94 -0
- package/scss/_font_button.scss +63 -0
- package/scss/_frame.scss +41 -0
- package/scss/_grid.scss +19 -0
- package/scss/_grid_view.scss +46 -0
- package/scss/_gtk_about_dialog.scss +186 -0
- package/scss/_headerbar.scss +132 -0
- package/scss/_icons.generated.scss +186 -0
- package/scss/_inscription.scss +125 -0
- package/scss/_level_bar.scss +190 -0
- package/scss/_link.scss +82 -0
- package/scss/_list_box.scss +88 -0
- package/scss/_list_view.scss +96 -0
- package/scss/_media_controls.scss +139 -0
- package/scss/_overlay.scss +68 -0
- package/scss/_paned.scss +130 -0
- package/scss/_password_entry.scss +83 -0
- package/scss/_picture.scss +80 -0
- package/scss/_popover_bin.scss +53 -0
- package/scss/_popover_menu_bar.scss +104 -0
- package/scss/_preferences_row.scss +51 -0
- package/scss/_print_dialogs.scss +328 -0
- package/scss/_reset.scss +21 -19
- package/scss/_revealer.scss +37 -0
- package/scss/_row.scss +20 -5
- package/scss/_scale.scss +298 -0
- package/scss/_scale_button.scss +167 -0
- package/scss/_scrollbar.scss +230 -0
- package/scss/_scrolled_window.scss +131 -0
- package/scss/_search_bar.scss +118 -0
- package/scss/_search_entry.scss +86 -0
- package/scss/_separator.scss +44 -0
- package/scss/_shortcuts_dialog.scss +100 -0
- package/scss/_spin_button.scss +172 -0
- package/scss/_spin_row.scss +56 -8
- package/scss/_spinner.scss +85 -4
- package/scss/_stack.scss +729 -0
- package/scss/_switch.scss +13 -5
- package/scss/_switch_row.scss +10 -0
- package/scss/_tab_bar.scss +317 -0
- package/scss/_tab_button.scss +98 -0
- package/scss/_tab_overview.scss +483 -0
- package/scss/_text.scss +182 -0
- package/scss/_theme.scss +1 -1
- package/scss/_tree_expander.scss +62 -0
- package/scss/_variables.scss +1 -1
- package/scss/_video.scss +146 -0
- package/scss/_view_switcher_sidebar.scss +112 -0
- package/scss/_viewport.scss +50 -0
- package/scss/_window.scss +118 -1
- package/scss/_window_handle.scss +20 -0
- package/scss/adwaita-skin.scss +109 -0
- package/src/adw-action-rows.spec.ts +76 -0
- package/src/adw-application-window.spec.ts +118 -0
- package/src/adw-bin.spec.ts +75 -0
- package/src/adw-breakpoint-bin.spec.ts +324 -0
- package/src/adw-clamp-scrollable.spec.ts +189 -0
- package/src/adw-multi-layout-view.spec.ts +243 -0
- package/src/adw-preferences-row.spec.ts +164 -0
- package/src/adw-row-state.spec.ts +142 -0
- package/src/adw-shortcuts.spec.ts +155 -0
- package/src/adw-tab-bar.spec.ts +287 -0
- package/src/adw-tab-button.spec.ts +101 -0
- package/src/adw-tab-overview.spec.ts +443 -0
- package/src/adw-view-switcher-sidebar.spec.ts +281 -0
- package/src/adw-window.spec.ts +129 -0
- package/src/breakpoints.ts +25 -8
- package/src/capabilities.d.mts +3 -0
- package/src/capabilities.mjs +18 -0
- package/src/connect-lifecycle.spec.ts +12 -0
- package/src/construct-vectors.spec.ts +175 -0
- package/src/elements/adw-application-window.ts +154 -0
- package/src/elements/adw-bin.ts +101 -0
- package/src/elements/adw-breakpoint-bin.ts +287 -0
- package/src/elements/adw-clamp-scrollable.ts +207 -0
- package/src/elements/adw-dialog.ts +19 -0
- package/src/elements/adw-layout-slot.ts +95 -0
- package/src/elements/adw-multi-layout-view.ts +326 -0
- package/src/elements/adw-preferences-row.ts +150 -0
- package/src/elements/adw-shortcuts-dialog.ts +52 -0
- package/src/elements/adw-shortcuts-item.ts +171 -0
- package/src/elements/adw-shortcuts-section.ts +86 -0
- package/src/elements/adw-sidebar.ts +42 -3
- package/src/elements/adw-switch-row.ts +28 -1
- package/src/elements/adw-tab-bar.ts +529 -0
- package/src/elements/adw-tab-button.ts +194 -0
- package/src/elements/adw-tab-overview.ts +1011 -0
- package/src/elements/adw-tab-view.ts +66 -145
- package/src/elements/adw-toggle-group.ts +20 -5
- package/src/elements/adw-view-stack.ts +18 -0
- package/src/elements/adw-view-switcher-sidebar.ts +332 -0
- package/src/elements/adw-window.ts +185 -11
- package/src/elements/checks.ts +35 -8
- package/src/elements/gtk-about-dialog.ts +811 -0
- package/src/elements/gtk-application-window.ts +108 -0
- package/src/elements/gtk-aspect-frame.ts +160 -0
- package/src/elements/gtk-button.ts +12 -0
- package/src/elements/gtk-calendar.ts +757 -0
- package/src/elements/gtk-center-box.ts +184 -0
- package/src/elements/gtk-color-dialog-button.ts +278 -0
- package/src/elements/gtk-column-view.ts +320 -0
- package/src/elements/gtk-drag-icon.ts +257 -0
- package/src/elements/gtk-drawing-area.ts +303 -0
- package/src/elements/gtk-editable-label.ts +204 -0
- package/src/elements/gtk-emoji-chooser.ts +542 -0
- package/src/elements/gtk-entry.ts +39 -5
- package/src/elements/gtk-expander.ts +301 -0
- package/src/elements/gtk-fixed.ts +99 -0
- package/src/elements/gtk-flow-box-child.ts +68 -0
- package/src/elements/gtk-flow-box.ts +480 -0
- package/src/elements/gtk-font-dialog-button.ts +432 -0
- package/src/elements/gtk-frame.ts +174 -0
- package/src/elements/gtk-gl-area.ts +476 -0
- package/src/elements/gtk-graphics-offload.ts +130 -0
- package/src/elements/gtk-grid-view.ts +168 -0
- package/src/elements/gtk-grid.ts +127 -0
- package/src/elements/gtk-header-bar.ts +273 -0
- package/src/elements/gtk-inscription.ts +387 -0
- package/src/elements/gtk-label.ts +19 -11
- package/src/elements/gtk-level-bar.ts +323 -0
- package/src/elements/gtk-link-button.ts +138 -0
- package/src/elements/gtk-list-box-row.ts +195 -0
- package/src/elements/gtk-list-box.ts +413 -0
- package/src/elements/gtk-list-view.ts +370 -0
- package/src/elements/gtk-media-controls.ts +509 -0
- package/src/elements/gtk-notebook.ts +664 -0
- package/src/elements/gtk-overlay.ts +149 -0
- package/src/elements/gtk-page-setup-unix-dialog.ts +420 -0
- package/src/elements/gtk-paned.ts +597 -0
- package/src/elements/gtk-password-entry.ts +170 -0
- package/src/elements/gtk-picture.ts +254 -0
- package/src/elements/gtk-popover-bin.ts +332 -0
- package/src/elements/gtk-popover-menu-bar.ts +355 -0
- package/src/elements/gtk-popover-menu.ts +339 -0
- package/src/elements/gtk-popover.ts +92 -10
- package/src/elements/gtk-print-unix-dialog.ts +989 -0
- package/src/elements/gtk-progress-bar.ts +24 -11
- package/src/elements/gtk-revealer.ts +406 -0
- package/src/elements/gtk-scale-button.ts +358 -0
- package/src/elements/gtk-scale.ts +492 -0
- package/src/elements/gtk-scrollbar.ts +528 -0
- package/src/elements/gtk-scrolled-window.ts +642 -0
- package/src/elements/gtk-search-bar.ts +200 -0
- package/src/elements/gtk-search-entry.ts +172 -0
- package/src/elements/gtk-separator.ts +52 -0
- package/src/elements/gtk-spin-button.ts +475 -0
- package/src/elements/gtk-spinner.ts +126 -0
- package/src/elements/gtk-stack-sidebar.ts +212 -0
- package/src/elements/gtk-stack-switcher.ts +279 -0
- package/src/elements/gtk-stack.ts +748 -0
- package/src/elements/gtk-switch.ts +52 -19
- package/src/elements/gtk-text-view.ts +290 -0
- package/src/elements/gtk-text.ts +219 -0
- package/src/elements/gtk-toggle-button.ts +239 -0
- package/src/elements/gtk-tree-expander.ts +243 -0
- package/src/elements/gtk-video.ts +423 -0
- package/src/elements/gtk-viewport.ts +277 -0
- package/src/elements/gtk-window-controls.ts +341 -0
- package/src/elements/gtk-window-handle.ts +221 -0
- package/src/elements/gtk-window.ts +366 -0
- package/src/elements/justification.ts +24 -0
- package/src/elements/popover-menu.ts +24 -0
- package/src/elements/roving-focus.ts +53 -21
- package/src/emoji-data.ts +577 -0
- package/src/entry-rows.spec.ts +31 -0
- package/src/font-description.ts +238 -0
- package/src/gtk-about-dialog.spec.ts +250 -0
- package/src/gtk-action-bar.spec.ts +89 -0
- package/src/gtk-application-window.spec.ts +107 -0
- package/src/gtk-aspect-frame.spec.ts +114 -0
- package/src/gtk-calendar.spec.ts +589 -0
- package/src/gtk-center-box.spec.ts +125 -0
- package/src/gtk-color-dialog-button.spec.ts +141 -0
- package/src/gtk-column-view.spec.ts +154 -0
- package/src/gtk-drag-icon.spec.ts +190 -0
- package/src/gtk-drawing-area.spec.ts +211 -0
- package/src/gtk-editable-label.spec.ts +190 -0
- package/src/gtk-emoji-chooser.spec.ts +173 -0
- package/src/gtk-entry.spec.ts +23 -0
- package/src/gtk-expander.spec.ts +170 -0
- package/src/gtk-fixed.spec.ts +97 -0
- package/src/gtk-flow-box.spec.ts +289 -0
- package/src/gtk-font-dialog-button.spec.ts +166 -0
- package/src/gtk-frame.spec.ts +119 -0
- package/src/gtk-gl-area.spec.ts +361 -0
- package/src/gtk-graphics-offload.spec.ts +119 -0
- package/src/gtk-grid-view.spec.ts +106 -0
- package/src/gtk-grid.spec.ts +122 -0
- package/src/gtk-header-bar.spec.ts +202 -0
- package/src/gtk-inscription.spec.ts +235 -0
- package/src/gtk-level-bar.spec.ts +199 -0
- package/src/gtk-link-button.spec.ts +117 -0
- package/src/gtk-list-box.spec.ts +422 -0
- package/src/gtk-list-view.spec.ts +203 -0
- package/src/gtk-media-controls.spec.ts +295 -0
- package/src/gtk-notebook.spec.ts +546 -0
- package/src/gtk-overlay.spec.ts +141 -0
- package/src/gtk-paned.spec.ts +267 -0
- package/src/gtk-password-entry.spec.ts +150 -0
- package/src/gtk-picture.spec.ts +172 -0
- package/src/gtk-popover-bin.spec.ts +229 -0
- package/src/gtk-popover-menu-bar.spec.ts +296 -0
- package/src/gtk-popover-menu.spec.ts +261 -0
- package/src/gtk-popover-role.spec.ts +138 -0
- package/src/gtk-popover.spec.ts +264 -0
- package/src/gtk-print-dialogs.spec.ts +251 -0
- package/src/gtk-revealer.spec.ts +164 -0
- package/src/gtk-scale-button.spec.ts +218 -0
- package/src/gtk-scale.spec.ts +213 -0
- package/src/gtk-scrollbar.spec.ts +244 -0
- package/src/gtk-scrolled-window.spec.ts +262 -0
- package/src/gtk-search-bar.spec.ts +179 -0
- package/src/gtk-search-entry.spec.ts +142 -0
- package/src/gtk-separator.spec.ts +74 -0
- package/src/gtk-spin-button.spec.ts +186 -0
- package/src/gtk-spinner.spec.ts +130 -0
- package/src/gtk-stack-sidebar.spec.ts +217 -0
- package/src/gtk-stack-switcher.spec.ts +249 -0
- package/src/gtk-stack.spec.ts +432 -0
- package/src/gtk-text-view.spec.ts +189 -0
- package/src/gtk-text.spec.ts +163 -0
- package/src/gtk-toggle-button.spec.ts +186 -0
- package/src/gtk-tree-expander.spec.ts +201 -0
- package/src/gtk-video.spec.ts +240 -0
- package/src/gtk-viewport.spec.ts +140 -0
- package/src/gtk-window-controls.spec.ts +232 -0
- package/src/gtk-window-handle.spec.ts +158 -0
- package/src/gtk-window.spec.ts +190 -0
- package/src/index.ts +9 -1
- package/src/keyboard-operable.spec.ts +33 -1
- package/src/list-view-dom.ts +121 -0
- package/src/namespace/adw.ts +12 -0
- package/src/namespace/gtk.ts +61 -0
- package/src/page-setup.ts +222 -0
- package/src/scroll-shading.ts +18 -1
- package/src/shared-tree-builder.ts +263 -21
- package/src/signals.ts +15 -0
- package/src/style-classes.spec.ts +9 -8
- package/src/styles.generated.ts +1 -1
- package/src/tab-chip.ts +200 -0
- package/src/template-classes.ts +45 -0
- package/src/test.browser.mts +152 -0
|
@@ -0,0 +1,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 {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** `GtkGraphicsOffloadEnabled`, spelled as the GIR's enum nicks. */
|
|
2
|
+
type OffloadEnabled = 'enabled' | 'disabled';
|
|
3
|
+
export declare class GtkGraphicsOffload extends HTMLElement {
|
|
4
|
+
private _childEl;
|
|
5
|
+
private _initialized;
|
|
6
|
+
static get observedAttributes(): string[];
|
|
7
|
+
/** `Gtk.GraphicsOffload:child` — the child widget, as the light-DOM node adopted. */
|
|
8
|
+
get child(): Element | null;
|
|
9
|
+
/**
|
|
10
|
+
* `Gtk.GraphicsOffload:enabled` — whether the widget ATTEMPTS to offload its child's
|
|
11
|
+
* contents. Defaults to `GTK_GRAPHICS_OFFLOAD_ENABLED` (`:267-273`).
|
|
12
|
+
*/
|
|
13
|
+
get enabled(): OffloadEnabled;
|
|
14
|
+
set enabled(v: OffloadEnabled);
|
|
15
|
+
/** `Gtk.GraphicsOffload:black-background` — the black rect painted before the child. */
|
|
16
|
+
get blackBackground(): boolean;
|
|
17
|
+
set blackBackground(v: boolean);
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
attributeChangedCallback(name: string): void;
|
|
20
|
+
/** `sync_subsurface` (:176-191): the subsurface exists while the widget is realized and offload is not disabled. */
|
|
21
|
+
private _render;
|
|
22
|
+
private _notify;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { GtkListView } from './gtk-list-view.js';
|
|
2
|
+
export declare class GtkGridView extends GtkListView {
|
|
3
|
+
private _observer;
|
|
4
|
+
static get observedAttributes(): string[];
|
|
5
|
+
/** `GtkGridView:min-columns` — at least one, as the ParamSpec's range says. */
|
|
6
|
+
get minColumns(): number;
|
|
7
|
+
set minColumns(value: number);
|
|
8
|
+
/** `GtkGridView:max-columns` — `DEFAULT_MAX_COLUMNS` is 7 (gtkgridview.c:42). */
|
|
9
|
+
get maxColumns(): number;
|
|
10
|
+
set maxColumns(value: number);
|
|
11
|
+
connectedCallback(): void;
|
|
12
|
+
disconnectedCallback(): void;
|
|
13
|
+
attributeChangedCallback(name?: string): void;
|
|
14
|
+
protected get _viewClass(): string;
|
|
15
|
+
protected get _rowClass(): string;
|
|
16
|
+
protected _renderRows(): void;
|
|
17
|
+
/** An attribute that is not a positive integer is the property's default, not NaN. */
|
|
18
|
+
private _columnBound;
|
|
19
|
+
/**
|
|
20
|
+
* Measure, count, and write the tracks.
|
|
21
|
+
*
|
|
22
|
+
* THE ITEM SIZE IS THE CELL'S `min-width`, NOT ITS RENDERED WIDTH, and the difference
|
|
23
|
+
* is the whole reason this is three lines rather than one. The tracks are written as
|
|
24
|
+
* `1fr`, so a rendered cell is as wide as the count made it: feeding that back in
|
|
25
|
+
* would measure the answer and converge on whatever the first frame happened to do.
|
|
26
|
+
* `min-width` is a fact about the CONTENT instead, declared by the stylesheet and
|
|
27
|
+
* overridable per cell — and it is the branch GTK itself takes under
|
|
28
|
+
* `GTK_SCROLL_MINIMUM` (gtkgridview.c:628-630). The natural-size branch needs a
|
|
29
|
+
* measurement a browser can only take by first undoing the layout the answer feeds.
|
|
30
|
+
*
|
|
31
|
+
* The gap is read the same way, off the container's own `column-gap`, so the two
|
|
32
|
+
* numbers the arithmetic takes come from ONE place — the stylesheet — and an author
|
|
33
|
+
* who widens the gap does not get a column count computed against the old one.
|
|
34
|
+
*
|
|
35
|
+
* An empty view keeps the tracks it had: there is nothing to measure, and no cell for
|
|
36
|
+
* the answer to be wrong about.
|
|
37
|
+
*/
|
|
38
|
+
private _applyColumns;
|
|
39
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type BoxOrientation } from '@gjsify/adwaita-core';
|
|
2
|
+
export declare class GtkGrid extends HTMLElement {
|
|
3
|
+
static get observedAttributes(): string[];
|
|
4
|
+
/** `Gtk.Grid:column-spacing` — the gap between two consecutive columns. Defaults to 0. */
|
|
5
|
+
get columnSpacing(): number;
|
|
6
|
+
set columnSpacing(value: number);
|
|
7
|
+
/** `Gtk.Grid:row-spacing` — the gap between two consecutive rows. Defaults to 0. */
|
|
8
|
+
get rowSpacing(): number;
|
|
9
|
+
set rowSpacing(value: number);
|
|
10
|
+
/** `Gtk.Grid:column-homogeneous` — whether every column gets the same width. */
|
|
11
|
+
get columnHomogeneous(): boolean;
|
|
12
|
+
set columnHomogeneous(value: boolean);
|
|
13
|
+
/** `Gtk.Grid:row-homogeneous` — whether every row gets the same height. */
|
|
14
|
+
get rowHomogeneous(): boolean;
|
|
15
|
+
set rowHomogeneous(value: boolean);
|
|
16
|
+
/**
|
|
17
|
+
* `GtkOrientable:orientation` — the axis a child with no position of its own is
|
|
18
|
+
* attached along. `horizontal` (the default) appends each one to ROW 0 at the next
|
|
19
|
+
* free column, `vertical` to COLUMN 0 at the next free row.
|
|
20
|
+
*/
|
|
21
|
+
get orientation(): BoxOrientation;
|
|
22
|
+
set orientation(value: BoxOrientation);
|
|
23
|
+
connectedCallback(): void;
|
|
24
|
+
attributeChangedCallback(name: string, old: string | null, value: string | null): void;
|
|
25
|
+
private _normalized;
|
|
26
|
+
private _sync;
|
|
27
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import './gtk-window-controls.js';
|
|
2
|
+
export declare class GtkHeaderBar extends HTMLElement {
|
|
3
|
+
private _initialized;
|
|
4
|
+
private _handle;
|
|
5
|
+
private _box;
|
|
6
|
+
private _startBox;
|
|
7
|
+
private _endBox;
|
|
8
|
+
/** The two `GtkWindowControls`, present only while `show-title-buttons` is true (:798-826). */
|
|
9
|
+
private _startControls;
|
|
10
|
+
private _endControls;
|
|
11
|
+
/** The derived `GtkLabel`, or `null` while a `title-widget` holds the centre. */
|
|
12
|
+
private _titleLabel;
|
|
13
|
+
/** The child that took the centre — read back out of `_box`, never stored as truth. */
|
|
14
|
+
private _centre;
|
|
15
|
+
private _centreObserver;
|
|
16
|
+
static get observedAttributes(): string[];
|
|
17
|
+
/** `Gtk.HeaderBar:decoration-layout` — bound to both controls (:231-236, :240-245). */
|
|
18
|
+
get decorationLayout(): string | null;
|
|
19
|
+
set decorationLayout(value: string | null);
|
|
20
|
+
/** `Gtk.HeaderBar:show-title-buttons` — whether the standard frame controls are built. */
|
|
21
|
+
get showTitleButtons(): boolean;
|
|
22
|
+
set showTitleButtons(value: boolean);
|
|
23
|
+
/** `Gtk.HeaderBar:title-widget`, read as the element that holds the centre — or `null`. */
|
|
24
|
+
get titleWidget(): HTMLElement | null;
|
|
25
|
+
/** `setAttribute` for a write that changes nothing; every GObject setter here returns early. */
|
|
26
|
+
private _write;
|
|
27
|
+
connectedCallback(): void;
|
|
28
|
+
disconnectedCallback(): void;
|
|
29
|
+
attributeChangedCallback(name: string): void;
|
|
30
|
+
private _property;
|
|
31
|
+
/**
|
|
32
|
+
* `create_window_controls` and its inverse, `gtk_header_bar_set_show_title_buttons`
|
|
33
|
+
* (gtkheaderbar.c:198-249, :798-826): the start controls are PREPENDED into the start
|
|
34
|
+
* box, the end controls APPENDED into the end box, and setting the property false
|
|
35
|
+
* REMOVES both — which is why a bar with the property off has no controls at all rather
|
|
36
|
+
* than hidden ones.
|
|
37
|
+
*/
|
|
38
|
+
private _renderTitleButtons;
|
|
39
|
+
/** The two `G_BINDING_SYNC_CREATE` bindings onto the controls (:229-247). */
|
|
40
|
+
private _bindDecorationLayout;
|
|
41
|
+
/**
|
|
42
|
+
* The two things `gtk_header_bar_root` connects to (gtkheaderbar.c:362-376): the centre
|
|
43
|
+
* either/or, which changes what belongs in the middle in BOTH directions — `set_title_widget`
|
|
44
|
+
* empties the bin before installing and rebuilds the derived label when it is handed back
|
|
45
|
+
* to NULL (:319-341) — and `notify::title` on the ROOT, which re-runs `update_title`.
|
|
46
|
+
*/
|
|
47
|
+
private _followCentre;
|
|
48
|
+
/** The child of `_box` that is neither a side box nor the derived label. */
|
|
49
|
+
private _centreChild;
|
|
50
|
+
private _syncCentre;
|
|
51
|
+
/** `construct_title_label` (gtkheaderbar.c:274-290), with `width-chars=5` as CSS. */
|
|
52
|
+
private _constructTitleLabel;
|
|
53
|
+
/** `gtk_header_bar_set_title_widget`'s first act: the centre bin goes empty (:323). */
|
|
54
|
+
private _dropTitleLabel;
|
|
55
|
+
/**
|
|
56
|
+
* `update_title` (gtkheaderbar.c:250-271): the root window's title, then the two GLib
|
|
57
|
+
* process-name fallbacks — which is what the page's own `<title>` stands in for here.
|
|
58
|
+
*/
|
|
59
|
+
private _updateTitle;
|
|
60
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type LabelWrapMode } from '@gjsify/adwaita-core';
|
|
2
|
+
/** `GtkInscriptionOverflow`, in enum order (gtkinscription.h:44-48). */
|
|
3
|
+
export declare const INSCRIPTION_OVERFLOW_MODES: readonly ["clip", "ellipsize-start", "ellipsize-middle", "ellipsize-end"];
|
|
4
|
+
export type InscriptionOverflow = (typeof INSCRIPTION_OVERFLOW_MODES)[number];
|
|
5
|
+
/** `GTK_INSCRIPTION_OVERFLOW_CLIP`, the pspec default (gtkinscription.c:728-733). */
|
|
6
|
+
export declare const DEFAULT_INSCRIPTION_OVERFLOW: InscriptionOverflow;
|
|
7
|
+
/**
|
|
8
|
+
* `PANGO_WRAP_WORD_CHAR`, the pspec's default — which is NOT GtkLabel's
|
|
9
|
+
* (gtkinscription.c:738-740). The nick set is shared; only the fallback differs, and it
|
|
10
|
+
* differs because this widget sizes itself in characters and lines and therefore has to be
|
|
11
|
+
* able to break a word inside the box it just reserved.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DEFAULT_INSCRIPTION_WRAP_MODE: LabelWrapMode;
|
|
14
|
+
/** `GtkInscription:text-overflow` from its nick, leaving an unknown nick at the default. */
|
|
15
|
+
export declare function normalizeInscriptionOverflow(value: unknown): InscriptionOverflow;
|
|
16
|
+
/** `GtkInscription:wrap-mode` from its nick, with {@link DEFAULT_INSCRIPTION_WRAP_MODE}. */
|
|
17
|
+
export declare function normalizeInscriptionWrapMode(value: unknown): LabelWrapMode;
|
|
18
|
+
export declare class GtkInscription extends HTMLElement {
|
|
19
|
+
private _initialized;
|
|
20
|
+
static get observedAttributes(): string[];
|
|
21
|
+
/** `GtkInscription:text` — the plain string to draw (gtkinscription.c:713-717). */
|
|
22
|
+
get text(): string;
|
|
23
|
+
set text(value: string);
|
|
24
|
+
/**
|
|
25
|
+
* `GtkInscription:markup` — a Pango-markup string (gtkinscription.c:617-622), reduced
|
|
26
|
+
* to its plain text by `labelDisplayText` rather than parsed. See the header for why
|
|
27
|
+
* that is the XSS answer and why {@link text} wins when both are present.
|
|
28
|
+
*/
|
|
29
|
+
get markup(): string;
|
|
30
|
+
set markup(value: string);
|
|
31
|
+
/** `GtkInscription:min-chars` (gtkinscription.c:638-644). Defaults to 3. */
|
|
32
|
+
get minChars(): number;
|
|
33
|
+
set minChars(value: number);
|
|
34
|
+
/** `GtkInscription:nat-chars` (gtkinscription.c:680-686). Defaults to 0. */
|
|
35
|
+
get natChars(): number;
|
|
36
|
+
set natChars(value: number);
|
|
37
|
+
/** `GtkInscription:min-lines` (gtkinscription.c:660-666). Defaults to 1. */
|
|
38
|
+
get minLines(): number;
|
|
39
|
+
set minLines(value: number);
|
|
40
|
+
/** `GtkInscription:nat-lines` (gtkinscription.c:700-706). Defaults to 0. */
|
|
41
|
+
get natLines(): number;
|
|
42
|
+
set natLines(value: number);
|
|
43
|
+
/** `GtkInscription:text-overflow` (gtkinscription.c:726-732). Defaults to CLIP. */
|
|
44
|
+
get textOverflow(): InscriptionOverflow;
|
|
45
|
+
set textOverflow(value: InscriptionOverflow);
|
|
46
|
+
/** `GtkInscription:wrap-mode` (gtkinscription.c:741-746). Defaults to WORD_CHAR. */
|
|
47
|
+
get wrapMode(): LabelWrapMode;
|
|
48
|
+
set wrapMode(value: LabelWrapMode);
|
|
49
|
+
/**
|
|
50
|
+
* `GtkInscription:xalign` (gtkinscription.c:757-760). Defaults to 0.0
|
|
51
|
+
* (gtkinscription.c:67, :791) — start-aligned, unlike GtkLabel's 0.5.
|
|
52
|
+
*/
|
|
53
|
+
get xalign(): number;
|
|
54
|
+
set xalign(value: number);
|
|
55
|
+
/** `GtkInscription:yalign` (gtkinscription.c:773-776). Defaults to 0.5. */
|
|
56
|
+
get yalign(): number;
|
|
57
|
+
set yalign(value: number);
|
|
58
|
+
private _write;
|
|
59
|
+
connectedCallback(): void;
|
|
60
|
+
attributeChangedCallback(name: string): void;
|
|
61
|
+
/** The `notify::` detail for `name`: the PROPERTY, parsed, not the raw attribute. */
|
|
62
|
+
private _property;
|
|
63
|
+
private _render;
|
|
64
|
+
}
|
|
@@ -11,6 +11,9 @@ export declare class GtkLabel extends HTMLElement {
|
|
|
11
11
|
*/
|
|
12
12
|
private _wrapSpan;
|
|
13
13
|
private _resizes;
|
|
14
|
+
/** Whether `_sync` last wrote `min-width` / `max-width` itself, and so may clear them. */
|
|
15
|
+
private _wroteMinWidth;
|
|
16
|
+
private _wroteMaxWidth;
|
|
14
17
|
static get observedAttributes(): ("label" | "use-markup" | "use-underline" | "justify" | "wrap" | "xalign" | "yalign" | "wrap-mode" | "ellipsize" | "lines" | "width-chars" | "max-width-chars" | "selectable")[];
|
|
15
18
|
/** `Gtk.Label:label` — the text as written, before markup and the mnemonic come out. */
|
|
16
19
|
get label(): string;
|