@joist/element
Version:
Intelligently apply styles to WebComponents
26 lines • 855 B
JavaScript
import { metadataStore } from "./metadata.js";
export function listen(event, selector) {
return function listenDecorator(value, ctx) {
const metadata = metadataStore.read(ctx.metadata);
let selectorInternal = (el) => el.shadowRoot ?? el;
if (selector) {
if (typeof selector === "string") {
selectorInternal = (el) => {
if (el.shadowRoot) {
return el.shadowRoot.querySelector(selector);
}
return el.querySelector(selector);
};
}
else {
selectorInternal = selector;
}
}
metadata.listeners.push({
event,
cb: value,
selector: selectorInternal,
});
};
}
//# sourceMappingURL=listen.js.map