scaleImages()

in lib/@uncharted/cards/src/components/headerImage/headerImage.js [63:86]


    scaleImages(containerWidth, containerHeight) {
        const $partialImages = [];
        const numberOfImages = this.imageUrls.length;
        const partialImageWidth = containerWidth / numberOfImages;
        const partialImageHeight = containerHeight / numberOfImages;
        const subdivided = numberOfImages > 1;
        this.loadedImagePromises.forEach((imagePromise, index) => {
            imagePromise.then(img => {
                const scale = Math.max(partialImageWidth / img.width, partialImageHeight / img.height);
                const scaledWidth = Math.round(img.width * scale);
                let sizeType = 'cover';
                if ((subdivided && scaledWidth < partialImageWidth) || (!subdivided && scaledWidth > partialImageWidth)) {
                    sizeType = 'contain';
                } else if (scale > 1) {
                    sizeType = 'auto';
                }
                this._$partialImages[index].css({
                    'background-size': sizeType,
                    'background-image': `url(${this.imageUrls[index]})`,
                });
            });
        });
        return $partialImages;
    }