@glimmer/runtime
Version:
Minimal runtime needed to render Glimmer templates
16 lines (14 loc) • 2.24 kB
JavaScript
import { createComputeRef, valueForRef } from '@glimmer/reference';
import { normalizeStringValue } from '../dom/normalize';
export default function createClassListRef(list) {
return createComputeRef(function () {
var ret = [];
for (var i = 0; i < list.length; i++) {
var ref = list[i];
var value = normalizeStringValue(typeof ref === 'string' ? ref : valueForRef(list[i]));
if (value) ret.push(value);
}
return ret.length === 0 ? null : ret.join(' ');
});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3J1bnRpbWUvbGliL3JlZmVyZW5jZXMvY2xhc3MtbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFBLGdCQUFBLEVBQUEsV0FBQSxRQUFBLG9CQUFBO0FBRUEsU0FBQSxvQkFBQSxRQUFBLGtCQUFBO0FBRUEsZUFBYyxTQUFBLGtCQUFBLENBQUEsSUFBQSxFQUE4QztBQUMxRCxTQUFPLGdCQUFnQixDQUFDLFlBQUs7QUFDM0IsUUFBSSxHQUFHLEdBQVAsRUFBQTs7QUFFQSxTQUFLLElBQUksQ0FBQyxHQUFWLENBQUEsRUFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBeEIsTUFBQSxFQUFpQyxDQUFqQyxFQUFBLEVBQXNDO0FBQ3BDLFVBQUksR0FBRyxHQUFHLElBQUksQ0FBZCxDQUFjLENBQWQ7QUFDQSxVQUFJLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxPQUFBLEdBQUEsS0FBQSxRQUFBLEdBQUEsR0FBQSxHQUFnQyxXQUFXLENBQUMsSUFBSSxDQUFqRixDQUFpRixDQUFMLENBQTVDLENBQWhDO0FBQ0EsVUFBQSxLQUFBLEVBQVcsR0FBRyxDQUFILElBQUEsQ0FBQSxLQUFBO0FBQ1o7O0FBRUQsV0FBTyxHQUFHLENBQUgsTUFBQSxLQUFBLENBQUEsR0FBQSxJQUFBLEdBQTBCLEdBQUcsQ0FBSCxJQUFBLENBQWpDLEdBQWlDLENBQWpDO0FBVEYsR0FBdUIsQ0FBdkI7QUFXRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZmVyZW5jZSwgY3JlYXRlQ29tcHV0ZVJlZiwgdmFsdWVGb3JSZWYgfSBmcm9tICdAZ2xpbW1lci9yZWZlcmVuY2UnO1xuXG5pbXBvcnQgeyBub3JtYWxpemVTdHJpbmdWYWx1ZSB9IGZyb20gJy4uL2RvbS9ub3JtYWxpemUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDbGFzc0xpc3RSZWYobGlzdDogUmVmZXJlbmNlW10pIHtcbiAgcmV0dXJuIGNyZWF0ZUNvbXB1dGVSZWYoKCkgPT4ge1xuICAgIGxldCByZXQ6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCByZWYgPSBsaXN0W2ldO1xuICAgICAgbGV0IHZhbHVlID0gbm9ybWFsaXplU3RyaW5nVmFsdWUodHlwZW9mIHJlZiA9PT0gJ3N0cmluZycgPyByZWYgOiB2YWx1ZUZvclJlZihsaXN0W2ldKSk7XG4gICAgICBpZiAodmFsdWUpIHJldC5wdXNoKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0Lmxlbmd0aCA9PT0gMCA/IG51bGwgOiByZXQuam9pbignICcpO1xuICB9KTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=