@contrail/documents 1.5.2 → 1.5.3
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
|
@@ -7,6 +7,12 @@ Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.5.3] - 2026-04-22
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Thumbnail-only mode for color cards.
|
|
15
|
+
|
|
10
16
|
## [1.4.2] - 2026-03-31
|
|
11
17
|
|
|
12
18
|
- Publish new patch to include 1.3.29 changes and 1.4.0 minor update.
|
|
@@ -3,6 +3,8 @@ export declare class ColorComponentService {
|
|
|
3
3
|
static isColorComponent(element: DocumentElement): boolean;
|
|
4
4
|
static isColorHexComponent(element: DocumentElement): boolean;
|
|
5
5
|
static isColorImageComponent(element: DocumentElement): boolean;
|
|
6
|
+
static isThumbnailOnlyComponent(element: DocumentElement): boolean;
|
|
7
|
+
static setThumbnailOnlyProperties(elements: any): any;
|
|
6
8
|
static getColorRectangle(elements: DocumentElement[]): DocumentElement;
|
|
7
9
|
static getColorContainer(elements: DocumentElement[]): DocumentElement;
|
|
8
10
|
static updateSizeAndPosition(elements: any, size?: SizeDefinition): any;
|
|
@@ -17,6 +17,45 @@ class ColorComponentService {
|
|
|
17
17
|
return (ColorComponentService.isColorComponent(element) &&
|
|
18
18
|
((_a = ColorComponentService.getColorRectangle(element.elements)) === null || _a === void 0 ? void 0 : _a.type) === 'image');
|
|
19
19
|
}
|
|
20
|
+
static isThumbnailOnlyComponent(element) {
|
|
21
|
+
var _a;
|
|
22
|
+
const hasTextProperties = (_a = element.elements) === null || _a === void 0 ? void 0 : _a.some((e) => e.type === 'text');
|
|
23
|
+
return !hasTextProperties;
|
|
24
|
+
}
|
|
25
|
+
static setThumbnailOnlyProperties(elements) {
|
|
26
|
+
if (!elements)
|
|
27
|
+
return elements;
|
|
28
|
+
const isThumbnailOnly = this.isThumbnailOnlyComponent({ elements });
|
|
29
|
+
const containerIndex = elements.findIndex((e) => e.type === 'rectangle' && (!e.propertyBindings || Object.keys(e.propertyBindings).length === 0));
|
|
30
|
+
if (containerIndex === -1)
|
|
31
|
+
return elements;
|
|
32
|
+
if (isThumbnailOnly) {
|
|
33
|
+
const colorRectIndex = elements.findIndex((e) => (e.type === 'rectangle' || e.type === 'image') &&
|
|
34
|
+
e.propertyBindings &&
|
|
35
|
+
Object.keys(e.propertyBindings).length > 0);
|
|
36
|
+
if (colorRectIndex !== -1) {
|
|
37
|
+
return elements.map((element, index) => {
|
|
38
|
+
if (index === colorRectIndex) {
|
|
39
|
+
return Object.assign(Object.assign({}, element), { position: { x: 0, y: 0 } });
|
|
40
|
+
}
|
|
41
|
+
else if (index === containerIndex) {
|
|
42
|
+
const colorRect = elements[colorRectIndex];
|
|
43
|
+
return Object.assign(Object.assign({}, element), { size: Object.assign({}, colorRect.size), position: { x: 0, y: 0 }, style: Object.assign(Object.assign({}, element.style), { backgroundColor: 'transparent' }) });
|
|
44
|
+
}
|
|
45
|
+
return element;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return elements.map((element, index) => {
|
|
51
|
+
if (index === containerIndex) {
|
|
52
|
+
return Object.assign(Object.assign({}, element), { style: Object.assign(Object.assign({}, element.style), { backgroundColor: '#FFFFFF' }) });
|
|
53
|
+
}
|
|
54
|
+
return element;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return elements;
|
|
58
|
+
}
|
|
20
59
|
static getColorRectangle(elements) {
|
|
21
60
|
return elements === null || elements === void 0 ? void 0 : elements.find((e) => ['rectangle', 'image'].indexOf(e.type) !== -1 && e.propertyBindings);
|
|
22
61
|
}
|