@adobe/ccweb-add-on-sdk-types 1.11.0 → 1.12.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/ccweb-add-on-sdk-types",
3
- "version": "1.11.0",
3
+ "version": "1.12.0",
4
4
  "author": "Adobe",
5
5
  "license": "MIT",
6
6
  "description": "Type definitions for Adobe Creative Cloud Web Add-on SDK.",
@@ -30,61 +30,31 @@ import { mat2d } from "gl-matrix";
30
30
  */
31
31
  export declare class AddOnData {
32
32
  /**
33
- * <InlineAlert slots="text" variant="warning"/>
34
- *
35
- * **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`.
36
- *
37
- * @experimental
38
33
  * Sets a private metadata entry on the node.
39
34
  * @param key - The key for the private metadata entry.
40
35
  * @param value - The value for the private metadata entry.
41
36
  */
42
37
  setItem(key: string, value: string): void;
43
38
  /**
44
- * <InlineAlert slots="text" variant="warning"/>
45
- *
46
- * **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`.
47
- *
48
- * @experimental
49
39
  * Retrieves the private metadata value for the specified key on the node.
50
40
  * @param key - The key of the private metadata entry to retrieve.
51
41
  * @returns The value of the private metadata entry.
52
42
  */
53
43
  getItem(key: string): string | undefined;
54
44
  /**
55
- * <InlineAlert slots="text" variant="warning"/>
56
- *
57
- * **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`.
58
- *
59
- * @experimental
60
45
  * Removes a single private metadata entry on the node.
61
46
  * @param key - The key of the private metadata entry to remove.
62
47
  */
63
48
  removeItem(key: string): void;
64
49
  /**
65
- * <InlineAlert slots="text" variant="warning"/>
66
- *
67
- * **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`.
68
- *
69
- * @experimental
70
50
  * Clears all private metadata entries on the node.
71
51
  */
72
52
  clear(): void;
73
53
  /**
74
- * <InlineAlert slots="text" variant="warning"/>
75
- *
76
- * **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`.
77
- *
78
- * @experimental
79
54
  * @returns an array of all keys for the private metadata entries on the node.
80
55
  */
81
56
  keys(): string[];
82
57
  /**
83
- * <InlineAlert slots="text" variant="warning"/>
84
- *
85
- * **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`.
86
- *
87
- * @experimental
88
58
  * @returns an object with the remaining quota for private metadata on the node for this add-on.
89
59
  * The object contains the following properties:
90
60
  * - sizeInBytes: The remaining quota size in bytes (maximum 3KB).
@@ -177,7 +147,7 @@ export declare class ArtboardList extends RestrictedItemList<ArtboardNode> {
177
147
  * Artboards are always contained on a {@link PageNode}; when a page contains multiple artboards, the artboards represent
178
148
  * "scenes" in a linear timeline sequence.
179
149
  *
180
- * To create new artboards, see {@link ArtboardList.addArtboard}.
150
+ * To create a new artboard, see {@link ArtboardList.addArtboard}.
181
151
  *
182
152
  * Please note that creating and deleting an artboard in a single frame will crash the editor.
183
153
  */
@@ -319,11 +289,6 @@ declare abstract class BaseFont {
319
289
  */
320
290
  export declare class BaseNode {
321
291
  /**
322
- * <InlineAlert slots="text" variant="warning"/>
323
- *
324
- * **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`.
325
- *
326
- * @experimental
327
292
  * Get {@link AddOnData} reference for managing the private metadata on this node for this add-on.
328
293
  */
329
294
  get addOnData(): AddOnData;
@@ -367,6 +332,47 @@ export declare class BaseNode {
367
332
  removeFromParent(): void;
368
333
  }
369
334
 
335
+ /**
336
+ * <InlineAlert slots="text" variant="warning"/>
337
+ *
338
+ * **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`.
339
+ *
340
+ * @experimental
341
+ * BaseParagraphListStyle interface represents common properties shared between ordered and unordered list types.
342
+ */
343
+ declare interface BaseParagraphListStyle {
344
+ /** A value from 0-8 that specifies indent/nesting level. Default is 0 if not provided. */
345
+ indentLevel?: number;
346
+ }
347
+
348
+ /**
349
+ * <InlineAlert slots="text" variant="warning"/>
350
+ *
351
+ * **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`.
352
+ *
353
+ * @experimental
354
+ * Base paragraph styles that can be applied to an entire paragraph atomically.
355
+ * Excludes list style settings, which differ between the getter-oriented {@link ParagraphStyles} interface and the
356
+ * setter-oriented {@link ParagraphStylesRangeInput}.
357
+ */
358
+ declare interface BaseParagraphStyles {
359
+ /**
360
+ * Space before paragraph (in points). It does not affect the first paragraph. It is additive to previous paragraph's spaceAfter
361
+ * (adjacent spacing does not merge/collapse together).
362
+ */
363
+ spaceBefore: number;
364
+ /**
365
+ * Space after paragraph (in points). It does not affect the last paragraph. It is additive to the next paragraph's spaceBefore
366
+ * (adjacent spacing does not merge/collapse together).
367
+ */
368
+ spaceAfter: number;
369
+ /**
370
+ * Spacing between lines, aka leading, expressed as a multiple of the font size's default spacing - ex. 1.5 = 150% of normal.
371
+ * It only affects the space *between* lines, not the space above the first line or below the last line.
372
+ */
373
+ lineSpacing: number;
374
+ }
375
+
370
376
  /**
371
377
  * Represents a bitmap image resource. Use {@link Editor.loadBitmapImage} to create a BitmapImage, and then {@link Editor.createImageContainer}
372
378
  * to display it in the document by creating a MediaContainerNode structure.
@@ -462,8 +468,7 @@ export declare interface CharacterStylesInput extends Partial<BaseCharacterStyle
462
468
  * **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`.
463
469
  *
464
470
  * @experimental
465
- * A set of {@link CharacterStyles} along with the range of characters they apply to. Seen in the characterStyleRanges
466
- * getter.
471
+ * A set of {@link CharacterStyles} along with the range of characters they apply to. Seen in the characterStyleRanges getter.
467
472
  *
468
473
  * Note that fonts returned by the getter are *not* guaranteed to be ones the user has rights to edit with, even though they
469
474
  * are visible in the document.
@@ -585,6 +590,22 @@ export declare interface ContainerNode extends VisualNode {
585
590
  * Contains the user's current selection state, indicating the content they are focused on.
586
591
  */
587
592
  export declare class Context {
593
+ /**
594
+ * Registers a handler for editor events such as selection change.
595
+ * The registered callback will be invoked when the specified event occurs.
596
+ * Note: Do not attempt to make changes to the document in response to a selection change callback because it may destabilize the application.
597
+ * @param eventName - an editor event name.
598
+ * @param callback - a callback to be registered for an editor event.
599
+ * @returns a unique ID for the registered event handler.
600
+ */
601
+ on(eventName: EditorEvent, callback: EditorEventHandler): EventHandlerId;
602
+ /**
603
+ * Unregisters handlers for editor events like selection change.
604
+ * @param eventName - an editor event name.
605
+ * @param handlerId - a unique ID returned by `editor.context.on` API.
606
+ * Callback that was previously registered will be removed and will no more be invoked when the event occurs.
607
+ */
608
+ off(eventName: EditorEvent, handlerId: EventHandlerId): void;
588
609
  /**
589
610
  * @returns the current selection. Nodes that are locked or otherwise non-editable are never included in the selection.
590
611
  */
@@ -620,32 +641,6 @@ export declare class Context {
620
641
  * @returns The currently viewed page.
621
642
  */
622
643
  get currentPage(): PageNode;
623
- /**
624
- * <InlineAlert slots="text" variant="warning"/>
625
- *
626
- * **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`.
627
- *
628
- * @experimental
629
- * Registers a handler for editor events such as selection change.
630
- * The registered callback will be invoked when the specified event occurs.
631
- * Note: Do not attempt to make changes to the document in response to a selection change callback because it may destabilize the application.
632
- * @param eventName - an editor event name.
633
- * @param callback - a callback to be registered for an editor event.
634
- * @returns a unique ID for the registered event handler.
635
- */
636
- on(eventName: EditorEvent, callback: EditorEventHandler): EventHandlerId;
637
- /**
638
- * <InlineAlert slots="text" variant="warning"/>
639
- *
640
- * **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`.
641
- *
642
- * @experimental
643
- * Unregisters handlers for editor events like selection change.
644
- * @param eventName - an editor event name.
645
- * @param handlerId - a unique ID returned by `editor.context.on` API.
646
- * Callback that was previously registered will be removed and will no more be invoked when the event occurs.
647
- */
648
- off(eventName: EditorEvent, handlerId: EventHandlerId): void;
649
644
  }
650
645
 
651
646
  /**
@@ -795,11 +790,6 @@ export declare class Editor {
795
790
  export declare const editor: ExpressEditor;
796
791
 
797
792
  /**
798
- * <InlineAlert slots="text" variant="warning"/>
799
- *
800
- * **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`.
801
- *
802
- * @experimental
803
793
  * This enum represents the supported editor events.
804
794
  */
805
795
  export declare enum EditorEvent {
@@ -807,11 +797,6 @@ export declare enum EditorEvent {
807
797
  }
808
798
 
809
799
  /**
810
- * <InlineAlert slots="text" variant="warning"/>
811
- *
812
- * **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`.
813
- *
814
- * @experimental
815
800
  * This type represents function signature for the editor event handler callback.
816
801
  */
817
802
  export declare type EditorEventHandler = () => void;
@@ -843,11 +828,6 @@ export declare class EllipseNode extends FillableNode {
843
828
  }
844
829
 
845
830
  /**
846
- * <InlineAlert slots="text" variant="warning"/>
847
- *
848
- * **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`.
849
- *
850
- * @experimental
851
831
  * This type represents unique id of each event handler callback that is registered.
852
832
  */
853
833
  export declare type EventHandlerId = string;
@@ -871,7 +851,7 @@ declare class ExpressFonts extends Fonts {}
871
851
  export declare class ExpressRootNode extends BaseNode {
872
852
  /**
873
853
  * The pages of the document. All visual content is contained on artboards within the pages.
874
- * To create new pages, see {@link PageList.addPage}.
854
+ * To create a new page, see {@link PageList.addPage}.
875
855
  */
876
856
  get pages(): PageList;
877
857
  }
@@ -1126,7 +1106,7 @@ export declare class ItemList<T extends ListItem> extends RestrictedItemList<T>
1126
1106
  /**
1127
1107
  * A LineNode represents a simple vector line in the scenegraph – a single straight-line segment.
1128
1108
  *
1129
- * To create new lines, see {@link Editor.createLine}.
1109
+ * To create a new line, see {@link Editor.createLine}.
1130
1110
  */
1131
1111
  export declare class LineNode extends StrokableNode {
1132
1112
  static readonly DEFAULT_START_X = 0;
@@ -1313,7 +1293,9 @@ declare class Node extends VisualNode {
1313
1293
  get transformMatrix(): mat2d;
1314
1294
  /**
1315
1295
  * The node's lock/unlock state. Locked nodes are excluded from the selection (see {@link Context.selection}), and
1316
- * cannot be edited by the user unless they are unlocked first.
1296
+ * cannot be edited by the user in the UI unless they are unlocked first. Operations on locked nodes using the API
1297
+ * are permitted. However, please consider if modifying a locked node would align with user expectations
1298
+ * before using the API to make changes to locked nodes.
1317
1299
  */
1318
1300
  get locked(): boolean;
1319
1301
  set locked(locked: boolean);
@@ -1326,10 +1308,61 @@ declare class Node extends VisualNode {
1326
1308
  }
1327
1309
  export { Node as Node };
1328
1310
 
1311
+ /**
1312
+ * <InlineAlert slots="text" variant="warning"/>
1313
+ *
1314
+ * **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`.
1315
+ *
1316
+ * @experimental
1317
+ * Numbering types used to display ordered lists: 1, A, a, I, i 01, 001.
1318
+ */
1319
+ export declare enum OrderedListNumbering {
1320
+ numeric = 1,
1321
+ uppercaseAlpha = 2,
1322
+ lowercaseAlpha = 3,
1323
+ uppercaseRomanNum = 4,
1324
+ lowercaseRomanNum = 5,
1325
+ singleZeroPrefixNumeric = 7,
1326
+ doubleZeroPrefixNumeric = 8
1327
+ }
1328
+
1329
+ /**
1330
+ * <InlineAlert slots="text" variant="warning"/>
1331
+ *
1332
+ * **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`.
1333
+ *
1334
+ * @experimental
1335
+ * OrderedListStyle represents the style of an ordered list.
1336
+ */
1337
+ export declare type OrderedListStyle = Required<OrderedListStyleInput>;
1338
+
1339
+ /**
1340
+ * <InlineAlert slots="text" variant="warning"/>
1341
+ *
1342
+ * **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`.
1343
+ *
1344
+ * @experimental
1345
+ * Interface for specifying an ordered list style, such as a numbered list.
1346
+ */
1347
+ export declare interface OrderedListStyleInput extends BaseParagraphListStyle {
1348
+ type: ParagraphListType.ordered;
1349
+ /**
1350
+ * The numbering style to use. If undefined, it defaults to a different type depending on the paragraph's indent level.
1351
+ * The defaults for increasing indent are 1, a, i, I, and then they repeat.
1352
+ * These markers and the prefix/postfix strings (if any) are displayed using the same font as the start of the
1353
+ * paragraph's text content.
1354
+ */
1355
+ numbering?: OrderedListNumbering;
1356
+ /** Additional string to display before each sequence number/letter, e.g. "(" */
1357
+ prefix?: string;
1358
+ /** Additional string to display after each sequence number/letter, e.g. ")" or "." */
1359
+ postfix?: string;
1360
+ }
1361
+
1329
1362
  /**
1330
1363
  * PageList represents an ordered list of PageNodes, all of which are children of the root node of the document's "scenegraph"
1331
1364
  * artwork tree (see {@link ExpressRootNode}). A page contains one or more artboards, representing "scenes" in a linear timeline
1332
- * sequence. Those artboards in turn contain all the visual content of the document.
1365
+ * sequence. Those artboards, in turn, contain all the visual content of the document.
1333
1366
  *
1334
1367
  * PageList also provides APIs for adding/removing pages from the document. PageList is never empty: it is illegal to
1335
1368
  * remove the last remaining page from the list.
@@ -1348,7 +1381,7 @@ export declare class PageList extends RestrictedItemList<PageNode> {
1348
1381
  /**
1349
1382
  * A PageNode represents a page in the document, a child of the root node of the document's "scenegraph" artwork tree
1350
1383
  * (see {@link ExpressRootNode}). A page contains one or more artboards, representing "scenes" in a linear timeline
1351
- * sequence. Those artboards in turn contain all the visual content of the document.
1384
+ * sequence. Those artboards, in turn, contain all the visual content of the document.
1352
1385
  *
1353
1386
  * To create new pages, see {@link PageList.addPage}.
1354
1387
  */
@@ -1384,6 +1417,69 @@ export declare class PageNode extends BaseNode implements Readonly<IRectangularN
1384
1417
  cloneInPlace(): PageNode;
1385
1418
  }
1386
1419
 
1420
+ /**
1421
+ * <InlineAlert slots="text" variant="warning"/>
1422
+ *
1423
+ * **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`.
1424
+ *
1425
+ * @experimental
1426
+ * Indicates list type: see {@link UnorderedListStyleInput} and {@link OrderedListStyleInput}.
1427
+ */
1428
+ export declare enum ParagraphListType {
1429
+ unordered = 0,
1430
+ ordered = 1
1431
+ }
1432
+
1433
+ /**
1434
+ * <InlineAlert slots="text" variant="warning"/>
1435
+ *
1436
+ * **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`.
1437
+ *
1438
+ * @experimental
1439
+ * Text styles that must be applied to an entire paragraph atomically. (Contrast with CharacterStyles which can be applied to
1440
+ * any range of characters, even a short span like one single word).
1441
+ */
1442
+ export declare interface ParagraphStyles extends BaseParagraphStyles {
1443
+ list?: OrderedListStyle | UnorderedListStyle;
1444
+ }
1445
+
1446
+ /**
1447
+ * <InlineAlert slots="text" variant="warning"/>
1448
+ *
1449
+ * **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`.
1450
+ *
1451
+ * @experimental
1452
+ * The variant of {@link ParagraphStyles} with all optional style fields is used to apply ParagraphStyles(). When using that API,
1453
+ * any fields not specified are left unchanged, preserving the text's existing styles.
1454
+ */
1455
+ export declare interface ParagraphStylesInput extends Partial<BaseParagraphStyles> {
1456
+ list?: OrderedListStyleInput | UnorderedListStyleInput;
1457
+ }
1458
+
1459
+ /**
1460
+ * <InlineAlert slots="text" variant="warning"/>
1461
+ *
1462
+ * **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`.
1463
+ *
1464
+ * @experimental
1465
+ * A set of {@link ParagraphStyles} and the text range they apply to. It is seen in the paragraphStyleRanges getter.
1466
+ */
1467
+ export declare interface ParagraphStylesRange extends ParagraphStyles, StyleRange {}
1468
+
1469
+ /**
1470
+ * <InlineAlert slots="text" variant="warning"/>
1471
+ *
1472
+ * **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`.
1473
+ *
1474
+ * @experimental
1475
+ * A variant of {@link ParagraphStylesRange} with all style fields optional and the text range they apply to. Used for the
1476
+ * paragraphStyleRanges setter. When invoking the setter, any fields not specified are reset to their defaults.
1477
+ *
1478
+ * Paragraphs are separated by newline characters (`\n`). The ranges specified here should align with
1479
+ * those boundaries.
1480
+ */
1481
+ export declare interface ParagraphStylesRangeInput extends ParagraphStylesInput, StyleRange {}
1482
+
1387
1483
  /**
1388
1484
  * A PathNode represents a generic vector path shape in the scenegraph. Paths cannot be edited through this API
1389
1485
  * yet, only read.
@@ -1461,7 +1557,7 @@ export declare class ReadOnlyItemList<T extends ListItem> {
1461
1557
  /**
1462
1558
  * All items in the list, as a static array. Mutations that occur later are not reflected in an array returned earlier.
1463
1559
  */
1464
- toArray(): Readonly<T[]>;
1560
+ toArray(): readonly T[];
1465
1561
  }
1466
1562
 
1467
1563
  declare interface Rect {
@@ -1479,7 +1575,7 @@ export declare interface RectangleGeometry {
1479
1575
  /**
1480
1576
  * A RectangleNode represents a rectangle shape in the scenegraph.
1481
1577
  *
1482
- * To create new rectangles, see {@link Editor.createRectangle}.
1578
+ * To create a new rectangle, see {@link Editor.createRectangle}.
1483
1579
  */
1484
1580
  export declare class RectangleNode extends FillableNode implements IRectangularNode {
1485
1581
  /**
@@ -1793,7 +1889,7 @@ export declare class TextContentModel {
1793
1889
  * **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`.
1794
1890
  *
1795
1891
  * @experimental
1796
- * The character styles applied to different ranges of this text content. When setting character styles, any style
1892
+ * The character styles are applied to different ranges of this text content. When setting character styles, any style
1797
1893
  * properties that are not provided are reset to their defaults (contrast to {@link applyCharacterStyles} which
1798
1894
  * preserves the text's existing styles for any fields not specified). When *getting* styles, all fields are always
1799
1895
  * provided.
@@ -1803,6 +1899,31 @@ export declare class TextContentModel {
1803
1899
  */
1804
1900
  get characterStyleRanges(): readonly CharacterStylesRange[];
1805
1901
  set characterStyleRanges(styles: readonly CharacterStylesRangeInput[]);
1902
+ /**
1903
+ * <InlineAlert slots="text" variant="warning"/>
1904
+ *
1905
+ * **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`.
1906
+ *
1907
+ * @experimental
1908
+ * The styles applied to different paragraphs of this text content.
1909
+ */
1910
+ get paragraphStyleRanges(): readonly ParagraphStylesRange[];
1911
+ /**
1912
+ * <InlineAlert slots="text" variant="warning"/>
1913
+ *
1914
+ * **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`.
1915
+ *
1916
+ * @experimental
1917
+ * Apply styles to different paragraphs of this text content. Any style properties that are not provided are reset to their defaults.
1918
+ * When **getting** styles, all properties are always provided.
1919
+ *
1920
+ * Paragraphs are separated by newline characters (`\n`). The ranges specified here should align with
1921
+ * those boundaries. If multiple ranges provided overlap a single paragraph, the first one to overlap is applied to the
1922
+ * entire paragraph.
1923
+ *
1924
+ * @throws if the text content contains fonts unavailable to the current user and an ordered-list style is being applied.
1925
+ */
1926
+ set paragraphStyleRanges(styles: readonly ParagraphStylesRangeInput[]);
1806
1927
  /**
1807
1928
  * <InlineAlert slots="text" variant="warning"/>
1808
1929
  *
@@ -1815,8 +1936,10 @@ export declare class TextContentModel {
1815
1936
  * default styles.
1816
1937
 
1817
1938
  * @param styles - The styles to apply.
1818
- * @param range - The start and length of character sequence to which the styles should be applied.
1819
- * If not specified the styles will be applied to the entire piece of text content flow.
1939
+ * @param range -The start and length of the character sequence to which the styles should be applied.
1940
+ * The styles will be applied to the entire text content flow if not specified.
1941
+ * If the specified range doesn't align well with the paragraph boundaries, the range will be expanded to cover the
1942
+ * entire paragraphs, it overlaps.
1820
1943
  */
1821
1944
  applyCharacterStyles(
1822
1945
  styles: CharacterStylesInput,
@@ -1825,6 +1948,28 @@ export declare class TextContentModel {
1825
1948
  length: number;
1826
1949
  }
1827
1950
  ): void;
1951
+ /**
1952
+ * <InlineAlert slots="text" variant="warning"/>
1953
+ *
1954
+ * **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`.
1955
+ *
1956
+ * @experimental
1957
+ * Apply one or more styles to the paragraphs in the given range, leaving any style properties that were not specified
1958
+ * unchanged. Does not modify any styles in the text outside this range. Contrast to the {@link paragraphStyleRanges}
1959
+ * setter, which specifies new style range(s) for the entire text at once, and resets any unspecified properties back to
1960
+ * default styles.
1961
+
1962
+ * @param styles - The styles to apply.
1963
+ * @param range - The start and length of character sequence to which the styles should be applied.
1964
+ * If not specified the styles will be applied to the entire piece of text content flow.
1965
+ */
1966
+ applyParagraphStyles(
1967
+ styles: ParagraphStylesInput,
1968
+ range?: {
1969
+ start: number;
1970
+ length: number;
1971
+ }
1972
+ ): void;
1828
1973
  }
1829
1974
 
1830
1975
  /**
@@ -1906,10 +2051,11 @@ export declare class TextNode extends Node {
1906
2051
  * Sets the layout mode of the TextNode "frame."
1907
2052
  *
1908
2053
  * If this TextNode is part of a multi-frame text content flow, it must be configured to use {@link AreaTextLayout}. Other
1909
- * layout modes are only available for single-frame text.
2054
+ * layout modes, except for {@link AreaTextLayout}, are only available for single-frame text.
1910
2055
  *
1911
2056
  * @throws if changing text layout to/from {@link TextType.magicFit} or {@link TextType.circular} layout when the text contains font(s) unavailable to the current user.
1912
- * @throws if TextNode is part of a multi-frame text content flow and the layout is not {@link AreaTextLayout}.
2057
+ * @throws if {@link TextNode} is part of a multi-frame text content flow and the layout is not {@link AreaTextLayout}.
2058
+ * @throws if {@link TextNode} is not a part of a multi-frame text content flow and the layout is {@link AreaTextLayout}.
1913
2059
  */
1914
2060
  set layout(layout: PointTextLayout | AutoHeightTextLayout | AreaTextLayout);
1915
2061
  }
@@ -1945,6 +2091,37 @@ export declare class UnavailableFont extends BaseFont {
1945
2091
  */
1946
2092
  export declare class UnknownNode extends Node {}
1947
2093
 
2094
+ /**
2095
+ * <InlineAlert slots="text" variant="warning"/>
2096
+ *
2097
+ * **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`.
2098
+ *
2099
+ * @experimental
2100
+ * UnorderedListStyle represents the style of an unordered list.
2101
+ */
2102
+ export declare type UnorderedListStyle = Required<UnorderedListStyleInput>;
2103
+
2104
+ /**
2105
+ * <InlineAlert slots="text" variant="warning"/>
2106
+ *
2107
+ * **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`.
2108
+ *
2109
+ * @experimental
2110
+ * Interface for specifying an unordered list style, such as a bullet list.
2111
+ */
2112
+ export declare interface UnorderedListStyleInput extends BaseParagraphListStyle {
2113
+ type: ParagraphListType.unordered;
2114
+ /**
2115
+ * Marker symbol to use. If undefined, it defaults to a different symbol depending on the paragraph's indent level.
2116
+ * The defaults for increasing indent are: •, ◦, ◼, ◻, and then they repeat.
2117
+ * Markers are always displayed using the default font (SourceSans3 Regular), regardless of the font(s) used in the
2118
+ * paragraph's text content. A default marker is used instead if the default font does not support the symbol.
2119
+ *
2120
+ * Text or Unicode glyphs are accepted to represent the list marker.
2121
+ */
2122
+ marker?: string;
2123
+ }
2124
+
1948
2125
  /**
1949
2126
  * <InlineAlert slots="text" variant="warning"/>
1950
2127
  *
@@ -1962,11 +2139,11 @@ export declare interface UnsupportedTextLayout {
1962
2139
  export declare class Viewport {
1963
2140
  /**
1964
2141
  * Adjusts the viewport to make the node's bounds visible on-screen, assuming all bounds are within the artboard bounds.
1965
- * Makes the node's {@link ArtboardNode} or {@link PageNode} visible if they were not already
1966
- * (which may result in {@link Context.selection} being cleared). It is strongly recomended
1967
- * to further draw user's attention to the node by setting it as the {@link Context.selection} following this call.
2142
+ * Makes the node's {@link ArtboardNode} or {@link PageNode} visible if they were not already visible
2143
+ * (which may result in {@link Context.selection} being cleared). It is strongly recommended
2144
+ * to further draw user's attention to the node, set it as the {@link Context.selection} following this call.
1968
2145
  *
1969
- * After this call, the value of {@link Context.insertionParent} will always be the node's containing {@link ArtboardNode}.
2146
+ * After this call, the value of {@link Context.insertionParent} will always be the node containing {@link ArtboardNode}.
1970
2147
  *
1971
2148
  * Note that the node might still not appear visible if:
1972
2149
  * - Its animation settings make it invisible at the beginning of the {@link ArtboardNode} "scene".
package/ui/ui-sdk.d.ts CHANGED
@@ -238,7 +238,6 @@ declare interface ApplicationBase {
238
238
  dragOptions?: DragOptions
239
239
  ): DisableDragToDocument;
240
240
  /**
241
- * @experimental - Experimental API
242
241
  * Register iframe with the add-on SDK.
243
242
  * @param element - HTMLIframeElement to be registered.
244
243
  * @returns UnregisterIframe - Callback to unregister iframe from the add-on SDK.
@@ -745,6 +744,11 @@ declare interface Document_2 {
745
744
  * Import a presentation to the document.
746
745
  */
747
746
  importPresentation(blob: Blob, attributes: MediaAttributes): void;
747
+ /**
748
+ * @experimental - Experimental API
749
+ * Run print quality check
750
+ */
751
+ runPrintQualityCheck(options: PrintQualityCheckOptions): void;
748
752
  }
749
753
  export { Document_2 as Document };
750
754
 
@@ -1133,6 +1137,10 @@ export declare interface PageMetadata {
1133
1137
  * Whether page contains timelines
1134
1138
  */
1135
1139
  hasTemporalContent: boolean;
1140
+ /**
1141
+ * Whether the page is blank
1142
+ */
1143
+ isBlank?: boolean;
1136
1144
  /**
1137
1145
  * Pixels per inch of the page
1138
1146
  */
@@ -1141,21 +1149,16 @@ export declare interface PageMetadata {
1141
1149
  * Whether page is ready to print
1142
1150
  */
1143
1151
  isPrintReady?: boolean;
1152
+ /**
1153
+ * Template details of the page
1154
+ */
1155
+ templateDetails?: TemplateDetails;
1144
1156
  }
1145
1157
 
1146
1158
  /**
1147
1159
  * Options for fetching page metadata
1148
1160
  */
1149
- export declare interface PageMetadataOptions {
1150
- /**
1151
- * Page range of the document to get the metadata
1152
- */
1153
- range: Range_2;
1154
- /**
1155
- * Ids of the pages (Only required if the range is "specificPages")
1156
- */
1157
- pageIds?: string[];
1158
- }
1161
+ export declare interface PageMetadataOptions extends RangeOptions {}
1159
1162
 
1160
1163
  export declare interface PageRendition extends Rendition {
1161
1164
  /**
@@ -1350,6 +1353,12 @@ export declare interface PngRenditionOptions extends RenditionOptions {
1350
1353
  };
1351
1354
  }
1352
1355
 
1356
+ /**
1357
+ * @experimental - Experimental API
1358
+ * Options for running print quality check
1359
+ */
1360
+ export declare interface PrintQualityCheckOptions extends RangeOptions {}
1361
+
1353
1362
  /**
1354
1363
  * Takes a type and wraps it in a Promise, if it not already is one.
1355
1364
  * This is to avoid `Promise<Promise<T>>`.
@@ -1392,6 +1401,20 @@ declare enum Range_2 {
1392
1401
  }
1393
1402
  export { Range_2 as Range };
1394
1403
 
1404
+ /**
1405
+ * Options for providing range of pages
1406
+ */
1407
+ export declare interface RangeOptions {
1408
+ /**
1409
+ * Page range of the document
1410
+ */
1411
+ range: Range_2;
1412
+ /**
1413
+ * Ids of the pages (Only required if the range is "specificPages")
1414
+ */
1415
+ pageIds?: string[];
1416
+ }
1417
+
1395
1418
  /**
1396
1419
  * Takes the raw type of a remote object or function in the other thread and returns the type as it is visible to
1397
1420
  * the local thread from the proxy return value of `Runtime.apiProxy()`.
@@ -1484,19 +1507,11 @@ export declare enum RenditionIntent {
1484
1507
  print = "print"
1485
1508
  }
1486
1509
 
1487
- export declare interface RenditionOptions {
1488
- /**
1489
- * Range of the document to get the rendition
1490
- */
1491
- range: Range_2;
1510
+ export declare interface RenditionOptions extends RangeOptions {
1492
1511
  /**
1493
1512
  * Format of the rendition
1494
1513
  */
1495
1514
  format: RenditionFormat;
1496
- /**
1497
- * Ids of the pages (Only required if the range is "specificPages")
1498
- */
1499
- pageIds?: string[];
1500
1515
  }
1501
1516
 
1502
1517
  /**
@@ -1584,6 +1599,20 @@ export declare interface SearchAction extends PanelAction {
1584
1599
 
1585
1600
  export declare type SimpleDialogOptions = AlertDialogOptions | InputDialogOptions;
1586
1601
 
1602
+ /**
1603
+ * Represents template data for a page
1604
+ */
1605
+ export declare interface TemplateDetails {
1606
+ /**
1607
+ * Unique id of the template
1608
+ */
1609
+ id: string;
1610
+ /**
1611
+ * Creative intent of the template
1612
+ */
1613
+ creativeIntent?: string;
1614
+ }
1615
+
1587
1616
  /**
1588
1617
  * Interface that contains methods and properties that are Application UI related.
1589
1618
  */
@@ -1605,7 +1634,6 @@ export declare interface UI {
1605
1634
  */
1606
1635
  readonly locales: string[];
1607
1636
  /**
1608
- * @experimental - Experimental API
1609
1637
  * Opens an Editor Panel
1610
1638
  * @param panel - one of {@link EditorPanel}
1611
1639
  * @param action - optional action to be performed on the panel {@link PanelAction}
@@ -1629,7 +1657,6 @@ declare type Unpromisify<P> = P extends Promise<infer T> ? T : P;
1629
1657
  declare type UnproxyOrClone<T> = T extends RemoteObject<ProxyMarked> ? Local<T> : T;
1630
1658
 
1631
1659
  /**
1632
- * @experimental - Experimental API
1633
1660
  * Callback to unregister iframe from the add-on SDK.
1634
1661
  */
1635
1662
  declare type UnregisterIframe = () => void;