forked from off-topic/apps.apple.com
init commit
This commit is contained in:
157
assets/focus-visible/focus-visible.min.js
vendored
Normal file
157
assets/focus-visible/focus-visible.min.js
vendored
Normal file
@@ -0,0 +1,157 @@
|
||||
!(function (e, t) {
|
||||
'object' == typeof exports && 'undefined' != typeof module
|
||||
? t()
|
||||
: 'function' == typeof define && define.amd
|
||||
? define(t)
|
||||
: t();
|
||||
})(0, function () {
|
||||
'use strict';
|
||||
function e(e) {
|
||||
var t = !0,
|
||||
n = !1,
|
||||
o = null,
|
||||
d = {
|
||||
text: !0,
|
||||
search: !0,
|
||||
url: !0,
|
||||
tel: !0,
|
||||
email: !0,
|
||||
password: !0,
|
||||
number: !0,
|
||||
date: !0,
|
||||
month: !0,
|
||||
week: !0,
|
||||
time: !0,
|
||||
datetime: !0,
|
||||
'datetime-local': !0,
|
||||
};
|
||||
function i(e) {
|
||||
return !!(
|
||||
e &&
|
||||
e !== document &&
|
||||
'HTML' !== e.nodeName &&
|
||||
'BODY' !== e.nodeName &&
|
||||
'classList' in e &&
|
||||
'contains' in e.classList
|
||||
);
|
||||
}
|
||||
function s(e) {
|
||||
e.classList.contains('focus-visible') ||
|
||||
(e.classList.add('focus-visible'),
|
||||
e.setAttribute('data-focus-visible-added', ''));
|
||||
}
|
||||
function u(e) {
|
||||
t = !1;
|
||||
}
|
||||
function a() {
|
||||
document.addEventListener('mousemove', c),
|
||||
document.addEventListener('mousedown', c),
|
||||
document.addEventListener('mouseup', c),
|
||||
document.addEventListener('pointermove', c),
|
||||
document.addEventListener('pointerdown', c),
|
||||
document.addEventListener('pointerup', c),
|
||||
document.addEventListener('touchmove', c),
|
||||
document.addEventListener('touchstart', c),
|
||||
document.addEventListener('touchend', c);
|
||||
}
|
||||
function c(e) {
|
||||
(e.target.nodeName && 'html' === e.target.nodeName.toLowerCase()) ||
|
||||
((t = !1),
|
||||
document.removeEventListener('mousemove', c),
|
||||
document.removeEventListener('mousedown', c),
|
||||
document.removeEventListener('mouseup', c),
|
||||
document.removeEventListener('pointermove', c),
|
||||
document.removeEventListener('pointerdown', c),
|
||||
document.removeEventListener('pointerup', c),
|
||||
document.removeEventListener('touchmove', c),
|
||||
document.removeEventListener('touchstart', c),
|
||||
document.removeEventListener('touchend', c));
|
||||
}
|
||||
document.addEventListener(
|
||||
'keydown',
|
||||
function (n) {
|
||||
n.metaKey ||
|
||||
n.altKey ||
|
||||
n.ctrlKey ||
|
||||
(i(e.activeElement) && s(e.activeElement), (t = !0));
|
||||
},
|
||||
!0,
|
||||
),
|
||||
document.addEventListener('mousedown', u, !0),
|
||||
document.addEventListener('pointerdown', u, !0),
|
||||
document.addEventListener('touchstart', u, !0),
|
||||
document.addEventListener(
|
||||
'visibilitychange',
|
||||
function (e) {
|
||||
'hidden' === document.visibilityState &&
|
||||
(n && (t = !0), a());
|
||||
},
|
||||
!0,
|
||||
),
|
||||
a(),
|
||||
e.addEventListener(
|
||||
'focus',
|
||||
function (e) {
|
||||
var n, o, u;
|
||||
i(e.target) &&
|
||||
(t ||
|
||||
((n = e.target),
|
||||
(o = n.type),
|
||||
('INPUT' === (u = n.tagName) &&
|
||||
d[o] &&
|
||||
!n.readOnly) ||
|
||||
('TEXTAREA' === u && !n.readOnly) ||
|
||||
n.isContentEditable)) &&
|
||||
s(e.target);
|
||||
},
|
||||
!0,
|
||||
),
|
||||
e.addEventListener(
|
||||
'blur',
|
||||
function (e) {
|
||||
var t;
|
||||
i(e.target) &&
|
||||
(e.target.classList.contains('focus-visible') ||
|
||||
e.target.hasAttribute(
|
||||
'data-focus-visible-added',
|
||||
)) &&
|
||||
((n = !0),
|
||||
window.clearTimeout(o),
|
||||
(o = window.setTimeout(function () {
|
||||
n = !1;
|
||||
}, 100)),
|
||||
(t = e.target).hasAttribute(
|
||||
'data-focus-visible-added',
|
||||
) &&
|
||||
(t.classList.remove('focus-visible'),
|
||||
t.removeAttribute('data-focus-visible-added')));
|
||||
},
|
||||
!0,
|
||||
),
|
||||
e.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e.host
|
||||
? e.host.setAttribute('data-js-focus-visible', '')
|
||||
: e.nodeType === Node.DOCUMENT_NODE &&
|
||||
(document.documentElement.classList.add('js-focus-visible'),
|
||||
document.documentElement.setAttribute(
|
||||
'data-js-focus-visible',
|
||||
'',
|
||||
));
|
||||
}
|
||||
if ('undefined' != typeof window && 'undefined' != typeof document) {
|
||||
var t;
|
||||
window.applyFocusVisiblePolyfill = e;
|
||||
try {
|
||||
t = new CustomEvent('focus-visible-polyfill-ready');
|
||||
} catch (e) {
|
||||
(t = document.createEvent('CustomEvent')).initCustomEvent(
|
||||
'focus-visible-polyfill-ready',
|
||||
!1,
|
||||
!1,
|
||||
{},
|
||||
);
|
||||
}
|
||||
window.dispatchEvent(t);
|
||||
}
|
||||
'undefined' != typeof document && e(document);
|
||||
});
|
||||
//# sourceMappingURL=focus-visible.min.js.map
|
||||
Reference in New Issue
Block a user