@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.
Files changed (67) hide show
  1. package/CHANGELOG.md +1559 -0
  2. package/LICENSE +201 -0
  3. package/README.md +5 -0
  4. package/android/utils.d.ts +44 -0
  5. package/android/utils.js +257 -0
  6. package/android/utils.js.map +1 -0
  7. package/cssproperties.d.ts +7 -0
  8. package/cssproperties.js +49 -0
  9. package/cssproperties.js.map +1 -0
  10. package/index.android.d.ts +42 -0
  11. package/index.android.js +318 -0
  12. package/index.android.js.map +1 -0
  13. package/index.common.d.ts +9 -0
  14. package/index.common.js +79 -0
  15. package/index.common.js.map +1 -0
  16. package/index.d.ts +67 -0
  17. package/index.ios.d.ts +46 -0
  18. package/index.ios.js +336 -0
  19. package/index.ios.js.map +1 -0
  20. package/package.json +55 -0
  21. package/platforms/android/AndroidManifest.xml +2 -0
  22. package/platforms/android/include.gradle +10 -0
  23. package/platforms/android/java/com/nativescript/material/core/BottomNavigationBar.java +309 -0
  24. package/platforms/android/java/com/nativescript/material/core/TabItemSpec.java +15 -0
  25. package/platforms/android/java/com/nativescript/material/core/TabLayout.java +441 -0
  26. package/platforms/android/java/com/nativescript/material/core/TabStrip.java +264 -0
  27. package/platforms/android/java/com/nativescript/material/core/TabViewPager.java +62 -0
  28. package/platforms/android/java/com/nativescript/material/core/TabsBar.java +442 -0
  29. package/platforms/android/java/com/nativescript/material/core/Utils.java +105 -0
  30. package/platforms/android/res/layout/material_page.xml +33 -0
  31. package/platforms/android/ui_material_core.aar +0 -0
  32. package/platforms/ios/Podfile +2 -0
  33. package/pnpm-lock.yaml +83 -0
  34. package/postinstall.d.ts +0 -0
  35. package/postinstall.js +2 -0
  36. package/postinstall.js.map +1 -0
  37. package/preuninstall.d.ts +0 -0
  38. package/preuninstall.js +2 -0
  39. package/preuninstall.js.map +1 -0
  40. package/scripts/before-prepare.js +28 -0
  41. package/scripts/before-prepare.js.map +1 -0
  42. package/tab-navigation-base/react/index.d.ts +60 -0
  43. package/tab-navigation-base/react/index.js +117 -0
  44. package/tab-navigation-base/react/index.js.map +1 -0
  45. package/tab-navigation-base/tab-content-item/index.android.d.ts +14 -0
  46. package/tab-navigation-base/tab-content-item/index.android.js +46 -0
  47. package/tab-navigation-base/tab-content-item/index.android.js.map +1 -0
  48. package/tab-navigation-base/tab-content-item/index.d.ts +11 -0
  49. package/tab-navigation-base/tab-content-item/index.ios.d.ts +7 -0
  50. package/tab-navigation-base/tab-content-item/index.ios.js +13 -0
  51. package/tab-navigation-base/tab-content-item/index.ios.js.map +1 -0
  52. package/tab-navigation-base/tab-content-item/tab-content-item-common.d.ts +7 -0
  53. package/tab-navigation-base/tab-content-item/tab-content-item-common.js +22 -0
  54. package/tab-navigation-base/tab-content-item/tab-content-item-common.js.map +1 -0
  55. package/tab-navigation-base/tab-navigation-base/index.d.ts +67 -0
  56. package/tab-navigation-base/tab-navigation-base/index.js +234 -0
  57. package/tab-navigation-base/tab-navigation-base/index.js.map +1 -0
  58. package/tab-navigation-base/tab-strip/index.d.ts +24 -0
  59. package/tab-navigation-base/tab-strip/index.js +151 -0
  60. package/tab-navigation-base/tab-strip/index.js.map +1 -0
  61. package/tab-navigation-base/tab-strip-item/index.d.ts +34 -0
  62. package/tab-navigation-base/tab-strip-item/index.js +215 -0
  63. package/tab-navigation-base/tab-strip-item/index.js.map +1 -0
  64. package/textbase/cssproperties.d.ts +16 -0
  65. package/textbase/cssproperties.js +103 -0
  66. package/textbase/cssproperties.js.map +1 -0
  67. package/tsconfig.hooks.json +17 -0
package/pnpm-lock.yaml ADDED
@@ -0,0 +1,83 @@
1
+ dependencies:
2
+ '@nativescript/hook': 2.0.0
3
+ lockfileVersion: 5.2
4
+ packages:
5
+ /@nativescript/hook/2.0.0:
6
+ dependencies:
7
+ glob: 7.1.6
8
+ mkdirp: 1.0.4
9
+ dev: false
10
+ resolution:
11
+ integrity: sha512-v3Hj3Zpd69sQJfFpDNXonV0EjO1a2OL4l48wlo1Ycsqk4r7RY822d/irFTjt0LllRG0OcdEGgfG6wKb0YgPyHw==
12
+ /balanced-match/1.0.0:
13
+ dev: false
14
+ resolution:
15
+ integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
16
+ /brace-expansion/1.1.11:
17
+ dependencies:
18
+ balanced-match: 1.0.0
19
+ concat-map: 0.0.1
20
+ dev: false
21
+ resolution:
22
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
23
+ /concat-map/0.0.1:
24
+ dev: false
25
+ resolution:
26
+ integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
27
+ /fs.realpath/1.0.0:
28
+ dev: false
29
+ resolution:
30
+ integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
31
+ /glob/7.1.6:
32
+ dependencies:
33
+ fs.realpath: 1.0.0
34
+ inflight: 1.0.6
35
+ inherits: 2.0.4
36
+ minimatch: 3.0.4
37
+ once: 1.4.0
38
+ path-is-absolute: 1.0.1
39
+ dev: false
40
+ resolution:
41
+ integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
42
+ /inflight/1.0.6:
43
+ dependencies:
44
+ once: 1.4.0
45
+ wrappy: 1.0.2
46
+ dev: false
47
+ resolution:
48
+ integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
49
+ /inherits/2.0.4:
50
+ dev: false
51
+ resolution:
52
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
53
+ /minimatch/3.0.4:
54
+ dependencies:
55
+ brace-expansion: 1.1.11
56
+ dev: false
57
+ resolution:
58
+ integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
59
+ /mkdirp/1.0.4:
60
+ dev: false
61
+ engines:
62
+ node: '>=10'
63
+ hasBin: true
64
+ resolution:
65
+ integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
66
+ /once/1.4.0:
67
+ dependencies:
68
+ wrappy: 1.0.2
69
+ dev: false
70
+ resolution:
71
+ integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
72
+ /path-is-absolute/1.0.1:
73
+ dev: false
74
+ engines:
75
+ node: '>=0.10.0'
76
+ resolution:
77
+ integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
78
+ /wrappy/1.0.2:
79
+ dev: false
80
+ resolution:
81
+ integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
82
+ specifiers:
83
+ '@nativescript/hook': ~2.0.0
File without changes
package/postinstall.js ADDED
@@ -0,0 +1,2 @@
1
+ require('@nativescript/hook')(__dirname).postinstall();
2
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"../src/","sources":["postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC"}
File without changes
@@ -0,0 +1,2 @@
1
+ require('@nativescript/hook')(__dirname).preuninstall();
2
+ //# sourceMappingURL=preuninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preuninstall.js","sourceRoot":"../src/","sources":["preuninstall.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ var fs_1 = require("fs");
3
+ var path_1 = require("path");
4
+ module.exports = function (hookArgs, $logger) {
5
+ var platform = hookArgs.prepareData.platform;
6
+ if (platform === 'ios') {
7
+ var projectFilePath = path_1.dirname(hookArgs.projectData.projectFilePath);
8
+ var podFilePath = path_1.join(projectFilePath, 'node_modules', '@nativescript/core', 'platforms/ios/Podfile');
9
+ if (fs_1.existsSync(podFilePath)) {
10
+ fs_1.unlinkSync(podFilePath);
11
+ }
12
+ var iosFile = path_1.join(projectFilePath, 'node_modules', '@nativescript/core', 'ui/tabs/index.ios.js');
13
+ if (fs_1.existsSync(iosFile)) {
14
+ var data = fs_1.readFileSync(iosFile, 'utf8');
15
+ if (data.indexOf('MDCTabBarView') === -1) {
16
+ var result = data.replace(/MDCTabBar/g, 'MDCTabBarView').replace(/MDCTabBarItemState/g, 'UIControlState');
17
+ fs_1.writeFileSync(iosFile, result);
18
+ }
19
+ }
20
+ var uiFile = path_1.join(projectFilePath, 'node_modules', '@nativescript/core', 'ui/index.js');
21
+ if (fs_1.existsSync(uiFile)) {
22
+ var data = fs_1.readFileSync(uiFile, 'utf8');
23
+ var result = data.replace(/^export \{ Tabs \} from '.\/tabs';/gm, '// export { Tabs } from \'./tabs\';');
24
+ fs_1.writeFileSync(uiFile, result);
25
+ }
26
+ }
27
+ };
28
+ //# sourceMappingURL=before-prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"before-prepare.js","sourceRoot":"../src/","sources":["scripts/before-prepare.ts"],"names":[],"mappings":";AAAA,yBAAyE;AACzE,6BAAqC;AAErC,MAAM,CAAC,OAAO,GAAG,UAAU,QAAgF,EAAE,OAAO;IAChH,IAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;IAE/C,IAAI,QAAQ,KAAK,KAAK,EAAE;QACpB,IAAM,eAAe,GAAG,cAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACtE,IAAM,WAAW,GAAG,WAAI,CAAC,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;QACzG,IAAI,eAAU,CAAC,WAAW,CAAC,EAAE;YACzB,eAAU,CAAC,WAAW,CAAC,CAAC;SAC3B;QACD,IAAM,OAAO,GAAG,WAAI,CAAC,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;QACpG,IAAI,eAAU,CAAC,OAAO,CAAC,EAAE;YACrB,IAAM,IAAI,GAAG,iBAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE;gBACtC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;gBAC5G,kBAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aAClC;SACJ;QACD,IAAM,MAAM,GAAG,WAAI,CAAC,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAC1F,IAAI,eAAU,CAAC,MAAM,CAAC,EAAE;YACpB,IAAM,IAAI,GAAG,iBAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,qCAAqC,CAAC,CAAC;YAC3G,kBAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACjC;KACJ;AACL,CAAC,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { ContentViewAttributes, NativeScriptProps, ViewAttributes } from 'react-nativescript';
2
+ import { Color, EventData, Image, Label, PropertyChangeData } from '@nativescript/core';
3
+ import { SelectedIndexChangedEventData } from '../tab-navigation-base';
4
+ import { TabContentItem } from '../tab-content-item';
5
+ import { TabStrip } from '../tab-strip';
6
+ import { TabStripItem } from '../tab-strip-item';
7
+ export declare type TabNavigationBaseAttributes = ViewAttributes & {
8
+ android?: any;
9
+ ios?: any;
10
+ items?: string | TabContentItem[];
11
+ onItemsChange?: (args: PropertyChangeData) => void;
12
+ onSelectedIndexChange?: (args: PropertyChangeData) => void;
13
+ onSelectedIndexChanged?: (args: SelectedIndexChangedEventData) => void;
14
+ onTabStripChange?: (args: PropertyChangeData) => void;
15
+ selectedIndex?: string | number;
16
+ tabStrip?: string | TabStrip;
17
+ };
18
+ export declare type TabContentItemAttributes = ContentViewAttributes & {
19
+ canBeLoaded?: false | true;
20
+ };
21
+ export declare type TabStripAttributes = ViewAttributes & {
22
+ highlightColor?: string | Color;
23
+ iosIconRenderingMode?: 'automatic' | 'alwaysOriginal' | 'alwaysTemplate';
24
+ isIconSizeFixed?: string | false | true;
25
+ items?: string | TabStripItem[];
26
+ onHighlightColorChange?: (args: PropertyChangeData) => void;
27
+ onIosIconRenderingModeChange?: (args: PropertyChangeData) => void;
28
+ onIsIconSizeFixedChange?: (args: PropertyChangeData) => void;
29
+ onItemTap?: (args: EventData) => void;
30
+ onItemsChange?: (args: PropertyChangeData) => void;
31
+ onSelectedItemColorChange?: (args: PropertyChangeData) => void;
32
+ onUnSelectedItemColorChange?: (args: PropertyChangeData) => void;
33
+ selectedItemColor?: string | Color;
34
+ unSelectedItemColor?: string | Color;
35
+ };
36
+ export declare type TabStripItemAttributes = ViewAttributes & {
37
+ iconClass?: string;
38
+ iconSource?: string;
39
+ image?: Image;
40
+ label?: Label;
41
+ onTap?: (args: EventData) => void;
42
+ title?: string;
43
+ };
44
+ declare global {
45
+ module JSX {
46
+ interface IntrinsicElements {
47
+ tabStrip: NativeScriptProps<TabStripAttributes, TabStrip>;
48
+ tabStripItem: NativeScriptProps<TabStripItemAttributes, TabStripItem>;
49
+ tabContentItem: NativeScriptProps<TabContentItemAttributes, TabContentItem>;
50
+ }
51
+ interface ElementChildrenAttribute {
52
+ children: {};
53
+ }
54
+ }
55
+ }
56
+ interface RegisterTabsOptions {
57
+ enableDebugLogging?: boolean;
58
+ }
59
+ export declare function registerTabNavigationBase(opts?: RegisterTabsOptions): void;
60
+ export {};
@@ -0,0 +1,117 @@
1
+ import { registerElement } from 'react-nativescript';
2
+ import { Image, Label } from '@nativescript/core';
3
+ import { warn } from 'react-nativescript/dist/shared/Logger';
4
+ import { TabContentItem } from '../tab-content-item';
5
+ import { TabStrip } from '../tab-strip';
6
+ import { TabStripItem } from '../tab-strip-item';
7
+ let installed = false;
8
+ export function registerTabNavigationBase(opts = {}) {
9
+ const { enableDebugLogging = false } = opts;
10
+ if (installed) {
11
+ return;
12
+ }
13
+ registerElement('tabStrip', () => TabStrip, {
14
+ nodeOps: {
15
+ insert(child, parent, atIndex) {
16
+ const tabStrip = parent.nativeView;
17
+ if (child.nodeRole === 'items') {
18
+ if (child.nativeView instanceof TabStripItem === false) {
19
+ if (enableDebugLogging) {
20
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to the items of <tabStrip> as it is not an instance of TabStripItem.`);
21
+ }
22
+ return;
23
+ }
24
+ const items = tabStrip.items || [];
25
+ if (typeof atIndex === 'undefined' || atIndex === items.length) {
26
+ tabStrip._addChildFromBuilder('items', child.nativeView);
27
+ }
28
+ else {
29
+ const itemsClone = items.slice();
30
+ itemsClone.splice(atIndex, 0, child.nativeView);
31
+ tabStrip.items = itemsClone;
32
+ }
33
+ }
34
+ else if (child.nodeRole === 'item') {
35
+ if (enableDebugLogging) {
36
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to <tabStrip> as it had the nodeRole "item"; please correct it to "items".`);
37
+ }
38
+ }
39
+ else {
40
+ if (enableDebugLogging) {
41
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to <tabStrip> as it does not have a nodeRole specified; ` +
42
+ 'please set a nodeRole of "tabStrip", or "items".');
43
+ }
44
+ }
45
+ },
46
+ remove(child, parent) {
47
+ const tabStrip = parent.nativeView;
48
+ if (child.nodeRole === 'items') {
49
+ tabStrip.items = (tabStrip.items || []).filter((i) => i !== child.nativeView);
50
+ }
51
+ else if (child.nodeRole === 'item') {
52
+ if (enableDebugLogging) {
53
+ warn(`Unable to remove child "${child.nativeView.constructor.name}" from <tabStrip> as it had the nodeRole "item"; please correct it to "items".`);
54
+ }
55
+ }
56
+ else {
57
+ if (enableDebugLogging) {
58
+ warn(`Unable to remove child "${child.nativeView.constructor.name}" from <tabStrip> as it does not have a nodeRole specified; ` +
59
+ 'please set a nodeRole of "tabStrip", or "items"');
60
+ }
61
+ }
62
+ }
63
+ }
64
+ });
65
+ registerElement('tabStripItem', () => TabStripItem, {
66
+ nodeOps: {
67
+ insert(child, parent, atIndex) {
68
+ const tabStripItem = parent.nativeView;
69
+ if (child.nodeRole === 'label') {
70
+ console.log(`[tabStripItem.insert] LABEL [${parent} > ${child} @${atIndex}] => [${parent.childNodes}]`);
71
+ if (child.nativeView instanceof Label === false) {
72
+ if (enableDebugLogging) {
73
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to the items of <tabStripItem> as it is not an instance of Label.`);
74
+ }
75
+ return;
76
+ }
77
+ tabStripItem.label = child.nativeView;
78
+ }
79
+ else if (child.nodeRole === 'image') {
80
+ console.log(`[tabStripItem.insert] IMAGE [${parent} > ${child} @${atIndex}] => [${parent.childNodes}]`);
81
+ if (child.nativeView instanceof Image === false) {
82
+ if (enableDebugLogging) {
83
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to the items of <tabStripItem> as it is not an instance of Image.`);
84
+ }
85
+ return;
86
+ }
87
+ tabStripItem.image = child.nativeView;
88
+ }
89
+ else {
90
+ console.log(`[tabStripItem.insert] OTHER [${parent} > ${child} @${atIndex}] => [${parent.childNodes}]`);
91
+ if (enableDebugLogging) {
92
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to <tabStripItem> as it does not have a nodeRole specified; ` +
93
+ 'please set a nodeRole of "label", or "image".');
94
+ }
95
+ }
96
+ },
97
+ remove(child, parent) {
98
+ const tabStripItem = parent.nativeView;
99
+ if (child.nodeRole === 'label') {
100
+ tabStripItem.label = null;
101
+ }
102
+ else if (child.nodeRole === 'image') {
103
+ tabStripItem.image = null;
104
+ }
105
+ else {
106
+ if (enableDebugLogging) {
107
+ warn(`Unable to remove child "${child.nativeView.constructor.name}" from <tabStripItem> as it does not have a nodeRole specified; ` +
108
+ 'please set a nodeRole of "label", or "image"');
109
+ }
110
+ }
111
+ }
112
+ }
113
+ });
114
+ registerElement('tabContentItem', () => TabContentItem, { viewFlags: 2 });
115
+ installed = true;
116
+ }
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["tab-navigation-base/react/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { View } from '@nativescript/core';
2
+ import { TabContentItemBase } from './tab-content-item-common';
3
+ export * from './tab-content-item-common';
4
+ export declare class TabContentItem extends TabContentItemBase {
5
+ nativeViewProtected: org.nativescript.widgets.GridLayout;
6
+ tabItemSpec: com.nativescript.material.core.TabItemSpec;
7
+ index: number;
8
+ get _hasFragments(): boolean;
9
+ createNativeView(): org.nativescript.widgets.GridLayout;
10
+ initNativeView(): void;
11
+ _addViewToNativeVisualTree(child: View, atIndex?: number): boolean;
12
+ disposeNativeView(): void;
13
+ _getChildFragmentManager(): androidx.fragment.app.FragmentManager;
14
+ }
@@ -0,0 +1,46 @@
1
+ import { GridLayout, Trace } from '@nativescript/core';
2
+ import { TabContentItemBase, traceCategory } from './tab-content-item-common';
3
+ export * from './tab-content-item-common';
4
+ export class TabContentItem extends TabContentItemBase {
5
+ get _hasFragments() {
6
+ return true;
7
+ }
8
+ createNativeView() {
9
+ const layout = new org.nativescript.widgets.GridLayout(this._context);
10
+ layout.addRow(new org.nativescript.widgets.ItemSpec(1, org.nativescript.widgets.GridUnitType.star));
11
+ return layout;
12
+ }
13
+ initNativeView() {
14
+ super.initNativeView();
15
+ }
16
+ _addViewToNativeVisualTree(child, atIndex) {
17
+ if (this.nativeViewProtected && child.nativeViewProtected) {
18
+ GridLayout.setRow(child, 0);
19
+ }
20
+ return super._addViewToNativeVisualTree(child, atIndex);
21
+ }
22
+ disposeNativeView() {
23
+ super.disposeNativeView();
24
+ this.canBeLoaded = false;
25
+ }
26
+ _getChildFragmentManager() {
27
+ const tabView = this.parent;
28
+ let tabFragment = null;
29
+ const fragmentManager = tabView._getFragmentManager();
30
+ if (typeof this.index === 'undefined') {
31
+ Trace.write('Current TabContentItem index is not set', traceCategory, Trace.messageType.error);
32
+ }
33
+ const fragments = fragmentManager.getFragments().toArray();
34
+ for (let i = 0; i < fragments.length; i++) {
35
+ if (fragments[i].index === this.index) {
36
+ tabFragment = fragments[i];
37
+ break;
38
+ }
39
+ }
40
+ if (!tabFragment) {
41
+ return tabView._getRootFragmentManager();
42
+ }
43
+ return tabFragment.getChildFragmentManager();
44
+ }
45
+ }
46
+ //# sourceMappingURL=index.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.android.js","sourceRoot":"../src/","sources":["tab-navigation-base/tab-content-item/index.android.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAQ,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE9E,cAAc,2BAA2B,CAAC;AAE1C,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAKlD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,gBAAgB;QACnB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpG,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,cAAc;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;IAEM,0BAA0B,CAAC,KAAW,EAAE,OAAgB;QAE3D,IAAI,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,mBAAmB,EAAE;YACvD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/B;QAED,OAAO,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEM,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAiC,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3D,CAAC;IAEM,wBAAwB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAA2B,CAAC;QACjD,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAEtD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YACnC,KAAK,CAAC,KAAK,CAAC,yCAAyC,EAAE,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAClG;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC;QAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;gBACnC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM;aACT;SACJ;QAGD,IAAI,CAAC,WAAW,EAAE;YAOd,OAAO,OAAO,CAAC,uBAAuB,EAAE,CAAC;SAC5C;QAED,OAAO,WAAW,CAAC,uBAAuB,EAAE,CAAC;IACjD,CAAC;CACJ"}
@@ -0,0 +1,11 @@
1
+ import { ContentView } from '@nativescript/core';
2
+
3
+ /**
4
+ * Represents a tab navigation content entry.
5
+ */
6
+ export class TabContentItem extends ContentView {
7
+ /**
8
+ * @private
9
+ */
10
+ canBeLoaded?: boolean;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { TabContentItemBase } from './tab-content-item-common';
2
+ export * from './tab-content-item-common';
3
+ export declare class TabContentItem extends TabContentItemBase {
4
+ private __controller;
5
+ setViewController(controller: UIViewController, nativeView: UIView): void;
6
+ disposeNativeView(): void;
7
+ }
@@ -0,0 +1,13 @@
1
+ import { TabContentItemBase } from './tab-content-item-common';
2
+ export * from './tab-content-item-common';
3
+ export class TabContentItem extends TabContentItemBase {
4
+ setViewController(controller, nativeView) {
5
+ this.__controller = controller;
6
+ this.setNativeView(nativeView);
7
+ }
8
+ disposeNativeView() {
9
+ this.__controller = undefined;
10
+ this.setNativeView(undefined);
11
+ }
12
+ }
13
+ //# sourceMappingURL=index.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"../src/","sources":["tab-navigation-base/tab-content-item/index.ios.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,cAAc,2BAA2B,CAAC;AAE1C,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAI3C,iBAAiB,CAAC,UAA4B,EAAE,UAAkB;QACrE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAEM,iBAAiB;QACpB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CAcJ"}
@@ -0,0 +1,7 @@
1
+ import { AddChildFromBuilder, ContentView, View, ViewBase } from '@nativescript/core';
2
+ import { TabContentItem as TabContentItemDefinition } from '.';
3
+ export declare const traceCategory = "TabView";
4
+ export declare abstract class TabContentItemBase extends ContentView implements TabContentItemDefinition, AddChildFromBuilder {
5
+ eachChild(callback: (child: View) => boolean): void;
6
+ loadView(view: ViewBase): void;
7
+ }
@@ -0,0 +1,22 @@
1
+ import { CSSType, ContentView } from '@nativescript/core';
2
+ export const traceCategory = 'TabView';
3
+ let TabContentItemBase = class TabContentItemBase extends ContentView {
4
+ eachChild(callback) {
5
+ if (this.content) {
6
+ callback(this.content);
7
+ }
8
+ }
9
+ loadView(view) {
10
+ const tabView = this.parent;
11
+ if (tabView && tabView.items) {
12
+ if (this.canBeLoaded) {
13
+ super.loadView(view);
14
+ }
15
+ }
16
+ }
17
+ };
18
+ TabContentItemBase = __decorate([
19
+ CSSType('MDTabContentItem')
20
+ ], TabContentItemBase);
21
+ export { TabContentItemBase };
22
+ //# sourceMappingURL=tab-content-item-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-content-item-common.js","sourceRoot":"../src/","sources":["tab-navigation-base/tab-content-item/tab-content-item-common.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,OAAO,EAAE,WAAW,EAAkB,MAAM,oBAAoB,CAAC;AAI/F,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AAGvC,IAAsB,kBAAkB,GAAxC,MAAsB,kBAAmB,SAAQ,WAAW;IACjD,SAAS,CAAC,QAAkC;QAC/C,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC1B;IACL,CAAC;IAEM,QAAQ,CAAC,IAAc;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAA2B,CAAC;QACjD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;YAE1B,IAAK,IAAiC,CAAC,WAAW,EAAE;gBAChD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACxB;SACJ;IACL,CAAC;CACJ,CAAA;AAhBqB,kBAAkB;IADvC,OAAO,CAAC,kBAAkB,CAAC;GACN,kBAAkB,CAgBvC;SAhBqB,kBAAkB"}
@@ -0,0 +1,67 @@
1
+ import { AddArrayFromBuilder, AddChildFromBuilder, CoercibleProperty, Color, EventData, Property, View, ViewBase } from '@nativescript/core';
2
+ import { TabNavigationBase as TabNavigationBaseDefinition } from '.';
3
+ import { TabContentItem } from '../tab-content-item';
4
+ import { TabStrip } from '../tab-strip';
5
+ import { TabStripItem } from '../tab-strip-item';
6
+ export interface SelectedIndexChangedEventData extends EventData {
7
+ oldIndex: number;
8
+ newIndex: number;
9
+ }
10
+ export declare class TabNavigationBase extends View implements TabNavigationBaseDefinition, AddChildFromBuilder, AddArrayFromBuilder {
11
+ static selectedIndexChangedEvent: string;
12
+ unloadOnTabChange: boolean;
13
+ items: TabContentItem[];
14
+ tabStrip: TabStrip;
15
+ selectedIndex: number;
16
+ _addArrayFromBuilder(name: string, value: any[]): void;
17
+ _addChildFromBuilder(name: string, value: any): void;
18
+ get _selectedView(): View;
19
+ get _childrenCount(): number;
20
+ eachChild(callback: (child: ViewBase) => boolean): void;
21
+ eachChildView(callback: (child: View) => boolean): void;
22
+ onItemsChanged(oldItems: TabContentItem[], newItems: TabContentItem[]): void;
23
+ onTabStripChanged(oldTabStrip: TabStrip, newTabStrip: TabStrip): void;
24
+ onSelectedIndexChanged(oldIndex: number, newIndex: number): void;
25
+ getTabBarBackgroundColor(): any;
26
+ getTabBarBackgroundArgbColor(): any;
27
+ setTabBarBackgroundColor(value: any): void;
28
+ getTabBarFontInternal(): any;
29
+ setTabBarFontInternal(value: any): void;
30
+ getTabBarTextTransform(): any;
31
+ setTabBarTextTransform(value: any): void;
32
+ getTabBarHighlightColor(): any;
33
+ setTabBarHighlightColor(value: any): void;
34
+ getTabBarSelectedItemColor(): Color;
35
+ setTabBarSelectedItemColor(value: Color): void;
36
+ getTabBarUnSelectedItemColor(): Color;
37
+ setTabBarUnSelectedItemColor(value: Color): void;
38
+ getTabBarColor(): any;
39
+ setTabBarColor(value: any): void;
40
+ setTabBarItemTitle(tabStripItem: TabStripItem, value: any): void;
41
+ getTabBarItemBackgroundColor(tabStripItem: TabStripItem): any;
42
+ setTabBarItemBackgroundColor(tabStripItem: TabStripItem, value: any): void;
43
+ getTabBarItemColor(tabStripItem: TabStripItem): any;
44
+ setTabBarItemColor(tabStripItem: TabStripItem, value: any): void;
45
+ setTabBarIconColor(tabStripItem: TabStripItem, value: any): void;
46
+ setTabBarIconSource(tabStripItem: TabStripItem, value: any): void;
47
+ getTabBarItemFontSize(tabStripItem: TabStripItem): any;
48
+ setTabBarItemFontSize(tabStripItem: TabStripItem, value: any): void;
49
+ getTabBarItemFontInternal(tabStripItem: TabStripItem): any;
50
+ setTabBarItemFontInternal(tabStripItem: TabStripItem, value: any): void;
51
+ getTabBarItemTextTransform(tabStripItem: TabStripItem): any;
52
+ setTabBarItemTextTransform(tabStripItem: TabStripItem, value: any): void;
53
+ setTabBarRippleColor(value: Color): void;
54
+ getTabBarRippleColor(): any;
55
+ }
56
+ export declare function getIconSpecSize(size: {
57
+ width: number;
58
+ height: number;
59
+ }): {
60
+ width: number;
61
+ height: number;
62
+ };
63
+ export declare const selectedIndexProperty: CoercibleProperty<TabNavigationBaseDefinition, number>;
64
+ export declare const _tabs: WeakRef<TabNavigationBaseDefinition>[];
65
+ export declare const itemsProperty: Property<TabNavigationBaseDefinition, TabContentItem[]>;
66
+ export declare const tabStripProperty: Property<TabNavigationBaseDefinition, TabStrip>;
67
+ export declare const unloadOnTabChangeProperty: Property<TabNavigationBaseDefinition, boolean>;