UNPKG

@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
/** * @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 };