@progress/kendo-react-layout
Version:
React Layout components enable you to create a perceptive and intuitive layout of web projects. KendoReact Layout package
122 lines (121 loc) • 2.94 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { Keys as e } from "@progress/kendo-react-common";
import { isIdZeroLevel as i, getFirstChildId as N, getRootParentId as b, getDirectParentId as a, getShortId as O, isIdFirstLevel as q, getItemById as D, getDirectSiblingIdForLevelZero as P, createId as J } from "./itemsIdsUtils.mjs";
const Q = /\S/;
function V(g, n, G, S, l, c) {
const H = u();
switch (G) {
case e.left:
return x();
case e.right:
return B();
case e.up:
return A();
case e.down:
return z();
case e.enter:
case e.space:
return R();
case e.home:
return W();
case e.end:
return Z();
case e.esc:
return _();
default:
return X() ? M() : n;
}
function x() {
return l ? c ? F() : U() : c ? C() : K();
}
function B() {
return l ? c ? U() : F() : c ? K() : C();
}
function z() {
return l ? f() : i(n) ? d() : f();
}
function A() {
return l ? s() : i(n) ? E() : s();
}
function R() {
return H.disabled ? n : h() ? N(n) : b(n);
}
function W() {
return y()[0].id;
}
function Z() {
const t = y();
return t[t.length - 1].id;
}
function _() {
return i(n) ? n : a(n);
}
function M() {
const t = S.toLowerCase(), r = y(), o = Number(O(n)), p = r.slice(o + 1).concat(r.slice(0, o + 1)).find((j) => (j.text || "").toLowerCase().startsWith(t));
return p ? p.id : n;
}
function K() {
return i(n) ? s() : q(n) ? d(s(b(n))) : a(n);
}
function U() {
return i(n) ? E() : a(n);
}
function C() {
return i(n) ? f() : d(
h() ? n : f(b(n))
);
}
function F() {
return d(
i(n) || h() ? n : f(b(n))
);
}
function d(t) {
return v(!0, t);
}
function E(t) {
return v(!1, t);
}
function X() {
return S.length === 1 && Q.test(S);
}
function u(t, r) {
return t === void 0 && (t = n), r === void 0 && (r = g), D(t, r);
}
function h(t) {
return u(t).items.length > 0;
}
function s(t) {
return L(!1, t);
}
function f(t) {
return L(!0, t);
}
function $(t) {
const r = u(t).items;
return r[r.length - 1].id;
}
function y() {
return i(n) ? g : u(a(n), g).items;
}
function v(t, r) {
r === void 0 && (r = n);
const o = u(r);
return h(r) && !o.disabled ? t ? N(r) : $(r) : r;
}
function L(t, r) {
if (r === void 0 && (r = n), i(r))
return P(t, r, g.length);
const o = a(r), w = O(r), p = u(o).items.length;
return J(P(t, w, p), o);
}
}
export {
V as getNewItemIdUponKeyboardNavigation
};