|
|
|
@ -11,68 +11,71 @@ namespace Connected.Components;
|
|
|
|
|
|
|
|
|
|
public partial class Image : UIComponent
|
|
|
|
|
{
|
|
|
|
|
protected string Classname =>
|
|
|
|
|
new CssBuilder("image")
|
|
|
|
|
.AddClass("fluid", Fluid)
|
|
|
|
|
.AddClass($"object-{ObjectFit.ToDescription()}")
|
|
|
|
|
.AddClass($"object-{ObjectPosition.ToDescription()}")
|
|
|
|
|
.AddClass($"elevation-{Elevation}", Elevation > 0)
|
|
|
|
|
.AddClass(AdditionalClassList)
|
|
|
|
|
.Build();
|
|
|
|
|
|
|
|
|
|
private CssBuilder CompiledClassList
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return new CssBuilder("image")
|
|
|
|
|
.AddClass("fluid", Fluid)
|
|
|
|
|
.AddClass($"object-{ObjectFit.ToDescription()}")
|
|
|
|
|
.AddClass($"object-{ObjectPosition.ToDescription()}")
|
|
|
|
|
.AddClass($"elevation-{Elevation}", Elevation > 0)
|
|
|
|
|
.AddClass(ClassList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Applies the fluid class so the image scales with the parent width.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Behavior)]
|
|
|
|
|
public bool Fluid { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies the path to the image.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Behavior)]
|
|
|
|
|
public string Src { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies an alternate text for the image.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Behavior)]
|
|
|
|
|
public string Alt { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies the height of the image in px.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Appearance)]
|
|
|
|
|
public int? Height { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies the width of the image in px.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Appearance)]
|
|
|
|
|
public int? Width { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The higher the number, the heavier the drop-shadow.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Appearance)]
|
|
|
|
|
public int Elevation { set; get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Controls how the image should be resized.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Appearance)]
|
|
|
|
|
public ObjectFit ObjectFit { set; get; } = ObjectFit.Fill;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Controls how the image should positioned within its container.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
[Category(CategoryTypes.Image.Appearance)]
|
|
|
|
|
public Position ObjectPosition { set; get; } = Position.Center;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// A space separated list of class names, added on top of the default class list.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Parameter]
|
|
|
|
|
public string? ClassList { get; set; }
|
|
|
|
|
}
|
|
|
|
|