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