/// <summary>
 /// Gets the underlying image processing service URL by the crop alias using the specified property containing the image cropper JSON data on the MediaWithCrops content item.
 /// </summary>
 /// <param name="mediaWithCrops">The MediaWithCrops item.</param>
 /// <param name="propertyAlias">The property alias of the property containing the JSON data e.g. umbracoFile.</param>
 /// <param name="cropAlias">The crop alias e.g. thumbnail.</param>
 /// <param name="urlMode">The url mode.</param>
 /// <returns>
 /// The URL of the cropped image.
 /// </returns>
 public static string?GetCropUrl(this MediaWithCrops mediaWithCrops, string propertyAlias, string cropAlias, UrlMode urlMode = UrlMode.Default)
 => ImageCropperTemplateCoreExtensions.GetCropUrl(mediaWithCrops, propertyAlias, cropAlias, ImageUrlGenerator, PublishedValueFallback, PublishedUrlProvider, urlMode);
 /// <summary>
 /// Gets the crop URL by using only the specified <paramref name="imageCropperValue" />.
 /// </summary>
 /// <param name="mediaItem">The media item.</param>
 /// <param name="imageCropperValue">The image cropper value.</param>
 /// <param name="cropAlias">The crop alias.</param>
 /// <param name="urlMode">The url mode.</param>
 /// <returns>
 /// The image crop URL.
 /// </returns>
 public static string?GetCropUrl(
     this IPublishedContent mediaItem,
     ImageCropperValue imageCropperValue,
     string cropAlias,
     UrlMode urlMode = UrlMode.Default)
 => ImageCropperTemplateCoreExtensions.GetCropUrl(mediaItem, imageCropperValue, cropAlias, ImageUrlGenerator, PublishedValueFallback, PublishedUrlProvider, urlMode);