UNPKG

@lit/reactive-element

Version:

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

47 lines 1.75 kB
/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ /* * IMPORTANT: For compatibility with tsickle and the Closure JS compiler, all * property decorators (but not class decorators) in this file that have * an @ExportDecoratedItems annotation must be defined as a regular function, * not an arrow function. */ import { decorateProperty } from './base.js'; import { queryAssignedElements } from './query-assigned-elements.js'; export function queryAssignedNodes(slotOrOptions, flatten, selector) { // Normalize the overloaded arguments. let slot = slotOrOptions; let assignedNodesOptions; if (typeof slotOrOptions === 'object') { slot = slotOrOptions.slot; assignedNodesOptions = slotOrOptions; } else { assignedNodesOptions = { flatten }; } // For backwards compatibility, queryAssignedNodes with a selector behaves // exactly like queryAssignedElements with a selector. if (selector) { return queryAssignedElements({ slot: slot, flatten, selector, }); } return decorateProperty({ descriptor: (_name) => ({ get() { var _a, _b; const slotSelector = `slot${slot ? `[name=${slot}]` : ':not([name])'}`; const slotEl = (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelector(slotSelector); return (_b = slotEl === null || slotEl === void 0 ? void 0 : slotEl.assignedNodes(assignedNodesOptions)) !== null && _b !== void 0 ? _b : []; }, enumerable: true, configurable: true, }), }); } //# sourceMappingURL=query-assigned-nodes.js.map