UNPKG

@lit/reactive-element

Version:

A simple low level base class for creating fast, lightweight web components

43 lines 1.14 kB
/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ import { decorateProperty } from './base.js'; /** * A property decorator that converts a class property into a getter * that executes a querySelectorAll on the element's renderRoot. * * @param selector A DOMString containing one or more selectors to match. * * See: * https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll * * ```ts * class MyElement { * @queryAll('div') * divs: NodeListOf<HTMLDivElement>; * * render() { * return html` * <div id="first"></div> * <div id="second"></div> * `; * } * } * ``` * @category Decorator */ export function queryAll(selector) { return decorateProperty({ descriptor: (_name) => ({ get() { var _a, _b; return (_b = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(selector)) !== null && _b !== void 0 ? _b : []; }, enumerable: true, configurable: true, }), }); } //# sourceMappingURL=query-all.js.map