function classNameRanges(className, offset) {
		offset = offset || 0;
		var result = [];
		/** @type StringStream */
		var stream = require('stringStream').create(className);
		var range = require('range');
		
		// skip whitespace
		stream.eatSpace();
		stream.start = stream.pos;
		
		var ch;
		while (ch = stream.next()) {
			if (/[\s\u00a0]/.test(ch)) {
				result.push(range.create(stream.start + offset, stream.pos - stream.start - 1));
				stream.eatSpace();
				stream.start = stream.pos;
			}
		}
		
		result.push(range.create(stream.start + offset, stream.pos - stream.start));
		return result;
	}
function classNameRanges(className, offset) {
		offset = offset || 0;
		var result = [];
		
		var stream = require('stringStream').create(className);
		var range = require('range');
		
		
		stream.eatSpace();
		stream.start = stream.pos;
		
		var ch;
		while (ch = stream.next()) {
			if (/[\s\u00a0]/.test(ch)) {
				result.push(range.create(stream.start + offset, stream.pos - stream.start - 1));
				stream.eatSpace();
				stream.start = stream.pos;
			}
		}
		
		result.push(range.create(stream.start + offset, stream.pos - stream.start));
		return result;
	}
function classNameRanges ( className , offset ) { offset = offset || 0 ; var result = [ ] ; /** @type StringStream */ var stream = require ( 'stringStream' ) . create ( className ) ; var range = require ( 'range' ) ; // skip whitespace stream . eatSpace ( ) ; stream . start = stream . pos ; var ch ; while ( ch = stream . next ( ) ) { if ( / [\s\u00a0] / . test ( ch ) ) { result . push ( range . create ( stream . start + offset , stream . pos - stream . start - 1 ) ) ; stream . eatSpace ( ) ; stream . start = stream . pos ; } } result . push ( range . create ( stream . start + offset , stream . pos - stream . start ) ) ; return result ; }
Returns ranges of class names in "class" attribute value
@param {String} className
@returns {Array}
Returns ranges of class names in class attribute value