Skip to content

Release 20250430 #38

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ To quickly get started building an Adobe Express add-on, follow these steps, or

You'll need:

- Node 16 or better
- NPM 8 or better
- Node 18 or better
- NPM 10 or better
- A text editor
- A free Adobe account — don't have one? Get one [here](https://www.adobe.com/express/)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@adobe/ccweb-add-on-sdk-types",
"comment": "Renamed enum TextType to TextLayout, ColorPickerEvent enum to ColorPickerEvents, updated TextAlignment enum, stabilized ColorPicker API, exported payload types ",
"type": "minor"
}
],
"packageName": "@adobe/ccweb-add-on-sdk-types"
}
2 changes: 1 addition & 1 deletion packages/wxp-sdk-types/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@adobe/ccweb-add-on-sdk-types",
"version": "1.15.0",
"version": "1.16.0",
"author": "Adobe",
"license": "MIT",
"description": "Type definitions for Adobe Creative Cloud Web Add-on SDK.",
Expand Down
81 changes: 55 additions & 26 deletions packages/wxp-sdk-types/sandbox/express-document-sdk.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ declare namespace ApiConstants {
StrokePosition,
StrokeType,
TextAlignment,
TextType,
TextLayout,
EditorEvent,
VisualEffectType,
ParagraphListType,
Expand All @@ -105,7 +105,7 @@ declare interface ApiModuleExport {
* @experimental
*/
export declare interface AreaTextLayout {
type: TextType.area;
type: TextLayout.area;
/**
* The width of the text node in pixels.
*/
Expand All @@ -120,6 +120,11 @@ export declare interface AreaTextLayout {
* <InlineAlert slots="text" variant="warning"/>
*
* *Do not depend on the literal numeric values of these constants*, as they may change. Always reference the enum identifiers in your code.
*
* <InlineAlert slots="text" variant="warning"/>
*
* *Additional arrowhead types may be added in the future.* If your code has different branches or cases depending on arrow type,
* always have a default/fallback case to handle any unknown values you may encounter.
*/
declare enum ArrowHeadType {
none = 0,
Expand Down Expand Up @@ -201,7 +206,7 @@ export declare class ArtboardNode extends VisualNode implements IRectangularNode
* @experimental
*/
export declare interface AutoHeightTextLayout {
type: TextType.autoHeight;
type: TextLayout.autoHeight;
/**
* The width of the text node in pixels.
*/
Expand Down Expand Up @@ -1477,7 +1482,7 @@ export declare interface Point {
* @experimental
*/
export declare interface PointTextLayout {
type: TextType.autoWidth;
type: TextLayout.autoWidth;
}

/**
Expand Down Expand Up @@ -1799,11 +1804,17 @@ declare interface StyleRange {
* <InlineAlert slots="text" variant="warning"/>
*
* *Do not depend on the literal numeric values of these constants*, as they may change. Always reference the enum identifiers in your code.
*
* <InlineAlert slots="text" variant="warning"/>
*
* *Additional alignment types may be added in the future.* If your code has different branches or cases depending on text alignment,
* always have a default/fallback case to handle any unknown values you may encounter.
*/
declare enum TextAlignment {
left = 1,
right = 2,
center = 3
center = 3,
justifyLeft = 4
}

/**
Expand Down Expand Up @@ -1917,6 +1928,43 @@ export declare class TextContentModel {
hasUnavailableFonts(): boolean;
}

/**
* <InlineAlert slots="text" variant="warning"/>
*
* *Do not depend on the literal numeric values of these constants*, as they may change. Always reference the enum identifiers in your code.
*
* <InlineAlert slots="text" variant="warning"/>
*
* *Additional text layout types may be added in the future.* If your code has different branches or cases depending on layout type,
* always have a default/fallback case to handle any unknown values you may encounter.
*/
declare enum TextLayout {
/**
* Area text: both width and height are explicitly set. If text content is too long to fit, the end of the text will be
* clipped. If text content is short, the frame's bounds will occupy extra height that is just blank space.
*/
area = 1,
/**
* Auto-height text: Width is explicitly set, and text wraps to use as much vertical space as necessary to display the
* full content.
*/
autoHeight = 2,
/**
* Auto-width, aka point text: both width and height are automatically determined based on the content. There is no
* automatic line wrapping, so the text will all be on one line unless the text contains explicit newlines.
*/
autoWidth = 3,
/**
* Text is arranged in a circle or arc. The API does not yet support setting or reading the details of this layout style.
*/
circular = 4,
/**
* Aka "Dynamic" layout in the UI: text size and styles are automatically varied to create an attractive multi-line layout.
* The API does not yet support setting or reading the details of this layout style.
*/
magicFit = 5
}

/**
* A TextNode represents a text display frame in the scenegraph. It may display an entire piece of text, or sometimes just
* a subset of longer text that flows across multiple TextNode "frames". Because of this, the TextNode does not directly hold
Expand Down Expand Up @@ -2006,7 +2054,7 @@ export declare class TextNode extends Node {
* If this TextNode is part of a multi-frame text content flow, it must be configured to use {@link AreaTextLayout}. Other
* layout modes, except for {@link AreaTextLayout}, are only available for single-frame text.
*
* @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.
* @throws if changing text layout to/from {@link TextLayout.magicFit} or {@link TextLayout.circular} layout when the text contains font(s) unavailable to the current user.
* @throws if {@link TextNode} is part of a multi-frame text content flow and the layout is not {@link AreaTextLayout}.
* @throws if {@link TextNode} is not a part of a multi-frame text content flow and the layout is {@link AreaTextLayout}.
*/
Expand All @@ -2021,25 +2069,6 @@ declare interface TextRange {
length: number;
}

/**
* <InlineAlert slots="text" variant="warning"/>
*
* *Do not depend on the literal numeric values of these constants*, as they may change. Always reference the enum identifiers in your code.
*/
declare enum TextType {
area = 1,
/**
* Soft bottom
*/
autoHeight = 2,
/**
* Point text
*/
autoWidth = 3,
circular = 4,
magicFit = 5
}

/**
* Font the current user does not have access or licensing permissions to create / edit content with.
*/
Expand Down Expand Up @@ -2091,7 +2120,7 @@ export declare interface UnorderedListStyleInput extends BaseParagraphListStyle
* @experimental
*/
export declare interface UnsupportedTextLayout {
type: TextType.magicFit | TextType.circular;
type: TextLayout.magicFit | TextLayout.circular;
}

/**
Expand Down
26 changes: 11 additions & 15 deletions packages/wxp-sdk-types/ui/ui-sdk.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -258,17 +258,15 @@ declare interface ApplicationBase {
showModalDialog(dialogOptions: CustomDialogOptions): Promise<CustomDialogResult>;

/**
* @experimental - Experimental API
* Shows a color picker popover anchored to the specified element.
* The anchor element must be an instance of HTMLElement.
* Custom DOM events are dispatched on the anchor element when the color changes or the color picker closes.
* See {@link ColorPickerEvents} for more details.
* See {@link ColorPickerEvent} for more details.
* @param anchorElement - The HTML element to anchor the color picker to.
* @param options - Optional configuration options for customizing the color picker behavior and appearance.
*/
showColorPicker(anchorElement: HTMLElement, options?: ColorPickerOptions): Promise<void>;
/**
* @experimental - Experimental API
* Hides the color picker popover if it is currently visible.
*/
hideColorPicker(): Promise<void>;
Expand Down Expand Up @@ -538,10 +536,9 @@ export declare interface ClientStorage {
}

/**
* @experimental - Experimental API
* Custom DOM events dispatched on the anchor element passed to `showColorPicker()` API.
*/
export declare enum ColorPickerEvents {
export declare enum ColorPickerEvent {
/**
* Color change event dispatched when a color is selected.
* The event detail will contain a 'color' property of type string.
Expand All @@ -554,7 +551,6 @@ export declare enum ColorPickerEvents {
}

/**
* @experimental - Experimental API
* Options that can be passed to the `showColorPicker` API to customize the color picker's behavior and appearance.
*/
export declare interface ColorPickerOptions {
Expand All @@ -564,10 +560,12 @@ export declare interface ColorPickerOptions {
*/
title?: string;
/**
* Initial color for the color picker, in 0xRRGGBB format.
* Initial color for the color picker, in hex format.
* Can provide either as a number in 0xRRGGBB or 0xRRGGBBAA format,
* or as a string in "#RRGGBB" or "#RRGGBBAA" format.
* Default color is 0xFFFFFF (white).
*/
initialColor?: number;
initialColor?: number | string;
/**
* Placement of the color picker popover relative to the anchor element.
* Default placement is ColorPickerPlacement.left.
Expand All @@ -586,7 +584,6 @@ export declare interface ColorPickerOptions {
}

/**
* @experimental - Experimental API
* Denotes the placement of the color picker popover relative to its anchor element.
* Used in the placement option of `showColorPicker()` API.
*/
Expand Down Expand Up @@ -631,7 +628,6 @@ declare namespace Constants {
DeviceClass,
PlatformType,
ColorPickerPlacement,
ColorPickerEvents,
AuthorizationStatus
};
}
Expand Down Expand Up @@ -856,21 +852,21 @@ export { Document_2 as Document };
/**
* The payload data sent to the document id available event handler.
*/
declare interface DocumentIdAvailableEventData {
export declare interface DocumentIdAvailableEventData {
documentId: string | undefined;
}

/**
* The payload data sent to the document link available event handler.
*/
declare interface DocumentLinkAvailableEventData {
export declare interface DocumentLinkAvailableEventData {
documentLink: string | undefined;
}

/**
* The payload data sent to the document title change event handler.
*/
declare interface DocumentTitleChangeEventData {
export declare interface DocumentTitleChangeEventData {
documentTitle: string;
}

Expand Down Expand Up @@ -907,7 +903,7 @@ export declare interface DragCompletionData {
/**
* Interface to provide drag options which can be passed to enableDragToDocument to change the drag behavior.
*/
declare interface DragOptions {
export declare interface DragOptions {
/**
* Use preview size for the drag image instead of the element size
*/
Expand Down Expand Up @@ -1778,7 +1774,7 @@ declare type UnproxyOrClone<T> = T extends RemoteObject<ProxyMarked> ? Local<T>
/**
* Callback to unregister iframe from the add-on SDK.
*/
declare type UnregisterIframe = () => void;
export declare type UnregisterIframe = () => void;

/**
* Types of dialog variants supported.
Expand Down
14 changes: 7 additions & 7 deletions rush.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,43 +19,43 @@
"packageName": "@adobe/ccweb-add-on-manifest",
"projectFolder": "packages/add-on-manifest",
"reviewCategory": "production",
"shouldPublish": true
"shouldPublish": false
},
{
"packageName": "@adobe/ccweb-add-on-core",
"projectFolder": "packages/wxp-core",
"reviewCategory": "production",
"shouldPublish": true
"shouldPublish": false
},
{
"packageName": "@adobe/create-ccweb-add-on",
"projectFolder": "packages/create-ccweb-add-on",
"reviewCategory": "production",
"shouldPublish": true
"shouldPublish": false
},
{
"packageName": "@adobe/ccweb-add-on-scaffolder",
"projectFolder": "packages/wxp-add-on-scaffolder",
"reviewCategory": "production",
"shouldPublish": true
"shouldPublish": false
},
{
"packageName": "@adobe/ccweb-add-on-scripts",
"projectFolder": "packages/wxp-scripts",
"reviewCategory": "production",
"shouldPublish": true
"shouldPublish": false
},
{
"packageName": "@adobe/ccweb-add-on-ssl",
"projectFolder": "packages/wxp-ssl",
"reviewCategory": "production",
"shouldPublish": true
"shouldPublish": false
},
{
"packageName": "@adobe/ccweb-add-on-analytics",
"projectFolder": "packages/wxp-analytics",
"reviewCategory": "production",
"shouldPublish": true
"shouldPublish": false
},
{
"packageName": "@adobe/ccweb-add-on-sdk-types",
Expand Down