@adobe/ccweb-add-on-sdk-types 1.23.0 → 1.26.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/package.json +2 -2
- package/sandbox/express-document-sdk.d.ts +244 -254
- package/ui/ui-sdk.d.ts +18 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adobe/ccweb-add-on-sdk-types",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.0",
|
|
4
4
|
"author": "Adobe",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Type definitions for Adobe Creative Cloud Web Add-on SDK.",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@types/node": "18.18.2",
|
|
47
47
|
"prettier": "2.8.0",
|
|
48
48
|
"ts-node": "10.9.2",
|
|
49
|
-
"typescript": "5.
|
|
49
|
+
"typescript": "5.9.3"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"clean": "",
|
|
@@ -92,19 +92,16 @@ declare namespace ApiConstants {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
declare interface ApiModuleExport {
|
|
95
|
-
editor:
|
|
95
|
+
editor: ExpressEditorWrapper;
|
|
96
96
|
constants: unknown;
|
|
97
|
-
colorUtils:
|
|
98
|
-
fonts:
|
|
99
|
-
viewport:
|
|
97
|
+
colorUtils: ExpressColorUtilsWrapper;
|
|
98
|
+
fonts: ExpressFontsWrapper;
|
|
99
|
+
viewport: ExpressViewportWrapper;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
106
|
-
*
|
|
107
|
-
* @experimental
|
|
103
|
+
* Area text: both width and height are explicitly set. If text content is too long to fit, the end of the text will be
|
|
104
|
+
* clipped. If text content is short, the frame's bounds will occupy extra height that is just blank space.
|
|
108
105
|
*/
|
|
109
106
|
export declare interface AreaTextLayout {
|
|
110
107
|
type: TextLayout.area;
|
|
@@ -140,8 +137,8 @@ declare enum ArrowHeadType {
|
|
|
140
137
|
}
|
|
141
138
|
|
|
142
139
|
/**
|
|
143
|
-
* ArtboardList represents an ordered list of ArtboardNodes
|
|
144
|
-
*
|
|
140
|
+
* ArtboardList represents an ordered list of ArtboardNodes, which are the children of one {@link PageNode}. If multiple
|
|
141
|
+
* artboards are present, each represents a keyframe "scene" in the page's animation timeline.
|
|
145
142
|
*
|
|
146
143
|
* ArtboardList also provides APIs for adding/removing artboards from the page. ArtboardList is never empty: it is illegal to
|
|
147
144
|
* remove the last remaining artboard from the list.
|
|
@@ -158,13 +155,10 @@ export declare class ArtboardList extends RestrictedItemList<ArtboardNode> {
|
|
|
158
155
|
}
|
|
159
156
|
|
|
160
157
|
/**
|
|
161
|
-
* An ArtboardNode represents
|
|
162
|
-
*
|
|
163
|
-
* "scenes" in a linear timeline sequence.
|
|
158
|
+
* An ArtboardNode represents the topmost container of visual content within a {@link PageNode}. When a page contains
|
|
159
|
+
* multiple artboards, each represents a keyframe "scene" in the page's animation timeline.
|
|
164
160
|
*
|
|
165
161
|
* To create a new artboard, see {@link ArtboardList.addArtboard}.
|
|
166
|
-
*
|
|
167
|
-
* Please note that creating and deleting an artboard in a single frame will crash the editor.
|
|
168
162
|
*/
|
|
169
163
|
export declare class ArtboardNode extends VisualNode implements Readonly<IRectangularNode>, ContainerNode {
|
|
170
164
|
/**
|
|
@@ -173,11 +167,13 @@ export declare class ArtboardNode extends VisualNode implements Readonly<IRectan
|
|
|
173
167
|
* hold children in various discrete "slots"; this `allChildren` list includes *all* such children and reflects their
|
|
174
168
|
* overall display z-order.
|
|
175
169
|
*
|
|
176
|
-
* The children of an Artboard are
|
|
170
|
+
* The children of an Artboard are all subclasses of Node (not just the more minimal BaseNode or VisualNode).
|
|
177
171
|
*/
|
|
178
172
|
get allChildren(): Readonly<Iterable<Node>>;
|
|
179
173
|
/**
|
|
180
|
-
* The
|
|
174
|
+
* The artboards's regular children (does not include any "background layer" content if present; use {@link allChildren}
|
|
175
|
+
* for a read-only view that includes background content). Use the methods on this `children` ItemList object to get,
|
|
176
|
+
* add, and remove regular children.
|
|
181
177
|
*/
|
|
182
178
|
get children(): ItemList<Node>;
|
|
183
179
|
/**
|
|
@@ -205,11 +201,8 @@ export declare class ArtboardNode extends VisualNode implements Readonly<IRectan
|
|
|
205
201
|
}
|
|
206
202
|
|
|
207
203
|
/**
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
211
|
-
*
|
|
212
|
-
* @experimental
|
|
204
|
+
* Auto-height text: Width is explicitly set, and text wraps to use as much vertical space as necessary to display the
|
|
205
|
+
* full content.
|
|
213
206
|
*/
|
|
214
207
|
export declare interface AutoHeightTextLayout {
|
|
215
208
|
type: TextLayout.autoHeight;
|
|
@@ -220,11 +213,8 @@ export declare interface AutoHeightTextLayout {
|
|
|
220
213
|
}
|
|
221
214
|
|
|
222
215
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
226
|
-
*
|
|
227
|
-
* @experimental
|
|
216
|
+
* Auto-width, aka point text: both width and height are automatically determined based on the content. There is no
|
|
217
|
+
* automatic line wrapping, so the text will all be on one line unless the text contains explicit newlines.
|
|
228
218
|
*/
|
|
229
219
|
export declare interface AutoWidthTextLayout {
|
|
230
220
|
type: TextLayout.autoWidth;
|
|
@@ -353,11 +343,6 @@ export declare class BaseNode {
|
|
|
353
343
|
}
|
|
354
344
|
|
|
355
345
|
/**
|
|
356
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
357
|
-
*
|
|
358
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
359
|
-
*
|
|
360
|
-
* @experimental
|
|
361
346
|
* BaseParagraphListStyle interface represents common properties shared between ordered and unordered list types.
|
|
362
347
|
*/
|
|
363
348
|
declare interface BaseParagraphListStyle {
|
|
@@ -366,11 +351,6 @@ declare interface BaseParagraphListStyle {
|
|
|
366
351
|
}
|
|
367
352
|
|
|
368
353
|
/**
|
|
369
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
370
|
-
*
|
|
371
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
372
|
-
*
|
|
373
|
-
* @experimental
|
|
374
354
|
* Base paragraph styles that can be applied to an entire paragraph atomically.
|
|
375
355
|
* Excludes list style settings, which differ between the getter-oriented {@link ParagraphStyles} interface and the
|
|
376
356
|
* setter-oriented {@link ParagraphStylesRangeInput}.
|
|
@@ -406,6 +386,15 @@ export declare class BitmapImage {
|
|
|
406
386
|
* Original height of the bitmap in pixels.
|
|
407
387
|
*/
|
|
408
388
|
get height(): number;
|
|
389
|
+
/**
|
|
390
|
+
* <InlineAlert slots="text" variant="warning"/>
|
|
391
|
+
*
|
|
392
|
+
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
393
|
+
*
|
|
394
|
+
* @experimental
|
|
395
|
+
* Fetches the bitmap data as a Blob. This will wait for the bitmap to be available if necessary.
|
|
396
|
+
*/
|
|
397
|
+
data(): Promise<Blob>;
|
|
409
398
|
}
|
|
410
399
|
|
|
411
400
|
/**
|
|
@@ -562,7 +551,7 @@ export declare class ColorUtils {
|
|
|
562
551
|
toHex(color: Color): string;
|
|
563
552
|
}
|
|
564
553
|
|
|
565
|
-
export declare const colorUtils:
|
|
554
|
+
export declare const colorUtils: ExpressColorUtilsWrapper;
|
|
566
555
|
|
|
567
556
|
/**
|
|
568
557
|
* A ComplexShapeNode is a complex prepackaged shape that appears as a leaf node in the UI, even if it is composed
|
|
@@ -608,7 +597,8 @@ export declare class Context {
|
|
|
608
597
|
*/
|
|
609
598
|
off(eventName: EditorEvent, handlerId: EventHandlerId): void;
|
|
610
599
|
/**
|
|
611
|
-
* @returns the current selection. Nodes that are locked or otherwise non-editable are never included in the
|
|
600
|
+
* @returns the current selection. Nodes that are locked or otherwise non-editable are never included in the regular
|
|
601
|
+
* selection (see {@link selectionIncludingNonEditable} to get any locked nodes the user may have clicked).
|
|
612
602
|
*/
|
|
613
603
|
get selection(): readonly Node[];
|
|
614
604
|
/**
|
|
@@ -638,10 +628,6 @@ export declare class Context {
|
|
|
638
628
|
* other UI state.
|
|
639
629
|
*/
|
|
640
630
|
get insertionParent(): ContainerNode;
|
|
641
|
-
/**
|
|
642
|
-
* @returns The currently viewed page.
|
|
643
|
-
*/
|
|
644
|
-
get currentPage(): PageNode;
|
|
645
631
|
}
|
|
646
632
|
|
|
647
633
|
/**
|
|
@@ -707,7 +693,7 @@ export declare class Editor {
|
|
|
707
693
|
/**
|
|
708
694
|
* @returns the root of the document.
|
|
709
695
|
*/
|
|
710
|
-
get documentRoot():
|
|
696
|
+
get documentRoot(): BaseNode;
|
|
711
697
|
/**
|
|
712
698
|
* @returns an ellipse node with default x/y radii, a black fill, and no initial stroke.
|
|
713
699
|
* Transform values default to 0.
|
|
@@ -791,11 +777,14 @@ export declare class Editor {
|
|
|
791
777
|
* Note that the path data will be normalized, and therefore the `path` getter may return a different SVG string from the path creation input.
|
|
792
778
|
* For example, "M 10 80 Q 52.5 10, 95 80 T 180 80" becomes "M 10 80 C 38.33 33.33 66.67 33.33 95 80...".
|
|
793
779
|
* Throws if the input is empty or is not legal SVG path syntax.
|
|
780
|
+
*
|
|
781
|
+
* Note: the visual top-left corner of a path may not be its local (0,0) origin point, so it's easiest to position
|
|
782
|
+
* a newly created path using {@link Node.setPositionInParent} rather than setting {@link Node.translation} directly.
|
|
794
783
|
*/
|
|
795
784
|
createPath(path: string): PathNode;
|
|
796
785
|
}
|
|
797
786
|
|
|
798
|
-
export declare const editor:
|
|
787
|
+
export declare const editor: ExpressEditorWrapper;
|
|
799
788
|
|
|
800
789
|
/**
|
|
801
790
|
* This enum represents the supported editor events.
|
|
@@ -843,16 +832,40 @@ export declare type EventHandlerId = string;
|
|
|
843
832
|
declare const expressApiModule: ApiModuleExport;
|
|
844
833
|
export default expressApiModule;
|
|
845
834
|
|
|
846
|
-
declare class
|
|
835
|
+
declare class ExpressColorUtilsWrapper extends ColorUtils {}
|
|
836
|
+
|
|
837
|
+
/**
|
|
838
|
+
* Contains The Express specific APIs related to the current selection state.
|
|
839
|
+
*/
|
|
840
|
+
export declare class ExpressContext extends Context {
|
|
841
|
+
/**
|
|
842
|
+
* @returns The currently viewed page.
|
|
843
|
+
* To change the current page, call {@link ExpressViewport.bringIntoView} with an artboard or other content on that page.
|
|
844
|
+
*/
|
|
845
|
+
get currentPage(): PageNode;
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
/**
|
|
849
|
+
* Entry point for Express specific APIs that read or modify the document's content.
|
|
850
|
+
*/
|
|
851
|
+
export declare class ExpressEditor extends Editor {
|
|
852
|
+
/**
|
|
853
|
+
* User's current selection context
|
|
854
|
+
*/
|
|
855
|
+
get context(): ExpressContext;
|
|
856
|
+
/**
|
|
857
|
+
* @returns the root of the document.
|
|
858
|
+
*/
|
|
859
|
+
get documentRoot(): ExpressRootNode;
|
|
860
|
+
}
|
|
847
861
|
|
|
848
|
-
declare class
|
|
862
|
+
declare class ExpressEditorWrapper extends ExpressEditor {}
|
|
849
863
|
|
|
850
|
-
declare class
|
|
864
|
+
declare class ExpressFontsWrapper extends Fonts {}
|
|
851
865
|
|
|
852
866
|
/**
|
|
853
867
|
* An ExpressRootNode represents the root node of the document's "scenegraph" artwork tree. The root contains a collection
|
|
854
|
-
* of {@link pages}. Each page contains one or more artboards,
|
|
855
|
-
* the document lies within those artboards.
|
|
868
|
+
* of {@link pages}. Each page contains one or more artboards, which in turn hold all the visual content of the document.
|
|
856
869
|
*
|
|
857
870
|
* The parent of ExpressRootNode is undefined, since it is the root of the document tree.
|
|
858
871
|
*/
|
|
@@ -864,7 +877,27 @@ export declare class ExpressRootNode extends BaseNode {
|
|
|
864
877
|
get pages(): PageList;
|
|
865
878
|
}
|
|
866
879
|
|
|
867
|
-
|
|
880
|
+
/**
|
|
881
|
+
* Represents the area of the canvas that is currently visible on-screen.
|
|
882
|
+
*/
|
|
883
|
+
export declare class ExpressViewport {
|
|
884
|
+
/**
|
|
885
|
+
* Adjusts the viewport to make the node's bounds visible on-screen, assuming all bounds are within the artboard bounds.
|
|
886
|
+
* Makes the node's {@link ArtboardNode} or {@link PageNode} visible if they were not already visible
|
|
887
|
+
* (which may result in {@link Context.selection} being cleared). It is strongly recommended
|
|
888
|
+
* to further draw user's attention to the node, set it as the {@link Context.selection} following this call.
|
|
889
|
+
*
|
|
890
|
+
* After this call, the value of {@link Context.insertionParent} will always be the node containing {@link ArtboardNode}.
|
|
891
|
+
*
|
|
892
|
+
* Note that the node might still not appear visible if:
|
|
893
|
+
* - Its animation settings make it invisible at the beginning of the {@link ArtboardNode} "scene".
|
|
894
|
+
* - It is obscured underneath other artwork in the z-order.
|
|
895
|
+
* - It is hidden by a {@link GroupNode}'s mask or similar cropping.
|
|
896
|
+
*/
|
|
897
|
+
bringIntoView(node: VisualNode): void;
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
declare class ExpressViewportWrapper extends ExpressViewport {}
|
|
868
901
|
|
|
869
902
|
/**
|
|
870
903
|
* Base interface representing any fill in the scenegraph. See {@link FillableNode}.
|
|
@@ -939,7 +972,7 @@ export declare class Fonts {
|
|
|
939
972
|
fromPostscriptName(postscriptName: string): Promise<AvailableFont | undefined>;
|
|
940
973
|
}
|
|
941
974
|
|
|
942
|
-
export declare const fonts:
|
|
975
|
+
export declare const fonts: ExpressFontsWrapper;
|
|
943
976
|
|
|
944
977
|
/**
|
|
945
978
|
* A GridCellNode represents the media aspect of a grid cell. Unlike MediaContainerNodes, grid cells cannot be
|
|
@@ -948,11 +981,6 @@ export declare const fonts: ExpressFonts;
|
|
|
948
981
|
*/
|
|
949
982
|
export declare class GridCellNode extends Node implements IMediaContainerNode {
|
|
950
983
|
/**
|
|
951
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
952
|
-
*
|
|
953
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
954
|
-
*
|
|
955
|
-
* @experimental
|
|
956
984
|
* Always throws as it's not possible to clone a single grid slot.
|
|
957
985
|
* Use the parent grid container instead.
|
|
958
986
|
*
|
|
@@ -965,31 +993,30 @@ export declare class GridCellNode extends Node implements IMediaContainerNode {
|
|
|
965
993
|
}
|
|
966
994
|
|
|
967
995
|
/**
|
|
968
|
-
* A GridLayoutNode represents a grid layout in the scenegraph.
|
|
969
|
-
*
|
|
996
|
+
* A GridLayoutNode represents a grid layout in the scenegraph. Currently, grids contain only images but in the future
|
|
997
|
+
* they may support other types of content as well.
|
|
970
998
|
*
|
|
971
999
|
* APIs to create a new grid layout are not yet available.
|
|
972
1000
|
*/
|
|
973
1001
|
export declare class GridLayoutNode extends Node implements IRectangularNode {
|
|
974
1002
|
/**
|
|
975
|
-
* The
|
|
976
|
-
*
|
|
977
|
-
* The children cannot be added or removed.
|
|
1003
|
+
* The GridLayout's child nodes. Nodes are returned in order sorted by the y and then x position of their top left
|
|
1004
|
+
* corner, i.e. left to right and top to bottom. These children cannot be added or removed.
|
|
978
1005
|
*/
|
|
979
1006
|
get allChildren(): Readonly<Iterable<GridCellNode>>;
|
|
980
1007
|
/**
|
|
981
|
-
* The background fill of the GridLayout.
|
|
1008
|
+
* The background fill of the GridLayout. GridLayouts must always have a fill.
|
|
982
1009
|
*/
|
|
983
1010
|
set fill(fill: Fill);
|
|
984
1011
|
get fill(): Readonly<Fill>;
|
|
985
1012
|
/**
|
|
986
|
-
* The width of the node.
|
|
1013
|
+
* The width of the entire GridLayout node.
|
|
987
1014
|
* Must be at least {@link MIN_DIMENSION}.
|
|
988
1015
|
*/
|
|
989
1016
|
get width(): number;
|
|
990
1017
|
set width(value: number);
|
|
991
1018
|
/**
|
|
992
|
-
* The height of the node.
|
|
1019
|
+
* The height of the entire GridLayout node.
|
|
993
1020
|
* Must be at least {@link MIN_DIMENSION}.
|
|
994
1021
|
*/
|
|
995
1022
|
get height(): number;
|
|
@@ -1004,8 +1031,8 @@ export declare class GridLayoutNode extends Node implements IRectangularNode {
|
|
|
1004
1031
|
*/
|
|
1005
1032
|
export declare class GroupNode extends Node implements ContainerNode {
|
|
1006
1033
|
/**
|
|
1007
|
-
* The Group's regular children. Does not include the maskShape if one is present.
|
|
1008
|
-
* Use the methods on this ItemList object to get, add, and remove children.
|
|
1034
|
+
* The Group's regular children. Does not include the {@link maskShape} if one is present.
|
|
1035
|
+
* Use the methods on this ItemList object to get, add, and remove regular children.
|
|
1009
1036
|
*/
|
|
1010
1037
|
get children(): ItemList<Node>;
|
|
1011
1038
|
/**
|
|
@@ -1046,7 +1073,17 @@ declare interface IFillableNode {
|
|
|
1046
1073
|
* ImageRectangleNodes cannot be created directly; use {@link Editor.createImageContainer} to create the entire
|
|
1047
1074
|
* container structure together.
|
|
1048
1075
|
*/
|
|
1049
|
-
export declare class ImageRectangleNode extends MediaRectangleNode {
|
|
1076
|
+
export declare class ImageRectangleNode extends MediaRectangleNode {
|
|
1077
|
+
/**
|
|
1078
|
+
* <InlineAlert slots="text" variant="warning"/>
|
|
1079
|
+
*
|
|
1080
|
+
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1081
|
+
*
|
|
1082
|
+
* @experimental
|
|
1083
|
+
* Fetches the bitmap image resource used by this node. This will wait for the bitmap to be available if necessary.
|
|
1084
|
+
*/
|
|
1085
|
+
fetchBitmapImage(): Promise<BitmapImage>;
|
|
1086
|
+
}
|
|
1050
1087
|
|
|
1051
1088
|
/**
|
|
1052
1089
|
* Interface for nodes that contain media.
|
|
@@ -1131,20 +1168,18 @@ declare interface IStrokableNode {
|
|
|
1131
1168
|
}
|
|
1132
1169
|
|
|
1133
1170
|
/**
|
|
1134
|
-
* ItemList represents an ordered list of API objects
|
|
1135
|
-
*
|
|
1136
|
-
* children that exist in the parent node. See {@link Node.allChildren} for details).
|
|
1171
|
+
* ItemList represents an ordered list of API objects that are all children of the same parent node. It is most
|
|
1172
|
+
* frequently encountered as {@link ArtboardNode.children} or {@link GroupNode.children}.
|
|
1137
1173
|
*
|
|
1138
1174
|
* ItemList also provides APIs for manipulating the list by adding items to the parent or removing items from the parent.
|
|
1139
1175
|
*
|
|
1140
|
-
*
|
|
1176
|
+
* Note that some parent nodes may have additional children that are *not* present in the main `children` ItemList
|
|
1177
|
+
* (e.g. {@link GroupNode.maskShape}). Use the read-only {@link Node.allChildren} for a combined view of all children.
|
|
1141
1178
|
*/
|
|
1142
1179
|
export declare class ItemList<T extends ListItem> extends RestrictedItemList<T> {
|
|
1143
1180
|
/**
|
|
1144
1181
|
* Add one or more items to the end of the list. The last argument will become the last item in this list. Items are
|
|
1145
1182
|
* removed from their previous parent, if any – or if an item is already in *this* list, its index is simply changed.
|
|
1146
|
-
*
|
|
1147
|
-
* @throws - if item has a different parent and item is a {@link ThreadedTextNode}, or if item's children subtree contains a {@link ThreadedTextNode}.
|
|
1148
1183
|
*/
|
|
1149
1184
|
append(...items: T[]): void;
|
|
1150
1185
|
/**
|
|
@@ -1155,24 +1190,18 @@ export declare class ItemList<T extends ListItem> extends RestrictedItemList<T>
|
|
|
1155
1190
|
* Replace `oldItem` with `newItem` in this list. Throws if `oldItem` is not a member of this list.
|
|
1156
1191
|
* `newItem` is removed from its previous parent, if any – or if it's already in *this* list, its index is simply
|
|
1157
1192
|
* changed. No-op if both arguments are the same item.
|
|
1158
|
-
*
|
|
1159
|
-
* @throws - if newItem has a different parent and newItem is a {@link ThreadedTextNode}, or if newItem's children subtree contains a {@link ThreadedTextNode}.
|
|
1160
1193
|
*/
|
|
1161
1194
|
replace(oldItem: T, newItem: T): void;
|
|
1162
1195
|
/**
|
|
1163
1196
|
* Insert `newItem` so it is immediately before `before` in this list: places `newItem` at the index that `before` used
|
|
1164
1197
|
* to occupy, shifting `before` and all later items to higher indices. `newItem` is removed from its previous parent,
|
|
1165
1198
|
* if any – or if it's already in *this* list, its index is simply changed. No-op if both arguments are the same item.
|
|
1166
|
-
*
|
|
1167
|
-
* @throws - if newItem has a different parent and it is a {@link ThreadedTextNode}, or if newItem's children subtree contains a {@link ThreadedTextNode}.
|
|
1168
1199
|
*/
|
|
1169
1200
|
insertBefore(newItem: T, before: T): void;
|
|
1170
1201
|
/**
|
|
1171
1202
|
* Insert `newItem` so it is immediately after `after` in this list: places `newItem` at the index one higher than `after`,
|
|
1172
1203
|
* shifting all later items to higher indices (the index of `after` remains unchanged). `newItem` is removed from its previous parent,
|
|
1173
1204
|
* if any – or if it's already in *this* list, its index is simply changed. No-op if both arguments are the same item.
|
|
1174
|
-
*
|
|
1175
|
-
* @throws - if newItem has a different parent and it is a {@link ThreadedTextNode}, or if newItem's children subtree contains a {@link ThreadedTextNode}.
|
|
1176
1205
|
*/
|
|
1177
1206
|
insertAfter(newItem: T, after: T): void;
|
|
1178
1207
|
}
|
|
@@ -1273,11 +1302,12 @@ export declare class LineNode extends StrokableNode {
|
|
|
1273
1302
|
}
|
|
1274
1303
|
|
|
1275
1304
|
/**
|
|
1276
|
-
* Base interface for any item that can be
|
|
1277
|
-
* types of items, including Nodes, Fills, and Strokes.
|
|
1305
|
+
* Base interface for any item that can be stored in an {@link ItemList} (typically a {@link Node} type).
|
|
1278
1306
|
*/
|
|
1279
1307
|
export declare interface ListItem {}
|
|
1280
1308
|
|
|
1309
|
+
declare type ListStyleInput = OrderedListStyleInput | UnorderedListStyleInput | RemoveListStyleInput;
|
|
1310
|
+
|
|
1281
1311
|
/**
|
|
1282
1312
|
* A MediaContainerNode is a multi-node construct that displays media (such as images or video) with optional cropping and
|
|
1283
1313
|
* clipping to a shape mask. The underlying media asset is always rectangular, but the final appearance of this node is
|
|
@@ -1307,6 +1337,7 @@ export declare abstract class MediaRectangleNode extends Node implements Readonl
|
|
|
1307
1337
|
/**
|
|
1308
1338
|
* Get {@link AddOnData} reference for managing private metadata attached to the media resource displayed by this node.
|
|
1309
1339
|
* The same media resource may be reused in multiple places in the document, and all share the same AddOnData state.
|
|
1340
|
+
* Note: This support is not present for PSD/AI assets. An error will be thrown in that case.
|
|
1310
1341
|
*/
|
|
1311
1342
|
get mediaAddOnData(): AddOnData;
|
|
1312
1343
|
/**
|
|
@@ -1322,11 +1353,6 @@ export declare abstract class MediaRectangleNode extends Node implements Readonl
|
|
|
1322
1353
|
*/
|
|
1323
1354
|
get height(): number;
|
|
1324
1355
|
/**
|
|
1325
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
1326
|
-
*
|
|
1327
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1328
|
-
*
|
|
1329
|
-
* @experimental
|
|
1330
1356
|
* Always throws as it's not possible to clone just the media rectangle alone.
|
|
1331
1357
|
* Clone the entire parent MediaContainerNode instead.
|
|
1332
1358
|
*
|
|
@@ -1469,11 +1495,6 @@ declare class Node extends VisualNode implements INodeBounds {
|
|
|
1469
1495
|
*/
|
|
1470
1496
|
resizeToCover(width: number, height: number): void;
|
|
1471
1497
|
/**
|
|
1472
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
1473
|
-
*
|
|
1474
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1475
|
-
*
|
|
1476
|
-
* @experimental
|
|
1477
1498
|
* Creates a copy of this node and its entire subtree of descendants.
|
|
1478
1499
|
*
|
|
1479
1500
|
* The node must be attached to a page as the copy will be added as a sibling.
|
|
@@ -1484,11 +1505,6 @@ declare class Node extends VisualNode implements INodeBounds {
|
|
|
1484
1505
|
export { Node as Node };
|
|
1485
1506
|
|
|
1486
1507
|
/**
|
|
1487
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
1488
|
-
*
|
|
1489
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1490
|
-
*
|
|
1491
|
-
* @experimental
|
|
1492
1508
|
* Numbering types used to display ordered lists: 1, A, a, I, i 01, 001.
|
|
1493
1509
|
*/
|
|
1494
1510
|
export declare enum OrderedListNumbering {
|
|
@@ -1502,28 +1518,18 @@ export declare enum OrderedListNumbering {
|
|
|
1502
1518
|
}
|
|
1503
1519
|
|
|
1504
1520
|
/**
|
|
1505
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
1506
|
-
*
|
|
1507
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1508
|
-
*
|
|
1509
|
-
* @experimental
|
|
1510
1521
|
* OrderedListStyle represents the style of an ordered list.
|
|
1511
1522
|
*/
|
|
1512
1523
|
export declare type OrderedListStyle = Required<OrderedListStyleInput>;
|
|
1513
1524
|
|
|
1514
1525
|
/**
|
|
1515
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
1516
|
-
*
|
|
1517
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1518
|
-
*
|
|
1519
|
-
* @experimental
|
|
1520
1526
|
* Interface for specifying an ordered list style, such as a numbered list.
|
|
1521
1527
|
*/
|
|
1522
1528
|
export declare interface OrderedListStyleInput extends BaseParagraphListStyle {
|
|
1523
1529
|
type: ParagraphListType.ordered;
|
|
1524
1530
|
/**
|
|
1525
1531
|
* The numbering style to use. If undefined, it defaults to a different type depending on the paragraph's indent level.
|
|
1526
|
-
* The defaults for increasing indent are 1, a, i, I, and then they repeat.
|
|
1532
|
+
* The defaults for increasing indent are: 1, a, i, I, and then they repeat.
|
|
1527
1533
|
* These markers and the prefix/postfix strings (if any) are displayed using the same font as the start of the
|
|
1528
1534
|
* paragraph's text content.
|
|
1529
1535
|
*/
|
|
@@ -1555,14 +1561,15 @@ export declare class PageList extends RestrictedItemList<PageNode> {
|
|
|
1555
1561
|
|
|
1556
1562
|
/**
|
|
1557
1563
|
* A PageNode represents a page in the document, a child of the root node of the document's "scenegraph" artwork tree
|
|
1558
|
-
* (see {@link ExpressRootNode}). A page contains one or more artboards,
|
|
1559
|
-
*
|
|
1564
|
+
* (see {@link ExpressRootNode}). A page contains one or more artboards, which in turn contain all the page's visual
|
|
1565
|
+
* content. If multiple artboards are present, each represents a keyframe "scene" in the page's animation timeline.
|
|
1560
1566
|
*
|
|
1561
1567
|
* To create new pages, see {@link PageList.addPage}.
|
|
1562
1568
|
*/
|
|
1563
1569
|
export declare class PageNode extends BaseNode implements IRectangularNode {
|
|
1564
1570
|
/**
|
|
1565
|
-
* The artboards or "scenes"
|
|
1571
|
+
* The artboards or "scenes," which hold the page's visual contents. If multiple artboards are present, this list
|
|
1572
|
+
* represents an ordered keyframe sequence in the page's animation timeline.
|
|
1566
1573
|
* To create new artboards, see {@link ArtboardList.addArtboard}.
|
|
1567
1574
|
*/
|
|
1568
1575
|
get artboards(): ArtboardList;
|
|
@@ -1613,24 +1620,15 @@ export declare class PageNode extends BaseNode implements IRectangularNode {
|
|
|
1613
1620
|
}
|
|
1614
1621
|
|
|
1615
1622
|
/**
|
|
1616
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
1617
|
-
*
|
|
1618
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1619
|
-
*
|
|
1620
|
-
* @experimental
|
|
1621
1623
|
* Indicates list type: see {@link UnorderedListStyleInput} and {@link OrderedListStyleInput}.
|
|
1622
1624
|
*/
|
|
1623
1625
|
export declare enum ParagraphListType {
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
+
none = 0,
|
|
1627
|
+
unordered = 1,
|
|
1628
|
+
ordered = 2
|
|
1626
1629
|
}
|
|
1627
1630
|
|
|
1628
1631
|
/**
|
|
1629
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
1630
|
-
*
|
|
1631
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1632
|
-
*
|
|
1633
|
-
* @experimental
|
|
1634
1632
|
* Text styles that must be applied to an entire paragraph atomically. (Contrast with CharacterStyles which can be applied to
|
|
1635
1633
|
* any range of characters, even a short span like one single word).
|
|
1636
1634
|
*/
|
|
@@ -1639,39 +1637,23 @@ export declare interface ParagraphStyles extends BaseParagraphStyles {
|
|
|
1639
1637
|
}
|
|
1640
1638
|
|
|
1641
1639
|
/**
|
|
1642
|
-
*
|
|
1643
|
-
*
|
|
1644
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1645
|
-
*
|
|
1646
|
-
* @experimental
|
|
1647
|
-
* The variant of {@link ParagraphStyles} with all optional style fields is used to apply ParagraphStyles(). When using that API,
|
|
1640
|
+
* A variant of {@link ParagraphStyles} with all style fields optional, used for applyParagraphStyles(). When using that API,
|
|
1648
1641
|
* any fields not specified are left unchanged, preserving the text's existing styles.
|
|
1649
1642
|
*/
|
|
1650
1643
|
export declare interface ParagraphStylesInput extends Partial<BaseParagraphStyles> {
|
|
1651
|
-
list?:
|
|
1644
|
+
list?: ListStyleInput;
|
|
1652
1645
|
}
|
|
1653
1646
|
|
|
1654
1647
|
/**
|
|
1655
|
-
*
|
|
1656
|
-
*
|
|
1657
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1658
|
-
*
|
|
1659
|
-
* @experimental
|
|
1660
|
-
* A set of {@link ParagraphStyles} and the text range they apply to. It is seen in the paragraphStyleRanges getter.
|
|
1648
|
+
* A set of {@link ParagraphStyles} along with the text range they apply to. Returned by the paragraphStyleRanges getter.
|
|
1661
1649
|
*/
|
|
1662
1650
|
export declare interface ParagraphStylesRange extends ParagraphStyles, StyleRange {}
|
|
1663
1651
|
|
|
1664
1652
|
/**
|
|
1665
|
-
*
|
|
1666
|
-
*
|
|
1667
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1668
|
-
*
|
|
1669
|
-
* @experimental
|
|
1670
|
-
* A variant of {@link ParagraphStylesRange} with all style fields optional and the text range they apply to. Used for the
|
|
1653
|
+
* A variant of {@link ParagraphStylesRange} with all style fields optional, along with the text range they apply to. Used for the
|
|
1671
1654
|
* paragraphStyleRanges setter. When invoking the setter, any fields not specified are reset to their defaults.
|
|
1672
1655
|
*
|
|
1673
|
-
* Paragraphs are separated by newline characters (`\n`).
|
|
1674
|
-
* those boundaries.
|
|
1656
|
+
* Paragraphs are separated by newline characters (`\n`). Ranges specified here should align with those boundaries.
|
|
1675
1657
|
*/
|
|
1676
1658
|
export declare interface ParagraphStylesRangeInput extends ParagraphStylesInput, StyleRange {}
|
|
1677
1659
|
|
|
@@ -1680,6 +1662,9 @@ export declare interface ParagraphStylesRangeInput extends ParagraphStylesInput,
|
|
|
1680
1662
|
* yet, only read.
|
|
1681
1663
|
*
|
|
1682
1664
|
* To create new paths, see {@link Editor.createPath}.
|
|
1665
|
+
*
|
|
1666
|
+
* Note: the visual top-left corner of a path may not be its local (0,0) origin point, so it's easiest to position
|
|
1667
|
+
* a path using {@link Node.setPositionInParent} rather than setting its {@link Node.translation} directly.
|
|
1683
1668
|
*/
|
|
1684
1669
|
export declare class PathNode extends FillableNode {
|
|
1685
1670
|
/**
|
|
@@ -1705,11 +1690,10 @@ export declare interface Point {
|
|
|
1705
1690
|
}
|
|
1706
1691
|
|
|
1707
1692
|
/**
|
|
1708
|
-
* ReadOnlyItemList represents an ordered list of API objects
|
|
1709
|
-
* same parent node. (The reverse is not necessarily true, however: this list might not include all
|
|
1710
|
-
* children that exist in the parent node. See {@link Node.allChildren} for details).
|
|
1693
|
+
* ReadOnlyItemList represents an ordered list of API objects that are all children of the same parent node.
|
|
1711
1694
|
*
|
|
1712
|
-
* Items in a bare ReadOnlyItemList cannot be added, removed, or reordered.
|
|
1695
|
+
* Items in a bare ReadOnlyItemList cannot be added, removed, or reordered. The {@link ItemList} subclass adds more
|
|
1696
|
+
* capabilities, and is most frequently encountered as {@link ArtboardNode.children} or {@link GroupNode.children}.
|
|
1713
1697
|
*/
|
|
1714
1698
|
export declare class ReadOnlyItemList<T extends ListItem> {
|
|
1715
1699
|
/**
|
|
@@ -1846,9 +1830,15 @@ export declare class RectangleNode extends FillableNode implements IRectangularN
|
|
|
1846
1830
|
}
|
|
1847
1831
|
|
|
1848
1832
|
/**
|
|
1849
|
-
*
|
|
1850
|
-
|
|
1851
|
-
|
|
1833
|
+
* Interface for removing a list style.
|
|
1834
|
+
*/
|
|
1835
|
+
declare interface RemoveListStyleInput extends BaseParagraphListStyle {
|
|
1836
|
+
type: ParagraphListType.none;
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
/**
|
|
1840
|
+
* Base for ItemLists that restrict how items are added to the list, but freely allow items to be removed and
|
|
1841
|
+
* reordered. The {@link ItemList} subclass adds more capabilities, however.
|
|
1852
1842
|
*/
|
|
1853
1843
|
declare class RestrictedItemList<T extends ListItem> extends ReadOnlyItemList<T> {
|
|
1854
1844
|
/**
|
|
@@ -1972,26 +1962,39 @@ export declare type SolidColorStrokeWithOptionalType = Omit<SolidColorStroke, "t
|
|
|
1972
1962
|
Partial<Pick<SolidColorStroke, "type">>;
|
|
1973
1963
|
|
|
1974
1964
|
/**
|
|
1975
|
-
*
|
|
1965
|
+
* StandaloneTextContentModel represents a complete piece of text content contained within a single {@link StandaloneTextNode}.
|
|
1966
|
+
*/
|
|
1967
|
+
export declare class StandaloneTextContentModel extends TextNodeContentModel {
|
|
1968
|
+
get allTextNodes(): Readonly<Iterable<StandaloneTextNode>>;
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
/**
|
|
1972
|
+
* A StandaloneTextNode represents text that is displayed *entirely* within one single frame in the scenegraph (in
|
|
1973
|
+
* contrast to {@link ThreadedTextNode}, where text may flow across several separate display "frames").
|
|
1976
1974
|
* The StandaloneTextNode does not directly hold the text content and styles – instead it refers to a {@link TextNodeContentModel}.
|
|
1977
1975
|
*
|
|
1978
|
-
* To create
|
|
1976
|
+
* To create a new StandaloneTextNode, see {@link Editor.createText}.
|
|
1979
1977
|
*/
|
|
1980
1978
|
export declare class StandaloneTextNode extends TextNode {
|
|
1979
|
+
/**
|
|
1980
|
+
* Always returns true for this StandaloneTextNode, indicating that it is not part of a multi-frame text flow.
|
|
1981
|
+
*/
|
|
1982
|
+
isStandaloneText(): this is StandaloneTextNode;
|
|
1983
|
+
/**
|
|
1984
|
+
* The model containing the complete text string and its styles, all which will be visible within the bounds of
|
|
1985
|
+
* this specific StandaloneTextNode.
|
|
1986
|
+
*
|
|
1987
|
+
*/
|
|
1988
|
+
get fullContent(): StandaloneTextContentModel;
|
|
1981
1989
|
get nextTextNode(): undefined;
|
|
1982
1990
|
get layout(): Readonly<AutoWidthTextLayout | AutoHeightTextLayout | UnsupportedTextLayout>;
|
|
1983
1991
|
/**
|
|
1984
|
-
*
|
|
1985
|
-
*
|
|
1986
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
1987
|
-
*
|
|
1988
|
-
* @experimental
|
|
1989
|
-
* Sets the layout mode of the TextNode "frame."
|
|
1992
|
+
* Sets the layout mode of this TextNode "frame" which the text content is displayed within.
|
|
1993
|
+
* {@link AreaTextLayout} is not supported by standalone text.
|
|
1990
1994
|
*
|
|
1991
|
-
*
|
|
1992
|
-
*
|
|
1993
|
-
*
|
|
1994
|
-
* @throws if {@link StandaloneTextNode} is not a part of a multi-frame text content flow and the layout is {@link AreaTextLayout}.
|
|
1995
|
+
* @throws if changing text layout to/from {@link TextLayout.magicFit} or {@link TextLayout.circular}
|
|
1996
|
+
* layout when the text contains fonts that are unavailable to the current user, because these layouts change
|
|
1997
|
+
* capitalization and thus alter which glyphs are displayed.
|
|
1995
1998
|
*/
|
|
1996
1999
|
set layout(layout: AutoWidthTextLayout | AutoHeightTextLayout);
|
|
1997
2000
|
}
|
|
@@ -2104,6 +2107,8 @@ export declare abstract class TextContentModel {
|
|
|
2104
2107
|
get id(): string;
|
|
2105
2108
|
/**
|
|
2106
2109
|
* The complete text string, which may span multiple {@link ThreadedTextNode} "frames" in the scenegraph.
|
|
2110
|
+
* @throws The setter throws if the existing text contains fonts unavailable to the current user.
|
|
2111
|
+
* See {@link hasUnavailableFonts}.
|
|
2107
2112
|
*/
|
|
2108
2113
|
get text(): string;
|
|
2109
2114
|
set text(textContent: string);
|
|
@@ -2174,10 +2179,13 @@ export declare abstract class TextContentModel {
|
|
|
2174
2179
|
*/
|
|
2175
2180
|
deleteText(range: TextRange): void;
|
|
2176
2181
|
/**
|
|
2177
|
-
* The character styles are applied to different ranges of this text content.
|
|
2178
|
-
*
|
|
2179
|
-
*
|
|
2180
|
-
* provided
|
|
2182
|
+
* The character styles that are applied to different ranges of this text content. Each range starts immediately after
|
|
2183
|
+
* the previous one: they are always contiguous, and never overlap.
|
|
2184
|
+
*
|
|
2185
|
+
* When *setting* character styles, any style properties that are not provided are reset to their defaults (contrast to
|
|
2186
|
+
* {@link applyCharacterStyles} which preserves the text's existing styles for any fields not specified). If the ranges
|
|
2187
|
+
* do not cover the full length of the text, the last range is extended to cover all the remaining text.
|
|
2188
|
+
* When *getting* styles, all fields are always provided.
|
|
2181
2189
|
*
|
|
2182
2190
|
* Note: existing fonts used in the document, returned by this getter, are not guaranteed to be ones the current user
|
|
2183
2191
|
* has rights to edit with. The *setter* only accepts the AvailableFont type which has been verified to be usable.
|
|
@@ -2185,20 +2193,10 @@ export declare abstract class TextContentModel {
|
|
|
2185
2193
|
get characterStyleRanges(): readonly CharacterStylesRange[];
|
|
2186
2194
|
set characterStyleRanges(styles: readonly CharacterStylesRangeInput[]);
|
|
2187
2195
|
/**
|
|
2188
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
2189
|
-
*
|
|
2190
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
2191
|
-
*
|
|
2192
|
-
* @experimental
|
|
2193
2196
|
* The styles applied to different paragraphs of this text content.
|
|
2194
2197
|
*/
|
|
2195
2198
|
get paragraphStyleRanges(): readonly ParagraphStylesRange[];
|
|
2196
2199
|
/**
|
|
2197
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
2198
|
-
*
|
|
2199
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
2200
|
-
*
|
|
2201
|
-
* @experimental
|
|
2202
2200
|
* Apply styles to different paragraphs of this text content. Any style properties that are not provided are reset to their defaults.
|
|
2203
2201
|
* When **getting** styles, all properties are always provided.
|
|
2204
2202
|
*
|
|
@@ -2206,7 +2204,7 @@ export declare abstract class TextContentModel {
|
|
|
2206
2204
|
* those boundaries. If multiple ranges provided overlap a single paragraph, the first one to overlap is applied to the
|
|
2207
2205
|
* entire paragraph.
|
|
2208
2206
|
*
|
|
2209
|
-
* @throws if the text
|
|
2207
|
+
* @throws if applying an ordered-list style when the text contains fonts that are unavailable to the current user.
|
|
2210
2208
|
*/
|
|
2211
2209
|
set paragraphStyleRanges(styles: readonly ParagraphStylesRangeInput[]);
|
|
2212
2210
|
/**
|
|
@@ -2214,28 +2212,27 @@ export declare abstract class TextContentModel {
|
|
|
2214
2212
|
* unchanged. Does not modify any styles in the text outside this range. Contrast to the {@link characterStyleRanges}
|
|
2215
2213
|
* setter, which specifies new style range(s) for the entire text at once, and resets any unspecified properties back to
|
|
2216
2214
|
* default styles.
|
|
2217
|
-
|
|
2215
|
+
*
|
|
2216
|
+
* Explicitly specifying `link: ""` will remove any hyperlinks present in the existing text. If the `link` style
|
|
2217
|
+
* property is not specified at all, existing links are preserved.
|
|
2218
|
+
*
|
|
2218
2219
|
* @param styles - The styles to apply.
|
|
2219
|
-
* @param range -The start and length of the character sequence to which the styles should be applied.
|
|
2220
|
-
*
|
|
2221
|
-
* If the specified range doesn't align well with the paragraph boundaries, the range will be expanded to cover the
|
|
2222
|
-
* entire paragraphs, it overlaps.
|
|
2220
|
+
* @param range - The start and length of the character sequence to which the styles should be applied.
|
|
2221
|
+
* If no range is specified, styles will be applied to the entire text content flow.
|
|
2223
2222
|
*/
|
|
2224
2223
|
applyCharacterStyles(styles: CharacterStylesInput, range?: TextRange): void;
|
|
2225
2224
|
/**
|
|
2226
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
2227
|
-
*
|
|
2228
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
2229
|
-
*
|
|
2230
|
-
* @experimental
|
|
2231
2225
|
* Apply one or more styles to the paragraphs in the given range, leaving any style properties that were not specified
|
|
2232
2226
|
* unchanged. Does not modify any styles in the text outside this range. Contrast to the {@link paragraphStyleRanges}
|
|
2233
2227
|
* setter, which specifies new style range(s) for the entire text at once, and resets any unspecified properties back to
|
|
2234
2228
|
* default styles.
|
|
2235
|
-
|
|
2229
|
+
*
|
|
2236
2230
|
* @param styles - The styles to apply.
|
|
2237
|
-
* @param range - The start and length of character sequence to which the styles should be applied.
|
|
2238
|
-
*
|
|
2231
|
+
* @param range - The start and length of character sequence to which the styles should be applied. Styles apply to any
|
|
2232
|
+
* paragraphs that even partially overlap this range.
|
|
2233
|
+
* If range is not specified, the styles will be applied to the entire text content flow.
|
|
2234
|
+
*
|
|
2235
|
+
* @throws if applying an ordered-list style when the text contains fonts that are unavailable to the current user.
|
|
2239
2236
|
*/
|
|
2240
2237
|
applyParagraphStyles(styles: ParagraphStylesInput, range?: TextRange): void;
|
|
2241
2238
|
/**
|
|
@@ -2291,9 +2288,12 @@ declare enum TextLayout {
|
|
|
2291
2288
|
|
|
2292
2289
|
/**
|
|
2293
2290
|
* TextNode is an abstract base class representing text displayed in the scenegraph, regardless of whether it's a fully
|
|
2294
|
-
* self-contained {@link StandaloneTextNode} or one {@link ThreadedTextNode} "
|
|
2291
|
+
* self-contained {@link StandaloneTextNode} or one of multiple {@link ThreadedTextNode} "frames" in a larger flow. The
|
|
2295
2292
|
* APIs on TextNode and its {@link TextNodeContentModel} allow you to generically work with text without needing to know
|
|
2296
|
-
* which
|
|
2293
|
+
* which subtype you are dealing with.
|
|
2294
|
+
*
|
|
2295
|
+
* Note: the visual top-left corner of text is not located at its local (0,0) origin point, so it's easiest to position
|
|
2296
|
+
* text using {@link Node.setPositionInParent} rather than setting its {@link Node.translation} directly.
|
|
2297
2297
|
*/
|
|
2298
2298
|
export declare abstract class TextNode extends Node {
|
|
2299
2299
|
/**
|
|
@@ -2303,6 +2303,9 @@ export declare abstract class TextNode extends Node {
|
|
|
2303
2303
|
* Note: The bounding box of the orphaned TextNode may be different from the bounding box of the node placed on a
|
|
2304
2304
|
* page. It is recommended to use this property only when the node is placed on a page.
|
|
2305
2305
|
*
|
|
2306
|
+
* Note: the visual top-left corner of this box is usually not (0,0). Always use `boundsLocal` or {@link topLeftLocal}
|
|
2307
|
+
* instead of assuming (0,0).
|
|
2308
|
+
*
|
|
2306
2309
|
*/
|
|
2307
2310
|
get boundsLocal(): Readonly<Rect>;
|
|
2308
2311
|
/**
|
|
@@ -2321,6 +2324,8 @@ export declare abstract class TextNode extends Node {
|
|
|
2321
2324
|
* Note: The top-left of the orphaned TextNode may be different from the top-left of the node placed on a
|
|
2322
2325
|
* page. It is recommended to use this property only when the node is placed on a page.
|
|
2323
2326
|
*
|
|
2327
|
+
* Note: this value is usually not (0,0) due to the way text layout is defined.
|
|
2328
|
+
*
|
|
2324
2329
|
*/
|
|
2325
2330
|
get topLeftLocal(): Readonly<Point>;
|
|
2326
2331
|
/**
|
|
@@ -2350,7 +2355,7 @@ export declare abstract class TextNode extends Node {
|
|
|
2350
2355
|
* encountered before.
|
|
2351
2356
|
*
|
|
2352
2357
|
*/
|
|
2353
|
-
get fullContent(): TextNodeContentModel;
|
|
2358
|
+
abstract get fullContent(): TextNodeContentModel;
|
|
2354
2359
|
/**
|
|
2355
2360
|
* Helper method to determine if the text is standalone.
|
|
2356
2361
|
*/
|
|
@@ -2390,11 +2395,6 @@ export declare abstract class TextNode extends Node {
|
|
|
2390
2395
|
*/
|
|
2391
2396
|
get visualEffects(): readonly VisualEffectType[];
|
|
2392
2397
|
/**
|
|
2393
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
2394
|
-
*
|
|
2395
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
2396
|
-
*
|
|
2397
|
-
* @experimental
|
|
2398
2398
|
* @returns The layout mode of the TextNode "frame."
|
|
2399
2399
|
*/
|
|
2400
2400
|
get layout(): Readonly<AutoWidthTextLayout | AutoHeightTextLayout | AreaTextLayout | UnsupportedTextLayout>;
|
|
@@ -2405,15 +2405,17 @@ export declare abstract class TextNode extends Node {
|
|
|
2405
2405
|
* split across multiple {@link ThreadedTextNode} frames for display.
|
|
2406
2406
|
* Use this model to get or modify the text string and the style ranges applied to it.
|
|
2407
2407
|
*/
|
|
2408
|
-
export declare class TextNodeContentModel extends TextContentModel {
|
|
2408
|
+
export declare abstract class TextNodeContentModel extends TextContentModel {
|
|
2409
2409
|
/**
|
|
2410
|
-
* Get ordered list of all {@link TextNode}s that display this text content in the scenegraph.
|
|
2411
|
-
*
|
|
2412
|
-
* text content
|
|
2410
|
+
* Get ordered list of all {@link TextNode}s that display this text content in the scenegraph. This might be a single
|
|
2411
|
+
* {@link StandaloneTextNode} *or* a list of one or more {@link ThreadedTextNode}s. In the case of threaded text, the
|
|
2412
|
+
* text content starts in the first {@link ThreadedTextNode} "frame", and then flows into the second node once it has
|
|
2413
|
+
* filled the first one. The ending of the text content may not be visible at all, if the last "frame" is not large
|
|
2414
|
+
* enough to accommodate it.
|
|
2413
2415
|
*
|
|
2414
|
-
*
|
|
2416
|
+
* All linked ThreadedTextNodes that share a single TextContentModel must remain together within the same artboard.
|
|
2415
2417
|
*/
|
|
2416
|
-
get allTextNodes(): Readonly<Iterable<TextNode>>;
|
|
2418
|
+
abstract get allTextNodes(): Readonly<Iterable<TextNode>>;
|
|
2417
2419
|
}
|
|
2418
2420
|
|
|
2419
2421
|
/**
|
|
@@ -2468,26 +2470,48 @@ export declare enum TextStyleSource {
|
|
|
2468
2470
|
}
|
|
2469
2471
|
|
|
2470
2472
|
/**
|
|
2471
|
-
*
|
|
2472
|
-
*
|
|
2473
|
+
* ThreadedTextContentModel represents a complete piece of text content that is split across multiple
|
|
2474
|
+
* {@link ThreadedTextNode} frames for display. This subclass provides a mutable {@link allFrames} list
|
|
2475
|
+
* that supports adding, removing, and reordering text frames.
|
|
2476
|
+
*
|
|
2477
|
+
* The append and insert operations will automatically parent the new frame to the same parent as the
|
|
2478
|
+
* reference frame and place it in the correct z-order.
|
|
2479
|
+
*/
|
|
2480
|
+
export declare class ThreadedTextContentModel extends TextNodeContentModel {
|
|
2481
|
+
get allTextNodes(): Readonly<Iterable<ThreadedTextNode>>;
|
|
2482
|
+
}
|
|
2483
|
+
|
|
2484
|
+
/**
|
|
2485
|
+
* A ThreadedTextNode represents a text display frame in the scenegraph which is a subset of longer text that flows across
|
|
2486
|
+
* multiple such "frames". Because of this, the TextNode does not directly hold the text content and styles –
|
|
2473
2487
|
* instead it refers to a {@link TextNodeContentModel}, which may be shared across multiple ThreadedTextNode frames.
|
|
2474
2488
|
*
|
|
2475
|
-
*
|
|
2489
|
+
* All linked ThreadedTextNodes that share a single TextContentModel must remain together within the same artboard.
|
|
2490
|
+
*
|
|
2491
|
+
* APIs are not yet available to create multi-frame text flows. To create *non*-threaded text, use {@link Editor.createText}.
|
|
2476
2492
|
*/
|
|
2477
2493
|
export declare class ThreadedTextNode extends TextNode {
|
|
2478
|
-
get nextTextNode(): ThreadedTextNode | undefined;
|
|
2479
|
-
get layout(): Readonly<AreaTextLayout>;
|
|
2480
2494
|
/**
|
|
2481
|
-
*
|
|
2482
|
-
|
|
2483
|
-
|
|
2495
|
+
* Always returns true for this ThreadedTextNode, indicating that it is part of a multi-frame text flow.
|
|
2496
|
+
*/
|
|
2497
|
+
isThreadedText(): this is ThreadedTextNode;
|
|
2498
|
+
/**
|
|
2499
|
+
* The model containing the complete text string and its styles, only part of which may be visible within the bounds of
|
|
2500
|
+
* this specific ThreadedTextNode "frame." The full text content flow may be split across multiple frames, and/or it may be clipped if a
|
|
2501
|
+
* fixed-size frame using {@link AreaTextLayout} does not fit all the (remaining) text.
|
|
2484
2502
|
*
|
|
2485
|
-
*
|
|
2486
|
-
*
|
|
2503
|
+
* Note: When traversing the scenegraph in search of text content, bear in mind that multiple ThreadedTextNodes may refer to the
|
|
2504
|
+
* same single {@link ThreadedTextContentModel}; this can give the impression that the same text is duplicated multiple times when it is
|
|
2505
|
+
* not. Use {@link ThreadedTextContentModel}.id to determine whether a given piece of text content is unique or if it's already been
|
|
2506
|
+
* encountered before.
|
|
2487
2507
|
*
|
|
2508
|
+
*/
|
|
2509
|
+
get fullContent(): ThreadedTextContentModel;
|
|
2510
|
+
get nextTextNode(): ThreadedTextNode | undefined;
|
|
2511
|
+
get layout(): Readonly<AreaTextLayout>;
|
|
2512
|
+
/**
|
|
2513
|
+
* Sets the layout mode of this TextNode "frame" which the text content is displayed within.
|
|
2488
2514
|
* Only {@link AreaTextLayout}, with fully fixed bounds, is currently supported by threaded text.
|
|
2489
|
-
*
|
|
2490
|
-
* @throws if {@link ThreadedTextNode} is part of a multi-frame text content flow and the layout is not {@link AreaTextLayout}.
|
|
2491
2515
|
*/
|
|
2492
2516
|
set layout(layout: AreaTextLayout);
|
|
2493
2517
|
}
|
|
@@ -2512,21 +2536,11 @@ export declare class UnknownMediaRectangleNode extends MediaRectangleNode {}
|
|
|
2512
2536
|
export declare class UnknownNode extends Node {}
|
|
2513
2537
|
|
|
2514
2538
|
/**
|
|
2515
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
2516
|
-
*
|
|
2517
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
2518
|
-
*
|
|
2519
|
-
* @experimental
|
|
2520
2539
|
* UnorderedListStyle represents the style of an unordered list.
|
|
2521
2540
|
*/
|
|
2522
2541
|
export declare type UnorderedListStyle = Required<UnorderedListStyleInput>;
|
|
2523
2542
|
|
|
2524
2543
|
/**
|
|
2525
|
-
* <InlineAlert slots="text" variant="warning"/>
|
|
2526
|
-
*
|
|
2527
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
2528
|
-
*
|
|
2529
|
-
* @experimental
|
|
2530
2544
|
* Interface for specifying an unordered list style, such as a bullet list.
|
|
2531
2545
|
*/
|
|
2532
2546
|
export declare interface UnorderedListStyleInput extends BaseParagraphListStyle {
|
|
@@ -2543,37 +2557,13 @@ export declare interface UnorderedListStyleInput extends BaseParagraphListStyle
|
|
|
2543
2557
|
}
|
|
2544
2558
|
|
|
2545
2559
|
/**
|
|
2546
|
-
*
|
|
2547
|
-
*
|
|
2548
|
-
* **IMPORTANT:** This is currently ***experimental only*** and should not be used in any add-ons you will be distributing until it has been declared stable. To use it, you will first need to set the `experimentalApis` flag to `true` in the [`requirements`](../../../manifest/index.md#requirements) section of the `manifest.json`.
|
|
2549
|
-
*
|
|
2550
|
-
* @experimental
|
|
2560
|
+
* Represents a text layout the API does not yet support setting or reading the details of.
|
|
2551
2561
|
*/
|
|
2552
2562
|
export declare interface UnsupportedTextLayout {
|
|
2553
2563
|
type: TextLayout.magicFit | TextLayout.circular;
|
|
2554
2564
|
}
|
|
2555
2565
|
|
|
2556
|
-
|
|
2557
|
-
* Represents the area of the canvas that is currently visible on-screen.
|
|
2558
|
-
*/
|
|
2559
|
-
export declare class Viewport {
|
|
2560
|
-
/**
|
|
2561
|
-
* Adjusts the viewport to make the node's bounds visible on-screen, assuming all bounds are within the artboard bounds.
|
|
2562
|
-
* Makes the node's {@link ArtboardNode} or {@link PageNode} visible if they were not already visible
|
|
2563
|
-
* (which may result in {@link Context.selection} being cleared). It is strongly recommended
|
|
2564
|
-
* to further draw user's attention to the node, set it as the {@link Context.selection} following this call.
|
|
2565
|
-
*
|
|
2566
|
-
* After this call, the value of {@link Context.insertionParent} will always be the node containing {@link ArtboardNode}.
|
|
2567
|
-
*
|
|
2568
|
-
* Note that the node might still not appear visible if:
|
|
2569
|
-
* - Its animation settings make it invisible at the beginning of the {@link ArtboardNode} "scene".
|
|
2570
|
-
* - It is obscured underneath other artwork in the z-order.
|
|
2571
|
-
* - It is hidden by a {@link GroupNode}'s mask or similar cropping.
|
|
2572
|
-
*/
|
|
2573
|
-
bringIntoView(node: VisualNode): void;
|
|
2574
|
-
}
|
|
2575
|
-
|
|
2576
|
-
export declare const viewport: ExpressViewport;
|
|
2566
|
+
export declare const viewport: ExpressViewportWrapper;
|
|
2577
2567
|
|
|
2578
2568
|
/**
|
|
2579
2569
|
* Visual effects that can be applied to a text node.
|
package/ui/ui-sdk.d.ts
CHANGED
|
@@ -887,7 +887,7 @@ export declare type DisableDragToDocument = () => void;
|
|
|
887
887
|
*/
|
|
888
888
|
declare interface Document_2 {
|
|
889
889
|
/**
|
|
890
|
-
* Add image/PSD/AI assets to the current page
|
|
890
|
+
* Add image/PSD/AI/SVG assets to the current page
|
|
891
891
|
*/
|
|
892
892
|
addImage(blob: Blob, attributes?: MediaAttributes, importAddOnData?: ImportAddOnData): Promise<void>;
|
|
893
893
|
/**
|
|
@@ -1139,6 +1139,10 @@ export declare enum EntrypointType {
|
|
|
1139
1139
|
* Mobile more entrypoint type.
|
|
1140
1140
|
*/
|
|
1141
1141
|
MOBILE_MORE = "mobile.more",
|
|
1142
|
+
/**
|
|
1143
|
+
* Mobile share entrypoint type.
|
|
1144
|
+
*/
|
|
1145
|
+
MOBILE_SHARE = "mobile.share",
|
|
1142
1146
|
/**
|
|
1143
1147
|
* Schedule entrypoint type.
|
|
1144
1148
|
*/
|
|
@@ -1158,7 +1162,15 @@ export declare enum EntrypointType {
|
|
|
1158
1162
|
/**
|
|
1159
1163
|
* Import hub entrypoint type.
|
|
1160
1164
|
*/
|
|
1161
|
-
IMPORT_HUB = "import-hub"
|
|
1165
|
+
IMPORT_HUB = "import-hub",
|
|
1166
|
+
/**
|
|
1167
|
+
* Quick action entrypoint type.
|
|
1168
|
+
*/
|
|
1169
|
+
QUICK_ACTION = "quick-action",
|
|
1170
|
+
/**
|
|
1171
|
+
* Content hub home (L1) entrypoint type.
|
|
1172
|
+
*/
|
|
1173
|
+
CONTENT_HUB_HOME = "content-hub-home"
|
|
1162
1174
|
}
|
|
1163
1175
|
|
|
1164
1176
|
export declare interface Field {
|
|
@@ -1527,6 +1539,10 @@ export declare interface PageMetadata {
|
|
|
1527
1539
|
* Whether the page contains animated content
|
|
1528
1540
|
*/
|
|
1529
1541
|
hasAnimatedContent: boolean;
|
|
1542
|
+
/**
|
|
1543
|
+
* The page's background color in ARGB format (32-bit integer)
|
|
1544
|
+
*/
|
|
1545
|
+
backgroundARGB?: number;
|
|
1530
1546
|
/**
|
|
1531
1547
|
* Whether the page is blank
|
|
1532
1548
|
*/
|