XD 34 is out today, you can read about the new features here.
Here are the API changes:
XD 34 adds Auto Height Text which dynamically adjusts its height based on the context of the text layer while its width remains fixed. To support Auto Height Text we have added a new text.layoutBox
API that will replace text.areaBox
.
text.layoutBox
{type:string, ?width:number, ?height:number} details
The text type and any applicable width and height value for the text. Text type will be one of:
-
Text.POINT
(for point text also referred as auto width) -
Text.FIXED_HEIGHT
(for area text also referred as fixed size) -
Text.AUTO_HEIGHT
(for the new auto height text)
Width is a number between 0-999999 and is ignored/omitted for text.Point.
Height is a number between 0-999999 and is ignored/omitted for text.Point and text.AUTO-HEIGHT
Changing POINT
text to FIXED_HEIGHT
or AUTO_HEIGHT
text or vice versa will change the origin / anchor point of the text, thus changing its localBounds, but it will also automatically change the node’s transform so its globalBounds and boundsInParent origins remain unchanged.
Changing FIXED_HEIGHT
or AUTO_HEIGHT
text to POINT text will automatically insert hard line break ("\n
") into the text to match the previous line wrapping’s appearance exactly.
Changing from FIXED_HEIGHT
to AUTO_HEIGHT
text will automatically change the height of the bounds to match the height of the total text (can be a no-op).
Changing from AUTO_HEIGHT
to FIXED_HEIGHT
text will not change the bounds, transform or origin (no-op).
How Auto Height Text affects Text.areaBox and text.clippedByArea APIs
Text.areaBox
and text.clippedByArea
will return the same values for Auto Height Text as they do for Point Text.
-
Text.areaBox
returnsnull
as it does for point text -
Text.clippedByArea
returnsfalse
as it does for point text