UNPKG

@progress/kendo-vue-common

Version:

Kendo UI for Vue Common Utilities package

9 lines (8 loc) 1.41 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./keys.js"),o='input, [tabindex]:not([tabindex="-1"])',c=s=>{if(s){const t=s.querySelectorAll(o);if(t.length&&t[0].focus)return t[0]}},i=s=>{if(s){const t=s.querySelectorAll(o);if(t.length&&t[t.length-1].focus)return t[t.length-1]}},r=s=>{if(s){const t=s.querySelectorAll(o);t.length&&t[0].focus&&t[0].focus()}},n=s=>{if(s){const t=s.querySelectorAll(o);t.length&&t[t.length-1].focus&&t[t.length-1].focus()}},a=(s,t)=>{let l=!0;if(s.keyCode!==e.Keys.enter&&s.target===t)return!1;if(s.keyCode===e.Keys.enter&&s.target===t)l=!0,setTimeout(()=>{r(t)},1);else if(s.keyCode===e.Keys.esc)l=!1,t.focus();else if(s.keyCode===e.Keys.tab){const u=c(t),f=i(t);f&&!s.shiftKey&&s.target===f&&(s.preventDefault(),u.focus()),u&&s.shiftKey&&s.target===u&&(s.preventDefault(),f.focus())}return l};exports.firstFocusableChild=c;exports.focusContainer=a;exports.focusFirstFocusableChild=r;exports.focusLastFocusableChild=n;exports.lastFocusableChild=i;