/** * Process a block declaration. * * This is overriden in order to provide a backwards compability with the plugins * who already defined RTL styles the old-fashioned way. Because we do not need * those any more we rename them so that they do not apply. * * @todo Remove the dir-rtl flipping when dir-rtl is fully deprecated. * @param \Sabberworm\CSS\RuleSet\RuleSet $node The object. * @return void */ protected function processDeclaration($node) { $selectors = $node instanceof \Sabberworm\CSS\RuleSet\DeclarationBlock ? $node->getSelectors() : []; foreach ($selectors as $selector) { // The blocks containing .dir-rtl are always accepted as is. if (strpos($selector->getSelector(), '.dir-rtl') !== false) { return; } } return parent::processDeclaration($node); }
public function __toString() { $sResult = "@{$this->sType} {$this->sArgs}{"; $sResult .= parent::__toString(); $sResult .= '}'; return $sResult; }
public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) { $sArgs = $this->sArgs; if ($sArgs) { $sArgs = ' ' . $sArgs; } $sResult = "@{$this->sType}{$sArgs}{$oOutputFormat->spaceBeforeOpeningBrace()}{"; $sResult .= parent::render($oOutputFormat); $sResult .= '}'; return $sResult; }
public function __toString() { $sResult = implode(', ', $this->aSelectors) . ' {'; $sResult .= parent::__toString(); $sResult .= '}' . "\n"; return $sResult; }
public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) { if (count($this->aSelectors) === 0) { // If all the selectors have been removed, this declaration block becomes invalid throw new OutputException("Attempt to print declaration block with missing selector"); } $sResult = $oOutputFormat->implode($oOutputFormat->spaceBeforeSelectorSeparator() . ',' . $oOutputFormat->spaceAfterSelectorSeparator(), $this->aSelectors) . $oOutputFormat->spaceBeforeOpeningBrace() . '{'; $sResult .= parent::render($oOutputFormat); $sResult .= '}'; return $sResult; }