@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.
@@ -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
@@ -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,EACb,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,CAQ7F;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;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM1E"}
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"}
@@ -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)
@@ -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;AAYvF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,sGAAsG;AACtG,uGAAuG;AACvG,gEAAgE;AAEhE,sGAAsG;AACtG,sGAAsG;AACtG,wGAAwG;AACxG,yGAAyG;AACzG,MAAM,UAAU,qCAAqC,CAAC,GAAc,EAAE,MAAsB;IAC1F,MAAM,MAAM,GAAG,MAAoB,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7C,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3E,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAuC;IACtE,OAAO,0BAA0B,CAAC,cAAc,EAAE,GAAG,EAAE,oBAAoB,EAAE,uBAAuB,CAAe,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAwC;IAC3E,OAAO;QACL,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,MAAM;QAClC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG;QAC3B,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,0BAA0B,CAAC,cAAc,CAAsB,CAAC;IAC5E,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;IACvB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAA4B;IACtE,OAAQ,uBAAuB,CAAC,MAAM,CAAuB,CAAC,cAAc,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAA4B;IACrE,OAAQ,uBAAuB,CAAC,MAAM,CAAuB,CAAC,aAAa,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,OAAO,uBAAuB,CAAC,MAAM,CAAsB,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA4B;IAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED,iGAAiG;AACjG,2GAA2G;AAC3G,MAAM,UAAU,oBAAoB,CAAC,MAAkB,EAAE,KAAyC;IAChG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;IACvD,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAkB,EAAE,KAAmB;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO;IACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACtB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAkB,EAAE,KAAa;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO;IAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAkB,EAAE,KAAa;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO;IAChC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,kGAAkG;AAClG,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CAAC,MAAkB,EAAE,KAAsB;IAC3E,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC1B,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAkB,EAAE,KAAa;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO;IACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,cAAc,GAA0C;IAC5D,2BAA2B,EAAE,qCAAqC;CACnE,CAAC"}
1
+ {"version":3,"file":"nativeText.js","sourceRoot":"","sources":["../src/nativeText.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Node, PartialNode, Rectangle, RichText, RichTextData, RichTextRuntime, RichTextStyleSheet, TextFieldSignals, TextFormat, TextFormatRange, TextLabel, TextLayoutParams, TextLayoutResult, TextLineMetrics, TextMeasureFunction } from '@flighthq/types';
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
@@ -1 +1 @@
1
- {"version":3,"file":"richText.d.ts","sourceRoot":"","sources":["../src/richText.ts"],"names":[],"mappings":"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"}
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;
@@ -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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"}
@@ -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
@@ -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,EAGjB,MAAM,iBAAiB,CAAC;AAmBzB,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,CAQ1F;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;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMxE"}
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
- invalidateNodeLocalContent(source);
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
- invalidateNodeLocalContent(source);
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"textLabel.js","sourceRoot":"","sources":["../src/textLabel.ts"],"names":[],"mappings":"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"}
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.1.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.1.0",
31
- "@flighthq/entity": "0.1.0",
32
- "@flighthq/geometry": "0.1.0",
33
- "@flighthq/node": "0.1.0",
34
- "@flighthq/signals": "0.1.0",
35
- "@flighthq/textlayout": "0.1.0",
36
- "@flighthq/types": "0.1.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"
@@ -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();
@@ -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, htmlText: '<b>hi</b>' });
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.htmlText).toBe('<b>hi</b>');
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
- setRichTextHtml(richText, '<a href="https://example.com">click</a>');
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('setRichTextStyleSheet', () => {
1137
- it('sets styleSheet and bumps content', () => {
1135
+ describe('setRichTextTextColor', () => {
1136
+ it('sets textColor and bumps content', () => {
1138
1137
  const richText = createRichText();
1139
1138
  const content = getNodeLocalContentRevision(richText);
1140
- const sheet = { p: { color: 0xff0000 } };
1141
- setRichTextStyleSheet(richText, sheet);
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('sets styleSheet to null and bumps content', () => {
1147
- const richText = createRichText({ data: { styleSheet: { p: {} } } });
1144
+ it('does not bump content when the value is unchanged', () => {
1145
+ const richText = createRichText();
1148
1146
  const content = getNodeLocalContentRevision(richText);
1149
- setRichTextStyleSheet(richText, null);
1150
- expect(richText.data.styleSheet).toBeNull();
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('setRichTextTextColor', () => {
1156
- it('sets textColor and bumps content', () => {
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
- setRichTextTextColor(richText, 0xff0000ff);
1160
- expect(richText.data.textColor).toBe(0xff0000ff);
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
- setRichTextTextColor(richText, richText.data.textColor);
1170
+ setRichTextVerticalAlign(richText, richText.data.verticalAlign);
1168
1171
  expect(getNodeLocalContentRevision(richText)).toBe(content);
1169
1172
  });
1170
1173
  });
@@ -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();