From 5a9cc699a613439a645b36993512d8e33b66ec84 Mon Sep 17 00:00:00 2001 From: Bundyo Date: Tue, 10 Sep 2019 21:57:03 +0300 Subject: [PATCH 1/6] fix: setMinimumWidth does not really set the minWidth for TextView widgets --- .../org/nativescript/widgets/ViewHelper.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java b/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java index 0214b02cae..d4cfd8ff74 100644 --- a/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java +++ b/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java @@ -5,6 +5,7 @@ import android.view.Gravity; import android.view.ViewGroup; import android.widget.FrameLayout; +import android.widget.TextView; /** * Created by hhristov on 8/23/16. @@ -22,6 +23,10 @@ public static int getMinWidth(android.view.View view) { } public static void setMinWidth(android.view.View view, int value) { + if (view instanceof TextView) { + ((android.widget.TextView) view).setMinWidth(value); + } + view.setMinimumWidth(value); } @@ -30,6 +35,10 @@ public static int getMinHeight(android.view.View view) { } public static void setMinHeight(android.view.View view, int value) { + if (view instanceof TextView) { + ((android.widget.TextView) view).setMinHeight(value); + } + view.setMinimumHeight(value); } @@ -47,7 +56,7 @@ public static void setWidth(android.view.View view, int value) { if (params == null) { params = new CommonLayoutParams(); } - + params.width = value; if (params instanceof CommonLayoutParams) { ((CommonLayoutParams)params).widthPercent = -1; @@ -84,7 +93,7 @@ public static void setHeight(android.view.View view, int value) { if (params == null) { params = new CommonLayoutParams(); } - + params.height = value; if (params instanceof CommonLayoutParams) { ((CommonLayoutParams)params).heightPercent = -1; @@ -480,7 +489,7 @@ public static float getRotateY(android.view.View view) { public static void setRotateY(android.view.View view, float value) { view.setRotationY(value); } - + public static void setPerspective(android.view.View view, float value) { view.setCameraDistance(value); } @@ -549,4 +558,4 @@ public static void setLetterspacing(android.widget.TextView textView, float valu } } } - + From 386eb20c23d3c921abef653f736dd35f8d36f483 Mon Sep 17 00:00:00 2001 From: vakrilov Date: Thu, 12 Dec 2019 14:46:22 +0200 Subject: [PATCH 2/6] chore: fix versions --- .../org/nativescript/widgets/ViewHelper.java | 97 ++++++++++--------- 1 file changed, 50 insertions(+), 47 deletions(-) diff --git a/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java b/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java index d4cfd8ff74..ba9eba3d87 100644 --- a/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java +++ b/tns-core-modules-widgets/android/widgets/src/main/java/org/nativescript/widgets/ViewHelper.java @@ -59,7 +59,7 @@ public static void setWidth(android.view.View view, int value) { params.width = value; if (params instanceof CommonLayoutParams) { - ((CommonLayoutParams)params).widthPercent = -1; + ((CommonLayoutParams) params).widthPercent = -1; } view.setLayoutParams(params); @@ -74,7 +74,9 @@ public static void setWidthPercent(android.view.View view, float value) { if (params instanceof CommonLayoutParams) { CommonLayoutParams lp = (CommonLayoutParams) params; lp.widthPercent = value; - lp.width = (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK) == Gravity.FILL_HORIZONTAL ? ViewGroup.LayoutParams.MATCH_PARENT : ViewGroup.LayoutParams.WRAP_CONTENT; + lp.width = (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK) == Gravity.FILL_HORIZONTAL + ? ViewGroup.LayoutParams.MATCH_PARENT + : ViewGroup.LayoutParams.WRAP_CONTENT; view.setLayoutParams(params); } } @@ -96,7 +98,7 @@ public static void setHeight(android.view.View view, int value) { params.height = value; if (params instanceof CommonLayoutParams) { - ((CommonLayoutParams)params).heightPercent = -1; + ((CommonLayoutParams) params).heightPercent = -1; } view.setLayoutParams(params); @@ -111,7 +113,9 @@ public static void setHeightPercent(android.view.View view, float value) { if (params instanceof CommonLayoutParams) { CommonLayoutParams lp = (CommonLayoutParams) params; lp.heightPercent = value; - lp.height = (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK) == Gravity.FILL_VERTICAL ? ViewGroup.LayoutParams.MATCH_PARENT : ViewGroup.LayoutParams.WRAP_CONTENT; + lp.height = (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK) == Gravity.FILL_VERTICAL + ? ViewGroup.LayoutParams.MATCH_PARENT + : ViewGroup.LayoutParams.WRAP_CONTENT; view.setLayoutParams(params); } } @@ -330,14 +334,14 @@ public static String getHorizontalAlignment(android.view.View view) { FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) params; if (Gravity.isHorizontal(lp.gravity)) { switch (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK) { - case Gravity.LEFT: - return "left"; - case Gravity.CENTER: - return "center"; - case Gravity.RIGHT: - return "right"; - case Gravity.FILL_HORIZONTAL: - return "stretch"; + case Gravity.LEFT: + return "left"; + case Gravity.CENTER: + return "center"; + case Gravity.RIGHT: + return "right"; + case Gravity.FILL_HORIZONTAL: + return "stretch"; } } @@ -357,19 +361,19 @@ public static void setHorizontalAlignment(android.view.View view, String value) if (params instanceof FrameLayout.LayoutParams) { FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) params; switch (value) { - case "left": - lp.gravity = Gravity.LEFT | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); - break; - case "center": - case "middle": - lp.gravity = Gravity.CENTER_HORIZONTAL | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); - break; - case "right": - lp.gravity = Gravity.RIGHT | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); - break; - case "stretch": - lp.gravity = Gravity.FILL_HORIZONTAL | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); - break; + case "left": + lp.gravity = Gravity.LEFT | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); + break; + case "center": + case "middle": + lp.gravity = Gravity.CENTER_HORIZONTAL | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); + break; + case "right": + lp.gravity = Gravity.RIGHT | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); + break; + case "stretch": + lp.gravity = Gravity.FILL_HORIZONTAL | (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK); + break; } view.setLayoutParams(params); } @@ -381,14 +385,14 @@ public static String getVerticalAlignment(android.view.View view) { FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) params; if (Gravity.isHorizontal(lp.gravity)) { switch (lp.gravity & Gravity.VERTICAL_GRAVITY_MASK) { - case Gravity.TOP: - return "top"; - case Gravity.CENTER: - return "center"; - case Gravity.BOTTOM: - return "bottom"; - case Gravity.FILL_VERTICAL: - return "stretch"; + case Gravity.TOP: + return "top"; + case Gravity.CENTER: + return "center"; + case Gravity.BOTTOM: + return "bottom"; + case Gravity.FILL_VERTICAL: + return "stretch"; } } @@ -408,19 +412,19 @@ public static void setVerticalAlignment(android.view.View view, String value) { if (params instanceof FrameLayout.LayoutParams) { FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) params; switch (value) { - case "top": - lp.gravity = Gravity.TOP | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); - break; - case "center": - case "middle": - lp.gravity = Gravity.CENTER_VERTICAL | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); - break; - case "bottom": - lp.gravity = Gravity.BOTTOM | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); - break; - case "stretch": - lp.gravity = Gravity.FILL_VERTICAL | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); - break; + case "top": + lp.gravity = Gravity.TOP | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); + break; + case "center": + case "middle": + lp.gravity = Gravity.CENTER_VERTICAL | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); + break; + case "bottom": + lp.gravity = Gravity.BOTTOM | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); + break; + case "stretch": + lp.gravity = Gravity.FILL_VERTICAL | (lp.gravity & Gravity.HORIZONTAL_GRAVITY_MASK); + break; } view.setLayoutParams(params); } @@ -558,4 +562,3 @@ public static void setLetterspacing(android.widget.TextView textView, float valu } } } - From 20ad0afdc12016216105b52b20c2ed39c7a41689 Mon Sep 17 00:00:00 2001 From: vakrilov Date: Wed, 22 Jan 2020 16:19:18 +0200 Subject: [PATCH 3/6] refactor(android): default minWidth/Height values for button --- nativescript-core/ui/button/button.android.ts | 15 ++++++++++- .../ui/core/view/view.android.ts | 21 ++++++++-------- nativescript-core/ui/core/view/view.d.ts | 4 +-- .../flexbox-layout/flexbox-layout.android.ts | 25 +++++++++++++++---- 4 files changed, 46 insertions(+), 19 deletions(-) diff --git a/nativescript-core/ui/button/button.android.ts b/nativescript-core/ui/button/button.android.ts index 81ab02dfc2..a9e42f70b6 100644 --- a/nativescript-core/ui/button/button.android.ts +++ b/nativescript-core/ui/button/button.android.ts @@ -1,7 +1,8 @@ import { ButtonBase, PseudoClassHandler, paddingLeftProperty, paddingTopProperty, paddingRightProperty, paddingBottomProperty, - Length, zIndexProperty, textAlignmentProperty, TextAlignment + Length, zIndexProperty, textAlignmentProperty, TextAlignment, layout, + minWidthProperty, minHeightProperty } from "./button-common"; import { profile } from "../../profiling"; import { TouchGestureEventData, GestureTypes, TouchAction } from "../gestures"; @@ -111,6 +112,18 @@ export class Button extends ButtonBase { } } + [minWidthProperty.getDefault](): Length { + const dips = org.nativescript.widgets.ViewHelper.getMinWidth(this.nativeViewProtected); + + return { value: dips, unit: "px" }; + } + + [minHeightProperty.getDefault](): Length { + const dips = org.nativescript.widgets.ViewHelper.getMinHeight(this.nativeViewProtected); + + return { value: dips, unit: "px" }; + } + [paddingTopProperty.getDefault](): Length { return { value: this._defaultPaddingTop, unit: "px" }; } diff --git a/nativescript-core/ui/core/view/view.android.ts b/nativescript-core/ui/core/view/view.android.ts index 2388aa67c1..b470558c3e 100644 --- a/nativescript-core/ui/core/view/view.android.ts +++ b/nativescript-core/ui/core/view/view.android.ts @@ -389,7 +389,7 @@ export class View extends ViewCommon { this.nativeViewProtected.setClickable(this._isClickable); } } - + this._manager = null; this._rootManager = null; super.onUnloaded(); @@ -982,17 +982,17 @@ export class View extends ViewCommon { [minWidthProperty.setNative](value: Length) { if (this.parent instanceof CustomLayoutView && this.parent.nativeViewProtected) { - this.parent._setChildMinWidthNative(this); + this.parent._setChildMinWidthNative(this, value); } else { - this._setMinWidthNative(this.minWidth); + this._setMinWidthNative(value); } } [minHeightProperty.setNative](value: Length) { if (this.parent instanceof CustomLayoutView && this.parent.nativeViewProtected) { - this.parent._setChildMinHeightNative(this); + this.parent._setChildMinHeightNative(this, value); } else { - this._setMinHeightNative(this.minHeight); + this._setMinHeightNative(value); } } @@ -1050,16 +1050,15 @@ export class CustomLayoutView extends ContainerView implements CustomLayoutViewD } public _updateNativeLayoutParams(child: View): void { - this._setChildMinWidthNative(child); - this._setChildMinHeightNative(child); + // noop } - public _setChildMinWidthNative(child: View): void { - child._setMinWidthNative(child.minWidth); + public _setChildMinWidthNative(child: View, value: Length): void { + child._setMinWidthNative(value); } - public _setChildMinHeightNative(child: View): void { - child._setMinHeightNative(child.minHeight); + public _setChildMinHeightNative(child: View, value: Length): void { + child._setMinHeightNative(value); } public _removeViewFromNativeVisualTree(child: ViewCommon): void { diff --git a/nativescript-core/ui/core/view/view.d.ts b/nativescript-core/ui/core/view/view.d.ts index 41ca87b94e..3b226ca317 100644 --- a/nativescript-core/ui/core/view/view.d.ts +++ b/nativescript-core/ui/core/view/view.d.ts @@ -796,11 +796,11 @@ export class CustomLayoutView extends ContainerView { /** * @private */ - _setChildMinWidthNative(child: View): void; + _setChildMinWidthNative(child: View, value: Length): void; /** * @private */ - _setChildMinHeightNative(child: View): void; + _setChildMinHeightNative(child: View, value: Length): void; //@endprivate } diff --git a/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts b/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts index 13932225a4..1e18e6f394 100644 --- a/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts +++ b/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts @@ -7,7 +7,9 @@ import { flexShrinkProperty, FlexShrink, flexWrapBeforeProperty, FlexWrapBefore, alignSelfProperty, AlignSelf, - flexDirectionProperty, flexWrapProperty, justifyContentProperty, alignItemsProperty, alignContentProperty + flexDirectionProperty, flexWrapProperty, justifyContentProperty, alignItemsProperty, alignContentProperty, + minWidthProperty, minHeightProperty, + CssProperty } from "./flexbox-layout-common"; export * from "./flexbox-layout-common"; @@ -134,9 +136,22 @@ export class FlexboxLayout extends FlexboxLayoutBase { this.nativeViewProtected.setAlignContent(alignContentMap[alignContent]); } + private getChildPropertyValue(child: View, prop: CssProperty): T { + if (minWidthProperty.isSet(child.style)) { + return child[prop.name]; + } else if (child[prop.getDefault]) { + return child[prop.getDefault](); + } else { + return prop.defaultValue; + } + } + public _updateNativeLayoutParams(child: View): void { super._updateNativeLayoutParams(child); + this._setChildMinWidthNative(child, this.getChildPropertyValue(child, minWidthProperty)); + this._setChildMinHeightNative(child, this.getChildPropertyValue(child, minHeightProperty)); + const lp = child.nativeViewProtected.getLayoutParams(); const style = child.style; lp.order = style.order; @@ -147,22 +162,22 @@ export class FlexboxLayout extends FlexboxLayoutBase { child.nativeViewProtected.setLayoutParams(lp); } - public _setChildMinWidthNative(child: View): void { + public _setChildMinWidthNative(child: View, value: Length): void { child._setMinWidthNative(0); const nativeView = child.nativeViewProtected; const lp = nativeView.getLayoutParams(); if (lp instanceof widgetLayoutParams) { - lp.minWidth = Length.toDevicePixels(child.style.minWidth, 0); + lp.minWidth = Length.toDevicePixels(value, 0); nativeView.setLayoutParams(lp); } } - public _setChildMinHeightNative(child: View): void { + public _setChildMinHeightNative(child: View, value: Length): void { child._setMinHeightNative(0); const nativeView = child.nativeViewProtected; const lp = nativeView.getLayoutParams(); if (lp instanceof widgetLayoutParams) { - lp.minHeight = Length.toDevicePixels(child.style.minHeight, 0); + lp.minHeight = Length.toDevicePixels(value, 0); nativeView.setLayoutParams(lp); } } From 83394ed626a8772d7c4df25367f307fe864b8e39 Mon Sep 17 00:00:00 2001 From: vakrilov Date: Thu, 23 Jan 2020 14:00:51 +0200 Subject: [PATCH 4/6] reafctor: reset minWidth when view is in flexbox for backcompat --- .../flexbox-layout/flexbox-layout.android.ts | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts b/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts index 1e18e6f394..f3944e7cbb 100644 --- a/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts +++ b/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts @@ -136,21 +136,13 @@ export class FlexboxLayout extends FlexboxLayoutBase { this.nativeViewProtected.setAlignContent(alignContentMap[alignContent]); } - private getChildPropertyValue(child: View, prop: CssProperty): T { - if (minWidthProperty.isSet(child.style)) { - return child[prop.name]; - } else if (child[prop.getDefault]) { - return child[prop.getDefault](); - } else { - return prop.defaultValue; - } - } - public _updateNativeLayoutParams(child: View): void { super._updateNativeLayoutParams(child); - this._setChildMinWidthNative(child, this.getChildPropertyValue(child, minWidthProperty)); - this._setChildMinHeightNative(child, this.getChildPropertyValue(child, minHeightProperty)); + // NOTE: If minWidth/Height is not set, the next code will clear the default native values for minWidth/Height. + // Flex box will not respect the button default min width. Keeping this behavior for back-compatibility. + this._setChildMinWidthNative(child, child.minWidth); + this._setChildMinHeightNative(child, child.minHeight); const lp = child.nativeViewProtected.getLayoutParams(); const style = child.style; From 88e7ab610908758e846c4c152bb06f122027300e Mon Sep 17 00:00:00 2001 From: vakrilov Date: Mon, 27 Jan 2020 17:59:43 +0200 Subject: [PATCH 5/6] refactor: ensure back-compatible layout for btns --- api-reports/NativeScript.api.md | 2 ++ nativescript-core/ui/button/button.android.ts | 2 ++ nativescript-core/ui/core/view-base/view-base.d.ts | 7 +++++++ nativescript-core/ui/core/view-base/view-base.ts | 1 + .../layouts/flexbox-layout/flexbox-layout.android.ts | 12 ++++++++++-- 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/api-reports/NativeScript.api.md b/api-reports/NativeScript.api.md index c26a8ac568..d5493dff37 100644 --- a/api-reports/NativeScript.api.md +++ b/api-reports/NativeScript.api.md @@ -2866,6 +2866,8 @@ export abstract class ViewBase extends Observable { public _goToVisualState(state: string): void; public id: string; // (undocumented) + public _ignoreFlexMinWidthHeightReset: boolean; + // (undocumented) _inheritStyleScope(styleScope: any /* StyleScope */): void; initNativeView(): void; // (undocumented) diff --git a/nativescript-core/ui/button/button.android.ts b/nativescript-core/ui/button/button.android.ts index a9e42f70b6..ea78c5f233 100644 --- a/nativescript-core/ui/button/button.android.ts +++ b/nativescript-core/ui/button/button.android.ts @@ -190,3 +190,5 @@ export class Button extends ButtonBase { return 4; // 4dp @dimen/button_pressed_z_material } } + +Button.prototype._ignoreFlexMinWidthHeightReset = true; diff --git a/nativescript-core/ui/core/view-base/view-base.d.ts b/nativescript-core/ui/core/view-base/view-base.d.ts index 0537ac47e3..0f22d68fce 100644 --- a/nativescript-core/ui/core/view-base/view-base.d.ts +++ b/nativescript-core/ui/core/view-base/view-base.d.ts @@ -432,10 +432,17 @@ export abstract class ViewBase extends Observable { * @private */ public recycleNativeView: "always" | "never" | "auto"; + /** * @private */ public _isPaddingRelative: boolean; + + /** + * @private + */ + public _ignoreFlexMinWidthHeightReset: boolean; + public _styleScope: any; /** diff --git a/nativescript-core/ui/core/view-base/view-base.ts b/nativescript-core/ui/core/view-base/view-base.ts index 092eec6fcf..49711a944a 100644 --- a/nativescript-core/ui/core/view-base/view-base.ts +++ b/nativescript-core/ui/core/view-base/view-base.ts @@ -227,6 +227,7 @@ export abstract class ViewBase extends Observable implements ViewBaseDefinition _oldTop: number; _oldRight: number; _oldBottom: number; + _ignoreFlexMinWidthHeightReset: boolean; public effectiveMinWidth: number; public effectiveMinHeight: number; diff --git a/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts b/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts index f3944e7cbb..8f64adb543 100644 --- a/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts +++ b/nativescript-core/ui/layouts/flexbox-layout/flexbox-layout.android.ts @@ -155,7 +155,11 @@ export class FlexboxLayout extends FlexboxLayoutBase { } public _setChildMinWidthNative(child: View, value: Length): void { - child._setMinWidthNative(0); + // Check needed to maintain back-compat after https://github.com/NativeScript/NativeScript/pull/7804 + if (!child._ignoreFlexMinWidthHeightReset) { + child._setMinWidthNative(0); + } + const nativeView = child.nativeViewProtected; const lp = nativeView.getLayoutParams(); if (lp instanceof widgetLayoutParams) { @@ -165,7 +169,11 @@ export class FlexboxLayout extends FlexboxLayoutBase { } public _setChildMinHeightNative(child: View, value: Length): void { - child._setMinHeightNative(0); + // Check needed to maintain back-compat after https://github.com/NativeScript/NativeScript/pull/7804 + if (!child._ignoreFlexMinWidthHeightReset) { + child._setMinHeightNative(0); + } + const nativeView = child.nativeViewProtected; const lp = nativeView.getLayoutParams(); if (lp instanceof widgetLayoutParams) { From 8759aa000dc9ae38e14216e5652df76eaf810001 Mon Sep 17 00:00:00 2001 From: Dimitar Topuzov Date: Tue, 17 Mar 2020 10:10:12 +0200 Subject: [PATCH 6/6] chore: cut 6.5.0 release (#8443) * release: cut 6.5.0 release * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Vasil Trifonov --- CHANGELOG.md | 19 +++++++++++++++++++ nativescript-core/package.json | 16 +++++++++------- tns-core-modules-package/package.json | 2 +- tns-platform-declarations/package.json | 2 +- 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a7076f3bd..c4f31053e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +# [6.5.0](https://github.com/NativeScript/NativeScript/compare/6.4.2...6.5.0) (2020-03-18) + + +### Bug Fixes + +* Fix issue for view not being removed from its parent ([#8432](https://github.com/NativeScript/NativeScript/issues/8432)) ([e081340](https://github.com/NativeScript/NativeScript/commit/e081340665605c54530587cc0cce9bc339585557)) +* **d.ts:** Update iOS typings iOS 13.2 ([#8430](https://github.com/NativeScript/NativeScript/issues/8430)) ([18a9b1a](https://github.com/NativeScript/NativeScript/commit/18a9b1aea89ee9defee990ace7d2409327a47a28)) +* **bottom-nav:** Android TabStripItems not aligned correctly when one of the image is smaller ([#8414](https://github.com/NativeScript/NativeScript/issues/8414))([9830be7](https://github.com/NativeScript/NativeScript/commit/9830be7230355638ace604145a3e3fad393c2a93)) +* **tabs:** delay loadView when animation runs ([#8353](https://github.com/NativeScript/NativeScript/issues/8353)) ([e649a6c](https://github.com/NativeScript/NativeScript/commit/e649a6cfd618c86a1dc7fa84e3197dfb78c3bc74)) + + +### Features + +* **tabs:** Tabs styling improvements ([#8366](https://github.com/NativeScript/NativeScript/pull/8366))([4589431](https://github.com/NativeScript/NativeScript/commit/458943111e909fcdad47d12e7ee4bcd9732f4e90)) +* **tabs:** Added selectedItemColor and unSelectedItemColor to the TabStrip ([#8435](https://github.com/NativeScript/NativeScript/issues/8435))([243dc98](https://github.com/NativeScript/NativeScript/commit/243dc98005d43617872da5cfc010e76178aa7f97)) +* **gestures:** add locationX and locationY to double tap event data ([#8338](https://github.com/NativeScript/NativeScript/pull/8338))([5ff78e2](https://github.com/NativeScript/NativeScript/commit/5ff78e2ad2612259bff36d3aaf5a0292309f5a78)) +* **tabs:** Added iconClass property to TabStripItem ([#8439](https://github.com/NativeScript/NativeScript/issues/8439))([270988d](https://github.com/NativeScript/NativeScript/commit/270988d26e1eeab97b4e5781451388e3a0a347e3)) + + ## [6.4.2](https://github.com/NativeScript/NativeScript/compare/6.4.1...6.4.2) (2020-02-27) diff --git a/nativescript-core/package.json b/nativescript-core/package.json index 0dbf2e07a2..7fbc6857aa 100644 --- a/nativescript-core/package.json +++ b/nativescript-core/package.json @@ -41,12 +41,14 @@ "ios": "6.0.0", "android": "6.0.0" }, - "hooks": [{ - "name": "nativescript-core", - "type": "before-checkForChanges", - "script": "cli-hooks/before-checkForChanges.js", - "inject": true - }] + "hooks": [ + { + "name": "nativescript-core", + "type": "before-checkForChanges", + "script": "cli-hooks/before-checkForChanges.js", + "inject": true + } + ] }, "snapshot": { "android": { @@ -58,4 +60,4 @@ } } } -} \ No newline at end of file +} diff --git a/tns-core-modules-package/package.json b/tns-core-modules-package/package.json index 6f6f124b15..25ea21d55d 100644 --- a/tns-core-modules-package/package.json +++ b/tns-core-modules-package/package.json @@ -22,4 +22,4 @@ "android": "5.0.0" } } -} \ No newline at end of file +} diff --git a/tns-platform-declarations/package.json b/tns-platform-declarations/package.json index e4ef21b7d4..363803f856 100644 --- a/tns-platform-declarations/package.json +++ b/tns-platform-declarations/package.json @@ -34,4 +34,4 @@ "devDependencies": { "typescript": "^3.7.5" } -} \ No newline at end of file +}