123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*!
- * Stylus - Keyframes
- * Copyright (c) Automattic <developer.wordpress.com>
- * MIT Licensed
- */
- /**
- * Module dependencies.
- */
- var Atrule = require('./atrule');
- /**
- * Initialize a new `Keyframes` with the given `segs`,
- * and optional vendor `prefix`.
- *
- * @param {Array} segs
- * @param {String} prefix
- * @api public
- */
- var Keyframes = module.exports = function Keyframes(segs, prefix){
- Atrule.call(this, 'keyframes');
- this.segments = segs;
- this.prefix = prefix || 'official';
- };
- /**
- * Inherit from `Atrule.prototype`.
- */
- Keyframes.prototype.__proto__ = Atrule.prototype;
- /**
- * Return a clone of this node.
- *
- * @return {Node}
- * @api public
- */
- Keyframes.prototype.clone = function(parent){
- var clone = new Keyframes;
- clone.lineno = this.lineno;
- clone.column = this.column;
- clone.filename = this.filename;
- clone.segments = this.segments.map(function(node) { return node.clone(parent, clone); });
- clone.prefix = this.prefix;
- clone.block = this.block.clone(parent, clone);
- return clone;
- };
- /**
- * Return a JSON representation of this node.
- *
- * @return {Object}
- * @api public
- */
- Keyframes.prototype.toJSON = function(){
- return {
- __type: 'Keyframes',
- segments: this.segments,
- prefix: this.prefix,
- block: this.block,
- lineno: this.lineno,
- column: this.column,
- filename: this.filename
- };
- };
- /**
- * Return `@keyframes name`.
- *
- * @return {String}
- * @api public
- */
- Keyframes.prototype.toString = function(){
- return '@keyframes ' + this.segments.join('');
- };
|