UNPKG

@glimmer/runtime

Version:

Minimal runtime needed to render Glimmer templates

16 lines (14 loc) 2.24 kB
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=