@gjsify/adwaita-nativescript 0.51.1 → 0.52.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/builder/index.js +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/namespace/adw.js +1 -1
- package/lib/esm/namespace/gio.js +1 -0
- package/lib/esm/namespace/gtk.js +1 -1
- package/lib/esm/values/sidebar.js +1 -0
- package/lib/esm/values/tab-page.js +1 -0
- package/lib/esm/widgets/adw-action-row.js +1 -1
- package/lib/esm/widgets/adw-alert-dialog.js +1 -1
- package/lib/esm/widgets/adw-avatar.js +1 -1
- package/lib/esm/widgets/adw-bottom-sheet.js +1 -1
- package/lib/esm/widgets/adw-button-row.js +1 -1
- package/lib/esm/widgets/adw-carousel-indicator-dots.js +1 -0
- package/lib/esm/widgets/adw-carousel-indicator-lines.js +1 -0
- package/lib/esm/widgets/adw-carousel.js +1 -1
- package/lib/esm/widgets/adw-clamp.js +1 -1
- package/lib/esm/widgets/adw-combo-row.js +1 -1
- package/lib/esm/widgets/adw-expander-row.js +1 -1
- package/lib/esm/widgets/adw-header-bar.js +1 -1
- package/lib/esm/widgets/adw-navigation-page.js +1 -0
- package/lib/esm/widgets/adw-navigation-view.js +1 -1
- package/lib/esm/widgets/adw-preferences-group.js +1 -1
- package/lib/esm/widgets/adw-shortcut-label.js +1 -1
- package/lib/esm/widgets/adw-sidebar.js +1 -1
- package/lib/esm/widgets/adw-spin-row.js +1 -1
- package/lib/esm/widgets/adw-status-page.js +1 -1
- package/lib/esm/widgets/adw-tab-view.js +1 -1
- package/lib/esm/widgets/adw-toast-overlay.js +1 -1
- package/lib/esm/widgets/adw-toggle-group.js +1 -1
- package/lib/esm/widgets/adw-toggle.js +1 -0
- package/lib/esm/widgets/adw-toolbar-view.js +1 -1
- package/lib/esm/widgets/adw-view-stack.js +1 -1
- package/lib/esm/widgets/adw-view-switcher-bar.js +1 -1
- package/lib/esm/widgets/bottom-sheet-state.js +1 -1
- package/lib/esm/widgets/box-layout.js +1 -1
- package/lib/esm/widgets/builder-slots.js +1 -1
- package/lib/esm/widgets/carousel-indicator-base.js +1 -0
- package/lib/esm/widgets/carousel-state.js +1 -1
- package/lib/esm/widgets/chrome.js +1 -1
- package/lib/esm/widgets/gtk-action-bar.js +1 -0
- package/lib/esm/widgets/gtk-box.js +1 -1
- package/lib/esm/widgets/gtk-button.js +1 -1
- package/lib/esm/widgets/gtk-drop-down.js +1 -1
- package/lib/esm/widgets/gtk-label.js +1 -1
- package/lib/esm/widgets/gtk-menu-button.js +1 -1
- package/lib/esm/widgets/icon-theme.js +1 -1
- package/lib/esm/widgets/id-reference.js +1 -0
- package/lib/esm/widgets/index.js +1 -1
- package/lib/esm/widgets/signals.js +1 -1
- package/lib/esm/widgets/split-view-base.js +1 -1
- package/lib/esm/widgets/view-stack-page.js +1 -0
- package/lib/esm/widgets/view-switcher-base.js +1 -1
- package/lib/esm/widgets/widget-layout.js +1 -0
- package/lib/types/blueprint-markup.spec.d.ts +4 -0
- package/lib/types/blueprint-trees.spec.d.ts +1 -0
- package/lib/types/builder/index.d.ts +70 -0
- package/lib/types/clamp-child.spec.d.ts +2 -0
- package/lib/types/gallery-blueprints.spec.d.ts +1 -0
- package/lib/types/gtk-value-doors.spec.d.ts +1 -0
- package/lib/types/index.d.ts +2 -1
- package/lib/types/namespace/adw.d.ts +8 -0
- package/lib/types/namespace/gio.d.ts +1 -0
- package/lib/types/namespace/gtk.d.ts +3 -0
- package/lib/types/shared-trees.spec.d.ts +2 -0
- package/lib/types/testing/ns-core.d.mts +340 -0
- package/lib/types/value-lists.spec.d.ts +1 -0
- package/lib/types/values/sidebar.d.ts +46 -0
- package/lib/types/values/tab-page.d.ts +16 -0
- package/lib/types/view-switcher-stack.spec.d.ts +1 -0
- package/lib/types/widgets/adw-about-dialog.d.ts +12 -0
- package/lib/types/widgets/adw-action-row.d.ts +22 -0
- package/lib/types/widgets/adw-alert-dialog.d.ts +18 -1
- package/lib/types/widgets/adw-avatar.d.ts +12 -0
- package/lib/types/widgets/adw-banner.d.ts +12 -0
- package/lib/types/widgets/adw-bottom-sheet.d.ts +77 -6
- package/lib/types/widgets/adw-button-content.d.ts +12 -0
- package/lib/types/widgets/adw-button-row.d.ts +21 -0
- package/lib/types/widgets/adw-carousel-indicator-dots.d.ts +7 -0
- package/lib/types/widgets/adw-carousel-indicator-lines.d.ts +7 -0
- package/lib/types/widgets/adw-carousel.d.ts +31 -15
- package/lib/types/widgets/adw-clamp.d.ts +19 -0
- package/lib/types/widgets/adw-combo-row.d.ts +20 -1
- package/lib/types/widgets/adw-data-grid.d.ts +12 -0
- package/lib/types/widgets/adw-expander-row.d.ts +2 -0
- package/lib/types/widgets/adw-header-bar.d.ts +14 -0
- package/lib/types/widgets/adw-image-button.d.ts +12 -0
- package/lib/types/widgets/adw-navigation-page.d.ts +63 -0
- package/lib/types/widgets/adw-navigation-view.d.ts +18 -5
- package/lib/types/widgets/adw-preferences-dialog.d.ts +12 -0
- package/lib/types/widgets/adw-preferences-group.d.ts +14 -0
- package/lib/types/widgets/adw-preferences-page.d.ts +12 -0
- package/lib/types/widgets/adw-shortcut-label.d.ts +12 -0
- package/lib/types/widgets/adw-sidebar.d.ts +26 -0
- package/lib/types/widgets/adw-slider-row.d.ts +12 -0
- package/lib/types/widgets/adw-spin-row.d.ts +12 -1
- package/lib/types/widgets/adw-spinner.d.ts +12 -0
- package/lib/types/widgets/adw-split-button.d.ts +12 -0
- package/lib/types/widgets/adw-status-page.d.ts +46 -0
- package/lib/types/widgets/adw-tab-view.d.ts +60 -27
- package/lib/types/widgets/adw-toast-overlay.d.ts +20 -0
- package/lib/types/widgets/adw-toggle-group.d.ts +51 -3
- package/lib/types/widgets/adw-toggle.d.ts +41 -0
- package/lib/types/widgets/adw-toolbar-view.d.ts +22 -1
- package/lib/types/widgets/adw-view-stack.d.ts +53 -7
- package/lib/types/widgets/adw-view-switcher-bar.d.ts +19 -2
- package/lib/types/widgets/adw-window-title.d.ts +12 -0
- package/lib/types/widgets/adw-wrap-box.d.ts +12 -0
- package/lib/types/widgets/bottom-sheet-state.d.ts +40 -7
- package/lib/types/widgets/box-layout.d.ts +3 -17
- package/lib/types/widgets/builder-slots.d.ts +48 -0
- package/lib/types/widgets/button-content.d.ts +4 -3
- package/lib/types/widgets/carousel-indicator-base.d.ts +54 -0
- package/lib/types/widgets/carousel-state.d.ts +12 -9
- package/lib/types/widgets/chrome.d.ts +32 -6
- package/lib/types/widgets/construct-props.d.ts +46 -5
- package/lib/types/widgets/gtk-action-bar.d.ts +53 -0
- package/lib/types/widgets/gtk-box.d.ts +12 -0
- package/lib/types/widgets/gtk-button.d.ts +27 -0
- package/lib/types/widgets/gtk-drop-down.d.ts +23 -1
- package/lib/types/widgets/gtk-entry.d.ts +12 -0
- package/lib/types/widgets/gtk-image.d.ts +12 -0
- package/lib/types/widgets/gtk-label.d.ts +47 -1
- package/lib/types/widgets/gtk-menu-button.d.ts +22 -0
- package/lib/types/widgets/id-reference.d.ts +13 -0
- package/lib/types/widgets/index.d.ts +16 -5
- package/lib/types/widgets/signals.d.ts +14 -1
- package/lib/types/widgets/split-view-base.d.ts +26 -2
- package/lib/types/widgets/tab-view-state.d.ts +3 -3
- package/lib/types/widgets/view-stack-page.d.ts +98 -0
- package/lib/types/widgets/view-stack-state.d.ts +7 -3
- package/lib/types/widgets/view-switcher-base.d.ts +62 -0
- package/lib/types/widgets/widget-layout.d.ts +50 -0
- package/package.json +21 -11
- package/src/theme/adwaita.css +122 -1
- package/lib/esm/widgets/label-text.js +0 -1
- package/lib/types/widgets/label-text.d.ts +0 -13
- /package/lib/types/{label-text.spec.d.ts → gio-menu.spec.d.ts} +0 -0
|
@@ -3,6 +3,18 @@ import { type ConstructProps } from './construct-props.js';
|
|
|
3
3
|
declare const AdwShortcutLabel_base: (abstract new (...args: any[]) => {
|
|
4
4
|
connect(eventName: string, callback: (self: /*elided*/ any, data: import("@nativescript/core").EventData) => void): number;
|
|
5
5
|
disconnect(handlerId: number): void;
|
|
6
|
+
get halign(): string;
|
|
7
|
+
set halign(value: string | number);
|
|
8
|
+
get valign(): string;
|
|
9
|
+
set valign(value: string | number);
|
|
10
|
+
get hexpand(): boolean;
|
|
11
|
+
set hexpand(value: boolean | string);
|
|
12
|
+
get vexpand(): boolean;
|
|
13
|
+
set vexpand(value: boolean | string);
|
|
14
|
+
get marginStart(): number;
|
|
15
|
+
set marginStart(value: number | string);
|
|
16
|
+
get marginEnd(): number;
|
|
17
|
+
set marginEnd(value: number | string);
|
|
6
18
|
_emit(eventName: string): void;
|
|
7
19
|
addEventListener(eventName: string, callback: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
8
20
|
removeEventListener(eventName: string, callback?: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown): void;
|
|
@@ -29,6 +29,18 @@ export interface SidebarActivatedEventData extends EventData {
|
|
|
29
29
|
declare const AdwSidebar_base: (abstract new (...args: any[]) => {
|
|
30
30
|
connect(eventName: string, callback: (self: /*elided*/ any, data: EventData) => void): number;
|
|
31
31
|
disconnect(handlerId: number): void;
|
|
32
|
+
get halign(): string;
|
|
33
|
+
set halign(value: string | number);
|
|
34
|
+
get valign(): string;
|
|
35
|
+
set valign(value: string | number);
|
|
36
|
+
get hexpand(): boolean;
|
|
37
|
+
set hexpand(value: boolean | string);
|
|
38
|
+
get vexpand(): boolean;
|
|
39
|
+
set vexpand(value: boolean | string);
|
|
40
|
+
get marginStart(): number;
|
|
41
|
+
set marginStart(value: number | string);
|
|
42
|
+
get marginEnd(): number;
|
|
43
|
+
set marginEnd(value: number | string);
|
|
32
44
|
_emit(eventName: string): void;
|
|
33
45
|
addEventListener(eventName: string, callback: (data: EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
34
46
|
removeEventListener(eventName: string, callback?: (data: EventData) => void, thisArg?: unknown): void;
|
|
@@ -41,8 +53,22 @@ export declare class AdwSidebar extends AdwSidebar_base {
|
|
|
41
53
|
/** The vertical list container. */
|
|
42
54
|
protected readonly _list: StackLayout;
|
|
43
55
|
private readonly _state;
|
|
56
|
+
/**
|
|
57
|
+
* A `selected` written before any section exists. NativeScript's XML builder assigns the
|
|
58
|
+
* attribute before it appends the `<adw:SidebarSection>` children, so the index was
|
|
59
|
+
* out of range and cleared the selection — where GtkBuilder, adding the same children,
|
|
60
|
+
* ends with the index the file wrote. Held until the first items arrive.
|
|
61
|
+
*/
|
|
62
|
+
private _pendingSelected;
|
|
44
63
|
private readonly _rows;
|
|
45
64
|
constructor(props?: ConstructProps<AdwSidebar>);
|
|
65
|
+
/**
|
|
66
|
+
* XML inflation: every child is an `Adw.SidebarSection`, appended in document order as
|
|
67
|
+
* `adw_sidebar_append` appends it, with the items it already holds. Anything else is
|
|
68
|
+
* refused, as the C refuses it with a `g_warning` (adw-sidebar.c:2758) — a view here
|
|
69
|
+
* would be a row nobody authored.
|
|
70
|
+
*/
|
|
71
|
+
_addChildFromBuilder(_name: string, child: object): void;
|
|
46
72
|
/** Set the navigation item labels — one untitled section. Rebuilds the tappable rows. */
|
|
47
73
|
setItems(items: string[]): void;
|
|
48
74
|
/** Set the full section model (titles, subtitles, icons, per-item `visible`/`enabled`). */
|
|
@@ -11,6 +11,18 @@ export interface NotifySliderValueEventData extends EventData {
|
|
|
11
11
|
declare const AdwSliderRow_base: (abstract new (...args: any[]) => {
|
|
12
12
|
connect(eventName: string, callback: (self: /*elided*/ any, data: EventData) => void): number;
|
|
13
13
|
disconnect(handlerId: number): void;
|
|
14
|
+
get halign(): string;
|
|
15
|
+
set halign(value: string | number);
|
|
16
|
+
get valign(): string;
|
|
17
|
+
set valign(value: string | number);
|
|
18
|
+
get hexpand(): boolean;
|
|
19
|
+
set hexpand(value: boolean | string);
|
|
20
|
+
get vexpand(): boolean;
|
|
21
|
+
set vexpand(value: boolean | string);
|
|
22
|
+
get marginStart(): number;
|
|
23
|
+
set marginStart(value: number | string);
|
|
24
|
+
get marginEnd(): number;
|
|
25
|
+
set marginEnd(value: number | string);
|
|
14
26
|
_emit(eventName: string): void;
|
|
15
27
|
addEventListener(eventName: string, callback: (data: EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
16
28
|
removeEventListener(eventName: string, callback?: (data: EventData) => void, thisArg?: unknown): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Label } from '@nativescript/core';
|
|
2
|
-
import type { EventData } from '@nativescript/core';
|
|
2
|
+
import type { EventData, View } from '@nativescript/core';
|
|
3
3
|
import type { AdwAdjustment, AdwAdjustmentInput } from '@gjsify/adwaita-core';
|
|
4
4
|
import { AdwActionRow } from './adw-action-row.js';
|
|
5
5
|
import { AdwImageButton } from './adw-image-button.js';
|
|
@@ -14,6 +14,11 @@ export interface NotifyValueEventData extends EventData {
|
|
|
14
14
|
value: number;
|
|
15
15
|
}
|
|
16
16
|
export declare class AdwSpinRow extends AdwActionRow {
|
|
17
|
+
/**
|
|
18
|
+
* The action row's edges, plus `adjustment`: `adjustment: Adjustment { … }` in a `.blp`
|
|
19
|
+
* places a `Gtk.Adjustment` at the property it sets.
|
|
20
|
+
*/
|
|
21
|
+
static readonly builderSlots: readonly string[];
|
|
17
22
|
/** The `−` decrement button (circular icon button, value-decrease symbolic). */
|
|
18
23
|
protected readonly _minusButton: AdwImageButton;
|
|
19
24
|
/** The `+` increment button (circular icon button, value-increase symbolic). */
|
|
@@ -23,6 +28,12 @@ export declare class AdwSpinRow extends AdwActionRow {
|
|
|
23
28
|
/** The headless adjustment: clamp, step and the two signals (ADR 0004, ADR 0047). */
|
|
24
29
|
private readonly _state;
|
|
25
30
|
constructor(props?: ConstructProps<AdwSpinRow>);
|
|
31
|
+
/**
|
|
32
|
+
* XML inflation: a child at `adjustment` is the row's range, written through the same
|
|
33
|
+
* setter as the property — a `Gtk.Adjustment` is already an `AdwAdjustmentInput`.
|
|
34
|
+
* Everything else is a row edge, as on any action row.
|
|
35
|
+
*/
|
|
36
|
+
_addChildFromBuilder(name: string, child: View): void;
|
|
26
37
|
/** The current numeric value (always within the adjustment's range). */
|
|
27
38
|
get value(): number;
|
|
28
39
|
set value(v: number | string);
|
|
@@ -5,6 +5,18 @@ export { DEFAULT_SPINNER_SIZE };
|
|
|
5
5
|
declare const AdwSpinner_base: (abstract new (...args: any[]) => {
|
|
6
6
|
connect(eventName: string, callback: (self: /*elided*/ any, data: import("@nativescript/core").EventData) => void): number;
|
|
7
7
|
disconnect(handlerId: number): void;
|
|
8
|
+
get halign(): string;
|
|
9
|
+
set halign(value: string | number);
|
|
10
|
+
get valign(): string;
|
|
11
|
+
set valign(value: string | number);
|
|
12
|
+
get hexpand(): boolean;
|
|
13
|
+
set hexpand(value: boolean | string);
|
|
14
|
+
get vexpand(): boolean;
|
|
15
|
+
set vexpand(value: boolean | string);
|
|
16
|
+
get marginStart(): number;
|
|
17
|
+
set marginStart(value: number | string);
|
|
18
|
+
get marginEnd(): number;
|
|
19
|
+
set marginEnd(value: number | string);
|
|
8
20
|
_emit(eventName: string): void;
|
|
9
21
|
addEventListener(eventName: string, callback: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
10
22
|
removeEventListener(eventName: string, callback?: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown): void;
|
|
@@ -24,6 +24,18 @@ export interface MenuTappedEventData extends EventData {
|
|
|
24
24
|
declare const AdwSplitButton_base: (abstract new (...args: any[]) => {
|
|
25
25
|
connect(eventName: string, callback: (self: /*elided*/ any, data: EventData) => void): number;
|
|
26
26
|
disconnect(handlerId: number): void;
|
|
27
|
+
get halign(): string;
|
|
28
|
+
set halign(value: string | number);
|
|
29
|
+
get valign(): string;
|
|
30
|
+
set valign(value: string | number);
|
|
31
|
+
get hexpand(): boolean;
|
|
32
|
+
set hexpand(value: boolean | string);
|
|
33
|
+
get vexpand(): boolean;
|
|
34
|
+
set vexpand(value: boolean | string);
|
|
35
|
+
get marginStart(): number;
|
|
36
|
+
set marginStart(value: number | string);
|
|
37
|
+
get marginEnd(): number;
|
|
38
|
+
set marginEnd(value: number | string);
|
|
27
39
|
_emit(eventName: string): void;
|
|
28
40
|
addEventListener(eventName: string, callback: (data: EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
29
41
|
removeEventListener(eventName: string, callback?: (data: EventData) => void, thisArg?: unknown): void;
|
|
@@ -5,6 +5,18 @@ import { type ConstructProps } from './construct-props.js';
|
|
|
5
5
|
declare const AdwStatusPage_base: (abstract new (...args: any[]) => {
|
|
6
6
|
connect(eventName: string, callback: (self: /*elided*/ any, data: import("@nativescript/core").EventData) => void): number;
|
|
7
7
|
disconnect(handlerId: number): void;
|
|
8
|
+
get halign(): string;
|
|
9
|
+
set halign(value: string | number);
|
|
10
|
+
get valign(): string;
|
|
11
|
+
set valign(value: string | number);
|
|
12
|
+
get hexpand(): boolean;
|
|
13
|
+
set hexpand(value: boolean | string);
|
|
14
|
+
get vexpand(): boolean;
|
|
15
|
+
set vexpand(value: boolean | string);
|
|
16
|
+
get marginStart(): number;
|
|
17
|
+
set marginStart(value: number | string);
|
|
18
|
+
get marginEnd(): number;
|
|
19
|
+
set marginEnd(value: number | string);
|
|
8
20
|
_emit(eventName: string): void;
|
|
9
21
|
addEventListener(eventName: string, callback: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
10
22
|
removeEventListener(eventName: string, callback?: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown): void;
|
|
@@ -14,6 +26,13 @@ declare const AdwStatusPage_base: (abstract new (...args: any[]) => {
|
|
|
14
26
|
get(name: string): unknown;
|
|
15
27
|
}) & typeof GridLayout;
|
|
16
28
|
export declare class AdwStatusPage extends AdwStatusPage_base {
|
|
29
|
+
/**
|
|
30
|
+
* The names this widget's `_addChildFromBuilder` honours — see `./builder-slots.ts`.
|
|
31
|
+
* `Adw.StatusPage:child` is this widget's own property name, and its fallback: an
|
|
32
|
+
* authored `child: …` and a bare child mean the same thing, the shape
|
|
33
|
+
* `_addChildFromBuilder` below already has.
|
|
34
|
+
*/
|
|
35
|
+
static readonly builderSlots: readonly string[];
|
|
17
36
|
/** The centered vertical stack. */
|
|
18
37
|
protected readonly _stack: StackLayout;
|
|
19
38
|
/** The large symbolic icon (shown when an `icon` SVG is set). */
|
|
@@ -27,6 +46,7 @@ export declare class AdwStatusPage extends AdwStatusPage_base {
|
|
|
27
46
|
/** The dim description label. */
|
|
28
47
|
protected readonly _descriptionLabel: Label;
|
|
29
48
|
private _child;
|
|
49
|
+
private _styleClasses;
|
|
30
50
|
constructor(props?: ConstructProps<AdwStatusPage>);
|
|
31
51
|
/**
|
|
32
52
|
* The large icon shown above the title — an Adwaita icon NAME
|
|
@@ -60,6 +80,12 @@ export declare class AdwStatusPage extends AdwStatusPage_base {
|
|
|
60
80
|
set_child(view: View | null): void;
|
|
61
81
|
/** The currently-installed child, or `null`. */
|
|
62
82
|
get child(): View | null;
|
|
83
|
+
/**
|
|
84
|
+
* `Adw.StatusPage:child` — {@link set_child} under the property spelling the
|
|
85
|
+
* counterpart declares, so the one slot a status page has can arrive in the
|
|
86
|
+
* construct-props bag instead of a second statement after it.
|
|
87
|
+
*/
|
|
88
|
+
set child(view: View | null);
|
|
63
89
|
/**
|
|
64
90
|
* The one destination an XML child can have: the slot under the description,
|
|
65
91
|
* where `AdwStatusPage:child` goes. The name is ignored because
|
|
@@ -67,5 +93,25 @@ export declare class AdwStatusPage extends AdwStatusPage_base {
|
|
|
67
93
|
* `AdwClamp` already has.
|
|
68
94
|
*/
|
|
69
95
|
_addChildFromBuilder(_name: string, view: View): void;
|
|
96
|
+
/**
|
|
97
|
+
* `GtkWidget:css-classes`, spelled `styleClasses` for the reason `style-classes.ts` gives.
|
|
98
|
+
* A status page has one documented style class, `.compact` (style-classes.md "Compact
|
|
99
|
+
* Status Page"), and a `.blp` writes it as `styles ["compact"]`; the shared-tree builder
|
|
100
|
+
* refuses a style class the widget has no door for, so the gallery's carousel of compact
|
|
101
|
+
* pages did not build here.
|
|
102
|
+
*/
|
|
103
|
+
get styleClasses(): string[];
|
|
104
|
+
set styleClasses(value: string | null | undefined);
|
|
105
|
+
/** `gtk_widget_add_css_class`. A class the page already carries is a no-op. */
|
|
106
|
+
add_css_class(name: string): void;
|
|
107
|
+
/** `gtk_widget_remove_css_class`. A class it does not carry is a no-op. */
|
|
108
|
+
remove_css_class(name: string): void;
|
|
109
|
+
/** `gtk_widget_has_css_class`. */
|
|
110
|
+
has_css_class(name: string): boolean;
|
|
111
|
+
/** `gtk_widget_get_css_classes` — the list, without the page's own class. */
|
|
112
|
+
get_css_classes(): string[];
|
|
113
|
+
/** `gtk_widget_set_css_classes` — REPLACES the list, as in C. */
|
|
114
|
+
set_css_classes(names: readonly string[]): void;
|
|
115
|
+
private _setClasses;
|
|
70
116
|
}
|
|
71
117
|
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { GridLayout, type EventData, type View } from '@nativescript/core';
|
|
2
2
|
import type { AdwTabPageSpec, TabViewPagesChange } from '@gjsify/adwaita-core';
|
|
3
|
-
import { type
|
|
3
|
+
import { type NsTabPage, type TabViewNotifyPayload } from './tab-view-state.js';
|
|
4
4
|
import type { AdwViewPage } from './view-switcher-base.js';
|
|
5
5
|
import { type ConstructProps } from './construct-props.js';
|
|
6
|
-
export type {
|
|
6
|
+
export type { NsTabPage };
|
|
7
7
|
/** Event name emitted when the selected page changes. Mirrors `notify::selected-page`. */
|
|
8
8
|
export declare const NOTIFY_SELECTED_PAGE = "notify::selected-page";
|
|
9
9
|
/** Event name emitted for every page-list change (attach / detach / reorder / pin / update). */
|
|
@@ -26,6 +26,18 @@ export interface ClosePageEventData extends EventData {
|
|
|
26
26
|
declare const AdwTabView_base: (abstract new (...args: any[]) => {
|
|
27
27
|
connect(eventName: string, callback: (self: /*elided*/ any, data: EventData) => void): number;
|
|
28
28
|
disconnect(handlerId: number): void;
|
|
29
|
+
get halign(): string;
|
|
30
|
+
set halign(value: string | number);
|
|
31
|
+
get valign(): string;
|
|
32
|
+
set valign(value: string | number);
|
|
33
|
+
get hexpand(): boolean;
|
|
34
|
+
set hexpand(value: boolean | string);
|
|
35
|
+
get vexpand(): boolean;
|
|
36
|
+
set vexpand(value: boolean | string);
|
|
37
|
+
get marginStart(): number;
|
|
38
|
+
set marginStart(value: number | string);
|
|
39
|
+
get marginEnd(): number;
|
|
40
|
+
set marginEnd(value: number | string);
|
|
29
41
|
_emit(eventName: string): void;
|
|
30
42
|
addEventListener(eventName: string, callback: (data: EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
31
43
|
removeEventListener(eventName: string, callback?: (data: EventData) => void, thisArg?: unknown): void;
|
|
@@ -45,7 +57,7 @@ export declare class AdwTabView extends AdwTabView_base {
|
|
|
45
57
|
private _generatedIds;
|
|
46
58
|
/**
|
|
47
59
|
* The `close-page` decision seam. Return `true` to confirm, `false` to deny,
|
|
48
|
-
* `'defer'` to hold the page until {@link
|
|
60
|
+
* `'defer'` to hold the page until {@link close_page_finish} — which is how an
|
|
49
61
|
* app shows a "save before closing?" dialog. Unset takes libadwaita's own
|
|
50
62
|
* default, `!page.pinned` (adw-tab-view.c:1990-1991).
|
|
51
63
|
*
|
|
@@ -53,10 +65,10 @@ export declare class AdwTabView extends AdwTabView_base {
|
|
|
53
65
|
* carry one; {@link CLOSE_PAGE} still fires for every attempt, so observing
|
|
54
66
|
* and deciding stay separable.
|
|
55
67
|
*/
|
|
56
|
-
closeHandler: ((page:
|
|
68
|
+
closeHandler: ((page: NsTabPage) => boolean | 'defer') | null;
|
|
57
69
|
constructor(props?: ConstructProps<AdwTabView>);
|
|
58
70
|
/** All pages in order. */
|
|
59
|
-
get pages(): readonly
|
|
71
|
+
get pages(): readonly NsTabPage[];
|
|
60
72
|
/** Number of pages. */
|
|
61
73
|
get nPages(): number;
|
|
62
74
|
/** Length of the pinned prefix. */
|
|
@@ -77,11 +89,11 @@ export declare class AdwTabView extends AdwTabView_base {
|
|
|
77
89
|
* two halves to differ, so `view.selectedPage = view.selectedPage` is a type error
|
|
78
90
|
* rather than a silent one — which is the intended reading, not an oversight.
|
|
79
91
|
*/
|
|
80
|
-
get selectedPage():
|
|
92
|
+
get selectedPage(): NsTabPage | null;
|
|
81
93
|
set selectedPage(id: string | null);
|
|
82
94
|
isClosing(id: string): boolean;
|
|
83
95
|
/** `adw_tab_view_set_selected_page`. The page, or the id this port uses as its handle. */
|
|
84
|
-
set_selected_page(page:
|
|
96
|
+
set_selected_page(page: NsTabPage | string | null): boolean;
|
|
85
97
|
selectNthPage(n: number): boolean;
|
|
86
98
|
/** `adw_tab_view_select_previous_page`. */
|
|
87
99
|
select_previous_page(): boolean;
|
|
@@ -93,29 +105,44 @@ export declare class AdwTabView extends AdwTabView_base {
|
|
|
93
105
|
cycleNextPage(): boolean;
|
|
94
106
|
/** The previous page, WRAPPING to the last (Ctrl+Shift+Tab). */
|
|
95
107
|
cyclePreviousPage(): boolean;
|
|
96
|
-
/** Add a page opened FROM `
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
108
|
+
/** Add a page opened FROM `parent`, deriving its position — `adw_tab_view_add_page`. */
|
|
109
|
+
add_page(spec: AdwTabPageSpec<View>, parent?: NsTabPage | string | null): number;
|
|
110
|
+
/** `adw_tab_view_insert`. */
|
|
111
|
+
insert(spec: AdwTabPageSpec<View>, position: number): number;
|
|
112
|
+
/** `adw_tab_view_prepend`. */
|
|
113
|
+
prepend(spec: AdwTabPageSpec<View>): number;
|
|
114
|
+
/** `adw_tab_view_append`. */
|
|
115
|
+
append(spec: AdwTabPageSpec<View>): number;
|
|
116
|
+
/** `adw_tab_view_insert_pinned`. */
|
|
117
|
+
insert_pinned(spec: AdwTabPageSpec<View>, position: number): number;
|
|
118
|
+
/** `adw_tab_view_prepend_pinned`. */
|
|
119
|
+
prepend_pinned(spec: AdwTabPageSpec<View>): number;
|
|
120
|
+
/** `adw_tab_view_append_pinned`. */
|
|
121
|
+
append_pinned(spec: AdwTabPageSpec<View>): number;
|
|
104
122
|
/** Pin or unpin a page, re-ordering it in the same step. Returns its new position. */
|
|
105
|
-
|
|
123
|
+
set_page_pinned(page: NsTabPage | string, pinned: boolean): number;
|
|
106
124
|
/** Request a close. Fires {@link CLOSE_PAGE}, then applies {@link closeHandler}'s verdict. */
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
125
|
+
close_page(page: NsTabPage | string): boolean;
|
|
126
|
+
/** Settle a close {@link closeHandler} deferred — `adw_tab_view_close_page_finish`. */
|
|
127
|
+
close_page_finish(page: NsTabPage | string, confirm: boolean): boolean;
|
|
128
|
+
/** `adw_tab_view_close_other_pages`. */
|
|
129
|
+
close_other_pages(page: NsTabPage | string): void;
|
|
130
|
+
/** `adw_tab_view_close_pages_before`. */
|
|
131
|
+
close_pages_before(page: NsTabPage | string): void;
|
|
132
|
+
/** `adw_tab_view_close_pages_after`. */
|
|
133
|
+
close_pages_after(page: NsTabPage | string): void;
|
|
112
134
|
/** Remove a page unconditionally, running the successor rule first. */
|
|
113
|
-
detachPage(id: string):
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
135
|
+
detachPage(id: string): NsTabPage | null;
|
|
136
|
+
/** `adw_tab_view_reorder_page`. */
|
|
137
|
+
reorder_page(page: NsTabPage | string, position: number): boolean;
|
|
138
|
+
/** `adw_tab_view_reorder_backward`. */
|
|
139
|
+
reorder_backward(page: NsTabPage | string): boolean;
|
|
140
|
+
/** `adw_tab_view_reorder_forward`. */
|
|
141
|
+
reorder_forward(page: NsTabPage | string): boolean;
|
|
142
|
+
/** `adw_tab_view_reorder_first`. */
|
|
143
|
+
reorder_first(page: NsTabPage | string): boolean;
|
|
144
|
+
/** `adw_tab_view_reorder_last`. */
|
|
145
|
+
reorder_last(page: NsTabPage | string): boolean;
|
|
119
146
|
setPageTitle(id: string, title: string | null): boolean;
|
|
120
147
|
setPageIcon(id: string, icon: string | null): boolean;
|
|
121
148
|
setPageLoading(id: string, loading: boolean): boolean;
|
|
@@ -133,6 +160,12 @@ export declare class AdwTabView extends AdwTabView_base {
|
|
|
133
160
|
/** `Adw.TabView:default-icon` — what a PINNED page with no icon of its own shows. */
|
|
134
161
|
get defaultIcon(): string | null;
|
|
135
162
|
set defaultIcon(value: string | null);
|
|
163
|
+
/**
|
|
164
|
+
* XML inflation: an `Adw.TabPage` becomes an appended page carrying its title, and a
|
|
165
|
+
* bare widget becomes an untitled page around itself — the two branches of the C's
|
|
166
|
+
* `add_child` (adw-tab-view.c:2884). Both take a generated id, as `setViews` does.
|
|
167
|
+
*/
|
|
168
|
+
_addChildFromBuilder(_name: string, child: object): void;
|
|
136
169
|
/**
|
|
137
170
|
* Replace every page from a plain `{ title, content, icon? }` list.
|
|
138
171
|
*
|
|
@@ -10,6 +10,18 @@ export declare const TOAST_BUTTON_CLICKED = "toastButtonClicked";
|
|
|
10
10
|
declare const AdwToastOverlay_base: (abstract new (...args: any[]) => {
|
|
11
11
|
connect(eventName: string, callback: (self: /*elided*/ any, data: EventData) => void): number;
|
|
12
12
|
disconnect(handlerId: number): void;
|
|
13
|
+
get halign(): string;
|
|
14
|
+
set halign(value: string | number);
|
|
15
|
+
get valign(): string;
|
|
16
|
+
set valign(value: string | number);
|
|
17
|
+
get hexpand(): boolean;
|
|
18
|
+
set hexpand(value: boolean | string);
|
|
19
|
+
get vexpand(): boolean;
|
|
20
|
+
set vexpand(value: boolean | string);
|
|
21
|
+
get marginStart(): number;
|
|
22
|
+
set marginStart(value: number | string);
|
|
23
|
+
get marginEnd(): number;
|
|
24
|
+
set marginEnd(value: number | string);
|
|
13
25
|
_emit(eventName: string): void;
|
|
14
26
|
addEventListener(eventName: string, callback: (data: EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
15
27
|
removeEventListener(eventName: string, callback?: (data: EventData) => void, thisArg?: unknown): void;
|
|
@@ -31,6 +43,14 @@ export declare class AdwToastOverlay extends AdwToastOverlay_base {
|
|
|
31
43
|
constructor(props?: ConstructProps<AdwToastOverlay>);
|
|
32
44
|
/** Set (or replace) the always-visible content layer (under the toast) — `adw_toast_overlay_set_child`. */
|
|
33
45
|
set_child(view: View | null): void;
|
|
46
|
+
/** The always-visible content layer, or `null` — `Adw.ToastOverlay:child`. */
|
|
47
|
+
get child(): View | null;
|
|
48
|
+
/**
|
|
49
|
+
* `Adw.ToastOverlay:child` — {@link set_child} under the property spelling the
|
|
50
|
+
* counterpart declares, so the overlay's one slot can arrive in a construct-props
|
|
51
|
+
* bag instead of a second statement.
|
|
52
|
+
*/
|
|
53
|
+
set child(view: View | null);
|
|
34
54
|
/** Enqueue a {@link AdwToast} descriptor (shows now, or after the current one) — `adw_toast_overlay_add_toast`. */
|
|
35
55
|
add_toast(toast: AdwToast): void;
|
|
36
56
|
/** Enqueue a transient toast with the given message and options. */
|
|
@@ -11,14 +11,31 @@ export interface NotifyToggleSelectedEventData extends EventData {
|
|
|
11
11
|
/** The newly-selected segment's label. */
|
|
12
12
|
value: string;
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* One toggle as {@link AdwToggleGroup.setToggles} takes it: a label, an optional Adwaita
|
|
16
|
+
* symbolic icon, and the `name` `active-name` finds it by. A `.blp` writes an
|
|
17
|
+
* {@link AdwToggle} instead, which the group reads into one of these.
|
|
18
|
+
*/
|
|
19
|
+
export interface AdwToggleSpec {
|
|
16
20
|
label: string;
|
|
17
21
|
icon?: string;
|
|
22
|
+
name?: string | null;
|
|
18
23
|
}
|
|
19
24
|
declare const AdwToggleGroup_base: (abstract new (...args: any[]) => {
|
|
20
25
|
connect(eventName: string, callback: (self: /*elided*/ any, data: EventData) => void): number;
|
|
21
26
|
disconnect(handlerId: number): void;
|
|
27
|
+
get halign(): string;
|
|
28
|
+
set halign(value: string | number);
|
|
29
|
+
get valign(): string;
|
|
30
|
+
set valign(value: string | number);
|
|
31
|
+
get hexpand(): boolean;
|
|
32
|
+
set hexpand(value: boolean | string);
|
|
33
|
+
get vexpand(): boolean;
|
|
34
|
+
set vexpand(value: boolean | string);
|
|
35
|
+
get marginStart(): number;
|
|
36
|
+
set marginStart(value: number | string);
|
|
37
|
+
get marginEnd(): number;
|
|
38
|
+
set marginEnd(value: number | string);
|
|
22
39
|
_emit(eventName: string): void;
|
|
23
40
|
addEventListener(eventName: string, callback: (data: EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
24
41
|
removeEventListener(eventName: string, callback?: (data: EventData) => void, thisArg?: unknown): void;
|
|
@@ -29,6 +46,14 @@ declare const AdwToggleGroup_base: (abstract new (...args: any[]) => {
|
|
|
29
46
|
}) & typeof StackLayout;
|
|
30
47
|
export declare class AdwToggleGroup extends AdwToggleGroup_base {
|
|
31
48
|
private _toggles;
|
|
49
|
+
/**
|
|
50
|
+
* `active` / `active-name` written before the toggle they name exists. GtkBuilder sets
|
|
51
|
+
* a group's properties BEFORE it adds the toggles, so the C holds both back until
|
|
52
|
+
* `parser_finished` (adw-toggle-group.c:1238); NativeScript has no such hook, so each
|
|
53
|
+
* one is applied by the first toggle list it resolves against.
|
|
54
|
+
*/
|
|
55
|
+
private _pendingActive;
|
|
56
|
+
private _pendingActiveName;
|
|
32
57
|
private readonly _segments;
|
|
33
58
|
/** The headless labels + selected-index state machine (ADR 0004). */
|
|
34
59
|
private readonly _state;
|
|
@@ -37,12 +62,35 @@ export declare class AdwToggleGroup extends AdwToggleGroup_base {
|
|
|
37
62
|
get options(): string[];
|
|
38
63
|
set options(value: string[]);
|
|
39
64
|
/** Set the toggles (label + optional symbolic icon). Rebuilds the segments. */
|
|
40
|
-
setToggles(toggles:
|
|
65
|
+
setToggles(toggles: AdwToggleSpec[]): void;
|
|
66
|
+
private _rebuild;
|
|
67
|
+
/**
|
|
68
|
+
* XML inflation: every child is an `Adw.Toggle`, appended in document order as
|
|
69
|
+
* `adw_toggle_group_add` appends it. Anything else is refused, as the C refuses a
|
|
70
|
+
* widget child with a `g_critical` (adw-toggle-group.c:1213) — a view placed here
|
|
71
|
+
* would be a segment nobody asked for.
|
|
72
|
+
*/
|
|
73
|
+
_addChildFromBuilder(_name: string, child: object): void;
|
|
74
|
+
/**
|
|
75
|
+
* Apply a held `active` / `active-name` once it resolves, the name after the index as
|
|
76
|
+
* `parser_finished` orders them. `building` keeps the name held for the next toggle;
|
|
77
|
+
* any other change is the end of construction, and a name that still resolves to
|
|
78
|
+
* nothing is dropped as the C drops it (a `g_critical`, :2001).
|
|
79
|
+
*/
|
|
80
|
+
private _applyPending;
|
|
41
81
|
/** Mark only the selected segment `.active` (the raised white pill). */
|
|
42
82
|
private _applySelection;
|
|
43
83
|
/** The selected segment index. Swaps the active pill + emits `notify::selected`. */
|
|
44
84
|
get active(): number;
|
|
45
85
|
set active(raw: number | string);
|
|
86
|
+
/**
|
|
87
|
+
* `Adw.ToggleGroup:active-name` — the `name` of the active toggle, or `null`.
|
|
88
|
+
*
|
|
89
|
+
* A name no toggle carries yet is held until one does (see `_pendingActiveName`); a
|
|
90
|
+
* name that never arrives changes nothing, which is the C's `g_critical` and return.
|
|
91
|
+
*/
|
|
92
|
+
get activeName(): string | null;
|
|
93
|
+
set activeName(name: string | null);
|
|
46
94
|
/** The selected segment's label, or `''` when out of range. */
|
|
47
95
|
get selectedValue(): string;
|
|
48
96
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Observable } from '@nativescript/core';
|
|
2
|
+
import { type ConstructProps } from './construct-props.js';
|
|
3
|
+
declare const AdwToggle_base: (abstract new (...args: any[]) => {
|
|
4
|
+
connect(eventName: string, callback: (self: /*elided*/ any, data: import("@nativescript/core").EventData) => void): number;
|
|
5
|
+
disconnect(handlerId: number): void;
|
|
6
|
+
get halign(): string;
|
|
7
|
+
set halign(value: string | number);
|
|
8
|
+
get valign(): string;
|
|
9
|
+
set valign(value: string | number);
|
|
10
|
+
get hexpand(): boolean;
|
|
11
|
+
set hexpand(value: boolean | string);
|
|
12
|
+
get vexpand(): boolean;
|
|
13
|
+
set vexpand(value: boolean | string);
|
|
14
|
+
get marginStart(): number;
|
|
15
|
+
set marginStart(value: number | string);
|
|
16
|
+
get marginEnd(): number;
|
|
17
|
+
set marginEnd(value: number | string);
|
|
18
|
+
_emit(eventName: string): void;
|
|
19
|
+
addEventListener(eventName: string, callback: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
20
|
+
removeEventListener(eventName: string, callback?: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown): void;
|
|
21
|
+
notify<T extends import("@nativescript/core").EventData>(data: T): void;
|
|
22
|
+
notifyPropertyChange(name: string, value: unknown, oldValue?: unknown): void;
|
|
23
|
+
set(name: string, value: unknown): void;
|
|
24
|
+
get(name: string): unknown;
|
|
25
|
+
}) & typeof Observable;
|
|
26
|
+
export declare class AdwToggle extends AdwToggle_base {
|
|
27
|
+
private _name;
|
|
28
|
+
private _label;
|
|
29
|
+
private _iconName;
|
|
30
|
+
constructor(props?: ConstructProps<AdwToggle>);
|
|
31
|
+
/** `Adw.Toggle:name` — how `Adw.ToggleGroup:active-name` finds this toggle. */
|
|
32
|
+
get name(): string | null;
|
|
33
|
+
set name(value: string | null);
|
|
34
|
+
/** `Adw.Toggle:label`. */
|
|
35
|
+
get label(): string;
|
|
36
|
+
set label(value: string | null);
|
|
37
|
+
/** `Adw.Toggle:icon-name` — a symbolic icon drawn before the label. */
|
|
38
|
+
get iconName(): string | null;
|
|
39
|
+
set iconName(value: string | null);
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
@@ -5,6 +5,18 @@ import { type ConstructProps } from './construct-props.js';
|
|
|
5
5
|
declare const AdwToolbarView_base: (abstract new (...args: any[]) => {
|
|
6
6
|
connect(eventName: string, callback: (self: /*elided*/ any, data: import("@nativescript/core").EventData) => void): number;
|
|
7
7
|
disconnect(handlerId: number): void;
|
|
8
|
+
get halign(): string;
|
|
9
|
+
set halign(value: string | number);
|
|
10
|
+
get valign(): string;
|
|
11
|
+
set valign(value: string | number);
|
|
12
|
+
get hexpand(): boolean;
|
|
13
|
+
set hexpand(value: boolean | string);
|
|
14
|
+
get vexpand(): boolean;
|
|
15
|
+
set vexpand(value: boolean | string);
|
|
16
|
+
get marginStart(): number;
|
|
17
|
+
set marginStart(value: number | string);
|
|
18
|
+
get marginEnd(): number;
|
|
19
|
+
set marginEnd(value: number | string);
|
|
8
20
|
_emit(eventName: string): void;
|
|
9
21
|
addEventListener(eventName: string, callback: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown, once?: boolean): void;
|
|
10
22
|
removeEventListener(eventName: string, callback?: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown): void;
|
|
@@ -14,6 +26,8 @@ declare const AdwToolbarView_base: (abstract new (...args: any[]) => {
|
|
|
14
26
|
get(name: string): unknown;
|
|
15
27
|
}) & typeof GridLayout;
|
|
16
28
|
export declare class AdwToolbarView extends AdwToolbarView_base {
|
|
29
|
+
/** The names this widget's `_addChildFromBuilder` honours — see `./builder-slots.ts`. */
|
|
30
|
+
static readonly builderSlots: readonly string[];
|
|
17
31
|
/** The top-bar slot (row 0) — stack of header bars / toolbars. */
|
|
18
32
|
protected readonly _topBox: StackLayout;
|
|
19
33
|
/** The bottom-bar slot (row 2) — stack of bottom toolbars. */
|
|
@@ -43,8 +57,15 @@ export declare class AdwToolbarView extends AdwToolbarView_base {
|
|
|
43
57
|
* painted ON TOP OF EACH OTHER in the bar row while row 1 stayed empty.
|
|
44
58
|
*/
|
|
45
59
|
_addChildFromBuilder(name: string, view: View): void;
|
|
46
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* The currently-installed content view, or `null` — `Adw.ToolbarView:content`.
|
|
62
|
+
*
|
|
63
|
+
* The setter is {@link set_content} under the property spelling the counterpart
|
|
64
|
+
* declares, so a construct-props bag can carry the slot and a pane ported off GJS
|
|
65
|
+
* keeps `view.content = …` rather than growing a second verb.
|
|
66
|
+
*/
|
|
47
67
|
get content(): View | null;
|
|
68
|
+
set content(view: View | null);
|
|
48
69
|
/** The top-bar slot container. */
|
|
49
70
|
get topBar(): StackLayout;
|
|
50
71
|
/** The bottom-bar slot container. */
|