@canva/intents 2.4.1-beta.0 → 2.5.1-beta.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.5.1-beta.0 - 2026-04-10
4
+
5
+ ### Changed
6
+
7
+ - Promotion intents from preview to ga
8
+
3
9
  ## 2.4.1-beta.0 - 2026-03-30
4
10
 
5
11
  ### Added
package/beta.d.ts CHANGED
@@ -195,6 +195,20 @@ declare interface BasePreview {
195
195
  status: PreviewStatus;
196
196
  }
197
197
 
198
+ /**
199
+ * @public
200
+ * Base metadata available for a selected media item in a media slot.
201
+ *
202
+ * Canva populates this when returning {@link OutputType} in Settings UI contexts.
203
+ * Apps should not set this value.
204
+ */
205
+ declare interface BaseSelection {
206
+ /**
207
+ * Metadata about the source content represented by this selection.
208
+ */
209
+ selectionMetadata?: readonly SelectionMetadata[];
210
+ }
211
+
198
212
  /**
199
213
  * @public
200
214
  * Cell containing a boolean value.
@@ -304,11 +318,14 @@ declare namespace content {
304
318
  VideoRequirement,
305
319
  DocumentRequirement,
306
320
  EmailRequirement,
321
+ BaseSelection,
307
322
  MediaSelection,
308
323
  ImageSelection,
309
324
  VideoSelection,
310
325
  DocumentSelection,
311
326
  EmailSelection,
327
+ SelectionMetadata,
328
+ SelectionDesignMetadata,
312
329
  DocumentSize,
313
330
  PublishFileFormat,
314
331
  ExactValueRange,
@@ -1068,9 +1085,9 @@ declare interface DocumentRequirement extends BaseFileRequirement {
1068
1085
  * @public
1069
1086
  * Selection metadata for a document media item.
1070
1087
  */
1071
- declare type DocumentSelection = {
1088
+ declare interface DocumentSelection extends BaseSelection {
1072
1089
  kind: 'document';
1073
- };
1090
+ }
1074
1091
 
1075
1092
  /**
1076
1093
  * @public
@@ -1154,9 +1171,9 @@ declare interface EmailRequirement extends BaseFileRequirement {
1154
1171
  * @public
1155
1172
  * Selection metadata for an email media item.
1156
1173
  */
1157
- declare type EmailSelection = {
1174
+ declare interface EmailSelection extends BaseSelection {
1158
1175
  kind: 'email';
1159
- };
1176
+ }
1160
1177
 
1161
1178
  /**
1162
1179
  * @public
@@ -1365,11 +1382,7 @@ declare type ImageRef = string & {
1365
1382
  * };
1366
1383
  * ```
1367
1384
  */
1368
- declare interface ImageRequirement extends BaseFileRequirement {
1369
- /**
1370
- * Supported image format.
1371
- */
1372
- format: 'png' | 'jpg';
1385
+ declare type ImageRequirement = BaseFileRequirement & {
1373
1386
  /**
1374
1387
  * Aspect ratio constraint (width / height).
1375
1388
  *
@@ -1378,15 +1391,37 @@ declare interface ImageRequirement extends BaseFileRequirement {
1378
1391
  * - `{ min: 0.8, max: 1.91 }`: Instagram range
1379
1392
  */
1380
1393
  aspectRatio?: ValueRange;
1381
- }
1394
+ } & ({
1395
+ /**
1396
+ * JPG image export.
1397
+ */
1398
+ format: 'jpg';
1399
+ } | {
1400
+ /**
1401
+ * PNG image export.
1402
+ */
1403
+ format: 'png';
1404
+ /**
1405
+ * Controls transparent-background support for PNG exports.
1406
+ *
1407
+ * @remarks
1408
+ * - Only applies when `format` is `'png'`
1409
+ * - If omitted or `false`, Canva exports a standard opaque PNG
1410
+ * - If `true`, Canva shows a `Transparent background` toggle in the publish flow
1411
+ * - Users without the required Canva entitlement may be prompted to upgrade before a transparent export is produced
1412
+ *
1413
+ * @defaultValue false
1414
+ */
1415
+ allowTransparentBackground?: boolean;
1416
+ });
1382
1417
 
1383
1418
  /**
1384
1419
  * @public
1385
1420
  * Selection metadata for an image media item.
1386
1421
  */
1387
- declare type ImageSelection = {
1422
+ declare interface ImageSelection extends BaseSelection {
1388
1423
  kind: 'image';
1389
- };
1424
+ }
1390
1425
 
1391
1426
  /**
1392
1427
  * @public
@@ -1617,9 +1652,6 @@ declare type MediaCollectionDataTableCell = {
1617
1652
  /**
1618
1653
  * @public
1619
1654
  * Metadata about a selected media item in a media slot.
1620
- *
1621
- * Canva populates this when returning {@link OutputType} in Settings UI contexts.
1622
- * Apps should not set this value.
1623
1655
  */
1624
1656
  declare type MediaSelection = ImageSelection | VideoSelection | DocumentSelection | EmailSelection;
1625
1657
 
@@ -2653,6 +2685,28 @@ declare type RenderSettingsUiRequest = {
2653
2685
 
2654
2686
  };
2655
2687
 
2688
+ /**
2689
+ * @public
2690
+ * Metadata specific to design content represented by a media selection.
2691
+ */
2692
+ declare interface SelectionDesignMetadata {
2693
+ type: 'design';
2694
+ /**
2695
+ * A signed JWT token containing the design id
2696
+ */
2697
+ designToken: string;
2698
+ /**
2699
+ * The user given title of the design
2700
+ */
2701
+ title: string | undefined;
2702
+ }
2703
+
2704
+ /**
2705
+ * @public
2706
+ * Metadata about the source content represented by a media selection.
2707
+ */
2708
+ declare type SelectionMetadata = SelectionDesignMetadata;
2709
+
2656
2710
  /**
2657
2711
  * @public
2658
2712
  * Context information for the publish settings UI.
@@ -2949,13 +3003,13 @@ declare interface VideoRequirement extends BaseFileRequirement {
2949
3003
  * @public
2950
3004
  * Selection metadata for a video media item.
2951
3005
  */
2952
- declare type VideoSelection = {
3006
+ declare interface VideoSelection extends BaseSelection {
2953
3007
  kind: 'video';
2954
3008
  /**
2955
3009
  * Duration of the selected video in milliseconds.
2956
3010
  */
2957
3011
  durationMs: number;
2958
- };
3012
+ }
2959
3013
 
2960
3014
  /**
2961
3015
  * @public
package/content/beta.d.ts CHANGED
@@ -110,6 +110,20 @@ export declare interface BasePreview {
110
110
  status: PreviewStatus;
111
111
  }
112
112
 
113
+ /**
114
+ * @public
115
+ * Base metadata available for a selected media item in a media slot.
116
+ *
117
+ * Canva populates this when returning {@link OutputType} in Settings UI contexts.
118
+ * Apps should not set this value.
119
+ */
120
+ export declare interface BaseSelection {
121
+ /**
122
+ * Metadata about the source content represented by this selection.
123
+ */
124
+ selectionMetadata?: readonly SelectionMetadata[];
125
+ }
126
+
113
127
  /**
114
128
  * @public
115
129
  * Metadata about the source content used to create an exported file.
@@ -412,9 +426,9 @@ export declare interface DocumentRequirement extends BaseFileRequirement {
412
426
  * @public
413
427
  * Selection metadata for a document media item.
414
428
  */
415
- export declare type DocumentSelection = {
429
+ export declare interface DocumentSelection extends BaseSelection {
416
430
  kind: 'document';
417
- };
431
+ }
418
432
 
419
433
  /**
420
434
  * @public
@@ -498,9 +512,9 @@ export declare interface EmailRequirement extends BaseFileRequirement {
498
512
  * @public
499
513
  * Selection metadata for an email media item.
500
514
  */
501
- export declare type EmailSelection = {
515
+ export declare interface EmailSelection extends BaseSelection {
502
516
  kind: 'email';
503
- };
517
+ }
504
518
 
505
519
  /**
506
520
  * @public
@@ -631,11 +645,7 @@ export declare interface ImagePreviewReady extends SizedPreview {
631
645
  * };
632
646
  * ```
633
647
  */
634
- export declare interface ImageRequirement extends BaseFileRequirement {
635
- /**
636
- * Supported image format.
637
- */
638
- format: 'png' | 'jpg';
648
+ export declare type ImageRequirement = BaseFileRequirement & {
639
649
  /**
640
650
  * Aspect ratio constraint (width / height).
641
651
  *
@@ -644,15 +654,37 @@ export declare interface ImageRequirement extends BaseFileRequirement {
644
654
  * - `{ min: 0.8, max: 1.91 }`: Instagram range
645
655
  */
646
656
  aspectRatio?: ValueRange;
647
- }
657
+ } & ({
658
+ /**
659
+ * JPG image export.
660
+ */
661
+ format: 'jpg';
662
+ } | {
663
+ /**
664
+ * PNG image export.
665
+ */
666
+ format: 'png';
667
+ /**
668
+ * Controls transparent-background support for PNG exports.
669
+ *
670
+ * @remarks
671
+ * - Only applies when `format` is `'png'`
672
+ * - If omitted or `false`, Canva exports a standard opaque PNG
673
+ * - If `true`, Canva shows a `Transparent background` toggle in the publish flow
674
+ * - Users without the required Canva entitlement may be prompted to upgrade before a transparent export is produced
675
+ *
676
+ * @defaultValue false
677
+ */
678
+ allowTransparentBackground?: boolean;
679
+ });
648
680
 
649
681
  /**
650
682
  * @public
651
683
  * Selection metadata for an image media item.
652
684
  */
653
- export declare type ImageSelection = {
685
+ export declare interface ImageSelection extends BaseSelection {
654
686
  kind: 'image';
655
- };
687
+ }
656
688
 
657
689
  /**
658
690
  * @public
@@ -669,9 +701,6 @@ export declare type MaxValueRange = {
669
701
  /**
670
702
  * @public
671
703
  * Metadata about a selected media item in a media slot.
672
- *
673
- * Canva populates this when returning {@link OutputType} in Settings UI contexts.
674
- * Apps should not set this value.
675
704
  */
676
705
  export declare type MediaSelection = ImageSelection | VideoSelection | DocumentSelection | EmailSelection;
677
706
 
@@ -1450,6 +1479,28 @@ export declare type RenderSettingsUiRequest = {
1450
1479
 
1451
1480
  };
1452
1481
 
1482
+ /**
1483
+ * @public
1484
+ * Metadata specific to design content represented by a media selection.
1485
+ */
1486
+ export declare interface SelectionDesignMetadata {
1487
+ type: 'design';
1488
+ /**
1489
+ * A signed JWT token containing the design id
1490
+ */
1491
+ designToken: string;
1492
+ /**
1493
+ * The user given title of the design
1494
+ */
1495
+ title: string | undefined;
1496
+ }
1497
+
1498
+ /**
1499
+ * @public
1500
+ * Metadata about the source content represented by a media selection.
1501
+ */
1502
+ export declare type SelectionMetadata = SelectionDesignMetadata;
1503
+
1453
1504
  /**
1454
1505
  * @public
1455
1506
  * Context information for the publish settings UI.
@@ -1676,12 +1727,12 @@ export declare interface VideoRequirement extends BaseFileRequirement {
1676
1727
  * @public
1677
1728
  * Selection metadata for a video media item.
1678
1729
  */
1679
- export declare type VideoSelection = {
1730
+ export declare interface VideoSelection extends BaseSelection {
1680
1731
  kind: 'video';
1681
1732
  /**
1682
1733
  * Duration of the selected video in milliseconds.
1683
1734
  */
1684
1735
  durationMs: number;
1685
- };
1736
+ }
1686
1737
 
1687
1738
  export { }
@@ -19,6 +19,6 @@ _export(exports, {
19
19
  return LATEST_VERSION_BETA;
20
20
  }
21
21
  });
22
- const LATEST_VERSION = '2.4.0';
23
- const LATEST_VERSION_BETA = '2.4.1-beta.0';
22
+ const LATEST_VERSION = '2.5.0';
23
+ const LATEST_VERSION_BETA = '2.5.1-beta.0';
24
24
  const LATEST_VERSION_ALPHA = 'NONE';
@@ -1,3 +1,3 @@
1
- export const LATEST_VERSION = '2.4.0';
2
- export const LATEST_VERSION_BETA = '2.4.1-beta.0';
1
+ export const LATEST_VERSION = '2.5.0';
2
+ export const LATEST_VERSION_BETA = '2.5.1-beta.0';
3
3
  export const LATEST_VERSION_ALPHA = 'NONE';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canva/intents",
3
- "version": "2.4.1-beta.0",
3
+ "version": "2.5.1-beta.0",
4
4
  "description": "The Canva Apps SDK Intents library",
5
5
  "author": "Canva Pty Ltd.",
6
6
  "license": "SEE LICENSE IN LICENSE.md FILE",