MDL-65759 library: Update php-css-parser to 8.3.0
[moodle.git] / lib / php-css-parser / RuleSet / AtRuleSet.php
1 <?php
3 namespace Sabberworm\CSS\RuleSet;
5 use Sabberworm\CSS\Property\AtRule;
7 /**
8  * A RuleSet constructed by an unknown @-rule. @font-face rules are rendered into AtRuleSet objects.
9  */
10 class AtRuleSet extends RuleSet implements AtRule {
12         private $sType;
13         private $sArgs;
15         public function __construct($sType, $sArgs = '', $iLineNo = 0) {
16                 parent::__construct($iLineNo);
17                 $this->sType = $sType;
18                 $this->sArgs = $sArgs;
19         }
21         public function atRuleName() {
22                 return $this->sType;
23         }
25         public function atRuleArgs() {
26                 return $this->sArgs;
27         }
29         public function __toString() {
30                 return $this->render(new \Sabberworm\CSS\OutputFormat());
31         }
33         public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
34                 $sArgs = $this->sArgs;
35                 if($sArgs) {
36                         $sArgs = ' ' . $sArgs;
37                 }
38                 $sResult = "@{$this->sType}$sArgs{$oOutputFormat->spaceBeforeOpeningBrace()}{";
39                 $sResult .= parent::render($oOutputFormat);
40                 $sResult .= '}';
41                 return $sResult;
42         }
44 }