@flighthq/text 0.1.0 → 0.2.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.
- package/dist/nativeText.d.ts +2 -1
- package/dist/nativeText.d.ts.map +1 -1
- package/dist/nativeText.js +12 -0
- package/dist/nativeText.js.map +1 -1
- package/dist/richText.d.ts +3 -4
- package/dist/richText.d.ts.map +1 -1
- package/dist/richText.js +26 -15
- package/dist/richText.js.map +1 -1
- package/dist/textLabel.d.ts +2 -1
- package/dist/textLabel.d.ts.map +1 -1
- package/dist/textLabel.js +25 -2
- package/dist/textLabel.js.map +1 -1
- package/package.json +13 -8
- package/src/nativeText.test.ts +26 -1
- package/src/richText.test.ts +56 -53
- package/src/textLabel.test.ts +33 -2
package/dist/nativeText.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NativeText, NativeTextData, NativeTextRuntime, NativeTextStyle, Node, PartialNode, Rectangle, TextAutoSize } from '@flighthq/types';
|
|
1
|
+
import type { NativeText, NativeTextData, NativeTextRuntime, NativeTextStyle, Node, PartialNode, Rectangle, TextAutoSize, TextVerticalAlign } from '@flighthq/types';
|
|
2
2
|
export declare function computeNativeTextLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
3
3
|
export declare function createNativeText(obj?: Readonly<PartialNode<NativeText>>): NativeText;
|
|
4
4
|
export declare function createNativeTextData(data?: Readonly<Partial<NativeTextData>>): NativeTextData;
|
|
@@ -13,5 +13,6 @@ export declare function setNativeTextAutoSize(source: NativeText, value: TextAut
|
|
|
13
13
|
export declare function setNativeTextHeight(source: NativeText, value: number): void;
|
|
14
14
|
export declare function setNativeTextString(source: NativeText, value: string): void;
|
|
15
15
|
export declare function setNativeTextStyle(source: NativeText, value: NativeTextStyle): void;
|
|
16
|
+
export declare function setNativeTextVerticalAlign(source: NativeText, value: TextVerticalAlign): void;
|
|
16
17
|
export declare function setNativeTextWidth(source: NativeText, value: number): void;
|
|
17
18
|
//# sourceMappingURL=nativeText.d.ts.map
|
package/dist/nativeText.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeText.d.ts","sourceRoot":"","sources":["../src/nativeText.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,
|
|
1
|
+
{"version":3,"file":"nativeText.d.ts","sourceRoot":"","sources":["../src/nativeText.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAWzB,wBAAgB,qCAAqC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAalG;AAED,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAEpF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAS7F;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAM3D;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAEhF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAE/E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAE9F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAExE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAE1F;AAID,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,CAIxG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAMnF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM3E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM3E;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAInF;AAMD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAK7F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM1E"}
|
package/dist/nativeText.js
CHANGED
|
@@ -31,6 +31,7 @@ export function createNativeTextData(data) {
|
|
|
31
31
|
height: data?.height ?? 100,
|
|
32
32
|
style: data?.style ?? {},
|
|
33
33
|
text: data?.text ?? '',
|
|
34
|
+
verticalAlign: data?.verticalAlign ?? 'top',
|
|
34
35
|
width: data?.width ?? 100,
|
|
35
36
|
};
|
|
36
37
|
}
|
|
@@ -94,6 +95,17 @@ export function setNativeTextStyle(source, value) {
|
|
|
94
95
|
invalidateNodeLocalContent(source);
|
|
95
96
|
invalidateNodeLocalBounds(source);
|
|
96
97
|
}
|
|
98
|
+
// Vertical alignment repositions the text block within the (unchanged) height box, so it invalidates
|
|
99
|
+
// only the content revision — the field's bounds are the fixed width/height box and do not move.
|
|
100
|
+
// Mirrors setTextLabelVerticalAlign; inert under autoSize (the DOM renderer only applies it to a fixed
|
|
101
|
+
// box).
|
|
102
|
+
export function setNativeTextVerticalAlign(source, value) {
|
|
103
|
+
const data = source.data;
|
|
104
|
+
if (data.verticalAlign === value)
|
|
105
|
+
return;
|
|
106
|
+
data.verticalAlign = value;
|
|
107
|
+
invalidateNodeLocalContent(source);
|
|
108
|
+
}
|
|
97
109
|
export function setNativeTextWidth(source, value) {
|
|
98
110
|
const data = source.data;
|
|
99
111
|
if (data.width === value)
|
package/dist/nativeText.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeText.js","sourceRoot":"","sources":["../src/nativeText.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"nativeText.js","sourceRoot":"","sources":["../src/nativeText.ts"],"names":[],"mappings":"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"}
|
package/dist/richText.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node, PartialNode, Rectangle, RichText, RichTextData, RichTextRuntime,
|
|
1
|
+
import type { Node, PartialNode, Rectangle, RichText, RichTextContent, RichTextData, RichTextRuntime, TextFieldSignals, TextFormat, TextFormatRange, TextLabel, TextLayoutParams, TextLayoutResult, TextLineMetrics, TextMeasureFunction, TextVerticalAlign } from '@flighthq/types';
|
|
2
2
|
export declare function appendRichTextString(source: RichText, value: string): void;
|
|
3
3
|
export declare function buildRichTextLayoutParams(source: Readonly<TextLabel>, measure: TextMeasureFunction): TextLayoutParams;
|
|
4
4
|
export declare function clearRichTextFormatRanges(source: RichText): void;
|
|
@@ -17,7 +17,6 @@ export declare function getRichTextFormatRangeAt(out: TextFormat, source: Readon
|
|
|
17
17
|
export declare function getRichTextFormatRangeByIndex(out: TextFormatRange, source: Readonly<RichText>, i: number): boolean;
|
|
18
18
|
export declare function getRichTextFormatRangeCount(source: Readonly<RichText>): number;
|
|
19
19
|
export declare function getRichTextFormatRangesIn(out: TextFormatRange[], source: Readonly<RichText>, beginIndex: number, endIndex: number): void;
|
|
20
|
-
export declare function getRichTextHtml(source: Readonly<RichText>): string;
|
|
21
20
|
export declare function getRichTextLength(source: Readonly<RichText>): number;
|
|
22
21
|
export declare function getRichTextLineCount(source: Readonly<RichText>): number;
|
|
23
22
|
export declare function getRichTextLineMetrics(source: Readonly<RichText>, lineIndex: number): Readonly<TextLineMetrics> | null;
|
|
@@ -37,10 +36,10 @@ export declare function setRichTextBackgroundColor(source: RichText, value: numb
|
|
|
37
36
|
export declare function setRichTextBorder(source: RichText, value: boolean): void;
|
|
38
37
|
export declare function setRichTextBorderColor(source: RichText, value: number): void;
|
|
39
38
|
export declare function setRichTextCondenseWhite(source: RichText, value: boolean): void;
|
|
39
|
+
export declare function setRichTextContent(source: RichText, content: Readonly<RichTextContent>): void;
|
|
40
40
|
export declare function setRichTextDefaultTextFormat(source: RichText, value: TextFormat): void;
|
|
41
41
|
export declare function setRichTextFormatRange(source: RichText, format: TextFormat, start?: number, end?: number): void;
|
|
42
42
|
export declare function setRichTextHeight(source: RichText, value: number): void;
|
|
43
|
-
export declare function setRichTextHtml(source: RichText, value: string): void;
|
|
44
43
|
export declare function setRichTextMaxChars(source: RichText, value: number): void;
|
|
45
44
|
export declare function setRichTextMouseWheelEnabled(source: RichText, value: boolean): void;
|
|
46
45
|
export declare function setRichTextMultiline(source: RichText, value: boolean): void;
|
|
@@ -48,8 +47,8 @@ export declare function setRichTextScrollH(source: RichText, value: number, layo
|
|
|
48
47
|
export declare function setRichTextScrollV(source: RichText, value: number, layout?: Readonly<TextLayoutResult>): void;
|
|
49
48
|
export declare function setRichTextSelectable(source: RichText, value: boolean): void;
|
|
50
49
|
export declare function setRichTextString(source: RichText, value: string): void;
|
|
51
|
-
export declare function setRichTextStyleSheet(source: RichText, value: RichTextStyleSheet | null): void;
|
|
52
50
|
export declare function setRichTextTextColor(source: RichText, value: number): void;
|
|
51
|
+
export declare function setRichTextVerticalAlign(source: RichText, value: TextVerticalAlign): void;
|
|
53
52
|
export declare function setRichTextWidth(source: RichText, value: number): void;
|
|
54
53
|
export declare function setRichTextWordWrap(source: RichText, value: boolean): void;
|
|
55
54
|
//# sourceMappingURL=richText.d.ts.map
|
package/dist/richText.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"richText.d.ts","sourceRoot":"","sources":["../src/richText.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAEV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,eAAe,
|
|
1
|
+
{"version":3,"file":"richText.d.ts","sourceRoot":"","sources":["../src/richText.ts"],"names":[],"mappings":"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"}
|
package/dist/richText.js
CHANGED
|
@@ -28,6 +28,9 @@ export function buildRichTextLayoutParams(source, measure) {
|
|
|
28
28
|
measure,
|
|
29
29
|
multiline: data.multiline,
|
|
30
30
|
text: content.text,
|
|
31
|
+
// Vertical alignment only means something within a fixed-height box; an auto-fit field has no
|
|
32
|
+
// slack, so pass 'top' and leave the block at the content origin.
|
|
33
|
+
verticalAlign: data.autoSize === 'none' ? data.verticalAlign : 'top',
|
|
31
34
|
width: data.wordWrap ? data.width : 10000,
|
|
32
35
|
wordWrap: data.wordWrap,
|
|
33
36
|
};
|
|
@@ -76,14 +79,12 @@ export function createRichTextData(data) {
|
|
|
76
79
|
_data.width = data?.width ?? 100;
|
|
77
80
|
_data.condenseWhite = data?.condenseWhite ?? false;
|
|
78
81
|
_data.defaultTextFormat = data?.defaultTextFormat ?? {};
|
|
79
|
-
_data.htmlText = data?.htmlText ?? '';
|
|
80
82
|
_data.maxChars = data?.maxChars ?? -1;
|
|
81
83
|
_data.mouseWheelEnabled = data?.mouseWheelEnabled ?? true;
|
|
82
84
|
_data.multiline = data?.multiline ?? true;
|
|
83
85
|
_data.scrollH = data?.scrollH ?? 0;
|
|
84
86
|
_data.scrollV = data?.scrollV ?? 1;
|
|
85
87
|
_data.selectable = data?.selectable ?? true;
|
|
86
|
-
_data.styleSheet = data?.styleSheet ?? null;
|
|
87
88
|
_data.textColor = data?.textColor ?? 0;
|
|
88
89
|
_data.textFormatRanges = data?.textFormatRanges ? data.textFormatRanges.map((range) => ({ ...range })) : [];
|
|
89
90
|
_data.wordWrap = data?.wordWrap ?? false;
|
|
@@ -194,9 +195,6 @@ export function getRichTextFormatRangesIn(out, source, beginIndex, endIndex) {
|
|
|
194
195
|
out.push(range);
|
|
195
196
|
}
|
|
196
197
|
}
|
|
197
|
-
export function getRichTextHtml(source) {
|
|
198
|
-
return source.data.htmlText;
|
|
199
|
-
}
|
|
200
198
|
export function getRichTextLength(source) {
|
|
201
199
|
return source.data.text.length;
|
|
202
200
|
}
|
|
@@ -374,6 +372,20 @@ export function setRichTextCondenseWhite(source, value) {
|
|
|
374
372
|
source.data.condenseWhite = value;
|
|
375
373
|
invalidateRichTextContent(source);
|
|
376
374
|
}
|
|
375
|
+
// Populates the field from a resolved RichTextContent — the plain `text` plus its `formatRanges` —
|
|
376
|
+
// and invalidates. This is the explicit path for markup: the caller parses `htmlText`-subset markup
|
|
377
|
+
// with `parseTextMarkup(html)` from @flighthq/text-markup and hands the resulting content here, rather
|
|
378
|
+
// than assigning a markup string that the runtime silently parses. The format ranges are copied so the
|
|
379
|
+
// field does not alias the caller's array (mirroring createRichTextData). Password masking and the
|
|
380
|
+
// base default format still apply at layout, independent of how the content was produced.
|
|
381
|
+
export function setRichTextContent(source, content) {
|
|
382
|
+
const previousText = source.data.text;
|
|
383
|
+
source.data.text = content.text;
|
|
384
|
+
source.data.textFormatRanges = content.formatRanges.map((range) => ({ ...range }));
|
|
385
|
+
invalidateRichTextContent(source);
|
|
386
|
+
if (previousText !== content.text)
|
|
387
|
+
emitTextFieldChange(source, previousText);
|
|
388
|
+
}
|
|
377
389
|
export function setRichTextDefaultTextFormat(source, value) {
|
|
378
390
|
source.data.defaultTextFormat = value;
|
|
379
391
|
invalidateRichTextContent(source);
|
|
@@ -389,12 +401,6 @@ export function setRichTextHeight(source, value) {
|
|
|
389
401
|
invalidateNodeLocalContent(source);
|
|
390
402
|
invalidateNodeLocalBounds(source);
|
|
391
403
|
}
|
|
392
|
-
export function setRichTextHtml(source, value) {
|
|
393
|
-
if (source.data.htmlText === value)
|
|
394
|
-
return;
|
|
395
|
-
source.data.htmlText = value;
|
|
396
|
-
invalidateRichTextContent(source);
|
|
397
|
-
}
|
|
398
404
|
export function setRichTextMaxChars(source, value) {
|
|
399
405
|
if (source.data.maxChars === value)
|
|
400
406
|
return;
|
|
@@ -449,16 +455,21 @@ export function setRichTextString(source, value) {
|
|
|
449
455
|
if (previousText !== value)
|
|
450
456
|
emitTextFieldChange(source, previousText);
|
|
451
457
|
}
|
|
452
|
-
export function setRichTextStyleSheet(source, value) {
|
|
453
|
-
source.data.styleSheet = value;
|
|
454
|
-
invalidateRichTextContent(source);
|
|
455
|
-
}
|
|
456
458
|
export function setRichTextTextColor(source, value) {
|
|
457
459
|
if (source.data.textColor === value)
|
|
458
460
|
return;
|
|
459
461
|
source.data.textColor = value;
|
|
460
462
|
invalidateNodeLocalContent(source);
|
|
461
463
|
}
|
|
464
|
+
// Vertical alignment repositions the glyphs within the (unchanged) height box, so it invalidates only
|
|
465
|
+
// the content revision — the field's bounds are the fixed height/width box and do not move. Mirrors
|
|
466
|
+
// setRichTextTextColor's content-only invalidation.
|
|
467
|
+
export function setRichTextVerticalAlign(source, value) {
|
|
468
|
+
if (source.data.verticalAlign === value)
|
|
469
|
+
return;
|
|
470
|
+
source.data.verticalAlign = value;
|
|
471
|
+
invalidateNodeLocalContent(source);
|
|
472
|
+
}
|
|
462
473
|
export function setRichTextWidth(source, value) {
|
|
463
474
|
if (source.data.width === value)
|
|
464
475
|
return;
|
package/dist/richText.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"richText.js","sourceRoot":"","sources":["../src/richText.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"richText.js","sourceRoot":"","sources":["../src/richText.ts"],"names":[],"mappings":"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"}
|
package/dist/textLabel.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Node, PartialNode, Rectangle, TextAutoSize, TextFormat, TextLabel, TextLabelData, TextLabelRuntime } from '@flighthq/types';
|
|
1
|
+
import type { Node, PartialNode, Rectangle, TextAutoSize, TextFormat, TextLabel, TextLabelData, TextLabelRuntime, TextVerticalAlign } from '@flighthq/types';
|
|
2
2
|
export declare function appendTextLabelString(source: TextLabel, value: string): void;
|
|
3
3
|
export declare function computeTextLabelLocalBoundsRectangle(out: Rectangle, source: Readonly<Node>): void;
|
|
4
4
|
export declare function createTextLabel(obj?: Readonly<PartialNode<TextLabel>>): TextLabel;
|
|
@@ -11,5 +11,6 @@ export declare function setTextLabelAutoSize(source: TextLabel, value: TextAutoS
|
|
|
11
11
|
export declare function setTextLabelFormat(source: TextLabel, value: TextFormat): void;
|
|
12
12
|
export declare function setTextLabelHeight(source: TextLabel, value: number): void;
|
|
13
13
|
export declare function setTextLabelString(source: TextLabel, value: string): void;
|
|
14
|
+
export declare function setTextLabelVerticalAlign(source: TextLabel, value: TextVerticalAlign): void;
|
|
14
15
|
export declare function setTextLabelWidth(source: TextLabel, value: number): void;
|
|
15
16
|
//# sourceMappingURL=textLabel.d.ts.map
|
package/dist/textLabel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textLabel.d.ts","sourceRoot":"","sources":["../src/textLabel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,
|
|
1
|
+
{"version":3,"file":"textLabel.d.ts","sourceRoot":"","sources":["../src/textLabel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAEV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,EAGhB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAsBzB,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAI5E;AAOD,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAsBjG;AAED,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAEjF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,CAS1F;AAED,wBAAgB,sBAAsB,IAAI,gBAAgB,CAQzD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAEpF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAE3F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAEtE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAMjF;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAG7E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMzE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKzE;AAKD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAK3F;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMxE"}
|
package/dist/textLabel.js
CHANGED
|
@@ -13,6 +13,9 @@ function buildTextLabelLayoutParams(source, measure) {
|
|
|
13
13
|
height: data.height,
|
|
14
14
|
measure,
|
|
15
15
|
text: data.text,
|
|
16
|
+
// Vertical alignment only means something within a fixed-height box; an auto-fit field has no
|
|
17
|
+
// slack, so pass 'top' and leave the block at the content origin.
|
|
18
|
+
verticalAlign: data.autoSize === 'none' ? data.verticalAlign : 'top',
|
|
16
19
|
width: data.width,
|
|
17
20
|
};
|
|
18
21
|
}
|
|
@@ -20,7 +23,7 @@ export function appendTextLabelString(source, value) {
|
|
|
20
23
|
if (value.length === 0)
|
|
21
24
|
return;
|
|
22
25
|
source.data.text += value;
|
|
23
|
-
|
|
26
|
+
invalidateTextLabelContent(source);
|
|
24
27
|
}
|
|
25
28
|
// The field-box bounds in local space, mirroring computeRichTextLocalBoundsRectangle. A fixed field
|
|
26
29
|
// (autoSize 'none') is the user width/height at the origin. Under autoSize, the box is the measured
|
|
@@ -57,6 +60,7 @@ export function createTextLabelData(data) {
|
|
|
57
60
|
height: data?.height ?? 100,
|
|
58
61
|
text: data?.text ?? '',
|
|
59
62
|
textFormat: data?.textFormat ?? {},
|
|
63
|
+
verticalAlign: data?.verticalAlign ?? 'top',
|
|
60
64
|
width: data?.width ?? 100,
|
|
61
65
|
};
|
|
62
66
|
}
|
|
@@ -90,7 +94,7 @@ export function setTextLabelAutoSize(source, value) {
|
|
|
90
94
|
// apply; the content revision bumps unconditionally because field-level equality is not tracked.
|
|
91
95
|
export function setTextLabelFormat(source, value) {
|
|
92
96
|
source.data.textFormat = value;
|
|
93
|
-
|
|
97
|
+
invalidateTextLabelContent(source);
|
|
94
98
|
}
|
|
95
99
|
export function setTextLabelHeight(source, value) {
|
|
96
100
|
const data = source.data;
|
|
@@ -105,6 +109,16 @@ export function setTextLabelString(source, value) {
|
|
|
105
109
|
if (data.text === value)
|
|
106
110
|
return;
|
|
107
111
|
data.text = value;
|
|
112
|
+
invalidateTextLabelContent(source);
|
|
113
|
+
}
|
|
114
|
+
// Vertical alignment repositions the glyphs within the (unchanged) height box, so it invalidates only
|
|
115
|
+
// the content revision — the field's bounds are the fixed height/width box and do not move. Mirrors
|
|
116
|
+
// setTextLabelString's content-only invalidation.
|
|
117
|
+
export function setTextLabelVerticalAlign(source, value) {
|
|
118
|
+
const data = source.data;
|
|
119
|
+
if (data.verticalAlign === value)
|
|
120
|
+
return;
|
|
121
|
+
data.verticalAlign = value;
|
|
108
122
|
invalidateNodeLocalContent(source);
|
|
109
123
|
}
|
|
110
124
|
export function setTextLabelWidth(source, value) {
|
|
@@ -115,6 +129,15 @@ export function setTextLabelWidth(source, value) {
|
|
|
115
129
|
invalidateNodeLocalContent(source);
|
|
116
130
|
invalidateNodeLocalBounds(source);
|
|
117
131
|
}
|
|
132
|
+
// Content invalidation shared by the text/format setters and `invalidateTextLabel`: bumps the content
|
|
133
|
+
// revision, and — only when `autoSize` measures the box from the text (`autoSize !== 'none'`) — the
|
|
134
|
+
// local bounds too, since the extent then depends on the content. Under `autoSize 'none'` the box is the
|
|
135
|
+
// fixed user width/height, so bounds are untouched. Mirrors `@flighthq/text`'s `invalidateRichTextContent`.
|
|
136
|
+
function invalidateTextLabelContent(source) {
|
|
137
|
+
invalidateNodeLocalContent(source);
|
|
138
|
+
if (source.data.autoSize !== 'none')
|
|
139
|
+
invalidateNodeLocalBounds(source);
|
|
140
|
+
}
|
|
118
141
|
const defaultMethods = {
|
|
119
142
|
computeLocalBoundsRectangle: computeTextLabelLocalBoundsRectangle,
|
|
120
143
|
};
|
package/dist/textLabel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textLabel.js","sourceRoot":"","sources":["../src/textLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"textLabel.js","sourceRoot":"","sources":["../src/textLabel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/text",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "https://github.com/flighthq/flight.git",
|
|
7
|
+
"directory": "packages/text"
|
|
8
|
+
},
|
|
4
9
|
"type": "module",
|
|
5
10
|
"main": "dist/index.js",
|
|
6
11
|
"types": "dist/index.d.ts",
|
|
@@ -27,13 +32,13 @@
|
|
|
27
32
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
28
33
|
},
|
|
29
34
|
"dependencies": {
|
|
30
|
-
"@flighthq/displayobject": "0.
|
|
31
|
-
"@flighthq/entity": "0.
|
|
32
|
-
"@flighthq/geometry": "0.
|
|
33
|
-
"@flighthq/node": "0.
|
|
34
|
-
"@flighthq/signals": "0.
|
|
35
|
-
"@flighthq/textlayout": "0.
|
|
36
|
-
"@flighthq/types": "0.
|
|
35
|
+
"@flighthq/displayobject": "0.2.0",
|
|
36
|
+
"@flighthq/entity": "0.2.0",
|
|
37
|
+
"@flighthq/geometry": "0.2.0",
|
|
38
|
+
"@flighthq/node": "0.2.0",
|
|
39
|
+
"@flighthq/signals": "0.2.0",
|
|
40
|
+
"@flighthq/textlayout": "0.2.0",
|
|
41
|
+
"@flighthq/types": "0.2.0"
|
|
37
42
|
},
|
|
38
43
|
"devDependencies": {
|
|
39
44
|
"typescript": "^5.3.0"
|
package/src/nativeText.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRectangle } from '@flighthq/geometry';
|
|
2
|
-
import { getNodeLocalBoundsRevision, getNodeLocalContentRevision } from '@flighthq/node';
|
|
2
|
+
import { getNodeLocalBoundsRevision, getNodeLocalContentRevision, getNodeLocalTransformRevision } from '@flighthq/node';
|
|
3
3
|
import type { NativeText, NativeTextRuntime, Node, PartialNode } from '@flighthq/types';
|
|
4
4
|
import { NativeTextKind } from '@flighthq/types';
|
|
5
5
|
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
setNativeTextHeight,
|
|
19
19
|
setNativeTextString,
|
|
20
20
|
setNativeTextStyle,
|
|
21
|
+
setNativeTextVerticalAlign,
|
|
21
22
|
setNativeTextWidth,
|
|
22
23
|
} from './nativeText';
|
|
23
24
|
|
|
@@ -91,6 +92,7 @@ describe('createNativeTextData', () => {
|
|
|
91
92
|
expect(data.height).toBe(100);
|
|
92
93
|
expect(data.text).toBe('');
|
|
93
94
|
expect(data.style).not.toBeNull();
|
|
95
|
+
expect(data.verticalAlign).toBe('top');
|
|
94
96
|
expect(data.width).toBe(100);
|
|
95
97
|
});
|
|
96
98
|
|
|
@@ -243,6 +245,29 @@ describe('setNativeTextStyle', () => {
|
|
|
243
245
|
});
|
|
244
246
|
});
|
|
245
247
|
|
|
248
|
+
describe('setNativeTextVerticalAlign', () => {
|
|
249
|
+
it('defaults to top', () => {
|
|
250
|
+
expect(createNativeText().data.verticalAlign).toBe('top');
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
it('sets the value and bumps content without touching bounds', () => {
|
|
254
|
+
const native = createNativeText();
|
|
255
|
+
const content = getNodeLocalContentRevision(native);
|
|
256
|
+
const bounds = getNodeLocalBoundsRevision(native);
|
|
257
|
+
setNativeTextVerticalAlign(native, 'middle');
|
|
258
|
+
expect(native.data.verticalAlign).toBe('middle');
|
|
259
|
+
expect(getNodeLocalContentRevision(native)).toBe(content + 1);
|
|
260
|
+
expect(getNodeLocalBoundsRevision(native)).toBe(bounds);
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
it('does not bump content when the value is unchanged', () => {
|
|
264
|
+
const native = createNativeText({ data: { verticalAlign: 'bottom' } });
|
|
265
|
+
const content = getNodeLocalContentRevision(native);
|
|
266
|
+
setNativeTextVerticalAlign(native, 'bottom');
|
|
267
|
+
expect(getNodeLocalContentRevision(native)).toBe(content);
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
|
|
246
271
|
describe('setNativeTextWidth', () => {
|
|
247
272
|
it('sets width, bumps content, and invalidates local bounds', () => {
|
|
248
273
|
const native = createNativeText();
|
package/src/richText.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getEntityRuntime } from '@flighthq/entity';
|
|
2
2
|
import { createRectangle } from '@flighthq/geometry';
|
|
3
|
-
import { getNodeLocalBoundsRevision, getNodeLocalContentRevision } from '@flighthq/node';
|
|
3
|
+
import { getNodeLocalBoundsRevision, getNodeLocalContentRevision, getNodeLocalTransformRevision } from '@flighthq/node';
|
|
4
4
|
import { connectSignal } from '@flighthq/signals';
|
|
5
5
|
import { setTextLayoutMeasureProvider } from '@flighthq/textlayout';
|
|
6
6
|
import type { Node, RichText, RichTextRuntime, TextFormatRange } from '@flighthq/types';
|
|
@@ -25,7 +25,6 @@ import {
|
|
|
25
25
|
getRichTextFormatRangeByIndex,
|
|
26
26
|
getRichTextFormatRangeCount,
|
|
27
27
|
getRichTextFormatRangesIn,
|
|
28
|
-
getRichTextHtml,
|
|
29
28
|
getRichTextLength,
|
|
30
29
|
getRichTextLineCount,
|
|
31
30
|
getRichTextLineMetrics,
|
|
@@ -45,10 +44,10 @@ import {
|
|
|
45
44
|
setRichTextBorder,
|
|
46
45
|
setRichTextBorderColor,
|
|
47
46
|
setRichTextCondenseWhite,
|
|
47
|
+
setRichTextContent,
|
|
48
48
|
setRichTextDefaultTextFormat,
|
|
49
49
|
setRichTextFormatRange,
|
|
50
50
|
setRichTextHeight,
|
|
51
|
-
setRichTextHtml,
|
|
52
51
|
setRichTextMaxChars,
|
|
53
52
|
setRichTextMouseWheelEnabled,
|
|
54
53
|
setRichTextMultiline,
|
|
@@ -56,8 +55,8 @@ import {
|
|
|
56
55
|
setRichTextScrollV,
|
|
57
56
|
setRichTextSelectable,
|
|
58
57
|
setRichTextString,
|
|
59
|
-
setRichTextStyleSheet,
|
|
60
58
|
setRichTextTextColor,
|
|
59
|
+
setRichTextVerticalAlign,
|
|
61
60
|
setRichTextWidth,
|
|
62
61
|
setRichTextWordWrap,
|
|
63
62
|
} from './richText';
|
|
@@ -167,14 +166,12 @@ describe('createRichText', () => {
|
|
|
167
166
|
expect(richText.data.borderColor).toBe(0);
|
|
168
167
|
expect(richText.data.condenseWhite).toBe(false);
|
|
169
168
|
expect(richText.data.defaultTextFormat).not.toBeNull();
|
|
170
|
-
expect(richText.data.htmlText).toBe('');
|
|
171
169
|
expect(richText.data.maxChars).toBe(-1);
|
|
172
170
|
expect(richText.data.mouseWheelEnabled).toBe(true);
|
|
173
171
|
expect(richText.data.multiline).toBe(true);
|
|
174
172
|
expect(richText.data.scrollH).toBe(0);
|
|
175
173
|
expect(richText.data.scrollV).toBe(1);
|
|
176
174
|
expect(richText.data.selectable).toBe(true);
|
|
177
|
-
expect(richText.data.styleSheet).toBeNull();
|
|
178
175
|
expect(richText.data.textColor).toBe(0);
|
|
179
176
|
expect(richText.data.textFormatRanges).toEqual([]);
|
|
180
177
|
expect(richText.data.wordWrap).toBe(false);
|
|
@@ -190,12 +187,10 @@ describe('createRichText', () => {
|
|
|
190
187
|
borderColor: 0xff,
|
|
191
188
|
condenseWhite: true,
|
|
192
189
|
defaultTextFormat: {},
|
|
193
|
-
htmlText: 'aslfkj',
|
|
194
190
|
maxChars: 100,
|
|
195
191
|
mouseWheelEnabled: false,
|
|
196
192
|
multiline: false,
|
|
197
193
|
selectable: false,
|
|
198
|
-
styleSheet: { p: { color: 0xff00ff } },
|
|
199
194
|
textColor: 0xff,
|
|
200
195
|
textFormatRanges: [{ start: 0, end: 2, format: { bold: true } }],
|
|
201
196
|
wordWrap: true,
|
|
@@ -208,12 +203,10 @@ describe('createRichText', () => {
|
|
|
208
203
|
expect(obj.data.borderColor).toStrictEqual(base.data.borderColor);
|
|
209
204
|
expect(obj.data.condenseWhite).toStrictEqual(base.data.condenseWhite);
|
|
210
205
|
expect(obj.data.defaultTextFormat).toStrictEqual(base.data.defaultTextFormat);
|
|
211
|
-
expect(obj.data.htmlText).toStrictEqual(base.data.htmlText);
|
|
212
206
|
expect(obj.data.maxChars).toStrictEqual(base.data.maxChars);
|
|
213
207
|
expect(obj.data.mouseWheelEnabled).toStrictEqual(base.data.mouseWheelEnabled);
|
|
214
208
|
expect(obj.data.multiline).toStrictEqual(base.data.multiline);
|
|
215
209
|
expect(obj.data.selectable).toStrictEqual(base.data.selectable);
|
|
216
|
-
expect(obj.data.styleSheet).toStrictEqual(base.data.styleSheet);
|
|
217
210
|
expect(obj.data.textColor).toStrictEqual(base.data.textColor);
|
|
218
211
|
expect(obj.data.textFormatRanges).toStrictEqual(base.data.textFormatRanges);
|
|
219
212
|
expect(obj.data.textFormatRanges).not.toBe(base.data.textFormatRanges);
|
|
@@ -232,16 +225,15 @@ describe('createRichTextData', () => {
|
|
|
232
225
|
const data = createRichTextData();
|
|
233
226
|
expect(data.width).toBe(100);
|
|
234
227
|
expect(data.height).toBe(100);
|
|
235
|
-
expect(data.htmlText).toBe('');
|
|
236
228
|
expect(data.multiline).toBe(true);
|
|
237
229
|
expect(data.wordWrap).toBe(false);
|
|
238
230
|
});
|
|
239
231
|
|
|
240
232
|
it('allows pre-defined values', () => {
|
|
241
|
-
const data = createRichTextData({ width: 300, height: 200,
|
|
233
|
+
const data = createRichTextData({ width: 300, height: 200, maxChars: 12 });
|
|
242
234
|
expect(data.width).toBe(300);
|
|
243
235
|
expect(data.height).toBe(200);
|
|
244
|
-
expect(data.
|
|
236
|
+
expect(data.maxChars).toBe(12);
|
|
245
237
|
});
|
|
246
238
|
});
|
|
247
239
|
|
|
@@ -307,7 +299,8 @@ describe('dispatchRichTextLinkAtPoint', () => {
|
|
|
307
299
|
it('emits onTextFieldLink with the url and point when a link is hit', () => {
|
|
308
300
|
setTextLayoutMeasureProvider((text) => text.length * 7);
|
|
309
301
|
const richText = createRichText({ data: { width: 400, height: 50 } });
|
|
310
|
-
|
|
302
|
+
setRichTextString(richText, 'click');
|
|
303
|
+
setRichTextFormatRange(richText, { url: 'https://example.com' }, 0, 5);
|
|
311
304
|
const signals = enableTextFieldSignals(richText);
|
|
312
305
|
const seen: string[] = [];
|
|
313
306
|
connectSignal(signals.onTextFieldLink, (event) => {
|
|
@@ -511,13 +504,6 @@ describe('getRichTextFormatRangesIn', () => {
|
|
|
511
504
|
});
|
|
512
505
|
});
|
|
513
506
|
|
|
514
|
-
describe('getRichTextHtml', () => {
|
|
515
|
-
it('returns the htmlText field', () => {
|
|
516
|
-
const richText = createRichText({ data: { htmlText: '<b>hi</b>' } });
|
|
517
|
-
expect(getRichTextHtml(richText)).toBe('<b>hi</b>');
|
|
518
|
-
});
|
|
519
|
-
});
|
|
520
|
-
|
|
521
507
|
describe('getRichTextLength', () => {
|
|
522
508
|
it('returns 0 for an empty field', () => {
|
|
523
509
|
expect(getRichTextLength(createRichText())).toBe(0);
|
|
@@ -948,6 +934,36 @@ describe('setRichTextCondenseWhite', () => {
|
|
|
948
934
|
});
|
|
949
935
|
});
|
|
950
936
|
|
|
937
|
+
describe('setRichTextContent', () => {
|
|
938
|
+
it('sets text and format ranges from a RichTextContent and bumps content', () => {
|
|
939
|
+
const richText = createRichText();
|
|
940
|
+
const revision = getNodeLocalContentRevision(richText);
|
|
941
|
+
setRichTextContent(richText, { formatRanges: [{ start: 0, end: 4, format: { bold: true } }], text: 'bold' });
|
|
942
|
+
expect(richText.data.text).toBe('bold');
|
|
943
|
+
expect(richText.data.textFormatRanges).toEqual([{ start: 0, end: 4, format: { bold: true } }]);
|
|
944
|
+
expect(getNodeLocalContentRevision(richText)).toBe(revision + 1);
|
|
945
|
+
});
|
|
946
|
+
|
|
947
|
+
it('copies the format ranges so the field does not alias the caller array', () => {
|
|
948
|
+
const richText = createRichText();
|
|
949
|
+
const ranges: TextFormatRange[] = [{ start: 0, end: 2, format: { italic: true } }];
|
|
950
|
+
setRichTextContent(richText, { formatRanges: ranges, text: 'hi' });
|
|
951
|
+
expect(richText.data.textFormatRanges).not.toBe(ranges);
|
|
952
|
+
expect(richText.data.textFormatRanges[0]).not.toBe(ranges[0]);
|
|
953
|
+
});
|
|
954
|
+
|
|
955
|
+
it('emits onTextFieldChange when the text changes', () => {
|
|
956
|
+
const richText = createRichText({ data: { text: 'old' } });
|
|
957
|
+
const signals = enableTextFieldSignals(richText);
|
|
958
|
+
let seen = '';
|
|
959
|
+
connectSignal(signals.onTextFieldChange, (event) => {
|
|
960
|
+
seen = event.previousText;
|
|
961
|
+
});
|
|
962
|
+
setRichTextContent(richText, { formatRanges: [], text: 'new' });
|
|
963
|
+
expect(seen).toBe('old');
|
|
964
|
+
});
|
|
965
|
+
});
|
|
966
|
+
|
|
951
967
|
describe('setRichTextDefaultTextFormat', () => {
|
|
952
968
|
it('sets the defaultTextFormat and bumps content', () => {
|
|
953
969
|
const richText = createRichText();
|
|
@@ -986,23 +1002,6 @@ describe('setRichTextHeight', () => {
|
|
|
986
1002
|
});
|
|
987
1003
|
});
|
|
988
1004
|
|
|
989
|
-
describe('setRichTextHtml', () => {
|
|
990
|
-
it('sets htmlText and bumps content', () => {
|
|
991
|
-
const richText = createRichText();
|
|
992
|
-
const content = getNodeLocalContentRevision(richText);
|
|
993
|
-
setRichTextHtml(richText, '<b>bold</b>');
|
|
994
|
-
expect(richText.data.htmlText).toBe('<b>bold</b>');
|
|
995
|
-
expect(getNodeLocalContentRevision(richText)).toBe(content + 1);
|
|
996
|
-
});
|
|
997
|
-
|
|
998
|
-
it('does not bump content when the value is unchanged', () => {
|
|
999
|
-
const richText = createRichText({ data: { htmlText: '<i>same</i>' } });
|
|
1000
|
-
const content = getNodeLocalContentRevision(richText);
|
|
1001
|
-
setRichTextHtml(richText, '<i>same</i>');
|
|
1002
|
-
expect(getNodeLocalContentRevision(richText)).toBe(content);
|
|
1003
|
-
});
|
|
1004
|
-
});
|
|
1005
|
-
|
|
1006
1005
|
describe('setRichTextMaxChars', () => {
|
|
1007
1006
|
it('sets maxChars and bumps content', () => {
|
|
1008
1007
|
const richText = createRichText();
|
|
@@ -1133,38 +1132,42 @@ describe('setRichTextString', () => {
|
|
|
1133
1132
|
});
|
|
1134
1133
|
});
|
|
1135
1134
|
|
|
1136
|
-
describe('
|
|
1137
|
-
it('sets
|
|
1135
|
+
describe('setRichTextTextColor', () => {
|
|
1136
|
+
it('sets textColor and bumps content', () => {
|
|
1138
1137
|
const richText = createRichText();
|
|
1139
1138
|
const content = getNodeLocalContentRevision(richText);
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
expect(richText.data.styleSheet).toBe(sheet);
|
|
1139
|
+
setRichTextTextColor(richText, 0xff0000ff);
|
|
1140
|
+
expect(richText.data.textColor).toBe(0xff0000ff);
|
|
1143
1141
|
expect(getNodeLocalContentRevision(richText)).toBe(content + 1);
|
|
1144
1142
|
});
|
|
1145
1143
|
|
|
1146
|
-
it('
|
|
1147
|
-
const richText = createRichText(
|
|
1144
|
+
it('does not bump content when the value is unchanged', () => {
|
|
1145
|
+
const richText = createRichText();
|
|
1148
1146
|
const content = getNodeLocalContentRevision(richText);
|
|
1149
|
-
|
|
1150
|
-
expect(richText
|
|
1151
|
-
expect(getNodeLocalContentRevision(richText)).toBe(content + 1);
|
|
1147
|
+
setRichTextTextColor(richText, richText.data.textColor);
|
|
1148
|
+
expect(getNodeLocalContentRevision(richText)).toBe(content);
|
|
1152
1149
|
});
|
|
1153
1150
|
});
|
|
1154
1151
|
|
|
1155
|
-
describe('
|
|
1156
|
-
it('
|
|
1152
|
+
describe('setRichTextVerticalAlign', () => {
|
|
1153
|
+
it('defaults to top', () => {
|
|
1154
|
+
expect(createRichText().data.verticalAlign).toBe('top');
|
|
1155
|
+
});
|
|
1156
|
+
|
|
1157
|
+
it('sets the value and bumps content without touching bounds', () => {
|
|
1157
1158
|
const richText = createRichText();
|
|
1158
1159
|
const content = getNodeLocalContentRevision(richText);
|
|
1159
|
-
|
|
1160
|
-
|
|
1160
|
+
const bounds = getNodeLocalBoundsRevision(richText);
|
|
1161
|
+
setRichTextVerticalAlign(richText, 'bottom');
|
|
1162
|
+
expect(richText.data.verticalAlign).toBe('bottom');
|
|
1161
1163
|
expect(getNodeLocalContentRevision(richText)).toBe(content + 1);
|
|
1164
|
+
expect(getNodeLocalBoundsRevision(richText)).toBe(bounds);
|
|
1162
1165
|
});
|
|
1163
1166
|
|
|
1164
1167
|
it('does not bump content when the value is unchanged', () => {
|
|
1165
1168
|
const richText = createRichText();
|
|
1166
1169
|
const content = getNodeLocalContentRevision(richText);
|
|
1167
|
-
|
|
1170
|
+
setRichTextVerticalAlign(richText, richText.data.verticalAlign);
|
|
1168
1171
|
expect(getNodeLocalContentRevision(richText)).toBe(content);
|
|
1169
1172
|
});
|
|
1170
1173
|
});
|
package/src/textLabel.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRectangle } from '@flighthq/geometry';
|
|
2
|
-
import { getNodeLocalBoundsRevision, getNodeLocalContentRevision } from '@flighthq/node';
|
|
2
|
+
import { getNodeLocalBoundsRevision, getNodeLocalContentRevision, getNodeLocalTransformRevision } from '@flighthq/node';
|
|
3
3
|
import { setTextLayoutMeasureProvider } from '@flighthq/textlayout';
|
|
4
4
|
import type { Node, PartialNode, TextLabel } from '@flighthq/types';
|
|
5
5
|
import { TextLabelKind } from '@flighthq/types';
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
setTextLabelFormat,
|
|
18
18
|
setTextLabelHeight,
|
|
19
19
|
setTextLabelString,
|
|
20
|
+
setTextLabelVerticalAlign,
|
|
20
21
|
setTextLabelWidth,
|
|
21
22
|
} from './textLabel';
|
|
22
23
|
|
|
@@ -227,7 +228,7 @@ describe('setTextLabelHeight', () => {
|
|
|
227
228
|
});
|
|
228
229
|
|
|
229
230
|
describe('setTextLabelString', () => {
|
|
230
|
-
it('sets text and bumps content without touching bounds', () => {
|
|
231
|
+
it('sets text and bumps content without touching bounds under autoSize none', () => {
|
|
231
232
|
const text = createTextLabel();
|
|
232
233
|
const content = getNodeLocalContentRevision(text);
|
|
233
234
|
const bounds = getNodeLocalBoundsRevision(text);
|
|
@@ -237,6 +238,13 @@ describe('setTextLabelString', () => {
|
|
|
237
238
|
expect(getNodeLocalBoundsRevision(text)).toBe(bounds);
|
|
238
239
|
});
|
|
239
240
|
|
|
241
|
+
it('also invalidates bounds under autoSize (the box is measured from the text)', () => {
|
|
242
|
+
const text = createTextLabel({ data: { autoSize: 'left' } });
|
|
243
|
+
const bounds = getNodeLocalBoundsRevision(text);
|
|
244
|
+
setTextLabelString(text, 'hello');
|
|
245
|
+
expect(getNodeLocalBoundsRevision(text)).not.toBe(bounds);
|
|
246
|
+
});
|
|
247
|
+
|
|
240
248
|
it('does not bump content when the value is unchanged', () => {
|
|
241
249
|
const text = createTextLabel({ data: { text: 'same' } });
|
|
242
250
|
const content = getNodeLocalContentRevision(text);
|
|
@@ -245,6 +253,29 @@ describe('setTextLabelString', () => {
|
|
|
245
253
|
});
|
|
246
254
|
});
|
|
247
255
|
|
|
256
|
+
describe('setTextLabelVerticalAlign', () => {
|
|
257
|
+
it('defaults to top', () => {
|
|
258
|
+
expect(createTextLabel().data.verticalAlign).toBe('top');
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
it('sets the value and bumps content without touching bounds', () => {
|
|
262
|
+
const text = createTextLabel();
|
|
263
|
+
const content = getNodeLocalContentRevision(text);
|
|
264
|
+
const bounds = getNodeLocalBoundsRevision(text);
|
|
265
|
+
setTextLabelVerticalAlign(text, 'middle');
|
|
266
|
+
expect(text.data.verticalAlign).toBe('middle');
|
|
267
|
+
expect(getNodeLocalContentRevision(text)).toBe(content + 1);
|
|
268
|
+
expect(getNodeLocalBoundsRevision(text)).toBe(bounds);
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
it('does not bump content when the value is unchanged', () => {
|
|
272
|
+
const text = createTextLabel({ data: { verticalAlign: 'bottom' } });
|
|
273
|
+
const content = getNodeLocalContentRevision(text);
|
|
274
|
+
setTextLabelVerticalAlign(text, 'bottom');
|
|
275
|
+
expect(getNodeLocalContentRevision(text)).toBe(content);
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
|
|
248
279
|
describe('setTextLabelWidth', () => {
|
|
249
280
|
it('sets width, bumps content, and invalidates local bounds', () => {
|
|
250
281
|
const text = createTextLabel();
|