summaryrefslogtreecommitdiffstats
path: root/vendor/wikimedia/less.php/lib/Less/Tree/Attribute.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/wikimedia/less.php/lib/Less/Tree/Attribute.php')
-rw-r--r--vendor/wikimedia/less.php/lib/Less/Tree/Attribute.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/vendor/wikimedia/less.php/lib/Less/Tree/Attribute.php b/vendor/wikimedia/less.php/lib/Less/Tree/Attribute.php
new file mode 100644
index 0000000..dd36595
--- /dev/null
+++ b/vendor/wikimedia/less.php/lib/Less/Tree/Attribute.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * @private
+ */
+class Less_Tree_Attribute extends Less_Tree {
+
+ public $key;
+ public $op;
+ public $value;
+ public $type = 'Attribute';
+
+ public function __construct( $key, $op, $value ) {
+ $this->key = $key;
+ $this->op = $op;
+ $this->value = $value;
+ }
+
+ public function compile( $env ) {
+ $key_obj = is_object( $this->key );
+ $val_obj = is_object( $this->value );
+
+ if ( !$key_obj && !$val_obj ) {
+ return $this;
+ }
+
+ return new Less_Tree_Attribute(
+ $key_obj ? $this->key->compile( $env ) : $this->key,
+ $this->op,
+ $val_obj ? $this->value->compile( $env ) : $this->value );
+ }
+
+ /**
+ * @see Less_Tree::genCSS
+ */
+ public function genCSS( $output ) {
+ $output->add( $this->toCSS() );
+ }
+
+ public function toCSS() {
+ $value = $this->key;
+
+ if ( $this->op ) {
+ $value .= $this->op;
+ $value .= ( is_object( $this->value ) ? $this->value->toCSS() : $this->value );
+ }
+
+ return '[' . $value . ']';
+ }
+}