From aa1c631e6f3c38f56d4a84a20a3142289104ab0e Mon Sep 17 00:00:00 2001 From: Kinshuk Dua Date: Thu, 17 Feb 2022 08:43:45 +0530 Subject: [PATCH] fix(android): text-transform: capitalize behavior (#9598) closes #7059 --- packages/core/ui/text-base/index.android.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/core/ui/text-base/index.android.ts b/packages/core/ui/text-base/index.android.ts index 8265425c3..6e6966591 100644 --- a/packages/core/ui/text-base/index.android.ts +++ b/packages/core/ui/text-base/index.android.ts @@ -292,7 +292,8 @@ export class TextBase extends TextBaseCommon { case 'right': this.nativeTextViewProtected.setGravity(android.view.Gravity.END | verticalGravity); break; - default: // initial | left | justify + default: + // initial | left | justify this.nativeTextViewProtected.setGravity(android.view.Gravity.START | verticalGravity); break; } @@ -485,14 +486,9 @@ export class TextBase extends TextBaseCommon { } function getCapitalizedString(str: string): string { - const words = str.split(' '); - const newWords = []; - for (let i = 0, length = words.length; i < length; i++) { - const word = words[i].toLowerCase(); - newWords.push(word.substr(0, 1).toUpperCase() + word.substring(1)); - } - - return newWords.join(' '); + let newString = str.toLowerCase(); + newString = newString.replace(/(?:^|\s|[-"'([{])+\S/g, (c) => c.toUpperCase()); + return newString; } export function getTransformedText(text: string, textTransform: CoreTypes.TextTransformType): string {