@nativescript-community/ui-material-core-tabs 7.2.38 → 7.2.41

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 (33) hide show
  1. package/package.json +13 -3
  2. package/react/index.d.ts +60 -0
  3. package/react/index.js +124 -0
  4. package/react/index.js.map +1 -0
  5. package/tab-content-item/index.android.d.ts +15 -0
  6. package/tab-content-item/index.android.js +54 -0
  7. package/tab-content-item/index.android.js.map +1 -0
  8. package/tab-content-item/index.d.ts +13 -0
  9. package/tab-content-item/index.ios.d.ts +7 -0
  10. package/tab-content-item/index.ios.js +14 -0
  11. package/tab-content-item/index.ios.js.map +1 -0
  12. package/tab-content-item/tab-content-item-common.d.ts +7 -0
  13. package/tab-content-item/tab-content-item-common.js +20 -0
  14. package/tab-content-item/tab-content-item-common.js.map +1 -0
  15. package/tab-navigation/index-common.d.ts +27 -0
  16. package/tab-navigation/index-common.js +92 -0
  17. package/tab-navigation/index-common.js.map +1 -0
  18. package/tab-navigation/index.android.d.ts +75 -0
  19. package/tab-navigation/index.android.js +607 -0
  20. package/tab-navigation/index.android.js.map +1 -0
  21. package/tab-navigation/index.d.ts +80 -0
  22. package/tab-navigation/index.ios.d.ts +95 -0
  23. package/tab-navigation/index.ios.js +890 -0
  24. package/tab-navigation/index.ios.js.map +1 -0
  25. package/tab-navigation-base/index.d.ts +87 -0
  26. package/tab-navigation-base/index.js +300 -0
  27. package/tab-navigation-base/index.js.map +1 -0
  28. package/tab-strip/index.d.ts +29 -0
  29. package/tab-strip/index.js +161 -0
  30. package/tab-strip/index.js.map +1 -0
  31. package/tab-strip-item/index.d.ts +39 -0
  32. package/tab-strip-item/index.js +227 -0
  33. package/tab-strip-item/index.js.map +1 -0
package/package.json CHANGED
@@ -1,10 +1,20 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-material-core-tabs",
3
- "version": "7.2.38",
3
+ "version": "7.2.41",
4
4
  "description": "Material Core Tabs component",
5
5
  "main": "./index",
6
6
  "sideEffects": false,
7
7
  "typings": "./index.d.ts",
8
+ "scripts": {
9
+ "tsc": "cpy '**/*.d.ts' '../../packages/core-tabs' --cwd=../../src/core-tabs --parents && tsc -d",
10
+ "tsc-win": "cpy **/*.d.ts ..\\..\\packages\\core-tabs --cwd=..\\..\\src\\core-tabs --parents && tsc -d",
11
+ "build": "npm run tsc ",
12
+ "build.watch": "npm run tsc -- -w",
13
+ "build.win": "npm run tsc-win ",
14
+ "build.all": "npm run build",
15
+ "build.all.win": "npm run build.win",
16
+ "clean": "rimraf ./*.d.ts ./*.js ./*.js.map android"
17
+ },
8
18
  "nativescript": {
9
19
  "platforms": {
10
20
  "android": "6.2.0",
@@ -29,7 +39,7 @@
29
39
  "repository": "https://github.com/nativescript-community/ui-material-components",
30
40
  "readmeFilename": "README.md",
31
41
  "dependencies": {
32
- "@nativescript-community/ui-material-core": "^7.2.38"
42
+ "@nativescript-community/ui-material-core": "^7.2.41"
33
43
  },
34
- "gitHead": "5420f127d24222f2c55e0e53ca1534a70b2b608f"
44
+ "gitHead": "b56f0b5c4776605e91f6ca76ba1f2ed4fd103989"
35
45
  }
@@ -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 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 type TabContentItemAttributes = ContentViewAttributes & {
19
+ canBeLoaded?: false | true;
20
+ };
21
+ export 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 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
+ namespace 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 {};
package/react/index.js ADDED
@@ -0,0 +1,124 @@
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',
14
+ // @ts-ignore I can assure that this really does extend ViewBase
15
+ () => TabStrip, {
16
+ nodeOps: {
17
+ insert(child, parent, atIndex) {
18
+ const tabStrip = parent.nativeView;
19
+ if (child.nodeRole === 'items') {
20
+ if (child.nativeView instanceof TabStripItem === false) {
21
+ if (enableDebugLogging) {
22
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to the items of <tabStrip> as it is not an instance of TabStripItem.`);
23
+ }
24
+ return;
25
+ }
26
+ const items = tabStrip.items || []; // Annoyingly, it's the consumer's responsibility to ensure there's an array there!
27
+ if (typeof atIndex === 'undefined' || atIndex === items.length) {
28
+ tabStrip._addChildFromBuilder('items', child.nativeView);
29
+ }
30
+ else {
31
+ const itemsClone = items.slice();
32
+ itemsClone.splice(atIndex, 0, child.nativeView);
33
+ tabStrip.items = itemsClone;
34
+ }
35
+ }
36
+ else if (child.nodeRole === 'item') {
37
+ if (enableDebugLogging) {
38
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to <tabStrip> as it had the nodeRole "item"; please correct it to "items".`);
39
+ }
40
+ }
41
+ else {
42
+ if (enableDebugLogging) {
43
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to <tabStrip> as it does not have a nodeRole specified; ` +
44
+ 'please set a nodeRole of "tabStrip", or "items".');
45
+ }
46
+ }
47
+ },
48
+ remove(child, parent) {
49
+ const tabStrip = parent.nativeView;
50
+ if (child.nodeRole === 'items') {
51
+ tabStrip.items = (tabStrip.items || []).filter((i) => i !== child.nativeView);
52
+ }
53
+ else if (child.nodeRole === 'item') {
54
+ if (enableDebugLogging) {
55
+ warn(`Unable to remove child "${child.nativeView.constructor.name}" from <tabStrip> as it had the nodeRole "item"; please correct it to "items".`);
56
+ }
57
+ }
58
+ else {
59
+ if (enableDebugLogging) {
60
+ warn(`Unable to remove child "${child.nativeView.constructor.name}" from <tabStrip> as it does not have a nodeRole specified; ` +
61
+ 'please set a nodeRole of "tabStrip", or "items"');
62
+ }
63
+ }
64
+ }
65
+ }
66
+ });
67
+ registerElement('tabStripItem',
68
+ // @ts-ignore I can assure that this really does extend ViewBase
69
+ () => TabStripItem, {
70
+ nodeOps: {
71
+ insert(child, parent, atIndex) {
72
+ const tabStripItem = parent.nativeView;
73
+ // Note: The instanceof check, and nodeRole check, is technically redundant if you look at the implementation, but I'll
74
+ // keep these good practices in case it's ever refactored.
75
+ if (child.nodeRole === 'label') {
76
+ if (child.nativeView instanceof Label === false) {
77
+ if (enableDebugLogging) {
78
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to the items of <tabStripItem> as it is not an instance of Label.`);
79
+ }
80
+ return;
81
+ }
82
+ tabStripItem.label = child.nativeView;
83
+ }
84
+ else if (child.nodeRole === 'image') {
85
+ if (child.nativeView instanceof Image === false) {
86
+ if (enableDebugLogging) {
87
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to the items of <tabStripItem> as it is not an instance of Image.`);
88
+ }
89
+ return;
90
+ }
91
+ tabStripItem.image = child.nativeView;
92
+ }
93
+ else {
94
+ if (enableDebugLogging) {
95
+ warn(`Unable to add child "${child.nativeView.constructor.name}" to <tabStripItem> as it does not have a nodeRole specified; ` +
96
+ 'please set a nodeRole of "label", or "image".');
97
+ }
98
+ }
99
+ },
100
+ remove(child, parent) {
101
+ const tabStripItem = parent.nativeView;
102
+ if (child.nodeRole === 'label') {
103
+ // WARNING: It is not evident from the implementation that TabStripItem supports removing label at all!
104
+ tabStripItem.label = null;
105
+ }
106
+ else if (child.nodeRole === 'image') {
107
+ // WARNING: It is not evident from the implementation that TabStripItem supports removing image at all!
108
+ tabStripItem.image = null;
109
+ }
110
+ else {
111
+ if (enableDebugLogging) {
112
+ warn(`Unable to remove child "${child.nativeView.constructor.name}" from <tabStripItem> as it does not have a nodeRole specified; ` +
113
+ 'please set a nodeRole of "label", or "image"');
114
+ }
115
+ }
116
+ }
117
+ }
118
+ });
119
+ registerElement('tabContentItem',
120
+ // @ts-ignore I can assure that this really does extend ViewBase
121
+ () => TabContentItem, { viewFlags: 2 /* NSVViewFlags.CONTENT_VIEW */ });
122
+ installed = true;
123
+ }
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core-tabs/react/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
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
+ get _hasFragments(): boolean;
8
+ createNativeView(): org.nativescript.widgets.GridLayout;
9
+ initNativeView(): void;
10
+ _addViewToNativeVisualTree(child: View, atIndex?: number): boolean;
11
+ disposeNativeView(): void;
12
+ private _fragmentMatches;
13
+ private _findFragment;
14
+ _getChildFragmentManager(): any;
15
+ }
@@ -0,0 +1,54 @@
1
+ import { GridLayout, Trace } from '@nativescript/core';
2
+ import { TabContentItemBase } 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
+ // Set the row property for the child
18
+ if (this.nativeViewProtected && child.nativeViewProtected) {
19
+ GridLayout.setRow(child, 0);
20
+ }
21
+ return super._addViewToNativeVisualTree(child, atIndex);
22
+ }
23
+ disposeNativeView() {
24
+ super.disposeNativeView();
25
+ this.canBeLoaded = false;
26
+ }
27
+ _fragmentMatches(fragment) {
28
+ // ensure index AND owner for when 2 tabviews are in the same page
29
+ return fragment.index === this.index && fragment.owner === this.parent;
30
+ }
31
+ _findFragment(fragmentManager) {
32
+ if (!fragmentManager) {
33
+ return null;
34
+ }
35
+ const fragments = fragmentManager.getFragments().toArray();
36
+ for (let i = 0; i < fragments.length; i++) {
37
+ if (fragments[i].index === this.index && fragments[i].owner === this.parent) {
38
+ return fragments[i];
39
+ }
40
+ }
41
+ return null;
42
+ }
43
+ _getChildFragmentManager() {
44
+ const tabView = this.parent;
45
+ let tabFragment = null;
46
+ tabFragment = this._findFragment(tabView._getRootFragmentManager()) || this._findFragment(tabView._getFragmentManager());
47
+ if (!tabFragment) {
48
+ Trace.write(`No fragment found for ${tabView} with index ${this.index}`, Trace.categories.Error, Trace.messageType.error);
49
+ return tabView._getFragmentManager();
50
+ }
51
+ return tabFragment.getChildFragmentManager();
52
+ }
53
+ }
54
+ //# sourceMappingURL=index.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../src/core-tabs/tab-content-item/index.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,cAAc,2BAA2B,CAAC;AAE1C,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAIlD,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;QAC3D,qCAAqC;QACrC,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;IAEO,gBAAgB,CAAC,QAAa;QAClC,kEAAkE;QAClE,OAAO,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;IAC3E,CAAC;IACO,aAAa,CAAC,eAAsD;QACxE,IAAI,CAAC,eAAe,EAAE;YAClB,OAAO,IAAI,CAAC;SACf;QACD,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,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;gBACzE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;aACvB;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAc,CAAC;QACpC,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACzH,IAAI,CAAC,WAAW,EAAE;YACd,KAAK,CAAC,KAAK,CAAC,yBAAyB,OAAO,eAAe,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1H,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC;SACxC;QACD,OAAO,WAAW,CAAC,uBAAuB,EAAE,CAAC;IACjD,CAAC;CACJ"}
@@ -0,0 +1,13 @@
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
+
12
+ public index: number;
13
+ }
@@ -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,14 @@
1
+ // Requires
2
+ import { TabContentItemBase } from './tab-content-item-common';
3
+ export * from './tab-content-item-common';
4
+ export class TabContentItem extends TabContentItemBase {
5
+ setViewController(controller, nativeView) {
6
+ this.__controller = controller;
7
+ this.setNativeView(nativeView);
8
+ }
9
+ disposeNativeView() {
10
+ this.__controller = undefined;
11
+ this.setNativeView(undefined);
12
+ }
13
+ }
14
+ //# sourceMappingURL=index.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../src/core-tabs/tab-content-item/index.ios.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,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 abstract class TabContentItemBase extends ContentView implements TabContentItemDefinition, AddChildFromBuilder {
4
+ index: number;
5
+ eachChild(callback: (child: View) => boolean): void;
6
+ loadView(view: ViewBase): void;
7
+ }
@@ -0,0 +1,20 @@
1
+ // Types
2
+ import { CSSType, ContentView } from '@nativescript/core';
3
+ let TabContentItemBase = class TabContentItemBase extends ContentView {
4
+ eachChild(callback) {
5
+ if (this.content) {
6
+ callback(this.content);
7
+ }
8
+ }
9
+ loadView(view) {
10
+ // Don't load items until their fragments are instantiated.
11
+ if (this.canBeLoaded) {
12
+ super.loadView(view);
13
+ }
14
+ }
15
+ };
16
+ TabContentItemBase = __decorate([
17
+ CSSType('MDTabContentItem')
18
+ ], TabContentItemBase);
19
+ export { TabContentItemBase };
20
+ //# sourceMappingURL=tab-content-item-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-content-item-common.js","sourceRoot":"","sources":["../../../src/core-tabs/tab-content-item/tab-content-item-common.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAuB,OAAO,EAAE,WAAW,EAAkB,MAAM,oBAAoB,CAAC;AAIxF,IAAe,kBAAkB,GAAjC,MAAe,kBAAmB,SAAQ,WAAW;IAEjD,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,2DAA2D;QAC3D,IAAK,IAAiC,CAAC,WAAW,EAAE;YAChD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACxB;IACL,CAAC;CACJ,CAAA;AAdqB,kBAAkB;IADvC,OAAO,CAAC,kBAAkB,CAAC;GACN,kBAAkB,CAcvC"}
@@ -0,0 +1,27 @@
1
+ import { Color, CoreTypes, Property } from '@nativescript/core';
2
+ import { TabNavigationBase as TabNavigationBaseBase } from '../tab-navigation-base';
3
+ import { TabNavigation as TabsDefinition } from '.';
4
+ import { TabStripItem } from '../tab-strip-item';
5
+ export declare namespace knownCollections {
6
+ const items = "items";
7
+ }
8
+ export declare enum TabsPosition {
9
+ Top = "top",
10
+ Bottom = "bottom"
11
+ }
12
+ export declare class TabNavigationBase extends TabNavigationBaseBase implements TabsDefinition {
13
+ swipeEnabled: boolean;
14
+ offscreenTabLimit: number;
15
+ tabsPosition: TabsPosition;
16
+ animationEnabled: boolean;
17
+ rippleColor: Color;
18
+ protected mTextTransform: CoreTypes.TextTransformType;
19
+ protected getItemLabelTextTransform(tabStripItem: TabStripItem): CoreTypes.TextTransformType;
20
+ getTabBarTextTransform(): CoreTypes.TextTransformType;
21
+ getTabBarItemTextTransform(tabStripItem: TabStripItem): CoreTypes.TextTransformType;
22
+ _loadUnloadTabItems(newIndex: number): void;
23
+ }
24
+ export declare const swipeEnabledProperty: Property<TabNavigationBase, boolean>;
25
+ export declare const offscreenTabLimitProperty: Property<TabNavigationBase, number>;
26
+ export declare const tabsPositionProperty: Property<TabNavigationBase, TabsPosition>;
27
+ export declare const animationEnabledProperty: Property<TabNavigationBase, boolean>;
@@ -0,0 +1,92 @@
1
+ import { cssProperty } from '@nativescript-community/ui-material-core';
2
+ // Types
3
+ import { Frame, Property, booleanConverter } from '@nativescript/core';
4
+ import { TabNavigationBase as TabNavigationBaseBase } from '../tab-navigation-base';
5
+ export var knownCollections;
6
+ (function (knownCollections) {
7
+ knownCollections.items = 'items';
8
+ })(knownCollections || (knownCollections = {}));
9
+ export var TabsPosition;
10
+ (function (TabsPosition) {
11
+ TabsPosition["Top"] = "top";
12
+ TabsPosition["Bottom"] = "bottom";
13
+ })(TabsPosition || (TabsPosition = {}));
14
+ export class TabNavigationBase extends TabNavigationBaseBase {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.mTextTransform = 'none';
18
+ }
19
+ getItemLabelTextTransform(tabStripItem) {
20
+ const nestedLabel = tabStripItem.label;
21
+ let textTransform = null;
22
+ if (nestedLabel && nestedLabel.style.textTransform !== 'initial') {
23
+ textTransform = nestedLabel.style.textTransform;
24
+ }
25
+ else if (tabStripItem.style.textTransform !== 'initial') {
26
+ textTransform = tabStripItem.style.textTransform;
27
+ }
28
+ return textTransform || this.mTextTransform;
29
+ }
30
+ getTabBarTextTransform() {
31
+ return this.mTextTransform;
32
+ }
33
+ getTabBarItemTextTransform(tabStripItem) {
34
+ return this.getItemLabelTextTransform(tabStripItem);
35
+ }
36
+ _loadUnloadTabItems(newIndex) {
37
+ const items = this.items;
38
+ if (!items) {
39
+ return;
40
+ }
41
+ // const offsideItems = this.offscreenTabLimit;
42
+ // use 0 because users expect load/unload to be like selected/unselected
43
+ const offsideItems = 0;
44
+ const toLoad = [];
45
+ const toUnload = [];
46
+ for (let index = 0; index < items.length; index++) {
47
+ const item = items[index];
48
+ if (item) {
49
+ if (Math.abs(index - newIndex) <= offsideItems) {
50
+ toLoad.push(item);
51
+ }
52
+ else {
53
+ toUnload.push(item);
54
+ }
55
+ }
56
+ }
57
+ if (this.unloadOnTabChange) {
58
+ toUnload.forEach((item) => item.unloadView(item.content));
59
+ }
60
+ const newItem = items[newIndex];
61
+ const selectedView = newItem && newItem.content;
62
+ if (selectedView instanceof Frame) {
63
+ selectedView._pushInFrameStackRecursive();
64
+ }
65
+ if (this.isLoaded) {
66
+ toLoad.forEach((item) => item.loadView(item.content));
67
+ }
68
+ }
69
+ }
70
+ __decorate([
71
+ cssProperty
72
+ ], TabNavigationBase.prototype, "rippleColor", void 0);
73
+ export const swipeEnabledProperty = new Property({
74
+ name: 'swipeEnabled',
75
+ defaultValue: true,
76
+ valueConverter: booleanConverter
77
+ });
78
+ swipeEnabledProperty.register(TabNavigationBase);
79
+ export const offscreenTabLimitProperty = new Property({
80
+ name: 'offscreenTabLimit',
81
+ defaultValue: 1,
82
+ valueConverter: (v) => parseInt(v, 10)
83
+ });
84
+ offscreenTabLimitProperty.register(TabNavigationBase);
85
+ export const tabsPositionProperty = new Property({ name: 'tabsPosition', defaultValue: TabsPosition.Top });
86
+ tabsPositionProperty.register(TabNavigationBase);
87
+ // export type IOSTabBarItemsAlignment = 'leading' | 'justified' | 'center' | 'centerSelected';
88
+ // export const iOSTabBarItemsAlignmentProperty = new Property<TabsBase, IOSTabBarItemsAlignment>({ name: 'iOSTabBarItemsAlignment', defaultValue: 'justified' });
89
+ // iOSTabBarItemsAlignmentProperty.register(TabsBase);
90
+ export const animationEnabledProperty = new Property({ name: 'animationEnabled', defaultValue: true, valueConverter: booleanConverter });
91
+ animationEnabledProperty.register(TabNavigationBase);
92
+ //# sourceMappingURL=index-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-common.js","sourceRoot":"","sources":["../../../src/core-tabs/tab-navigation/index-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { Color, CoreTypes, Font } from '@nativescript/core';
2
+ import { TabContentItem } from '../tab-content-item';
3
+ import { TabStrip } from '../tab-strip';
4
+ import { TabStripItem } from '../tab-strip-item';
5
+ import { TabNavigationBase } from './index-common';
6
+ export * from './index-common';
7
+ export { TabContentItem, TabStrip, TabStripItem };
8
+ export declare const PRIMARY_COLOR = "colorPrimary";
9
+ export interface PositionChanger {
10
+ onSelectedPositionChange(position: number, prevPosition: number): any;
11
+ }
12
+ export declare function getDefaultAccentColor(context: android.content.Context): number;
13
+ export declare const tabs: WeakRef<TabNavigation<any>>[];
14
+ export declare abstract class TabNavigation<T extends android.view.ViewGroup = any> extends TabNavigationBase {
15
+ nativeViewProtected: org.nativescript.widgets.GridLayout;
16
+ protected mTabsBar: T;
17
+ protected mViewPager: androidx.viewpager2.widget.ViewPager2;
18
+ protected mPageListener: androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback;
19
+ protected mPagerAdapter: androidx.viewpager2.adapter.FragmentStateAdapter;
20
+ protected mAndroidViewId: number;
21
+ _originalBackground: any;
22
+ protected mTextTransform: CoreTypes.TextTransformType;
23
+ protected mSelectedItemColor: Color;
24
+ protected mUnSelectedItemColor: Color;
25
+ fragments: androidx.fragment.app.Fragment[];
26
+ protected tabBarLayoutParams: org.nativescript.widgets.CommonLayoutParams;
27
+ constructor();
28
+ get _hasFragments(): boolean;
29
+ onItemsChanged(oldItems: TabContentItem[], newItems: TabContentItem[]): void;
30
+ createNativeView(): org.nativescript.widgets.GridLayout;
31
+ protected abstract createNativeTabBar(context: android.content.Context): T;
32
+ protected abstract setTabBarItems(tabItems: com.nativescript.material.core.TabItemSpec[]): any;
33
+ protected abstract getTabBarItemView(index: number): any;
34
+ protected abstract getTabBarItemTextView(index: number): any;
35
+ protected abstract selectTabBar(oldIndex: number, newIndex: number): any;
36
+ private handleTabStripChanged;
37
+ onTabStripChanged(oldTabStrip: TabStrip, newTabStrip: TabStrip): void;
38
+ onSelectedIndexChanged(oldIndex: number, newIndex: number): void;
39
+ initNativeView(): void;
40
+ disposeNativeView(): void;
41
+ onLoaded(): void;
42
+ onUnloaded(): void;
43
+ private shouldUpdateAdapter;
44
+ private setItems;
45
+ protected setTabStripItems(items: TabStripItem[]): void;
46
+ protected createTabItemSpec(tabStripItem: TabStripItem): com.nativescript.material.core.TabItemSpec;
47
+ private getOriginalIcon;
48
+ private getDrawableInfo;
49
+ private getIconInfo;
50
+ private getFixedSizeIcon;
51
+ protected abstract updateTabsBarItemAt(index: number, spec: com.nativescript.material.core.TabItemSpec): any;
52
+ protected abstract setTabsBarSelectedIndicatorColors(colors: number[]): any;
53
+ updateAndroidItemAt(index: number, spec: com.nativescript.material.core.TabItemSpec): void;
54
+ getTabBarBackgroundColor(): android.graphics.drawable.Drawable;
55
+ setTabBarBackgroundColor(value: android.graphics.drawable.Drawable | Color): void;
56
+ getTabBarHighlightColor(): number;
57
+ setTabBarHighlightColor(value: number | Color): void;
58
+ getTabBarSelectedItemColor(): Color;
59
+ setTabBarSelectedItemColor(value: Color): void;
60
+ getTabBarUnSelectedItemColor(): Color;
61
+ setTabBarUnSelectedItemColor(value: Color): void;
62
+ private updateItem;
63
+ setTabBarItemTitle(tabStripItem: TabStripItem, value: string): void;
64
+ setTabBarItemBackgroundColor(tabStripItem: TabStripItem, value: android.graphics.drawable.Drawable | Color): void;
65
+ _setItemColor(tabStripItem: TabStripItem): void;
66
+ protected setIconColor(tabStripItem: TabStripItem, color?: Color): void;
67
+ setTabBarItemColor(tabStripItem: TabStripItem, value: number | Color): void;
68
+ setTabBarIconColor(tabStripItem: TabStripItem, value: number | Color): void;
69
+ setTabBarIconSource(tabStripItem: TabStripItem, value: number | Color): void;
70
+ setTabBarItemFontInternal(tabStripItem: TabStripItem, value: Font): void;
71
+ setTabBarItemTextTransform(tabStripItem: TabStripItem, value: CoreTypes.TextTransformType): void;
72
+ setTabBarTextTransform(value: CoreTypes.TextTransformType): void;
73
+ onTabsBarSelectedPositionChange(position: number, prevPosition: number): void;
74
+ onTabsBarTap(position: number): boolean;
75
+ }