@orangelogic/design-system 3.3.0 → 3.5.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/library/chunks/{asset-link-format.BnIUG_vO.js → asset-link-format.SaFYESLe.js} +1148 -1001
- package/library/chunks/{color-swatch-group.CTcv62MK.js → color-swatch-group.Bu1ev_Af.js} +2 -2
- package/library/chunks/{document-viewer.D6PxGcEL.js → document-viewer.hfxnrrUV.js} +3 -3
- package/library/chunks/{image.B-4cVbol.js → image.ysU1iW6e.js} +1 -1
- package/library/chunks/{menu-item.DgUMVYe5.js → menu-item.uFqeX_J6.js} +12 -12
- package/library/chunks/{tab-group.BSl6GdIO.js → tab-group.CdTSrsM1.js} +1 -1
- package/library/chunks/transformation.BfIEi4p4.js +300 -0
- package/library/components/asset-link-format.js +2 -2
- package/library/components/atoms.js +4 -4
- package/library/components/color-swatch-group.js +1 -1
- package/library/components/cropper.js +1 -1
- package/library/components/document-viewer.js +2 -2
- package/library/components/file-on-demand.js +1 -1
- package/library/components/image.js +1 -1
- package/library/components/masonry.js +65 -49
- package/library/components/menu-item.js +1 -1
- package/library/components/menu-section.js +16 -13
- package/library/components/menu.js +1 -1
- package/library/components/organisms.js +2 -2
- package/library/components/tab-group.js +2 -2
- package/library/components/types.js +22307 -22153
- package/library/components/video.js +1 -1
- package/library/package.json +1 -1
- package/library/packages/atoms/src/components/image/image.d.ts +6 -0
- package/library/packages/atoms/src/components/menu-section/menu-section.d.ts +1 -0
- package/library/packages/events/src/cx-asset-transformation-dialog-confirm.d.ts +2 -0
- package/library/packages/molecules/src/asset-picker/asset-picker.d.ts +20 -1
- package/library/packages/molecules/src/cropper/cropper.d.ts +0 -1
- package/library/packages/molecules/src/cropper/react/Cropper.d.ts +0 -1
- package/library/packages/molecules/src/masonry/masonry.d.ts +15 -0
- package/library/packages/molecules/src/view-and-sort/view-and-sort.d.ts +2 -0
- package/library/packages/organisms/src/asset-link-format/asset-link-format.d.ts +46 -2
- package/library/packages/organisms/src/asset-link-format/components/asset-link-format-proxy/asset-link-format-proxy.d.ts +36 -1
- package/library/packages/organisms/src/asset-transformation-dialog/asset-transformation-dialog.d.ts +20 -2
- package/library/packages/organisms/src/bento-grid/bento-grid.d.ts +13 -0
- package/library/packages/organisms/src/carousel/carousel.d.ts +13 -0
- package/library/packages/organisms/src/content-builder/blocks/image/image.d.ts +54 -0
- package/library/packages/organisms/src/content-builder/blocks/video/video.d.ts +5 -0
- package/library/packages/organisms/src/content-builder/components/config-form/config-form.d.ts +2 -1
- package/library/packages/organisms/src/content-builder/components/gallery-picker/gallery-picker.d.ts +6 -0
- package/library/packages/organisms/src/content-builder/configs/carousel.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/configs/gallery.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/configs/image.d.ts +2 -0
- package/library/packages/organisms/src/content-builder/configs/timeline.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/configs/video.d.ts +1 -0
- package/library/packages/organisms/src/content-builder/configs-controller.d.ts +10 -0
- package/library/packages/organisms/src/content-builder/styleController.d.ts +2 -0
- package/library/packages/tools/src/fetch-image/fetch-image.d.ts +28 -5
- package/library/packages/types/src/asset-link-format.d.ts +0 -1
- package/library/packages/types/src/content-builder.d.ts +7 -0
- package/library/packages/types/src/gallery-item.d.ts +1 -0
- package/library/packages/types/src/masonry.d.ts +1 -0
- package/library/packages/utils/src/transformation/transformation.d.ts +42 -3
- package/library/react-web-component.d.ts +55 -7
- package/library/utils.js +113 -109
- package/package.json +1 -1
- package/library/chunks/transformation.CWKaoGaY.js +0 -254
- package/library/packages/types/src/download-format-picker.d.ts +0 -7
|
@@ -70,6 +70,7 @@ export default class ConfigsController {
|
|
|
70
70
|
'highlight-drop-shadow': boolean;
|
|
71
71
|
'item-height': string;
|
|
72
72
|
loop: boolean;
|
|
73
|
+
'manual-format'?: boolean;
|
|
73
74
|
navigation: string;
|
|
74
75
|
orientation: string;
|
|
75
76
|
'peek-slides': boolean;
|
|
@@ -204,6 +205,7 @@ export default class ConfigsController {
|
|
|
204
205
|
'highlight-siblings-fade-out': boolean;
|
|
205
206
|
'item-height': string;
|
|
206
207
|
'large-content-position': import('../../../types/src/highlightable-element').HighlightableElementContentPosition;
|
|
208
|
+
'manual-format'?: boolean;
|
|
207
209
|
'max-rows': string;
|
|
208
210
|
navigation: "both" | "arrows" | "pagination";
|
|
209
211
|
orientation: import('../../../types/src/index.ts').Orientation;
|
|
@@ -264,6 +266,8 @@ export default class ConfigsController {
|
|
|
264
266
|
'highlight-border'?: import('./blocks/image/image').default["highlightBorder"];
|
|
265
267
|
'highlight-color-overlay'?: import('./blocks/image/image').default["highlightColorOverlay"];
|
|
266
268
|
'highlight-drop-shadow'?: import('./blocks/image/image').default["highlightDropShadow"];
|
|
269
|
+
'manual-format'?: import('./blocks/image/image').default["manualFormat"];
|
|
270
|
+
'manual-format-dark-mode'?: import('./blocks/image/image').default["manualFormatDarkMode"];
|
|
267
271
|
'object-fit': import('./blocks/image/image').default["objectFit"];
|
|
268
272
|
'open-in-new-tab'?: import('./blocks/image/image').default["openInNewTab"];
|
|
269
273
|
'page-url'?: import('./blocks/image/image').default["pageUrl"];
|
|
@@ -299,6 +303,7 @@ export default class ConfigsController {
|
|
|
299
303
|
}>[] | import('../../../types/src/content-builder').PropertyConfig<{
|
|
300
304
|
data: string;
|
|
301
305
|
format: string;
|
|
306
|
+
'manual-format'?: boolean;
|
|
302
307
|
'min-tab-width': string;
|
|
303
308
|
'multi-language': boolean;
|
|
304
309
|
'navigation-arrows': boolean;
|
|
@@ -332,6 +337,7 @@ export default class ConfigsController {
|
|
|
332
337
|
height: import('./blocks/video/video').default["height"];
|
|
333
338
|
'height-mode': import('./blocks/video/video').default["heightMode"];
|
|
334
339
|
loop: import('./blocks/video/video').default["loop"];
|
|
340
|
+
'manual-thumbnail-format'?: boolean;
|
|
335
341
|
name: import('./blocks/video/video').default["name"];
|
|
336
342
|
'name-source-field': import('./blocks/video/video').default["nameSourceField"];
|
|
337
343
|
'open-in-new-tab'?: import('./blocks/video/video').default["openInNewTab"];
|
|
@@ -412,6 +418,7 @@ export default class ConfigsController {
|
|
|
412
418
|
'highlight-drop-shadow': boolean;
|
|
413
419
|
'item-height': string;
|
|
414
420
|
loop: boolean;
|
|
421
|
+
'manual-format'?: boolean;
|
|
415
422
|
navigation: string;
|
|
416
423
|
orientation: string;
|
|
417
424
|
'peek-slides': boolean;
|
|
@@ -543,6 +550,7 @@ export default class ConfigsController {
|
|
|
543
550
|
'highlight-siblings-fade-out': boolean;
|
|
544
551
|
'item-height': string;
|
|
545
552
|
'large-content-position': import('../../../types/src/highlightable-element').HighlightableElementContentPosition;
|
|
553
|
+
'manual-format'?: boolean;
|
|
546
554
|
'max-rows': string;
|
|
547
555
|
navigation: "both" | "arrows" | "pagination";
|
|
548
556
|
orientation: import('../../../types/src/index.ts').Orientation;
|
|
@@ -575,6 +583,7 @@ export default class ConfigsController {
|
|
|
575
583
|
} | {
|
|
576
584
|
data: string;
|
|
577
585
|
format: string;
|
|
586
|
+
'manual-format'?: boolean;
|
|
578
587
|
'min-tab-width': string;
|
|
579
588
|
'multi-language': boolean;
|
|
580
589
|
'navigation-arrows': boolean;
|
|
@@ -608,6 +617,7 @@ export default class ConfigsController {
|
|
|
608
617
|
height: import('./blocks/video/video').default["height"];
|
|
609
618
|
'height-mode': import('./blocks/video/video').default["heightMode"];
|
|
610
619
|
loop: import('./blocks/video/video').default["loop"];
|
|
620
|
+
'manual-thumbnail-format'?: boolean;
|
|
611
621
|
name: import('./blocks/video/video').default["name"];
|
|
612
622
|
'name-source-field': import('./blocks/video/video').default["nameSourceField"];
|
|
613
623
|
'open-in-new-tab'?: import('./blocks/video/video').default["openInNewTab"];
|
|
@@ -59,6 +59,7 @@ export default class StyleController {
|
|
|
59
59
|
defaultFormat?: string;
|
|
60
60
|
dialogLabel?: string;
|
|
61
61
|
formatKey?: string;
|
|
62
|
+
manualFormatKey?: string;
|
|
62
63
|
multiple?: boolean;
|
|
63
64
|
noCrop?: boolean;
|
|
64
65
|
noResize?: boolean;
|
|
@@ -102,6 +103,7 @@ export default class StyleController {
|
|
|
102
103
|
galleryPickerConfigs?: {
|
|
103
104
|
dialog: import('../../../types/src/content-builder').DialogType;
|
|
104
105
|
formatKey?: string;
|
|
106
|
+
manualFormatKey?: string;
|
|
105
107
|
transformationRecordIdKey?: string;
|
|
106
108
|
transformationsKey?: string;
|
|
107
109
|
};
|
|
@@ -28,46 +28,69 @@ export declare class FetchImageController implements ReactiveController {
|
|
|
28
28
|
constructor(host: ReactiveElement, options?: FetchImageControllerOptions);
|
|
29
29
|
get totalDataCount(): number;
|
|
30
30
|
setSecurityByPassToken(token: string | undefined): void;
|
|
31
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Changes how many items each request asks for.
|
|
33
|
+
*
|
|
34
|
+
* A new size moves every page boundary, so cached pages are dropped and the next fetch
|
|
35
|
+
* starts from page 1. `data` is kept — it is indexed absolutely, so the refetch
|
|
36
|
+
* overwrites in place instead of blanking the grid.
|
|
37
|
+
*
|
|
38
|
+
* Shrinking is ignored once pages are cached: collapsing already has what it needs.
|
|
39
|
+
*/
|
|
40
|
+
setPageSize(pageSize: number): void;
|
|
41
|
+
fetchImages({ end, extraFields, format, manualFormat, start, transformations, }: {
|
|
32
42
|
end: number;
|
|
33
43
|
extraFields: string[];
|
|
34
44
|
format?: string;
|
|
45
|
+
/**
|
|
46
|
+
* When false, `format` is ignored and each item resolves its own from its file
|
|
47
|
+
* extension. Defaults to true so existing callers keep their explicit format.
|
|
48
|
+
*/
|
|
49
|
+
manualFormat?: boolean;
|
|
35
50
|
start: number;
|
|
36
51
|
transformations?: Transformation[];
|
|
37
52
|
}): Promise<ExtendedGalleryItem[] | undefined>;
|
|
38
|
-
fetchImagesInFolderBySlide({ activeSlide, extraFields, folderId, forceRefetch, format, minLimit, noPlaceholders, transformations, }: {
|
|
53
|
+
fetchImagesInFolderBySlide({ activeSlide, extraFields, folderId, forceRefetch, format, manualFormat, minLimit, noPlaceholders, transformations, }: {
|
|
39
54
|
activeSlide: number;
|
|
40
55
|
extraFields?: string[];
|
|
41
56
|
folderId: string;
|
|
42
57
|
forceRefetch?: boolean;
|
|
43
58
|
format?: string;
|
|
59
|
+
manualFormat?: boolean;
|
|
44
60
|
minLimit?: number;
|
|
45
61
|
noPlaceholders?: boolean;
|
|
46
62
|
transformations?: Transformation[];
|
|
47
63
|
}): Promise<ExtendedGalleryItem[]>;
|
|
48
|
-
fetchImagesByIDs({ extraFields, format, recordIds, transformations, }: {
|
|
64
|
+
fetchImagesByIDs({ extraFields, format, manualFormat, recordIds, transformations, }: {
|
|
49
65
|
extraFields?: string[];
|
|
50
66
|
format?: string;
|
|
67
|
+
/**
|
|
68
|
+
* When false, `format` is ignored and each item resolves its own from its file
|
|
69
|
+
* extension. Defaults to true so existing callers keep their explicit format.
|
|
70
|
+
*/
|
|
71
|
+
manualFormat?: boolean;
|
|
51
72
|
recordIds: string[];
|
|
52
73
|
transformations?: Transformation[];
|
|
53
74
|
}): Promise<ExtendedGalleryItem[]>;
|
|
54
|
-
fetchImagesInFolderByPage({ extraFields, folderId, forceRefetch, format, noPlaceholders, page, pageSize, transformations, }: {
|
|
75
|
+
fetchImagesInFolderByPage({ extraFields, folderId, forceRefetch, format, manualFormat, noPlaceholders, page, pageSize, transformations, }: {
|
|
55
76
|
extraFields?: string[];
|
|
56
77
|
folderId: string;
|
|
57
78
|
forceRefetch?: boolean;
|
|
58
79
|
format?: string;
|
|
80
|
+
manualFormat?: boolean;
|
|
59
81
|
noPlaceholders?: boolean;
|
|
60
82
|
page: number;
|
|
61
83
|
pageSize?: number;
|
|
62
84
|
transformations?: Transformation[];
|
|
63
85
|
}): Promise<ExtendedGalleryItem[]>;
|
|
64
|
-
fetchImagesInFolderByChunk({ chunkSize: rawChunkSize, end, extraFields, folderId, forceRefetch, format, start, transformations, }: {
|
|
86
|
+
fetchImagesInFolderByChunk({ chunkSize: rawChunkSize, end, extraFields, folderId, forceRefetch, format, manualFormat, start, transformations, }: {
|
|
65
87
|
chunkSize?: number;
|
|
66
88
|
end?: number;
|
|
67
89
|
extraFields?: string[];
|
|
68
90
|
folderId: string;
|
|
69
91
|
forceRefetch?: boolean;
|
|
70
92
|
format?: string;
|
|
93
|
+
manualFormat?: boolean;
|
|
71
94
|
start?: number;
|
|
72
95
|
transformations?: Transformation[];
|
|
73
96
|
}): AsyncGenerator<ExtendedGalleryItem[], void, unknown>;
|
|
@@ -64,6 +64,11 @@ export type PropertyConfig<T = Record<string, any>> = Omit<TraitProperties, 'opt
|
|
|
64
64
|
defaultFormat?: string;
|
|
65
65
|
dialogLabel?: string;
|
|
66
66
|
formatKey?: string;
|
|
67
|
+
/**
|
|
68
|
+
* The block-attribute key that records whether the format was picked by hand. When
|
|
69
|
+
* absent or false the format follows the asset's file extension.
|
|
70
|
+
*/
|
|
71
|
+
manualFormatKey?: string;
|
|
67
72
|
multiple?: boolean;
|
|
68
73
|
noCrop?: boolean;
|
|
69
74
|
noResize?: boolean;
|
|
@@ -114,6 +119,8 @@ export type PropertyConfig<T = Record<string, any>> = Omit<TraitProperties, 'opt
|
|
|
114
119
|
dialog: DialogType;
|
|
115
120
|
/** The block-attribute key for the format used to resolve records' src URLs after picking. */
|
|
116
121
|
formatKey?: string;
|
|
122
|
+
/** The block-attribute key recording whether that format was picked by hand. */
|
|
123
|
+
manualFormatKey?: string;
|
|
117
124
|
transformationRecordIdKey?: string;
|
|
118
125
|
transformationsKey?: string;
|
|
119
126
|
};
|
|
@@ -46,6 +46,42 @@ export declare function applyWidthToAssetUrl(url: string, width: number): string
|
|
|
46
46
|
* crop or proxy format), so a ladder must not add a competing one.
|
|
47
47
|
*/
|
|
48
48
|
export declare function hasTransformSegment(url: string): boolean;
|
|
49
|
+
/** Proxy format that is always transcoded to a raster image, whatever the source file is. */
|
|
50
|
+
export declare const AUTO_FALLBACK_FORMAT = "TR1";
|
|
51
|
+
/**
|
|
52
|
+
* Largest original file `Auto` will serve untouched, in bytes.
|
|
53
|
+
*
|
|
54
|
+
* Past this the transcoded proxy wins even for extensions that would normally keep their
|
|
55
|
+
* original: delivering a very large original costs the viewer more than the animation or
|
|
56
|
+
* alpha it preserves.
|
|
57
|
+
*/
|
|
58
|
+
export declare const AUTO_ORIGINAL_FORMAT_MAX_BYTES: number;
|
|
59
|
+
/**
|
|
60
|
+
* Reads an asset file size into bytes, or `undefined` when the value says nothing usable.
|
|
61
|
+
*
|
|
62
|
+
* `CoreField.FileSize` is typed as a string and has been observed both as a plain byte
|
|
63
|
+
* count (`'1024'`) and as a formatted value (`'63.47 KB'`), so both are accepted. A bare
|
|
64
|
+
* number is read as bytes, matching the raw form.
|
|
65
|
+
*
|
|
66
|
+
* Returns `undefined` rather than `0` for unusable input so callers can tell "no size
|
|
67
|
+
* reported" apart from "genuinely empty file" — the two lead to different decisions.
|
|
68
|
+
*/
|
|
69
|
+
export declare function parseFileSizeToBytes(size: string | number | null | undefined): number | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Picks the proxy format an asset should be served under when the author chose `Auto`
|
|
72
|
+
* instead of naming a format.
|
|
73
|
+
*
|
|
74
|
+
* Extensions that would lose something to a transcode (animation, alpha, bit depth) take
|
|
75
|
+
* the original-file proxy, but only up to `AUTO_ORIGINAL_FORMAT_MAX_BYTES`; everything
|
|
76
|
+
* else takes the transcoded raster proxy, which is the one `buildAssetSrcset` may resize.
|
|
77
|
+
*
|
|
78
|
+
* An unknown or missing extension resolves to the raster proxy — the safe default for the
|
|
79
|
+
* majority of assets, and the same value the format ladders already fall back to.
|
|
80
|
+
*
|
|
81
|
+
* An unknown *size* does not: a size the API did not report is treated as within the
|
|
82
|
+
* limit, so a missing field never silently strips a GIF of its animation.
|
|
83
|
+
*/
|
|
84
|
+
export declare function resolveAutoFormat(extension: string | null | undefined, size?: string | number | null): string;
|
|
49
85
|
/**
|
|
50
86
|
* Builds a `srcset` value for an asset-link URL by emitting one width-only resize
|
|
51
87
|
* candidate per ladder entry, letting the browser fetch and decode only the pixels
|
|
@@ -56,11 +92,14 @@ export declare function hasTransformSegment(url: string): boolean;
|
|
|
56
92
|
* ladder, the smallest candidate is still emitted so a `srcset` is always produced
|
|
57
93
|
* for an eligible URL.
|
|
58
94
|
*
|
|
59
|
-
* Returns an empty string when the URL is not an asset link,
|
|
60
|
-
* a transformation
|
|
61
|
-
* that
|
|
95
|
+
* Returns an empty string when the URL is not an asset link, when it already carries
|
|
96
|
+
* a transformation (the width was configured upstream), or when it is an animated GIF
|
|
97
|
+
* served as the original file — resizing that flattens it to a still frame, so the
|
|
98
|
+
* original has to be delivered untouched.
|
|
62
99
|
*/
|
|
63
100
|
export declare function buildAssetSrcset(url: string, options?: {
|
|
101
|
+
extension?: string | null;
|
|
102
|
+
format?: string;
|
|
64
103
|
maxWidth?: number;
|
|
65
104
|
widths?: readonly number[];
|
|
66
105
|
}): string;
|
|
@@ -22,19 +22,19 @@
|
|
|
22
22
|
export type CxGraphViewNodeAction = { controlType: 'default' | 'switch'; icon: string; id: string; name: string; showDivider: boolean; style: { color: string; }; };
|
|
23
23
|
export type CxGraphViewRecord = any;
|
|
24
24
|
export type CxGraphViewSummary = { icon: string; texts: string[]; };
|
|
25
|
-
export type CxMasonryMasonryItem = { alt: string; hasError: boolean; id: string; loading: boolean; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; src: string; };
|
|
25
|
+
export type CxMasonryMasonryItem = { alt: string; extension: string; hasError: boolean; id: string; loading: boolean; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; src: string; };
|
|
26
26
|
export type CxMasonryMasonryItemAction = { color: string; event: string; icon: string; src: string; tooltip: string; };
|
|
27
27
|
export type CxMentionsAutocompleteItem = { id: string; label: string; name: string; suffixContent: string; suffixIcon: string; suffixTooltip: string; suffixType: 'badge'; title: string; type: string; };
|
|
28
28
|
export type CxMultiSelectColumnData = { id: string; items: { disabled: boolean; group: string; id: string; index: string; text: string; tooltip: string; type: string; }[]; sort: boolean; title: string; };
|
|
29
29
|
export type CxShareOptionListShareOptionListItem = { disabled: boolean; icon: string; id: string; name: string; tooltip: string; };
|
|
30
30
|
export type CxStepperWizardStepData = { color: string; description: string; icon: string; iconVariant: 'outlined' | 'filled' | 'fa'; id: string; name: string; readonly: boolean; state: 'Done' | 'Active' | 'None' | 'Disabled'; };
|
|
31
|
-
export type CxAssetLinkFormatAsset = { allowATSLink: boolean; docSubType: string; docType: 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; height: string; id: string; identifier: string; imageUrl: string; name: string;
|
|
31
|
+
export type CxAssetLinkFormatAsset = { allowATSLink: boolean; docSubType: string; docType: 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; height: string; id: string; identifier: string; imageUrl: string; name: string; scrubUrl: string; size: string; tags: string; width: string; };
|
|
32
32
|
export type CxAssetLinkFormatCropMode = { auto: boolean; disabledSize: boolean; label: string; value: string; };
|
|
33
33
|
export type CxAssetLinkFormatFocusMode = { auto: boolean; label: string; value: string; };
|
|
34
34
|
export type CxAssetLinkFormatProxy = { cdnName: string; extension: string; formatHeight: number; formatWidth: number; height: number; id: string; permanentLink: string; proxyLabel: string; proxyName: string; width: number; };
|
|
35
35
|
export type CxAssetLinkFormatTransformation = { key: 'Crop' | 'Metadata' | 'Proxy' | 'Quality' | 'Resize' | 'Rotate'; value: { disabledSize: boolean; focusMode: string; height: number; isFocusModeAuto: boolean; keepMetadata: boolean; mode: string; position: 'bottom-center' | 'bottom-left' | 'bottom-right' | 'center-center' | 'center-left' | 'center-right' | 'top-center' | 'top-left' | 'top-right'; quality: number; ratioHeight: number; ratioWidth: number; rotation: number; unit: '%' | 'px'; width: number; x: number; y: number; }; };
|
|
36
|
-
export type CxBentoGridGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
|
|
37
|
-
export type CxCarouselGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
|
|
36
|
+
export type CxBentoGridGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
|
|
37
|
+
export type CxCarouselGalleryItem = { additions: string[]; alt: string; cardType: 'asset' | 'folder' | 'link' | 'page' | 'space'; className: string; details: string; docType: '' | 'Album' | 'Audio' | 'Audio segment' | 'Image' | 'Multimedia' | 'ProjectDocument' | 'Story' | 'Video' | 'Widget'; extension: string; filler: boolean; header: string; id: string; isClone: boolean; name: string; objectFit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; openInNewTab: boolean; pageId: string; rawId: string; size: string; src: string; url: string; };
|
|
38
38
|
export type CxChatbotChatbotEvent = { event: string; excludedFromPurposes: string[]; label: string; };
|
|
39
39
|
export type CxTableTimeFormatterParams = { color: string; fontSize: string; fontWeight: string; inputUnit: string; locale: string; placeholder: string; style: dictionary; unitsFormat: string; displayStyle: string; paramsMapField: string; paramsMap: dictionary; };
|
|
40
40
|
export type CxTableTextFormatParams = { colorMap: dictionary; color: string; };
|
|
@@ -2572,7 +2572,7 @@
|
|
|
2572
2572
|
*/
|
|
2573
2573
|
retryOnError?: boolean;
|
|
2574
2574
|
/**
|
|
2575
|
-
* Maximum number of retry attempts when `retry-on-error` is enabled.
|
|
2575
|
+
* Maximum number of retry attempts when `retry-on-error` is enabled. <br/> Set high enough to outlast a transient backend overload: a page full of images can push the transform service into 503s, and those images need to keep retrying until it recovers rather than falling back to a broken-image icon. The backoff is exponential and capped at 10s per attempt, so the attempts spread out instead of adding to the load.
|
|
2576
2576
|
*/
|
|
2577
2577
|
maxRetries?: number;
|
|
2578
2578
|
/**
|
|
@@ -5397,6 +5397,10 @@
|
|
|
5397
5397
|
* When true, restricts selection to the picker's declared `type`(s): assets of any other type are rejected on confirmation. When false, `type` only pre-fills the filter.
|
|
5398
5398
|
*/
|
|
5399
5399
|
restrict?: boolean;
|
|
5400
|
+
/**
|
|
5401
|
+
* Asset types whose original `src` is used as-is, bypassing the API's representative (thumbnail/preview) URL. Only images are renderable directly, so every other type — video, audio, documents — falls back to its representative when the API returns one.
|
|
5402
|
+
*/
|
|
5403
|
+
noRepresentativeFor?: 'all' | 'audio' | 'image' | 'other' | 'video'[];
|
|
5400
5404
|
/**
|
|
5401
5405
|
* An optional record ID (or space-separated list of record IDs, for `multiple` pickers) used to fetch a clean preview image and title, bypassing any stored URL/name that may be stale or have transformations applied.
|
|
5402
5406
|
*/
|
|
@@ -5644,7 +5648,7 @@
|
|
|
5644
5648
|
/**
|
|
5645
5649
|
*
|
|
5646
5650
|
*/
|
|
5647
|
-
image?: { extension: string; height: number;
|
|
5651
|
+
image?: { extension: string; height: number; rotation: number; url: string; width: number; x: number; y: number; };
|
|
5648
5652
|
/**
|
|
5649
5653
|
*
|
|
5650
5654
|
*/
|
|
@@ -6770,7 +6774,15 @@
|
|
|
6770
6774
|
/**
|
|
6771
6775
|
* The key to use for the id of the items in the masonry layout.
|
|
6772
6776
|
*/
|
|
6773
|
-
idKey?: 'src' | 'loading' | 'alt' | 'hasError' | 'id' | 'objectFit';
|
|
6777
|
+
idKey?: 'src' | 'extension' | 'loading' | 'alt' | 'hasError' | 'id' | 'objectFit';
|
|
6778
|
+
/**
|
|
6779
|
+
* The proxy format the item images were resolved with. <br/> Only used to decide whether a `srcset` may be generated: an original-file format paired with an animated source must be delivered untouched.
|
|
6780
|
+
*/
|
|
6781
|
+
format?: string;
|
|
6782
|
+
/**
|
|
6783
|
+
* Whether `format` was picked by hand. When false each item's format follows its own file extension instead, so a mixed list can serve animated originals and resizable raster proxies side by side.
|
|
6784
|
+
*/
|
|
6785
|
+
manualFormat?: boolean;
|
|
6774
6786
|
/**
|
|
6775
6787
|
* When true, forwards `no-crossorigin` to each inner `cx-image`, disabling CORS mode (e.g. in Site Builder contexts where CORS headers are absent).
|
|
6776
6788
|
*/
|
|
@@ -7875,6 +7887,14 @@
|
|
|
7875
7887
|
* The ID of the default proxy format. This is a string that represents the ID of the selected proxy format from the list of available proxies.
|
|
7876
7888
|
*/
|
|
7877
7889
|
defaultProxy?: string;
|
|
7890
|
+
/**
|
|
7891
|
+
* Whether the format listbox offers an `Auto` entry, which derives the proxy from the asset's file extension instead of the author naming one.
|
|
7892
|
+
*/
|
|
7893
|
+
canAutoFormat?: boolean;
|
|
7894
|
+
/**
|
|
7895
|
+
* Whether `Auto` is the current choice. <br/> Tracked next to `selectedProxy` rather than encoded into it, so `selectedProxy` stays a real proxy id for every consumer that reads it — only the origin of that id differs.
|
|
7896
|
+
*/
|
|
7897
|
+
autoFormat?: boolean;
|
|
7878
7898
|
/**
|
|
7879
7899
|
*
|
|
7880
7900
|
*/
|
|
@@ -7957,6 +7977,10 @@
|
|
|
7957
7977
|
* The default format to fall back to if the asset has no transformations or selected proxy.
|
|
7958
7978
|
*/
|
|
7959
7979
|
defaultFormat?: string;
|
|
7980
|
+
/**
|
|
7981
|
+
* Whether the author picked the format by hand rather than letting it follow the asset's file extension. `false` (the default) means `Auto`.
|
|
7982
|
+
*/
|
|
7983
|
+
manualFormat?: boolean;
|
|
7960
7984
|
/**
|
|
7961
7985
|
* Optional label rendered as the dialog title. Falls back to the localized "Asset format" term.
|
|
7962
7986
|
*/
|
|
@@ -8047,6 +8071,14 @@
|
|
|
8047
8071
|
* Total number of items in the dataset, including those not yet loaded. When set, the scroll container height is extended to reflect the full dataset size so the scrollbar is accurate from the first render. Unloaded slots are approximated as 1×1 items.
|
|
8048
8072
|
*/
|
|
8049
8073
|
totalItems?: number;
|
|
8074
|
+
/**
|
|
8075
|
+
* The proxy format the item images were resolved with. <br/> Only used to decide whether a `srcset` may be generated: an original-file format paired with an animated source must be delivered untouched.
|
|
8076
|
+
*/
|
|
8077
|
+
format?: string;
|
|
8078
|
+
/**
|
|
8079
|
+
* Whether `format` was picked by hand. When false each item's format follows its own file extension instead, so a mixed grid can serve animated originals and resizable raster proxies side by side.
|
|
8080
|
+
*/
|
|
8081
|
+
manualFormat?: boolean;
|
|
8050
8082
|
/**
|
|
8051
8083
|
* Delay in milliseconds between releasing one row of images and the next. <br/> Images are held back until their row is released, so the browser opens roughly one row's worth of requests at a time instead of one per rendered item. Each transform URL is an uncached backend render, and enough of them in parallel returns 503. <br/> A row also waits for the previous row's images to finish (capped by `ROW_RELEASE_TIMEOUT`), so this is the floor between releases rather than the exact cadence. Set to `0` to disable gating and let every rendered row load immediately.
|
|
8052
8084
|
*/
|
|
@@ -8207,6 +8239,14 @@
|
|
|
8207
8239
|
* The real total number of data in the carousel. Not affected by chunking.
|
|
8208
8240
|
*/
|
|
8209
8241
|
totalData?: number;
|
|
8242
|
+
/**
|
|
8243
|
+
* The proxy format the slide images were resolved with. <br/> Only used to decide whether a `srcset` may be generated: an original-file format paired with an animated source must be delivered untouched.
|
|
8244
|
+
*/
|
|
8245
|
+
format?: string;
|
|
8246
|
+
/**
|
|
8247
|
+
* Whether `format` was picked by hand. When false each slide's format follows its own file extension instead, so a mixed carousel can serve animated originals and resizable raster proxies side by side.
|
|
8248
|
+
*/
|
|
8249
|
+
manualFormat?: boolean;
|
|
8210
8250
|
/**
|
|
8211
8251
|
* When set, allows the user to navigate the carousel in the same direction indefinitely.
|
|
8212
8252
|
*/
|
|
@@ -9605,6 +9645,10 @@
|
|
|
9605
9645
|
* Asset transformation proxy format key.
|
|
9606
9646
|
*/
|
|
9607
9647
|
format?: string;
|
|
9648
|
+
/**
|
|
9649
|
+
* Whether `format` was picked by hand. When false each card's format follows its own file extension instead.
|
|
9650
|
+
*/
|
|
9651
|
+
manualFormat?: boolean;
|
|
9608
9652
|
/**
|
|
9609
9653
|
* Asset transformations applied to the image.
|
|
9610
9654
|
*/
|
|
@@ -9731,6 +9775,10 @@
|
|
|
9731
9775
|
* Asset transformation proxy format key.
|
|
9732
9776
|
*/
|
|
9733
9777
|
format?: string;
|
|
9778
|
+
/**
|
|
9779
|
+
* Whether `format` was picked by hand. When false each item's format follows its own file extension instead.
|
|
9780
|
+
*/
|
|
9781
|
+
manualFormat?: boolean;
|
|
9734
9782
|
/**
|
|
9735
9783
|
* Asset transformations applied to the image.
|
|
9736
9784
|
*/
|