Auto-generated partial class for a UI ContainerNode style facade. It declares many nullable style properties (layout, sizing, spacing, background, border, text, etc.) and provides WithStyles(Goo.Container) that applies resolved property values onto a Goo.Container via ResolveStyleValue and BuildStyleTransform.
// <auto-generated by tools/StyleFacadeEmit from style-manifest.json; do not edit />
using Goo;
using Sandbox;
using Sandbox.Rendering;
using Sandbox.UI;
namespace Goo.Authoring;
public partial class ContainerNode
{
/// <summary>Main-axis direction for children: Row lays them left-to-right, Column top-to-bottom (engine default Column).</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public FlexDirection? FlexDirection { get; set; }
/// <summary>Distributes children along the main axis (start, center, end, or the space-* spreads).</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public Justify? JustifyContent { get; set; }
/// <summary>Aligns children on the cross axis, the axis perpendicular to FlexDirection.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public Align? AlignItems { get; set; }
/// <summary>Box generation: Flex lays out children, None removes the panel from layout entirely.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public DisplayMode? Display { get; set; }
/// <summary>Width of the box (Length: px, %, em, rem, ...).</summary>
[Property, GooToken, Group( "Sizing" ), Order( 20 ), Range( 0f, float.MaxValue, true, false ), Editor( "goo-axis-lengths" ), Title( "Size" )] public GooLength? Width { get; set; }
/// <summary>Height of the box.</summary>
[Property, GooToken, Group( "Sizing" ), Order( 20 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? Height { get; set; }
/// <summary>Inner space on all four edges, between the border and the content.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false )] public GooLength? Padding { get; set; }
/// <summary>Inner space on the left edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false ), Editor( "goo-side-lengths" ), Title( "Padding Sides" )] public GooLength? PaddingLeft { get; set; }
/// <summary>Inner space on the top edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? PaddingTop { get; set; }
/// <summary>Inner space on the right edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? PaddingRight { get; set; }
/// <summary>Inner space on the bottom edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? PaddingBottom { get; set; }
/// <summary>Outer space on all four edges, between this box and its neighbors.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 )] public GooLength? Margin { get; set; }
/// <summary>Outer space on the left edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Editor( "goo-side-lengths" ), Title( "Margin Sides" )] public GooLength? MarginLeft { get; set; }
/// <summary>Outer space on the top edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Hide] public GooLength? MarginTop { get; set; }
/// <summary>Outer space on the right edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Hide] public GooLength? MarginRight { get; set; }
/// <summary>Outer space on the bottom edge.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Hide] public GooLength? MarginBottom { get; set; }
/// <summary>Space between flex children on both axes (shorthand for RowGap and ColumnGap).</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false )] public GooLength? Gap { get; set; }
/// <summary>Vertical space between flex rows.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? RowGap { get; set; }
/// <summary>Horizontal space between flex columns.</summary>
[Property, GooToken, Group( "Spacing" ), Order( 30 ), Range( 0f, float.MaxValue, true, false ), Editor( "goo-axis-lengths" ), Title( "Gap Axes" )] public GooLength? ColumnGap { get; set; }
/// <summary>Fill color behind the content.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 )] public Color? BackgroundColor { get; set; }
/// <summary>Rounds all four corners.</summary>
[Property, GooToken, Group( "Border Radius" ), Order( 80 ), Range( 0f, float.MaxValue, true, false )] public GooLength? BorderRadius { get; set; }
/// <summary>Rounds the top-left corner.</summary>
[Property, GooToken, Group( "Border Radius" ), Order( 80 ), Range( 0f, float.MaxValue, true, false ), Editor( "goo-corner-lengths" ), Title( "Border Corners" )] public GooLength? BorderTopLeftRadius { get; set; }
/// <summary>Rounds the top-right corner.</summary>
[Property, GooToken, Group( "Border Radius" ), Order( 80 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? BorderTopRightRadius { get; set; }
/// <summary>Rounds the bottom-right corner.</summary>
[Property, GooToken, Group( "Border Radius" ), Order( 80 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? BorderBottomRightRadius { get; set; }
/// <summary>Rounds the bottom-left corner.</summary>
[Property, GooToken, Group( "Border Radius" ), Order( 80 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? BorderBottomLeftRadius { get; set; }
/// <summary>Aligns wrapped flex lines on the cross axis when there is spare room; only bites once content wraps.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public Align? AlignContent { get; set; }
/// <summary>Overrides the parent's AlignItems for this one child.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public Align? AlignSelf { get; set; }
/// <summary>Locks the width-to-height ratio when only one dimension is constrained.</summary>
[Property, GooToken, Group( "Sizing" ), Order( 20 ), Editor( "goo-float" ), Range( 0.01f, float.MaxValue, true, false ), Step( 0.01f )] public float? AspectRatio { get; set; }
/// <summary>Blur applied to whatever shows through behind the element (frosted-glass effect).</summary>
[Property, GooToken, Group( "Backdrop Filter", StartFolded = true ), Order( 160 ), Range( 0f, float.MaxValue, true, false )] public GooLength? BackdropFilterBlur { get; set; }
/// <summary>Brightness multiplier on the backdrop; 1 unchanged.</summary>
[Property, GooToken, Group( "Backdrop Filter", StartFolded = true ), Order( 160 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.05f )] public float? BackdropFilterBrightness { get; set; }
/// <summary>Contrast multiplier on the backdrop; 1 unchanged.</summary>
[Property, GooToken, Group( "Backdrop Filter", StartFolded = true ), Order( 160 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.05f )] public float? BackdropFilterContrast { get; set; }
/// <summary>Hue rotation on the backdrop.</summary>
[Property, GooToken, Group( "Backdrop Filter", StartFolded = true ), Order( 160 ), Editor( "goo-float" ), Title( "Hue Rotate" ), Step( 0.01f )] public float? BackdropFilterHueRotate { get; set; }
/// <summary>Inversion amount on the backdrop.</summary>
[Property, GooToken, Group( "Backdrop Filter", StartFolded = true ), Order( 160 ), Editor( "goo-float" ), Range( 0f, 1f, true, true ), Step( 0.01f )] public float? BackdropFilterInvert { get; set; }
/// <summary>Saturation multiplier on the backdrop; 1 unchanged.</summary>
[Property, GooToken, Group( "Backdrop Filter", StartFolded = true ), Order( 160 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.05f )] public float? BackdropFilterSaturate { get; set; }
/// <summary>Sepia amount on the backdrop.</summary>
[Property, GooToken, Group( "Backdrop Filter", StartFolded = true ), Order( 160 ), Editor( "goo-float" ), Range( 0f, 1f, true, true ), Step( 0.01f )] public float? BackdropFilterSepia { get; set; }
/// <summary>Angle in radians for a background gradient.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), Editor( "goo-float" ), Title( "Background Angle (Radians)" ), Step( 0.01f ), HideIf( nameof( BackgroundImage ), null )] public float? BackgroundAngle { get; set; }
/// <summary>Blend mode between stacked background layers (CSS background-blend-mode keyword).</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), Editor( "goo-blend-mode" ), HideIf( nameof( BackgroundImage ), null )] public string BackgroundBlendMode { get; set; }
/// <summary>Texture drawn as the background.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 )] public Texture BackgroundImage { get; set; }
/// <summary>Pauses playback of an animated or video background texture.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), HideIf( nameof( BackgroundImage ), null )] public bool? BackgroundPlaybackPaused { get; set; }
/// <summary>Horizontal offset of the background image.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), HideIf( nameof( BackgroundImage ), null ), Editor( "goo-axis-lengths" ), Title( "Background Position" )] public GooLength? BackgroundPositionX { get; set; }
/// <summary>Vertical offset of the background image.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), HideIf( nameof( BackgroundImage ), null ), Hide] public GooLength? BackgroundPositionY { get; set; }
/// <summary>How the background image tiles (repeat, repeat-x/y, no-repeat, clamp).</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), Editor( "goo-nullable-enum" ), HideIf( nameof( BackgroundImage ), null )] public BackgroundRepeat? BackgroundRepeat { get; set; }
/// <summary>Rendered width of the background image.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( BackgroundImage ), null ), Editor( "goo-axis-lengths" ), Title( "Background Size" )] public GooLength? BackgroundSizeX { get; set; }
/// <summary>Rendered height of the background image.</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( BackgroundImage ), null ), Hide] public GooLength? BackgroundSizeY { get; set; }
/// <summary>Multiplies the background image color; default white (no tint).</summary>
[Property, GooToken, Group( "Background" ), Order( 60 ), HideIf( nameof( BackgroundImage ), null )] public Color? BackgroundTint { get; set; }
/// <summary>Color of the bottom border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Hide] public Color? BorderBottomColor { get; set; }
/// <summary>Color of all four borders.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 )] public Color? BorderColor { get; set; }
/// <summary>Color of the left border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Editor( "goo-side-colors" ), Title( "Border Color Sides" )] public Color? BorderLeftColor { get; set; }
/// <summary>Color of the right border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Hide] public Color? BorderRightColor { get; set; }
/// <summary>Color of the top border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Hide] public Color? BorderTopColor { get; set; }
/// <summary>Whether the center slice of the border image fills the box (Unfilled or Filled).</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 ), Editor( "goo-nullable-enum" ), HideIf( nameof( BorderImageSource ), null )] public BorderImageFill? BorderImageFill { get; set; }
/// <summary>How the edge slices of the border image repeat (Stretch or Round).</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 ), Editor( "goo-nullable-enum" ), HideIf( nameof( BorderImageSource ), null )] public BorderImageRepeat? BorderImageRepeat { get; set; }
/// <summary>Texture sliced into a nine-patch to form the border.</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 )] public Texture BorderImageSource { get; set; }
/// <summary>Tint multiplied onto the border image.</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 ), HideIf( nameof( BorderImageSource ), null )] public Color? BorderImageTint { get; set; }
/// <summary>Width of the border-image slice on the bottom edge.</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( BorderImageSource ), null ), Hide] public GooLength? BorderImageWidthBottom { get; set; }
/// <summary>Width of the border-image slice on the left edge.</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( BorderImageSource ), null ), Editor( "goo-side-lengths" ), Title( "Border Image Width Sides" )] public GooLength? BorderImageWidthLeft { get; set; }
/// <summary>Width of the border-image slice on the right edge.</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( BorderImageSource ), null ), Hide] public GooLength? BorderImageWidthRight { get; set; }
/// <summary>Width of the border-image slice on the top edge.</summary>
[Property, GooToken, Group( "Border Image", StartFolded = true ), Order( 180 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( BorderImageSource ), null ), Hide] public GooLength? BorderImageWidthTop { get; set; }
/// <summary>Thickness of the bottom border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? BorderBottomWidth { get; set; }
/// <summary>Thickness of the left border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Range( 0f, float.MaxValue, true, false ), Editor( "goo-side-lengths" ), Title( "Border Width Sides" )] public GooLength? BorderLeftWidth { get; set; }
/// <summary>Thickness of the right border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? BorderRightWidth { get; set; }
/// <summary>Thickness of the top border.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? BorderTopWidth { get; set; }
/// <summary>Thickness of all four borders.</summary>
[Property, GooToken, Group( "Border" ), Order( 70 ), Range( 0f, float.MaxValue, true, false )] public GooLength? BorderWidth { get; set; }
/// <summary>Bottom-edge offset; applied only when Position is Relative or Absolute.</summary>
[Property, GooToken, Group( "Position Offsets" ), Order( 40 ), Hide] public GooLength? Bottom { get; set; }
/// <summary>Drop shadow behind the panel: a single Shadow (offset, blur, spread, color).</summary>
[Property, GooToken, Group( "Effects", StartFolded = true ), Order( 120 )] public GooShadow? BoxShadow { get; set; }
/// <summary>Left-edge offset; applied only when Position is Relative or Absolute.</summary>
[Property, GooToken, Group( "Position Offsets" ), Order( 40 ), Editor( "goo-side-lengths" ), Title( "Position Offsets" )] public GooLength? Left { get; set; }
/// <summary>Right-edge offset; applied only when Position is Relative or Absolute.</summary>
[Property, GooToken, Group( "Position Offsets" ), Order( 40 ), Hide] public GooLength? Right { get; set; }
/// <summary>Top-edge offset; applied only when Position is Relative or Absolute.</summary>
[Property, GooToken, Group( "Position Offsets" ), Order( 40 ), Hide] public GooLength? Top { get; set; }
/// <summary>Color of the text-input caret.</summary>
[Property, GooToken, Group( "Effects", StartFolded = true ), Order( 120 )] public Color? CaretColor { get; set; }
/// <summary>Mouse cursor shown on hover (CSS cursor keyword).</summary>
[Property, GooToken, Group( "Misc", StartFolded = true ), Order( 200 ), Editor( "goo-cursor" )] public string Cursor { get; set; }
/// <summary>Gaussian blur applied to the element.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Range( 0f, float.MaxValue, true, false )] public GooLength? FilterBlur { get; set; }
/// <summary>Color of the filter-pass border.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 )] public Color? FilterBorderColor { get; set; }
/// <summary>Width of the border drawn by the filter pass.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Range( 0f, float.MaxValue, true, false )] public GooLength? FilterBorderWidth { get; set; }
/// <summary>Brightness multiplier; 1 leaves it unchanged.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.05f )] public float? FilterBrightness { get; set; }
/// <summary>Contrast multiplier; 1 leaves it unchanged.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.05f )] public float? FilterContrast { get; set; }
/// <summary>Hue rotation angle.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Editor( "goo-float" ), Title( "Hue Rotate" ), Step( 0.01f )] public float? FilterHueRotate { get; set; }
/// <summary>Color inversion amount; 0 none, 1 full.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Editor( "goo-float" ), Range( 0f, 1f, true, true ), Step( 0.01f )] public float? FilterInvert { get; set; }
/// <summary>Saturation multiplier; 1 unchanged, 0 grayscale.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.05f )] public float? FilterSaturate { get; set; }
/// <summary>Sepia amount; 0 none, 1 full.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 ), Editor( "goo-float" ), Range( 0f, 1f, true, true ), Step( 0.01f )] public float? FilterSepia { get; set; }
/// <summary>Tint color multiplied over the element; default white.</summary>
[Property, GooToken, Group( "Filter", StartFolded = true ), Order( 150 )] public Color? FilterTint { get; set; }
/// <summary>Initial main-axis size of a flex child before grow and shrink are applied.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Range( 0f, float.MaxValue, true, false )] public GooLength? FlexBasis { get; set; }
/// <summary>Share of leftover main-axis space this child claims; 0 (default) means do not grow.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.1f )] public float? FlexGrow { get; set; }
/// <summary>How readily this child shrinks when space is tight; 0 pins it to its basis.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-float" ), Range( 0f, float.MaxValue, true, false ), Step( 0.1f )] public float? FlexShrink { get; set; }
/// <summary>Whether children wrap onto multiple lines when they overflow the main axis.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public Wrap? FlexWrap { get; set; }
/// <summary>Text color (s&box uses font-color, not the CSS color property).</summary>
[Property, GooToken, Group( "Font", StartFolded = true ), Order( 90 )] public Color? FontColor { get; set; }
/// <summary>Font face name.</summary>
[Property, GooToken, Group( "Font", StartFolded = true ), Order( 90 ), FontName] public string FontFamily { get; set; }
/// <summary>Text size.</summary>
[Property, GooToken, Group( "Font", StartFolded = true ), Order( 90 ), Range( 0f, float.MaxValue, true, false )] public GooLength? FontSize { get; set; }
/// <summary>Text antialiasing hint (Auto, Never, Always).</summary>
[Property, GooToken, Group( "Font", StartFolded = true ), Order( 90 ), Editor( "goo-nullable-enum" )] public FontSmooth? FontSmooth { get; set; }
/// <summary>Italic or oblique styling.</summary>
[Property, GooToken, Group( "Font", StartFolded = true ), Order( 90 ), Editor( "goo-nullable-enum" )] public FontStyle? FontStyle { get; set; }
/// <summary>Numeric glyph variant, e.g. TabularNums for fixed-width digits.</summary>
[Property, GooToken, Group( "Font", StartFolded = true ), Order( 90 ), Editor( "goo-nullable-enum" )] public FontVariantNumeric? FontVariantNumeric { get; set; }
/// <summary>Boldness from 100 to 900 (400 normal, 700 bold).</summary>
[Property, GooToken, Group( "Font", StartFolded = true ), Order( 90 ), Editor( "goo-font-weight" )] public int? FontWeight { get; set; }
/// <summary>Texture sampling for scaled images (Point, Bilinear, Trilinear, Anisotropic).</summary>
[Property, GooToken, Group( "Effects", StartFolded = true ), Order( 120 ), Editor( "goo-nullable-enum" )] public ImageRendering? ImageRendering { get; set; }
/// <summary>Extra space between characters.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public GooLength? LetterSpacing { get; set; }
/// <summary>Height of each line of text (default 100%).</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Range( 0f, float.MaxValue, true, false )] public GooLength? LineHeight { get; set; }
/// <summary>Angle in radians for a gradient mask.</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), Editor( "goo-float" ), Title( "Mask Angle (Radians)" ), Step( 0.01f ), HideIf( nameof( MaskImage ), null )] public float? MaskAngle { get; set; }
/// <summary>Texture whose alpha or luminance masks the element.</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 )] public Texture MaskImage { get; set; }
/// <summary>Whether the mask reads alpha or luminance (MatchSource, Alpha, Luminance).</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), Editor( "goo-nullable-enum" ), HideIf( nameof( MaskImage ), null )] public MaskMode? MaskMode { get; set; }
/// <summary>Horizontal offset of the mask image.</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), HideIf( nameof( MaskImage ), null ), Editor( "goo-axis-lengths" ), Title( "Mask Position" )] public GooLength? MaskPositionX { get; set; }
/// <summary>Vertical offset of the mask image.</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), HideIf( nameof( MaskImage ), null ), Hide] public GooLength? MaskPositionY { get; set; }
/// <summary>How the mask image tiles (reuses the BackgroundRepeat values).</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), Editor( "goo-nullable-enum" ), HideIf( nameof( MaskImage ), null )] public BackgroundRepeat? MaskRepeat { get; set; }
/// <summary>Whether the mask applies to the element or to its filter pass (Default, Filter).</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), Editor( "goo-nullable-enum" ), HideIf( nameof( MaskImage ), null )] public MaskScope? MaskScope { get; set; }
/// <summary>Rendered width of the mask image.</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( MaskImage ), null ), Editor( "goo-axis-lengths" ), Title( "Mask Size" )] public GooLength? MaskSizeX { get; set; }
/// <summary>Rendered height of the mask image.</summary>
[Property, GooToken, Group( "Mask", StartFolded = true ), Order( 170 ), Range( 0f, float.MaxValue, true, false ), HideIf( nameof( MaskImage ), null ), Hide] public GooLength? MaskSizeY { get; set; }
/// <summary>Upper bound on height.</summary>
[Property, GooToken, Group( "Sizing" ), Order( 20 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? MaxHeight { get; set; }
/// <summary>Upper bound on width; the box never grows past it.</summary>
[Property, GooToken, Group( "Sizing" ), Order( 20 ), Range( 0f, float.MaxValue, true, false ), Editor( "goo-axis-lengths" ), Title( "Maximum Size" )] public GooLength? MaxWidth { get; set; }
/// <summary>Lower bound on height.</summary>
[Property, GooToken, Group( "Sizing" ), Order( 20 ), Range( 0f, float.MaxValue, true, false ), Hide] public GooLength? MinHeight { get; set; }
/// <summary>Lower bound on width; the box never shrinks below it.</summary>
[Property, GooToken, Group( "Sizing" ), Order( 20 ), Range( 0f, float.MaxValue, true, false ), Editor( "goo-axis-lengths" ), Title( "Minimum Size" )] public GooLength? MinWidth { get; set; }
/// <summary>Blend mode against what is drawn behind the panel (CSS mix-blend-mode keyword).</summary>
[Property, GooToken, Group( "Effects", StartFolded = true ), Order( 120 ), Editor( "goo-blend-mode" )] public string MixBlendMode { get; set; }
/// <summary>Overall opacity from 0 (transparent) to 1 (opaque).</summary>
[Property, GooToken, Group( "Effects", StartFolded = true ), Order( 120 ), Editor( "goo-float" ), Range( 0f, 1f, true, true ), Step( 0.01f )] public float? Opacity { get; set; }
/// <summary>Reorders this child visually among its siblings (lower draws first) without moving it in the tree.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-integer" )] public int? Order { get; set; }
/// <summary>Color of the outline drawn just outside the border.</summary>
[Property, GooToken, Group( "Outline", StartFolded = true ), Order( 190 )] public Color? OutlineColor { get; set; }
/// <summary>Gap between the border edge and the outline.</summary>
[Property, GooToken, Group( "Outline", StartFolded = true ), Order( 190 )] public GooLength? OutlineOffset { get; set; }
/// <summary>Thickness of the outline.</summary>
[Property, GooToken, Group( "Outline", StartFolded = true ), Order( 190 ), Range( 0f, float.MaxValue, true, false )] public GooLength? OutlineWidth { get; set; }
/// <summary>Clipping and scrolling for content past the box on both axes.</summary>
[Property, GooToken, Group( "Overflow" ), Order( 50 ), Editor( "goo-nullable-enum" )] public OverflowMode? Overflow { get; set; }
/// <summary>Overflow handling on the horizontal axis.</summary>
[Property, GooToken, Group( "Overflow" ), Order( 50 ), Editor( "goo-axis-enums" ), Title( "Overflow Axes" )] public OverflowMode? OverflowX { get; set; }
/// <summary>Overflow handling on the vertical axis.</summary>
[Property, GooToken, Group( "Overflow" ), Order( 50 ), Hide] public OverflowMode? OverflowY { get; set; }
/// <summary>Horizontal vanishing point for 3D-transformed children (default 50%).</summary>
[Property, GooToken, Group( "Transform", StartFolded = true ), Order( 140 ), Editor( "goo-axis-lengths" ), Title( "Perspective Origin" )] public GooLength? PerspectiveOriginX { get; set; }
/// <summary>Vertical vanishing point for 3D-transformed children (default 50%).</summary>
[Property, GooToken, Group( "Transform", StartFolded = true ), Order( 140 ), Hide] public GooLength? PerspectiveOriginY { get; set; }
/// <summary>Whether the element receives pointer input (All or None).</summary>
[Property, GooToken, Group( "Misc", StartFolded = true ), Order( 200 ), Editor( "goo-nullable-enum" )] public PointerEvents? PointerEvents { get; set; }
/// <summary>Positioning scheme: Relative offsets from the normal slot, Absolute lifts the box out of flow against the nearest positioned ancestor.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-nullable-enum" )] public PositionMode? Position { get; set; }
/// <summary>Sound played when the element appears.</summary>
[Property, GooToken, Group( "Misc", StartFolded = true ), Order( 200 ), ResourceType( "sound" )] public string SoundIn { get; set; }
/// <summary>Sound played when the element is removed.</summary>
[Property, GooToken, Group( "Misc", StartFolded = true ), Order( 200 ), ResourceType( "sound" )] public string SoundOut { get; set; }
/// <summary>Horizontal alignment of text within its box.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public TextAlign? TextAlign { get; set; }
/// <summary>Angle in radians for a gradient fill painted onto the text.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-float" ), Title( "Text Background Angle (Radians)" ), Step( 0.01f )] public float? TextBackgroundAngle { get; set; }
/// <summary>Color of the underline, overline, or line-through.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public Color? TextDecorationColor { get; set; }
/// <summary>Which decoration lines to draw (underline, overline, line-through; flags).</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public TextDecoration? TextDecorationLine { get; set; }
/// <summary>Whether decoration lines skip over glyph descenders.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public TextSkipInk? TextDecorationSkipInk { get; set; }
/// <summary>Decoration line style (solid, double, dotted, dashed, wavy).</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public TextDecorationStyle? TextDecorationStyle { get; set; }
/// <summary>Thickness of the decoration line.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Range( 0f, float.MaxValue, true, false )] public GooLength? TextDecorationThickness { get; set; }
/// <summary>Texture filtering mode used when rendering text.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public FilterMode? TextFilter { get; set; }
/// <summary>Vertical offset of the line-through.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public GooLength? TextLineThroughOffset { get; set; }
/// <summary>How clipped text is signalled (None, Ellipsis, Clip).</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public TextOverflow? TextOverflow { get; set; }
/// <summary>Vertical offset of the overline.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public GooLength? TextOverlineOffset { get; set; }
/// <summary>Color of the text outline stroke.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public Color? TextStrokeColor { get; set; }
/// <summary>Width of the text outline stroke.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Range( 0f, float.MaxValue, true, false )] public GooLength? TextStrokeWidth { get; set; }
/// <summary>Case transform applied at render (Uppercase, Lowercase, Capitalize).</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public TextTransform? TextTransform { get; set; }
/// <summary>Vertical offset of the underline.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public GooLength? TextUnderlineOffset { get; set; }
/// <summary>Horizontal pivot the transform rotates and scales around (default 50%).</summary>
[Property, GooToken, Group( "Transform", StartFolded = true ), Order( 140 ), Editor( "goo-axis-lengths" ), Title( "Transform Origin" )] public GooLength? TransformOriginX { get; set; }
/// <summary>Vertical pivot the transform rotates and scales around (default 50%).</summary>
[Property, GooToken, Group( "Transform", StartFolded = true ), Order( 140 ), Hide] public GooLength? TransformOriginY { get; set; }
/// <summary>Whitespace and wrapping handling (Normal, NoWrap, Pre, PreLine).</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public WhiteSpace? WhiteSpace { get; set; }
/// <summary>Whether long words may break mid-word to avoid overflow.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 ), Editor( "goo-nullable-enum" )] public WordBreak? WordBreak { get; set; }
/// <summary>Extra space between words.</summary>
[Property, GooToken, Group( "Text", StartFolded = true ), Order( 100 )] public GooLength? WordSpacing { get; set; }
/// <summary>Stacking order among overlapping siblings; higher draws on top.</summary>
[Property, GooToken, Group( "Layout" ), Order( 10 ), Editor( "goo-integer" )] public int? ZIndex { get; set; }
/// <summary>BackgroundColor while the pointer is over the element.</summary>
[Property, GooToken, Group( "State Variants", StartFolded = true ), Order( 110 )] public Color? HoverBackgroundColor { get; set; }
/// <summary>BackgroundColor while the element is pressed.</summary>
[Property, GooToken, Group( "State Variants", StartFolded = true ), Order( 110 )] public Color? ActiveBackgroundColor { get; set; }
/// <summary>BackgroundColor while the element has focus.</summary>
[Property, GooToken, Group( "State Variants", StartFolded = true ), Order( 110 )] public Color? FocusBackgroundColor { get; set; }
/// <summary>FontColor while the pointer is over the element.</summary>
[Property, GooToken, Group( "State Variants", StartFolded = true ), Order( 110 )] public Color? HoverFontColor { get; set; }
/// <summary>FontColor while the element is pressed.</summary>
[Property, GooToken, Group( "State Variants", StartFolded = true ), Order( 110 )] public Color? ActiveFontColor { get; set; }
/// <summary>FontColor while the element has focus.</summary>
[Property, GooToken, Group( "State Variants", StartFolded = true ), Order( 110 )] public Color? FocusFontColor { get; set; }
/// <summary>Duration in milliseconds for the Hover/Active/Focus color transitions.</summary>
[Property, GooToken, Group( "State Variants", StartFolded = true ), Order( 110 ), Editor( "goo-integer" ), Range( 0, int.MaxValue, true, false ), Step( 1 )] public int? TransitionMs { get; set; }
Goo.Container WithStyles( Goo.Container blob ) => blob with
{
FlexDirection = ResolveStyleValue( nameof( FlexDirection ), FlexDirection ),
JustifyContent = ResolveStyleValue( nameof( JustifyContent ), JustifyContent ),
AlignItems = ResolveStyleValue( nameof( AlignItems ), AlignItems ),
Display = ResolveStyleValue( nameof( Display ), Display ),
Width = ResolveStyleValue( nameof( Width ), Width ),
Height = ResolveStyleValue( nameof( Height ), Height ),
Padding = ResolveStyleValue( nameof( Padding ), Padding ),
PaddingLeft = ResolveStyleValue( nameof( PaddingLeft ), PaddingLeft ),
PaddingTop = ResolveStyleValue( nameof( PaddingTop ), PaddingTop ),
PaddingRight = ResolveStyleValue( nameof( PaddingRight ), PaddingRight ),
PaddingBottom = ResolveStyleValue( nameof( PaddingBottom ), PaddingBottom ),
Margin = ResolveStyleValue( nameof( Margin ), Margin ),
MarginLeft = ResolveStyleValue( nameof( MarginLeft ), MarginLeft ),
MarginTop = ResolveStyleValue( nameof( MarginTop ), MarginTop ),
MarginRight = ResolveStyleValue( nameof( MarginRight ), MarginRight ),
MarginBottom = ResolveStyleValue( nameof( MarginBottom ), MarginBottom ),
Gap = ResolveStyleValue( nameof( Gap ), Gap ),
RowGap = ResolveStyleValue( nameof( RowGap ), RowGap ),
ColumnGap = ResolveStyleValue( nameof( ColumnGap ), ColumnGap ),
BackgroundColor = ResolveStyleValue( nameof( BackgroundColor ), BackgroundColor ),
BorderRadius = ResolveStyleValue( nameof( BorderRadius ), BorderRadius ),
BorderTopLeftRadius = ResolveStyleValue( nameof( BorderTopLeftRadius ), BorderTopLeftRadius ),
BorderTopRightRadius = ResolveStyleValue( nameof( BorderTopRightRadius ), BorderTopRightRadius ),
BorderBottomRightRadius = ResolveStyleValue( nameof( BorderBottomRightRadius ), BorderBottomRightRadius ),
BorderBottomLeftRadius = ResolveStyleValue( nameof( BorderBottomLeftRadius ), BorderBottomLeftRadius ),
AlignContent = ResolveStyleValue( nameof( AlignContent ), AlignContent ),
AlignSelf = ResolveStyleValue( nameof( AlignSelf ), AlignSelf ),
AspectRatio = ResolveStyleValue( nameof( AspectRatio ), AspectRatio ),
BackdropFilterBlur = ResolveStyleValue( nameof( BackdropFilterBlur ), BackdropFilterBlur ),
BackdropFilterBrightness = ResolveStyleValue( nameof( BackdropFilterBrightness ), BackdropFilterBrightness ),
BackdropFilterContrast = ResolveStyleValue( nameof( BackdropFilterContrast ), BackdropFilterContrast ),
BackdropFilterHueRotate = ResolveStyleValue( nameof( BackdropFilterHueRotate ), BackdropFilterHueRotate ),
BackdropFilterInvert = ResolveStyleValue( nameof( BackdropFilterInvert ), BackdropFilterInvert ),
BackdropFilterSaturate = ResolveStyleValue( nameof( BackdropFilterSaturate ), BackdropFilterSaturate ),
BackdropFilterSepia = ResolveStyleValue( nameof( BackdropFilterSepia ), BackdropFilterSepia ),
BackgroundAngle = ResolveStyleValue( nameof( BackgroundAngle ), BackgroundAngle ),
BackgroundBlendMode = ResolveStyleValue( nameof( BackgroundBlendMode ), string.IsNullOrEmpty( BackgroundBlendMode ) ? null : BackgroundBlendMode ),
BackgroundImage = ResolveStyleValue( nameof( BackgroundImage ), BackgroundImage ),
BackgroundPlaybackPaused = ResolveStyleValue( nameof( BackgroundPlaybackPaused ), BackgroundPlaybackPaused ),
BackgroundPositionX = ResolveStyleValue( nameof( BackgroundPositionX ), BackgroundPositionX ),
BackgroundPositionY = ResolveStyleValue( nameof( BackgroundPositionY ), BackgroundPositionY ),
BackgroundRepeat = ResolveStyleValue( nameof( BackgroundRepeat ), BackgroundRepeat ),
BackgroundSizeX = ResolveStyleValue( nameof( BackgroundSizeX ), BackgroundSizeX ),
BackgroundSizeY = ResolveStyleValue( nameof( BackgroundSizeY ), BackgroundSizeY ),
BackgroundTint = ResolveStyleValue( nameof( BackgroundTint ), BackgroundTint ),
BorderBottomColor = ResolveStyleValue( nameof( BorderBottomColor ), BorderBottomColor ),
BorderColor = ResolveStyleValue( nameof( BorderColor ), BorderColor ),
BorderLeftColor = ResolveStyleValue( nameof( BorderLeftColor ), BorderLeftColor ),
BorderRightColor = ResolveStyleValue( nameof( BorderRightColor ), BorderRightColor ),
BorderTopColor = ResolveStyleValue( nameof( BorderTopColor ), BorderTopColor ),
BorderImageFill = ResolveStyleValue( nameof( BorderImageFill ), BorderImageFill ),
BorderImageRepeat = ResolveStyleValue( nameof( BorderImageRepeat ), BorderImageRepeat ),
BorderImageSource = ResolveStyleValue( nameof( BorderImageSource ), BorderImageSource ),
BorderImageTint = ResolveStyleValue( nameof( BorderImageTint ), BorderImageTint ),
BorderImageWidthBottom = ResolveStyleValue( nameof( BorderImageWidthBottom ), BorderImageWidthBottom ),
BorderImageWidthLeft = ResolveStyleValue( nameof( BorderImageWidthLeft ), BorderImageWidthLeft ),
BorderImageWidthRight = ResolveStyleValue( nameof( BorderImageWidthRight ), BorderImageWidthRight ),
BorderImageWidthTop = ResolveStyleValue( nameof( BorderImageWidthTop ), BorderImageWidthTop ),
BorderBottomWidth = ResolveStyleValue( nameof( BorderBottomWidth ), BorderBottomWidth ),
BorderLeftWidth = ResolveStyleValue( nameof( BorderLeftWidth ), BorderLeftWidth ),
BorderRightWidth = ResolveStyleValue( nameof( BorderRightWidth ), BorderRightWidth ),
BorderTopWidth = ResolveStyleValue( nameof( BorderTopWidth ), BorderTopWidth ),
BorderWidth = ResolveStyleValue( nameof( BorderWidth ), BorderWidth ),
Bottom = ResolveStyleValue( nameof( Bottom ), Bottom ),
BoxShadow = ResolveStyleValue( nameof( BoxShadow ), BoxShadow ),
Left = ResolveStyleValue( nameof( Left ), Left ),
Right = ResolveStyleValue( nameof( Right ), Right ),
Top = ResolveStyleValue( nameof( Top ), Top ),
CaretColor = ResolveStyleValue( nameof( CaretColor ), CaretColor ),
Cursor = ResolveStyleValue( nameof( Cursor ), string.IsNullOrEmpty( Cursor ) ? null : Cursor ),
FilterBlur = ResolveStyleValue( nameof( FilterBlur ), FilterBlur ),
FilterBorderColor = ResolveStyleValue( nameof( FilterBorderColor ), FilterBorderColor ),
FilterBorderWidth = ResolveStyleValue( nameof( FilterBorderWidth ), FilterBorderWidth ),
FilterBrightness = ResolveStyleValue( nameof( FilterBrightness ), FilterBrightness ),
FilterContrast = ResolveStyleValue( nameof( FilterContrast ), FilterContrast ),
FilterHueRotate = ResolveStyleValue( nameof( FilterHueRotate ), FilterHueRotate ),
FilterInvert = ResolveStyleValue( nameof( FilterInvert ), FilterInvert ),
FilterSaturate = ResolveStyleValue( nameof( FilterSaturate ), FilterSaturate ),
FilterSepia = ResolveStyleValue( nameof( FilterSepia ), FilterSepia ),
FilterTint = ResolveStyleValue( nameof( FilterTint ), FilterTint ),
FlexBasis = ResolveStyleValue( nameof( FlexBasis ), FlexBasis ),
FlexGrow = ResolveStyleValue( nameof( FlexGrow ), FlexGrow ),
FlexShrink = ResolveStyleValue( nameof( FlexShrink ), FlexShrink ),
FlexWrap = ResolveStyleValue( nameof( FlexWrap ), FlexWrap ),
FontColor = ResolveStyleValue( nameof( FontColor ), FontColor ),
FontFamily = ResolveStyleValue( nameof( FontFamily ), string.IsNullOrEmpty( FontFamily ) ? null : FontFamily ),
FontSize = ResolveStyleValue( nameof( FontSize ), FontSize ),
FontSmooth = ResolveStyleValue( nameof( FontSmooth ), FontSmooth ),
FontStyle = ResolveStyleValue( nameof( FontStyle ), FontStyle ),
FontVariantNumeric = ResolveStyleValue( nameof( FontVariantNumeric ), FontVariantNumeric ),
FontWeight = ResolveStyleValue( nameof( FontWeight ), FontWeight ),
ImageRendering = ResolveStyleValue( nameof( ImageRendering ), ImageRendering ),
LetterSpacing = ResolveStyleValue( nameof( LetterSpacing ), LetterSpacing ),
LineHeight = ResolveStyleValue( nameof( LineHeight ), LineHeight ),
MaskAngle = ResolveStyleValue( nameof( MaskAngle ), MaskAngle ),
MaskImage = ResolveStyleValue( nameof( MaskImage ), MaskImage ),
MaskMode = ResolveStyleValue( nameof( MaskMode ), MaskMode ),
MaskPositionX = ResolveStyleValue( nameof( MaskPositionX ), MaskPositionX ),
MaskPositionY = ResolveStyleValue( nameof( MaskPositionY ), MaskPositionY ),
MaskRepeat = ResolveStyleValue( nameof( MaskRepeat ), MaskRepeat ),
MaskScope = ResolveStyleValue( nameof( MaskScope ), MaskScope ),
MaskSizeX = ResolveStyleValue( nameof( MaskSizeX ), MaskSizeX ),
MaskSizeY = ResolveStyleValue( nameof( MaskSizeY ), MaskSizeY ),
MaxHeight = ResolveStyleValue( nameof( MaxHeight ), MaxHeight ),
MaxWidth = ResolveStyleValue( nameof( MaxWidth ), MaxWidth ),
MinHeight = ResolveStyleValue( nameof( MinHeight ), MinHeight ),
MinWidth = ResolveStyleValue( nameof( MinWidth ), MinWidth ),
MixBlendMode = ResolveStyleValue( nameof( MixBlendMode ), string.IsNullOrEmpty( MixBlendMode ) ? null : MixBlendMode ),
Opacity = ResolveStyleValue( nameof( Opacity ), Opacity ),
Order = ResolveStyleValue( nameof( Order ), Order ),
OutlineColor = ResolveStyleValue( nameof( OutlineColor ), OutlineColor ),
OutlineOffset = ResolveStyleValue( nameof( OutlineOffset ), OutlineOffset ),
OutlineWidth = ResolveStyleValue( nameof( OutlineWidth ), OutlineWidth ),
Overflow = ResolveStyleValue( nameof( Overflow ), Overflow ),
OverflowX = ResolveStyleValue( nameof( OverflowX ), OverflowX ),
OverflowY = ResolveStyleValue( nameof( OverflowY ), OverflowY ),
PerspectiveOriginX = ResolveStyleValue( nameof( PerspectiveOriginX ), PerspectiveOriginX ),
PerspectiveOriginY = ResolveStyleValue( nameof( PerspectiveOriginY ), PerspectiveOriginY ),
PointerEvents = ResolveStyleValue( nameof( PointerEvents ), PointerEvents ),
Position = ResolveStyleValue( nameof( Position ), Position ),
SoundIn = ResolveStyleValue( nameof( SoundIn ), string.IsNullOrEmpty( SoundIn ) ? null : SoundIn ),
SoundOut = ResolveStyleValue( nameof( SoundOut ), string.IsNullOrEmpty( SoundOut ) ? null : SoundOut ),
TextAlign = ResolveStyleValue( nameof( TextAlign ), TextAlign ),
TextBackgroundAngle = ResolveStyleValue( nameof( TextBackgroundAngle ), TextBackgroundAngle ),
TextDecorationColor = ResolveStyleValue( nameof( TextDecorationColor ), TextDecorationColor ),
TextDecorationLine = ResolveStyleValue( nameof( TextDecorationLine ), TextDecorationLine ),
TextDecorationSkipInk = ResolveStyleValue( nameof( TextDecorationSkipInk ), TextDecorationSkipInk ),
TextDecorationStyle = ResolveStyleValue( nameof( TextDecorationStyle ), TextDecorationStyle ),
TextDecorationThickness = ResolveStyleValue( nameof( TextDecorationThickness ), TextDecorationThickness ),
TextFilter = ResolveStyleValue( nameof( TextFilter ), TextFilter ),
TextLineThroughOffset = ResolveStyleValue( nameof( TextLineThroughOffset ), TextLineThroughOffset ),
TextOverflow = ResolveStyleValue( nameof( TextOverflow ), TextOverflow ),
TextOverlineOffset = ResolveStyleValue( nameof( TextOverlineOffset ), TextOverlineOffset ),
TextStrokeColor = ResolveStyleValue( nameof( TextStrokeColor ), TextStrokeColor ),
TextStrokeWidth = ResolveStyleValue( nameof( TextStrokeWidth ), TextStrokeWidth ),
TextTransform = ResolveStyleValue( nameof( TextTransform ), TextTransform ),
TextUnderlineOffset = ResolveStyleValue( nameof( TextUnderlineOffset ), TextUnderlineOffset ),
TransformOriginX = ResolveStyleValue( nameof( TransformOriginX ), TransformOriginX ),
TransformOriginY = ResolveStyleValue( nameof( TransformOriginY ), TransformOriginY ),
WhiteSpace = ResolveStyleValue( nameof( WhiteSpace ), WhiteSpace ),
WordBreak = ResolveStyleValue( nameof( WordBreak ), WordBreak ),
WordSpacing = ResolveStyleValue( nameof( WordSpacing ), WordSpacing ),
ZIndex = ResolveStyleValue( nameof( ZIndex ), ZIndex ),
HoverBackgroundColor = ResolveStyleValue( nameof( HoverBackgroundColor ), HoverBackgroundColor ),
ActiveBackgroundColor = ResolveStyleValue( nameof( ActiveBackgroundColor ), ActiveBackgroundColor ),
FocusBackgroundColor = ResolveStyleValue( nameof( FocusBackgroundColor ), FocusBackgroundColor ),
HoverFontColor = ResolveStyleValue( nameof( HoverFontColor ), HoverFontColor ),
ActiveFontColor = ResolveStyleValue( nameof( ActiveFontColor ), ActiveFontColor ),
FocusFontColor = ResolveStyleValue( nameof( FocusFontColor ), FocusFontColor ),
TransitionMs = ResolveStyleValue( nameof( TransitionMs ), TransitionMs ),
Transform = BuildStyleTransform(),
};
}