@adobe/ccweb-add-on-sdk-types 1.31.0 → 1.33.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.31.0",
3
+ "version": "1.33.0",
4
4
  "author": "Adobe",
5
5
  "license": "MIT",
6
6
  "description": "Type definitions for Adobe Creative Cloud Web Add-on SDK.",
@@ -573,11 +573,6 @@ export declare class ColorUtils {
573
573
  export declare const colorUtils: ExpressColorUtilsWrapper;
574
574
 
575
575
  /**
576
- * <InlineAlert slots="text" variant="warning"/>
577
- *
578
- * **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`.
579
- *
580
- * @experimental
581
576
  * An interface for arbitrary resize operations regardless of whether given a width or height when using {@link Node.resize}.
582
577
  */
583
578
  declare interface CommonResizeOptions {
@@ -1445,7 +1440,36 @@ export declare class MediaContainerNode extends Node implements IMediaContainerN
1445
1440
  * different shape via this API.
1446
1441
  */
1447
1442
  get maskShape(): FillableNode;
1443
+ /**
1444
+ * Replace original media while preserving the existing filter effects. Any generative fill modifications will be removed.
1445
+ * Crop settings are not preserved.
1446
+ * @param media - New content to display. Currently must be a {@link BitmapImage}.
1447
+ */
1448
1448
  replaceMedia(media: BitmapImage): void;
1449
+ /**
1450
+ * <InlineAlert slots="text" variant="warning"/>
1451
+ *
1452
+ * **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`.
1453
+ *
1454
+ * @experimental
1455
+ * Replace the current media with an edited version of the same media while preserving existing filter effects,
1456
+ * per-element metadata, and asset provenance.
1457
+ *
1458
+ * Use this when the new blob is a modified version of the current image (e.g., an edited,
1459
+ * recolored, or upscaled variant) rather than a completely unrelated image.
1460
+ *
1461
+ * The original per-element metadata (i.e., node.addOnData) and provenance (including attribution IDs, author
1462
+ * information, source information such as Adobe Stock) are preserved.
1463
+ *
1464
+ * If the new image has the same aspect ratio as the original, the previous image’s crop settings
1465
+ * remain unchanged.
1466
+ *
1467
+ * @param blob - A blob containing the transformed bitmap derived from the current media.
1468
+ * @param options.preserveCutoutFilter - If true, preserves the existing cutout filter from
1469
+ * the current media.
1470
+ * @throws If the current media has been generated or modified by generative AI.
1471
+ */
1472
+ replaceMediaWithEditedImage(blob: Blob, options: ReplaceMediaWithEditedImageOptions): Promise<void>;
1449
1473
  }
1450
1474
 
1451
1475
  /**
@@ -1573,11 +1597,6 @@ declare class Node extends VisualNode implements INodeBounds {
1573
1597
  get blendMode(): BlendMode;
1574
1598
  set blendMode(value: BlendMode);
1575
1599
  /**
1576
- * <InlineAlert slots="text" variant="warning"/>
1577
- *
1578
- * **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`.
1579
- *
1580
- * @experimental
1581
1600
  * Resizes this node based on the given {@link ResizeOptions}.
1582
1601
  */
1583
1602
  resize(options: ResizeOptions): void;
@@ -1960,6 +1979,14 @@ declare interface RemoveListStyleInput extends BaseParagraphListStyle {
1960
1979
  * **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`.
1961
1980
  *
1962
1981
  * @experimental
1982
+ * Options for {@link MediaContainerNode.replaceMediaWithEditedImage}.
1983
+ */
1984
+ export declare interface ReplaceMediaWithEditedImageOptions {
1985
+ /** If true, preserves the existing cutout filter from the current media. */
1986
+ preserveCutoutFilter: boolean;
1987
+ }
1988
+
1989
+ /**
1963
1990
  * An interface for rescaling the node based on a given height when using {@link Node.resize}.
1964
1991
  */
1965
1992
  declare interface RescaleProportionalToHeightOptions extends CommonResizeOptions {
@@ -1970,11 +1997,6 @@ declare interface RescaleProportionalToHeightOptions extends CommonResizeOptions
1970
1997
  }
1971
1998
 
1972
1999
  /**
1973
- * <InlineAlert slots="text" variant="warning"/>
1974
- *
1975
- * **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`.
1976
- *
1977
- * @experimental
1978
2000
  * An interface for rescaling the node based on a given width when using {@link Node.resize}.
1979
2001
  */
1980
2002
  declare interface RescaleProportionalToWidthOptions extends CommonResizeOptions {
@@ -1985,11 +2007,6 @@ declare interface RescaleProportionalToWidthOptions extends CommonResizeOptions
1985
2007
  }
1986
2008
 
1987
2009
  /**
1988
- * <InlineAlert slots="text" variant="warning"/>
1989
- *
1990
- * **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`.
1991
- *
1992
- * @experimental
1993
2010
  * An enum for controlling the behavior of {@link Node.resize}.
1994
2011
  */
1995
2012
  export declare enum ResizeBehavior {
@@ -2013,11 +2030,6 @@ export declare enum ResizeBehavior {
2013
2030
  }
2014
2031
 
2015
2032
  /**
2016
- * <InlineAlert slots="text" variant="warning"/>
2017
- *
2018
- * **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`.
2019
- *
2020
- * @experimental
2021
2033
  * A type union for providing the necessary arguments to {@link Node.resize}.
2022
2034
  *
2023
2035
  * Note that some nodes only support proportional resizing. In some cases this is always true (e.g. images) while in
@@ -2030,11 +2042,6 @@ export declare type ResizeOptions =
2030
2042
  | ResizeUsingHeightOptions;
2031
2043
 
2032
2044
  /**
2033
- * <InlineAlert slots="text" variant="warning"/>
2034
- *
2035
- * **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`.
2036
- *
2037
- * @experimental
2038
2045
  * An interface for resizing the node based on a given height when using {@link Node.resize}.
2039
2046
  */
2040
2047
  declare interface ResizeUsingHeightOptions extends CommonResizeOptions {
@@ -2045,11 +2052,6 @@ declare interface ResizeUsingHeightOptions extends CommonResizeOptions {
2045
2052
  }
2046
2053
 
2047
2054
  /**
2048
- * <InlineAlert slots="text" variant="warning"/>
2049
- *
2050
- * **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`.
2051
- *
2052
- * @experimental
2053
2055
  * An interface for resizing the node based on a given width when using {@link Node.resize}.
2054
2056
  */
2055
2057
  declare interface ResizeUsingWidthOptions extends CommonResizeOptions {
package/ui/ui-sdk.d.ts CHANGED
@@ -175,7 +175,12 @@ export declare enum AppEvent {
175
175
  /**
176
176
  * triggered when the document's export permission status changes in review and approval workflow.
177
177
  */
178
- documentExportAllowedChange = "documentExportAllowedChange"
178
+ documentExportAllowedChange = "documentExportAllowedChange",
179
+
180
+ /**
181
+ * triggered when the host delivers review settings (or related) updates to the add-on.
182
+ */
183
+ updateReviewSettings = "updateReviewSettings"
179
184
  }
180
185
 
181
186
  export declare type AppEventHandlerType<Event extends AppEventType> = (data: AppEventsTypeMap[Event]) => void;
@@ -197,6 +202,9 @@ declare interface AppEventsTypeMap {
197
202
  [AppEvent.documentPublishedLinkAvailable]: DocumentPublishedLinkAvailableEventData;
198
203
  [AppEvent.documentTitleChange]: DocumentTitleChangeEventData;
199
204
  [AppEvent.documentExportAllowedChange]: DocumentExportAllowedChangeEventData;
205
+
206
+ /** Delivered when the host sends review settings (or related) updates to the add-on. */
207
+ [AppEvent.updateReviewSettings]: undefined;
200
208
  }
201
209
 
202
210
  export declare type AppEventType = keyof AppEventsTypeMap & string;
@@ -888,6 +896,10 @@ export declare type DisableDragToDocument = () => void;
888
896
  * Represents the active document of the host application
889
897
  */
890
898
  declare interface Document_2 {
899
+ /**
900
+ * Review and Approval workflow
901
+ */
902
+ readonly reviewAndApproval: ReviewAndApproval;
891
903
  /**
892
904
  * Add image/PSD/AI/SVG assets to the current page
893
905
  */
@@ -1976,6 +1988,12 @@ export declare interface RenditionOptions extends RangeOptions {
1976
1988
  format: RenditionFormat;
1977
1989
  }
1978
1990
 
1991
+ /**
1992
+ * Rendition options for review asset export.
1993
+ * Mirrors the service-side RenditionOptions for Review and Approval workflow — no page range, full document only.
1994
+ */
1995
+ export declare interface RenditionOptionsReviewAndApproval extends Omit<RenditionOptions, "range" | "pageIds"> {}
1996
+
1979
1997
  /**
1980
1998
  * Rendition Type
1981
1999
  */
@@ -1986,6 +2004,47 @@ export declare enum RenditionType {
1986
2004
  page = "page"
1987
2005
  }
1988
2006
 
2007
+ /**
2008
+ * Interface for Review and Approval workflow operations
2009
+ */
2010
+ export declare interface ReviewAndApproval {
2011
+ /**
2012
+ * Sets the template review configuration
2013
+ * @param options - Configuration options for template review
2014
+ * @returns Promise resolving to the configuration response
2015
+ */
2016
+ setTemplateReviewConfig(options: SetTemplateReviewConfigOptions): Promise<void>;
2017
+ /**
2018
+ * Deletes the template review configuration
2019
+ * @returns Promise that resolves when configuration is deleted
2020
+ */
2021
+ deleteTemplateReviewConfig(): Promise<void>;
2022
+ /**
2023
+ * Starts a review request
2024
+ * @param options - Options for the review request
2025
+ * @returns Promise resolving to the review request response
2026
+ */
2027
+ startReviewRequest(options: StartReviewRequestOptions): Promise<StartReviewRequestResponse>;
2028
+ /**
2029
+ * Cancels an ongoing review request
2030
+ * @returns Promise that resolves when request is cancelled
2031
+ */
2032
+ cancelReviewRequest(): Promise<void>;
2033
+ /**
2034
+ * Completes an ongoing 3P add-on review request, hides any blocking progress modal, and reloads the document
2035
+ * @returns Promise that resolves when the 3P add-on review is marked complete
2036
+ */
2037
+ completeReviewRequest(): Promise<void>;
2038
+ }
2039
+
2040
+ export declare enum ReviewStatus {
2041
+ REVIEW_NOT_STARTED = "REVIEW_NOT_STARTED",
2042
+ REVIEW_REQUESTED_IN_PROGRESS = "REVIEW_REQUESTED_IN_PROGRESS",
2043
+ REVIEW_REQUESTED = "REVIEW_REQUESTED",
2044
+ AUTHOR_RE_EDIT = "AUTHOR_RE_EDIT",
2045
+ APPROVED = "APPROVED"
2046
+ }
2047
+
1989
2048
  export declare interface Runtime {
1990
2049
  readonly type: RuntimeType;
1991
2050
  /**
@@ -2063,6 +2122,14 @@ export declare interface SearchAction extends PanelAction {
2063
2122
  searchString: string;
2064
2123
  }
2065
2124
 
2125
+ /**
2126
+ * Options for setting template review configuration
2127
+ */
2128
+ export declare interface SetTemplateReviewConfigOptions {
2129
+ /** Review Workflow ID to configure */
2130
+ reviewWorkflowId: string;
2131
+ }
2132
+
2066
2133
  export declare type SimpleDialogOptions = AlertDialogOptions | InputDialogOptions;
2067
2134
 
2068
2135
  /**
@@ -2097,6 +2164,33 @@ export declare interface SourceMimeTypeInfo {
2097
2164
  sourceMimeType?: SupportedMimeTypes;
2098
2165
  }
2099
2166
 
2167
+ /**
2168
+ * Options for starting a review request
2169
+ */
2170
+ export declare interface StartReviewRequestOptions {
2171
+ /**
2172
+ * Add-on's unique identifier for this review.
2173
+ * Add-on generates this UUID to correlate with their external system.
2174
+ */
2175
+ reviewRequestId: string;
2176
+ /** Rendition options specifying format for exporting review assets */
2177
+ renditionOptions: RenditionOptionsReviewAndApproval;
2178
+ }
2179
+
2180
+ /**
2181
+ * Response from starting a review request
2182
+ */
2183
+ export declare interface StartReviewRequestResponse {
2184
+ /** URL for the add-on to POST review decisions to */
2185
+ decisionSubmissionWebhookUrl: string;
2186
+ /** ID of the document in the review workflow */
2187
+ documentId: string;
2188
+ /** Status after operation */
2189
+ status: ReviewStatus;
2190
+ /** Exported renditions of the document for review */
2191
+ renditions: Blob[];
2192
+ }
2193
+
2100
2194
  export declare enum SupportedMimeTypes {
2101
2195
  docx = "docx",
2102
2196
  gdoc = "gdoc"