summaryrefslogtreecommitdiff
path: root/assets/focus-visible
diff options
context:
space:
mode:
Diffstat (limited to 'assets/focus-visible')
-rw-r--r--assets/focus-visible/focus-visible.min.js157
1 files changed, 157 insertions, 0 deletions
diff --git a/assets/focus-visible/focus-visible.min.js b/assets/focus-visible/focus-visible.min.js
new file mode 100644
index 0000000..fd5da23
--- /dev/null
+++ b/assets/focus-visible/focus-visible.min.js
@@ -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