@nativescript-community/text 1.5.18 → 1.5.19
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.
- package/index-common.d.ts +1 -0
- package/index-common.js +39 -106
- package/index-common.js.map +1 -1
- package/index.android.d.ts +1 -1
- package/index.android.js +140 -160
- package/index.android.js.map +1 -1
- package/index.ios.js +11 -21
- package/index.ios.js.map +1 -1
- package/package.json +2 -2
- package/platforms/android/include.gradle +3 -0
- package/platforms/android/java/com/nativescript/text/Font.java +22 -9
- package/platforms/android/java/com/nativescript/text/HtmlToSpannedConverter.java +7 -4
- package/platforms/android/java/com/nativescript/text/TextView.java +28 -0
- package/platforms/android/java/com/nativescript/text/URLSpanClickListener.java +7 -0
- package/platforms/android/java/com/nativescript/text/URLSpanNoUnderline.java +21 -6
- package/platforms/android/native-api-usage.json +3 -1
- package/platforms/ios/src/NSTextUtils.swift +297 -0
- package/typings/android.d.ts +24 -2
- package/typings/ios.d.ts +14 -0
- package/platforms/ios/src/Info.plist +0 -0
- package/platforms/ios/src/NSTextModule.h +0 -1
- package/platforms/ios/src/NSTextUtils.h +0 -4
- package/platforms/ios/src/NSTextUtils.mm +0 -203
- package/platforms/ios/src/module.modulemap +0 -5
package/index-common.d.ts
CHANGED
@@ -9,6 +9,7 @@ export interface ObjectSpans extends Partial<Pick<LightFormattedString, keyof Li
|
|
9
9
|
spans: any;
|
10
10
|
}
|
11
11
|
export declare function computeBaseLineOffset(align: any, fontAscent: any, fontDescent: any, fontBottom: any, fontTop: any, fontSize: any, maxFontSize: any): number;
|
12
|
+
export declare function getTransformedText(text: string, textTransform: CoreTypes.TextTransformType): string;
|
12
13
|
export declare const cssProperty: (target: Object, key: string | symbol) => void;
|
13
14
|
export declare type VerticalTextAlignment = 'initial' | 'top' | 'middle' | 'bottom' | 'center';
|
14
15
|
export declare const verticalTextAlignmentConverter: (value: any) => VerticalTextAlignment;
|
package/index-common.js
CHANGED
@@ -37,6 +37,31 @@ export function computeBaseLineOffset(align, fontAscent, fontDescent, fontBottom
|
|
37
37
|
}
|
38
38
|
return result;
|
39
39
|
}
|
40
|
+
function getCapitalizedString(str) {
|
41
|
+
const words = str.split(' ');
|
42
|
+
const newWords = [];
|
43
|
+
for (let i = 0, length = words.length; i < length; i++) {
|
44
|
+
const word = words[i].toLowerCase();
|
45
|
+
newWords.push(word.substring(0, 1).toUpperCase() + word.substring(1));
|
46
|
+
}
|
47
|
+
return newWords.join(' ');
|
48
|
+
}
|
49
|
+
export function getTransformedText(text, textTransform) {
|
50
|
+
if (!text || !isString(text)) {
|
51
|
+
return '';
|
52
|
+
}
|
53
|
+
switch (textTransform) {
|
54
|
+
case 'uppercase':
|
55
|
+
return text.toUpperCase();
|
56
|
+
case 'lowercase':
|
57
|
+
return text.toLowerCase();
|
58
|
+
case 'capitalize':
|
59
|
+
return getCapitalizedString(text);
|
60
|
+
case 'none':
|
61
|
+
default:
|
62
|
+
return text;
|
63
|
+
}
|
64
|
+
}
|
40
65
|
export const cssProperty = (target, key) => {
|
41
66
|
// property getter
|
42
67
|
const getter = function () {
|
@@ -267,120 +292,28 @@ export function overrideSpanAndFormattedString(useLightFormatString = true) {
|
|
267
292
|
};
|
268
293
|
//@ts-ignore
|
269
294
|
TextBase.prototype.setFormattedTextDecorationAndTransform = function () {
|
295
|
+
const nativeView = this.nativeTextViewProtected;
|
270
296
|
const attrText = this.createFormattedTextNative(this.formattedText);
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
if (this.style.lineHeight) {
|
275
|
-
const paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
276
|
-
paragraphStyle.minimumLineHeight = this.lineHeight;
|
277
|
-
// make sure a possible previously set text alignment setting is not lost when line height is specified
|
278
|
-
if (this.nativeTextViewProtected instanceof UIButton) {
|
279
|
-
paragraphStyle.alignment = this.nativeTextViewProtected.titleLabel.textAlignment;
|
280
|
-
}
|
281
|
-
else {
|
282
|
-
paragraphStyle.alignment = this.nativeTextViewProtected.textAlignment;
|
283
|
-
}
|
284
|
-
if (this.nativeTextViewProtected instanceof UILabel) {
|
285
|
-
// make sure a possible previously set line break mode is not lost when line height is specified
|
286
|
-
paragraphStyle.lineBreakMode = this.nativeTextViewProtected.lineBreakMode;
|
287
|
-
}
|
288
|
-
attrText.addAttributeValueRange(NSParagraphStyleAttributeName, paragraphStyle, { location: 0, length: attrText.length });
|
289
|
-
}
|
290
|
-
else if (this.nativeTextViewProtected instanceof UITextView) {
|
291
|
-
const paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
292
|
-
paragraphStyle.alignment = this.nativeTextViewProtected.textAlignment;
|
293
|
-
attrText.addAttributeValueRange(NSParagraphStyleAttributeName, paragraphStyle, { location: 0, length: attrText.length });
|
294
|
-
}
|
295
|
-
if (this.nativeTextViewProtected instanceof UIButton) {
|
296
|
-
this.nativeTextViewProtected.setAttributedTitleForState(attrText, 0 /* UIControlState.Normal */);
|
297
|
-
}
|
298
|
-
else {
|
299
|
-
if (majorVersion >= 13 && UIColor.labelColor) {
|
300
|
-
this.nativeTextViewProtected.textColor = UIColor.labelColor;
|
301
|
-
}
|
302
|
-
this.nativeTextViewProtected.attributedText = attrText;
|
297
|
+
// we override parent class behavior because we apply letterSpacing and lineHeight on a per Span basis
|
298
|
+
if (majorVersion >= 13 && UIColor.labelColor) {
|
299
|
+
this.nativeTextViewProtected.textColor = UIColor.labelColor;
|
303
300
|
}
|
301
|
+
nativeView.attributedText = attrText;
|
304
302
|
};
|
305
303
|
//@ts-ignore
|
306
304
|
TextBase.prototype.setTextDecorationAndTransform = function () {
|
307
305
|
const style = this.style;
|
308
|
-
const
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
case 'line-through':
|
316
|
-
dict.set(NSStrikethroughStyleAttributeName, 1 /* NSUnderlineStyle.Single */);
|
317
|
-
break;
|
318
|
-
case 'underline line-through':
|
319
|
-
dict.set(NSUnderlineStyleAttributeName, 1 /* NSUnderlineStyle.Single */);
|
320
|
-
dict.set(NSStrikethroughStyleAttributeName, 1 /* NSUnderlineStyle.Single */);
|
321
|
-
break;
|
322
|
-
default:
|
323
|
-
throw new Error(`Invalid text decoration value: ${style.textDecoration}. Valid values are: 'none', 'underline', 'line-through', 'underline line-through'.`);
|
324
|
-
}
|
325
|
-
if (style.letterSpacing !== 0 && this.nativeTextViewProtected.font) {
|
326
|
-
const kern = style.letterSpacing * this.nativeTextViewProtected.font.pointSize;
|
327
|
-
dict.set(NSKernAttributeName, kern);
|
328
|
-
if (this.nativeTextViewProtected instanceof UITextField) {
|
329
|
-
this.nativeTextViewProtected.defaultTextAttributes.setValueForKey(kern, NSKernAttributeName);
|
330
|
-
}
|
331
|
-
}
|
332
|
-
const isTextView = this.nativeTextViewProtected instanceof UITextView;
|
333
|
-
if (style.lineHeight) {
|
334
|
-
const paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
335
|
-
paragraphStyle.lineSpacing = style.lineHeight;
|
336
|
-
// make sure a possible previously set text alignment setting is not lost when line height is specified
|
337
|
-
if (this.nativeTextViewProtected instanceof UIButton) {
|
338
|
-
paragraphStyle.alignment = this.nativeTextViewProtected.titleLabel.textAlignment;
|
339
|
-
}
|
340
|
-
else {
|
341
|
-
paragraphStyle.alignment = this.nativeTextViewProtected.textAlignment;
|
342
|
-
}
|
343
|
-
if (this.nativeTextViewProtected instanceof UILabel) {
|
344
|
-
// make sure a possible previously set line break mode is not lost when line height is specified
|
345
|
-
paragraphStyle.lineBreakMode = this.nativeTextViewProtected.lineBreakMode;
|
346
|
-
}
|
347
|
-
dict.set(NSParagraphStyleAttributeName, paragraphStyle);
|
348
|
-
}
|
349
|
-
else if (isTextView) {
|
350
|
-
const paragraphStyle = NSMutableParagraphStyle.alloc().init();
|
351
|
-
paragraphStyle.alignment = this.nativeTextViewProtected.textAlignment;
|
352
|
-
dict.set(NSParagraphStyleAttributeName, paragraphStyle);
|
353
|
-
}
|
354
|
-
const source = getTransformedText(isNullOrUndefined(this.text) ? '' : `${this.text}`, this.textTransform);
|
355
|
-
if (dict.size > 0 || isTextView) {
|
356
|
-
if (isTextView && this.nativeTextViewProtected.font) {
|
357
|
-
// UITextView's font seems to change inside.
|
358
|
-
dict.set(NSFontAttributeName, this.nativeTextViewProtected.font);
|
359
|
-
}
|
360
|
-
const result = NSMutableAttributedString.alloc().initWithString(source);
|
361
|
-
result.setAttributesRange(dict, {
|
362
|
-
location: 0,
|
363
|
-
length: source.length
|
364
|
-
});
|
365
|
-
if (this.nativeTextViewProtected instanceof UIButton) {
|
366
|
-
this.nativeTextViewProtected.setAttributedTitleForState(result, 0 /* UIControlState.Normal */);
|
367
|
-
}
|
368
|
-
else {
|
369
|
-
this.nativeTextViewProtected.attributedText = result;
|
370
|
-
}
|
371
|
-
}
|
372
|
-
else {
|
373
|
-
if (this.nativeTextViewProtected instanceof UIButton) {
|
374
|
-
// Clear attributedText or title won't be affected.
|
375
|
-
this.nativeTextViewProtected.setAttributedTitleForState(null, 0 /* UIControlState.Normal */);
|
376
|
-
this.nativeTextViewProtected.setTitleForState(source, 0 /* UIControlState.Normal */);
|
377
|
-
}
|
378
|
-
else {
|
379
|
-
// Clear attributedText or text won't be affected.
|
380
|
-
this.nativeTextViewProtected.attributedText = undefined;
|
381
|
-
this.nativeTextViewProtected.text = source;
|
306
|
+
const letterSpacing = style.letterSpacing ?? 0;
|
307
|
+
const lineHeight = style.lineHeight ?? -1;
|
308
|
+
let uiColor;
|
309
|
+
if (style.color) {
|
310
|
+
const color = !style.color || style.color instanceof Color ? style.color : new Color(style.color);
|
311
|
+
if (color) {
|
312
|
+
uiColor = color.ios;
|
382
313
|
}
|
383
314
|
}
|
315
|
+
const text = getTransformedText(isNullOrUndefined(this.text) ? '' : `${this.text}`, this.textTransform);
|
316
|
+
NSTextUtils.setTextDecorationAndTransformOnViewTextTextDecorationLetterSpacingLineHeightColor(this.nativeTextViewProtected, text, this.style.textDecoration || '', letterSpacing, lineHeight, uiColor);
|
384
317
|
if (!style.color && majorVersion >= 13 && UIColor.labelColor) {
|
385
318
|
this._setColor(UIColor.labelColor);
|
386
319
|
}
|
package/index-common.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index-common.js","sourceRoot":"../src/","sources":["index-common.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index-common.js","sourceRoot":"../src/","sources":["index-common.ts"],"names":[],"mappings":"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"}
|
package/index.android.d.ts
CHANGED
@@ -29,4 +29,4 @@ export declare function createNativeAttributedString(data: {
|
|
29
29
|
linkDecoration?: string;
|
30
30
|
textAlignment?: number | CoreTypes.TextAlignmentType;
|
31
31
|
} | FormattedString | ObjectSpans, parent?: ViewBase, autoFontSizeEnabled?: boolean, fontSizeRatio?: number): any;
|
32
|
-
export declare function createSpannable(span: any, parentView: any, parent?: any, maxFontSize?: number):
|
32
|
+
export declare function createSpannable(span: any, parentView: any, parent?: any, maxFontSize?: number): void;
|
package/index.android.js
CHANGED
@@ -4,32 +4,36 @@ import { getTransformedText, textDecorationProperty } from '@nativescript/core/u
|
|
4
4
|
import { LightFormattedString } from './index-common';
|
5
5
|
export * from './index-common';
|
6
6
|
function formattedStringToNativeString(formattedString) {
|
7
|
-
|
7
|
+
const parentView = formattedString.parent;
|
8
|
+
let maxFontSize = formattedString?.fontSize || parentView?.fontSize || 0;
|
8
9
|
formattedString.spans.forEach((s) => {
|
9
10
|
if (s.fontSize) {
|
10
11
|
maxFontSize = Math.max(maxFontSize, s.fontSize);
|
11
12
|
}
|
12
13
|
});
|
13
14
|
const options = [];
|
14
|
-
formattedString.spans.forEach((s) => {
|
15
|
-
|
16
|
-
|
15
|
+
formattedString.spans.forEach((s, index) => {
|
16
|
+
const spanDetails = spanToNativeString(s, s.parent, parentView, maxFontSize, index);
|
17
|
+
if (spanDetails) {
|
18
|
+
options.push(spanDetails);
|
17
19
|
}
|
18
20
|
});
|
19
21
|
return `[${options.join(',')}]`;
|
20
22
|
}
|
21
|
-
function spanToNativeString(span, maxFontSize) {
|
22
|
-
|
23
|
-
|
23
|
+
function spanToNativeString(span, parent, parentView, maxFontSize, index = -1) {
|
24
|
+
let text = span.text;
|
25
|
+
if (!text || (span.visibility && span.visibility !== 'visible')) {
|
26
|
+
return null;
|
27
|
+
}
|
24
28
|
const spanStyle = span.style;
|
25
|
-
const textTransform = span.textTransform ||
|
29
|
+
const textTransform = span.textTransform || parentView?.textTransform;
|
26
30
|
let fontWeight = span.fontWeight;
|
27
31
|
let fontStyle = span.fontStyle;
|
28
32
|
let fontFamily = span.fontFamily;
|
29
33
|
if (fontFamily || (fontWeight && fontWeight !== 'normal') || fontStyle) {
|
30
|
-
fontFamily = fontFamily || (parent && parent.fontFamily) || (
|
31
|
-
fontWeight = fontWeight || (parent && parent.fontWeight) || (
|
32
|
-
fontStyle = fontStyle || (parent && parent.fontStyle) || (
|
34
|
+
fontFamily = fontFamily || (parent && parent.fontFamily) || (parentView && parentView.fontFamily);
|
35
|
+
fontWeight = fontWeight || (parent && parent.fontWeight) || (parentView && parentView.fontWeight);
|
36
|
+
fontStyle = fontStyle || (parent && parent.fontStyle) || (parentView && parentView.fontStyle);
|
33
37
|
}
|
34
38
|
let textDecoration;
|
35
39
|
if (spanStyle && textDecorationProperty.isSet(spanStyle)) {
|
@@ -42,18 +46,17 @@ function spanToNativeString(span, maxFontSize) {
|
|
42
46
|
// span.parent is FormattedString
|
43
47
|
textDecoration = parent?.textDecoration;
|
44
48
|
}
|
45
|
-
else if (!!
|
49
|
+
else if (!!parentView && textDecorationProperty.isSet(parentView?.style)) {
|
46
50
|
// span.parent.parent is TextBase
|
47
|
-
textDecoration =
|
51
|
+
textDecoration = parentView?.style.textDecoration;
|
48
52
|
}
|
49
|
-
const textAlignment = span.textAlignment || (parent && parent.textAlignment) || (
|
53
|
+
const textAlignment = span.textAlignment || (parent && parent.textAlignment) || (parentView && parentView.textAlignment);
|
50
54
|
const verticalTextAlignment = span.verticalAlignment || parent?.verticalAlignment;
|
51
55
|
// We CANT use parent verticalTextAlignment. Else it would break line height
|
52
56
|
// for multiple line text you want centered in the View
|
53
57
|
// if (!verticalTextAlignment || verticalTextAlignment === 'stretch') {
|
54
|
-
// verticalTextAlignment =
|
58
|
+
// verticalTextAlignment = parentView?.verticalTextAlignment;
|
55
59
|
// }
|
56
|
-
let text = span.text;
|
57
60
|
if (text && textTransform != null && textTransform !== 'none') {
|
58
61
|
text = getTransformedText(text, textTransform);
|
59
62
|
}
|
@@ -74,6 +77,7 @@ function spanToNativeString(span, maxFontSize) {
|
|
74
77
|
fontStyle: fontStyle !== 'normal' ? fontStyle : undefined,
|
75
78
|
textDecoration,
|
76
79
|
textAlignment,
|
80
|
+
tapIndex: span._tappable && index !== -1 ? index : undefined,
|
77
81
|
maxFontSize: maxFontSize ? maxFontSize * density : undefined,
|
78
82
|
relativeSize: span.relativeSize,
|
79
83
|
verticalTextAlignment,
|
@@ -154,167 +158,143 @@ export function init() {
|
|
154
158
|
}
|
155
159
|
});
|
156
160
|
Span.prototype.toNativeString = function (maxFontSize) {
|
157
|
-
|
161
|
+
const parent = this.parent;
|
162
|
+
const grandParent = parent?.parent;
|
163
|
+
return spanToNativeString(this, parent, grandParent, maxFontSize);
|
158
164
|
};
|
159
165
|
}
|
160
166
|
function isBold(fontWeight) {
|
161
167
|
return fontWeight === 'bold' || fontWeight === '700' || fontWeight === '800' || fontWeight === '900';
|
162
168
|
}
|
163
|
-
// type BaselineAdjustedSpan = new (fontSize, align: string, maxFontSize) => android.text.style.MetricAffectingSpan;
|
164
|
-
// // eslint-disable-next-line no-redeclare
|
165
|
-
// let BaselineAdjustedSpan: BaselineAdjustedSpan;
|
166
|
-
// function initializeBaselineAdjustedSpan(): void {
|
167
|
-
// if (BaselineAdjustedSpan) {
|
168
|
-
// return;
|
169
|
-
// }
|
170
|
-
// @NativeClass
|
171
|
-
// class BaselineAdjustedSpanImpl extends android.text.style.CharacterStyle {
|
172
|
-
// align: string = 'baseline';
|
173
|
-
// maxFontSize: number;
|
174
|
-
// constructor(private fontSize, align: string, maxFontSize) {
|
175
|
-
// super();
|
176
|
-
// this.align = align;
|
177
|
-
// this.maxFontSize = maxFontSize;
|
178
|
-
// }
|
179
|
-
// updateDrawState(paint: android.text.TextPaint) {
|
180
|
-
// this.updateState(paint);
|
181
|
-
// }
|
182
|
-
// updateState(paint: android.text.TextPaint) {
|
183
|
-
// const fontSize = this.fontSize;
|
184
|
-
// paint.setTextSize(fontSize);
|
185
|
-
// const metrics = paint.getFontMetrics();
|
186
|
-
// let result = computeBaseLineOffset(this.align, metrics.ascent, metrics.descent, metrics.bottom, metrics.top, fontSize, this.maxFontSize);
|
187
|
-
// result += metrics.bottom;
|
188
|
-
// paint.baselineShift = result;
|
189
|
-
// }
|
190
|
-
// }
|
191
|
-
// BaselineAdjustedSpan = BaselineAdjustedSpanImpl as any;
|
192
|
-
// }
|
193
169
|
export function createNativeAttributedString(data, parent, autoFontSizeEnabled = false, fontSizeRatio = 1 // used only on iOS
|
194
170
|
) {
|
195
171
|
if (!context) {
|
196
172
|
init();
|
197
173
|
}
|
198
174
|
if (data instanceof FormattedString || data instanceof LightFormattedString || data.hasOwnProperty('spans')) {
|
199
|
-
return com.nativescript.text.Font.stringBuilderFromFormattedString(context, fontPath, parent?.['fontFamily'] || null, formattedStringToNativeString(data));
|
175
|
+
return com.nativescript.text.Font.stringBuilderFromFormattedString(context, fontPath, parent?.['fontFamily'] || null, formattedStringToNativeString(data), null);
|
200
176
|
}
|
201
|
-
const
|
177
|
+
const linkColor = parent?.['linkColor'];
|
178
|
+
const aLinkColor = linkColor ? android.graphics.Color.valueOf((linkColor instanceof Color ? linkColor : new Color(linkColor)).android) : null;
|
179
|
+
const result = com.nativescript.text.Font.stringBuilderFromHtmlString(context, fontPath, parent?.['fontFamily'] || null, data.text, parent?.['linkUnderline'] === false, aLinkColor);
|
202
180
|
return result;
|
203
181
|
}
|
204
|
-
let lineSeparator;
|
205
|
-
let Style;
|
206
|
-
let Spanned;
|
207
182
|
export function createSpannable(span, parentView, parent, maxFontSize) {
|
208
|
-
|
209
|
-
if (
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
let fontStyle = span.fontStyle;
|
215
|
-
let fontFamily = span.fontFamily;
|
216
|
-
const color = span.color;
|
217
|
-
const textDecorations = span.textDecoration || (parent && parent.textDecoration);
|
218
|
-
const backgroundcolor = span.backgroundColor || (parent && parent.backgroundColor);
|
219
|
-
const verticalTextAlignment = span.verticalTextAlignment;
|
220
|
-
const letterSpacing = span.letterSpacing || (parent && parent.letterSpacing);
|
221
|
-
const lineHeight = span.lineHeight || (parent && parent.lineHeight);
|
222
|
-
const realMaxFontSize = Math.max(maxFontSize, parentView.fontSize || 0);
|
223
|
-
if (typeof text === 'boolean' || typeof text === 'number') {
|
224
|
-
text = text.toString();
|
225
|
-
}
|
226
|
-
const textTransform = span.textTransform || (parent && parent.textTransform);
|
227
|
-
if (textTransform) {
|
228
|
-
text = getTransformedText(text, textTransform);
|
229
|
-
}
|
230
|
-
if (typeof text === 'string') {
|
231
|
-
if (text.indexOf('\n') !== -1) {
|
232
|
-
if (!lineSeparator) {
|
233
|
-
lineSeparator = java.lang.System.getProperty('line.separator');
|
234
|
-
}
|
235
|
-
text = text.replace(/\\n/g, lineSeparator);
|
183
|
+
const details = spanToNativeString(span, parent, parentView, maxFontSize);
|
184
|
+
if (details) {
|
185
|
+
const ssb = (span._ssb = com.nativescript.text.Font.stringBuilderFromFormattedString(context, fontPath, parentView?.['fontFamily'] || null, `[${details}]`, span._ssb));
|
186
|
+
if (span.tappable) {
|
187
|
+
initializeClickableSpan();
|
188
|
+
ssb.setSpan(new ClickableSpan(span), 0, length, android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
236
189
|
}
|
237
190
|
}
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
span._ssb = ssb = new android.text.SpannableStringBuilder(text);
|
242
|
-
}
|
243
|
-
else {
|
244
|
-
ssb.clear();
|
245
|
-
ssb.clearSpans();
|
246
|
-
ssb.append(text);
|
247
|
-
}
|
248
|
-
if (!Style) {
|
249
|
-
Style = android.text.style;
|
250
|
-
}
|
251
|
-
if (!Spanned) {
|
252
|
-
Spanned = android.text.Spanned;
|
253
|
-
}
|
254
|
-
const bold = isBold(fontWeight);
|
255
|
-
const italic = fontStyle === 'italic';
|
256
|
-
// if (getSDK() < 28) {
|
257
|
-
if (bold && italic) {
|
258
|
-
ssb.setSpan(new Style.StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
259
|
-
}
|
260
|
-
else if (bold) {
|
261
|
-
ssb.setSpan(new Style.StyleSpan(android.graphics.Typeface.BOLD), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
262
|
-
}
|
263
|
-
else if (italic) {
|
264
|
-
ssb.setSpan(new Style.StyleSpan(android.graphics.Typeface.ITALIC), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
265
|
-
}
|
191
|
+
// let text = span.text;
|
192
|
+
// if (!text || (span.visibility && span.visibility !== 'visible')) {
|
193
|
+
// return null;
|
266
194
|
// }
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
}
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
if (
|
288
|
-
|
289
|
-
}
|
290
|
-
|
291
|
-
|
292
|
-
}
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
}
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
}
|
318
|
-
|
195
|
+
// const fontSize = span.fontSize;
|
196
|
+
// let fontWeight = span.fontWeight;
|
197
|
+
// let fontStyle = span.fontStyle;
|
198
|
+
// let fontFamily = span.fontFamily;
|
199
|
+
// const color = span.color;
|
200
|
+
// const textDecorations = span.textDecoration || (parent && parent.textDecoration);
|
201
|
+
// const backgroundcolor = span.backgroundColor || (parent && parent.backgroundColor);
|
202
|
+
// const verticalTextAlignment = span.verticalTextAlignment;
|
203
|
+
// const letterSpacing = span.letterSpacing || (parent && parent.letterSpacing);
|
204
|
+
// const lineHeight = span.lineHeight || (parent && parent.lineHeight);
|
205
|
+
// const realMaxFontSize = Math.max(maxFontSize, parentView.fontSize || 0);
|
206
|
+
// if (typeof text === 'boolean' || typeof text === 'number') {
|
207
|
+
// text = text.toString();
|
208
|
+
// }
|
209
|
+
// const textTransform = span.textTransform || (parent && parent.textTransform);
|
210
|
+
// if (textTransform) {
|
211
|
+
// text = getTransformedText(text, textTransform);
|
212
|
+
// }
|
213
|
+
// if (typeof text === 'string') {
|
214
|
+
// if (text.indexOf('\n') !== -1) {
|
215
|
+
// if (!lineSeparator) {
|
216
|
+
// lineSeparator = java.lang.System.getProperty('line.separator');
|
217
|
+
// }
|
218
|
+
// text = text.replace(/\\n/g, lineSeparator);
|
219
|
+
// }
|
220
|
+
// }
|
221
|
+
// const length = typeof text.length === 'function' ? text.length() : text.length;
|
222
|
+
// let ssb = span._ssb;
|
223
|
+
// if (!ssb) {
|
224
|
+
// span._ssb = ssb = new android.text.SpannableStringBuilder(text);
|
225
|
+
// } else {
|
226
|
+
// ssb.clear();
|
227
|
+
// ssb.clearSpans();
|
228
|
+
// ssb.append(text);
|
229
|
+
// }
|
230
|
+
// if (!Style) {
|
231
|
+
// Style = android.text.style;
|
232
|
+
// }
|
233
|
+
// if (!Spanned) {
|
234
|
+
// Spanned = android.text.Spanned;
|
235
|
+
// }
|
236
|
+
// const bold = isBold(fontWeight);
|
237
|
+
// const italic = fontStyle === 'italic';
|
238
|
+
// // if (getSDK() < 28) {
|
239
|
+
// if (bold && italic) {
|
240
|
+
// ssb.setSpan(new Style.StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
241
|
+
// } else if (bold) {
|
242
|
+
// ssb.setSpan(new Style.StyleSpan(android.graphics.Typeface.BOLD), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
243
|
+
// } else if (italic) {
|
244
|
+
// ssb.setSpan(new Style.StyleSpan(android.graphics.Typeface.ITALIC), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
245
|
+
// }
|
246
|
+
// // }
|
247
|
+
// if (fontFamily || fontWeight || fontStyle) {
|
248
|
+
// fontFamily = fontFamily || (parent && parent.fontFamily) || (parentView && parentView.fontFamily);
|
249
|
+
// fontWeight = fontWeight || (parent && parent.fontWeight) || (parentView && parentView.fontWeight);
|
250
|
+
// fontStyle = fontWeight || (parent && parent.fontStyle) || (parentView && parentView.fontStyle);
|
251
|
+
// const fontCacheKey = fontFamily + fontWeight + fontStyle;
|
252
|
+
// let typeface = typefaceCache[fontCacheKey];
|
253
|
+
// if (!typeface) {
|
254
|
+
// // for now we dont handle CSpan (from @nativescript-community/ui-canvaslabel)
|
255
|
+
// const font = new Font(fontFamily, 10, fontStyle, fontWeight);
|
256
|
+
// typeface = typefaceCache[fontCacheKey] = font.getAndroidTypeface();
|
257
|
+
// }
|
258
|
+
// const typefaceSpan = new com.nativescript.text.CustomTypefaceSpan(fontFamily, typeface);
|
259
|
+
// ssb.setSpan(typefaceSpan, 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
260
|
+
// }
|
261
|
+
// if (verticalTextAlignment && verticalTextAlignment !== 'initial') {
|
262
|
+
// ssb.setSpan(new com.nativescript.text.BaselineAdjustedSpan(fontSize, verticalTextAlignment, realMaxFontSize as any), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
263
|
+
// }
|
264
|
+
// if (fontSize) {
|
265
|
+
// ssb.setSpan(new Style.AbsoluteSizeSpan(fontSize), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
266
|
+
// }
|
267
|
+
// if (span.relativeSize) {
|
268
|
+
// ssb.setSpan(new Style.RelativeSizeSpan(span.relativeSize), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
269
|
+
// }
|
270
|
+
// if (letterSpacing) {
|
271
|
+
// ssb.setSpan(new Style.ScaleXSpan((letterSpacing + 1) / 10), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
272
|
+
// }
|
273
|
+
// if (lineHeight !== undefined) {
|
274
|
+
// ssb.setSpan(new com.nativescript.text.HeightSpan(lineHeight), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
275
|
+
// }
|
276
|
+
// if (color) {
|
277
|
+
// const ncolor = color instanceof Color ? color : new Color(color);
|
278
|
+
// ssb.setSpan(new Style.ForegroundColorSpan(ncolor.android), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
279
|
+
// }
|
280
|
+
// if (backgroundcolor) {
|
281
|
+
// const color = backgroundcolor instanceof Color ? backgroundcolor : new Color(backgroundcolor);
|
282
|
+
// ssb.setSpan(new Style.BackgroundColorSpan(color.android), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
283
|
+
// }
|
284
|
+
// if (textDecorations) {
|
285
|
+
// const underline = textDecorations.indexOf('underline') !== -1;
|
286
|
+
// if (underline) {
|
287
|
+
// ssb.setSpan(new Style.UnderlineSpan(), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
288
|
+
// }
|
289
|
+
// const strikethrough = textDecorations.indexOf('line-through') !== -1;
|
290
|
+
// if (strikethrough) {
|
291
|
+
// ssb.setSpan(new Style.StrikethroughSpan(), 0, length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
292
|
+
// }
|
293
|
+
// }
|
294
|
+
// if (span.tappable) {
|
295
|
+
// initializeClickableSpan();
|
296
|
+
// ssb.setSpan(new ClickableSpan(span), 0, length, android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
297
|
+
// }
|
298
|
+
// return ssb;
|
319
299
|
}
|
320
300
|
//# sourceMappingURL=index.android.js.map
|