diff options
Diffstat (limited to '')
-rw-r--r-- | library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Property/Import.php | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Property/Import.php b/library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Property/Import.php new file mode 100644 index 0000000..a225301 --- /dev/null +++ b/library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Property/Import.php @@ -0,0 +1,137 @@ +<?php + +namespace Sabberworm\CSS\Property; + +use Sabberworm\CSS\Comment\Comment; +use Sabberworm\CSS\OutputFormat; +use Sabberworm\CSS\Value\URL; + +/** + * Class representing an `@import` rule. + */ +class Import implements AtRule +{ + /** + * @var URL + */ + private $oLocation; + + /** + * @var string + */ + private $sMediaQuery; + + /** + * @var int + */ + protected $iLineNo; + + /** + * @var array<array-key, Comment> + */ + protected $aComments; + + /** + * @param URL $oLocation + * @param string $sMediaQuery + * @param int $iLineNo + */ + public function __construct(URL $oLocation, $sMediaQuery, $iLineNo = 0) + { + $this->oLocation = $oLocation; + $this->sMediaQuery = $sMediaQuery; + $this->iLineNo = $iLineNo; + $this->aComments = []; + } + + /** + * @return int + */ + public function getLineNo() + { + return $this->iLineNo; + } + + /** + * @param URL $oLocation + * + * @return void + */ + public function setLocation($oLocation) + { + $this->oLocation = $oLocation; + } + + /** + * @return URL + */ + public function getLocation() + { + return $this->oLocation; + } + + /** + * @return string + */ + public function __toString() + { + return $this->render(new OutputFormat()); + } + + /** + * @return string + */ + public function render(OutputFormat $oOutputFormat) + { + return "@import " . $this->oLocation->render($oOutputFormat) + . ($this->sMediaQuery === null ? '' : ' ' . $this->sMediaQuery) . ';'; + } + + /** + * @return string + */ + public function atRuleName() + { + return 'import'; + } + + /** + * @return array<int, URL|string> + */ + public function atRuleArgs() + { + $aResult = [$this->oLocation]; + if ($this->sMediaQuery) { + array_push($aResult, $this->sMediaQuery); + } + return $aResult; + } + + /** + * @param array<array-key, Comment> $aComments + * + * @return void + */ + public function addComments(array $aComments) + { + $this->aComments = array_merge($this->aComments, $aComments); + } + + /** + * @return array<array-key, Comment> + */ + public function getComments() + { + return $this->aComments; + } + + /** + * @param array<array-key, Comment> $aComments + * + * @return void + */ + public function setComments(array $aComments) + { + $this->aComments = $aComments; + } +} |