@nativescript-community/ui-appbar 0.0.0-stage → 1.0.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 +23 -0
- package/LICENSE +201 -0
- package/README.md +279 -2
- package/index-common.d.ts +101 -0
- package/index-common.js +104 -0
- package/index-common.js.map +1 -0
- package/index.android.d.ts +98 -0
- package/index.android.js +825 -0
- package/index.android.js.map +1 -0
- package/index.d.ts +69 -0
- package/index.ios.d.ts +66 -0
- package/index.ios.js +472 -0
- package/index.ios.js.map +1 -0
- package/package.json +49 -5
- package/platforms/android/include.gradle +6 -0
- package/platforms/android/native-api-usage.json +48 -0
- package/platforms/android/res/layout/ns_appbar_collapsing_large.xml +7 -0
- package/platforms/android/res/layout/ns_appbar_collapsing_medium.xml +7 -0
- package/platforms/ios/native-api-usage.json +11 -0
- package/svelte/index.d.ts +2 -0
- package/svelte/index.js +29 -0
- package/svelte/index.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -0
package/index-common.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ActionBar, ActionItem, GridLayout, ItemSpec, Property, View, isAndroid } from '@nativescript/core';
|
|
2
|
+
import { showMenu } from '@nativescript-community/ui-menu';
|
|
3
|
+
function changed(target) {
|
|
4
|
+
target.onAppBarPropertyChanged();
|
|
5
|
+
}
|
|
6
|
+
export const sizeProperty = new Property({ name: 'size', defaultValue: 'small', valueChanged: changed });
|
|
7
|
+
export const scrollBehaviorProperty = new Property({ name: 'scrollBehavior', defaultValue: 'none', valueChanged: changed });
|
|
8
|
+
export const subtitleProperty = new Property({ name: 'subtitle', valueChanged: changed });
|
|
9
|
+
export const formattedTitleProperty = new Property({ name: 'formattedTitle', valueChanged: changed });
|
|
10
|
+
export const translucentProperty = new Property({ name: 'translucent', defaultValue: false, valueConverter: (v) => v === true || v === 'true' || v === '', valueChanged: changed });
|
|
11
|
+
export const searchableProperty = new Property({ name: 'searchable', defaultValue: false, valueConverter: (v) => v === true || v === 'true' || v === '', valueChanged: changed });
|
|
12
|
+
export const searchHintProperty = new Property({ name: 'searchHint', valueChanged: changed });
|
|
13
|
+
export const scrollTargetProperty = new Property({ name: 'scrollTarget', valueChanged: changed });
|
|
14
|
+
function itemChanged(target) {
|
|
15
|
+
target.actionBar?.update?.();
|
|
16
|
+
}
|
|
17
|
+
export const badgeProperty = new Property({ name: 'badge', valueChanged: itemChanged });
|
|
18
|
+
export const menuProperty = new Property({ name: 'menu', valueChanged: itemChanged });
|
|
19
|
+
export const prominentProperty = new Property({ name: 'prominent', defaultValue: false, valueConverter: (v) => v === true || v === 'true' || v === '', valueChanged: itemChanged });
|
|
20
|
+
/**
|
|
21
|
+
* An action of the bar. In addition to the core `ActionItem` (text, icon, `actionView`, `android.position`...):
|
|
22
|
+
* - `menu`: items of a menu shown when the action is tapped (iOS: native menu of the bar button, Android: popup menu)
|
|
23
|
+
* - `prominent`: iOS 26 tinted Liquid Glass button
|
|
24
|
+
*/
|
|
25
|
+
export class AppBarItem extends ActionItem {
|
|
26
|
+
// a view inside the item is its `actionView`: <appBarItem><uibutton .../></appBarItem>
|
|
27
|
+
_addChildFromBuilder(name, value) {
|
|
28
|
+
if (value instanceof View) {
|
|
29
|
+
this.actionView = value;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
super._addChildFromBuilder?.(name, value);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
_raiseTap() {
|
|
37
|
+
if (this.actionView) {
|
|
38
|
+
// the core takes the touches of the action view (Android click listener, iOS tap recognizer) for the tap of the item: the view gets its own `tap` event
|
|
39
|
+
this.actionView.notify({ eventName: 'tap', object: this.actionView });
|
|
40
|
+
}
|
|
41
|
+
if (isAndroid && this.menu?.length && this.actionBar) {
|
|
42
|
+
showMenu({ anchor: this.actionBar, items: this.menu, placement: { horizontal: 'end', vertical: 'below' } });
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
super._raiseTap();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
menuProperty.register(AppBarItem);
|
|
49
|
+
badgeProperty.register(AppBarItem);
|
|
50
|
+
prominentProperty.register(AppBarItem);
|
|
51
|
+
export const searchModeProperty = new Property({ name: 'searchMode', defaultValue: 'collapsible', valueChanged: changed });
|
|
52
|
+
export const searchPlacementProperty = new Property({ name: 'searchPlacement', defaultValue: 'stacked', valueChanged: changed });
|
|
53
|
+
export const bottomItemsProperty = new Property({ name: 'bottomItems', valueChanged: changed });
|
|
54
|
+
export class AppBarBase extends ActionBar {
|
|
55
|
+
constructor() {
|
|
56
|
+
super(...arguments);
|
|
57
|
+
/** the current text of the search (read only) */
|
|
58
|
+
this.searchText = '';
|
|
59
|
+
}
|
|
60
|
+
onAppBarPropertyChanged() {
|
|
61
|
+
this.update();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
AppBarBase.bottomItemTapEvent = 'bottomItemTap';
|
|
65
|
+
/** raised when the text of the search changes */
|
|
66
|
+
AppBarBase.searchChangeEvent = 'searchChange';
|
|
67
|
+
/** raised when the search is submitted (keyboard search key) */
|
|
68
|
+
AppBarBase.searchSubmitEvent = 'searchSubmit';
|
|
69
|
+
/** raised when the search is closed / cancelled */
|
|
70
|
+
AppBarBase.searchCancelEvent = 'searchCancel';
|
|
71
|
+
sizeProperty.register(AppBarBase);
|
|
72
|
+
scrollBehaviorProperty.register(AppBarBase);
|
|
73
|
+
subtitleProperty.register(AppBarBase);
|
|
74
|
+
formattedTitleProperty.register(AppBarBase);
|
|
75
|
+
translucentProperty.register(AppBarBase);
|
|
76
|
+
scrollTargetProperty.register(AppBarBase);
|
|
77
|
+
searchableProperty.register(AppBarBase);
|
|
78
|
+
searchHintProperty.register(AppBarBase);
|
|
79
|
+
bottomItemsProperty.register(AppBarBase);
|
|
80
|
+
searchModeProperty.register(AppBarBase);
|
|
81
|
+
searchPlacementProperty.register(AppBarBase);
|
|
82
|
+
/**
|
|
83
|
+
* 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.
|
|
84
|
+
* Android: the content of an AppPage is taller than the screen while the bar is expanded (the content moves up when the bar collapses), so a view anchored to the bottom of the content would be off screen.
|
|
85
|
+
*/
|
|
86
|
+
export class AppPageOverlay extends GridLayout {
|
|
87
|
+
constructor() {
|
|
88
|
+
super();
|
|
89
|
+
// explicit star row and column: the children are aligned in the whole page, also when the keyboard changes its size
|
|
90
|
+
this.addRow(new ItemSpec(1, 'star'));
|
|
91
|
+
this.addColumn(new ItemSpec(1, 'star'));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** raises the tap of a bottom item: the `onTap` of the item and the `bottomItemTap` event of the bar */
|
|
95
|
+
export function notifyBottomItemTap(bar, item) {
|
|
96
|
+
item.onTap?.(item);
|
|
97
|
+
bar.notify({ eventName: AppBarBase.bottomItemTapEvent, object: bar, item });
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Android `searchMode="bar"`: the content of the full screen search (suggestions, results): use it as the `searchContent` of an AppPage. Ignored on iOS.
|
|
101
|
+
*/
|
|
102
|
+
export class AppPageSearchContent extends GridLayout {
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=index-common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-common.js","sourceRoot":"","sources":["../../src/ui-appbar/index-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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 };
|
|
4
|
+
/**
|
|
5
|
+
* Android: a Material Toolbar. In an `AppPage` it lives in an `AppBarLayout`: `size` medium / large use a M3 `CollapsingToolbarLayout`,
|
|
6
|
+
* `scrollBehavior` the scroll flags / lift on scroll of the AppBarLayout.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AppBar extends AppBarBase {
|
|
9
|
+
createNativeView(): com.google.android.material.appbar.MaterialToolbar;
|
|
10
|
+
_redrawNativeBackground(value: any): void;
|
|
11
|
+
/** the color of the bar: the css `background-color`, else the surface color of the theme */
|
|
12
|
+
getBarColor(): number;
|
|
13
|
+
/** the color of the title and the icons: the css `color`, else the on surface color of the theme */
|
|
14
|
+
getOnBarColor(): number;
|
|
15
|
+
/** tints the navigation icon, the actions and the overflow icon with the color of the content of the bar */
|
|
16
|
+
applyTints(): void;
|
|
17
|
+
_updateNavigationButton(): void;
|
|
18
|
+
onAppBarPropertyChanged(): void;
|
|
19
|
+
update(): void;
|
|
20
|
+
_addActionItems(): void;
|
|
21
|
+
private _badges;
|
|
22
|
+
/** the badges of the actions (a number, a text or a dot): attached once the action views exist */
|
|
23
|
+
private syncBadges;
|
|
24
|
+
/** a collapsible SearchView as the first action */
|
|
25
|
+
private addSearchItem;
|
|
26
|
+
_updateTitleAndTitleView(): void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Android: a Page whose content scrolls with a Material `AppBarLayout` (lift, hide, collapse...).
|
|
30
|
+
*
|
|
31
|
+
* The native tree is built INSIDE the root of the regular Page, so any library that replaces the Page root
|
|
32
|
+
* (like gesturehandler `PageLayout`) keeps working:
|
|
33
|
+
*
|
|
34
|
+
* root = super.createNativeView() (GridLayout, or the gesturehandler PageLayout)
|
|
35
|
+
* `- CoordinatorLayout (row 1)
|
|
36
|
+
* |- AppBarLayout <- the ActionBar Toolbar (in a CollapsingToolbarLayout for medium / large)
|
|
37
|
+
* `- ContentLayout (ScrollingViewBehavior) <- the page content
|
|
38
|
+
*/
|
|
39
|
+
export declare class AppPage extends Page {
|
|
40
|
+
private _coordinator;
|
|
41
|
+
private _appBarLayout;
|
|
42
|
+
private _nativeContent;
|
|
43
|
+
private _nativeOverlay;
|
|
44
|
+
private _overlay;
|
|
45
|
+
private _searchContent;
|
|
46
|
+
private _searchBar;
|
|
47
|
+
private _searchView;
|
|
48
|
+
private _collapsing;
|
|
49
|
+
private _collapsingSize;
|
|
50
|
+
private _scrollBehavior;
|
|
51
|
+
/** the CollapsingToolbarLayout of a medium / large bar */
|
|
52
|
+
get collapsingLayout(): com.google.android.material.appbar.CollapsingToolbarLayout;
|
|
53
|
+
/** the behavior of a bar which is not an AppBar (a core ActionBar) */
|
|
54
|
+
get scrollBehavior(): AppBarScrollBehavior;
|
|
55
|
+
set scrollBehavior(value: AppBarScrollBehavior);
|
|
56
|
+
/** views anchored to the page (a FAB, a bottom bar...) instead of the scrolling content */
|
|
57
|
+
get overlay(): View;
|
|
58
|
+
set overlay(value: View);
|
|
59
|
+
_addChildFromBuilder(name: string, value: any): void;
|
|
60
|
+
/** `searchMode="bar"`: the content of the full screen search (suggestions, results) */
|
|
61
|
+
get searchContent(): View;
|
|
62
|
+
set searchContent(value: View);
|
|
63
|
+
eachChildView(callback: (child: View) => boolean): void;
|
|
64
|
+
createNativeView(): org.nativescript.widgets.GridLayout;
|
|
65
|
+
private _softInputMode;
|
|
66
|
+
onUnloaded(): void;
|
|
67
|
+
onLoaded(): void;
|
|
68
|
+
disposeNativeView(): void;
|
|
69
|
+
private getStatusBarHeight;
|
|
70
|
+
/** moves the toolbar between the AppBarLayout and a CollapsingToolbarLayout and applies the scroll settings */
|
|
71
|
+
syncAppBar(): void;
|
|
72
|
+
private _hideTarget;
|
|
73
|
+
private _hideView;
|
|
74
|
+
private _hideDetach;
|
|
75
|
+
/**
|
|
76
|
+
* `hide`: the bar leaves the screen while the list scrolls down and comes back while it scrolls up, both at the same time as the list scrolls
|
|
77
|
+
* (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
|
+
*/
|
|
79
|
+
private syncHide;
|
|
80
|
+
private _liftListener;
|
|
81
|
+
private setStatusScrimColor;
|
|
82
|
+
private _statusScrim;
|
|
83
|
+
private _searchBarSetup;
|
|
84
|
+
/** `searchMode="bar"`: a Material 3 SearchBar under the toolbar that opens the full screen SearchView */
|
|
85
|
+
private syncSearchBar;
|
|
86
|
+
private _bottomBadges;
|
|
87
|
+
private _bottomBar;
|
|
88
|
+
private _bottomInsetListener;
|
|
89
|
+
/** `bottomItems`: a Material BottomAppBar, over the content, below the overlay */
|
|
90
|
+
private syncBottomBar;
|
|
91
|
+
/** the last items of the scrolling view must not stay under the bottom bar */
|
|
92
|
+
private syncBottomInset;
|
|
93
|
+
private _insetListener;
|
|
94
|
+
/** translucent: the first items of the scrolling view must start below the bar: its top padding follows the height of the bar */
|
|
95
|
+
private syncTranslucentInset;
|
|
96
|
+
_addViewToNativeVisualTree(child: View, atIndex?: number): boolean;
|
|
97
|
+
_removeViewFromNativeVisualTree(child: View): void;
|
|
98
|
+
}
|