@progress/kendo-react-data-tools
Version:
Includes React Pager & React Filter component, an intuitive interface to create complex filter descriptions. KendoReact Data Tools package
9 lines (8 loc) • 7.58 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@progress/kendo-react-common"),a=require("./constants.js"),B=(e,t,n="cell")=>`${t}_${e}_${n}`,S=e=>{if(e)return parseInt(e.getAttribute(a.KEYBOARD_NAV_DATA_LEVEL)||"",10)},b=e=>{if(!e)return;const t=e.getAttribute(a.KEYBOARD_NAV_DATA_ID);return t||void 0},A=e=>e?!!e.getAttribute(a.KEYBOARD_NAV_DATA_ID):!1,y=(e,t={level:0})=>e.querySelector(`[${a.KEYBOARD_NAV_DATA_LEVEL}='${t.level}']`),C=e=>e&&e.parentElement&&e.parentElement.closest(`[${a.KEYBOARD_NAV_DATA_LEVEL}]`),N=(e,t)=>e.querySelector(`[${a.KEYBOARD_NAV_DATA_ID}='${t}']`),k=e=>e&&e.parentElement&&e.parentElement.closest(`[${a.KEYBOARD_NAV_DATA_SCOPE}]`),p=e=>{var n;const t=((n=e==null?void 0:e.parentElement)==null?void 0:n.closest(".k-grid-edit-row"))||null;return t==null?void 0:t.querySelector("."+a.KEYBOARD_NAV_CANCEL_BUTTON_CLASS)},T=e=>document.querySelector(`[aria-rowindex="${e}"] .k-grid-remove-command`),u=e=>document.querySelector(`[data-keyboardnavid="${e}"]`),w=e=>{var r;const t=e&&e.parentElement&&e.parentElement.closest(".k-table-row");let n;return(r=t==null?void 0:t.parentElement)==null||r.childNodes.forEach(l=>{if(t===l){const o=l.previousSibling;n={current:t.getAttribute("aria-rowindex"),prev:o&&o.getAttribute("aria-rowindex")}}}),n};async function L(e,t,n=5e3){const r=Date.now();if(t)for(;Date.now()-r<n;){const l=t.querySelector(e);if(l)return l;await new Promise(o=>setTimeout(o,20))}return!1}const R=async e=>{var r;const t=((r=e==null?void 0:e.parentElement)==null?void 0:r.closest(".k-grid-edit-row"))||null;return await L("."+a.KEYBOARD_NAV_EDIT_BUTTON_CLASS,t)},F=e=>(e==null?void 0:e.closest(".k-table-td"))||null,h=e=>e.querySelector(`[${a.KEYBOARD_NAV_DATA_HEADER}]`),O=e=>e.querySelector(`[${a.KEYBOARD_NAV_DATA_BODY}]`),Q=e=>e.querySelector(".k-grid-norecords"),Z=e=>{const t=e.querySelector(".k-grid-edit-cell"),n=t==null?void 0:t.querySelector("input");n?n.focus():t&&t.firstChild.focus()},V=(e,t)=>{const{scope:n,navigationStateRef:r,contextStateRef:l}=e;if(!r.current||!n)return;const o=W(r.current.navigationMatrix),s=N(n,o);I({elementForFocus:s,contextStateRef:l,event:t})},v=(e,t={focusable:!1})=>{const n=t.focusable?g.FOCUSABLE_ELEMENTS:g.TABBABLE_ELEMENTS;return Array.from(e.querySelectorAll(n.join(",")))},$=(e,t={level:0})=>{if(!e)return[];const n=g.FOCUSABLE_ELEMENTS.map(r=>r+`[${a.KEYBOARD_NAV_DATA_LEVEL}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(n))},K=(e={level:0})=>{const t=g.FOCUSABLE_ELEMENTS.map(n=>n+`[${a.KEYBOARD_NAV_DATA_LEVEL}='${e.level}']`).join(",");return n=>n.matches(t)},I=e=>{const{elementForFocus:t,event:n,contextStateRef:r,prevElement:l}=e;if(r.current&&t&&t.focus){n==null||n.preventDefault();const o=t.querySelector(".k-checkbox-wrap .k-checkbox");o&&o.focus?o.focus():t.focus(),A(t)&&(t.setAttribute("tabIndex","0"),r.current.activeId=b(t)),l&&A(l)&&l.setAttribute("tabIndex","-1")}},q=e=>e.current?e.current.idPrefix:"",Y=(e,t,n,r,l)=>{if(!n)return[];let o=e+(l?-1:1);for(;o>=0&&o<r.length;){const s=r[o][t];if(s!==n)return[s,[o,t]];o=o+(l?-1:1)}return[]},d=(e,t,n,r,l)=>{if(!n)return[];let o=t+(l?-1:1);for(;o>=0&&r[e]&&o<r[e].length;){const s=r[e][o];if(s!==n)return[s,[e,o]];o=o+(l?-1:1)}return[]},f=(e,t)=>{if(t){for(let n=0;n<e.length;n++)for(let r=0;r<e[n].length;r++)if(e[n][r]===t)return[n,r]}},D=(e,t,n)=>{let r;do if(e=e+1,r=t[n-e],r&&r.editable)break;while(n-e>=0);return r},P=(e,t,n,r)=>{var m;let l;const[o,s]=e;let c;const i=0,E=t.length;return c=D(i,t,s),c?l=d(o,c.ariaColumnIndex,n,r,!0):(c=D(i,t,E),l=d(o-1,c.ariaColumnIndex,n,r,!0)),{prevCell:l&&l[0]&&u(l[0]),elementToFocus:l&&l[0]&&((m=u(l[0]))==null?void 0:m.getAttribute("role"))}},x=(e,t,n)=>{let r;do if(e=e+1,r=t[n+e],r&&r.editable)break;while(n+e-1<t.length);return r},U=(e,t,n,r)=>{var o;let l;if(e){const[s,c]=e;let i,E=0;i=x(E,t,c),i?l=d(s,i.ariaColumnIndex,n,r,!0):(E=-1,i=x(E,t,0),l=d(s+1,i.ariaColumnIndex,n,r,!0))}return{nextCell:l&&l[0]&&u(l[0]),elementToFocus:l&&l[0]&&((o=u(l[0]))==null?void 0:o.getAttribute("role"))}},M=e=>e.current?e.current.navigationMatrix.length:0,W=e=>e.flat().find(t=>t.endsWith("cell")),ee=e=>e.flat().reverse().find(t=>t.endsWith("cell")),te=(e,t)=>e[t][0],ne=(e,t)=>Array.from(e[t]).reverse()[0],j=e=>e?`${e}${a.KEYBOARD_NAV_FILTER_COL_SUFFIX}`:"",re=(e,t,n)=>{var l;let r;if((l=e.current)!=null&&l.prevNavigationIndexes){const[o,s]=e.current.prevNavigationIndexes,c=t[o];c&&c[s]===n?r=e.current.prevNavigationIndexes:r=f(t,n)}else r=f(t,n);return r},H=e=>{var t;return((t=C(e))==null?void 0:t.getAttribute("data-keyboardnavid"))||e.getAttribute("data-keyboardnavid")},X=e=>e.closest(".k-grid-stack-cell"),_=e=>v(e,{focusable:!0}),z=(e,t)=>{var o;const n=e.closest(".k-table-td");if(!n)return null;const r=Array.from(n.querySelectorAll(".k-grid-stack-cell")),l=r.indexOf(e);return l===-1?null:t==="next"?l<r.length-1?r[l+1]:r[0]:l>0?r[l-1]:(o=r.at(-1))!=null?o:null},G=e=>e.closest(".k-table-td, td.k-table-td[tabindex]"),J=(e,t=0)=>{const n=_(e);n.length>0?(n[t]||n[0]).focus():e.focus()},le={generateNavigatableId:B,getNavigatableId:b,getNavigatableLevel:S,getNavigatableElement:y,getClosestNavigatableElement:C,getActiveNavDataElement:N,getClosestScope:k,getHeaderElement:h,getBodyElement:O,getFocusableElements:v,getNavigatableElements:$,filterNavigatableElements:K,focusElement:I,getIdPrefix:q,isNavigatable:A,findNextIdByRowIndex:Y,findNextIdByCellIndex:d,findId:f,getNextNavigationIndex:M,getFilterColumnId:j,focusFirstDataElement:V,getClosestCancelButton:p,getClosestEditButton:R,getRowAriaRowIndex:w,getRemoveButtonByAriaRowIndex:T,getTableCellByKeyboardNavId:u,getParentCell:F,waitForElementToBeVisible:L,getNextEditableCell:U,getPrevEditableCell:P,getClosestCellNavId:H,getStackedCellWrapper:X,getStackedCellFocusableElements:_,getNextStackedCell:z,getStackedCellContainer:G,focusStackedCellElement:J};exports.filterNavigatableElements=K;exports.findId=f;exports.findNextIdByCellIndex=d;exports.findNextIdByRowIndex=Y;exports.focusElement=I;exports.focusFirstDataElement=V;exports.focusFirstEditor=Z;exports.focusStackedCellElement=J;exports.generateNavigatableId=B;exports.getActiveNavDataElement=N;exports.getBodyElement=O;exports.getClosestCancelButton=p;exports.getClosestCellNavId=H;exports.getClosestEditButton=R;exports.getClosestNavigatableElement=C;exports.getClosestScope=k;exports.getCurrentIdIndexes=re;exports.getFilterColumnId=j;exports.getFirstDataCell=W;exports.getFirstRowDataCell=te;exports.getFocusableElements=v;exports.getHeaderElement=h;exports.getIdPrefix=q;exports.getLastDataCell=ee;exports.getLastRowDataCell=ne;exports.getNavigatableElement=y;exports.getNavigatableElements=$;exports.getNavigatableId=b;exports.getNavigatableLevel=S;exports.getNextEditableCell=U;exports.getNextNavigationIndex=M;exports.getNextStackedCell=z;exports.getNoRecordsElement=Q;exports.getParentCell=F;exports.getPrevEditableCell=P;exports.getRemoveButtonByAriaRowIndex=T;exports.getRowAriaRowIndex=w;exports.getStackedCellContainer=G;exports.getStackedCellFocusableElements=_;exports.getStackedCellWrapper=X;exports.getTableCellByKeyboardNavId=u;exports.isNavigatable=A;exports.tableKeyboardNavigationTools=le;