MDL-65759 library: Update php-css-parser to 8.3.0
[moodle.git] / lib / php-css-parser / CSSList / AtRuleBlockList.php
CommitLineData
fbe18cc0
FM
1<?php
2
3namespace Sabberworm\CSS\CSSList;
4
5use Sabberworm\CSS\Property\AtRule;
6
7/**
8 * A BlockList constructed by an unknown @-rule. @media rules are rendered into AtRuleBlockList objects.
9 */
10class AtRuleBlockList extends CSSBlockList implements AtRule {
11
12 private $sType;
13 private $sArgs;
14
15 public function __construct($sType, $sArgs = '', $iLineNo = 0) {
16 parent::__construct($iLineNo);
17 $this->sType = $sType;
18 $this->sArgs = $sArgs;
19 }
20
21 public function atRuleName() {
22 return $this->sType;
23 }
24
25 public function atRuleArgs() {
26 return $this->sArgs;
27 }
28
29 public function __toString() {
30 return $this->render(new \Sabberworm\CSS\OutputFormat());
31 }
32
33 public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
34 $sArgs = $this->sArgs;
35 if($sArgs) {
36 $sArgs = ' ' . $sArgs;
37 }
376eb156
MM
38 $sResult = $oOutputFormat->sBeforeAtRuleBlock;
39 $sResult .= "@{$this->sType}$sArgs{$oOutputFormat->spaceBeforeOpeningBrace()}{";
fbe18cc0
FM
40 $sResult .= parent::render($oOutputFormat);
41 $sResult .= '}';
376eb156 42 $sResult .= $oOutputFormat->sAfterAtRuleBlock;
fbe18cc0
FM
43 return $sResult;
44 }
45
46 public function isRootList() {
47 return false;
48 }
49
50}