@gjsify/adwaita-core 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/lib/esm/box-selection.js +1 -0
- package/lib/esm/breakpoint-driver.js +1 -0
- package/lib/esm/calendar.js +1 -0
- package/lib/esm/conformance/box-selection.js +1 -0
- package/lib/esm/conformance/calendar.js +1 -0
- package/lib/esm/conformance/constructs.js +2 -0
- package/lib/esm/conformance/grid-navigation.js +1 -0
- package/lib/esm/conformance/index.js +1 -1
- package/lib/esm/conformance/list-view.js +1 -0
- package/lib/esm/conformance/tab-view.js +1 -1
- package/lib/esm/conformance/tree-expander.js +1 -0
- package/lib/esm/conformance/view-switcher.js +1 -1
- package/lib/esm/grid-navigation.js +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/list-view.js +1 -0
- package/lib/esm/tab-view.js +1 -1
- package/lib/esm/tokens.generated.js +1 -1
- package/lib/esm/tree-expander.js +1 -0
- package/lib/esm/view-stack.js +1 -1
- package/lib/esm/view-switcher.js +1 -1
- package/lib/types/box-selection.d.ts +104 -0
- package/lib/types/box-selection.spec.d.ts +2 -0
- package/lib/types/breakpoint-driver.d.ts +31 -0
- package/lib/types/breakpoint-driver.spec.d.ts +2 -0
- package/lib/types/calendar.d.ts +142 -0
- package/lib/types/calendar.spec.d.ts +2 -0
- package/lib/types/conformance/box-selection.d.ts +47 -0
- package/lib/types/conformance/breakpoint-bin.d.ts +11 -8
- package/lib/types/conformance/calendar.d.ts +71 -0
- package/lib/types/conformance/constructs.d.ts +86 -0
- package/lib/types/conformance/grid-navigation.d.ts +12 -0
- package/lib/types/conformance/index.d.ts +16 -4
- package/lib/types/conformance/list-view.d.ts +56 -0
- package/lib/types/conformance/shared-trees.d.ts +70 -0
- package/lib/types/conformance/tab-view.d.ts +29 -0
- package/lib/types/conformance/tree-expander.d.ts +29 -0
- package/lib/types/conformance/view-switcher.d.ts +25 -0
- package/lib/types/constructs.spec.d.ts +2 -0
- package/lib/types/grid-navigation.d.ts +11 -0
- package/lib/types/grid-navigation.spec.d.ts +2 -0
- package/lib/types/index.d.ts +14 -3
- package/lib/types/list-view.d.ts +276 -0
- package/lib/types/list-view.spec.d.ts +2 -0
- package/lib/types/sidebar.d.ts +9 -0
- package/lib/types/tab-view.d.ts +27 -0
- package/lib/types/tree-expander.d.ts +83 -0
- package/lib/types/tree-expander.spec.d.ts +2 -0
- package/lib/types/view-stack.d.ts +11 -0
- package/lib/types/view-switcher.d.ts +28 -0
- package/package.json +3 -3
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { AdwBoxSelectResult, AdwBoxSelectionMode, AdwBoxSelectStep } from '../box-selection.js';
|
|
2
|
+
/** One click on one row, and what it must produce. */
|
|
3
|
+
export interface BoxSelectVector {
|
|
4
|
+
/** The C branch this row pins down. */
|
|
5
|
+
readonly rule: string;
|
|
6
|
+
/** The selection the box held before the click. */
|
|
7
|
+
readonly selection: readonly number[];
|
|
8
|
+
/** `box->selected_row` before the click; `-1` is the C's NULL. */
|
|
9
|
+
readonly anchor: number;
|
|
10
|
+
/** Which row was clicked. */
|
|
11
|
+
readonly position: number;
|
|
12
|
+
/** How many rows the box holds. */
|
|
13
|
+
readonly length: number;
|
|
14
|
+
readonly mode: AdwBoxSelectionMode;
|
|
15
|
+
/** The modifiers, and whether the row is `selectable` (`GtkListBoxRow:selectable`). */
|
|
16
|
+
readonly step: AdwBoxSelectStep & {
|
|
17
|
+
readonly selectable?: boolean;
|
|
18
|
+
};
|
|
19
|
+
readonly expected: AdwBoxSelectResult;
|
|
20
|
+
}
|
|
21
|
+
export declare const BOX_SELECT_VECTORS: readonly BoxSelectVector[];
|
|
22
|
+
/** One programmatic call, and what it must produce. */
|
|
23
|
+
export interface BoxRowVector {
|
|
24
|
+
readonly rule: string;
|
|
25
|
+
readonly op: 'select' | 'unselect';
|
|
26
|
+
readonly selection: readonly number[];
|
|
27
|
+
readonly anchor: number;
|
|
28
|
+
readonly position: number | null;
|
|
29
|
+
readonly length: number;
|
|
30
|
+
readonly mode: AdwBoxSelectionMode;
|
|
31
|
+
readonly step: AdwBoxSelectStep & {
|
|
32
|
+
readonly selectable?: boolean;
|
|
33
|
+
};
|
|
34
|
+
readonly expected: AdwBoxSelectResult;
|
|
35
|
+
}
|
|
36
|
+
export declare const BOX_ROW_VECTORS: readonly BoxRowVector[];
|
|
37
|
+
/** One `select_all` / `unselect_all`, and what it must answer. */
|
|
38
|
+
export interface BoxAllVector {
|
|
39
|
+
readonly rule: string;
|
|
40
|
+
readonly op: 'select-all' | 'unselect-all';
|
|
41
|
+
readonly selection: readonly number[];
|
|
42
|
+
readonly length: number;
|
|
43
|
+
readonly mode: AdwBoxSelectionMode;
|
|
44
|
+
/** `null` is the refusal — the C emits nothing. */
|
|
45
|
+
readonly expected: number[] | null;
|
|
46
|
+
}
|
|
47
|
+
export declare const BOX_ALL_VECTORS: readonly BoxAllVector[];
|
|
@@ -15,10 +15,12 @@ export interface BreakpointPickVector {
|
|
|
15
15
|
* `adw_breakpoint_bin_size_allocate` iterates backwards and takes the first match:
|
|
16
16
|
* "Iterate in reverse order since we prioritize breakpoints added last" (:432).
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* the
|
|
18
|
+
* DRIVEN from the browser renderer, by `packages/web/adwaita-web/src/
|
|
19
|
+
* adw-breakpoint-bin.spec.ts`: each row is a real `<adw-breakpoint-bin>` with a real
|
|
20
|
+
* `<adw-label>` per object, resized through a real `ResizeObserver`, and the pick read
|
|
21
|
+
* back off the element. The NativeScript port has no `AdwBreakpointBin` view yet —
|
|
22
|
+
* `status/open-todos/adwaita-ports.md` records that — so this table holds the browser
|
|
23
|
+
* side alone today, and the `#1343` React Native work is written against it.
|
|
22
24
|
*/
|
|
23
25
|
export declare const BREAKPOINT_PICK_VECTORS: ReadonlyArray<BreakpointPickVector>;
|
|
24
26
|
/**
|
|
@@ -47,9 +49,10 @@ export interface BreakpointTransitionVector {
|
|
|
47
49
|
* their originals, skipping any the incoming breakpoint also sets, then write the
|
|
48
50
|
* incoming values.
|
|
49
51
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
52
|
+
* Driven from the browser renderer by `packages/web/adwaita-web/src/
|
|
53
|
+
* adw-breakpoint-bin.spec.ts`, which replays each row as a sequence of resizes of one
|
|
54
|
+
* mounted `<adw-breakpoint-bin>` and reads the attribute each write landed on. The
|
|
55
|
+
* NativeScript port has no `AdwBreakpointBin` view yet, so this table holds the browser
|
|
56
|
+
* side alone today; #1343 is the React Native set written against it.
|
|
54
57
|
*/
|
|
55
58
|
export declare const BREAKPOINT_TRANSITION_VECTORS: ReadonlyArray<BreakpointTransitionVector>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { AdwCalendarDate, AdwCalendarStep } from '../calendar.js';
|
|
2
|
+
/** One month, and the cells its grid must hold. */
|
|
3
|
+
export interface CalendarDaysVector {
|
|
4
|
+
readonly rule: string;
|
|
5
|
+
readonly year: number;
|
|
6
|
+
/** 1-12, `GDateTime`'s own numbering. */
|
|
7
|
+
readonly month: number;
|
|
8
|
+
/** 0 = Sunday, as `_NL_TIME_FIRST_WEEKDAY` and `g_date_time_get_day_of_week` spell it. */
|
|
9
|
+
readonly weekStart: number;
|
|
10
|
+
/** How many leading cells belong to the PREVIOUS month. */
|
|
11
|
+
readonly leading: number;
|
|
12
|
+
/** How many trailing cells belong to the NEXT month. */
|
|
13
|
+
readonly trailing: number;
|
|
14
|
+
/** The last cell, as `YYYY-MM-DD` — the row that proves the tail ran where the C runs it. */
|
|
15
|
+
readonly last: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const CALENDAR_DAYS_VECTORS: readonly CalendarDaysVector[];
|
|
18
|
+
/** One date, and the ISO week its `week-number` label must show. */
|
|
19
|
+
export interface CalendarWeekVector {
|
|
20
|
+
readonly rule: string;
|
|
21
|
+
readonly date: AdwCalendarDate;
|
|
22
|
+
readonly week: number;
|
|
23
|
+
}
|
|
24
|
+
export declare const CALENDAR_WEEK_VECTORS: readonly CalendarWeekVector[];
|
|
25
|
+
/** One navigation press, and the date it must land on. */
|
|
26
|
+
export interface CalendarStepVector {
|
|
27
|
+
readonly rule: string;
|
|
28
|
+
readonly from: AdwCalendarDate;
|
|
29
|
+
readonly step: AdwCalendarStep;
|
|
30
|
+
readonly expected: AdwCalendarDate;
|
|
31
|
+
}
|
|
32
|
+
export declare const CALENDAR_STEP_VECTORS: readonly CalendarStepVector[];
|
|
33
|
+
/** One selection write, and what it changes. */
|
|
34
|
+
export interface CalendarSelectVector {
|
|
35
|
+
readonly rule: string;
|
|
36
|
+
readonly current: AdwCalendarDate;
|
|
37
|
+
readonly target: AdwCalendarDate;
|
|
38
|
+
/** The `emit_day_signal` argument the caller passes. */
|
|
39
|
+
readonly emit: boolean;
|
|
40
|
+
readonly expected: {
|
|
41
|
+
readonly date: AdwCalendarDate;
|
|
42
|
+
readonly dayChanged: boolean;
|
|
43
|
+
readonly monthChanged: boolean;
|
|
44
|
+
readonly yearChanged: boolean;
|
|
45
|
+
readonly emitDaySignal: boolean;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export declare const CALENDAR_SELECT_VECTORS: readonly CalendarSelectVector[];
|
|
49
|
+
/** One mark write, and what the 31-slot table must answer. */
|
|
50
|
+
export interface CalendarMarkVector {
|
|
51
|
+
readonly rule: string;
|
|
52
|
+
readonly marked: readonly boolean[];
|
|
53
|
+
readonly day: number;
|
|
54
|
+
readonly mark: boolean;
|
|
55
|
+
/** The table afterwards; the IDENTITY is the point for the two no-op rows. */
|
|
56
|
+
readonly expected: readonly boolean[];
|
|
57
|
+
readonly changed: boolean;
|
|
58
|
+
}
|
|
59
|
+
export declare const CALENDAR_MARK_VECTORS: readonly CalendarMarkVector[];
|
|
60
|
+
/** Which header arrows are live at a date — `calendar_update_navigation_buttons`. */
|
|
61
|
+
export interface CalendarNavigationVector {
|
|
62
|
+
readonly rule: string;
|
|
63
|
+
readonly date: AdwCalendarDate;
|
|
64
|
+
readonly expected: {
|
|
65
|
+
readonly previousMonth: boolean;
|
|
66
|
+
readonly nextMonth: boolean;
|
|
67
|
+
readonly previousYear: boolean;
|
|
68
|
+
readonly nextYear: boolean;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export declare const CALENDAR_NAVIGATION_VECTORS: readonly CalendarNavigationVector[];
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { SharedTreeNode } from './shared-trees.js';
|
|
2
|
+
/** The construct kinds, in the order the tables list them. */
|
|
3
|
+
export declare const CONSTRUCT_KINDS: readonly ["layout", "strings", "responses", "page", "extern", "signal", "bind", "breakpoint"];
|
|
4
|
+
export type ConstructKind = (typeof CONSTRUCT_KINDS)[number];
|
|
5
|
+
/** `implemented`, or the sentence a human can act on — it is the text the error prints. */
|
|
6
|
+
export type ConstructCapability = 'implemented' | {
|
|
7
|
+
readonly refused: string;
|
|
8
|
+
};
|
|
9
|
+
/** A renderer's `./capabilities` export: TOTAL over {@link ConstructKind}. */
|
|
10
|
+
export type ConstructCapabilities = Readonly<Record<ConstructKind, ConstructCapability>>;
|
|
11
|
+
/** One occurrence of a construct in a tree, addressed the way a failure has to name it. */
|
|
12
|
+
export interface ConstructUse {
|
|
13
|
+
kind: ConstructKind;
|
|
14
|
+
/** The pre-order address `authoredNodes` gives the node. */
|
|
15
|
+
path: string;
|
|
16
|
+
}
|
|
17
|
+
/** Every construct `root` uses, in pre-order. */
|
|
18
|
+
export declare function constructUsesOf(root: SharedTreeNode): ConstructUse[];
|
|
19
|
+
/** A tree uses a construct the renderer it was handed to refuses. */
|
|
20
|
+
export declare class UnsupportedConstructError extends Error {
|
|
21
|
+
readonly renderer: string;
|
|
22
|
+
readonly refused: readonly {
|
|
23
|
+
kind: ConstructKind;
|
|
24
|
+
path: string;
|
|
25
|
+
reason: string;
|
|
26
|
+
}[];
|
|
27
|
+
constructor(renderer: string, refused: readonly {
|
|
28
|
+
kind: ConstructKind;
|
|
29
|
+
path: string;
|
|
30
|
+
reason: string;
|
|
31
|
+
}[]);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The builder pre-check: throws {@link UnsupportedConstructError} for every construct of `root`
|
|
35
|
+
* that `capabilities` refuses, before the caller creates anything.
|
|
36
|
+
*
|
|
37
|
+
* A table that lacks a kind this tree uses is a defect of the table and says so rather than
|
|
38
|
+
* reading as permission.
|
|
39
|
+
*/
|
|
40
|
+
export declare function assertTreeConstructs(renderer: string, capabilities: ConstructCapabilities, root: SharedTreeNode): void;
|
|
41
|
+
/**
|
|
42
|
+
* One construct, as an authored tree and what a renderer that builds it must show.
|
|
43
|
+
*
|
|
44
|
+
* `shows` is renderer-free data; each renderer's `read` turns its realised tree into the same
|
|
45
|
+
* shape, so a failure is attributable to the renderer and not to two suites disagreeing.
|
|
46
|
+
*/
|
|
47
|
+
export interface ConstructVector {
|
|
48
|
+
readonly kind: ConstructKind;
|
|
49
|
+
readonly rule: string;
|
|
50
|
+
readonly tree: SharedTreeNode;
|
|
51
|
+
readonly shows: unknown;
|
|
52
|
+
}
|
|
53
|
+
export declare const CONSTRUCT_VECTORS: readonly ConstructVector[];
|
|
54
|
+
/**
|
|
55
|
+
* The sizes a renderer feeds the `breakpoint` vector through its own size source, in order, and
|
|
56
|
+
* reads the caption after each: wide, then narrow enough for the condition, then wide again.
|
|
57
|
+
*/
|
|
58
|
+
export declare const BREAKPOINT_VECTOR_SIZES: readonly {
|
|
59
|
+
readonly width: number;
|
|
60
|
+
readonly height: number;
|
|
61
|
+
}[];
|
|
62
|
+
/** The name the extern vector's class is registered under, so each renderer registers the same one. */
|
|
63
|
+
export declare const EXTERN_VECTOR_CLASS = "CorpusExtern";
|
|
64
|
+
/** What a renderer hands {@link driveConstructVectors}. */
|
|
65
|
+
export interface ConstructRenderer {
|
|
66
|
+
/** The package name, as an error prints it. */
|
|
67
|
+
readonly name: string;
|
|
68
|
+
readonly capabilities: ConstructCapabilities;
|
|
69
|
+
/** The vectors it is held to — passed in so the renderer's own suite names the table it drives. */
|
|
70
|
+
readonly vectors: readonly ConstructVector[];
|
|
71
|
+
/** Builds `tree` through the renderer's REAL builder, reads it, and tears it down. */
|
|
72
|
+
observe(vector: ConstructVector): unknown;
|
|
73
|
+
}
|
|
74
|
+
/** The slice of `@gjsify/unit` this driver uses; the package cannot import it at run time. */
|
|
75
|
+
export interface ConstructHarness {
|
|
76
|
+
describe(name: string, fn: () => void | Promise<void>): void | Promise<void>;
|
|
77
|
+
it(name: string, fn: () => void | Promise<void>): void | Promise<void>;
|
|
78
|
+
expect(actual: unknown): {
|
|
79
|
+
toBe(expected: unknown): void;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Holds a renderer's capability table to the vectors, in both directions, and fails a table
|
|
84
|
+
* that lacks a kind.
|
|
85
|
+
*/
|
|
86
|
+
export declare function driveConstructVectors(renderer: ConstructRenderer, harness: ConstructHarness): Promise<void>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** The geometry every row below is stated against. */
|
|
2
|
+
export declare const GRID_NAVIGATION_GEOMETRY: {
|
|
3
|
+
readonly count: 7;
|
|
4
|
+
readonly columns: 3;
|
|
5
|
+
};
|
|
6
|
+
export interface GridNavigationVector {
|
|
7
|
+
key: string;
|
|
8
|
+
from: number;
|
|
9
|
+
/** The index the cursor lands on, `null` when it stays. */
|
|
10
|
+
to: number | null;
|
|
11
|
+
}
|
|
12
|
+
export declare const GRID_NAVIGATION_VECTORS: readonly GridNavigationVector[];
|
|
@@ -30,12 +30,22 @@ export { ADJUSTMENT_AUTHORED_VECTORS, ADJUSTMENT_PARSE_VECTORS, ADJUSTMENT_SNAP_
|
|
|
30
30
|
export type { AdjustmentAuthoredVector, AdjustmentParseVector, AdjustmentSnapVector } from './adjustment.js';
|
|
31
31
|
export { LIST_ITEMS_CHANGED_VECTORS, LIST_MODEL_OWNERSHIP_VECTORS, LIST_NORMALIZE_VECTORS, LIST_PARSE_VECTORS, LIST_SELECTION_CLAMP_VECTORS, TAB_PAGES_ITEMS_CHANGED_VECTORS, applyListReadback, replayTabPagesAsSplices, } from './list.js';
|
|
32
32
|
export type { ListItemsChangedVector, ListModelOwnershipVector, ListNormalizeVector, ListParseVector, ListReadbackOp, ListSelectionClampVector, TabPagesItemsChangedVector, } from './list.js';
|
|
33
|
+
export { COLUMN_VIEW_SORT_VECTORS, GRID_VIEW_COLUMN_VECTORS, LIST_VIEW_SELECT_VECTORS } from './list-view.js';
|
|
34
|
+
export type { ColumnViewSortVector, GridViewColumnVector, ListViewClick, ListViewSelectVector } from './list-view.js';
|
|
35
|
+
export { TREE_EXPANDER_LAYOUT_VECTORS, TREE_EXPANDER_SHORTCUT_VECTORS } from './tree-expander.js';
|
|
36
|
+
export type { TreeExpanderLayoutVector, TreeExpanderShortcutVector } from './tree-expander.js';
|
|
37
|
+
export { BOX_ALL_VECTORS, BOX_ROW_VECTORS, BOX_SELECT_VECTORS } from './box-selection.js';
|
|
38
|
+
export type { BoxAllVector, BoxRowVector, BoxSelectVector } from './box-selection.js';
|
|
39
|
+
export { CALENDAR_DAYS_VECTORS, CALENDAR_MARK_VECTORS, CALENDAR_NAVIGATION_VECTORS, CALENDAR_SELECT_VECTORS, CALENDAR_STEP_VECTORS, CALENDAR_WEEK_VECTORS, } from './calendar.js';
|
|
40
|
+
export type { CalendarDaysVector, CalendarMarkVector, CalendarNavigationVector, CalendarSelectVector, CalendarStepVector, CalendarWeekVector, } from './calendar.js';
|
|
33
41
|
export { MENU_DETAILED_ACTION_VECTORS, MENU_FLATTEN_VECTORS, MENU_ITEM_STATE_VECTORS, MENU_NORMALIZE_VECTORS, MENU_PARSE_VECTORS, MENU_REFUSAL_VECTORS, } from './menu.js';
|
|
34
42
|
export type { MenuDetailedActionVector, MenuFlatRowVector, MenuFlattenVector, MenuItemStateVector, MenuNormalizeVector, MenuParseVector, MenuRefusalVector, } from './menu.js';
|
|
35
|
-
export { INLINE_TOGGLE_VECTORS, INLINE_TOOLTIP_VECTORS, VIEW_SWITCHER_BADGE_VECTORS, VIEW_SWITCHER_BAR_REVEAL_VECTORS, VIEW_SWITCHER_BAR_VECTORS, VIEW_SWITCHER_BUTTON_VECTORS, VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS, VIEW_SWITCHER_DRAG_VECTORS, VIEW_SWITCHER_ICON_VECTORS, VIEW_SWITCHER_MNEMONIC_VECTORS, VIEW_SWITCHER_REBUILD_VECTORS, VIEW_SWITCHER_SELECTION_VECTORS, createViewSwitcherClock, } from './view-switcher.js';
|
|
36
|
-
export type { ExpectedInlineToggle, ExpectedViewSwitcherButton, InlineToggleVector, InlineTooltipVector, MnemonicVector, ViewSwitcherBadgeVector, ViewSwitcherBarRevealVector, ViewSwitcherBarSnapshot, ViewSwitcherBarStep, ViewSwitcherBarVector, ViewSwitcherButtonVector, ViewSwitcherButtonVisibilityVector, ViewSwitcherClock, ViewSwitcherDragStep, ViewSwitcherDragVector, ViewSwitcherIconVector, ViewSwitcherRebuildVector, ViewSwitcherSelectionVector, ViewSwitcherVectorChange, ViewSwitcherVectorOp, ViewSwitcherVectorPage, } from './view-switcher.js';
|
|
37
|
-
export { TABS_REVEALED_VECTORS, TAB_CLOSE_VISIBLE_VECTORS, TAB_DESCENDANT_VECTORS, TAB_ICON_STATE_VECTORS, TAB_PAGE_DESCRIPTOR_VECTORS, TAB_SUCCESSOR_VECTORS, TAB_TOOLTIP_VECTORS, TAB_VIEW_VECTORS, applyTabViewOp, seedTabViewPages, tabViewClosing, tabViewOrder, } from './tab-view.js';
|
|
38
|
-
export type { TabCloseVisibleVector, TabDescendantVector, TabIconStateVector, TabPageDescriptorVector, TabSuccessorVector, TabTooltipVector, TabViewVector, TabViewVectorHandler, TabViewVectorOp, TabViewVectorPage, TabViewVectorPagesChange, TabViewVectorSelection, TabViewVectorTarget, TabsRevealedVector, } from './tab-view.js';
|
|
43
|
+
export { INLINE_TOGGLE_VECTORS, INLINE_TOOLTIP_VECTORS, VIEW_SWITCHER_BADGE_VECTORS, VIEW_SWITCHER_SIDEBAR_SECTION_VECTORS, VIEW_SWITCHER_BAR_REVEAL_VECTORS, VIEW_SWITCHER_BAR_VECTORS, VIEW_SWITCHER_BUTTON_VECTORS, VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS, VIEW_SWITCHER_DRAG_VECTORS, VIEW_SWITCHER_ICON_VECTORS, VIEW_SWITCHER_MNEMONIC_VECTORS, VIEW_SWITCHER_REBUILD_VECTORS, VIEW_SWITCHER_SELECTION_VECTORS, createViewSwitcherClock, } from './view-switcher.js';
|
|
44
|
+
export type { ExpectedInlineToggle, ExpectedViewSwitcherButton, InlineToggleVector, InlineTooltipVector, MnemonicVector, ViewSwitcherBadgeVector, ViewSwitcherSidebarSectionVector, ViewSwitcherBarRevealVector, ViewSwitcherBarSnapshot, ViewSwitcherBarStep, ViewSwitcherBarVector, ViewSwitcherButtonVector, ViewSwitcherButtonVisibilityVector, ViewSwitcherClock, ViewSwitcherDragStep, ViewSwitcherDragVector, ViewSwitcherIconVector, ViewSwitcherRebuildVector, ViewSwitcherSelectionVector, ViewSwitcherVectorChange, ViewSwitcherVectorOp, ViewSwitcherVectorPage, } from './view-switcher.js';
|
|
45
|
+
export { TABS_REVEALED_VECTORS, TAB_CLOSE_VISIBLE_VECTORS, TAB_DESCENDANT_VECTORS, TAB_ICON_STATE_VECTORS, TAB_PAGE_DESCRIPTOR_VECTORS, TAB_SEARCH_VECTORS, TAB_SUCCESSOR_VECTORS, TAB_TOOLTIP_VECTORS, TAB_VIEW_VECTORS, applyTabViewOp, seedTabViewPages, tabViewClosing, tabViewOrder, } from './tab-view.js';
|
|
46
|
+
export type { TabCloseVisibleVector, TabDescendantVector, TabIconStateVector, TabPageDescriptorVector, TabSearchVector, TabSuccessorVector, TabTooltipVector, TabViewVector, TabViewVectorHandler, TabViewVectorOp, TabViewVectorPage, TabViewVectorPagesChange, TabViewVectorSelection, TabViewVectorTarget, TabsRevealedVector, } from './tab-view.js';
|
|
47
|
+
export { GRID_NAVIGATION_GEOMETRY, GRID_NAVIGATION_VECTORS } from './grid-navigation.js';
|
|
48
|
+
export type { GridNavigationVector } from './grid-navigation.js';
|
|
39
49
|
export { CAROUSEL_CLAMP_VECTORS, CAROUSEL_NAVIGATE_VECTORS, CAROUSEL_PAGE_ALLOCATION_VECTORS, CAROUSEL_PAGE_AT_POSITION_VECTORS, CAROUSEL_PAGE_LIST_VECTORS, CAROUSEL_PROPERTY_DEFAULT_VECTORS, CAROUSEL_RANGE_VECTORS, CAROUSEL_REORDER_SHIFT_VECTORS, CAROUSEL_REVEAL_VECTORS, CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS, CAROUSEL_SNAP_POINT_VECTORS, CAROUSEL_WHEEL_LOCKOUT_VECTORS, CAROUSEL_WHEEL_VECTORS, } from './carousel.js';
|
|
40
50
|
export type { CarouselClampVector, CarouselNavigateVector, CarouselPageAllocationVector, CarouselPageAtPositionVector, CarouselPageListVector, CarouselPageOp, CarouselPropertyDefaultVector, CarouselRangeVector, CarouselReorderShiftVector, CarouselRevealOp, CarouselRevealVector, CarouselSizesFromSnapPointsVector, CarouselSnapPointVector, CarouselStateSnapshot, CarouselWheelLockoutStep, CarouselWheelLockoutVector, CarouselWheelVector, } from './carousel.js';
|
|
41
51
|
export { DATA_GRID_CELL_TEXT_VECTORS, DATA_GRID_COLUMN_CLASS_VECTORS, DATA_GRID_COLUMN_NORMALIZE_VECTORS, DATA_GRID_INTERACTIVE_VECTORS, DATA_GRID_TRACK_VECTORS, DATA_GRID_VARIANT_VECTORS, } from './data-grid.js';
|
|
@@ -72,3 +82,5 @@ export { VALUE_LIST_VECTORS } from './value-lists.js';
|
|
|
72
82
|
export type { ValueListResponse, ValueListVector } from './value-lists.js';
|
|
73
83
|
export { SHARED_TREE_BLOCKS_WITHOUT_EXPECTATIONS, SHARED_TREE_TABLES, authoredNodes, authoredTags, reachedTables, sharedTreeExpectations, sharedTreePlacements, subjectIndexOf, withoutPlacements, } from './shared-trees.js';
|
|
74
84
|
export type { SharedTreeExpectation, SharedTreeNode, SharedTreeObservable, SharedTreePlacement, } from './shared-trees.js';
|
|
85
|
+
export { CONSTRUCT_KINDS, BREAKPOINT_VECTOR_SIZES, EXTERN_VECTOR_CLASS, CONSTRUCT_VECTORS, UnsupportedConstructError, assertTreeConstructs, constructUsesOf, driveConstructVectors, } from './constructs.js';
|
|
86
|
+
export type { ConstructCapabilities, ConstructCapability, ConstructHarness, ConstructKind, ConstructRenderer, ConstructUse, ConstructVector, } from './constructs.js';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { AdwColumnViewSort, AdwListSelectionMode } from '../list-view.js';
|
|
2
|
+
/** One click on a row, with the two modifiers GTK reads off the event. */
|
|
3
|
+
export interface ListViewClick {
|
|
4
|
+
/** The row that was clicked. */
|
|
5
|
+
readonly position: number;
|
|
6
|
+
/** `<Ctrl>` — toggle rather than replace. */
|
|
7
|
+
readonly modify?: boolean;
|
|
8
|
+
/** `<Shift>` — extend from the anchor. */
|
|
9
|
+
readonly extend?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/** One selection scenario: a fresh view of `length` rows, then these clicks. */
|
|
12
|
+
export interface ListViewSelectVector {
|
|
13
|
+
/** What the row establishes, in one sentence. */
|
|
14
|
+
readonly rule: string;
|
|
15
|
+
/** Which `Gtk.SelectionModel` the view behaves as. */
|
|
16
|
+
readonly mode: AdwListSelectionMode;
|
|
17
|
+
/** How many items the model holds. */
|
|
18
|
+
readonly length: number;
|
|
19
|
+
/** The clicks, in order, from an empty selection. */
|
|
20
|
+
readonly clicks: readonly ListViewClick[];
|
|
21
|
+
/** The positions selected afterwards, ascending. */
|
|
22
|
+
readonly selection: readonly number[];
|
|
23
|
+
}
|
|
24
|
+
export declare const LIST_VIEW_SELECT_VECTORS: readonly ListViewSelectVector[];
|
|
25
|
+
/** One column-count scenario — the four inputs `gtk_grid_view_compute_n_columns` takes. */
|
|
26
|
+
export interface GridViewColumnVector {
|
|
27
|
+
/** What the row establishes, in one sentence. */
|
|
28
|
+
readonly rule: string;
|
|
29
|
+
/** The size available along the reflow axis, in px. */
|
|
30
|
+
readonly forSize: number;
|
|
31
|
+
/** One item's size along the same axis, in px. */
|
|
32
|
+
readonly itemSize: number;
|
|
33
|
+
/** The gap between two items, in px. */
|
|
34
|
+
readonly spacing: number;
|
|
35
|
+
/** `GtkGridView:min-columns`. */
|
|
36
|
+
readonly minColumns: number;
|
|
37
|
+
/** `GtkGridView:max-columns`. */
|
|
38
|
+
readonly maxColumns: number;
|
|
39
|
+
/** How many columns the view lays out. */
|
|
40
|
+
readonly columns: number;
|
|
41
|
+
}
|
|
42
|
+
export declare const GRID_VIEW_COLUMN_VECTORS: readonly GridViewColumnVector[];
|
|
43
|
+
/** One header click: the sort before it, the column clicked, the sort after. */
|
|
44
|
+
export interface ColumnViewSortVector {
|
|
45
|
+
/** What the row establishes, in one sentence. */
|
|
46
|
+
readonly rule: string;
|
|
47
|
+
/** The sort in force before the click. */
|
|
48
|
+
readonly current: AdwColumnViewSort | null;
|
|
49
|
+
/** The clicked column's id. */
|
|
50
|
+
readonly column: string;
|
|
51
|
+
/** Whether that column declares a sorter at all. */
|
|
52
|
+
readonly sortable: boolean;
|
|
53
|
+
/** The sort in force afterwards. */
|
|
54
|
+
readonly next: AdwColumnViewSort | null;
|
|
55
|
+
}
|
|
56
|
+
export declare const COLUMN_VIEW_SORT_VECTORS: readonly ColumnViewSortVector[];
|
|
@@ -33,6 +33,15 @@ export interface SharedTreeNode {
|
|
|
33
33
|
* projection can be held against each other on it — and are, by stage D's addressing arm.
|
|
34
34
|
*/
|
|
35
35
|
template?: string;
|
|
36
|
+
/**
|
|
37
|
+
* `tag` is a class the APPLICATION registers (`$SourceView`), in no GIR (ADR 0093).
|
|
38
|
+
*
|
|
39
|
+
* The tag is spelled as the `.blp` spells it, without a namespace default, and a renderer
|
|
40
|
+
* resolves it in its own `registerTemplateClass` registry instead of in the toolkit's class
|
|
41
|
+
* list. An unregistered name is a refusal that names it. What the registered class builds
|
|
42
|
+
* inside itself is its own business: typically its own `.blp?shared-tree`.
|
|
43
|
+
*/
|
|
44
|
+
extern?: true;
|
|
36
45
|
/**
|
|
37
46
|
* Where in the parent this child goes — the placement, spelled as the GTK side spells it.
|
|
38
47
|
*
|
|
@@ -55,6 +64,23 @@ export interface SharedTreeNode {
|
|
|
55
64
|
*/
|
|
56
65
|
slot?: string;
|
|
57
66
|
props?: Readonly<Record<string, string | number | boolean>>;
|
|
67
|
+
/**
|
|
68
|
+
* What a `Gtk.Notebook` or `Gtk.Stack` needs to know about THIS child as one of its pages.
|
|
69
|
+
*
|
|
70
|
+
* A page is not a widget: `GtkNotebookPage` and `GtkStackPage` are GObjects with no tag
|
|
71
|
+
* (gtknotebook.c:423, gtkstack.c:212), so their `tab-label` / `title` / `name` have no node
|
|
72
|
+
* to live on. They are data on the child, the way a grid cell is. `label` is the notebook's
|
|
73
|
+
* tab text and the stack's page title; `name` is the stack page's address. A notebook child
|
|
74
|
+
* with no `page` is numbered by GTK ("Page 3"), which is the page with no label.
|
|
75
|
+
*
|
|
76
|
+
* A renderer whose parent has no page concept REFUSES it by name rather than dropping it: a
|
|
77
|
+
* stack page with no name lands at exit 0 as a child nobody can switch to. Which renderers
|
|
78
|
+
* build it is each one's own answer (ADR 0093 § 2), not a rule of this shape.
|
|
79
|
+
*/
|
|
80
|
+
page?: Readonly<{
|
|
81
|
+
label?: string;
|
|
82
|
+
name?: string;
|
|
83
|
+
}>;
|
|
58
84
|
/**
|
|
59
85
|
* Which of this node's `props` are marked for translation, keyed by the prop name.
|
|
60
86
|
*
|
|
@@ -119,6 +145,50 @@ export interface SharedTreeNode {
|
|
|
119
145
|
readonly enabled?: boolean;
|
|
120
146
|
}[];
|
|
121
147
|
}>;
|
|
148
|
+
/**
|
|
149
|
+
* The `layout { }` block: properties of the child's PLACEMENT in a layout manager
|
|
150
|
+
* (`GtkGridLayoutChild`'s `row`, `column`, `row-span`, `column-span`), as the source wrote
|
|
151
|
+
* them (ADR 0092). Never typed against the widget, so an identifier stays its spelling.
|
|
152
|
+
*/
|
|
153
|
+
layout?: Readonly<Record<string, string | number | boolean>>;
|
|
154
|
+
/**
|
|
155
|
+
* The signal handlers this node binds (`clicked => $onClicked()`), in source order and spelled
|
|
156
|
+
* as the `.blp` wrote them (ADR 0093).
|
|
157
|
+
*
|
|
158
|
+
* `handler` is a NAME, never code: the builder resolves it against a scope object it is
|
|
159
|
+
* handed, as `Gtk.BuilderScope` does, and a missing handler is a refusal. `name` and `detail`
|
|
160
|
+
* are the two halves of `notify::sensitive`. `object` is the `(obj)` the handler is swapped
|
|
161
|
+
* with. A renderer that has not verified `swapped`, `after`, `not-swapped` or `object` refuses
|
|
162
|
+
* them by name rather than binding a handler that fires differently from GTK's.
|
|
163
|
+
*/
|
|
164
|
+
signals?: readonly {
|
|
165
|
+
readonly name: string;
|
|
166
|
+
readonly detail?: string;
|
|
167
|
+
readonly handler: string;
|
|
168
|
+
readonly object?: string;
|
|
169
|
+
readonly flags?: readonly ('swapped' | 'after' | 'not-swapped')[];
|
|
170
|
+
}[];
|
|
171
|
+
/**
|
|
172
|
+
* The simple `bind`s, keyed by the TARGET property (ADR 0093): one source, one property, the
|
|
173
|
+
* flags as written. `source` is an object id in this tree, or `template` for the component
|
|
174
|
+
* itself. An expression form (lookup chain, closure, cast pair, `expr`) is not carried.
|
|
175
|
+
*/
|
|
176
|
+
bindings?: Readonly<Record<string, {
|
|
177
|
+
readonly source: string;
|
|
178
|
+
readonly property: string;
|
|
179
|
+
readonly flags?: readonly ('bidirectional' | 'inverted' | 'no-sync-create')[];
|
|
180
|
+
}>>;
|
|
181
|
+
breakpoints?: readonly {
|
|
182
|
+
readonly condition: string;
|
|
183
|
+
readonly setters: readonly {
|
|
184
|
+
readonly object: string;
|
|
185
|
+
readonly property: string;
|
|
186
|
+
readonly value: string | number | boolean;
|
|
187
|
+
readonly translatable?: {
|
|
188
|
+
context?: string;
|
|
189
|
+
};
|
|
190
|
+
}[];
|
|
191
|
+
}[];
|
|
122
192
|
children?: readonly SharedTreeNode[];
|
|
123
193
|
}
|
|
124
194
|
/**
|
|
@@ -406,3 +406,32 @@ export interface TabPageDescriptorVector {
|
|
|
406
406
|
* CORE-ONLY: GAP — a descriptor normaliser neither element routes its page input through. Tracked in #1072
|
|
407
407
|
*/
|
|
408
408
|
export declare const TAB_PAGE_DESCRIPTOR_VECTORS: ReadonlyArray<TabPageDescriptorVector>;
|
|
409
|
+
/** One `tabSearchMatches` expectation. */
|
|
410
|
+
export interface TabSearchVector {
|
|
411
|
+
/** `AdwTabPage:title`. */
|
|
412
|
+
title: string;
|
|
413
|
+
/** `AdwTabPage:tooltip`. */
|
|
414
|
+
tooltip: string;
|
|
415
|
+
/** `AdwTabPage:keyword`. */
|
|
416
|
+
keyword: string;
|
|
417
|
+
/** What `AdwTabGrid`'s search entry holds. */
|
|
418
|
+
terms: string;
|
|
419
|
+
matches: boolean;
|
|
420
|
+
rule: string;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* `AdwTabGrid`'s search: three `GtkStringFilter`s over the page's `title`,
|
|
424
|
+
* `tooltip` and `keyword`, ANDed by a `GtkMultiFilter`
|
|
425
|
+
* (adw-tab-grid.c:3532-3547), each with the `GtkStringFilter` defaults —
|
|
426
|
+
* SUBSTRING match, case folding, `G_NORMALIZE_ALL` on both sides
|
|
427
|
+
* (gtkstringfilter.c:276,297).
|
|
428
|
+
*
|
|
429
|
+
* The rule that a hand-written copy gets wrong is the EMPTY property: matching it
|
|
430
|
+
* would make every page with no tooltip match every term, because "no tooltip" is
|
|
431
|
+
* not a substring of anything.
|
|
432
|
+
*
|
|
433
|
+
* Reference: refs/libadwaita/src/adw-tab-grid.c:3532-3547 (the three filters)
|
|
434
|
+
* Reference: refs/gtk/gtk/gtkstringfilter.c:70-138 (prepare, has_search, match)
|
|
435
|
+
* Copyright (c) GNOME contributors (libadwaita). LGPLv2.1+.
|
|
436
|
+
*/
|
|
437
|
+
export declare const TAB_SEARCH_VECTORS: ReadonlyArray<TabSearchVector>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { AdwTreeExpanderAction, AdwTreeExpanderIcon, AdwTreeExpanderKeyState, AdwTreeExpanderOptions, AdwTreeExpanderRow } from '../tree-expander.js';
|
|
2
|
+
/** One row under one set of the three properties, and the subtree it draws. */
|
|
3
|
+
export interface TreeExpanderLayoutVector {
|
|
4
|
+
/** What the row establishes, in one sentence. */
|
|
5
|
+
readonly rule: string;
|
|
6
|
+
/** What the `Gtk.TreeListRow` says, or null for an expander with no row. */
|
|
7
|
+
readonly row: AdwTreeExpanderRow | null;
|
|
8
|
+
/** The three `Gtk.TreeExpander` properties, GTK's defaults where absent. */
|
|
9
|
+
readonly options: AdwTreeExpanderOptions;
|
|
10
|
+
/** How many `indent` nodes precede the expander and the child. */
|
|
11
|
+
readonly indents: number;
|
|
12
|
+
/** What the `expander` node is, or `none` where the row draws none. */
|
|
13
|
+
readonly expander: AdwTreeExpanderIcon;
|
|
14
|
+
/** `GTK_ACCESSIBLE_PROPERTY_LEVEL`, which the C notes "is >= 1". */
|
|
15
|
+
readonly level: number;
|
|
16
|
+
}
|
|
17
|
+
export declare const TREE_EXPANDER_LAYOUT_VECTORS: readonly TreeExpanderLayoutVector[];
|
|
18
|
+
/** One key press under one modifier state, and the action it asks for. */
|
|
19
|
+
export interface TreeExpanderShortcutVector {
|
|
20
|
+
/** What the row establishes, in one sentence. */
|
|
21
|
+
readonly rule: string;
|
|
22
|
+
/** The `KeyboardEvent.key` value. */
|
|
23
|
+
readonly key: string;
|
|
24
|
+
/** The modifiers and the text direction. */
|
|
25
|
+
readonly state: AdwTreeExpanderKeyState;
|
|
26
|
+
/** The `listitem.*` action, or `none`. */
|
|
27
|
+
readonly action: AdwTreeExpanderAction;
|
|
28
|
+
}
|
|
29
|
+
export declare const TREE_EXPANDER_SHORTCUT_VECTORS: readonly TreeExpanderShortcutVector[];
|
|
@@ -373,3 +373,28 @@ export interface ViewSwitcherClock extends ViewSwitcherScheduler {
|
|
|
373
373
|
* drag surface and drives none of these rows.
|
|
374
374
|
*/
|
|
375
375
|
export declare function createViewSwitcherClock(): ViewSwitcherClock;
|
|
376
|
+
/** One `viewSwitcherSidebarSections` row: a page list in, section titles out. */
|
|
377
|
+
export interface ViewSwitcherSidebarSectionVector {
|
|
378
|
+
/** Page names, comma-joined, in stack order. */
|
|
379
|
+
pages: string;
|
|
380
|
+
/** Page names that open a section, comma-joined. */
|
|
381
|
+
starts: string;
|
|
382
|
+
/** One `title` per resulting section, comma-joined (`-` for an empty heading). */
|
|
383
|
+
sections: string;
|
|
384
|
+
/** Page names per resulting section, groups separated by `/`. */
|
|
385
|
+
groups: string;
|
|
386
|
+
rule: string;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* `populate_sidebar` (adw-view-switcher-sidebar.c:225-243): the grouping that makes
|
|
390
|
+
* `AdwViewSwitcherSidebar` different from every other Adw switcher.
|
|
391
|
+
*
|
|
392
|
+
* The rule a hand-written copy gets wrong is the FIRST page: C's condition is
|
|
393
|
+
* `if (!section || adw_view_stack_page_get_starts_section (page))`, so the first page
|
|
394
|
+
* opens a section whatever its `starts-section` says — a stack of four pages where only
|
|
395
|
+
* the last one starts a section yields TWO sections, not one section of four.
|
|
396
|
+
*
|
|
397
|
+
* Reference: refs/libadwaita/src/adw-view-switcher-sidebar.c:225-243
|
|
398
|
+
* Copyright (c) 2025 GNOME Foundation Inc. (libadwaita). LGPLv2.1-or-later.
|
|
399
|
+
*/
|
|
400
|
+
export declare const VIEW_SWITCHER_SIDEBAR_SECTION_VECTORS: ReadonlyArray<ViewSwitcherSidebarSectionVector>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many items share the first row, from each item's top edge in visual order. Items
|
|
3
|
+
* whose tops differ by at most `tolerance` are one row (sub-pixel layout rounds).
|
|
4
|
+
* Always at least 1 for a non-empty grid, 0 for an empty one.
|
|
5
|
+
*/
|
|
6
|
+
export declare function gridColumns(tops: readonly number[], tolerance?: number): number;
|
|
7
|
+
/**
|
|
8
|
+
* The index a key moves to, or `null` when the key is not a grid key or the move would
|
|
9
|
+
* leave the grid. `columns` below 1 is treated as 1.
|
|
10
|
+
*/
|
|
11
|
+
export declare function gridNavigate(key: string, index: number, count: number, columns: number): number | null;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -29,6 +29,14 @@ export { AdwAlertResponses, BottomSheetPresentation, resolveBottomSheetChrome, r
|
|
|
29
29
|
export type { AdwAlertResponse, AdwResponseAppearance, AdwResponseOptions, BottomSheetChrome, BottomSheetChromeState, BottomSheetCloseOutcome, BottomSheetCloseSource, BottomSheetCloseState, BottomSheetLayer, BottomSheetOpenOutcome, BottomSheetOpenSource, BottomSheetOpenState, BottomSheetPresentationListener, BottomSheetPresentationOptions, BottomSheetSwipeTrackerConfig, BottomSheetSwipeTrackerState, BottomSheetTeardownCallback, OrderedConfirmResponses, } from './dialog.js';
|
|
30
30
|
export { ADW_COMBO_NO_SELECTION, clampListSelection, listItemsChanged, normalizeComboOptions, parseListModel, } from './list.js';
|
|
31
31
|
export type { AdwComboOption, AdwComboOptionInput, AdwListItemsChanged, AdwListModel, AdwListModelInput, } from './list.js';
|
|
32
|
+
export { ADW_COLUMN_VIEW_NO_FIXED_WIDTH, ADW_GRID_VIEW_MAX_COLUMNS, ADW_GRID_VIEW_MIN_COLUMNS, columnViewSort, columnViewTracks, gridViewColumns, listItemField, listViewSelect, listViewSelectAll, ListViewState, normalizeColumnViewColumns, normalizeListSelectionMode, parseColumnViewColumns, } from './list-view.js';
|
|
33
|
+
export type { AdwColumnViewColumn, AdwColumnViewSort, AdwListItemContext, AdwListItemFactory, AdwListItemField, AdwListSelectStep, AdwListSelection, AdwListSelectionMode, AdwListSelectResult, ListViewItemsListener, ListViewSelectionChange, ListViewSelectionListener, } from './list-view.js';
|
|
34
|
+
export { treeExpanderAction, treeExpanderExpanded, treeExpanderLayout } from './tree-expander.js';
|
|
35
|
+
export type { AdwTreeExpanderAction, AdwTreeExpanderIcon, AdwTreeExpanderKeyState, AdwTreeExpanderLayout, AdwTreeExpanderOptions, AdwTreeExpanderRow, } from './tree-expander.js';
|
|
36
|
+
export { listBoxSelect, listBoxSelectAll, listBoxSelectRow, listBoxUnselectAll, listBoxUnselectRow, normalizeBoxSelectionMode, } from './box-selection.js';
|
|
37
|
+
export type { AdwBoxSelectResult, AdwBoxSelection, AdwBoxSelectionMode, AdwBoxSelectStep } from './box-selection.js';
|
|
38
|
+
export { CALENDAR_MARK_MAX, CALENDAR_MARK_MIN, CALENDAR_YEAR_MAX, CALENDAR_YEAR_MIN, calendarClearMarks, calendarDayIsMarked, calendarDays, calendarDaysInMonth, calendarIsLeapYear, calendarMarkDay, calendarNavigationButtons, calendarSelectDay, calendarStep, calendarWeekNumber, calendarWeekStart, } from './calendar.js';
|
|
39
|
+
export type { AdwCalendarCell, AdwCalendarCellMonth, AdwCalendarDate, AdwCalendarNavigation, AdwCalendarSelectResult, AdwCalendarStep, } from './calendar.js';
|
|
32
40
|
export { ADW_ADJUSTMENT_DEFAULTS, adjustmentRange, clampAdjustmentValue, normalizeAdjustment, parseAdjustment, snapAdjustmentValue, SpinState, } from './adjustment.js';
|
|
33
41
|
export type { AdwAdjustment, AdwAdjustmentInput, SpinStateChange, SpinStateListener, SpinStateRangeListener, } from './adjustment.js';
|
|
34
42
|
export { GtkAdjustment } from './gtk-adjustment.js';
|
|
@@ -66,10 +74,11 @@ export type { AdwArrowIcon, SplitButtonChange, SplitButtonContentMode, SplitButt
|
|
|
66
74
|
export { GioMenu, GioMenuItem } from './gio-menu.js';
|
|
67
75
|
export { ADW_MENU_SURFACE_NATIVESCRIPT, ADW_MENU_SURFACE_WEB, assertMenuRenderable, flattenMenu, menuItemAt, menuNodeAt, menuRefusals, normalizeMenuModel, parseDetailedAction, parseMenuModel, resolveMenuItemState, } from './menu.js';
|
|
68
76
|
export type { AdwDetailedAction, AdwMenuAction, AdwMenuActions, AdwMenuDisplayHint, AdwMenuEntryInput, AdwMenuFlatRow, AdwMenuHiddenWhen, AdwMenuInput, AdwMenuItem, AdwMenuItemInput, AdwMenuItemRole, AdwMenuItemState, AdwMenuModel, AdwMenuNode, AdwMenuPath, AdwMenuRefusal, AdwMenuSection, AdwMenuSectionInput, AdwMenuSubmenu, AdwMenuSubmenuInput, AdwMenuSurface, AdwMenuTextDirection, } from './menu.js';
|
|
69
|
-
export { DEFAULT_INDICATOR_DESCRIPTION_STRINGS, INLINE_VIEW_SWITCHER_DISPLAY_MODES, VIEW_SWITCHER_BADGE_LIMIT, VIEW_SWITCHER_DRAG_SWITCH_DELAY, VIEW_SWITCHER_FALLBACK_ICON, VIEW_SWITCHER_NO_SELECTION, VIEW_SWITCHER_POLICIES, ViewSwitcherBarState, ViewSwitcherDragSwitch, ViewSwitcherState, buildInlineToggles, buildViewSwitcherButtons, createViewSwitcherPage, inlineToggleTooltip, isInlineViewSwitcherDisplayMode, isViewSwitcherButtonVisible, isViewSwitcherPolicy, pageIndexForToggle, shouldRevealViewSwitcherBar, stripMnemonic, toggleIndexForPage, viewSwitcherBadgeLabel, viewSwitcherButtonOrientation, viewSwitcherIconName, viewSwitcherIndicatorDescription, viewSwitcherLabel, viewSwitcherPageFromStackPage, viewSwitcherPagesFromStack, } from './view-switcher.js';
|
|
70
|
-
export type { AdwInlineViewSwitcherDisplayMode, AdwViewSwitcherPage, AdwViewSwitcherPageInit, AdwViewSwitcherPolicy, IndicatorDescriptionStrings, InlineToggleModel, ViewSwitcherBarChange, ViewSwitcherBarListener, ViewSwitcherButtonModel, ViewSwitcherDragSwitchOptions, ViewSwitcherScheduler, ViewSwitcherStateChange, ViewSwitcherStateListener, ViewSwitcherStateOptions, ViewSwitcherTimerHandle, } from './view-switcher.js';
|
|
71
|
-
export { DEFAULT_TAB_AUTOHIDE, TabViewState, isDescendantOfPage, successorAfterClose, tabCloseVisible, tabIconState, tabTooltip, tabTooltipIsMarkup, tabViewItemsChanged, tabsRevealed, } from './tab-view.js';
|
|
77
|
+
export { DEFAULT_INDICATOR_DESCRIPTION_STRINGS, INLINE_VIEW_SWITCHER_DISPLAY_MODES, VIEW_SWITCHER_BADGE_LIMIT, VIEW_SWITCHER_DRAG_SWITCH_DELAY, VIEW_SWITCHER_FALLBACK_ICON, VIEW_SWITCHER_NO_SELECTION, VIEW_SWITCHER_POLICIES, ViewSwitcherBarState, ViewSwitcherDragSwitch, ViewSwitcherState, buildInlineToggles, buildViewSwitcherButtons, createViewSwitcherPage, inlineToggleTooltip, isInlineViewSwitcherDisplayMode, isViewSwitcherButtonVisible, isViewSwitcherPolicy, pageIndexForToggle, shouldRevealViewSwitcherBar, stripMnemonic, toggleIndexForPage, viewSwitcherBadgeLabel, viewSwitcherButtonOrientation, viewSwitcherIconName, viewSwitcherIndicatorDescription, viewSwitcherLabel, viewSwitcherPageFromStackPage, viewSwitcherPagesFromStack, viewSwitcherSidebarSections, } from './view-switcher.js';
|
|
78
|
+
export type { AdwInlineViewSwitcherDisplayMode, AdwViewSwitcherPage, AdwViewSwitcherPageInit, AdwViewSwitcherPolicy, IndicatorDescriptionStrings, InlineToggleModel, ViewSwitcherBarChange, ViewSwitcherBarListener, ViewSwitcherButtonModel, ViewSwitcherDragSwitchOptions, ViewSwitcherScheduler, ViewSwitcherSidebarSection, ViewSwitcherStateChange, ViewSwitcherStateListener, ViewSwitcherStateOptions, ViewSwitcherTimerHandle, } from './view-switcher.js';
|
|
79
|
+
export { DEFAULT_TAB_AUTOHIDE, TabViewState, isDescendantOfPage, successorAfterClose, tabCloseVisible, tabIconState, tabSearchMatches, tabTooltip, tabTooltipIsMarkup, tabViewItemsChanged, tabsRevealed, } from './tab-view.js';
|
|
72
80
|
export type { AdwTabPageSpec, AdwTabPageState, TabIconState, TabViewHandlers, TabViewPagesChange, TabViewPagesChangeKind, TabViewPagesListener, TabViewSelectionChange, TabViewSelectionListener, } from './tab-view.js';
|
|
81
|
+
export { gridColumns, gridNavigate } from './grid-navigation.js';
|
|
73
82
|
export { ADW_SWIPE_DECELERATION_TOUCH, ADW_SWIPE_DECELERATION_TOUCHPAD, ADW_SWIPE_DRAG_THRESHOLD, ADW_SWIPE_EPSILON, ADW_SWIPE_HISTORY_THRESHOLD_MS, ADW_SWIPE_PARABOLA_MULTIPLIER, ADW_SWIPE_TOUCHPAD_BASE_DISTANCE_H, ADW_SWIPE_TOUCHPAD_BASE_DISTANCE_V, ADW_SWIPE_VELOCITY_CURVE_THRESHOLD, ADW_SWIPE_VELOCITY_THRESHOLD_TOUCH, ADW_SWIPE_VELOCITY_THRESHOLD_TOUCHPAD, SwipeTracker, swipeBounds, swipeClosestPointIndex, swipeEndProgress, swipeNextPointIndex, swipePreviousPointIndex, swipeProjectedPointIndex, swipeSlope, swipeVelocityThreshold, } from './swipe.js';
|
|
74
83
|
export type { AdwSwipeEnd, AdwSwipeEndInput, AdwSwipeRange, AdwSwipeSource } from './swipe.js';
|
|
75
84
|
export { CAROUSEL_SCROLL_TIMEOUT_MS, CAROUSEL_SETTLE_EPSILON, CarouselState, carouselClampPosition, carouselClosestSnapPoint, carouselNavigateTarget, carouselPageAllocation, carouselPageAtPosition, carouselRange, carouselReorderShift, carouselSizesFromSnapPoints, carouselSnapPoints, carouselWheelStep, } from './carousel.js';
|
|
@@ -79,6 +88,8 @@ export type { CaseFolder, MakeComparableOptions, PreferencesGroupHeaderInput, Pr
|
|
|
79
88
|
export { ADW_CLAMP_DEFAULTS, ADW_CLAMP_SIZE_CLASSES, ADW_SPINNER_MAX_SIZE, ADW_SPINNER_MIN_SIZE, ADW_TOOLBAR_BAR_CLASSES, ADW_TOOLBAR_VIEW_CLASSES, ADW_TOOLBAR_VIEW_DEFAULTS, clampAllocate, clampChildSize, clampSizeFromChild, clampThresholds, normalizeClampSize, parseToolbarStyle, resolveSpinnerSize, spinnerGeometry, toolbarBarStyleClasses, toolbarViewAllocate, toolbarViewClasses, toolbarViewContentForSize, toolbarViewMeasure, } from './chrome.js';
|
|
80
89
|
export type { AdwClampSizeClass, AdwMeasurement, AdwToolbarStyle, ClampAllocation, ClampParams, ClampThresholds, SpinnerGeometry, ToolbarViewAllocateInput, ToolbarViewAllocation, ToolbarViewClassInput, ToolbarViewClasses, ToolbarViewContentForSize, ToolbarViewContentForSizeInput, ToolbarViewMeasureInput, } from './chrome.js';
|
|
81
90
|
export { BreakpointBinState } from './breakpoint-bin.js';
|
|
91
|
+
export { createBreakpointDriver } from './breakpoint-driver.js';
|
|
92
|
+
export type { BreakpointDriver, BreakpointDriverDefinition, BreakpointDriverIo, BreakpointDriverSetter, } from './breakpoint-driver.js';
|
|
82
93
|
export type { BreakpointDefinition, BreakpointSetter, BreakpointTransition, BreakpointWrite, } from './breakpoint-bin.js';
|
|
83
94
|
export { HeaderBarState, resolveHeaderBarTitle } from './header-bar.js';
|
|
84
95
|
export type { HeaderBarRenderState, HeaderBarTitleSources } from './header-bar.js';
|