Documentation

Compiler
in package

SCSS compiler

Tags
author

Leaf Corcoran leafot@gmail.com

Table of Contents

DEBUG_INFO  = 2
LINE_COMMENTS  = 1
SOURCE_MAP_FILE  = 2
SOURCE_MAP_INLINE  = 1
SOURCE_MAP_NONE  = 0
WITH_ALL  = 7
WITH_MEDIA  = 2
WITH_RULE  = 1
WITH_SUPPORTS  = 4
$defaultValue  : mixed
$emptyList  : mixed
$emptyMap  : mixed
$emptyString  : mixed
$false  : mixed
$null  : mixed
$nullString  : mixed
$selfSelector  : mixed
$true  : mixed
$with  : mixed
$without  : mixed
$cache  : mixed
$callStack  : mixed
$charsetSeen  : mixed
$encoding  : mixed
$env  : Environment
$extends  : mixed
$extendsMap  : mixed
$formatter  : string|Formatter
$ignoreErrors  : mixed
$importCache  : mixed
$importedFiles  : mixed
$importPaths  : mixed
$indentLevel  : mixed
$libAbs  : mixed
$libAdjustColor  : mixed
$libAdjustHue  : mixed
$libAlpha  : mixed
$libAppend  : mixed
$libBlue  : mixed
$libCeil  : mixed
$libChangeColor  : mixed
$libComparable  : mixed
$libComplement  : mixed
$libDarken  : mixed
$libDesaturate  : mixed
$libFadeIn  : mixed
$libFadeOut  : mixed
$libFeatureExists  : mixed
$libFloor  : mixed
$libFunctionExists  : mixed
$libGlobalVariableExists  : mixed
$libGrayscale  : mixed
$libGreen  : mixed
$libHsl  : mixed
$libHsla  : mixed
$libHue  : mixed
$libIeHexStr  : mixed
$libIf  : mixed
$libIndex  : mixed
$libInspect  : mixed
$libInvert  : mixed
$libIsSuperselector  : mixed
$libJoin  : mixed
$libKeywords  : mixed
$libLength  : mixed
$libLighten  : mixed
$libLightness  : mixed
$libMapGet  : mixed
$libMapHasKey  : mixed
$libMapKeys  : mixed
$libMapMerge  : mixed
$libMapRemove  : mixed
$libMapValues  : mixed
$libMix  : mixed
$libMixinExists  : mixed
$libNth  : mixed
$libOpacify  : mixed
$libOpacity  : mixed
$libPercentage  : mixed
$libQuote  : mixed
$libRandom  : mixed
$libRed  : mixed
$libRgb  : mixed
$libRgba  : mixed
$libRound  : mixed
$libSaturate  : mixed
$libSaturation  : mixed
$libScaleColor  : mixed
$libSelectorExtend  : mixed
$libSelectorParse  : mixed
$libSelectorReplace  : mixed
$libSelectorUnify  : mixed
$libSetNth  : mixed
$libSimpleSelectors  : mixed
$libStrIndex  : mixed
$libStrInsert  : mixed
$libStrLength  : mixed
$libStrSlice  : mixed
$libToLowerCase  : mixed
$libToUpperCase  : mixed
$libTransparentize  : mixed
$libTypeOf  : mixed
$libUnit  : mixed
$libUnitless  : mixed
$libUnquote  : mixed
$libVariableExists  : mixed
$lineNumberStyle  : mixed
$namespaces  : array<string|int, mixed>
$operatorNames  : array<string|int, mixed>
$parsedFiles  : mixed
$parser  : mixed
$registeredFeatures  : mixed
$registeredVars  : mixed
$rootBlock  : mixed
$rootEnv  : mixed
$scope  : mixed
$shouldEvaluate  : mixed
$sourceColumn  : mixed
$sourceIndex  : mixed
$sourceLine  : mixed
$sourceMap  : mixed
$sourceMapOptions  : mixed
$sourceNames  : mixed
$stderr  : mixed
$storeEnv  : mixed
$userFunctions  : mixed
__construct()  : mixed
Constructor
addFeature()  : mixed
Add feature
addImportPath()  : mixed
Add import path
addParsedFile()  : mixed
Adds to list of parsed files
assertColor()  : array<string|int, mixed>
Assert value is a color
assertList()  : array<string|int, mixed>
Assert value is a list
assertMap()  : array<string|int, mixed>
Assert value is a map
assertNumber()  : int|float
Assert value is a number
compile()  : string
Compile scss
compileValue()  : string
Compiles a primitive value into a CSS property value.
findImport()  : string|null
Return the file path for an import url if it exists
get()  : mixed|null
Get variable
getCompileOptions()  : mixed
getParsedFiles()  : array<string|int, mixed>
Returns list of parsed files
getVariables()  : array<string|int, mixed>
Returns list of variables
normalizeValue()  : array<string|int, mixed>
Normalize value
registerFunction()  : mixed
Register function
setEncoding()  : mixed
Set encoding
setFormatter()  : mixed
Set formatter
setIgnoreErrors()  : Compiler
Ignore errors?
setImportPaths()  : mixed
Set import paths
setLineNumberStyle()  : mixed
Set line number style
setNumberPrecision()  : mixed
Set number precision
setSourceMap()  : mixed
Enable/disable source maps
setSourceMapOptions()  : mixed
Set source map options
setVariables()  : mixed
Set variables
throwError()  : mixed
Throw error (exception)
toBool()  : array<string|int, mixed>
Cast to boolean
toHSL()  : array<string|int, mixed>
Convert RGB to HSL
toRGB()  : array<string|int, mixed>
Convert HSL to RGB
unregisterFunction()  : mixed
Unregister function
unsetVariable()  : mixed
Unset variable
adjustHsl()  : mixed
alterColor()  : mixed
applyArguments()  : mixed
Apply argument values per definition
callNativeFunction()  : bool
Call built-in and registered (PHP) functions
callScssFunction()  : bool
Call SCSS @function
callStackMessage()  : string
Beautify call stack for output
checkCompatibleTags()  : array<string|int, mixed>|bool
Check the compatibility between two tag names: if both are defined they should be identical or one has to be '*'
coerceColor()  : array<string|int, mixed>|null
Coerce value to color
coerceForExpression()  : array<string|int, mixed>|null
Coerce color for expression
coerceList()  : array<string|int, mixed>
Coerce something to list
coerceMap()  : array<string|int, mixed>
Coerce something to map
coercePercent()  : int|float
Coerce value to a percentage
coerceString()  : array<string|int, mixed>|null
Coerce value to string
coerceValue()  : array<string|int, mixed>|Number
Coerce a php value into a scss one
collapseSelectors()  : string
Collapse selectors
combineSelectorSingle()  : array<string|int, mixed>
Combine selector single
compactEnv()  : array<string|int, mixed>
Convert env linked list to stack
compileAtRoot()  : mixed
Compile at-root
compileBlock()  : mixed
Recursively compiles a block.
compileChild()  : array<string|int, mixed>
Compile child; returns a value to halt execution
compileChildren()  : array<string|int, mixed>|null
Compile children and return result
compileChildrenNoReturn()  : mixed
Compile children and throw exception if unexpected @return
compileComment()  : mixed
Compile root level comment
compileDirective()  : mixed
Compile directive
compileImport()  : bool
Compile import; returns true if the value was something that could be imported
compileKeyframeBlock()  : mixed
Compile keyframe block
compileMedia()  : mixed
Compile media
compileMediaQuery()  : array<string|int, mixed>
Compile media query
compileNestedBlock()  : mixed
Compile nested block
compileRoot()  : mixed
Compile root
compileSelector()  : string
Compile selector to string; self(&) should have been replaced by now
compileSelectorPart()  : string
Compile selector part
compileStringContent()  : string
Compile string content
compileWith()  : int
Compile @at-root's with: inclusion / without: exclusion into filter flags
completeScope()  : mixed
found missing selector from a at-root compilation in the previous scope (if at-root is just enclosing a property, the selector is in the parent tree)
evalSelector()  : array<string|int, mixed>
Evaluate selector
evalSelectorPart()  : array<string|int, mixed>
Evaluate selector part; replaces all the interpolates, stripping quotes
evalSelectors()  : array<string|int, mixed>
Evaluate selectors
evaluateMediaQuery()  : array<string|int, mixed>
evaluate media query : compile internal value keeping the structure inchanged
expToString()  : array<string|int, mixed>
Reduce expression to string
extendOrReplaceSelectors()  : array<string|int, mixed>
Extend/replace in selectors used by selector-extend and selector-replace that use the same logic
extractEnv()  : Environment
Convert env stack to singly linked list
extractInterpolation()  : array<string|int, mixed>
Extract interpolation; it doesn't need to be recursive, compileValue will handle that
extractRelationshipFromFragment()  : array<string|int, mixed>
Extract a relationship from the fragment.
fileExists()  : bool
Does file exist?
filterScopeWithout()  : mixed
Filter at-root scope depending of with/without option
filterWithout()  : Environment
Filter env stack
findScopeSelectors()  : array<string|int, mixed>
Find a selector by the depth node in the scope
findTagName()  : mixed|string
Find the html tag name in a selector parts list
fixColor()  : array<string|int, mixed>
Make sure a color's components don't go out of bounds
flattenList()  : string
Flatten list
flattenSelectors()  : mixed
Flatten selectors
flattenSelectorSingle()  : array<string|int, mixed>
Flatten selector single; joins together .classes and #ids
fncall()  : array<string|int, mixed>|null
Function caller
formatOutputSelector()  : string
Postprocess selector to output in right format
getBuiltinFunction()  : array<string|int, mixed>
Get built-in function
getNormalizedNumbers()  : array<string|int, mixed>
Helper to normalize args containing numbers
getSelectorArg()  : array<string|int, mixed>|bool
Preprocess selector args
getStoreEnv()  : Environment
Get store environment
glueFunctionSelectors()  : array<string|int, mixed>
Glue parts of :not( or :nth-child( ... that are in general splitted in selectors parts
handleImportLoop()  : mixed
Handle import loop
has()  : bool
Has variable?
hasSelectorPlaceholder()  : bool
Has selector placeholder?
hueToRGB()  : float
Hue to RGB helper
importFile()  : mixed
Import file
injectVariables()  : mixed
Inject variables
isImmediateRelationshipCombinator()  : bool
Is the value a direct relationship combinator?
isSelfExtend()  : bool
Is self extend?
isSuperPart()  : bool
Test a part of super selector again a part of sub selector
isSuperSelector()  : bool
Test a $super selector again $sub
isTruthy()  : bool
Is truthy?
isWithout()  : bool
Filter WITH rules
joinSelectors()  : array<string|int, mixed>
Join selectors; looks for & to replace, or append parent before child
libAbs()  : mixed
libAdjustColor()  : mixed
libAdjustHue()  : mixed
libAlpha()  : mixed
libAppend()  : mixed
libBlue()  : mixed
libCall()  : mixed
libCeil()  : mixed
libChangeColor()  : mixed
libComparable()  : mixed
libComplement()  : mixed
libCounter()  : array<string|int, mixed>
Workaround IE7's content counter bug.
libDarken()  : mixed
libDesaturate()  : mixed
libFadeIn()  : mixed
libFadeOut()  : mixed
libFeatureExists()  : mixed
libFloor()  : mixed
libFunctionExists()  : mixed
libGlobalVariableExists()  : mixed
libGrayscale()  : mixed
libGreen()  : mixed
libHsl()  : mixed
libHsla()  : mixed
libHue()  : mixed
libIeHexStr()  : mixed
libIf()  : mixed
libIndex()  : mixed
libInspect()  : mixed
libInvert()  : mixed
libIsSuperselector()  : mixed
libJoin()  : mixed
libKeywords()  : mixed
libLength()  : mixed
libLighten()  : mixed
libLightness()  : mixed
libListSeparator()  : mixed
libMapGet()  : mixed
libMapHasKey()  : mixed
libMapKeys()  : mixed
libMapMerge()  : mixed
libMapRemove()  : mixed
libMapValues()  : mixed
libMax()  : mixed
libMin()  : mixed
libMix()  : mixed
libMixinExists()  : mixed
libNth()  : mixed
libOpacify()  : mixed
libOpacity()  : mixed
libPercentage()  : mixed
libQuote()  : mixed
libRandom()  : mixed
libRed()  : mixed
libRgb()  : mixed
libRgba()  : mixed
libRound()  : mixed
libSaturate()  : mixed
libSaturation()  : mixed
libScaleColor()  : mixed
libSelectorAppend()  : mixed
libSelectorExtend()  : mixed
libSelectorNest()  : mixed
libSelectorParse()  : mixed
libSelectorReplace()  : mixed
libSelectorUnify()  : mixed
libSetNth()  : mixed
libSimpleSelectors()  : mixed
libStrIndex()  : mixed
libStrInsert()  : mixed
libStrLength()  : mixed
libStrSlice()  : mixed
libToLowerCase()  : mixed
libToUpperCase()  : mixed
libTransparentize()  : mixed
libTypeOf()  : mixed
libUniqueId()  : mixed
libUnit()  : mixed
libUnitless()  : mixed
libUnquote()  : mixed
libVariableExists()  : mixed
libZip()  : mixed
listSeparatorForJoin()  : mixed
makeOutputBlock()  : OutputBlock
Make output block
matchExtends()  : mixed
Match extends
matchExtendsSingle()  : bool
Match extends single
matchPartInCompound()  : array<string|int, mixed>|bool
Try to find a matching part in a compound: - with same html tag name - with some class or id or something in common
mediaParent()  : OutputBlock
Media parent
mergeDirectRelationships()  : array<string|int, mixed>
Merge direct relationships between selectors
mergeMediaTypes()  : array<string|int, mixed>|null
Merge media types
mergeParts()  : array<string|int, mixed>
Merge two part list taking care that - the html tag is coming first - if any - the :something are coming last
missingSelectors()  : mixed
Report missing selectors
multiplyMedia()  : array<string|int, mixed>
Multiply media
multiplySelectors()  : array<string|int, mixed>
Find the final set of selectors
normalizeName()  : string
Normalize name
opAdd()  : array<string|int, mixed>|null
Add strings
opAddNumberNumber()  : Number
Add numbers
opAnd()  : array<string|int, mixed>|null
Boolean and
opCmpNumberNumber()  : Number
Three-way comparison, aka spaceship operator
opColorColor()  : array<string|int, mixed>
Compare colors
opColorNumber()  : array<string|int, mixed>
Compare color and number
opDivNumberNumber()  : array<string|int, mixed>|Number
Divide numbers
opEq()  : array<string|int, mixed>
Compare number1 == number2
opGteNumberNumber()  : array<string|int, mixed>
Compare number1 >= number2
opGtNumberNumber()  : array<string|int, mixed>
Compare number1 > number2
opLteNumberNumber()  : array<string|int, mixed>
Compare number1 <= number2
opLtNumberNumber()  : array<string|int, mixed>
Compare number1 < number2
opModNumberNumber()  : Number
Mod numbers
opMulNumberNumber()  : Number
Multiply numbers
opNeq()  : array<string|int, mixed>
Compare number1 != number2
opNumberColor()  : array<string|int, mixed>
Compare number and color
opOr()  : array<string|int, mixed>|null
Boolean or
opSubNumberNumber()  : Number
Subtract numbers
parserFactory()  : Parser
Instantiate parser
popCallStack()  : mixed
popEnv()  : mixed
Pop environment
prependSelectors()  : array<string|int, mixed>
Prepend each selector from $selectors with $parts
pushCallStack()  : mixed
pushEnv()  : Environment
Push environment
pushExtends()  : mixed
Push extends
reduce()  : array<string|int, mixed>|Number
Reduce value
revertSelfSelector()  : array<string|int, mixed>
Parse down the selector and revert [self] to "&" before a reparsing
selectorAppend()  : array<string|int, mixed>
Append parts of the last selector in the list to the previous, recursively
set()  : mixed
Set variable
setExisting()  : mixed
Set existing variable
setRaw()  : mixed
Set raw variable
shouldEval()  : bool
Should $value cause its operand to eval
sortArgs()  : array<string|int, mixed>
Sorts keyword arguments
unifyCompoundSelectors()  : array<string|int, mixed>|mixed
The selector-unify magic as its best (at least works as expected on test cases)

Constants

LINE_COMMENTS

public mixed LINE_COMMENTS = 1

SOURCE_MAP_FILE

public mixed SOURCE_MAP_FILE = 2

SOURCE_MAP_INLINE

public mixed SOURCE_MAP_INLINE = 1

SOURCE_MAP_NONE

public mixed SOURCE_MAP_NONE = 0

WITH_SUPPORTS

public mixed WITH_SUPPORTS = 4

Properties

$defaultValue

public static mixed $defaultValue = [LeafoScssPhpType::T_KEYWORD, '']

$emptyList

public static mixed $emptyList = [LeafoScssPhpType::T_LIST, '', []]

$emptyMap

public static mixed $emptyMap = [LeafoScssPhpType::T_MAP, [], []]

$emptyString

public static mixed $emptyString = [LeafoScssPhpType::T_STRING, '"', []]

$false

public static mixed $false = [LeafoScssPhpType::T_KEYWORD, 'false']

$null

public static mixed $null = [LeafoScssPhpType::T_NULL]

$nullString

public static mixed $nullString = [LeafoScssPhpType::T_STRING, '', []]

$selfSelector

public static mixed $selfSelector = [LeafoScssPhpType::T_SELF]

$true

public static mixed $true = [LeafoScssPhpType::T_KEYWORD, 'true']

$with

public static mixed $with = [LeafoScssPhpType::T_KEYWORD, 'with']

$without

public static mixed $without = [LeafoScssPhpType::T_KEYWORD, 'without']

$callStack

protected mixed $callStack = []

$charsetSeen

protected mixed $charsetSeen

$encoding

protected mixed $encoding = null

$extendsMap

protected mixed $extendsMap

$ignoreErrors

protected mixed $ignoreErrors

$importCache

protected mixed $importCache = []

$importedFiles

protected mixed $importedFiles = []

$importPaths

protected mixed $importPaths = ['']

$indentLevel

protected mixed $indentLevel

$libAbs

protected static mixed $libAbs = ['value']

$libAdjustColor

protected static mixed $libAdjustColor = ['color', 'red', 'green', 'blue', 'hue', 'saturation', 'lightness', 'alpha']

$libAdjustHue

protected static mixed $libAdjustHue = ['color', 'degrees']

$libAlpha

protected static mixed $libAlpha = ['color']

$libAppend

protected static mixed $libAppend = ['list', 'val', 'separator']

$libBlue

protected static mixed $libBlue = ['color']

$libCeil

protected static mixed $libCeil = ['value']

$libChangeColor

protected static mixed $libChangeColor = ['color', 'red', 'green', 'blue', 'hue', 'saturation', 'lightness', 'alpha']

$libComparable

protected static mixed $libComparable = ['number-1', 'number-2']

$libComplement

protected static mixed $libComplement = ['color']

$libDarken

protected static mixed $libDarken = ['color', 'amount']

$libDesaturate

protected static mixed $libDesaturate = ['color', 'amount']

$libFadeIn

protected static mixed $libFadeIn = ['color', 'amount']

$libFadeOut

protected static mixed $libFadeOut = ['color', 'amount']

$libFeatureExists

protected static mixed $libFeatureExists = ['feature']

$libFloor

protected static mixed $libFloor = ['value']

$libFunctionExists

protected static mixed $libFunctionExists = ['name']

$libGlobalVariableExists

protected static mixed $libGlobalVariableExists = ['name']

$libGrayscale

protected static mixed $libGrayscale = ['color']

$libGreen

protected static mixed $libGreen = ['color']

$libHsl

protected static mixed $libHsl = ['hue', 'saturation', 'lightness']

$libHsla

protected static mixed $libHsla = ['hue', 'saturation', 'lightness', 'alpha']

$libHue

protected static mixed $libHue = ['color']

$libIeHexStr

protected static mixed $libIeHexStr = ['color']

$libIf

protected static mixed $libIf = ['condition', 'if-true', 'if-false']

$libIndex

protected static mixed $libIndex = ['list', 'value']

$libInspect

protected static mixed $libInspect = ['value']

$libInvert

protected static mixed $libInvert = ['color']

$libIsSuperselector

protected static mixed $libIsSuperselector = ['super', 'sub']

$libJoin

protected static mixed $libJoin = ['list1', 'list2', 'separator']

$libKeywords

protected static mixed $libKeywords = ['args']

$libLength

protected static mixed $libLength = ['list']

$libLighten

protected static mixed $libLighten = ['color', 'amount']

$libLightness

protected static mixed $libLightness = ['color']

$libMapGet

protected static mixed $libMapGet = ['map', 'key']

$libMapHasKey

protected static mixed $libMapHasKey = ['map', 'key']

$libMapKeys

protected static mixed $libMapKeys = ['map']

$libMapMerge

protected static mixed $libMapMerge = ['map-1', 'map-2']

$libMapRemove

protected static mixed $libMapRemove = ['map', 'key']

$libMapValues

protected static mixed $libMapValues = ['map']

$libMix

protected static mixed $libMix = ['color-1', 'color-2', 'weight']

$libMixinExists

protected static mixed $libMixinExists = ['name']

$libNth

protected static mixed $libNth = ['list', 'n']

$libOpacify

protected static mixed $libOpacify = ['color', 'amount']

$libOpacity

protected static mixed $libOpacity = ['color']

$libPercentage

protected static mixed $libPercentage = ['value']

$libQuote

protected static mixed $libQuote = ['string']

$libRandom

protected static mixed $libRandom = ['limit']

$libRed

protected static mixed $libRed = ['color']

$libRgb

protected static mixed $libRgb = ['red', 'green', 'blue']

$libRgba

protected static mixed $libRgba = [['red', 'color'], 'green', 'blue', 'alpha']

$libRound

protected static mixed $libRound = ['value']

$libSaturate

protected static mixed $libSaturate = ['color', 'amount']

$libSaturation

protected static mixed $libSaturation = ['color']

$libScaleColor

protected static mixed $libScaleColor = ['color', 'red', 'green', 'blue', 'hue', 'saturation', 'lightness', 'alpha']

$libSelectorExtend

protected static mixed $libSelectorExtend = ['selectors', 'extendee', 'extender']

$libSelectorParse

protected static mixed $libSelectorParse = ['selectors']

$libSelectorReplace

protected static mixed $libSelectorReplace = ['selectors', 'original', 'replacement']

$libSelectorUnify

protected static mixed $libSelectorUnify = ['selectors1', 'selectors2']

$libSetNth

protected static mixed $libSetNth = ['list', 'n', 'value']

$libSimpleSelectors

protected static mixed $libSimpleSelectors = ['selector']

$libStrIndex

protected static mixed $libStrIndex = ['string', 'substring']

$libStrInsert

protected static mixed $libStrInsert = ['string', 'insert', 'index']

$libStrLength

protected static mixed $libStrLength = ['string']

$libStrSlice

protected static mixed $libStrSlice = ['string', 'start-at', 'end-at']

$libToLowerCase

protected static mixed $libToLowerCase = ['string']

$libToUpperCase

protected static mixed $libToUpperCase = ['string']

$libTransparentize

protected static mixed $libTransparentize = ['color', 'amount']

$libTypeOf

protected static mixed $libTypeOf = ['value']

$libUnit

protected static mixed $libUnit = ['number']

$libUnitless

protected static mixed $libUnitless = ['number']

$libUnquote

protected static mixed $libUnquote = ['string']

$libVariableExists

protected static mixed $libVariableExists = ['name']

$lineNumberStyle

protected mixed $lineNumberStyle = null

$namespaces

protected static array<string|int, mixed> $namespaces = ['special' => '%', 'mixin' => '@', 'function' => '^']

$operatorNames

protected static array<string|int, mixed> $operatorNames = ['+' => 'add', '-' => 'sub', '*' => 'mul', '/' => 'div', '%' => 'mod', '==' => 'eq', '!=' => 'neq', '<' => 'lt', '>' => 'gt', '<=' => 'lte', '>=' => 'gte', '<=>' => 'cmp']

$parsedFiles

protected mixed $parsedFiles

$registeredFeatures

protected mixed $registeredFeatures = ['extend-selector-pseudoclass' => false, 'at-error' => true, 'units-level-3' => false, 'global-variable-shadowing' => false]

$registeredVars

protected mixed $registeredVars = []

$shouldEvaluate

protected mixed $shouldEvaluate

$sourceColumn

protected mixed $sourceColumn

$sourceIndex

protected mixed $sourceIndex

$sourceLine

protected mixed $sourceLine

$sourceMap

protected mixed $sourceMap = self::SOURCE_MAP_NONE

$sourceMapOptions

protected mixed $sourceMapOptions = []

$sourceNames

protected mixed $sourceNames

$userFunctions

protected mixed $userFunctions = []

Methods

__construct()

Constructor

public __construct([mixed $cacheOptions = null ]) : mixed
Parameters
$cacheOptions : mixed = null
Return values
mixed

addFeature()

Add feature

public addFeature(string $name) : mixed
Parameters
$name : string
Return values
mixed

addImportPath()

Add import path

public addImportPath(string|callable $path) : mixed
Parameters
$path : string|callable
Return values
mixed

addParsedFile()

Adds to list of parsed files

public addParsedFile(string $path) : mixed
Parameters
$path : string
Return values
mixed

assertColor()

Assert value is a color

public assertColor(array<string|int, mixed> $value) : array<string|int, mixed>
Parameters
$value : array<string|int, mixed>
Tags
throws
Exception
Return values
array<string|int, mixed>

assertList()

Assert value is a list

public assertList(array<string|int, mixed> $value) : array<string|int, mixed>
Parameters
$value : array<string|int, mixed>
Tags
throws
Exception
Return values
array<string|int, mixed>

assertMap()

Assert value is a map

public assertMap(array<string|int, mixed> $value) : array<string|int, mixed>
Parameters
$value : array<string|int, mixed>
Tags
throws
Exception
Return values
array<string|int, mixed>

assertNumber()

Assert value is a number

public assertNumber(array<string|int, mixed> $value) : int|float
Parameters
$value : array<string|int, mixed>
Tags
throws
Exception
Return values
int|float

compile()

Compile scss

public compile(string $code[, string $path = null ]) : string
Parameters
$code : string
$path : string = null
Return values
string

compileValue()

Compiles a primitive value into a CSS property value.

public compileValue(array<string|int, mixed> $value) : string

Values in scssphp are typed by being wrapped in arrays, their format is typically:

array(type, contents [, additional_contents]*)

The input is expected to be reduced. This function will not work on things like expressions and variables.

Parameters
$value : array<string|int, mixed>
Return values
string

findImport()

Return the file path for an import url if it exists

public findImport(string $url) : string|null
Parameters
$url : string
Return values
string|null

get()

Get variable

public get(string $name[, bool $shouldThrow = true ][, Environment $env = null ][, bool $unreduced = false ]) : mixed|null
Parameters
$name : string
$shouldThrow : bool = true
$env : Environment = null
$unreduced : bool = false
Return values
mixed|null

getCompileOptions()

public getCompileOptions() : mixed
Return values
mixed

getParsedFiles()

Returns list of parsed files

public getParsedFiles() : array<string|int, mixed>
Return values
array<string|int, mixed>

getVariables()

Returns list of variables

public getVariables() : array<string|int, mixed>
Return values
array<string|int, mixed>

normalizeValue()

Normalize value

public normalizeValue(array<string|int, mixed> $value) : array<string|int, mixed>
Parameters
$value : array<string|int, mixed>
Return values
array<string|int, mixed>

registerFunction()

Register function

public registerFunction(string $name, callable $func[, array<string|int, mixed> $prototype = null ]) : mixed
Parameters
$name : string
$func : callable
$prototype : array<string|int, mixed> = null
Return values
mixed

setEncoding()

Set encoding

public setEncoding(string $encoding) : mixed
Parameters
$encoding : string
Return values
mixed

setFormatter()

Set formatter

public setFormatter(string $formatterName) : mixed
Parameters
$formatterName : string
Return values
mixed

setIgnoreErrors()

Ignore errors?

public setIgnoreErrors(bool $ignoreErrors) : Compiler
Parameters
$ignoreErrors : bool
Return values
Compiler

setImportPaths()

Set import paths

public setImportPaths(string|array<string|int, mixed> $path) : mixed
Parameters
$path : string|array<string|int, mixed>
Return values
mixed

setLineNumberStyle()

Set line number style

public setLineNumberStyle(string $lineNumberStyle) : mixed
Parameters
$lineNumberStyle : string
Return values
mixed

setNumberPrecision()

Set number precision

public setNumberPrecision(int $numberPrecision) : mixed
Parameters
$numberPrecision : int
Return values
mixed

setSourceMap()

Enable/disable source maps

public setSourceMap(int $sourceMap) : mixed
Parameters
$sourceMap : int
Return values
mixed

setSourceMapOptions()

Set source map options

public setSourceMapOptions(array<string|int, mixed> $sourceMapOptions) : mixed
Parameters
$sourceMapOptions : array<string|int, mixed>
Return values
mixed

setVariables()

Set variables

public setVariables(array<string|int, mixed> $variables) : mixed
Parameters
$variables : array<string|int, mixed>
Return values
mixed

throwError()

Throw error (exception)

public throwError(string $msg) : mixed
Parameters
$msg : string

Message with optional sprintf()-style vararg parameters

Tags
throws
CompilerException
Return values
mixed

toBool()

Cast to boolean

public toBool(mixed $thing) : array<string|int, mixed>
Parameters
$thing : mixed
Return values
array<string|int, mixed>

toHSL()

Convert RGB to HSL

public toHSL(int $red, int $green, int $blue) : array<string|int, mixed>
Parameters
$red : int
$green : int
$blue : int
Return values
array<string|int, mixed>

toRGB()

Convert HSL to RGB

public toRGB(int $hue, int $saturation, int $lightness) : array<string|int, mixed>
Parameters
$hue : int

H from 0 to 360

$saturation : int

S from 0 to 100

$lightness : int

L from 0 to 100

Return values
array<string|int, mixed>

unregisterFunction()

Unregister function

public unregisterFunction(string $name) : mixed
Parameters
$name : string
Return values
mixed

unsetVariable()

Unset variable

public unsetVariable(string $name) : mixed
Parameters
$name : string
Return values
mixed

adjustHsl()

protected adjustHsl(mixed $color, mixed $idx, mixed $amount) : mixed
Parameters
$color : mixed
$idx : mixed
$amount : mixed
Return values
mixed

alterColor()

protected alterColor(mixed $args, mixed $fn) : mixed
Parameters
$args : mixed
$fn : mixed
Return values
mixed

applyArguments()

Apply argument values per definition

protected applyArguments(array<string|int, mixed> $argDef, array<string|int, mixed> $argValues) : mixed
Parameters
$argDef : array<string|int, mixed>
$argValues : array<string|int, mixed>
Tags
throws
Exception
Return values
mixed

callNativeFunction()

Call built-in and registered (PHP) functions

protected callNativeFunction(string $name, array<string|int, mixed> $args, array<string|int, mixed> &$returnValue) : bool
Parameters
$name : string
$args : array<string|int, mixed>
$returnValue : array<string|int, mixed>
Return values
bool

Returns true if returnValue is set; otherwise, false

callScssFunction()

Call SCSS @function

protected callScssFunction(string $name, array<string|int, mixed> $argValues, array<string|int, mixed> &$returnValue) : bool
Parameters
$name : string
$argValues : array<string|int, mixed>
$returnValue : array<string|int, mixed>
Return values
bool

Returns true if returnValue is set; otherwise, false

callStackMessage()

Beautify call stack for output

protected callStackMessage([bool $all = false ][, null $limit = null ]) : string
Parameters
$all : bool = false
$limit : null = null
Return values
string

checkCompatibleTags()

Check the compatibility between two tag names: if both are defined they should be identical or one has to be '*'

protected checkCompatibleTags(string $tag1, string $tag2) : array<string|int, mixed>|bool
Parameters
$tag1 : string
$tag2 : string
Return values
array<string|int, mixed>|bool

coerceColor()

Coerce value to color

protected coerceColor(array<string|int, mixed> $value) : array<string|int, mixed>|null
Parameters
$value : array<string|int, mixed>
Return values
array<string|int, mixed>|null

coerceForExpression()

Coerce color for expression

protected coerceForExpression(array<string|int, mixed> $value) : array<string|int, mixed>|null
Parameters
$value : array<string|int, mixed>
Return values
array<string|int, mixed>|null

coerceList()

Coerce something to list

protected coerceList(array<string|int, mixed> $item[, string $delim = ',' ]) : array<string|int, mixed>
Parameters
$item : array<string|int, mixed>
$delim : string = ','
Return values
array<string|int, mixed>

coerceMap()

Coerce something to map

protected coerceMap(array<string|int, mixed> $item) : array<string|int, mixed>
Parameters
$item : array<string|int, mixed>
Return values
array<string|int, mixed>

coercePercent()

Coerce value to a percentage

protected coercePercent(array<string|int, mixed> $value) : int|float
Parameters
$value : array<string|int, mixed>
Return values
int|float

coerceString()

Coerce value to string

protected coerceString(array<string|int, mixed> $value) : array<string|int, mixed>|null
Parameters
$value : array<string|int, mixed>
Return values
array<string|int, mixed>|null

coerceValue()

Coerce a php value into a scss one

protected coerceValue(mixed $value) : array<string|int, mixed>|Number
Parameters
$value : mixed
Return values
array<string|int, mixed>|Number

collapseSelectors()

Collapse selectors

protected collapseSelectors(array<string|int, mixed> $selectors[, bool $selectorFormat = false ]) : string
Parameters
$selectors : array<string|int, mixed>
$selectorFormat : bool = false

if false return a collapsed string if true return an array description of a structured selector

Return values
string

combineSelectorSingle()

Combine selector single

protected combineSelectorSingle(array<string|int, mixed> $base, array<string|int, mixed> $other) : array<string|int, mixed>
Parameters
$base : array<string|int, mixed>
$other : array<string|int, mixed>
Return values
array<string|int, mixed>

compactEnv()

Convert env linked list to stack

protected compactEnv(Environment $env) : array<string|int, mixed>
Parameters
$env : Environment
Return values
array<string|int, mixed>

compileAtRoot()

Compile at-root

protected compileAtRoot(Block $block) : mixed
Parameters
$block : Block
Return values
mixed

compileBlock()

Recursively compiles a block.

protected compileBlock(Block $block) : mixed

A block is analogous to a CSS block in most cases. A single SCSS document is encapsulated in a block when parsed, but it does not have parent tags so all of its children appear on the root level when compiled.

Blocks are made up of selectors and children.

The children of a block are just all the blocks that are defined within.

Compiling the block involves pushing a fresh environment on the stack, and iterating through the props, compiling each one.

Parameters
$block : Block
Tags
see
Compiler::compileChild()
Return values
mixed

compileChild()

Compile child; returns a value to halt execution

protected compileChild(array<string|int, mixed> $child, OutputBlock $out) : array<string|int, mixed>
Parameters
$child : array<string|int, mixed>
$out : OutputBlock
Return values
array<string|int, mixed>

compileChildren()

Compile children and return result

protected compileChildren(array<string|int, mixed> $stms, OutputBlock $out[, string $traceName = '' ]) : array<string|int, mixed>|null
Parameters
$stms : array<string|int, mixed>
$out : OutputBlock
$traceName : string = ''
Return values
array<string|int, mixed>|null

compileChildrenNoReturn()

Compile children and throw exception if unexpected @return

protected compileChildrenNoReturn(array<string|int, mixed> $stms, OutputBlock $out[, Block $selfParent = null ][, string $traceName = '' ]) : mixed
Parameters
$stms : array<string|int, mixed>
$out : OutputBlock
$selfParent : Block = null
$traceName : string = ''
Tags
throws
Exception
Return values
mixed

compileComment()

Compile root level comment

protected compileComment(array<string|int, mixed> $block) : mixed
Parameters
$block : array<string|int, mixed>
Return values
mixed

compileDirective()

Compile directive

protected compileDirective(Block $block) : mixed
Parameters
$block : Block
Return values
mixed

compileImport()

Compile import; returns true if the value was something that could be imported

protected compileImport(array<string|int, mixed> $rawPath, OutputBlock $out[, bool $once = false ]) : bool
Parameters
$rawPath : array<string|int, mixed>
$out : OutputBlock
$once : bool = false
Return values
bool

compileKeyframeBlock()

Compile keyframe block

protected compileKeyframeBlock(Block $block, array<string|int, mixed> $selectors) : mixed
Parameters
$block : Block
$selectors : array<string|int, mixed>
Return values
mixed

compileMedia()

Compile media

protected compileMedia(Block $media) : mixed
Parameters
$media : Block
Return values
mixed

compileMediaQuery()

Compile media query

protected compileMediaQuery(array<string|int, mixed> $queryList) : array<string|int, mixed>
Parameters
$queryList : array<string|int, mixed>
Return values
array<string|int, mixed>

compileNestedBlock()

Compile nested block

protected compileNestedBlock(Block $block, array<string|int, mixed> $selectors) : mixed
Parameters
$block : Block
$selectors : array<string|int, mixed>
Return values
mixed

compileRoot()

Compile root

protected compileRoot(Block $rootBlock) : mixed
Parameters
$rootBlock : Block
Return values
mixed

compileSelector()

Compile selector to string; self(&) should have been replaced by now

protected compileSelector(string|array<string|int, mixed> $selector) : string
Parameters
$selector : string|array<string|int, mixed>
Return values
string

compileSelectorPart()

Compile selector part

protected compileSelectorPart(array<string|int, mixed> $piece) : string
Parameters
$piece : array<string|int, mixed>
Return values
string

compileStringContent()

Compile string content

protected compileStringContent(array<string|int, mixed> $string) : string
Parameters
$string : array<string|int, mixed>
Return values
string

compileWith()

Compile @at-root's with: inclusion / without: exclusion into filter flags

protected compileWith(array<string|int, mixed> $with) : int
Parameters
$with : array<string|int, mixed>
Return values
int

completeScope()

found missing selector from a at-root compilation in the previous scope (if at-root is just enclosing a property, the selector is in the parent tree)

protected completeScope(OutputBlock $scope, OutputBlock $previousScope) : mixed
Parameters
$scope : OutputBlock
$previousScope : OutputBlock
Return values
mixed

evalSelector()

Evaluate selector

protected evalSelector(array<string|int, mixed> $selector) : array<string|int, mixed>
Parameters
$selector : array<string|int, mixed>
Return values
array<string|int, mixed>

evalSelectorPart()

Evaluate selector part; replaces all the interpolates, stripping quotes

protected evalSelectorPart(array<string|int, mixed> $part) : array<string|int, mixed>
Parameters
$part : array<string|int, mixed>
Return values
array<string|int, mixed>

evalSelectors()

Evaluate selectors

protected evalSelectors(array<string|int, mixed> $selectors) : array<string|int, mixed>
Parameters
$selectors : array<string|int, mixed>
Return values
array<string|int, mixed>

evaluateMediaQuery()

evaluate media query : compile internal value keeping the structure inchanged

protected evaluateMediaQuery(array<string|int, mixed> $queryList) : array<string|int, mixed>
Parameters
$queryList : array<string|int, mixed>
Return values
array<string|int, mixed>

expToString()

Reduce expression to string

protected expToString(array<string|int, mixed> $exp) : array<string|int, mixed>
Parameters
$exp : array<string|int, mixed>
Return values
array<string|int, mixed>

extendOrReplaceSelectors()

Extend/replace in selectors used by selector-extend and selector-replace that use the same logic

protected extendOrReplaceSelectors(array<string|int, mixed> $selectors, array<string|int, mixed> $extendee, array<string|int, mixed> $extender[, bool $replace = false ]) : array<string|int, mixed>
Parameters
$selectors : array<string|int, mixed>
$extendee : array<string|int, mixed>
$extender : array<string|int, mixed>
$replace : bool = false
Return values
array<string|int, mixed>

extractEnv()

Convert env stack to singly linked list

protected extractEnv(array<string|int, mixed> $envs) : Environment
Parameters
$envs : array<string|int, mixed>
Return values
Environment

extractInterpolation()

Extract interpolation; it doesn't need to be recursive, compileValue will handle that

protected extractInterpolation(array<string|int, mixed> $list) : array<string|int, mixed>
Parameters
$list : array<string|int, mixed>
Return values
array<string|int, mixed>

extractRelationshipFromFragment()

Extract a relationship from the fragment.

protected extractRelationshipFromFragment(array<string|int, mixed> $fragment) : array<string|int, mixed>

When extracting the last portion of a selector we will be left with a fragment which may end with a direction relationship combinator. This method will extract the relationship fragment and return it along side the rest.

Parameters
$fragment : array<string|int, mixed>

The selector fragment maybe ending with a direction relationship combinator.

Return values
array<string|int, mixed>

The selector without the relationship fragment if any, the relationship fragment.

fileExists()

Does file exist?

protected fileExists(string $name) : bool
Parameters
$name : string
Return values
bool

filterScopeWithout()

Filter at-root scope depending of with/without option

protected filterScopeWithout(OutputBlock $scope, mixed $without) : mixed
Parameters
$scope : OutputBlock
$without : mixed
Return values
mixed

filterWithout()

Filter env stack

protected filterWithout(array<string|int, mixed> $envs, int $without) : Environment
Parameters
$envs : array<string|int, mixed>
$without : int
Return values
Environment

findScopeSelectors()

Find a selector by the depth node in the scope

protected findScopeSelectors(OutputBlock $scope, int $depth) : array<string|int, mixed>
Parameters
$scope : OutputBlock
$depth : int
Return values
array<string|int, mixed>

findTagName()

Find the html tag name in a selector parts list

protected findTagName(array<string|int, mixed> $parts) : mixed|string
Parameters
$parts : array<string|int, mixed>
Return values
mixed|string

fixColor()

Make sure a color's components don't go out of bounds

protected fixColor(array<string|int, mixed> $c) : array<string|int, mixed>
Parameters
$c : array<string|int, mixed>
Return values
array<string|int, mixed>

flattenList()

Flatten list

protected flattenList(array<string|int, mixed> $list) : string
Parameters
$list : array<string|int, mixed>
Return values
string

flattenSelectors()

Flatten selectors

protected flattenSelectors(OutputBlock $block[, string $parentKey = null ]) : mixed
Parameters
$block : OutputBlock
$parentKey : string = null
Return values
mixed

flattenSelectorSingle()

Flatten selector single; joins together .classes and #ids

protected flattenSelectorSingle(array<string|int, mixed> $single) : array<string|int, mixed>
Parameters
$single : array<string|int, mixed>
Return values
array<string|int, mixed>

fncall()

Function caller

protected fncall(string $name, array<string|int, mixed> $argValues) : array<string|int, mixed>|null
Parameters
$name : string
$argValues : array<string|int, mixed>
Return values
array<string|int, mixed>|null

formatOutputSelector()

Postprocess selector to output in right format

protected formatOutputSelector(array<string|int, mixed> $selectors) : string
Parameters
$selectors : array<string|int, mixed>
Return values
string

getBuiltinFunction()

Get built-in function

protected getBuiltinFunction(string $name) : array<string|int, mixed>
Parameters
$name : string

Normalized name

Return values
array<string|int, mixed>

getNormalizedNumbers()

Helper to normalize args containing numbers

protected getNormalizedNumbers(array<string|int, mixed> $args) : array<string|int, mixed>
Parameters
$args : array<string|int, mixed>
Return values
array<string|int, mixed>

getSelectorArg()

Preprocess selector args

protected getSelectorArg(array<string|int, mixed> $arg) : array<string|int, mixed>|bool
Parameters
$arg : array<string|int, mixed>
Return values
array<string|int, mixed>|bool

glueFunctionSelectors()

Glue parts of :not( or :nth-child( ... that are in general splitted in selectors parts

protected glueFunctionSelectors(array<string|int, mixed> $parts) : array<string|int, mixed>
Parameters
$parts : array<string|int, mixed>
Return values
array<string|int, mixed>

handleImportLoop()

Handle import loop

protected handleImportLoop(string $name) : mixed
Parameters
$name : string
Tags
throws
Exception
Return values
mixed

has()

Has variable?

protected has(string $name[, Environment $env = null ]) : bool
Parameters
$name : string
$env : Environment = null
Return values
bool

hasSelectorPlaceholder()

Has selector placeholder?

protected hasSelectorPlaceholder(array<string|int, mixed> $selector) : bool
Parameters
$selector : array<string|int, mixed>
Return values
bool

hueToRGB()

Hue to RGB helper

protected hueToRGB(float $m1, float $m2, float $h) : float
Parameters
$m1 : float
$m2 : float
$h : float
Return values
float

importFile()

Import file

protected importFile(string $path, OutputBlock $out) : mixed
Parameters
$path : string
$out : OutputBlock
Return values
mixed

injectVariables()

Inject variables

protected injectVariables(array<string|int, mixed> $args) : mixed
Parameters
$args : array<string|int, mixed>
Return values
mixed

isImmediateRelationshipCombinator()

Is the value a direct relationship combinator?

protected isImmediateRelationshipCombinator(string $value) : bool
Parameters
$value : string
Return values
bool

isSelfExtend()

Is self extend?

protected isSelfExtend(array<string|int, mixed> $target, array<string|int, mixed> $origin) : bool
Parameters
$target : array<string|int, mixed>
$origin : array<string|int, mixed>
Return values
bool

isSuperPart()

Test a part of super selector again a part of sub selector

protected isSuperPart(array<string|int, mixed> $superParts, array<string|int, mixed> $subParts) : bool
Parameters
$superParts : array<string|int, mixed>
$subParts : array<string|int, mixed>
Return values
bool

isSuperSelector()

Test a $super selector again $sub

protected isSuperSelector(array<string|int, mixed> $super, array<string|int, mixed> $sub) : bool
Parameters
$super : array<string|int, mixed>
$sub : array<string|int, mixed>
Return values
bool

isTruthy()

Is truthy?

protected isTruthy(array<string|int, mixed> $value) : bool
Parameters
$value : array<string|int, mixed>
Return values
bool

joinSelectors()

Join selectors; looks for & to replace, or append parent before child

protected joinSelectors(array<string|int, mixed> $parent, array<string|int, mixed> $child, bool &$stillHasSelf[, array<string|int, mixed> $selfParentSelectors = null ]) : array<string|int, mixed>
Parameters
$parent : array<string|int, mixed>
$child : array<string|int, mixed>
$stillHasSelf : bool
$selfParentSelectors : array<string|int, mixed> = null
Return values
array<string|int, mixed>

libAbs()

protected libAbs(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libAdjustColor()

protected libAdjustColor(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libAdjustHue()

protected libAdjustHue(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libAlpha()

protected libAlpha(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libAppend()

protected libAppend(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libBlue()

protected libBlue(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libCall()

protected libCall(mixed $args, mixed $kwargs) : mixed
Parameters
$args : mixed
$kwargs : mixed
Return values
mixed

libCeil()

protected libCeil(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libChangeColor()

protected libChangeColor(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libComparable()

protected libComparable(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libComplement()

protected libComplement(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libCounter()

Workaround IE7's content counter bug.

protected libCounter(array<string|int, mixed> $args) : array<string|int, mixed>
Parameters
$args : array<string|int, mixed>
Return values
array<string|int, mixed>

libDarken()

protected libDarken(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libDesaturate()

protected libDesaturate(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libFadeIn()

protected libFadeIn(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libFadeOut()

protected libFadeOut(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libFeatureExists()

protected libFeatureExists(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libFloor()

protected libFloor(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libFunctionExists()

protected libFunctionExists(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libGlobalVariableExists()

protected libGlobalVariableExists(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libGrayscale()

protected libGrayscale(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libGreen()

protected libGreen(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libHsl()

protected libHsl(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libHsla()

protected libHsla(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libHue()

protected libHue(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libIeHexStr()

protected libIeHexStr(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libIf()

protected libIf(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libIndex()

protected libIndex(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libInspect()

protected libInspect(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libInvert()

protected libInvert(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libIsSuperselector()

protected libIsSuperselector(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libJoin()

protected libJoin(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libKeywords()

protected libKeywords(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libLength()

protected libLength(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libLighten()

protected libLighten(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libLightness()

protected libLightness(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libListSeparator()

protected libListSeparator(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMapGet()

protected libMapGet(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMapHasKey()

protected libMapHasKey(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMapKeys()

protected libMapKeys(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMapMerge()

protected libMapMerge(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMapRemove()

protected libMapRemove(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMapValues()

protected libMapValues(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMax()

protected libMax(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMin()

protected libMin(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMix()

protected libMix(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libMixinExists()

protected libMixinExists(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libNth()

protected libNth(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libOpacify()

protected libOpacify(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libOpacity()

protected libOpacity(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libPercentage()

protected libPercentage(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libQuote()

protected libQuote(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libRandom()

protected libRandom(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libRed()

protected libRed(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libRgb()

protected libRgb(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libRgba()

protected libRgba(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libRound()

protected libRound(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSaturate()

protected libSaturate(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSaturation()

protected libSaturation(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libScaleColor()

protected libScaleColor(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSelectorAppend()

protected libSelectorAppend(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSelectorExtend()

protected libSelectorExtend(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSelectorNest()

protected libSelectorNest(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSelectorParse()

protected libSelectorParse(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSelectorReplace()

protected libSelectorReplace(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSelectorUnify()

protected libSelectorUnify(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSetNth()

protected libSetNth(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libSimpleSelectors()

protected libSimpleSelectors(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libStrIndex()

protected libStrIndex(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libStrInsert()

protected libStrInsert(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libStrLength()

protected libStrLength(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libStrSlice()

protected libStrSlice(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libToLowerCase()

protected libToLowerCase(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libToUpperCase()

protected libToUpperCase(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libTransparentize()

protected libTransparentize(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libTypeOf()

protected libTypeOf(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libUniqueId()

protected libUniqueId() : mixed
Return values
mixed

libUnit()

protected libUnit(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libUnitless()

protected libUnitless(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libUnquote()

protected libUnquote(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libVariableExists()

protected libVariableExists(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

libZip()

protected libZip(mixed $args) : mixed
Parameters
$args : mixed
Return values
mixed

listSeparatorForJoin()

protected listSeparatorForJoin(mixed $list1, mixed $sep) : mixed
Parameters
$list1 : mixed
$sep : mixed
Return values
mixed

makeOutputBlock()

Make output block

protected makeOutputBlock(string $type[, array<string|int, mixed> $selectors = null ]) : OutputBlock
Parameters
$type : string
$selectors : array<string|int, mixed> = null
Return values
OutputBlock

matchExtends()

Match extends

protected matchExtends(array<string|int, mixed> $selector, array<string|int, mixed> &$out, int $from[, bool $initial = true ]) : mixed
Parameters
$selector : array<string|int, mixed>
$out : array<string|int, mixed>
$from : int
$initial : bool = true
Return values
mixed

matchExtendsSingle()

Match extends single

protected matchExtendsSingle(array<string|int, mixed> $rawSingle, array<string|int, mixed> &$outOrigin) : bool
Parameters
$rawSingle : array<string|int, mixed>
$outOrigin : array<string|int, mixed>
Return values
bool

matchPartInCompound()

Try to find a matching part in a compound: - with same html tag name - with some class or id or something in common

protected matchPartInCompound(array<string|int, mixed> $part, array<string|int, mixed> $compound) : array<string|int, mixed>|bool
Parameters
$part : array<string|int, mixed>
$compound : array<string|int, mixed>
Return values
array<string|int, mixed>|bool

mergeDirectRelationships()

Merge direct relationships between selectors

protected mergeDirectRelationships(array<string|int, mixed> $selectors1, array<string|int, mixed> $selectors2) : array<string|int, mixed>
Parameters
$selectors1 : array<string|int, mixed>
$selectors2 : array<string|int, mixed>
Return values
array<string|int, mixed>

mergeMediaTypes()

Merge media types

protected mergeMediaTypes(array<string|int, mixed> $type1, array<string|int, mixed> $type2) : array<string|int, mixed>|null
Parameters
$type1 : array<string|int, mixed>
$type2 : array<string|int, mixed>
Return values
array<string|int, mixed>|null

mergeParts()

Merge two part list taking care that - the html tag is coming first - if any - the :something are coming last

protected mergeParts(array<string|int, mixed> $parts1, array<string|int, mixed> $parts2) : array<string|int, mixed>
Parameters
$parts1 : array<string|int, mixed>
$parts2 : array<string|int, mixed>
Return values
array<string|int, mixed>

missingSelectors()

Report missing selectors

protected missingSelectors() : mixed
Return values
mixed

multiplyMedia()

Multiply media

protected multiplyMedia([Environment $env = null ][, array<string|int, mixed> $childQueries = null ]) : array<string|int, mixed>
Parameters
$env : Environment = null
$childQueries : array<string|int, mixed> = null
Return values
array<string|int, mixed>

multiplySelectors()

Find the final set of selectors

protected multiplySelectors(Environment $env[, Block $selfParent = null ]) : array<string|int, mixed>
Parameters
$env : Environment
$selfParent : Block = null
Return values
array<string|int, mixed>

normalizeName()

Normalize name

protected normalizeName(string $name) : string
Parameters
$name : string
Return values
string

opAdd()

Add strings

protected opAdd(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>|null
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>|null

opAddNumberNumber()

Add numbers

protected opAddNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : Number
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
Number

opAnd()

Boolean and

protected opAnd(array<string|int, mixed> $left, array<string|int, mixed> $right, bool $shouldEval) : array<string|int, mixed>|null
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
$shouldEval : bool
Return values
array<string|int, mixed>|null

opCmpNumberNumber()

Three-way comparison, aka spaceship operator

protected opCmpNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : Number
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
Number

opColorColor()

Compare colors

protected opColorColor(string $op, array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$op : string
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opColorNumber()

Compare color and number

protected opColorNumber(string $op, array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$op : string
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opDivNumberNumber()

Divide numbers

protected opDivNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>|Number
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>|Number

opEq()

Compare number1 == number2

protected opEq(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opGteNumberNumber()

Compare number1 >= number2

protected opGteNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opGtNumberNumber()

Compare number1 > number2

protected opGtNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opLteNumberNumber()

Compare number1 <= number2

protected opLteNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opLtNumberNumber()

Compare number1 < number2

protected opLtNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opModNumberNumber()

Mod numbers

protected opModNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : Number
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
Number

opMulNumberNumber()

Multiply numbers

protected opMulNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : Number
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
Number

opNeq()

Compare number1 != number2

protected opNeq(array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opNumberColor()

Compare number and color

protected opNumberColor(string $op, array<string|int, mixed> $left, array<string|int, mixed> $right) : array<string|int, mixed>
Parameters
$op : string
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
array<string|int, mixed>

opOr()

Boolean or

protected opOr(array<string|int, mixed> $left, array<string|int, mixed> $right, bool $shouldEval) : array<string|int, mixed>|null
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
$shouldEval : bool
Return values
array<string|int, mixed>|null

opSubNumberNumber()

Subtract numbers

protected opSubNumberNumber(array<string|int, mixed> $left, array<string|int, mixed> $right) : Number
Parameters
$left : array<string|int, mixed>
$right : array<string|int, mixed>
Return values
Number

parserFactory()

Instantiate parser

protected parserFactory(string $path) : Parser
Parameters
$path : string
Return values
Parser

popCallStack()

protected popCallStack() : mixed
Return values
mixed

popEnv()

Pop environment

protected popEnv() : mixed
Return values
mixed

prependSelectors()

Prepend each selector from $selectors with $parts

protected prependSelectors(array<string|int, mixed> $selectors, array<string|int, mixed> $parts) : array<string|int, mixed>
Parameters
$selectors : array<string|int, mixed>
$parts : array<string|int, mixed>
Return values
array<string|int, mixed>

pushCallStack()

protected pushCallStack([mixed $name = '' ]) : mixed
Parameters
$name : mixed = ''
Return values
mixed

pushExtends()

Push extends

protected pushExtends(array<string|int, mixed> $target, array<string|int, mixed> $origin, stdClass $block) : mixed
Parameters
$target : array<string|int, mixed>
$origin : array<string|int, mixed>
$block : stdClass
Return values
mixed

reduce()

Reduce value

protected reduce(array<string|int, mixed> $value[, bool $inExp = false ]) : array<string|int, mixed>|Number
Parameters
$value : array<string|int, mixed>
$inExp : bool = false
Return values
array<string|int, mixed>|Number

revertSelfSelector()

Parse down the selector and revert [self] to "&" before a reparsing

protected revertSelfSelector(array<string|int, mixed> $selectors) : array<string|int, mixed>
Parameters
$selectors : array<string|int, mixed>
Return values
array<string|int, mixed>

selectorAppend()

Append parts of the last selector in the list to the previous, recursively

protected selectorAppend(array<string|int, mixed> $selectors) : array<string|int, mixed>
Parameters
$selectors : array<string|int, mixed>
Tags
throws
CompilerException
Return values
array<string|int, mixed>

set()

Set variable

protected set(string $name, mixed $value[, bool $shadow = false ][, Environment $env = null ][, mixed $valueUnreduced = null ]) : mixed
Parameters
$name : string
$value : mixed
$shadow : bool = false
$env : Environment = null
$valueUnreduced : mixed = null
Return values
mixed

setExisting()

Set existing variable

protected setExisting(string $name, mixed $value, Environment $env[, mixed $valueUnreduced = null ]) : mixed
Parameters
$name : string
$value : mixed
$env : Environment
$valueUnreduced : mixed = null
Return values
mixed

setRaw()

Set raw variable

protected setRaw(string $name, mixed $value, Environment $env[, mixed $valueUnreduced = null ]) : mixed
Parameters
$name : string
$value : mixed
$env : Environment
$valueUnreduced : mixed = null
Return values
mixed

shouldEval()

Should $value cause its operand to eval

protected shouldEval(array<string|int, mixed> $value) : bool
Parameters
$value : array<string|int, mixed>
Return values
bool

sortArgs()

Sorts keyword arguments

protected sortArgs(array<string|int, mixed> $prototype, array<string|int, mixed> $args) : array<string|int, mixed>
Parameters
$prototype : array<string|int, mixed>
$args : array<string|int, mixed>
Return values
array<string|int, mixed>

unifyCompoundSelectors()

The selector-unify magic as its best (at least works as expected on test cases)

protected unifyCompoundSelectors(array<string|int, mixed> $compound1, array<string|int, mixed> $compound2) : array<string|int, mixed>|mixed
Parameters
$compound1 : array<string|int, mixed>
$compound2 : array<string|int, mixed>
Return values
array<string|int, mixed>|mixed

Search results