@public-ui/components
Version:
Contains all web components that belong to KoliBri - The accessible HTML-Standard.
55 lines (51 loc) • 1.7 kB
JavaScript
/*!
* KoliBri - The accessible HTML-Standard
*/
;
var elementFocus = require('./element-focus-DeVevBcF.js');
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;
};
}
function directFocus(refPropName) {
return makeMethodDecorator((self) => {
const element = self[refPropName].el;
return element ? elementFocus.setFocus(element) : Promise.resolve();
});
}
function directClick(refPropName) {
return makeMethodDecorator((self) => {
const element = self[refPropName].el;
return element ? elementFocus.setClick(element) : Promise.resolve();
});
}
function delegateFocus(refPropName) {
return makeMethodDecorator((self) => elementFocus.delegateFocus(self['host'], () => {
const element = self[refPropName].el;
return element ? elementFocus.setFocus(element) : Promise.resolve();
}));
}
function delegateClick(refPropName) {
return makeMethodDecorator((self) => elementFocus.delegateClick(self['host'], () => {
const element = self[refPropName].el;
return element ? elementFocus.setClick(element) : Promise.resolve();
}));
}
exports.createCtaRef = createCtaRef;
exports.delegateClick = delegateClick;
exports.delegateFocus = delegateFocus;
exports.directClick = directClick;
exports.directFocus = directFocus;
//# sourceMappingURL=element-interaction-CXkAVgKs.js.map
//# sourceMappingURL=element-interaction-CXkAVgKs.js.map