@nativescript-community/ui-appbar 1.0.3 → 1.1.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/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.1.0](https://github.com/nativescript-community/ui-material-components/compare/v1.0.4...v1.1.0) (2026-10-24)
7
+
8
+ ### Features
9
+
10
+ * **ui-appbar:** add inline search, floating bottom toolbar and platform fixes ([a27a005](https://github.com/nativescript-community/ui-material-components/commit/a27a005c875f2c590207b7c6f983abae348059ad))
11
+
12
+ ## [1.0.4](https://github.com/nativescript-community/ui-material-components/compare/v1.0.3...v1.0.4) (2026-10-22)
13
+
14
+ **Note:** Version bump only for package @nativescript-community/ui-appbar
15
+
6
16
  ## [1.0.3](https://github.com/nativescript-community/ui-material-components/compare/v1.0.2...v1.0.3) (2026-10-22)
7
17
 
8
18
  **Note:** Version bump only for package @nativescript-community/ui-appbar
package/README.md CHANGED
@@ -47,6 +47,7 @@
47
47
  * [Items](#items)
48
48
  * [Hide on scroll](#hide-on-scroll)
49
49
  * [Bottom items](#bottom-items)
50
+ * [Custom views (Android)](#custom-views-android)
50
51
  * [Overlay](#overlay)
51
52
  * [Demos and Development](#demos-and-development)
52
53
  * [Repo Setup](#repo-setup)
@@ -102,9 +103,9 @@ Register the svelte elements once (`registerElement` of svelte-native): `import
102
103
  | `subtitle`, `formattedTitle` | subtitle, title with spans |
103
104
  | `translucent` | the content scrolls under the bar, which is see through: iOS a blur tinted with the color of the bar, Android the color of the bar at 85%. Set `scrollTarget`; the scrolling view must be the content of the page (iOS) |
104
105
  | `searchable`, `searchHint` | search: iOS `UISearchController` under the title, Android a collapsible `SearchView` action. Events `searchChange`, `searchSubmit`, `searchCancel` (`text`) |
105
- | `searchMode` | Android: `collapsible` (default, a search icon in the bar) or `bar` (Material 3 `SearchBar` under the title which opens a full screen `SearchView`; its suggestions / results go in `<appPageSearchContent>`, a child of the page) |
106
+ | `searchMode` | Android: `collapsible` (default, a search icon in the bar) `bar` (Material 3 `SearchBar` under the title which opens a full screen `SearchView`; its suggestions / results go in `<appPageSearchContent>`, a child of the page) or `inline` (Material 3 `SearchBar` that morphs into an editable field in place: filter your content from `searchChange`, no full screen view; without a `title` the bar hosts the navigation icon and the actions, `closeSearch()` closes it) |
106
107
  | `searchPlacement` | iOS 26: where the search bar goes: `stacked` (under the title, default), `integrated` (a glass button / field in the bar), `integratedButton`, `integratedCentered`, `automatic` |
107
- | `scrollTarget` | the scrolling view the bar follows (iOS: `setContentScrollView`) |
108
+ | `scrollTarget`, `scrollTargetId` | the scrolling view the bar follows (iOS: `setContentScrollView`), as a view or by its `id` in the page. By default (Android) the first scrolling view of the content is searched: giving it spares that search |
108
109
 
109
110
  Status and limits: see [APPBAR_PLAN.md](../../APPBAR_PLAN.md). On iOS a large title on a pushed page uses the UIKit `Always` mode, which never shows the inline title: a title view is shown while the bar is collapsed (the height of the bar tells). On the root page of the Frame UIKit does it.
110
111
  On Android the bar draws under the status bar (edge to edge) and the page handles the inset.
@@ -155,14 +156,29 @@ On iOS 26 the system puts it in a Liquid Glass capsule, use a plain / text varia
155
156
 
156
157
  ## Bottom items
157
158
 
158
- `bottomItems` (`{ text, icon, spacer, onTap }`, event `bottomItemTap`): iOS the bottom toolbar of the navigation controller (Liquid Glass buttons on iOS 26, `spacer` is a flexible space), Android a Material `BottomAppBar` (with `scrollBehavior="hide"` it hides on scroll; the actions are at the start, `spacer` is ignored).
159
- The last items of the `scrollTarget` stay above the Android bar.
159
+ `bottomBarStyle` (Android: `floating`, the default, a Material 3 Expressive floating toolbar over the content, or `bottomAppBar`; iOS ignores it) and `bottomItems` (`{ text, icon, spacer, menu, onTap }`, event `bottomItemTap`; `menu` makes the button open a menu: iOS native, Android popup above the bar): iOS the bottom toolbar of the navigation controller (Liquid Glass buttons on iOS 26, `spacer` is a flexible space), Android a Material `BottomAppBar` (with `scrollBehavior="hide"` it hides on scroll; the actions are at the start, `spacer` is ignored).
160
+ The last items of the `scrollTarget` stay above the Android bar. The icons of the Android bars take the color of the bar (`color` css, else the theme `colorOnSurface`) and follow a dark / light switch.
160
161
 
161
162
  ```svelte
162
163
  <appBar bottomItems={[{ icon: 'sys://house', text: 'Home', onTap }, { spacer: true }, { icon: 'sys://plus', text: 'Add', onTap }]} />
163
164
  ```
164
165
 
165
166
 
167
+ [](#custom-views-android)
168
+
169
+ ## Custom views (Android)
170
+
171
+ `<appBarSearchField>` (`searchField`) replaces the built-in text field of the `inline` search by any NativeScript `TextField` (core, or `@nativescript-community/ui-textfield`). The bar puts it between the back and the clear buttons and keeps `searchChange`, `searchSubmit`, the clear button and the keyboard working with it.
172
+ `<appBarBottomView>` (`bottomView`) puts any view in the `floating` bottom toolbar instead of the `bottomItems` buttons (`bottomItems` stay the default; the `bottomAppBar` style ignores `bottomView`). Both are ignored on iOS.
173
+
174
+ ```svelte
175
+ <appBar searchable searchMode="inline" on:searchChange={(e) => (query = e.text)}>
176
+ <appBarSearchField><textfield hint="Search" /></appBarSearchField>
177
+ <appBarBottomView><stacklayout orientation="horizontal"><button text="Share" /></stacklayout></appBarBottomView>
178
+ </appBar>
179
+ ```
180
+
181
+
166
182
  [](#overlay)
167
183
 
168
184
  ## Overlay
package/index-common.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ActionBar, ActionItem, EventData, FormattedString, GridLayout, ImageSource, Property, View } from '@nativescript/core';
1
+ import { ActionBar, ActionItem, ContentView, EventData, FormattedString, GridLayout, ImageSource, Property, View, ViewBase } from '@nativescript/core';
2
2
  import { MenuItem } from '@nativescript-community/ui-menu';
3
3
  /** small: standard bar, medium / large: a title that collapses on scroll (M3 collapsing app bar on Android, large title on iOS) */
4
4
  export type AppBarSize = 'small' | 'medium' | 'large';
@@ -10,12 +10,16 @@ export type AppBarSize = 'small' | 'medium' | 'large';
10
10
  export type AppBarScrollBehavior = 'none' | 'lift' | 'hide';
11
11
  export declare const sizeProperty: Property<AppBarBase, AppBarSize>;
12
12
  export declare const scrollBehaviorProperty: Property<AppBarBase, AppBarScrollBehavior>;
13
+ /** iOS: `leading` aligns the inline title of a small bar to the left (navigation item style `browser`), `center` is the system default. Android: the title of a small bar is always at the start */
14
+ export type AppBarTitleAlignment = 'center' | 'leading';
15
+ export declare const titleAlignmentProperty: Property<AppBarBase, AppBarTitleAlignment>;
13
16
  export declare const subtitleProperty: Property<AppBarBase, string>;
14
17
  export declare const formattedTitleProperty: Property<AppBarBase, FormattedString>;
15
18
  export declare const translucentProperty: Property<AppBarBase, boolean>;
16
19
  export declare const searchableProperty: Property<AppBarBase, boolean>;
17
20
  export declare const searchHintProperty: Property<AppBarBase, string>;
18
21
  export declare const scrollTargetProperty: Property<AppBarBase, View>;
22
+ export declare const scrollTargetIdProperty: Property<AppBarBase, string>;
19
23
  export declare const badgeProperty: Property<AppBarItem, string | number | boolean>;
20
24
  export declare const menuProperty: Property<AppBarItem, MenuItem[]>;
21
25
  export declare const prominentProperty: Property<AppBarItem, boolean>;
@@ -44,23 +48,47 @@ export interface AppBarBottomItem {
44
48
  text?: string;
45
49
  /** iOS: a flexible space between the buttons. Android: ignored (the actions are at the end of the bar) */
46
50
  spacer?: boolean;
51
+ /** iOS 26: the search field of the bar, in the bottom toolbar (needs `searchable` and `searchPlacement="integrated"`). Android: ignored */
52
+ search?: boolean;
47
53
  /** a badge on the action: a number, a text, or `true` for a dot */
48
54
  badge?: string | number | boolean;
55
+ /** items of a menu shown when the button is tapped (no `onTap`): iOS native menu, Android popup menu above the bar */
56
+ menu?: MenuItem[];
49
57
  /** called when the action is tapped */
50
58
  onTap?: (item: AppBarBottomItem) => void;
51
59
  [key: string]: any;
52
60
  }
53
- /** collapsible: a search icon in the bar that expands (Android SearchView action). bar: Android Material 3 `SearchBar` under the title that opens a full screen `SearchView`. iOS: always the `UISearchController` */
54
- export type AppBarSearchMode = 'collapsible' | 'bar';
61
+ /**
62
+ * collapsible: a search icon in the bar that expands (Android SearchView action).
63
+ * bar: Android Material 3 `SearchBar` under the title that opens a full screen `SearchView`.
64
+ * inline: Android Material 3 `SearchBar` that turns into an editable field in place: the search filters the current content, no full screen view.
65
+ * iOS: always the `UISearchController`
66
+ */
67
+ export type AppBarSearchMode = 'collapsible' | 'bar' | 'inline';
55
68
  export declare const searchModeProperty: Property<AppBarBase, AppBarSearchMode>;
56
69
  /** iOS 26 placement of the search bar of the navigation bar: stacked (under the title, default), integrated (a field / button in the bar), integratedButton (always a button), integratedCentered (centered on iPad), automatic */
57
70
  export type AppBarSearchPlacement = 'automatic' | 'stacked' | 'integrated' | 'integratedButton' | 'integratedCentered';
58
71
  export declare const searchPlacementProperty: Property<AppBarBase, AppBarSearchPlacement>;
72
+ /** Android look of `bottomItems`: a Material 3 `floating` toolbar (default, a pill over the content) or a full width `bottomAppBar`. iOS: ignored (UIToolbar) */
73
+ export type AppBarBottomBarStyle = 'floating' | 'bottomAppBar';
74
+ export declare const bottomBarStyleProperty: Property<AppBarBase, AppBarBottomBarStyle>;
59
75
  export declare const bottomItemsProperty: Property<AppBarBase, AppBarBottomItem[]>;
76
+ /**
77
+ * Android `searchMode="inline"`: holds the text field of the search in place of the built-in one, a core `TextField` or a `@nativescript-community/ui-textfield`: `<appBarSearchField><uitextfield /></appBarSearchField>`. Ignored on iOS.
78
+ */
79
+ export declare class AppBarSearchField extends ContentView {
80
+ }
81
+ /**
82
+ * Android `bottomBarStyle="floating"`: holds the content of the floating toolbar in place of the `bottomItems` buttons: `<appBarBottomView><stacklayout orientation="horizontal">...</stacklayout></appBarBottomView>`. Ignored on iOS.
83
+ */
84
+ export declare class AppBarBottomView extends ContentView {
85
+ }
60
86
  export declare class AppBarBase extends ActionBar {
61
87
  static bottomItemTapEvent: string;
62
88
  /** actions of a bar at the bottom of the page: iOS the bottom toolbar, Android a `BottomAppBar` */
63
89
  bottomItems: AppBarBottomItem[];
90
+ /** Android: the look of the `bottomItems`, a `floating` toolbar (default) or a `bottomAppBar` (badges are only shown by the bottomAppBar) */
91
+ bottomBarStyle: AppBarBottomBarStyle;
64
92
  /** raised when the text of the search changes */
65
93
  static searchChangeEvent: string;
66
94
  /** raised when the search is submitted (keyboard search key) */
@@ -74,8 +102,25 @@ export declare class AppBarBase extends ActionBar {
74
102
  searchPlacement: AppBarSearchPlacement;
75
103
  /** the current text of the search (read only) */
76
104
  searchText: string;
105
+ private _searchField;
106
+ private _bottomView;
107
+ /** Android `inline` search: the view holding the text field of the search (an `AppBarSearchField`, or directly a `TextField`), instead of the built-in `EditText` */
108
+ get searchField(): View;
109
+ set searchField(value: View);
110
+ /** Android `floating` bottom toolbar: the view shown in the toolbar instead of the `bottomItems` buttons */
111
+ get bottomView(): View;
112
+ set bottomView(value: View);
113
+ private swapHostedView;
114
+ eachChildView(callback: (child: View) => boolean): void;
115
+ eachChild(callback: (child: ViewBase) => boolean): void;
116
+ _addChildFromBuilder(name: string, value: any): void;
117
+ /** closes an expanded `inline` search. Returns true when there was one to close (use it in a back button handler) */
118
+ closeSearch(): boolean;
119
+ /** focuses the search field (keyboard shortcut, menu command). Returns true when the bar is searchable */
120
+ focusSearch(): boolean;
77
121
  size: AppBarSize;
78
122
  scrollBehavior: AppBarScrollBehavior;
123
+ titleAlignment: AppBarTitleAlignment;
79
124
  subtitle: string;
80
125
  /** the title with spans (needs `@nativescript-community/text` for the full support) */
81
126
  formattedTitle: FormattedString;
@@ -83,7 +128,13 @@ export declare class AppBarBase extends ActionBar {
83
128
  translucent: boolean;
84
129
  /** the scrolling view (collectionview, scrollview...) that drives the bar. By default the first one found */
85
130
  scrollTarget: View;
131
+ /** same as `scrollTarget`, by `id` in the page: spares the search of the scrolling view */
132
+ scrollTargetId: string;
133
+ /** the scrolling view the bar follows: `scrollTarget`, else the view of the page with the id `scrollTargetId` */
134
+ getScrollTarget(): View;
86
135
  onAppBarPropertyChanged(): void;
136
+ /** @internal the view the menu of an action opens under */
137
+ getMenuAnchor(): View;
87
138
  }
88
139
  /**
89
140
  * Layout for the views anchored to the page itself (a floating action button, a bottom bar...), not to the scrolling content: use it as the `overlay` of an AppPage.
package/index-common.js CHANGED
@@ -1,16 +1,18 @@
1
- import { ActionBar, ActionItem, GridLayout, ItemSpec, Property, View, isAndroid } from '@nativescript/core';
1
+ import { ActionBar, ActionItem, ContentView, GridLayout, ItemSpec, Property, View, isAndroid } from '@nativescript/core';
2
2
  import { showMenu } from '@nativescript-community/ui-menu';
3
3
  function changed(target) {
4
4
  target.onAppBarPropertyChanged();
5
5
  }
6
6
  export const sizeProperty = new Property({ name: 'size', defaultValue: 'small', valueChanged: changed });
7
7
  export const scrollBehaviorProperty = new Property({ name: 'scrollBehavior', defaultValue: 'none', valueChanged: changed });
8
+ export const titleAlignmentProperty = new Property({ name: 'titleAlignment', defaultValue: 'center', valueChanged: changed });
8
9
  export const subtitleProperty = new Property({ name: 'subtitle', valueChanged: changed });
9
10
  export const formattedTitleProperty = new Property({ name: 'formattedTitle', valueChanged: changed });
10
11
  export const translucentProperty = new Property({ name: 'translucent', defaultValue: false, valueConverter: (v) => v === true || v === 'true' || v === '', valueChanged: changed });
11
12
  export const searchableProperty = new Property({ name: 'searchable', defaultValue: false, valueConverter: (v) => v === true || v === 'true' || v === '', valueChanged: changed });
12
13
  export const searchHintProperty = new Property({ name: 'searchHint', valueChanged: changed });
13
14
  export const scrollTargetProperty = new Property({ name: 'scrollTarget', valueChanged: changed });
15
+ export const scrollTargetIdProperty = new Property({ name: 'scrollTargetId', valueChanged: changed });
14
16
  function itemChanged(target) {
15
17
  target.actionBar?.update?.();
16
18
  }
@@ -39,7 +41,7 @@ export class AppBarItem extends ActionItem {
39
41
  this.actionView.notify({ eventName: 'tap', object: this.actionView });
40
42
  }
41
43
  if (isAndroid && this.menu?.length && this.actionBar) {
42
- showMenu({ anchor: this.actionBar, items: this.menu, placement: { horizontal: 'end', vertical: 'below' } });
44
+ showMenu({ anchor: this.actionBar.getMenuAnchor(), items: this.menu, placement: { horizontal: 'end', vertical: 'below' } });
43
45
  return;
44
46
  }
45
47
  super._raiseTap();
@@ -50,16 +52,92 @@ badgeProperty.register(AppBarItem);
50
52
  prominentProperty.register(AppBarItem);
51
53
  export const searchModeProperty = new Property({ name: 'searchMode', defaultValue: 'collapsible', valueChanged: changed });
52
54
  export const searchPlacementProperty = new Property({ name: 'searchPlacement', defaultValue: 'stacked', valueChanged: changed });
55
+ export const bottomBarStyleProperty = new Property({ name: 'bottomBarStyle', valueChanged: changed });
53
56
  export const bottomItemsProperty = new Property({ name: 'bottomItems', valueChanged: changed });
57
+ /**
58
+ * Android `searchMode="inline"`: holds the text field of the search in place of the built-in one, a core `TextField` or a `@nativescript-community/ui-textfield`: `<appBarSearchField><uitextfield /></appBarSearchField>`. Ignored on iOS.
59
+ */
60
+ export class AppBarSearchField extends ContentView {
61
+ }
62
+ /**
63
+ * Android `bottomBarStyle="floating"`: holds the content of the floating toolbar in place of the `bottomItems` buttons: `<appBarBottomView><stacklayout orientation="horizontal">...</stacklayout></appBarBottomView>`. Ignored on iOS.
64
+ */
65
+ export class AppBarBottomView extends ContentView {
66
+ }
54
67
  export class AppBarBase extends ActionBar {
55
68
  constructor() {
56
69
  super(...arguments);
57
70
  /** the current text of the search (read only) */
58
71
  this.searchText = '';
59
72
  }
73
+ /** Android `inline` search: the view holding the text field of the search (an `AppBarSearchField`, or directly a `TextField`), instead of the built-in `EditText` */
74
+ get searchField() {
75
+ return this._searchField;
76
+ }
77
+ set searchField(value) {
78
+ this._searchField = this.swapHostedView(this._searchField, value);
79
+ this.onAppBarPropertyChanged();
80
+ }
81
+ /** Android `floating` bottom toolbar: the view shown in the toolbar instead of the `bottomItems` buttons */
82
+ get bottomView() {
83
+ return this._bottomView;
84
+ }
85
+ set bottomView(value) {
86
+ this._bottomView = this.swapHostedView(this._bottomView, value);
87
+ this.onAppBarPropertyChanged();
88
+ }
89
+ // the native views of the hosted views are placed by the page, not by the bar
90
+ swapHostedView(current, value) {
91
+ if (current !== value && isAndroid) {
92
+ if (current) {
93
+ this._removeView(current);
94
+ }
95
+ if (value) {
96
+ this._addView(value);
97
+ }
98
+ }
99
+ return value;
100
+ }
101
+ eachChildView(callback) {
102
+ super.eachChildView(callback);
103
+ [this._searchField, this._bottomView].forEach((view) => view && callback(view));
104
+ }
105
+ // the core ActionBar only lists the title view, the items and the navigation button: the hosted views are also set up and loaded with the bar
106
+ eachChild(callback) {
107
+ super.eachChild(callback);
108
+ [this._searchField, this._bottomView].forEach((view) => view && callback(view));
109
+ }
110
+ _addChildFromBuilder(name, value) {
111
+ if (value instanceof AppBarSearchField) {
112
+ this.searchField = value;
113
+ }
114
+ else if (value instanceof AppBarBottomView) {
115
+ this.bottomView = value;
116
+ }
117
+ else {
118
+ // @ts-ignore
119
+ super._addChildFromBuilder?.(name, value);
120
+ }
121
+ }
122
+ /** closes an expanded `inline` search. Returns true when there was one to close (use it in a back button handler) */
123
+ closeSearch() {
124
+ return false;
125
+ }
126
+ /** focuses the search field (keyboard shortcut, menu command). Returns true when the bar is searchable */
127
+ focusSearch() {
128
+ return false;
129
+ }
130
+ /** the scrolling view the bar follows: `scrollTarget`, else the view of the page with the id `scrollTargetId` */
131
+ getScrollTarget() {
132
+ return this.scrollTarget ?? (this.scrollTargetId ? this.page?.getViewById(this.scrollTargetId) : null) ?? null;
133
+ }
60
134
  onAppBarPropertyChanged() {
61
135
  this.update();
62
136
  }
137
+ /** @internal the view the menu of an action opens under */
138
+ getMenuAnchor() {
139
+ return this;
140
+ }
63
141
  }
64
142
  AppBarBase.bottomItemTapEvent = 'bottomItemTap';
65
143
  /** raised when the text of the search changes */
@@ -71,12 +149,15 @@ AppBarBase.searchCancelEvent = 'searchCancel';
71
149
  sizeProperty.register(AppBarBase);
72
150
  scrollBehaviorProperty.register(AppBarBase);
73
151
  subtitleProperty.register(AppBarBase);
152
+ titleAlignmentProperty.register(AppBarBase);
74
153
  formattedTitleProperty.register(AppBarBase);
75
154
  translucentProperty.register(AppBarBase);
76
155
  scrollTargetProperty.register(AppBarBase);
156
+ scrollTargetIdProperty.register(AppBarBase);
77
157
  searchableProperty.register(AppBarBase);
78
158
  searchHintProperty.register(AppBarBase);
79
159
  bottomItemsProperty.register(AppBarBase);
160
+ bottomBarStyleProperty.register(AppBarBase);
80
161
  searchModeProperty.register(AppBarBase);
81
162
  searchPlacementProperty.register(AppBarBase);
82
163
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index-common.js","sourceRoot":"","sources":["../../src/ui-appbar/index-common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-common.js","sourceRoot":"","sources":["../../src/ui-appbar/index-common.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Page, View } from '@nativescript/core';
2
- import { AppBarBase, AppBarBottomItem, AppBarItem, AppBarScrollBehavior, AppBarSearchMode, AppBarSearchPlacement, AppBarSize, AppPageOverlay, AppPageSearchContent } from './index-common';
3
- export { AppBarBottomItem, AppBarItem, AppBarScrollBehavior, AppBarSearchMode, AppBarSearchPlacement, AppBarSize, AppPageOverlay, AppPageSearchContent };
2
+ import { AppBarBase, AppBarBottomItem, AppBarBottomView, AppBarItem, AppBarScrollBehavior, AppBarSearchField, AppBarSearchMode, AppBarSearchPlacement, AppBarSize, AppPageOverlay, AppPageSearchContent } from './index-common';
3
+ export { AppBarBottomItem, AppBarBottomView, AppBarItem, AppBarScrollBehavior, AppBarSearchField, AppBarSearchMode, AppBarSearchPlacement, AppBarSize, AppPageOverlay, AppPageSearchContent };
4
4
  /**
5
5
  * Android: a Material Toolbar. In an `AppPage` it lives in an `AppBarLayout`: `size` medium / large use a M3 `CollapsingToolbarLayout`,
6
6
  * `scrollBehavior` the scroll flags / lift on scroll of the AppBarLayout.
@@ -15,9 +15,18 @@ export declare class AppBar extends AppBarBase {
15
15
  /** tints the navigation icon, the actions and the overflow icon with the color of the content of the bar */
16
16
  applyTints(): void;
17
17
  _updateNavigationButton(): void;
18
+ _addViewToNativeVisualTree(child: View, atIndex?: number): boolean;
19
+ _removeViewFromNativeVisualTree(child: View): void;
18
20
  onAppBarPropertyChanged(): void;
21
+ _onTitlePropertyChanged(): void;
19
22
  update(): void;
23
+ /** the toolbar is hidden while the SearchBar hosts the actions: the menu opens under the SearchBar */
24
+ getMenuAnchor(): View;
25
+ closeSearch(): boolean;
26
+ focusSearch(): boolean;
20
27
  _addActionItems(): void;
28
+ /** core only loads string icons: an ImageSource or a FormattedString (font icon) is converted here */
29
+ private applyItemIcons;
21
30
  private _badges;
22
31
  /** the badges of the actions (a number, a text or a dot): attached once the action views exist */
23
32
  private syncBadges;
@@ -64,6 +73,9 @@ export declare class AppPage extends Page {
64
73
  createNativeView(): org.nativescript.widgets.GridLayout;
65
74
  private _softInputMode;
66
75
  onUnloaded(): void;
76
+ private _appearanceListener;
77
+ /** the icons of the status bar follow the luminance of the bar drawn under it: the style of the page is not applied again by a live dark / light switch */
78
+ private syncStatusBarIcons;
67
79
  onLoaded(): void;
68
80
  disposeNativeView(): void;
69
81
  private getStatusBarHeight;
@@ -77,17 +89,64 @@ export declare class AppPage extends Page {
77
89
  * (the nested scrolling of the AppBarLayout would let the bar consume the scroll first). The bar follows the scroll deltas of the list and settles when the scroll stops.
78
90
  */
79
91
  private syncHide;
92
+ private _liftTarget;
93
+ private _liftContentListener;
94
+ /** the first vertically scrolling view under `view`: the lift state must follow one view, else several nested scroll events disagree and the bar blinks */
95
+ private findScrollingView;
96
+ /** `lift` follows `scrollTarget` / `scrollTargetId`, by default the first scrolling view of the content (searched again when the content is laid out) */
97
+ private syncLiftTarget;
80
98
  private _liftListener;
81
99
  private setStatusScrimColor;
82
100
  private _statusScrim;
83
101
  private _searchBarSetup;
102
+ /** the SearchBar when it hosts the navigation icon and the actions of the bar (the toolbar is hidden) */
103
+ get hostingSearchBar(): com.google.android.material.search.SearchBar;
84
104
  /** `searchMode="bar"`: a Material 3 SearchBar under the toolbar that opens the full screen SearchView */
85
105
  private syncSearchBar;
106
+ private _syncOnLoaded;
107
+ private syncWhenLoaded;
108
+ private _inlineField;
109
+ private _inlineEdit;
110
+ private _inlineBack;
111
+ private _inlineClear;
112
+ private _inlineOwner;
113
+ private _inlineOpen;
114
+ private _inlineTextField;
115
+ private _inlineTextFieldDetach;
116
+ private getAppCompatDrawable;
117
+ private createInlineButton;
118
+ private notifySearchChange;
119
+ private notifySearchSubmit;
120
+ private getInlineText;
121
+ private clearInlineText;
122
+ private dismissInlineKeyboard;
123
+ /** the field of the search: the `searchField` of the bar when it holds a TextField, else the built-in EditText */
124
+ private bindInlineTextField;
125
+ /** `searchMode="inline"`: the SearchBar turns into an editable field in place, the app filters its own content from `searchChange` */
126
+ private syncInlineSearch;
127
+ /** the colors of the theme are read again at each sync (dark / light switch): the field follows the bar */
128
+ private syncInlineColors;
129
+ private getSearchBarColor;
130
+ /** cross fades the search bar and the editable field (same size and position) */
131
+ private morphSearch;
132
+ openInlineSearch(): boolean;
133
+ /** returns true when an inline search was open */
134
+ closeInlineSearch(): boolean;
135
+ /** the SearchBar reads the colors of the theme when it is created: they are applied again at each sync */
136
+ private syncSearchBarColors;
137
+ private _defaultSearchBarIcon;
138
+ /** without a title the SearchBar is the whole bar (M3 "search app bar"): it takes the navigation icon and the actions of the toolbar */
139
+ private syncSearchBarHost;
86
140
  private _bottomBadges;
87
141
  private _bottomBar;
88
142
  private _bottomInsetListener;
143
+ private _bottomInsetView;
89
144
  /** `bottomItems`: a Material BottomAppBar, over the content, below the overlay */
90
145
  private syncBottomBar;
146
+ private _floatingBar;
147
+ private _floatingHolder;
148
+ /** `bottomBarStyle="floating"`: a Material 3 Expressive FloatingToolbarLayout (a pill over the content, centered above the gesture bar) holding icon buttons, or the `bottomView` of the bar */
149
+ private syncFloatingBar;
91
150
  /** the last items of the scrolling view must not stay under the bottom bar */
92
151
  private syncBottomInset;
93
152
  private _insetListener;