@gjsify/adwaita-core 0.36.0 → 0.38.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/lib/esm/accent.js +1 -0
- package/lib/esm/conformance/accent.js +1 -0
- package/lib/esm/conformance/index.js +1 -1
- package/lib/esm/conformance/shortcut-label.js +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/shortcut-label.js +1 -0
- package/lib/types/about-dialog.d.ts +92 -98
- package/lib/types/accent.d.ts +36 -0
- package/lib/types/accent.spec.d.ts +2 -0
- package/lib/types/action-row.d.ts +95 -125
- package/lib/types/avatar.d.ts +30 -37
- package/lib/types/banner.d.ts +25 -53
- package/lib/types/breakpoint.d.ts +6 -7
- package/lib/types/button-content.d.ts +41 -80
- package/lib/types/carousel.d.ts +175 -252
- package/lib/types/checks.d.ts +13 -30
- package/lib/types/chrome.d.ts +90 -136
- package/lib/types/color-scheme.d.ts +5 -6
- package/lib/types/conformance/about-dialog.d.ts +64 -91
- package/lib/types/conformance/accent.d.ts +20 -0
- package/lib/types/conformance/action-row.d.ts +26 -46
- package/lib/types/conformance/avatar.d.ts +8 -10
- package/lib/types/conformance/banner.d.ts +17 -37
- package/lib/types/conformance/button-content.d.ts +24 -46
- package/lib/types/conformance/carousel.d.ts +35 -75
- package/lib/types/conformance/checks.d.ts +0 -4
- package/lib/types/conformance/chrome.d.ts +28 -36
- package/lib/types/conformance/data-grid.d.ts +28 -47
- package/lib/types/conformance/dialog.d.ts +4 -9
- package/lib/types/conformance/entry-row.d.ts +20 -39
- package/lib/types/conformance/index.d.ts +4 -0
- package/lib/types/conformance/navigation-view.d.ts +0 -4
- package/lib/types/conformance/popover.d.ts +4 -9
- package/lib/types/conformance/preferences.d.ts +15 -28
- package/lib/types/conformance/rows.d.ts +5 -12
- package/lib/types/conformance/shortcut-label.d.ts +34 -0
- package/lib/types/conformance/sidebar.d.ts +28 -49
- package/lib/types/conformance/spinner.d.ts +21 -27
- package/lib/types/conformance/split-button.d.ts +21 -43
- package/lib/types/conformance/split-view.d.ts +29 -36
- package/lib/types/conformance/tab-view.d.ts +32 -73
- package/lib/types/conformance/view-stack.d.ts +0 -12
- package/lib/types/conformance/view-switcher.d.ts +46 -114
- package/lib/types/conformance/wrap-box.d.ts +40 -63
- package/lib/types/data-grid.d.ts +38 -48
- package/lib/types/dialog.d.ts +39 -51
- package/lib/types/easing.d.ts +6 -12
- package/lib/types/entry-row.d.ts +94 -123
- package/lib/types/glib.d.ts +17 -25
- package/lib/types/index.d.ts +4 -0
- package/lib/types/length-unit.d.ts +7 -12
- package/lib/types/navigation-view.d.ts +62 -68
- package/lib/types/popover.d.ts +39 -66
- package/lib/types/preferences.d.ts +83 -100
- package/lib/types/rows.d.ts +45 -63
- package/lib/types/shortcut-label.d.ts +79 -0
- package/lib/types/shortcut-label.spec.d.ts +2 -0
- package/lib/types/sidebar.d.ts +95 -121
- package/lib/types/spinner.d.ts +39 -61
- package/lib/types/split-button.d.ts +78 -134
- package/lib/types/split-view.d.ts +74 -89
- package/lib/types/tab-view.d.ts +174 -256
- package/lib/types/view-stack.d.ts +87 -129
- package/lib/types/view-switcher.d.ts +126 -211
- package/lib/types/wrap-box.d.ts +62 -123
- package/package.json +3 -3
|
@@ -14,25 +14,23 @@ export declare const DEFAULT_SIDEBAR_WIDTH_UNIT: AdwLengthUnit;
|
|
|
14
14
|
/** The minimum grabbable edge width for the reveal gesture — `ADW_SWIPE_BORDER`. */
|
|
15
15
|
export declare const ADW_SWIPE_BORDER = 32;
|
|
16
16
|
/**
|
|
17
|
-
* GLib's `CLAMP` (gmacros.h) — `x > high ? high
|
|
17
|
+
* GLib's `CLAMP` (gmacros.h) — `x > high ? high: x < low ? low: x`.
|
|
18
18
|
*
|
|
19
19
|
* HIGH is tested FIRST, which only matters when the bounds are inverted
|
|
20
20
|
* (`low > high`) — there GLib returns `low` for anything below it, where
|
|
21
21
|
* `Math.min(high, Math.max(low, x))` returns `high`. Not a curiosity:
|
|
22
|
-
* `allocate_uncollapsed`
|
|
22
|
+
* `allocate_uncollapsed` inverts the bounds
|
|
23
23
|
* whenever the content pane's own minimum leaves less room than
|
|
24
24
|
* `min-sidebar-width`, and libadwaita then keeps the sidebar at its minimum and
|
|
25
25
|
* lets the content overflow.
|
|
26
26
|
*/
|
|
27
27
|
/**
|
|
28
28
|
* Whether the sidebar is laid out at `x = 0`, i.e. `sidebar_position ==
|
|
29
|
-
* get_start_or_end (self)
|
|
30
|
-
* adw-overlay-split-view.c:227-234).
|
|
29
|
+
* get_start_or_end (self)`.
|
|
31
30
|
*
|
|
32
|
-
* `start`/`end` are LOGICAL: under RTL `get_start_or_end` returns `GTK_PACK_END`,
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* mirrored any of them before.
|
|
31
|
+
* `start`/`end` are LOGICAL: under RTL `get_start_or_end` returns `GTK_PACK_END`, so a
|
|
32
|
+
* `start` sidebar is drawn on the RIGHT. This one predicate drives pane placement, the
|
|
33
|
+
* overlay's slide direction and the swipe area.
|
|
36
34
|
*/
|
|
37
35
|
export declare function isSidebarAtVisualStart(position: AdwPackType, direction?: AdwTextDirection): boolean;
|
|
38
36
|
/** The four sizing properties `Adw.NavigationSplitView` and `Adw.OverlaySplitView` share. */
|
|
@@ -59,11 +57,10 @@ export interface SidebarBounds {
|
|
|
59
57
|
* `sidebar_min` / `sidebar_max` in pixels, i.e. the two `MAX (…, length_to_px (…))`
|
|
60
58
|
* lines both widgets open their sizing with.
|
|
61
59
|
*
|
|
62
|
-
* `ceil: true` reproduces the ALLOCATE paths, which wrap the conversion in `ceil()
|
|
63
|
-
*
|
|
60
|
+
* `ceil: true` reproduces the ALLOCATE paths, which wrap the conversion in `ceil()`;
|
|
61
|
+
*
|
|
64
62
|
* `ceil: false` (the default) reproduces the MEASURE paths, which assign the raw
|
|
65
|
-
* double to an `int` and therefore truncate
|
|
66
|
-
* adw-overlay-split-view.c:545-550). At dpi ≠ 96 the two disagree by a pixel, and
|
|
63
|
+
* double to an `int` and therefore truncate. At dpi ≠ 96 the two disagree by a pixel, and
|
|
67
64
|
* that is upstream behaviour, not rounding noise.
|
|
68
65
|
*
|
|
69
66
|
* `max` is raised to `min` BEFORE any other cap, so a `max-sidebar-width` below
|
|
@@ -74,8 +71,7 @@ export declare function resolveSidebarBounds(spec: SidebarWidthSpec, sidebarChil
|
|
|
74
71
|
}): SidebarBounds;
|
|
75
72
|
/**
|
|
76
73
|
* The sidebar's NATURAL width, estimated from the content's natural width and the
|
|
77
|
-
* fraction — `ceil (content_nat * f / (1 - f))`, clamped into `bounds
|
|
78
|
-
* (adw-navigation-split-view.c:260-262, adw-overlay-split-view.c:554-556).
|
|
74
|
+
* fraction — `ceil (content_nat * f / (1 - f))`, clamped into `bounds`.
|
|
79
75
|
*
|
|
80
76
|
* The sidebar's OWN natural width is deliberately ignored: a sidebar asks for the
|
|
81
77
|
* share of the window the fraction promises it, not for however wide its widest row
|
|
@@ -97,8 +93,7 @@ export interface SidebarWidthInput extends SidebarWidthSpec {
|
|
|
97
93
|
sidebarChildMin?: number;
|
|
98
94
|
}
|
|
99
95
|
/**
|
|
100
|
-
* `Adw.NavigationSplitView`'s allocated sidebar width
|
|
101
|
-
* (adw-navigation-split-view.c:292-304).
|
|
96
|
+
* `Adw.NavigationSplitView`'s allocated sidebar width.
|
|
102
97
|
*
|
|
103
98
|
* The content pane's minimum is protected by capping the MAX BOUND
|
|
104
99
|
* (`sidebar_max = MIN (sidebar_max, width - content_min)`) and only then clamping.
|
|
@@ -109,14 +104,13 @@ export interface SidebarWidthInput extends SidebarWidthSpec {
|
|
|
109
104
|
export declare function resolveNavigationSidebarWidth(input: SidebarWidthInput): number;
|
|
110
105
|
/**
|
|
111
106
|
* `Adw.OverlaySplitView`'s allocated sidebar width — `get_sidebar_width`
|
|
112
|
-
*
|
|
113
|
-
* (adw-overlay-split-view.c:585).
|
|
107
|
+
* plus `allocate_uncollapsed`'s cap.
|
|
114
108
|
*
|
|
115
109
|
* Two differences from the navigation widget, both load-bearing:
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
110
|
+
* - COLLAPSED the fraction is IGNORED and the VIEW width is clamped instead, so
|
|
111
|
+
* an overlay sidebar keeps its natural size on a phone rather than shrinking to
|
|
112
|
+
* a quarter of it (and may legitimately end up WIDER than the view);
|
|
113
|
+
* - uncollapsed the content-minimum cap lands on the RESULT, not on the bound.
|
|
120
114
|
*/
|
|
121
115
|
export declare function resolveOverlaySidebarWidth(input: SidebarWidthInput & {
|
|
122
116
|
collapsed?: boolean;
|
|
@@ -136,14 +130,13 @@ export interface SplitViewMeasureInput {
|
|
|
136
130
|
}
|
|
137
131
|
/**
|
|
138
132
|
* The horizontal size request of an uncollapsed split view —
|
|
139
|
-
* `measure_uncollapsed` (adw-overlay-split-view.c
|
|
140
|
-
*
|
|
133
|
+
* `measure_uncollapsed` (adw-overlay-split-view.c; the navigation variant
|
|
134
|
+
* is the same rule with progress pinned to 1).
|
|
141
135
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
* refuse to be narrower than sidebar + content instead.
|
|
136
|
+
* The container MINIMUM: without it the content pane can be squeezed to nothing, because
|
|
137
|
+
* the sidebar is `flex-shrink: 0` (web) or sits in an `auto` column (NativeScript) and
|
|
138
|
+
* always wins. Feeding this number into the host's own minimum makes the split view refuse
|
|
139
|
+
* to be narrower than sidebar + content.
|
|
147
140
|
*/
|
|
148
141
|
export declare function measureSplitViewHorizontal(input: SplitViewMeasureInput): {
|
|
149
142
|
minimum: number;
|
|
@@ -163,10 +156,7 @@ export interface NavigationSplitViewLayout {
|
|
|
163
156
|
/** The content pane. */
|
|
164
157
|
content: SplitViewPaneRect;
|
|
165
158
|
}
|
|
166
|
-
/**
|
|
167
|
-
* `allocate_uncollapsed` (adw-navigation-split-view.c:306-316) — the two pane rects,
|
|
168
|
-
* including the RTL mirror that neither renderer had.
|
|
169
|
-
*/
|
|
159
|
+
/** `allocate_uncollapsed` — the two pane rects, including the RTL mirror. */
|
|
170
160
|
export declare function layoutNavigationSplitView(input: {
|
|
171
161
|
totalWidth: number;
|
|
172
162
|
sidebarWidth: number;
|
|
@@ -189,19 +179,19 @@ export interface OverlaySplitViewLayout {
|
|
|
189
179
|
shadowSide: 'left' | 'right';
|
|
190
180
|
}
|
|
191
181
|
/**
|
|
192
|
-
* `allocate_uncollapsed`
|
|
193
|
-
* `allocate_collapsed
|
|
194
|
-
* the paint gate (`adw_overlay_split_view_snapshot
|
|
182
|
+
* `allocate_uncollapsed` and
|
|
183
|
+
* `allocate_collapsed`, plus the shield (`update_shield`) and
|
|
184
|
+
* the paint gate (`adw_overlay_split_view_snapshot`).
|
|
195
185
|
*
|
|
196
|
-
* The overshoot swap is the subtle part: the swipe tracker enables UPPER overshoot
|
|
197
|
-
*
|
|
186
|
+
* The overshoot swap is the subtle part: the swipe tracker enables UPPER overshoot,
|
|
187
|
+
* so `showProgress` can exceed 1. When the offset then runs past the
|
|
198
188
|
* measured width, libadwaita WIDENS the pane to the offset and pins the offset to
|
|
199
189
|
* the measured width — the sidebar stretches instead of detaching from its edge.
|
|
200
190
|
*
|
|
201
191
|
* `shadowProgress` is inverted relative to the reveal: `adw_shadow_helper` hides
|
|
202
|
-
* the shadow at 1 and paints it fully at 0
|
|
192
|
+
* the shadow at 1 and paints it fully at 0. It is only
|
|
203
193
|
* ALLOCATED in the collapsed layout, and `set_collapsed(FALSE)` re-allocates it at 1
|
|
204
|
-
*
|
|
194
|
+
* — which is exactly what the formula returns
|
|
205
195
|
* for an uncollapsed view, so a renderer can apply it unconditionally.
|
|
206
196
|
*/
|
|
207
197
|
export declare function layoutOverlaySplitView(input: {
|
|
@@ -213,7 +203,7 @@ export declare function layoutOverlaySplitView(input: {
|
|
|
213
203
|
direction?: AdwTextDirection;
|
|
214
204
|
}): OverlaySplitViewLayout;
|
|
215
205
|
/**
|
|
216
|
-
* `tags_equal`
|
|
206
|
+
* `tags_equal` — whether the sidebar and
|
|
217
207
|
* content pages collide on their `Adw.NavigationPage:tag`.
|
|
218
208
|
*
|
|
219
209
|
* Two rules a `a === b` port loses: an ABSENT tag never collides (so two untagged
|
|
@@ -237,17 +227,16 @@ export interface NavigationStackPlan {
|
|
|
237
227
|
page: SplitViewPane | null;
|
|
238
228
|
}
|
|
239
229
|
/**
|
|
240
|
-
* `update_navigation_stack`
|
|
230
|
+
* `update_navigation_stack` — the whole
|
|
241
231
|
* ordering table.
|
|
242
232
|
*
|
|
243
|
-
* Two rules
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
* than replacing it.
|
|
233
|
+
* Two easily-missed rules. A LONE child stays visible no matter what `show-content` says
|
|
234
|
+
* (`self->content && (self->show_content || !self->sidebar)` and its mirror) — without it a
|
|
235
|
+
* collapsed split view with only a sidebar renders blank. And with `sidebar-position: end`
|
|
236
|
+
* the CONTENT is the root page, so `show-content: false` means the sidebar is PUSHED ON TOP
|
|
237
|
+
* of the content rather than replacing it.
|
|
249
238
|
*
|
|
250
|
-
* `changingPage` selects the animated branch
|
|
239
|
+
* `changingPage` selects the animated branch, which requires BOTH
|
|
251
240
|
* children. Its final stack is always identical to the static branch's — it differs
|
|
252
241
|
* only in reaching that stack by a push or a pop, which is the direction a renderer
|
|
253
242
|
* needs for its transition.
|
|
@@ -298,8 +287,8 @@ export type NavigationActionInput = {
|
|
|
298
287
|
showContent: boolean;
|
|
299
288
|
};
|
|
300
289
|
/**
|
|
301
|
-
* `navigation_push_cb`
|
|
302
|
-
* `navigation_pop_cb`
|
|
290
|
+
* `navigation_push_cb` and
|
|
291
|
+
* `navigation_pop_cb` — the action routing both renderers lack entirely.
|
|
303
292
|
*
|
|
304
293
|
* Three details the shape hides. The CONTENT tag is tested first, so a split view
|
|
305
294
|
* whose panes share a tag pushes the content. The "already in the navigation stack"
|
|
@@ -314,17 +303,17 @@ export type NavigationActionInput = {
|
|
|
314
303
|
export declare function resolveNavigationAction(input: NavigationActionInput): NavigationActionResult;
|
|
315
304
|
/** `g_critical` texts, verbatim from the C so a renderer's diagnostics match GTK's. */
|
|
316
305
|
export declare const NAVIGATION_SPLIT_VIEW_CRITICALS: {
|
|
317
|
-
/** `navigation_push_cb
|
|
306
|
+
/** `navigation_push_cb`:657 /:672. */
|
|
318
307
|
readonly alreadyInStack: (tag: string) => string;
|
|
319
|
-
/** `navigation_push_cb
|
|
308
|
+
/** `navigation_push_cb`:683. The C also prints the widget pointer, which has no meaning here. */
|
|
320
309
|
readonly notFound: (tag: string) => string;
|
|
321
|
-
/** `adw_navigation_split_view_set_sidebar
|
|
310
|
+
/** `adw_navigation_split_view_set_sidebar`:1103. */
|
|
322
311
|
readonly sidebarCollision: (tag: string) => string;
|
|
323
|
-
/** `adw_navigation_split_view_set_content
|
|
312
|
+
/** `adw_navigation_split_view_set_content`:1196. */
|
|
324
313
|
readonly contentCollision: (tag: string) => string;
|
|
325
|
-
/** `check_tags_cb
|
|
314
|
+
/** `check_tags_cb`:440. */
|
|
326
315
|
readonly sidebarTagCollision: (tag: string) => string;
|
|
327
|
-
/** `check_tags_cb
|
|
316
|
+
/** `check_tags_cb`:450. */
|
|
328
317
|
readonly contentTagCollision: (tag: string) => string;
|
|
329
318
|
};
|
|
330
319
|
/** A page mounted into a split-view pane. Only its tag is behaviour-relevant. */
|
|
@@ -364,9 +353,9 @@ export interface NavigationSplitViewOptions extends NavigationSplitViewHandlers
|
|
|
364
353
|
*
|
|
365
354
|
* The tag guard has TWO different failure modes and both matter. Mounting a page
|
|
366
355
|
* whose tag already belongs to the other pane REFUSES THE ASSIGNMENT
|
|
367
|
-
* (adw-navigation-split-view.c
|
|
356
|
+
* (adw-navigation-split-view.c /:1195-1201) — the pane keeps whatever it
|
|
368
357
|
* had. RETAGGING a mounted page instead keeps the page and CLEARS the offending tag
|
|
369
|
-
* (`check_tags_cb
|
|
358
|
+
* (`check_tags_cb`), because by then the page is already installed.
|
|
370
359
|
*
|
|
371
360
|
* Tags are held HERE, not written back into the {@link NavigationPageRef} you hand
|
|
372
361
|
* in: {@link setTag} resets a colliding tag, and silently mutating a caller's object
|
|
@@ -432,8 +421,8 @@ export declare class NavigationSplitViewState {
|
|
|
432
421
|
*
|
|
433
422
|
* The emitted plan carries a `push`/`pop` transition only when the change is
|
|
434
423
|
* actually animatable — collapsed WITH both children, the condition under which
|
|
435
|
-
* `set_show_content` drives the navigation view instead of just setting the flag
|
|
436
|
-
*
|
|
424
|
+
* `set_show_content` drives the navigation view instead of just setting the flag.
|
|
425
|
+
* Returns whether it changed.
|
|
437
426
|
*/
|
|
438
427
|
setShowContent(value: boolean, interactive?: boolean): boolean;
|
|
439
428
|
/** Activate `navigation.push` with `tag`, applying the result. */
|
|
@@ -455,7 +444,7 @@ export interface SplitViewAnimationRequest {
|
|
|
455
444
|
to: number;
|
|
456
445
|
/** Initial velocity, in progress units per second (0 for a plain toggle). */
|
|
457
446
|
velocity: number;
|
|
458
|
-
/** Whether to clamp the spring's overshoot — `to < 0.5
|
|
447
|
+
/** Whether to clamp the spring's overshoot — `to < 0.5`. */
|
|
459
448
|
clamp: boolean;
|
|
460
449
|
/** Feed every intermediate progress back to the state. */
|
|
461
450
|
onValue: (progress: number) => void;
|
|
@@ -464,7 +453,7 @@ export interface SplitViewAnimationRequest {
|
|
|
464
453
|
}
|
|
465
454
|
/**
|
|
466
455
|
* The injected timing seam for the reveal, mirroring `ToastScheduler`. libadwaita
|
|
467
|
-
* uses a spring with params `(1, 0.5, 500)
|
|
456
|
+
* uses a spring with params `(1, 0.5, 500)`;
|
|
468
457
|
* a renderer supplies whatever its platform has — a CSS transition, NativeScript's
|
|
469
458
|
* `View.animate()`, or a deterministic fake in tests.
|
|
470
459
|
*/
|
|
@@ -526,16 +515,12 @@ export interface OverlaySplitViewOptions {
|
|
|
526
515
|
/**
|
|
527
516
|
* `Adw.OverlaySplitView`'s state machine.
|
|
528
517
|
*
|
|
529
|
-
* The rule worth having lifted is the collapse coupling: unless `pin-sidebar` is
|
|
530
|
-
*
|
|
531
|
-
* (`if (!self->pin_sidebar) set_show_sidebar (self, !self->collapsed, FALSE, 0)
|
|
532
|
-
* adw-overlay-split-view.c:1454-1455). Neither renderer had it, so BOTH storybooks
|
|
533
|
-
* re-derived it by hand next to their own breakpoint code — the clearest possible
|
|
534
|
-
* evidence that it belongs in the widget.
|
|
518
|
+
* The rule worth having lifted is the collapse coupling: unless `pin-sidebar` is set,
|
|
519
|
+
* collapsing HIDES the sidebar and uncollapsing SHOWS it, without animating
|
|
520
|
+
* (`if (!self->pin_sidebar) set_show_sidebar (self, !self->collapsed, FALSE, 0);`).
|
|
535
521
|
*
|
|
536
|
-
* `show-sidebar` defaults to TRUE and `show-progress` to 1
|
|
537
|
-
*
|
|
538
|
-
* `<adw-overlay-split-view>` with no attributes started with the sidebar hidden.
|
|
522
|
+
* `show-sidebar` defaults to TRUE and `show-progress` to 1 — an HTML boolean attribute is
|
|
523
|
+
* absent-means-false, so a renderer reading presence alone starts with them inverted.
|
|
539
524
|
*/
|
|
540
525
|
export declare class OverlaySplitViewState {
|
|
541
526
|
private _showSidebar;
|
|
@@ -567,18 +552,18 @@ export declare class OverlaySplitViewState {
|
|
|
567
552
|
get enableHideGesture(): boolean;
|
|
568
553
|
/** The reveal progress: 0 hidden, 1 shown, briefly above 1 while overshooting. */
|
|
569
554
|
get showProgress(): number;
|
|
570
|
-
/** Whether the click-outside shield takes input — `update_shield
|
|
555
|
+
/** Whether the click-outside shield takes input — `update_shield`. */
|
|
571
556
|
get shieldVisible(): boolean;
|
|
572
|
-
/** Whether the sidebar is painted at all — the snapshot gate
|
|
557
|
+
/** Whether the sidebar is painted at all — the snapshot gate. */
|
|
573
558
|
get sidebarPainted(): boolean;
|
|
574
|
-
/** `gtk_widget_set_can_focus (sidebar_bin, …)
|
|
559
|
+
/** `gtk_widget_set_can_focus (sidebar_bin, …)`. */
|
|
575
560
|
get sidebarFocusable(): boolean;
|
|
576
|
-
/** `gtk_widget_set_can_focus (content_bin, …)
|
|
561
|
+
/** `gtk_widget_set_can_focus (content_bin, …)`. */
|
|
577
562
|
get contentFocusable(): boolean;
|
|
578
563
|
/**
|
|
579
|
-
* Show or hide the sidebar — `set_show_sidebar
|
|
564
|
+
* Show or hide the sidebar — `set_show_sidebar`. No-op (and no
|
|
580
565
|
* notification) when the value is unchanged; the public GTK setter animates, so
|
|
581
|
-
* `animate` defaults to true. Returns whether it changed.
|
|
566
|
+
* `animate()` defaults to true. Returns whether it changed.
|
|
582
567
|
*/
|
|
583
568
|
setShowSidebar(value: boolean, options?: {
|
|
584
569
|
animate?: boolean;
|
|
@@ -586,7 +571,7 @@ export declare class OverlaySplitViewState {
|
|
|
586
571
|
interactive?: boolean;
|
|
587
572
|
}): boolean;
|
|
588
573
|
/**
|
|
589
|
-
* Collapse or expand — `adw_overlay_split_view_set_collapsed
|
|
574
|
+
* Collapse or expand — `adw_overlay_split_view_set_collapsed`.
|
|
590
575
|
*
|
|
591
576
|
* Unless the sidebar is pinned this also flips `show-sidebar` to match, WITHOUT
|
|
592
577
|
* animating, and emits that change first: GTK freezes notifications across the
|
|
@@ -603,28 +588,28 @@ export declare class OverlaySplitViewState {
|
|
|
603
588
|
/** Enable/disable the swipe-to-close gesture. Returns whether it changed. */
|
|
604
589
|
setEnableHideGesture(value: boolean): boolean;
|
|
605
590
|
/**
|
|
606
|
-
* Drive the reveal progress directly — `set_show_progress
|
|
591
|
+
* Drive the reveal progress directly — `set_show_progress`, the sink
|
|
607
592
|
* an in-flight animation and a live swipe both write to. Does not touch
|
|
608
593
|
* `show-sidebar`.
|
|
609
594
|
*/
|
|
610
595
|
setShowProgress(progress: number): void;
|
|
611
596
|
/**
|
|
612
|
-
* Handle Escape — `escape_shortcut_cb
|
|
597
|
+
* Handle Escape — `escape_shortcut_cb`. Only a COLLAPSED view with a
|
|
613
598
|
* visible sidebar consumes the key; otherwise it propagates so an enclosing
|
|
614
599
|
* dialog still closes. Returns whether the key was consumed.
|
|
615
600
|
*/
|
|
616
601
|
escape(): boolean;
|
|
617
602
|
/**
|
|
618
|
-
* Handle a click on the shield — `released_cb
|
|
603
|
+
* Handle a click on the shield — `released_cb`, which hides the
|
|
619
604
|
* sidebar unconditionally. Returns whether anything changed.
|
|
620
605
|
*/
|
|
621
606
|
dismissShield(): boolean;
|
|
622
607
|
/** Whether a swipe currently owns the progress. */
|
|
623
608
|
get swipeActive(): boolean;
|
|
624
|
-
/** `begin_swipe_cb`
|
|
609
|
+
/** `begin_swipe_cb` — pause the animation and take over the progress. */
|
|
625
610
|
beginSwipe(): void;
|
|
626
611
|
/**
|
|
627
|
-
* `end_swipe_cb`
|
|
612
|
+
* `end_swipe_cb` — settle on `to`. When `to` agrees with the current
|
|
628
613
|
* `show-sidebar` this only animates (no property change, no notification);
|
|
629
614
|
* otherwise it is a real `show-sidebar` change. Returns what was done.
|
|
630
615
|
*/
|
|
@@ -635,7 +620,7 @@ export declare class OverlaySplitViewState {
|
|
|
635
620
|
private _startAnimation;
|
|
636
621
|
}
|
|
637
622
|
/**
|
|
638
|
-
* `adw_overlay_split_view_get_snap_points`
|
|
623
|
+
* `adw_overlay_split_view_get_snap_points` — where a swipe may settle.
|
|
639
624
|
*
|
|
640
625
|
* A gesture already in flight (`swipeActive`) unlocks both ends regardless of the
|
|
641
626
|
* `enable-*-gesture` properties, so a swipe that started legally can always be
|
|
@@ -648,7 +633,7 @@ export declare function resolveSwipeSnapPoints(input: {
|
|
|
648
633
|
swipeActive: boolean;
|
|
649
634
|
}): number[];
|
|
650
635
|
/**
|
|
651
|
-
* `prepare_cb`
|
|
636
|
+
* `prepare_cb` — whether a starting swipe is picked up at all.
|
|
652
637
|
*
|
|
653
638
|
* A MID-FLIGHT swipe (neither fully open nor fully closed) is always resumable,
|
|
654
639
|
* which is why the gesture-enable flags are only consulted at the two ends.
|
|
@@ -661,7 +646,7 @@ export declare function resolveSwipeStart(input: {
|
|
|
661
646
|
enableHideGesture: boolean;
|
|
662
647
|
}): boolean;
|
|
663
648
|
/**
|
|
664
|
-
* `end_swipe_cb`
|
|
649
|
+
* `end_swipe_cb` — what releasing a swipe at `to` means.
|
|
665
650
|
*
|
|
666
651
|
* Landing back where `show-sidebar` already is only SETTLES the animation; landing
|
|
667
652
|
* on the other side is a real property change that must notify.
|
|
@@ -671,7 +656,7 @@ export declare function resolveSwipeRelease(input: {
|
|
|
671
656
|
showSidebar: boolean;
|
|
672
657
|
}): SwipeReleasePlan;
|
|
673
658
|
/**
|
|
674
|
-
* `adw_overlay_split_view_get_cancel_progress`
|
|
659
|
+
* `adw_overlay_split_view_get_cancel_progress` — where a cancelled
|
|
675
660
|
* swipe snaps back to.
|
|
676
661
|
*
|
|
677
662
|
* C's `round()` is half-away-from-zero; JS `Math.round` is half-UP, so it disagrees
|
|
@@ -680,7 +665,7 @@ export declare function resolveSwipeRelease(input: {
|
|
|
680
665
|
*/
|
|
681
666
|
export declare function swipeCancelProgress(showProgress: number): number;
|
|
682
667
|
/**
|
|
683
|
-
* `adw_overlay_split_view_get_swipe_area`
|
|
668
|
+
* `adw_overlay_split_view_get_swipe_area` — the rectangle that starts
|
|
684
669
|
* a reveal swipe.
|
|
685
670
|
*
|
|
686
671
|
* With the sidebar closed the grabbable strip never shrinks below
|