UNPKG

@public-ui/components

Version:

Contains all web components that belong to KoliBri - The accessible HTML-Standard.

46 lines (45 loc) 1.5 kB
/*! * KoliBri - The accessible HTML-Standard */ import { delegateClick as delegateClickImpl, setClick } from "./element-click"; import { delegateFocus as delegateFocusImpl, setFocus } from "./element-focus"; export function createCtaRef() { const ref = ((el) => { ref.el = el; }); ref.el = undefined; return ref; } function makeMethodDecorator(fn) { return (_target, _key, descriptor) => { descriptor.value = async function () { return fn(this); }; return descriptor; }; } export function directFocus(refPropName) { return makeMethodDecorator((self) => { const element = self[refPropName].el; return element ? setFocus(element) : Promise.resolve(); }); } export function directClick(refPropName) { return makeMethodDecorator((self) => { const element = self[refPropName].el; return element ? setClick(element) : Promise.resolve(); }); } export function delegateFocus(refPropName) { return makeMethodDecorator((self) => delegateFocusImpl(self['host'], () => { const element = self[refPropName].el; return element ? setFocus(element) : Promise.resolve(); })); } export function delegateClick(refPropName) { return makeMethodDecorator((self) => delegateClickImpl(self['host'], () => { const element = self[refPropName].el; return element ? setClick(element) : Promise.resolve(); })); } //# sourceMappingURL=element-interaction.js.map