UNPKG

@progress/kendo-vue-data-tools

Version:
9 lines (8 loc) 3.32 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 r=require("./constants.js"),i=(e,t,n="cell")=>`${t}_${e}_${n}`,c=e=>{if(e)return parseInt(e.getAttribute(r.KEYBOARD_NAV_DATA_LEVEL)||"",10)},A=e=>{if(!e)return;const t=e.getAttribute(r.KEYBOARD_NAV_DATA_ID);return t||void 0},E=e=>e?!!e.getAttribute(r.KEYBOARD_NAV_DATA_ID):!1,u=(e,t={level:0})=>e.querySelector(`[${r.KEYBOARD_NAV_DATA_LEVEL}='${t.level}']`),g=e=>e.parentElement&&e.parentElement.closest(`[${r.KEYBOARD_NAV_DATA_LEVEL}]`),d=(e,t)=>e.querySelector(`[${r.KEYBOARD_NAV_DATA_ID}='${t}']`),_=e=>e.parentElement&&e.parentElement.closest(`[${r.KEYBOARD_NAV_DATA_SCOPE}]`),N=e=>e.querySelector(`[${r.KEYBOARD_NAV_DATA_HEADER}]`),f=e=>e.querySelector(`[${r.KEYBOARD_NAV_DATA_BODY}]`),b=(e,t={focusable:!1})=>{let n=t.focusable?r.FOCUSABLE_ELEMENTS:r.TABBABLE_ELEMENTS;return Array.from(e.querySelectorAll(n.join(",")))},v=(e,t={level:0})=>{if(!e)return[];let n=r.FOCUSABLE_ELEMENTS.map(l=>l+`[${r.KEYBOARD_NAV_DATA_LEVEL}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(n))},I=(e={level:0})=>{let t=r.FOCUSABLE_ELEMENTS.map(n=>n+`[${r.KEYBOARD_NAV_DATA_LEVEL}='${e.level}']`).join(",");return n=>n.matches(t)},D=e=>{const{elementForFocus:t,event:n,kbContext:l,prevElement:o}=e;l&&t&&t.focus&&(n.preventDefault(),t.focus(),E(t)&&(t.setAttribute("tabIndex","0"),l.activeId=A(t)),o&&E(o)&&o.setAttribute("tabIndex","-1"))},B=e=>e?e.idPrefix:"",m=(e,t,n,l,o)=>{if(!n)return[];let a=e+(o?-1:1);for(;a>=0&&a<l.length;){const s=l[a][t];if(s!==n)return[s,[a,t]];a=a+(o?-1:1)}return[]},L=(e,t,n,l,o)=>{if(!n)return[];let a=t+(o?-1:1);for(;a>=0&&a<l[e].length;){const s=l[e][a];if(s!==n)return[s,[e,a]];a=a+(o?-1:1)}return[]},T=(e,t)=>{if(t){for(let n=0;n<e.length;n++)for(let l=0;l<e[n].length;l++)if(e[n][l]===t)return[n,l]}},O=e=>e?e.navigationMatrix.length:0,S=e=>e?`${e}${r.KEYBOARD_NAV_FILTER_COL_SUFFIX}`:"",y={generateNavigatableId:i,getNavigatableId:A,getNavigatableLevel:c,getNavigatableElement:u,getClosestNavigatableElement:g,getActiveElement:d,getClosestScope:_,getHeaderElement:N,getBodyElement:f,getFocusableElements:b,getNavigatableElements:v,filterNavigatableElements:I,focusElement:D,getIdPrefix:B,isNavigatable:E,findNextIdByRowIndex:m,findNextIdByCellIndex:L,findId:T,getNextNavigationIndex:O,getFilterColumnId:S};exports.filterNavigatableElements=I;exports.findId=T;exports.findNextIdByCellIndex=L;exports.findNextIdByRowIndex=m;exports.focusElement=D;exports.generateNavigatableId=i;exports.getActiveElement=d;exports.getBodyElement=f;exports.getClosestNavigatableElement=g;exports.getClosestScope=_;exports.getFilterColumnId=S;exports.getFocusableElements=b;exports.getHeaderElement=N;exports.getIdPrefix=B;exports.getNavigatableElement=u;exports.getNavigatableElements=v;exports.getNavigatableId=A;exports.getNavigatableLevel=c;exports.getNextNavigationIndex=O;exports.isNavigatable=E;exports.tableKeyboardNavigationTools=y;