UNPKG

go-captcha-angular

Version:

GoCaptcha for Angular, which implements click mode, slider mode, drag-drop mode and rotation mode.

53 lines 5.07 kB
/** * @Author Awen * @Date 2024/05/25 * @Email wengaolng@gmail.com **/ export function getDomXY(dom) { let x = 0; let y = 0; if (dom.getBoundingClientRect) { const box = dom.getBoundingClientRect(); const D = document.documentElement; x = box.left + Math.max(D.scrollLeft, document.body.scrollLeft) - D.clientLeft; y = box.top + Math.max(D.scrollTop, document.body.scrollTop) - D.clientTop; } else { while (dom !== document.body) { x += dom.offsetLeft; y += dom.offsetTop; dom = dom.offsetParent; } } return { domX: x, domY: y }; } export function checkTargetFather(that, e) { let parent = e.relatedTarget; try { while (parent && parent !== that) { parent = parent.parentNode; } } catch (e) { console.warn(e); } return parent !== that; } export function mergeToOver(src, dest) { for (const ccKey in src) { if (dest.hasOwnProperty(ccKey)) { dest[ccKey] = src[ccKey]; } } } export function mergeTo(src, dest) { for (const ccKey in src) { if (!dest.hasOwnProperty(ccKey)) { dest[ccKey] = src[ccKey]; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ28tY2FwdGNoYS1hbmd1bGFyL3NyYy9saWIvaGVscGVyL2hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztJQUlJO0FBRUosTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFRO0lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNULElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNULElBQUksR0FBRyxDQUFDLHFCQUFxQixFQUFFO1FBQzdCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDbkMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUMvRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFBO0tBQzNFO1NBQ0c7UUFDRixPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQzVCLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFBO1lBQ25CLENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFBO1lBQ2xCLEdBQUcsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFBO1NBQ3ZCO0tBQ0Y7SUFDRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLEVBQUUsQ0FBQztLQUNSLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVMsRUFBRSxDQUFNO0lBQ2pELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUE7SUFDNUIsSUFBRztRQUNELE9BQU0sTUFBTSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDL0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUE7U0FDM0I7S0FDRjtJQUFBLE9BQU8sQ0FBQyxFQUFDO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNoQjtJQUVELE9BQU8sTUFBTSxLQUFLLElBQUksQ0FBQTtBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBUztJQUM3QyxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsRUFBRTtRQUN2QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUN6QjtLQUNGO0FBQ0gsQ0FBQztBQUdELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBUSxFQUFFLElBQVM7SUFDekMsS0FBSyxNQUFNLEtBQUssSUFBSSxHQUFHLEVBQUU7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUN6QjtLQUNGO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQEF1dGhvciBBd2VuXG4gKiBARGF0ZSAyMDI0LzA1LzI1XG4gKiBARW1haWwgd2VuZ2FvbG5nQGdtYWlsLmNvbVxuICoqL1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RG9tWFkoZG9tOiBhbnkpe1xuICBsZXQgeCA9IDBcbiAgbGV0IHkgPSAwXG4gIGlmIChkb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgY29uc3QgYm94ID0gZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IEQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgeCA9IGJveC5sZWZ0ICsgTWF0aC5tYXgoRC5zY3JvbGxMZWZ0LCBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpIC0gRC5jbGllbnRMZWZ0O1xuICAgIHkgPSBib3gudG9wICsgTWF0aC5tYXgoRC5zY3JvbGxUb3AsIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSAtIEQuY2xpZW50VG9wXG4gIH1cbiAgZWxzZXtcbiAgICB3aGlsZSAoZG9tICE9PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICB4ICs9IGRvbS5vZmZzZXRMZWZ0XG4gICAgICB5ICs9IGRvbS5vZmZzZXRUb3BcbiAgICAgIGRvbSA9IGRvbS5vZmZzZXRQYXJlbnRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBkb21YOiB4LFxuICAgIGRvbVk6IHlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tUYXJnZXRGYXRoZXIodGhhdDogYW55LCBlOiBhbnkpIHtcbiAgbGV0IHBhcmVudCA9IGUucmVsYXRlZFRhcmdldFxuICB0cnl7XG4gICAgd2hpbGUocGFyZW50ICYmIHBhcmVudCAhPT0gdGhhdCkge1xuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudE5vZGVcbiAgICB9XG4gIH1jYXRjaCAoZSl7XG4gICAgY29uc29sZS53YXJuKGUpXG4gIH1cblxuICByZXR1cm4gcGFyZW50ICE9PSB0aGF0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRvT3ZlcihzcmM6IGFueSwgZGVzdDogYW55KSB7XG4gIGZvciAoY29uc3QgY2NLZXkgaW4gc3JjKSB7XG4gICAgaWYgKGRlc3QuaGFzT3duUHJvcGVydHkoY2NLZXkpKSB7XG4gICAgICBkZXN0W2NjS2V5XSA9IHNyY1tjY0tleV1cbiAgICB9XG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUbyhzcmM6IGFueSwgZGVzdDogYW55KSB7XG4gIGZvciAoY29uc3QgY2NLZXkgaW4gc3JjKSB7XG4gICAgaWYgKCFkZXN0Lmhhc093blByb3BlcnR5KGNjS2V5KSkge1xuICAgICAgZGVzdFtjY0tleV0gPSBzcmNbY2NLZXldXG4gICAgfVxuICB9XG59XG4iXX0=