@adobe/ccweb-add-on-sdk-types 1.30.0 → 1.32.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.30.0",
3
+ "version": "1.32.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
@@ -888,6 +888,11 @@ export declare type DisableDragToDocument = () => void;
888
888
  * Represents the active document of the host application
889
889
  */
890
890
  declare interface Document_2 {
891
+ /**
892
+ * @experimental - Experimental API
893
+ * Review and Approval workflow
894
+ */
895
+ readonly reviewAndApproval: ReviewAndApproval;
891
896
  /**
892
897
  * Add image/PSD/AI/SVG assets to the current page
893
898
  */
@@ -1976,6 +1981,13 @@ export declare interface RenditionOptions extends RangeOptions {
1976
1981
  format: RenditionFormat;
1977
1982
  }
1978
1983
 
1984
+ /**
1985
+ * Rendition options for review asset export.
1986
+ * Mirrors the service-side RenditionOptions for Review and Approval workflow — no page range, full document only.
1987
+ * @experimental - Experimental interface
1988
+ */
1989
+ export declare interface RenditionOptionsReviewAndApproval extends Omit<RenditionOptions, "range" | "pageIds"> {}
1990
+
1979
1991
  /**
1980
1992
  * Rendition Type
1981
1993
  */
@@ -1986,6 +1998,43 @@ export declare enum RenditionType {
1986
1998
  page = "page"
1987
1999
  }
1988
2000
 
2001
+ /**
2002
+ * Interface for Review and Approval workflow operations
2003
+ * @experimental - Experimental API
2004
+ */
2005
+ export declare interface ReviewAndApproval {
2006
+ /**
2007
+ * Sets the template review configuration
2008
+ * @param options - Configuration options for template review
2009
+ * @returns Promise resolving to the configuration response
2010
+ */
2011
+ setTemplateReviewConfig(options: SetTemplateReviewConfigOptions): Promise<void>;
2012
+ /**
2013
+ * Deletes the template review configuration
2014
+ * @returns Promise that resolves when configuration is deleted
2015
+ */
2016
+ deleteTemplateReviewConfig(): Promise<void>;
2017
+ /**
2018
+ * Starts a review request
2019
+ * @param options - Options for the review request
2020
+ * @returns Promise resolving to the review request response
2021
+ */
2022
+ startReviewRequest(options: StartReviewRequestOptions): Promise<StartReviewRequestResponse>;
2023
+ /**
2024
+ * Cancels an ongoing review request
2025
+ * @returns Promise that resolves when request is cancelled
2026
+ */
2027
+ cancelReviewRequest(): Promise<void>;
2028
+ }
2029
+
2030
+ export declare enum ReviewStatus {
2031
+ REVIEW_NOT_STARTED = "REVIEW_NOT_STARTED",
2032
+ REVIEW_REQUESTED_IN_PROGRESS = "REVIEW_REQUESTED_IN_PROGRESS",
2033
+ REVIEW_REQUESTED = "REVIEW_REQUESTED",
2034
+ AUTHOR_RE_EDIT = "AUTHOR_RE_EDIT",
2035
+ APPROVED = "APPROVED"
2036
+ }
2037
+
1989
2038
  export declare interface Runtime {
1990
2039
  readonly type: RuntimeType;
1991
2040
  /**
@@ -2063,6 +2112,15 @@ export declare interface SearchAction extends PanelAction {
2063
2112
  searchString: string;
2064
2113
  }
2065
2114
 
2115
+ /**
2116
+ * Options for setting template review configuration
2117
+ * @experimental - Experimental interface
2118
+ */
2119
+ export declare interface SetTemplateReviewConfigOptions {
2120
+ /** Review Workflow ID to configure */
2121
+ reviewWorkflowId: string;
2122
+ }
2123
+
2066
2124
  export declare type SimpleDialogOptions = AlertDialogOptions | InputDialogOptions;
2067
2125
 
2068
2126
  /**
@@ -2097,6 +2155,35 @@ export declare interface SourceMimeTypeInfo {
2097
2155
  sourceMimeType?: SupportedMimeTypes;
2098
2156
  }
2099
2157
 
2158
+ /**
2159
+ * Options for starting a review request
2160
+ * @experimental - Experimental interface
2161
+ */
2162
+ export declare interface StartReviewRequestOptions {
2163
+ /**
2164
+ * Add-on's unique identifier for this review.
2165
+ * Add-on generates this UUID to correlate with their external system.
2166
+ */
2167
+ reviewRequestId: string;
2168
+ /** Rendition options specifying format for exporting review assets */
2169
+ renditionOptions: RenditionOptionsReviewAndApproval;
2170
+ }
2171
+
2172
+ /**
2173
+ * Response from starting a review request
2174
+ * @experimental - Experimental interface
2175
+ */
2176
+ export declare interface StartReviewRequestResponse {
2177
+ /** URL for the add-on to POST review decisions to */
2178
+ decisionSubmissionWebhookUrl: string;
2179
+ /** ID of the document in the review workflow */
2180
+ documentId: string;
2181
+ /** Status after operation */
2182
+ status: ReviewStatus;
2183
+ /** Exported renditions of the document for review */
2184
+ renditions: Blob[];
2185
+ }
2186
+
2100
2187
  export declare enum SupportedMimeTypes {
2101
2188
  docx = "docx",
2102
2189
  gdoc = "gdoc"