@nativescript-community/ui-material-core 6.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 +1559 -0
- package/LICENSE +201 -0
- package/README.md +5 -0
- package/android/utils.d.ts +44 -0
- package/android/utils.js +257 -0
- package/android/utils.js.map +1 -0
- package/cssproperties.d.ts +7 -0
- package/cssproperties.js +49 -0
- package/cssproperties.js.map +1 -0
- package/index.android.d.ts +42 -0
- package/index.android.js +318 -0
- package/index.android.js.map +1 -0
- package/index.common.d.ts +9 -0
- package/index.common.js +79 -0
- package/index.common.js.map +1 -0
- package/index.d.ts +67 -0
- package/index.ios.d.ts +46 -0
- package/index.ios.js +336 -0
- package/index.ios.js.map +1 -0
- package/package.json +55 -0
- package/platforms/android/AndroidManifest.xml +2 -0
- package/platforms/android/include.gradle +10 -0
- package/platforms/android/java/com/nativescript/material/core/BottomNavigationBar.java +309 -0
- package/platforms/android/java/com/nativescript/material/core/TabItemSpec.java +15 -0
- package/platforms/android/java/com/nativescript/material/core/TabLayout.java +441 -0
- package/platforms/android/java/com/nativescript/material/core/TabStrip.java +264 -0
- package/platforms/android/java/com/nativescript/material/core/TabViewPager.java +62 -0
- package/platforms/android/java/com/nativescript/material/core/TabsBar.java +442 -0
- package/platforms/android/java/com/nativescript/material/core/Utils.java +105 -0
- package/platforms/android/res/layout/material_page.xml +33 -0
- package/platforms/android/ui_material_core.aar +0 -0
- package/platforms/ios/Podfile +2 -0
- package/pnpm-lock.yaml +83 -0
- package/postinstall.d.ts +0 -0
- package/postinstall.js +2 -0
- package/postinstall.js.map +1 -0
- package/preuninstall.d.ts +0 -0
- package/preuninstall.js +2 -0
- package/preuninstall.js.map +1 -0
- package/scripts/before-prepare.js +28 -0
- package/scripts/before-prepare.js.map +1 -0
- package/tab-navigation-base/react/index.d.ts +60 -0
- package/tab-navigation-base/react/index.js +117 -0
- package/tab-navigation-base/react/index.js.map +1 -0
- package/tab-navigation-base/tab-content-item/index.android.d.ts +14 -0
- package/tab-navigation-base/tab-content-item/index.android.js +46 -0
- package/tab-navigation-base/tab-content-item/index.android.js.map +1 -0
- package/tab-navigation-base/tab-content-item/index.d.ts +11 -0
- package/tab-navigation-base/tab-content-item/index.ios.d.ts +7 -0
- package/tab-navigation-base/tab-content-item/index.ios.js +13 -0
- package/tab-navigation-base/tab-content-item/index.ios.js.map +1 -0
- package/tab-navigation-base/tab-content-item/tab-content-item-common.d.ts +7 -0
- package/tab-navigation-base/tab-content-item/tab-content-item-common.js +22 -0
- package/tab-navigation-base/tab-content-item/tab-content-item-common.js.map +1 -0
- package/tab-navigation-base/tab-navigation-base/index.d.ts +67 -0
- package/tab-navigation-base/tab-navigation-base/index.js +234 -0
- package/tab-navigation-base/tab-navigation-base/index.js.map +1 -0
- package/tab-navigation-base/tab-strip/index.d.ts +24 -0
- package/tab-navigation-base/tab-strip/index.js +151 -0
- package/tab-navigation-base/tab-strip/index.js.map +1 -0
- package/tab-navigation-base/tab-strip-item/index.d.ts +34 -0
- package/tab-navigation-base/tab-strip-item/index.js +215 -0
- package/tab-navigation-base/tab-strip-item/index.js.map +1 -0
- package/textbase/cssproperties.d.ts +16 -0
- package/textbase/cssproperties.js +103 -0
- package/textbase/cssproperties.js.map +1 -0
- package/tsconfig.hooks.json +17 -0
@@ -0,0 +1,234 @@
|
|
1
|
+
import { CoercibleProperty, Property, View, booleanConverter } from '@nativescript/core';
|
2
|
+
import { TabContentItem } from '../tab-content-item';
|
3
|
+
import { TabStrip } from '../tab-strip';
|
4
|
+
export class TabNavigationBase extends View {
|
5
|
+
_addArrayFromBuilder(name, value) {
|
6
|
+
if (name === 'items') {
|
7
|
+
this.items = value;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
_addChildFromBuilder(name, value) {
|
11
|
+
if (value instanceof TabContentItem) {
|
12
|
+
if (!this.items) {
|
13
|
+
this.items = new Array();
|
14
|
+
}
|
15
|
+
this.items.push(value);
|
16
|
+
this._addView(value);
|
17
|
+
}
|
18
|
+
else if (value instanceof TabStrip) {
|
19
|
+
this.tabStrip = value;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
get _selectedView() {
|
23
|
+
const selectedIndex = this.selectedIndex;
|
24
|
+
return selectedIndex > -1 ? this.items[selectedIndex].content : null;
|
25
|
+
}
|
26
|
+
get _childrenCount() {
|
27
|
+
const items = this.items;
|
28
|
+
return items ? items.length : 0;
|
29
|
+
}
|
30
|
+
eachChild(callback) {
|
31
|
+
const items = this.items;
|
32
|
+
if (items) {
|
33
|
+
items.forEach((item, i) => {
|
34
|
+
callback(item);
|
35
|
+
});
|
36
|
+
}
|
37
|
+
const tabStrip = this.tabStrip;
|
38
|
+
if (tabStrip) {
|
39
|
+
callback(tabStrip);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
eachChildView(callback) {
|
43
|
+
const items = this.items;
|
44
|
+
if (items) {
|
45
|
+
items.forEach((item, i) => {
|
46
|
+
callback(item.content);
|
47
|
+
});
|
48
|
+
}
|
49
|
+
}
|
50
|
+
onItemsChanged(oldItems, newItems) {
|
51
|
+
if (oldItems) {
|
52
|
+
oldItems.forEach((item) => {
|
53
|
+
if (newItems.indexOf(item) === -1) {
|
54
|
+
this._removeView(item);
|
55
|
+
}
|
56
|
+
});
|
57
|
+
}
|
58
|
+
if (newItems) {
|
59
|
+
newItems.forEach((item) => {
|
60
|
+
if (!item.content) {
|
61
|
+
throw new Error('TabContentItem must have a content (view).');
|
62
|
+
}
|
63
|
+
if (oldItems.indexOf(item) === -1) {
|
64
|
+
this._addView(item);
|
65
|
+
}
|
66
|
+
});
|
67
|
+
}
|
68
|
+
}
|
69
|
+
onTabStripChanged(oldTabStrip, newTabStrip) {
|
70
|
+
if (oldTabStrip && oldTabStrip.parent) {
|
71
|
+
this._removeView(oldTabStrip);
|
72
|
+
}
|
73
|
+
if (newTabStrip) {
|
74
|
+
this._addView(newTabStrip);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
onSelectedIndexChanged(oldIndex, newIndex) {
|
78
|
+
this.notify({
|
79
|
+
eventName: TabNavigationBase.selectedIndexChangedEvent,
|
80
|
+
object: this,
|
81
|
+
oldIndex,
|
82
|
+
newIndex
|
83
|
+
});
|
84
|
+
}
|
85
|
+
getTabBarBackgroundColor() {
|
86
|
+
return null;
|
87
|
+
}
|
88
|
+
getTabBarBackgroundArgbColor() {
|
89
|
+
const colorDrawable = this.getTabBarBackgroundColor();
|
90
|
+
return colorDrawable && colorDrawable.getColor && colorDrawable.getColor();
|
91
|
+
}
|
92
|
+
setTabBarBackgroundColor(value) {
|
93
|
+
}
|
94
|
+
getTabBarFontInternal() {
|
95
|
+
return null;
|
96
|
+
}
|
97
|
+
setTabBarFontInternal(value) {
|
98
|
+
}
|
99
|
+
getTabBarTextTransform() {
|
100
|
+
return null;
|
101
|
+
}
|
102
|
+
setTabBarTextTransform(value) {
|
103
|
+
}
|
104
|
+
getTabBarHighlightColor() {
|
105
|
+
}
|
106
|
+
setTabBarHighlightColor(value) {
|
107
|
+
}
|
108
|
+
getTabBarSelectedItemColor() {
|
109
|
+
return null;
|
110
|
+
}
|
111
|
+
setTabBarSelectedItemColor(value) {
|
112
|
+
}
|
113
|
+
getTabBarUnSelectedItemColor() {
|
114
|
+
return null;
|
115
|
+
}
|
116
|
+
setTabBarUnSelectedItemColor(value) {
|
117
|
+
}
|
118
|
+
getTabBarColor() {
|
119
|
+
return null;
|
120
|
+
}
|
121
|
+
setTabBarColor(value) {
|
122
|
+
}
|
123
|
+
setTabBarItemTitle(tabStripItem, value) {
|
124
|
+
}
|
125
|
+
getTabBarItemBackgroundColor(tabStripItem) {
|
126
|
+
return null;
|
127
|
+
}
|
128
|
+
setTabBarItemBackgroundColor(tabStripItem, value) {
|
129
|
+
}
|
130
|
+
getTabBarItemColor(tabStripItem) {
|
131
|
+
return null;
|
132
|
+
}
|
133
|
+
setTabBarItemColor(tabStripItem, value) {
|
134
|
+
}
|
135
|
+
setTabBarIconColor(tabStripItem, value) {
|
136
|
+
}
|
137
|
+
setTabBarIconSource(tabStripItem, value) {
|
138
|
+
}
|
139
|
+
getTabBarItemFontSize(tabStripItem) {
|
140
|
+
return null;
|
141
|
+
}
|
142
|
+
setTabBarItemFontSize(tabStripItem, value) {
|
143
|
+
}
|
144
|
+
getTabBarItemFontInternal(tabStripItem) {
|
145
|
+
return null;
|
146
|
+
}
|
147
|
+
setTabBarItemFontInternal(tabStripItem, value) {
|
148
|
+
}
|
149
|
+
getTabBarItemTextTransform(tabStripItem) {
|
150
|
+
return null;
|
151
|
+
}
|
152
|
+
setTabBarItemTextTransform(tabStripItem, value) {
|
153
|
+
}
|
154
|
+
setTabBarRippleColor(value) {
|
155
|
+
}
|
156
|
+
getTabBarRippleColor() {
|
157
|
+
return null;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
TabNavigationBase.selectedIndexChangedEvent = 'selectedIndexChanged';
|
161
|
+
const MIN_ICON_SIZE = 24;
|
162
|
+
const MAX_ICON_WIDTH = 31;
|
163
|
+
const MAX_ICON_HEIGHT = 28;
|
164
|
+
export function getIconSpecSize(size) {
|
165
|
+
const inWidth = size.width;
|
166
|
+
const inHeight = size.height;
|
167
|
+
let outWidth = 0;
|
168
|
+
let outHeight = 0;
|
169
|
+
if (inWidth < inHeight) {
|
170
|
+
outWidth = MIN_ICON_SIZE;
|
171
|
+
outHeight = (inHeight * MIN_ICON_SIZE) / inWidth;
|
172
|
+
if (outHeight > MAX_ICON_HEIGHT) {
|
173
|
+
outHeight = MAX_ICON_HEIGHT;
|
174
|
+
outWidth = (inWidth * MAX_ICON_HEIGHT) / inHeight;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
else {
|
178
|
+
outHeight = MIN_ICON_SIZE;
|
179
|
+
outWidth = (inWidth * MIN_ICON_SIZE) / inHeight;
|
180
|
+
if (outWidth > MAX_ICON_WIDTH) {
|
181
|
+
outWidth = MAX_ICON_WIDTH;
|
182
|
+
outHeight = (inHeight * MAX_ICON_WIDTH) / inWidth;
|
183
|
+
}
|
184
|
+
}
|
185
|
+
return { width: outWidth, height: outHeight };
|
186
|
+
}
|
187
|
+
export const selectedIndexProperty = new CoercibleProperty({
|
188
|
+
name: 'selectedIndex',
|
189
|
+
defaultValue: -1,
|
190
|
+
affectsLayout: global.isIOS,
|
191
|
+
valueChanged: (target, oldValue, newValue) => {
|
192
|
+
target.onSelectedIndexChanged(oldValue, newValue);
|
193
|
+
},
|
194
|
+
coerceValue: (target, value) => {
|
195
|
+
const items = target.items;
|
196
|
+
if (items) {
|
197
|
+
const max = items.length - 1;
|
198
|
+
if (value < 0) {
|
199
|
+
value = 0;
|
200
|
+
}
|
201
|
+
if (value > max) {
|
202
|
+
value = max;
|
203
|
+
}
|
204
|
+
}
|
205
|
+
else {
|
206
|
+
value = -1;
|
207
|
+
}
|
208
|
+
return value;
|
209
|
+
},
|
210
|
+
valueConverter: (v) => parseInt(v, 10)
|
211
|
+
});
|
212
|
+
selectedIndexProperty.register(TabNavigationBase);
|
213
|
+
export const _tabs = new Array();
|
214
|
+
export const itemsProperty = new Property({
|
215
|
+
name: 'items',
|
216
|
+
valueChanged: (target, oldValue, newValue) => {
|
217
|
+
target.onItemsChanged(oldValue, newValue);
|
218
|
+
}
|
219
|
+
});
|
220
|
+
itemsProperty.register(TabNavigationBase);
|
221
|
+
export const tabStripProperty = new Property({
|
222
|
+
name: 'tabStrip',
|
223
|
+
valueChanged: (target, oldValue, newValue) => {
|
224
|
+
target.onTabStripChanged(oldValue, newValue);
|
225
|
+
}
|
226
|
+
});
|
227
|
+
tabStripProperty.register(TabNavigationBase);
|
228
|
+
export const unloadOnTabChangeProperty = new Property({
|
229
|
+
name: 'unloadOnTabChange',
|
230
|
+
defaultValue: true,
|
231
|
+
valueConverter: booleanConverter
|
232
|
+
});
|
233
|
+
unloadOnTabChangeProperty.register(TabNavigationBase);
|
234
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["tab-navigation-base/tab-navigation-base/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { AddArrayFromBuilder, AddChildFromBuilder, Color, CssProperty, Property, Style, View, ViewBase } from '@nativescript/core';
|
2
|
+
import { TabStripItem } from '../tab-strip-item';
|
3
|
+
import { TabStrip as TabStripDefinition } from './';
|
4
|
+
export declare const traceCategory = "TabView";
|
5
|
+
export declare const highlightColorProperty: CssProperty<Style, Color>;
|
6
|
+
export declare const selectedItemColorProperty: CssProperty<Style, Color>;
|
7
|
+
export declare const unSelectedItemColorProperty: CssProperty<Style, Color>;
|
8
|
+
export declare class TabStrip extends View implements TabStripDefinition, AddChildFromBuilder, AddArrayFromBuilder {
|
9
|
+
static itemTapEvent: string;
|
10
|
+
items: TabStripItem[];
|
11
|
+
isIconSizeFixed: boolean;
|
12
|
+
iosIconRenderingMode: 'automatic' | 'alwaysOriginal' | 'alwaysTemplate';
|
13
|
+
highlightColor: Color;
|
14
|
+
selectedItemColor: Color;
|
15
|
+
unSelectedItemColor: Color;
|
16
|
+
_hasImage: boolean;
|
17
|
+
_hasTitle: boolean;
|
18
|
+
eachChild(callback: (child: ViewBase) => boolean): void;
|
19
|
+
_addArrayFromBuilder(name: string, value: any[]): void;
|
20
|
+
_addChildFromBuilder(name: string, value: any): void;
|
21
|
+
onItemsChanged(oldItems: TabStripItem[], newItems: TabStripItem[]): void;
|
22
|
+
}
|
23
|
+
export declare const iosIconRenderingModeProperty: Property<TabStripDefinition, "automatic" | "alwaysOriginal" | "alwaysTemplate">;
|
24
|
+
export declare const isIconSizeFixedProperty: Property<TabStripDefinition, boolean>;
|
@@ -0,0 +1,151 @@
|
|
1
|
+
import { rippleColorProperty } from '../../cssproperties';
|
2
|
+
import { CSSType, Color, CssProperty, Property, Style, View, booleanConverter } from '@nativescript/core';
|
3
|
+
import { backgroundColorProperty, backgroundInternalProperty, colorProperty, fontInternalProperty } from '@nativescript/core/ui/styling/style-properties';
|
4
|
+
import { textTransformProperty } from '@nativescript/core/ui/text-base';
|
5
|
+
import { TabStripItem } from '../tab-strip-item';
|
6
|
+
export const traceCategory = 'TabView';
|
7
|
+
export const highlightColorProperty = new CssProperty({
|
8
|
+
name: 'highlightColor',
|
9
|
+
cssName: 'highlight-color',
|
10
|
+
equalityComparer: Color.equals,
|
11
|
+
valueConverter: (v) => new Color(v)
|
12
|
+
});
|
13
|
+
export const selectedItemColorProperty = new CssProperty({
|
14
|
+
name: 'selectedItemColor',
|
15
|
+
cssName: 'selected-item-color',
|
16
|
+
equalityComparer: Color.equals,
|
17
|
+
valueConverter: (v) => new Color(v)
|
18
|
+
});
|
19
|
+
export const unSelectedItemColorProperty = new CssProperty({
|
20
|
+
name: 'unSelectedItemColor',
|
21
|
+
cssName: 'un-selected-item-color',
|
22
|
+
equalityComparer: Color.equals,
|
23
|
+
valueConverter: (v) => new Color(v)
|
24
|
+
});
|
25
|
+
let TabStrip = class TabStrip extends View {
|
26
|
+
eachChild(callback) {
|
27
|
+
const items = this.items;
|
28
|
+
if (items) {
|
29
|
+
items.forEach((item, i) => {
|
30
|
+
callback(item);
|
31
|
+
});
|
32
|
+
}
|
33
|
+
}
|
34
|
+
_addArrayFromBuilder(name, value) {
|
35
|
+
if (name === 'items') {
|
36
|
+
this.items = value;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
_addChildFromBuilder(name, value) {
|
40
|
+
if (value instanceof TabStripItem) {
|
41
|
+
if (!this.items) {
|
42
|
+
this.items = new Array();
|
43
|
+
}
|
44
|
+
this.items.push(value);
|
45
|
+
this._addView(value);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
onItemsChanged(oldItems, newItems) {
|
49
|
+
if (oldItems) {
|
50
|
+
oldItems.forEach((item) => this._removeView(item));
|
51
|
+
}
|
52
|
+
if (newItems) {
|
53
|
+
newItems.forEach((item) => {
|
54
|
+
this._addView(item);
|
55
|
+
});
|
56
|
+
}
|
57
|
+
}
|
58
|
+
[backgroundColorProperty.getDefault]() {
|
59
|
+
const parent = this.parent;
|
60
|
+
return parent && parent.getTabBarBackgroundColor();
|
61
|
+
}
|
62
|
+
[backgroundColorProperty.setNative](value) {
|
63
|
+
const parent = this.parent;
|
64
|
+
return parent && parent.setTabBarBackgroundColor(value);
|
65
|
+
}
|
66
|
+
[backgroundInternalProperty.getDefault]() {
|
67
|
+
return null;
|
68
|
+
}
|
69
|
+
[backgroundInternalProperty.setNative](value) {
|
70
|
+
}
|
71
|
+
[colorProperty.getDefault]() {
|
72
|
+
const parent = this.parent;
|
73
|
+
return parent && parent.getTabBarColor();
|
74
|
+
}
|
75
|
+
[colorProperty.setNative](value) {
|
76
|
+
const parent = this.parent;
|
77
|
+
return parent && parent.setTabBarColor(value);
|
78
|
+
}
|
79
|
+
[fontInternalProperty.getDefault]() {
|
80
|
+
const parent = this.parent;
|
81
|
+
return parent && parent.getTabBarFontInternal();
|
82
|
+
}
|
83
|
+
[fontInternalProperty.setNative](value) {
|
84
|
+
const parent = this.parent;
|
85
|
+
return parent && parent.setTabBarFontInternal(value);
|
86
|
+
}
|
87
|
+
[textTransformProperty.getDefault]() {
|
88
|
+
const parent = this.parent;
|
89
|
+
return parent && parent.getTabBarTextTransform();
|
90
|
+
}
|
91
|
+
[textTransformProperty.setNative](value) {
|
92
|
+
const parent = this.parent;
|
93
|
+
return parent && parent.setTabBarTextTransform(value);
|
94
|
+
}
|
95
|
+
[highlightColorProperty.getDefault]() {
|
96
|
+
const parent = this.parent;
|
97
|
+
return parent && parent.getTabBarHighlightColor();
|
98
|
+
}
|
99
|
+
[highlightColorProperty.setNative](value) {
|
100
|
+
const parent = this.parent;
|
101
|
+
return parent && parent.setTabBarHighlightColor(value);
|
102
|
+
}
|
103
|
+
[selectedItemColorProperty.getDefault]() {
|
104
|
+
const parent = this.parent;
|
105
|
+
return parent && parent.getTabBarSelectedItemColor();
|
106
|
+
}
|
107
|
+
[selectedItemColorProperty.setNative](value) {
|
108
|
+
const parent = this.parent;
|
109
|
+
return parent && parent.setTabBarSelectedItemColor(value);
|
110
|
+
}
|
111
|
+
[unSelectedItemColorProperty.getDefault]() {
|
112
|
+
const parent = this.parent;
|
113
|
+
return parent && parent.getTabBarUnSelectedItemColor();
|
114
|
+
}
|
115
|
+
[unSelectedItemColorProperty.setNative](value) {
|
116
|
+
const parent = this.parent;
|
117
|
+
return parent && parent.setTabBarUnSelectedItemColor(value);
|
118
|
+
}
|
119
|
+
[rippleColorProperty.getDefault]() {
|
120
|
+
const parent = this.parent;
|
121
|
+
return parent && parent.getTabBarRippleColor();
|
122
|
+
}
|
123
|
+
[rippleColorProperty.setNative](value) {
|
124
|
+
const parent = this.parent;
|
125
|
+
return parent && parent.setTabBarRippleColor(value);
|
126
|
+
}
|
127
|
+
};
|
128
|
+
TabStrip.itemTapEvent = 'itemTap';
|
129
|
+
TabStrip = __decorate([
|
130
|
+
CSSType('MDTabStrip')
|
131
|
+
], TabStrip);
|
132
|
+
export { TabStrip };
|
133
|
+
const itemsProperty = new Property({
|
134
|
+
name: 'items',
|
135
|
+
valueChanged: (target, oldValue, newValue) => {
|
136
|
+
target.onItemsChanged(oldValue, newValue);
|
137
|
+
}
|
138
|
+
});
|
139
|
+
itemsProperty.register(TabStrip);
|
140
|
+
export const iosIconRenderingModeProperty = new Property({ name: 'iosIconRenderingMode', defaultValue: 'automatic' });
|
141
|
+
iosIconRenderingModeProperty.register(TabStrip);
|
142
|
+
export const isIconSizeFixedProperty = new Property({
|
143
|
+
name: 'isIconSizeFixed',
|
144
|
+
defaultValue: true,
|
145
|
+
valueConverter: booleanConverter
|
146
|
+
});
|
147
|
+
isIconSizeFixedProperty.register(TabStrip);
|
148
|
+
highlightColorProperty.register(Style);
|
149
|
+
selectedItemColorProperty.register(Style);
|
150
|
+
unSelectedItemColorProperty.register(Style);
|
151
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["tab-navigation-base/tab-strip/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { AddChildFromBuilder, Image, Label, View, ViewBase } from '@nativescript/core';
|
2
|
+
import { TabStripItem as TabStripItemDefinition } from '.';
|
3
|
+
export declare class TabStripItem extends View implements TabStripItemDefinition, AddChildFromBuilder {
|
4
|
+
static tapEvent: string;
|
5
|
+
static selectEvent: string;
|
6
|
+
static unselectEvent: string;
|
7
|
+
image: Image;
|
8
|
+
label: Label;
|
9
|
+
_index: number;
|
10
|
+
private _title;
|
11
|
+
private _iconSource;
|
12
|
+
private _iconClass;
|
13
|
+
private _highlightedHandler;
|
14
|
+
private _normalHandler;
|
15
|
+
private _labelColorHandler;
|
16
|
+
private _labelFontHandler;
|
17
|
+
private _labelTextTransformHandler;
|
18
|
+
private _labelTextHandler;
|
19
|
+
private _imageColorHandler;
|
20
|
+
private _imageFontHandler;
|
21
|
+
private _imageSrcHandler;
|
22
|
+
get title(): string;
|
23
|
+
set title(value: string);
|
24
|
+
get iconClass(): string;
|
25
|
+
set iconClass(value: string);
|
26
|
+
get iconSource(): string;
|
27
|
+
set iconSource(value: string);
|
28
|
+
onLoaded(): void;
|
29
|
+
onUnloaded(): void;
|
30
|
+
eachChild(callback: (child: ViewBase) => boolean): void;
|
31
|
+
_addChildFromBuilder(name: string, value: any): void;
|
32
|
+
requestLayout(): void;
|
33
|
+
_updateTabStateChangeHandler(subscribe: boolean): void;
|
34
|
+
}
|
@@ -0,0 +1,215 @@
|
|
1
|
+
var TabStripItem_1;
|
2
|
+
import { CSSType, Image, Label, PseudoClassHandler, View } from '@nativescript/core';
|
3
|
+
import { backgroundColorProperty, backgroundInternalProperty } from '@nativescript/core/ui/styling/style-properties';
|
4
|
+
import { textTransformProperty } from '@nativescript/core/ui/text-base';
|
5
|
+
let TabStripItem = TabStripItem_1 = class TabStripItem extends View {
|
6
|
+
get title() {
|
7
|
+
if (this.isLoaded) {
|
8
|
+
return this.label.text;
|
9
|
+
}
|
10
|
+
return this._title;
|
11
|
+
}
|
12
|
+
set title(value) {
|
13
|
+
this._title = value;
|
14
|
+
if (this.isLoaded) {
|
15
|
+
this.label.text = value;
|
16
|
+
}
|
17
|
+
}
|
18
|
+
get iconClass() {
|
19
|
+
if (this.isLoaded) {
|
20
|
+
return this.image.className;
|
21
|
+
}
|
22
|
+
return this._iconClass;
|
23
|
+
}
|
24
|
+
set iconClass(value) {
|
25
|
+
this._iconClass = value;
|
26
|
+
if (this.isLoaded) {
|
27
|
+
this.image.className = value;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
get iconSource() {
|
31
|
+
if (this.isLoaded) {
|
32
|
+
return this.image.src;
|
33
|
+
}
|
34
|
+
return this._iconSource;
|
35
|
+
}
|
36
|
+
set iconSource(value) {
|
37
|
+
this._iconSource = value;
|
38
|
+
if (this.isLoaded) {
|
39
|
+
this.image.src = value;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
onLoaded() {
|
43
|
+
if (!this.image) {
|
44
|
+
const image = new Image();
|
45
|
+
image.src = this.iconSource;
|
46
|
+
image.className = this.iconClass;
|
47
|
+
this.image = image;
|
48
|
+
this._addView(this.image);
|
49
|
+
}
|
50
|
+
if (!this.label) {
|
51
|
+
const label = new Label();
|
52
|
+
label.text = this.title;
|
53
|
+
this.label = label;
|
54
|
+
this._addView(this.label);
|
55
|
+
}
|
56
|
+
super.onLoaded();
|
57
|
+
this._labelColorHandler =
|
58
|
+
this._labelColorHandler ||
|
59
|
+
((args) => {
|
60
|
+
const parent = this.parent;
|
61
|
+
const tabStripParent = parent && parent.parent;
|
62
|
+
return tabStripParent && tabStripParent.setTabBarItemColor(this, args.value);
|
63
|
+
});
|
64
|
+
this.label.style.on('colorChange', this._labelColorHandler);
|
65
|
+
this._labelFontHandler =
|
66
|
+
this._labelFontHandler ||
|
67
|
+
((args) => {
|
68
|
+
const parent = this.parent;
|
69
|
+
const tabStripParent = parent && parent.parent;
|
70
|
+
return tabStripParent && tabStripParent.setTabBarItemFontInternal(this, args.value);
|
71
|
+
});
|
72
|
+
this.label.style.on('fontInternalChange', this._labelFontHandler);
|
73
|
+
this._labelTextTransformHandler =
|
74
|
+
this._labelTextTransformHandler ||
|
75
|
+
((args) => {
|
76
|
+
const parent = this.parent;
|
77
|
+
const tabStripParent = parent && parent.parent;
|
78
|
+
return tabStripParent && tabStripParent.setTabBarItemTextTransform(this, args.value);
|
79
|
+
});
|
80
|
+
this.label.style.on('textTransformChange', this._labelTextTransformHandler);
|
81
|
+
this._labelTextHandler =
|
82
|
+
this._labelTextHandler ||
|
83
|
+
((args) => {
|
84
|
+
const parent = this.parent;
|
85
|
+
const tabStripParent = parent && parent.parent;
|
86
|
+
return tabStripParent && tabStripParent.setTabBarItemTitle(this, args.value);
|
87
|
+
});
|
88
|
+
this.label.on('textChange', this._labelTextHandler);
|
89
|
+
this._imageColorHandler =
|
90
|
+
this._imageColorHandler ||
|
91
|
+
((args) => {
|
92
|
+
const parent = this.parent;
|
93
|
+
const tabStripParent = parent && parent.parent;
|
94
|
+
return tabStripParent && tabStripParent.setTabBarIconColor(this, args.value);
|
95
|
+
});
|
96
|
+
this.image.style.on('colorChange', this._imageColorHandler);
|
97
|
+
this._imageFontHandler =
|
98
|
+
this._imageFontHandler ||
|
99
|
+
((args) => {
|
100
|
+
const parent = this.parent;
|
101
|
+
const tabStripParent = parent && parent.parent;
|
102
|
+
return tabStripParent && tabStripParent.setTabBarIconColor(this, args.value);
|
103
|
+
});
|
104
|
+
this.image.style.on('fontInternalChange', this._imageFontHandler);
|
105
|
+
this._imageSrcHandler =
|
106
|
+
this._imageSrcHandler ||
|
107
|
+
((args) => {
|
108
|
+
const parent = this.parent;
|
109
|
+
const tabStripParent = parent && parent.parent;
|
110
|
+
return tabStripParent && tabStripParent.setTabBarIconSource(this, args.value);
|
111
|
+
});
|
112
|
+
this.image.on('srcChange', this._imageSrcHandler);
|
113
|
+
}
|
114
|
+
onUnloaded() {
|
115
|
+
super.onUnloaded();
|
116
|
+
this.label.style.off('colorChange', this._labelColorHandler);
|
117
|
+
this.label.style.off('fontInternalChange', this._labelFontHandler);
|
118
|
+
this.label.style.off('textTransformChange', this._labelTextTransformHandler);
|
119
|
+
this.label.style.off('textChange', this._labelTextHandler);
|
120
|
+
this.image.style.off('colorChange', this._imageColorHandler);
|
121
|
+
this.image.style.off('fontInternalChange', this._imageFontHandler);
|
122
|
+
this.image.style.off('srcChange', this._imageSrcHandler);
|
123
|
+
}
|
124
|
+
eachChild(callback) {
|
125
|
+
if (this.label) {
|
126
|
+
callback(this.label);
|
127
|
+
}
|
128
|
+
if (this.image) {
|
129
|
+
callback(this.image);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
_addChildFromBuilder(name, value) {
|
133
|
+
if (value instanceof Image) {
|
134
|
+
this.image = value;
|
135
|
+
this.iconSource = value.src;
|
136
|
+
this.iconClass = value.className;
|
137
|
+
this._addView(value);
|
138
|
+
}
|
139
|
+
if (value instanceof Label) {
|
140
|
+
this.label = value;
|
141
|
+
this.title = value.text;
|
142
|
+
this._addView(value);
|
143
|
+
}
|
144
|
+
}
|
145
|
+
requestLayout() {
|
146
|
+
const parent = this.parent;
|
147
|
+
if (parent) {
|
148
|
+
parent.requestLayout();
|
149
|
+
}
|
150
|
+
}
|
151
|
+
_updateTabStateChangeHandler(subscribe) {
|
152
|
+
if (subscribe) {
|
153
|
+
this._highlightedHandler =
|
154
|
+
this._highlightedHandler ||
|
155
|
+
(() => {
|
156
|
+
this._goToVisualState('highlighted');
|
157
|
+
});
|
158
|
+
this._normalHandler =
|
159
|
+
this._normalHandler ||
|
160
|
+
(() => {
|
161
|
+
this._goToVisualState('normal');
|
162
|
+
});
|
163
|
+
this.on(TabStripItem_1.selectEvent, this._highlightedHandler);
|
164
|
+
this.on(TabStripItem_1.unselectEvent, this._normalHandler);
|
165
|
+
const parent = this.parent;
|
166
|
+
const tabStripParent = parent && parent.parent;
|
167
|
+
if (this._index === tabStripParent.selectedIndex && !(global.isIOS && tabStripParent.cssType.toLowerCase() === 'tabs')) {
|
168
|
+
this._goToVisualState('highlighted');
|
169
|
+
}
|
170
|
+
}
|
171
|
+
else {
|
172
|
+
this.off(TabStripItem_1.selectEvent, this._highlightedHandler);
|
173
|
+
this.off(TabStripItem_1.unselectEvent, this._normalHandler);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
[backgroundColorProperty.getDefault]() {
|
177
|
+
const parent = this.parent;
|
178
|
+
const tabStripParent = parent && parent.parent;
|
179
|
+
return tabStripParent && tabStripParent.getTabBarBackgroundColor();
|
180
|
+
}
|
181
|
+
[backgroundColorProperty.setNative](value) {
|
182
|
+
const parent = this.parent;
|
183
|
+
const tabStripParent = parent && parent.parent;
|
184
|
+
return tabStripParent && tabStripParent.setTabBarItemBackgroundColor(this, value);
|
185
|
+
}
|
186
|
+
[textTransformProperty.getDefault]() {
|
187
|
+
const parent = this.parent;
|
188
|
+
const tabStripParent = parent && parent.parent;
|
189
|
+
return tabStripParent && tabStripParent.getTabBarItemTextTransform(this);
|
190
|
+
}
|
191
|
+
[textTransformProperty.setNative](value) {
|
192
|
+
const parent = this.parent;
|
193
|
+
const tabStripParent = parent && parent.parent;
|
194
|
+
return tabStripParent && tabStripParent.setTabBarItemTextTransform(this, value);
|
195
|
+
}
|
196
|
+
[backgroundInternalProperty.getDefault]() {
|
197
|
+
return null;
|
198
|
+
}
|
199
|
+
[backgroundInternalProperty.setNative](value) {
|
200
|
+
}
|
201
|
+
};
|
202
|
+
TabStripItem.tapEvent = 'tap';
|
203
|
+
TabStripItem.selectEvent = 'select';
|
204
|
+
TabStripItem.unselectEvent = 'unselect';
|
205
|
+
__decorate([
|
206
|
+
PseudoClassHandler('normal', 'highlighted', 'pressed', 'active'),
|
207
|
+
__metadata("design:type", Function),
|
208
|
+
__metadata("design:paramtypes", [Boolean]),
|
209
|
+
__metadata("design:returntype", void 0)
|
210
|
+
], TabStripItem.prototype, "_updateTabStateChangeHandler", null);
|
211
|
+
TabStripItem = TabStripItem_1 = __decorate([
|
212
|
+
CSSType('MDTabStripItem')
|
213
|
+
], TabStripItem);
|
214
|
+
export { TabStripItem };
|
215
|
+
//# sourceMappingURL=index.js.map
|