smart-admin/rc-busness/static/royalcanin-cdn-assets-new/css_js/royal-canin.pkg.focus-visible.js
2022-01-11 11:57:54 +08:00

1 line
3.8 KiB
JavaScript

(window["RCDLjsonFunction"]=window["RCDLjsonFunction"]||[]).push([[122],{219:function(e,t,n){(function(e,t){true?t():undefined})(this,(function(){"use strict";function init(){var e=true;var t=false;var n=null;var i={text:true,search:true,url:true,tel:true,email:true,password:true,number:true,date:true,month:true,week:true,time:true,datetime:true,"datetime-local":true};function isValidFocusTarget(e){if(e&&e!==document&&e.nodeName!=="HTML"&&e.nodeName!=="BODY"&&"classList"in e&&"contains"in e.classList){return true}return false}function focusTriggersKeyboardModality(e){var t=e.type;var n=e.tagName;if(n=="INPUT"&&i[t]&&!e.readOnly){return true}if(n=="TEXTAREA"&&!e.readOnly){return true}if(e.isContentEditable){return true}return false}function addFocusVisibleClass(e){if(e.classList.contains("focus-visible")){return}e.classList.add("focus-visible");e.setAttribute("data-focus-visible-added","")}function removeFocusVisibleClass(e){if(!e.hasAttribute("data-focus-visible-added")){return}e.classList.remove("focus-visible");e.removeAttribute("data-focus-visible-added")}function onKeyDown(t){if(isValidFocusTarget(document.activeElement)){addFocusVisibleClass(document.activeElement)}e=true}function onPointerDown(t){e=false}function onFocus(t){if(!isValidFocusTarget(t.target)){return}if(e||focusTriggersKeyboardModality(t.target)){addFocusVisibleClass(t.target)}}function onBlur(e){if(!isValidFocusTarget(e.target)){return}if(e.target.classList.contains("focus-visible")||e.target.hasAttribute("data-focus-visible-added")){t=true;window.clearTimeout(n);n=window.setTimeout((function(){t=false;window.clearTimeout(n)}),100);removeFocusVisibleClass(e.target)}}function onVisibilityChange(n){if(document.visibilityState=="hidden"){if(t){e=true}addInitialPointerMoveListeners()}}function addInitialPointerMoveListeners(){document.addEventListener("mousemove",onInitialPointerMove);document.addEventListener("mousedown",onInitialPointerMove);document.addEventListener("mouseup",onInitialPointerMove);document.addEventListener("pointermove",onInitialPointerMove);document.addEventListener("pointerdown",onInitialPointerMove);document.addEventListener("pointerup",onInitialPointerMove);document.addEventListener("touchmove",onInitialPointerMove);document.addEventListener("touchstart",onInitialPointerMove);document.addEventListener("touchend",onInitialPointerMove)}function removeInitialPointerMoveListeners(){document.removeEventListener("mousemove",onInitialPointerMove);document.removeEventListener("mousedown",onInitialPointerMove);document.removeEventListener("mouseup",onInitialPointerMove);document.removeEventListener("pointermove",onInitialPointerMove);document.removeEventListener("pointerdown",onInitialPointerMove);document.removeEventListener("pointerup",onInitialPointerMove);document.removeEventListener("touchmove",onInitialPointerMove);document.removeEventListener("touchstart",onInitialPointerMove);document.removeEventListener("touchend",onInitialPointerMove)}function onInitialPointerMove(t){if(t.target.nodeName.toLowerCase()==="html"){return}e=false;removeInitialPointerMoveListeners()}document.addEventListener("keydown",onKeyDown,true);document.addEventListener("mousedown",onPointerDown,true);document.addEventListener("pointerdown",onPointerDown,true);document.addEventListener("touchstart",onPointerDown,true);document.addEventListener("focus",onFocus,true);document.addEventListener("blur",onBlur,true);document.addEventListener("visibilitychange",onVisibilityChange,true);addInitialPointerMoveListeners();document.body.classList.add("js-focus-visible")}function onDOMReady(e){var t;function load(){if(!t){t=true;e()}}if(["interactive","complete"].indexOf(document.readyState)>=0){e()}else{t=false;document.addEventListener("DOMContentLoaded",load,false);window.addEventListener("load",load,false)}}if(typeof document!=="undefined"){onDOMReady(init)}}))}}]);