Classes, interfaces and traits

CompilationResult

« More »

Compiler

SCSS compiler

« More »

OutputStyle

TODO convert to an enum with appropriate forward-compat/backward-compat APIs in 1.x

« More »

Type

Block/node types

« More »

ValueConverter

« More »

Version

SCSSPHP version

« More »

Classes, interfaces and traits

CallableInvocation

« More »

Classes, interfaces and traits

Map

A map using Sass values as keys based on Value::equals.

The map can be either modifiable or unmodifiable. For unmodifiable maps, all mutators will throw a LogicException.

Iteration preserves the order in which keys have been inserted.

« More »

Classes, interfaces and traits

SassException

« More »

SassScriptException

An exception thrown by SassScript.

This class does not implement SassException on purpose, as it should never be returned to the outside code. The compilation will catch it and replace it with a SassException reporting the location of the error.

« More »

Classes, interfaces and traits

FilesystemImporter

An importer that loads files from a load path on the filesystem.

« More »

Importer

A base class for importers that resolves URLs in `@import`s to the contents of Sass files.

Importers should implement {@see \ScssPhp\ScssPhp\Importer__toString} to provide a human-readable description of the importer. For example, the default filesystem importer returns its load path.

« More »

ImporterResult

« More »

NoOpImporter

An importer that never imports any stylesheets.

This is used for stylesheets which don't support relative imports, such as those created from PHP code with plain strings.

« More »

Classes, interfaces and traits

LocationAwareLoggerInterface

Interface implemented by loggers for warnings and debug messages.

The official Sass implementation recommends that loggers report the messages immediately rather than waiting for the end of the compilation, to provide a better debugging experience when the compilation does not end (error or infinite loop after the warning for instance).

« More »

LoggerInterface

Interface implemented by loggers for warnings and debug messages.

The official Sass implementation recommends that loggers report the messages immediately rather than waiting for the end of the compilation, to provide a better debugging experience when the compilation does not end (error or infinite loop after the warning for instance).

« More »

QuietLogger

A logger that silently ignores all messages.

« More »

StreamLogger

A logger that prints to a PHP stream (for instance stderr)

TODO implement LocationAwareLoggerInterface once the compiler is migrated to actually provide the location

« More »

Classes, interfaces and traits

Number

Dimension + optional units

}

« More »

Classes, interfaces and traits

Frame

A single stack frame. Each frame points to a precise location in Sass code.

« More »

Trace

A stack trace, comprised of a list of stack frames.

« More »

Classes, interfaces and traits

Box

An unmodifiable reference to a value that may be mutated elsewhere.

This uses reference equality based on the underlying {@see \ScssPhp\ScssPhp\Util\ModifiableBox}, even when the underlying type uses value equality.

« More »

Classes, interfaces and traits

CalculationOperation

A binary operation that can appear in a {@see SassCalculation}.

« More »

SassArgumentList

A SassScript argument list.

An argument list comes from a rest argument. It's distinct from a normal {@see \ScssPhp\ScssPhp\Value\SassList} in that it may contain a keyword map as well as the positional arguments.

« More »

SassBoolean

A SassScript boolean value.

« More »

SassCalculation

A SassScript calculation.

Although calculations can in principle have any name or any number of arguments, this class only exposes the specific calculations that are supported by the Sass spec. This ensures that all calculations that the user works with are always fully simplified.

« More »

SassColor

A SassScript color.

« More »

SassFunction

A SassScript function reference.

A function reference captures a function from the local environment so that it may be passed between modules.

« More »

SassList

A SassScript list.

« More »

SassMap

A SassScript map.

« More »

SassNull

The SassScript `null` value.

« More »

SassNumber

A SassScript number.

Numbers can have units. Although there's no literal syntax for it, numbers support scientific-style numerator and denominator units (for example, miles/hour). These are expected to be resolved before being emitted to CSS.

« More »

SassString

A SassScript string.

Strings can either be quoted or unquoted. Unquoted strings are usually CSS identifiers, but they may contain any text.

« More »

Value

A SassScript value.

All SassScript values are unmodifiable. New values can be constructed using subclass constructors like new SassString. Untyped values can be cast to particular types using assert*() functions like {@see \ScssPhp\ScssPhp\Value\assertString}, which throw user-friendly error messages if they fail.

« More »

Classes, interfaces and traits

ApiTest

API test

« More »

Base64VLQTest

Base64VLQ encoder test

« More »

CompilerTest

« More »

CompressedTest

« More »

ExceptionTest

Exception test

« More »

FrameworkTest

« More »

InputTest

Input test - runs all the tests in inputs/ and compares their output to outputs/

« More »

SassSpecTest

Sass Spec Test - extracts tests from https://github.com/sass/sass-spec

« More »

Classes, interfaces and traits

CssMediaQueryTest

« More »

Classes, interfaces and traits

NestingTest

Selector nesting tests, taken from sass-spec TODO Remove those tests once the compiler uses this implementation of selectors, as sass-spec covers that logic

« More »

SuperselectorTest

Selector comparison tests, taken from sass-spec TODO Remove those tests once the compiler uses this implementation of selectors, as sass-spec covers that logic

« More »

UnificationTest

Selector unification tests, taken from sass-spec TODO Remove those tests once the compiler uses this implementation of selectors, as sass-spec covers that logic

« More »

Classes, interfaces and traits

AtRootQueryParserTest

« More »

KeyframeSelectorParserTest

« More »

MediaQueryParserTest

« More »

SelectorParserTest

« More »

Classes, interfaces and traits

SerializerTest

« More »

Classes, interfaces and traits

PathTest

« More »

Classes, interfaces and traits

SassBooleanTest

« More »

SassFunctionTest

« More »

SassNullTest

« More »

ValueTestCase

« More »

Classes, interfaces and traits

HslTest

« More »

HwbTest

« More »

RgbTest

« More »

SassColorTest

« More »

Classes, interfaces and traits

CommaSeparatedTest

« More »

ConstructorTest

« More »

EmptyListTest

« More »

SassListTest

« More »

ScalarValueTest

« More »

SingleElementTest

« More »

Classes, interfaces and traits

ContentsTest

« More »

EmptyTest

« More »

Classes, interfaces and traits

ComplexUnitNumberTest

« More »

SassNumberTest

« More »

SingleUnitIntegerTest

« More »

UnitlessDoubleTest

« More »

UnitlessFuzzyIntegerTest

« More »

UnitlessIntegerTest

« More »

Classes, interfaces and traits

QuotedAsciiTest

« More »

UnquotedAsciiTest

« More »

UnquotedUnicodeTest

« More »