@gjsify/adwaita-web 0.53.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 +8070 -3037
- 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 +43 -21
- 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/source-view/theme.ts +11 -5
- 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,107 @@
|
|
|
1
|
+
// DOM-level tests for <gtk-application-window>. The subclass adds ONE strip and ONE property,
|
|
2
|
+
// so the file is small on purpose: `show-menubar` is `gtk_application_window_update_menubar`
|
|
3
|
+
// (gtkapplicationwindow.c:392-431), which shows the bar only when the property is set AND the
|
|
4
|
+
// section has at least one item — and the second half is the `menubar` slot here, because the
|
|
5
|
+
// `GMenuModel` the C reads is not something markup can carry.
|
|
6
|
+
import { describe, expect, it } from '@gjsify/unit';
|
|
7
|
+
|
|
8
|
+
import type { GtkApplicationWindow } from './elements/gtk-application-window.js';
|
|
9
|
+
|
|
10
|
+
function mount(attrs: Record<string, string> = {}): { el: GtkApplicationWindow; host: HTMLElement } {
|
|
11
|
+
const host = document.createElement('div');
|
|
12
|
+
document.body.appendChild(host);
|
|
13
|
+
const el = document.createElement('gtk-application-window') as GtkApplicationWindow;
|
|
14
|
+
for (const [name, value] of Object.entries(attrs)) el.setAttribute(name, value);
|
|
15
|
+
host.appendChild(el);
|
|
16
|
+
return { el, host };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function menubar(el: GtkApplicationWindow): HTMLElement {
|
|
20
|
+
return el.querySelector('.adw-gtk-application-window-menubar') as HTMLElement;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const GtkApplicationWindowTest = async () => {
|
|
24
|
+
await describe('<gtk-application-window> structure', async () => {
|
|
25
|
+
await it('is titlebar, menubar, content — in that order', () => {
|
|
26
|
+
// update_menubar parents the bar above the window's child (:418), and
|
|
27
|
+
// gtk_window_set_titlebar puts the titlebar above that.
|
|
28
|
+
const { el, host } = mount();
|
|
29
|
+
expect([...el.children].map((node) => node.className)).toStrictEqual([
|
|
30
|
+
'adw-gtk-window-titlebar',
|
|
31
|
+
'adw-gtk-application-window-menubar',
|
|
32
|
+
'adw-gtk-window-content',
|
|
33
|
+
]);
|
|
34
|
+
host.remove();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
await it('is a Gtk.Window frame in every other respect', async () => {
|
|
38
|
+
const { el, host } = mount({ title: 'Editor' });
|
|
39
|
+
expect(el.decorated).toBe(true);
|
|
40
|
+
expect(el.getAttribute('aria-label')).toBe('Editor');
|
|
41
|
+
expect(el.querySelector('gtk-window-controls')).not.toBe(null);
|
|
42
|
+
host.remove();
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
await it('routes a `menubar` child into the strip and everything else into the content', async () => {
|
|
46
|
+
const { el, host } = mount();
|
|
47
|
+
const bar = document.createElement('span');
|
|
48
|
+
bar.setAttribute('slot', 'menubar');
|
|
49
|
+
const body = document.createElement('span');
|
|
50
|
+
el.append(bar, body);
|
|
51
|
+
// Adoption is the MutationObserver's (`src/slotted-children.ts`), and the
|
|
52
|
+
// menubar's OWN observer then re-runs the visibility rule — two microtasks.
|
|
53
|
+
await Promise.resolve();
|
|
54
|
+
await Promise.resolve();
|
|
55
|
+
expect(bar.parentElement).toBe(menubar(el));
|
|
56
|
+
expect(body.parentElement?.className).toBe('adw-gtk-window-content');
|
|
57
|
+
host.remove();
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
await describe('<gtk-application-window> show-menubar', async () => {
|
|
62
|
+
await it('is FALSE by default, so the strip is hidden', async () => {
|
|
63
|
+
// :693 — the property's default is FALSE.
|
|
64
|
+
const { el, host } = mount();
|
|
65
|
+
expect(el.showMenubar).toBe(false);
|
|
66
|
+
expect(menubar(el).hidden).toBe(true);
|
|
67
|
+
host.remove();
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
await it('needs an item as well as the property — an empty section shows nothing', async () => {
|
|
71
|
+
// gtkapplicationwindow.c:400-402 — `should_have_menubar` is the AND of the two.
|
|
72
|
+
const { el, host } = mount({ 'show-menubar': 'true' });
|
|
73
|
+
expect(menubar(el).hidden).toBe(true);
|
|
74
|
+
const bar = document.createElement('span');
|
|
75
|
+
bar.setAttribute('slot', 'menubar');
|
|
76
|
+
el.appendChild(bar);
|
|
77
|
+
await Promise.resolve();
|
|
78
|
+
await Promise.resolve();
|
|
79
|
+
expect(menubar(el).hidden).toBe(false);
|
|
80
|
+
host.remove();
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
await it('hides the bar again when the property goes false, keeping the child', async () => {
|
|
84
|
+
// gtk_window_hide on the bar's box, not a reparent (:404-410).
|
|
85
|
+
const { el, host } = mount({ 'show-menubar': 'true' });
|
|
86
|
+
const bar = document.createElement('span');
|
|
87
|
+
bar.setAttribute('slot', 'menubar');
|
|
88
|
+
el.appendChild(bar);
|
|
89
|
+
await Promise.resolve();
|
|
90
|
+
await Promise.resolve();
|
|
91
|
+
el.showMenubar = false;
|
|
92
|
+
expect(menubar(el).hidden).toBe(true);
|
|
93
|
+
expect(menubar(el).children.length).toBe(1);
|
|
94
|
+
host.remove();
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
await it('notifies once per real change', async () => {
|
|
98
|
+
const { el, host } = mount();
|
|
99
|
+
const events: unknown[] = [];
|
|
100
|
+
el.addEventListener('notify::show-menubar', (e) => events.push((e as CustomEvent).detail));
|
|
101
|
+
el.showMenubar = true;
|
|
102
|
+
el.showMenubar = true;
|
|
103
|
+
expect(events).toStrictEqual([{ 'show-menubar': true }]);
|
|
104
|
+
host.remove();
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// DOM-level tests for <gtk-aspect-frame>: `obey-child` decides whose ratio wins, the two
|
|
2
|
+
// alignments reach the flex container, and the ratio is clamped to the pspec's range.
|
|
3
|
+
import { describe, expect, it } from '@gjsify/unit';
|
|
4
|
+
|
|
5
|
+
import type { GtkAspectFrame } from './elements/gtk-aspect-frame.js';
|
|
6
|
+
|
|
7
|
+
function mount(attrs: Record<string, string> = {}): { el: GtkAspectFrame; host: HTMLElement } {
|
|
8
|
+
const host = document.createElement('div');
|
|
9
|
+
document.body.appendChild(host);
|
|
10
|
+
const el = document.createElement('gtk-aspect-frame') as GtkAspectFrame;
|
|
11
|
+
for (const [name, value] of Object.entries(attrs)) el.setAttribute(name, value);
|
|
12
|
+
if (attrs.width === undefined) el.style.width = '240px';
|
|
13
|
+
const child = document.createElement('gtk-label');
|
|
14
|
+
child.setAttribute('label', 'Framed');
|
|
15
|
+
el.append(child);
|
|
16
|
+
host.appendChild(el);
|
|
17
|
+
return { el, host };
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const GtkAspectFrameTest = async () => {
|
|
21
|
+
await describe('<gtk-aspect-frame> properties', async () => {
|
|
22
|
+
await it('holds the pspec defaults, and obey-child is TRUE without the attribute', () => {
|
|
23
|
+
const { el, host } = mount();
|
|
24
|
+
expect(el.ratio).toBe(1);
|
|
25
|
+
expect(el.xalign).toBe(0.5);
|
|
26
|
+
expect(el.yalign).toBe(0.5);
|
|
27
|
+
expect(el.obeyChild).toBe(true);
|
|
28
|
+
expect(el.child?.tagName.toLowerCase()).toBe('gtk-label');
|
|
29
|
+
host.remove();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
await it('clamps the ratio to the pspec range and reads an unparseable one as the default', () => {
|
|
33
|
+
const { el, host } = mount({ ratio: '0' });
|
|
34
|
+
expect(el.ratio).toBe(0.0001);
|
|
35
|
+
el.ratio = 16;
|
|
36
|
+
expect(el.ratio).toBe(16);
|
|
37
|
+
el.setAttribute('ratio', '99999');
|
|
38
|
+
expect(el.ratio).toBe(10000);
|
|
39
|
+
el.setAttribute('ratio', 'sixteen');
|
|
40
|
+
expect(el.ratio).toBe(1);
|
|
41
|
+
host.remove();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
await it('clamps xalign and yalign to 0…1, and an unparseable one is the default', () => {
|
|
45
|
+
const { el, host } = mount();
|
|
46
|
+
el.setAttribute('xalign', '-2');
|
|
47
|
+
expect(el.xalign).toBe(0);
|
|
48
|
+
el.setAttribute('yalign', '3');
|
|
49
|
+
expect(el.yalign).toBe(1);
|
|
50
|
+
el.setAttribute('xalign', 'middle');
|
|
51
|
+
expect(el.xalign).toBe(0.5);
|
|
52
|
+
host.remove();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
await describe('<gtk-aspect-frame> look', async () => {
|
|
57
|
+
await it('obeys the child by default: no aspect-ratio is written at all', () => {
|
|
58
|
+
const { el, host } = mount();
|
|
59
|
+
expect(el.child?.style.aspectRatio).toBe('');
|
|
60
|
+
// The child still fills the frame — that is the allocation, not the ratio.
|
|
61
|
+
expect(el.child?.style.flex).toBe('1 1 auto');
|
|
62
|
+
expect(el.child?.style.maxWidth).toBe('100%');
|
|
63
|
+
host.remove();
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
await it('writes the declared ratio once obey-child is false', () => {
|
|
67
|
+
const { el, host } = mount({ 'obey-child': 'false', ratio: '2.5' });
|
|
68
|
+
expect(el.obeyChild).toBe(false);
|
|
69
|
+
// The RATIO, not the serialization: CSSOM echoes `2.5` back as `2.5 / 1`, which is
|
|
70
|
+
// the same value and a string a test must not be pinned to.
|
|
71
|
+
expect(Number.parseFloat(el.child?.style.aspectRatio ?? '')).toBe(2.5);
|
|
72
|
+
el.setAttribute('obey-child', 'true');
|
|
73
|
+
expect(el.obeyChild).toBe(true);
|
|
74
|
+
expect(el.child?.style.aspectRatio).toBe('');
|
|
75
|
+
host.remove();
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
await it('the alignments reach the container as justify-content and align-items', () => {
|
|
79
|
+
const { el, host } = mount({ xalign: '0', yalign: '1' });
|
|
80
|
+
expect(el.style.justifyContent).toBe('flex-start');
|
|
81
|
+
expect(el.style.alignItems).toBe('flex-end');
|
|
82
|
+
el.xalign = 0.5;
|
|
83
|
+
el.yalign = 0.5;
|
|
84
|
+
expect(el.style.justifyContent).toBe('center');
|
|
85
|
+
expect(el.style.alignItems).toBe('center');
|
|
86
|
+
host.remove();
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
await it('a ratio over a fixed box gives the child that shape', () => {
|
|
90
|
+
const { el, host } = mount({ 'obey-child': 'false', ratio: '2' });
|
|
91
|
+
const box = el.child?.getBoundingClientRect();
|
|
92
|
+
expect(box).toBeDefined();
|
|
93
|
+
expect(Math.round((box?.width ?? 0) / (box?.height ?? 1))).toBe(2);
|
|
94
|
+
host.remove();
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
await it('is a generic container', () => {
|
|
98
|
+
const { el, host } = mount();
|
|
99
|
+
expect(el.getAttribute('role')).toBe('generic');
|
|
100
|
+
expect(getComputedStyle(el).display).toBe('flex');
|
|
101
|
+
host.remove();
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
await it('notifies on a real change only', () => {
|
|
105
|
+
const { el, host } = mount();
|
|
106
|
+
const notified: unknown[] = [];
|
|
107
|
+
el.addEventListener('notify::ratio', (event) => notified.push((event as CustomEvent).detail));
|
|
108
|
+
el.ratio = 2;
|
|
109
|
+
el.ratio = 2;
|
|
110
|
+
expect(notified).toStrictEqual([{ ratio: 2 }]);
|
|
111
|
+
host.remove();
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
};
|