@nativescript-community/ui-material-core-tabs 6.2.21-alpha.5

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.
Files changed (42) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -0
  3. package/package.json +45 -0
  4. package/platforms/android/AndroidManifest.xml +2 -0
  5. package/platforms/android/include.gradle +5 -0
  6. package/platforms/android/java/com/nativescript/material/core/BottomNavigationBar.java +311 -0
  7. package/platforms/android/java/com/nativescript/material/core/TabItemSpec.java +15 -0
  8. package/platforms/android/java/com/nativescript/material/core/TabStrip.java +266 -0
  9. package/platforms/android/java/com/nativescript/material/core/TabsBar.java +418 -0
  10. package/pnpm-lock.yaml +91 -0
  11. package/react/index.d.ts +60 -0
  12. package/react/index.js +114 -0
  13. package/react/index.js.map +1 -0
  14. package/tab-content-item/index.android.d.ts +14 -0
  15. package/tab-content-item/index.android.js +48 -0
  16. package/tab-content-item/index.android.js.map +1 -0
  17. package/tab-content-item/index.d.ts +11 -0
  18. package/tab-content-item/index.ios.d.ts +7 -0
  19. package/tab-content-item/index.ios.js +13 -0
  20. package/tab-content-item/index.ios.js.map +1 -0
  21. package/tab-content-item/tab-content-item-common.d.ts +7 -0
  22. package/tab-content-item/tab-content-item-common.js +24 -0
  23. package/tab-content-item/tab-content-item-common.js.map +1 -0
  24. package/tab-navigation/index-common.d.ts +26 -0
  25. package/tab-navigation/index-common.js +57 -0
  26. package/tab-navigation/index-common.js.map +1 -0
  27. package/tab-navigation/index.android.d.ts +76 -0
  28. package/tab-navigation/index.android.js +634 -0
  29. package/tab-navigation/index.android.js.map +1 -0
  30. package/tab-navigation/index.d.ts +80 -0
  31. package/tab-navigation/index.ios.d.ts +93 -0
  32. package/tab-navigation/index.ios.js +819 -0
  33. package/tab-navigation/index.ios.js.map +1 -0
  34. package/tab-navigation-base/index.d.ts +68 -0
  35. package/tab-navigation-base/index.js +247 -0
  36. package/tab-navigation-base/index.js.map +1 -0
  37. package/tab-strip/index.d.ts +23 -0
  38. package/tab-strip/index.js +152 -0
  39. package/tab-strip/index.js.map +1 -0
  40. package/tab-strip-item/index.d.ts +36 -0
  41. package/tab-strip-item/index.js +221 -0
  42. package/tab-strip-item/index.js.map +1 -0
@@ -0,0 +1,221 @@
1
+ var TabStripItem_1;
2
+ import { CSSType, Color, CoreTypes, Image, Label, PseudoClassHandler, View, ViewBase } from '@nativescript/core';
3
+ import { backgroundColorProperty, backgroundInternalProperty } from '@nativescript/core/ui/styling/style-properties';
4
+ import { textTransformProperty } from '@nativescript/core/ui/text-base';
5
+ import { TabStripItem as TabStripItemDefinition } from '.';
6
+ import { TabNavigationBase } from '../tab-navigation-base';
7
+ import { TabStrip } from '../tab-strip';
8
+ let TabStripItem = TabStripItem_1 = class TabStripItem extends View {
9
+ get index() {
10
+ return this.mIndex;
11
+ }
12
+ set index(value) {
13
+ this.mIndex = value;
14
+ }
15
+ get title() {
16
+ if (this.isLoaded) {
17
+ return this.label.text;
18
+ }
19
+ return this.mTitle;
20
+ }
21
+ set title(value) {
22
+ this.mTitle = value;
23
+ if (this.isLoaded) {
24
+ this.label.text = value;
25
+ }
26
+ }
27
+ get iconClass() {
28
+ if (this.isLoaded) {
29
+ return this.image.className;
30
+ }
31
+ return this.mIconClass;
32
+ }
33
+ set iconClass(value) {
34
+ this.mIconClass = value;
35
+ if (this.isLoaded) {
36
+ this.image.className = value;
37
+ }
38
+ }
39
+ get iconSource() {
40
+ if (this.isLoaded) {
41
+ return this.image.src;
42
+ }
43
+ return this.mIconSource;
44
+ }
45
+ set iconSource(value) {
46
+ this.mIconSource = value;
47
+ if (this.isLoaded) {
48
+ this.image.src = value;
49
+ }
50
+ }
51
+ onLoaded() {
52
+ if (!this.image) {
53
+ const image = new Image();
54
+ image.src = this.iconSource;
55
+ image.className = this.iconClass;
56
+ this.image = image;
57
+ this._addView(this.image);
58
+ }
59
+ if (!this.label) {
60
+ const label = new Label();
61
+ label.text = this.title;
62
+ this.label = label;
63
+ this._addView(this.label);
64
+ }
65
+ super.onLoaded();
66
+ this.mLabelColorHandler =
67
+ this.mLabelColorHandler ||
68
+ ((args) => {
69
+ const parent = this.parent;
70
+ const tabStripParent = parent && parent.parent;
71
+ return tabStripParent && tabStripParent.setTabBarItemColor(this, args.value);
72
+ });
73
+ this.label.style.on('colorChange', this.mLabelColorHandler);
74
+ this.mLabelFontHandler =
75
+ this.mLabelFontHandler ||
76
+ ((args) => {
77
+ const parent = this.parent;
78
+ const tabStripParent = parent && parent.parent;
79
+ return tabStripParent && tabStripParent.setTabBarItemFontInternal(this, args.value);
80
+ });
81
+ this.label.style.on('fontInternalChange', this.mLabelFontHandler);
82
+ this.mLabelTextTransformHandler =
83
+ this.mLabelTextTransformHandler ||
84
+ ((args) => {
85
+ const parent = this.parent;
86
+ const tabStripParent = parent && parent.parent;
87
+ return tabStripParent && tabStripParent.setTabBarItemTextTransform(this, args.value);
88
+ });
89
+ this.label.style.on('textTransformChange', this.mLabelTextTransformHandler);
90
+ this._labelTextHandler =
91
+ this._labelTextHandler ||
92
+ ((args) => {
93
+ const parent = this.parent;
94
+ const tabStripParent = parent && parent.parent;
95
+ return tabStripParent && tabStripParent.setTabBarItemTitle(this, args.value);
96
+ });
97
+ this.label.on('textChange', this._labelTextHandler);
98
+ this.mImageColorHandler =
99
+ this.mImageColorHandler ||
100
+ ((args) => {
101
+ const parent = this.parent;
102
+ const tabStripParent = parent && parent.parent;
103
+ return tabStripParent && tabStripParent.setTabBarIconColor(this, args.value);
104
+ });
105
+ this.image.style.on('colorChange', this.mImageColorHandler);
106
+ this.mImageFontHandler =
107
+ this.mImageFontHandler ||
108
+ ((args) => {
109
+ const parent = this.parent;
110
+ const tabStripParent = parent && parent.parent;
111
+ return tabStripParent && tabStripParent.setTabBarItemFontInternal(this, args.value);
112
+ });
113
+ this.image.style.on('fontInternalChange', this.mImageFontHandler);
114
+ this.mImageSrcHandler =
115
+ this.mImageSrcHandler ||
116
+ ((args) => {
117
+ const parent = this.parent;
118
+ const tabStripParent = parent && parent.parent;
119
+ return tabStripParent && tabStripParent.setTabBarIconSource(this, args.value);
120
+ });
121
+ this.image.on('srcChange', this.mImageSrcHandler);
122
+ }
123
+ onUnloaded() {
124
+ super.onUnloaded();
125
+ this.label.style.off('colorChange', this.mLabelColorHandler);
126
+ this.label.style.off('fontInternalChange', this.mLabelFontHandler);
127
+ this.label.style.off('textTransformChange', this.mLabelTextTransformHandler);
128
+ this.label.style.off('textChange', this._labelTextHandler);
129
+ this.image.style.off('colorChange', this.mImageColorHandler);
130
+ this.image.style.off('fontInternalChange', this.mImageFontHandler);
131
+ this.image.style.off('srcChange', this.mImageSrcHandler);
132
+ }
133
+ eachChild(callback) {
134
+ if (this.label) {
135
+ callback(this.label);
136
+ }
137
+ if (this.image) {
138
+ callback(this.image);
139
+ }
140
+ }
141
+ _addChildFromBuilder(name, value) {
142
+ if (value instanceof Image) {
143
+ this.image = value;
144
+ this.iconSource = value.src;
145
+ this.iconClass = value.className;
146
+ this._addView(value);
147
+ }
148
+ if (value instanceof Label) {
149
+ this.label = value;
150
+ this.title = value.text;
151
+ this._addView(value);
152
+ }
153
+ }
154
+ requestLayout() {
155
+ const parent = this.parent;
156
+ if (parent) {
157
+ parent.requestLayout();
158
+ }
159
+ }
160
+ _updateTabStateChangeHandler(subscribe) {
161
+ if (subscribe) {
162
+ this.mHighlightedHandler =
163
+ this.mHighlightedHandler ||
164
+ (() => {
165
+ this._goToVisualState('highlighted');
166
+ });
167
+ this.mNormalHandler =
168
+ this.mNormalHandler ||
169
+ (() => {
170
+ this._goToVisualState('normal');
171
+ });
172
+ this.on(TabStripItem_1.selectEvent, this.mHighlightedHandler);
173
+ this.on(TabStripItem_1.unselectEvent, this.mNormalHandler);
174
+ const parent = this.parent;
175
+ const tabStripParent = parent && parent.parent;
176
+ if (this.mIndex === tabStripParent.selectedIndex && !(global.isIOS && tabStripParent.cssType.toLowerCase() === 'tabs')) {
177
+ this._goToVisualState('highlighted');
178
+ }
179
+ }
180
+ else {
181
+ this.off(TabStripItem_1.selectEvent, this.mHighlightedHandler);
182
+ this.off(TabStripItem_1.unselectEvent, this.mNormalHandler);
183
+ }
184
+ }
185
+ [backgroundColorProperty.getDefault]() {
186
+ const parent = this.parent;
187
+ const tabStripParent = parent && parent.parent;
188
+ return tabStripParent && tabStripParent.getTabBarBackgroundColor();
189
+ }
190
+ [backgroundColorProperty.setNative](value) {
191
+ const parent = this.parent;
192
+ const tabStripParent = parent && parent.parent;
193
+ return tabStripParent && tabStripParent.setTabBarItemBackgroundColor(this, value);
194
+ }
195
+ [textTransformProperty.getDefault]() {
196
+ const parent = this.parent;
197
+ const tabStripParent = parent && parent.parent;
198
+ return tabStripParent && tabStripParent.getTabBarItemTextTransform(this);
199
+ }
200
+ [textTransformProperty.setNative](value) {
201
+ const parent = this.parent;
202
+ const tabStripParent = parent && parent.parent;
203
+ return tabStripParent && tabStripParent.setTabBarItemTextTransform(this, value);
204
+ }
205
+ [backgroundInternalProperty.getDefault]() {
206
+ return null;
207
+ }
208
+ [backgroundInternalProperty.setNative](value) {
209
+ }
210
+ };
211
+ TabStripItem.tapEvent = 'tap';
212
+ TabStripItem.selectEvent = 'select';
213
+ TabStripItem.unselectEvent = 'unselect';
214
+ __decorate([
215
+ PseudoClassHandler('normal', 'highlighted', 'pressed', 'active')
216
+ ], TabStripItem.prototype, "_updateTabStateChangeHandler", null);
217
+ TabStripItem = TabStripItem_1 = __decorate([
218
+ CSSType('MDTabStripItem')
219
+ ], TabStripItem);
220
+ export { TabStripItem };
221
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["tab-strip-item/index.ts"],"names":[],"mappings":"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"}