using System.Runtime.Serialization; using Umbraco.Cms.Core.Models.Entities; namespace Umbraco.Cms.Core.Models; /// /// Represents a Stylesheet Property /// /// /// Properties are always formatted to have a single selector, so it can be used in the backoffice /// [Serializable] [DataContract(IsReference = true)] public class StylesheetProperty : BeingDirtyBase, IValueObject, IStylesheetProperty { private string _alias; private string _value; public StylesheetProperty(string name, string alias, string value) { Name = name; _alias = alias; _value = value; } /// /// The CSS rule name that can be used by Umbraco in the back office /// public string Name { get; private set; } /// /// This is the CSS Selector /// public string Alias { get => _alias; set => SetPropertyValueAndDetectChanges(value, ref _alias!, nameof(Alias)); } /// /// The CSS value for the selector /// public string Value { get => _value; set => SetPropertyValueAndDetectChanges(value, ref _value!, nameof(Value)); } }