Code/Sailwind.Positions.cs
using System.Collections.Generic;
using System.Text;
namespace Sailwind;
partial class SailwindPanelComponent
{
private void GeneratePositionUtilities( StringBuilder sb )
{
foreach ( var (key, value) in sizes )
{
GenerateUtility( sb, $"top-{key}", $"top: {value}" );
GenerateUtility( sb, $"bottom-{key}", $"bottom: {value}" );
GenerateUtility( sb, $"left-{key}", $"left: {value}" );
GenerateUtility( sb, $"right-{key}", $"right: {value}" );
// GenerateUtility( sb, $"inset-{key}", $"inset: {value}" ); // Unsupported
}
GenerateUtility( sb, $"relative", $"position: relative" );
GenerateUtility( sb, $"absolute", $"position: absolute" );
var percentages = new[] { "1/2", "1/3", "2/3", "1/4", "3/4", "1/5", "2/5", "3/5", "4/5" };
var fractions = new[] { 0.5f, 0.333f, 0.667f, 0.25f, 0.75f, 0.2f, 0.4f, 0.6f, 0.8f };
for ( var i = 0; i < percentages.Length; i++ )
{
GenerateUtility( sb, $"top-{percentages[i]}", $"top: {fractions[i] * 100}%" );
GenerateUtility( sb, $"bottom-{percentages[i]}", $"bottom: {fractions[i] * 100}%" );
GenerateUtility( sb, $"left-{percentages[i]}", $"left: {fractions[i] * 100}%" );
GenerateUtility( sb, $"right-{percentages[i]}", $"right: {fractions[i] * 100}%" );
// GenerateUtility( sb, $"inset-{percentages[i]}", $"inset: {fractions[i] * 100}%" ); // Unsupported
}
}
}