All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scalacss.internal.StyleA.scala Maven / Gradle / Ivy

The newest version!
package scalacss.internal

/**
 * Applicable style.
 *
 * A style that needs no more processing and can be applied to some target.
 *
 * @param addClassNames Additional class names that the style has requested be appended.
 *                      Allows ScalaCSS styles to use classname-based CSS libraries like Bootstrap.
 */
final case class StyleA(className: ClassName, addClassNames: Vector[ClassName], style: StyleS) {

  def selector: String =
    "." + className.value

  def classNameIterator: Iterator[ClassName] =
    Iterator.single(className) ++ addClassNames

  /** Value to be applied to a HTML element's `class` attribute. */
  val htmlClass: String =
    classNameIterator.map(_.value).mkString(" ")

  def +(s: StyleA)(implicit c: Compose): StyleA =
    StyleA(className, s.className +: (addClassNames ++ s.addClassNames), style.compose(s.style))
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy