@progress/kendo-react-data-tools 8.2.0-develop.1 → 8.2.0-develop.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1390,6 +1390,11 @@ export declare const isInNonSelectable: (target: HTMLElement | null) => boolean;
1390
1390
  */
1391
1391
  export declare function isRtl(element: HTMLElement | null): boolean;
1392
1392
 
1393
+ /**
1394
+ * @hidden
1395
+ */
1396
+ export declare const KEYBOARD_NAV_CANCEL_BUTTON_CLASS = "k-grid-cancel-command";
1397
+
1393
1398
  /**
1394
1399
  * @hidden
1395
1400
  */
@@ -1420,6 +1425,11 @@ export declare const KEYBOARD_NAV_DATA_SCOPE = "data-keyboardnavscope";
1420
1425
  */
1421
1426
  export declare const KEYBOARD_NAV_DATA_ZONE = "data-keyboardnavzone";
1422
1427
 
1428
+ /**
1429
+ * @hidden
1430
+ */
1431
+ export declare const KEYBOARD_NAV_EDIT_BUTTON_CLASS = "k-grid-edit-command";
1432
+
1423
1433
  /**
1424
1434
  * @hidden
1425
1435
  */
@@ -1469,6 +1479,28 @@ export declare const modifySubItems: (data: any[], subItemsField: string, condit
1469
1479
  */
1470
1480
  export declare const moveTreeItem: (data: any[], target: number[], destination: number[] | null, subItemsField: string) => any[];
1471
1481
 
1482
+ /**
1483
+ * The navigatable modes
1484
+ */
1485
+ export declare enum NavigatableMode {
1486
+ incell = "incell",
1487
+ inline = "inline",
1488
+ popup = "popup"
1489
+ }
1490
+
1491
+ /**
1492
+ * The navigatable additional settings
1493
+ */
1494
+ export declare interface NavigatableSettings {
1495
+ /**
1496
+ * The available values are:
1497
+ * * `incell`
1498
+ * * `inline`
1499
+ * * `popup`
1500
+ */
1501
+ mode?: NavigatableMode;
1502
+ }
1503
+
1472
1504
  /**
1473
1505
  * @hidden
1474
1506
  */
@@ -1990,7 +2022,7 @@ export declare interface TableDragSelectionReleaseEvent {
1990
2022
  */
1991
2023
  export declare const tableKeyboardNavigation: {
1992
2024
  onConstructor: (options: {
1993
- navigatable?: boolean | undefined;
2025
+ navigatable?: boolean | undefined | NavigatableSettings;
1994
2026
  contextStateRef: {
1995
2027
  current?: TableKeyboardNavigationContextType;
1996
2028
  };
@@ -2026,6 +2058,9 @@ export declare const tableKeyboardNavigation: {
2026
2058
  current?: TableKeyboardNavigationStateType;
2027
2059
  };
2028
2060
  focusFirst?: boolean;
2061
+ newEditableRow?: Element;
2062
+ singleEditRow?: boolean;
2063
+ lastActiveElement?: Element;
2029
2064
  }) => void;
2030
2065
  onFocus: (event: React_2.FocusEvent<HTMLDivElement>, options: {
2031
2066
  contextStateRef: {
@@ -2033,6 +2068,7 @@ export declare const tableKeyboardNavigation: {
2033
2068
  };
2034
2069
  }) => void;
2035
2070
  onKeyDown: (event: React_2.KeyboardEvent<HTMLElement>, options: {
2071
+ navigatable: boolean | NavigatableSettings;
2036
2072
  contextStateRef: {
2037
2073
  current?: TableKeyboardNavigationContextType;
2038
2074
  };
@@ -2044,7 +2080,7 @@ export declare const tableKeyboardNavigation: {
2044
2080
  focusElement: any;
2045
2081
  action?: "moveToNextPage" | "moveToPrevPage" | "reorderToLeft" | "reorderToRight" | undefined;
2046
2082
  }) => void) | undefined;
2047
- }) => void;
2083
+ }) => Promise<void>;
2048
2084
  generateMatrix: (options: {
2049
2085
  scope?: HTMLElement;
2050
2086
  navigationStateRef: {
@@ -2173,6 +2209,11 @@ export declare const tableKeyboardNavigationTools: {
2173
2209
  current?: TableKeyboardNavigationStateType;
2174
2210
  };
2175
2211
  }, event?: any) => void;
2212
+ getClosestCancelButton: (target: HTMLElement) => Element | null;
2213
+ getClosestEditButton: (target: HTMLElement) => Promise<boolean | Element>;
2214
+ getRowAriaRowIndex: (target: HTMLElement) => undefined;
2215
+ getRemoveButtonByAriaRowIndex: (ariaRowIndex: number) => Element | null;
2216
+ getTableCellByKeyboardNavId: (navId: string) => Element | null;
2176
2217
  };
2177
2218
 
2178
2219
  /** @hidden */
package/index.js CHANGED
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./pager/Pager.js"),d=require("./drag/ColumnResize.js"),T=require("./drag/ColumnResizer.js"),A=require("./drag/CommonDragLogic.js"),E=require("./drag/DragClue.js"),F=require("./drag/DropClue.js"),e=require("./utils/data-operations.js"),i=require("./utils/group-operations.js"),D=require("./navigation/hooks.js"),t=require("./navigation/constants.js"),_=require("./navigation/TableKeyboardNavigation.js"),g=require("./navigation/TableKeyboardNavigationContext.js"),p=require("./navigation/utils.js"),b=require("./selection/TableSelection.js"),a=require("./selection/constants.js"),r=require("./selection/utils.js"),N=require("./clipboard/clipboard.service.js"),s=require("./clipboard/common.js"),q=require("./filteringCells/FilterComponent.js"),R=require("./filteringCells/BooleanFilter.js"),O=require("./filteringCells/DateFilter.js"),S=require("./filteringCells/NumericFilter.js"),I=require("./filteringCells/TextFilter.js"),B=require("./header/ColumnProps.js"),m=require("./header/FilterRow.js"),M=require("./header/Header.js"),y=require("./header/HeaderCell.js"),K=require("./header/HeaderRow.js"),L=require("./header/HeaderSelectionCell.js"),x=require("./header/SortSettings.js"),o=require("./header/utils/index.js"),v=require("./header/HeaderThElement.js"),V=require("./virtualization/columns.js"),H=require("./filter/filters/TextFilter.js"),Y=require("./filter/filters/NumericFilter.js"),f=require("./filter/filters/DateFilter.js"),P=require("./filter/filters/BooleanFilter.js"),w=require("./filter/filters/EnumFilter.js"),z=require("./filter/Expression.js"),h=require("./filter/Filter.js"),G=require("./filter/Group.js"),u=require("./filter/operators.js"),n=require("./columnmenu/ColumnMenu.js"),C=require("./columnmenu/ColumnMenuFilterForm.js"),U=require("./columnmenu/ColumnMenuFilterLogic.js"),l=require("./columnmenu/ColumnMenuFilters.js"),X=require("./columnmenu/ColumnMenuItem.js"),$=require("./columnmenu/ColumnMenuOperators.js");exports.Pager=c.Pager;exports.ColumnResize=d.ColumnResize;exports.ColumnResizer=T.ColumnResizer;exports.CommonDragLogic=A.CommonDragLogic;exports.DragClue=E.DragClue;exports.DropClue=F.DropClue;exports.createDataTree=e.createDataTree;exports.extendDataItem=e.extendDataItem;exports.filterBy=e.filterBy;exports.flatData=e.flatData;exports.getItemPath=e.getItemPath;exports.modifySubItems=e.modifySubItems;exports.moveTreeItem=e.moveTreeItem;exports.orderBy=e.orderBy;exports.removeItems=e.removeItems;exports.treeToFlat=e.treeToFlat;exports.getGroupIds=i.getGroupIds;exports.setExpandedState=i.setExpandedState;exports.setGroupIds=i.setGroupIds;exports.useTableKeyboardNavigation=D.useTableKeyboardNavigation;exports.KEYBOARD_NAV_DATA_BODY=t.KEYBOARD_NAV_DATA_BODY;exports.KEYBOARD_NAV_DATA_HEADER=t.KEYBOARD_NAV_DATA_HEADER;exports.KEYBOARD_NAV_DATA_ID=t.KEYBOARD_NAV_DATA_ID;exports.KEYBOARD_NAV_DATA_LEVEL=t.KEYBOARD_NAV_DATA_LEVEL;exports.KEYBOARD_NAV_DATA_SCOPE=t.KEYBOARD_NAV_DATA_SCOPE;exports.KEYBOARD_NAV_DATA_ZONE=t.KEYBOARD_NAV_DATA_ZONE;exports.KEYBOARD_NAV_FILTER_COL_SUFFIX=t.KEYBOARD_NAV_FILTER_COL_SUFFIX;exports.tableKeyboardNavigationBodyAttributes=t.tableKeyboardNavigationBodyAttributes;exports.tableKeyboardNavigationHeaderAttributes=t.tableKeyboardNavigationHeaderAttributes;exports.tableKeyboardNavigationScopeAttributes=t.tableKeyboardNavigationScopeAttributes;exports.tableKeyboardNavigation=_.tableKeyboardNavigation;exports.TableKeyboardNavigationContext=g.TableKeyboardNavigationContext;exports.tableKeyboardNavigationTools=p.tableKeyboardNavigationTools;exports.TableSelection=b.TableSelection;exports.TABLE_COL_INDEX_ATTRIBUTE=a.TABLE_COL_INDEX_ATTRIBUTE;exports.TABLE_PREVENT_SELECTION_ELEMENT=a.TABLE_PREVENT_SELECTION_ELEMENT;exports.TABLE_ROW_INDEX_ATTRIBUTE=a.TABLE_ROW_INDEX_ATTRIBUTE;exports.closestTagName=r.closestTagName;exports.getColumnIndex=r.getColumnIndex;exports.getOffset=r.getOffset;exports.getRowIndex=r.getRowIndex;exports.getSelectedState=r.getSelectedState;exports.getSelectedStateFromKeyDown=r.getSelectedStateFromKeyDown;exports.getSelectionOptions=r.getSelectionOptions;exports.isInNonSelectable=r.isInNonSelectable;exports.relativeContextElement=r.relativeContextElement;exports.setSelectedState=r.setSelectedState;exports.ClipboardService=N.ClipboardService;exports.ClipboardActionType=s.ClipboardActionType;exports.populateClipboardData=s.populateClipboardData;exports.createFilterComponent=q.createFilterComponent;exports.BooleanFilterCell=R.BooleanFilterCell;exports.DateFilterCell=O.DateFilterCell;exports.NumericFilterCell=S.NumericFilterCell;exports.TextFilterCell=I.TextFilterCell;exports.ColumnDefaultProps=B.ColumnDefaultProps;exports.FILTER_ROW_CLASS=m.FILTER_ROW_CLASS;exports.FilterRow=m.FilterRow;exports.Header=M.Header;exports.HeaderCell=y.HeaderCell;exports.HeaderRow=K.HeaderRow;exports.HeaderSelectionCell=L.HeaderSelectionCell;exports.normalize=x.normalize;exports.getIndex=o.getIndex;exports.isRtl=o.isRtl;exports.mapColumns=o.mapColumns;exports.nextColumn=o.nextColumn;exports.readColumns=o.readColumns;exports.updateLeft=o.updateLeft;exports.updateRight=o.updateRight;exports.HeaderThElement=v.HeaderThElement;exports.tableColumnsVirtualization=V.tableColumnsVirtualization;exports.TextFilter=H.TextFilter;exports.NumericFilter=Y.NumericFilter;exports.DateFilter=f.DateFilter;exports.BooleanFilter=P.BooleanFilter;exports.EnumFilter=w.EnumFilter;exports.Expression=z.Expression;exports.Filter=h.Filter;exports.Group=G.Group;exports.Operators=u.Operators;exports.stringOperator=u.stringOperator;exports.unaryOperator=u.unaryOperator;exports.ColumnMenuBooleanColumn=n.ColumnMenuBooleanColumn;exports.ColumnMenuDateColumn=n.ColumnMenuDateColumn;exports.ColumnMenuNumericColumn=n.ColumnMenuNumericColumn;exports.ColumnMenuTextColumn=n.ColumnMenuTextColumn;exports.ColumnMenuFilterForm=C.ColumnMenuFilterForm;exports.ColumnMenuForm=C.ColumnMenuForm;exports.ColumnMenuFilterLogic=U.ColumnMenuFilterLogic;exports.ColumnMenuBooleanFilter=l.ColumnMenuBooleanFilter;exports.ColumnMenuDateFilter=l.ColumnMenuDateFilter;exports.ColumnMenuNumericFilter=l.ColumnMenuNumericFilter;exports.ColumnMenuTextFilter=l.ColumnMenuTextFilter;exports.ColumnMenuItem=X.ColumnMenuItem;exports.ColumnMenuOperators=$.ColumnMenuOperators;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./pager/Pager.js"),A=require("./drag/ColumnResize.js"),T=require("./drag/ColumnResizer.js"),_=require("./drag/CommonDragLogic.js"),d=require("./drag/DragClue.js"),E=require("./drag/DropClue.js"),t=require("./utils/data-operations.js"),i=require("./utils/group-operations.js"),D=require("./navigation/hooks.js"),e=require("./navigation/constants.js"),N=require("./navigation/NavigatableSettings.js"),F=require("./navigation/TableKeyboardNavigation.js"),g=require("./navigation/TableKeyboardNavigationContext.js"),b=require("./navigation/utils.js"),p=require("./selection/TableSelection.js"),a=require("./selection/constants.js"),r=require("./selection/utils.js"),O=require("./clipboard/clipboard.service.js"),s=require("./clipboard/common.js"),S=require("./filteringCells/FilterComponent.js"),R=require("./filteringCells/BooleanFilter.js"),B=require("./filteringCells/DateFilter.js"),q=require("./filteringCells/NumericFilter.js"),I=require("./filteringCells/TextFilter.js"),L=require("./header/ColumnProps.js"),m=require("./header/FilterRow.js"),M=require("./header/Header.js"),K=require("./header/HeaderCell.js"),y=require("./header/HeaderRow.js"),x=require("./header/HeaderSelectionCell.js"),v=require("./header/SortSettings.js"),o=require("./header/utils/index.js"),V=require("./header/HeaderThElement.js"),Y=require("./virtualization/columns.js"),H=require("./filter/filters/TextFilter.js"),f=require("./filter/filters/NumericFilter.js"),P=require("./filter/filters/DateFilter.js"),w=require("./filter/filters/BooleanFilter.js"),z=require("./filter/filters/EnumFilter.js"),U=require("./filter/Expression.js"),h=require("./filter/Filter.js"),G=require("./filter/Group.js"),u=require("./filter/operators.js"),n=require("./columnmenu/ColumnMenu.js"),C=require("./columnmenu/ColumnMenuFilterForm.js"),X=require("./columnmenu/ColumnMenuFilterLogic.js"),l=require("./columnmenu/ColumnMenuFilters.js"),$=require("./columnmenu/ColumnMenuItem.js"),W=require("./columnmenu/ColumnMenuOperators.js");exports.Pager=c.Pager;exports.ColumnResize=A.ColumnResize;exports.ColumnResizer=T.ColumnResizer;exports.CommonDragLogic=_.CommonDragLogic;exports.DragClue=d.DragClue;exports.DropClue=E.DropClue;exports.createDataTree=t.createDataTree;exports.extendDataItem=t.extendDataItem;exports.filterBy=t.filterBy;exports.flatData=t.flatData;exports.getItemPath=t.getItemPath;exports.modifySubItems=t.modifySubItems;exports.moveTreeItem=t.moveTreeItem;exports.orderBy=t.orderBy;exports.removeItems=t.removeItems;exports.treeToFlat=t.treeToFlat;exports.getGroupIds=i.getGroupIds;exports.setExpandedState=i.setExpandedState;exports.setGroupIds=i.setGroupIds;exports.useTableKeyboardNavigation=D.useTableKeyboardNavigation;exports.KEYBOARD_NAV_CANCEL_BUTTON_CLASS=e.KEYBOARD_NAV_CANCEL_BUTTON_CLASS;exports.KEYBOARD_NAV_DATA_BODY=e.KEYBOARD_NAV_DATA_BODY;exports.KEYBOARD_NAV_DATA_HEADER=e.KEYBOARD_NAV_DATA_HEADER;exports.KEYBOARD_NAV_DATA_ID=e.KEYBOARD_NAV_DATA_ID;exports.KEYBOARD_NAV_DATA_LEVEL=e.KEYBOARD_NAV_DATA_LEVEL;exports.KEYBOARD_NAV_DATA_SCOPE=e.KEYBOARD_NAV_DATA_SCOPE;exports.KEYBOARD_NAV_DATA_ZONE=e.KEYBOARD_NAV_DATA_ZONE;exports.KEYBOARD_NAV_EDIT_BUTTON_CLASS=e.KEYBOARD_NAV_EDIT_BUTTON_CLASS;exports.KEYBOARD_NAV_FILTER_COL_SUFFIX=e.KEYBOARD_NAV_FILTER_COL_SUFFIX;exports.tableKeyboardNavigationBodyAttributes=e.tableKeyboardNavigationBodyAttributes;exports.tableKeyboardNavigationHeaderAttributes=e.tableKeyboardNavigationHeaderAttributes;exports.tableKeyboardNavigationScopeAttributes=e.tableKeyboardNavigationScopeAttributes;exports.NavigatableMode=N.NavigatableMode;exports.tableKeyboardNavigation=F.tableKeyboardNavigation;exports.TableKeyboardNavigationContext=g.TableKeyboardNavigationContext;exports.tableKeyboardNavigationTools=b.tableKeyboardNavigationTools;exports.TableSelection=p.TableSelection;exports.TABLE_COL_INDEX_ATTRIBUTE=a.TABLE_COL_INDEX_ATTRIBUTE;exports.TABLE_PREVENT_SELECTION_ELEMENT=a.TABLE_PREVENT_SELECTION_ELEMENT;exports.TABLE_ROW_INDEX_ATTRIBUTE=a.TABLE_ROW_INDEX_ATTRIBUTE;exports.closestTagName=r.closestTagName;exports.getColumnIndex=r.getColumnIndex;exports.getOffset=r.getOffset;exports.getRowIndex=r.getRowIndex;exports.getSelectedState=r.getSelectedState;exports.getSelectedStateFromKeyDown=r.getSelectedStateFromKeyDown;exports.getSelectionOptions=r.getSelectionOptions;exports.isInNonSelectable=r.isInNonSelectable;exports.relativeContextElement=r.relativeContextElement;exports.setSelectedState=r.setSelectedState;exports.ClipboardService=O.ClipboardService;exports.ClipboardActionType=s.ClipboardActionType;exports.populateClipboardData=s.populateClipboardData;exports.createFilterComponent=S.createFilterComponent;exports.BooleanFilterCell=R.BooleanFilterCell;exports.DateFilterCell=B.DateFilterCell;exports.NumericFilterCell=q.NumericFilterCell;exports.TextFilterCell=I.TextFilterCell;exports.ColumnDefaultProps=L.ColumnDefaultProps;exports.FILTER_ROW_CLASS=m.FILTER_ROW_CLASS;exports.FilterRow=m.FilterRow;exports.Header=M.Header;exports.HeaderCell=K.HeaderCell;exports.HeaderRow=y.HeaderRow;exports.HeaderSelectionCell=x.HeaderSelectionCell;exports.normalize=v.normalize;exports.getIndex=o.getIndex;exports.isRtl=o.isRtl;exports.mapColumns=o.mapColumns;exports.nextColumn=o.nextColumn;exports.readColumns=o.readColumns;exports.updateLeft=o.updateLeft;exports.updateRight=o.updateRight;exports.HeaderThElement=V.HeaderThElement;exports.tableColumnsVirtualization=Y.tableColumnsVirtualization;exports.TextFilter=H.TextFilter;exports.NumericFilter=f.NumericFilter;exports.DateFilter=P.DateFilter;exports.BooleanFilter=w.BooleanFilter;exports.EnumFilter=z.EnumFilter;exports.Expression=U.Expression;exports.Filter=h.Filter;exports.Group=G.Group;exports.Operators=u.Operators;exports.stringOperator=u.stringOperator;exports.unaryOperator=u.unaryOperator;exports.ColumnMenuBooleanColumn=n.ColumnMenuBooleanColumn;exports.ColumnMenuDateColumn=n.ColumnMenuDateColumn;exports.ColumnMenuNumericColumn=n.ColumnMenuNumericColumn;exports.ColumnMenuTextColumn=n.ColumnMenuTextColumn;exports.ColumnMenuFilterForm=C.ColumnMenuFilterForm;exports.ColumnMenuForm=C.ColumnMenuForm;exports.ColumnMenuFilterLogic=X.ColumnMenuFilterLogic;exports.ColumnMenuBooleanFilter=l.ColumnMenuBooleanFilter;exports.ColumnMenuDateFilter=l.ColumnMenuDateFilter;exports.ColumnMenuNumericFilter=l.ColumnMenuNumericFilter;exports.ColumnMenuTextFilter=l.ColumnMenuTextFilter;exports.ColumnMenuItem=$.ColumnMenuItem;exports.ColumnMenuOperators=W.ColumnMenuOperators;
package/index.mjs CHANGED
@@ -12,143 +12,147 @@ import { ColumnResizer as a } from "./drag/ColumnResizer.mjs";
12
12
  import { CommonDragLogic as p } from "./drag/CommonDragLogic.mjs";
13
13
  import { DragClue as x } from "./drag/DragClue.mjs";
14
14
  import { DropClue as f } from "./drag/DropClue.mjs";
15
- import { createDataTree as A, extendDataItem as E, filterBy as T, flatData as d, getItemPath as _, modifySubItems as D, moveTreeItem as s, orderBy as F, removeItems as N, treeToFlat as b } from "./utils/data-operations.mjs";
16
- import { getGroupIds as R, setExpandedState as I, setGroupIds as O } from "./utils/group-operations.mjs";
17
- import { useTableKeyboardNavigation as B } from "./navigation/hooks.mjs";
18
- import { KEYBOARD_NAV_DATA_BODY as K, KEYBOARD_NAV_DATA_HEADER as L, KEYBOARD_NAV_DATA_ID as y, KEYBOARD_NAV_DATA_LEVEL as M, KEYBOARD_NAV_DATA_SCOPE as v, KEYBOARD_NAV_DATA_ZONE as V, KEYBOARD_NAV_FILTER_COL_SUFFIX as Y, tableKeyboardNavigationBodyAttributes as H, tableKeyboardNavigationHeaderAttributes as P, tableKeyboardNavigationScopeAttributes as w } from "./navigation/constants.mjs";
19
- import { tableKeyboardNavigation as h } from "./navigation/TableKeyboardNavigation.mjs";
20
- import { TableKeyboardNavigationContext as U } from "./navigation/TableKeyboardNavigationContext.mjs";
21
- import { tableKeyboardNavigationTools as W } from "./navigation/utils.mjs";
22
- import { TableSelection as j } from "./selection/TableSelection.mjs";
23
- import { TABLE_COL_INDEX_ATTRIBUTE as q, TABLE_PREVENT_SELECTION_ELEMENT as J, TABLE_ROW_INDEX_ATTRIBUTE as Q } from "./selection/constants.mjs";
24
- import { closestTagName as ee, getColumnIndex as oe, getOffset as re, getRowIndex as te, getSelectedState as me, getSelectedStateFromKeyDown as le, getSelectionOptions as ae, isInNonSelectable as ne, relativeContextElement as pe, setSelectedState as ie } from "./selection/utils.mjs";
25
- import { ClipboardService as ue } from "./clipboard/clipboard.service.mjs";
26
- import { ClipboardActionType as Ce, populateClipboardData as Ae } from "./clipboard/common.mjs";
27
- import { createFilterComponent as Te } from "./filteringCells/FilterComponent.mjs";
28
- import { BooleanFilterCell as _e } from "./filteringCells/BooleanFilter.mjs";
29
- import { DateFilterCell as se } from "./filteringCells/DateFilter.mjs";
30
- import { NumericFilterCell as Ne } from "./filteringCells/NumericFilter.mjs";
31
- import { TextFilterCell as ge } from "./filteringCells/TextFilter.mjs";
32
- import { ColumnDefaultProps as Ie } from "./header/ColumnProps.mjs";
33
- import { FILTER_ROW_CLASS as ce, FilterRow as Be } from "./header/FilterRow.mjs";
34
- import { Header as Ke } from "./header/Header.mjs";
35
- import { HeaderCell as ye } from "./header/HeaderCell.mjs";
36
- import { HeaderRow as ve } from "./header/HeaderRow.mjs";
37
- import { HeaderSelectionCell as Ye } from "./header/HeaderSelectionCell.mjs";
38
- import { normalize as Pe } from "./header/SortSettings.mjs";
39
- import { getIndex as ze, isRtl as he, mapColumns as Ge, nextColumn as Ue, readColumns as Xe, updateLeft as We, updateRight as Ze } from "./header/utils/index.mjs";
40
- import { HeaderThElement as ke } from "./header/HeaderThElement.mjs";
41
- import { tableColumnsVirtualization as Je } from "./virtualization/columns.mjs";
42
- import { TextFilter as $e } from "./filter/filters/TextFilter.mjs";
43
- import { NumericFilter as oo } from "./filter/filters/NumericFilter.mjs";
44
- import { DateFilter as to } from "./filter/filters/DateFilter.mjs";
45
- import { BooleanFilter as lo } from "./filter/filters/BooleanFilter.mjs";
46
- import { EnumFilter as no } from "./filter/filters/EnumFilter.mjs";
47
- import { Expression as io } from "./filter/Expression.mjs";
48
- import { Filter as uo } from "./filter/Filter.mjs";
49
- import { Group as Co } from "./filter/Group.mjs";
50
- import { Operators as Eo, stringOperator as To, unaryOperator as _o } from "./filter/operators.mjs";
51
- import { ColumnMenuBooleanColumn as so, ColumnMenuDateColumn as Fo, ColumnMenuNumericColumn as No, ColumnMenuTextColumn as bo } from "./columnmenu/ColumnMenu.mjs";
52
- import { ColumnMenuFilterForm as Ro, ColumnMenuForm as Io } from "./columnmenu/ColumnMenuFilterForm.mjs";
53
- import { ColumnMenuFilterLogic as co } from "./columnmenu/ColumnMenuFilterLogic.mjs";
54
- import { ColumnMenuBooleanFilter as So, ColumnMenuDateFilter as Ko, ColumnMenuNumericFilter as Lo, ColumnMenuTextFilter as yo } from "./columnmenu/ColumnMenuFilters.mjs";
55
- import { ColumnMenuItem as vo } from "./columnmenu/ColumnMenuItem.mjs";
56
- import { ColumnMenuOperators as Yo } from "./columnmenu/ColumnMenuOperators.mjs";
15
+ import { createDataTree as A, extendDataItem as _, filterBy as T, flatData as E, getItemPath as d, modifySubItems as D, moveTreeItem as N, orderBy as s, removeItems as F, treeToFlat as b } from "./utils/data-operations.mjs";
16
+ import { getGroupIds as O, setExpandedState as B, setGroupIds as R } from "./utils/group-operations.mjs";
17
+ import { useTableKeyboardNavigation as I } from "./navigation/hooks.mjs";
18
+ import { KEYBOARD_NAV_CANCEL_BUTTON_CLASS as L, KEYBOARD_NAV_DATA_BODY as K, KEYBOARD_NAV_DATA_HEADER as M, KEYBOARD_NAV_DATA_ID as y, KEYBOARD_NAV_DATA_LEVEL as v, KEYBOARD_NAV_DATA_SCOPE as V, KEYBOARD_NAV_DATA_ZONE as Y, KEYBOARD_NAV_EDIT_BUTTON_CLASS as H, KEYBOARD_NAV_FILTER_COL_SUFFIX as P, tableKeyboardNavigationBodyAttributes as U, tableKeyboardNavigationHeaderAttributes as w, tableKeyboardNavigationScopeAttributes as z } from "./navigation/constants.mjs";
19
+ import { NavigatableMode as G } from "./navigation/NavigatableSettings.mjs";
20
+ import { tableKeyboardNavigation as W } from "./navigation/TableKeyboardNavigation.mjs";
21
+ import { TableKeyboardNavigationContext as j } from "./navigation/TableKeyboardNavigationContext.mjs";
22
+ import { tableKeyboardNavigationTools as q } from "./navigation/utils.mjs";
23
+ import { TableSelection as Q } from "./selection/TableSelection.mjs";
24
+ import { TABLE_COL_INDEX_ATTRIBUTE as ee, TABLE_PREVENT_SELECTION_ELEMENT as oe, TABLE_ROW_INDEX_ATTRIBUTE as re } from "./selection/constants.mjs";
25
+ import { closestTagName as me, getColumnIndex as le, getOffset as ae, getRowIndex as ne, getSelectedState as pe, getSelectedStateFromKeyDown as ie, getSelectionOptions as xe, isInNonSelectable as ue, relativeContextElement as fe, setSelectedState as Ce } from "./selection/utils.mjs";
26
+ import { ClipboardService as _e } from "./clipboard/clipboard.service.mjs";
27
+ import { ClipboardActionType as Ee, populateClipboardData as de } from "./clipboard/common.mjs";
28
+ import { createFilterComponent as Ne } from "./filteringCells/FilterComponent.mjs";
29
+ import { BooleanFilterCell as Fe } from "./filteringCells/BooleanFilter.mjs";
30
+ import { DateFilterCell as ge } from "./filteringCells/DateFilter.mjs";
31
+ import { NumericFilterCell as Be } from "./filteringCells/NumericFilter.mjs";
32
+ import { TextFilterCell as Se } from "./filteringCells/TextFilter.mjs";
33
+ import { ColumnDefaultProps as ce } from "./header/ColumnProps.mjs";
34
+ import { FILTER_ROW_CLASS as Ke, FilterRow as Me } from "./header/FilterRow.mjs";
35
+ import { Header as ve } from "./header/Header.mjs";
36
+ import { HeaderCell as Ye } from "./header/HeaderCell.mjs";
37
+ import { HeaderRow as Pe } from "./header/HeaderRow.mjs";
38
+ import { HeaderSelectionCell as we } from "./header/HeaderSelectionCell.mjs";
39
+ import { normalize as he } from "./header/SortSettings.mjs";
40
+ import { getIndex as Xe, isRtl as We, mapColumns as Ze, nextColumn as je, readColumns as ke, updateLeft as qe, updateRight as Je } from "./header/utils/index.mjs";
41
+ import { HeaderThElement as $e } from "./header/HeaderThElement.mjs";
42
+ import { tableColumnsVirtualization as oo } from "./virtualization/columns.mjs";
43
+ import { TextFilter as to } from "./filter/filters/TextFilter.mjs";
44
+ import { NumericFilter as lo } from "./filter/filters/NumericFilter.mjs";
45
+ import { DateFilter as no } from "./filter/filters/DateFilter.mjs";
46
+ import { BooleanFilter as io } from "./filter/filters/BooleanFilter.mjs";
47
+ import { EnumFilter as uo } from "./filter/filters/EnumFilter.mjs";
48
+ import { Expression as Co } from "./filter/Expression.mjs";
49
+ import { Filter as _o } from "./filter/Filter.mjs";
50
+ import { Group as Eo } from "./filter/Group.mjs";
51
+ import { Operators as No, stringOperator as so, unaryOperator as Fo } from "./filter/operators.mjs";
52
+ import { ColumnMenuBooleanColumn as go, ColumnMenuDateColumn as Oo, ColumnMenuNumericColumn as Bo, ColumnMenuTextColumn as Ro } from "./columnmenu/ColumnMenu.mjs";
53
+ import { ColumnMenuFilterForm as Io, ColumnMenuForm as co } from "./columnmenu/ColumnMenuFilterForm.mjs";
54
+ import { ColumnMenuFilterLogic as Ko } from "./columnmenu/ColumnMenuFilterLogic.mjs";
55
+ import { ColumnMenuBooleanFilter as yo, ColumnMenuDateFilter as vo, ColumnMenuNumericFilter as Vo, ColumnMenuTextFilter as Yo } from "./columnmenu/ColumnMenuFilters.mjs";
56
+ import { ColumnMenuItem as Po } from "./columnmenu/ColumnMenuItem.mjs";
57
+ import { ColumnMenuOperators as wo } from "./columnmenu/ColumnMenuOperators.mjs";
57
58
  export {
58
- lo as BooleanFilter,
59
- _e as BooleanFilterCell,
60
- Ce as ClipboardActionType,
61
- ue as ClipboardService,
62
- Ie as ColumnDefaultProps,
63
- so as ColumnMenuBooleanColumn,
64
- So as ColumnMenuBooleanFilter,
65
- Fo as ColumnMenuDateColumn,
66
- Ko as ColumnMenuDateFilter,
67
- Ro as ColumnMenuFilterForm,
68
- co as ColumnMenuFilterLogic,
69
- Io as ColumnMenuForm,
70
- vo as ColumnMenuItem,
71
- No as ColumnMenuNumericColumn,
72
- Lo as ColumnMenuNumericFilter,
73
- Yo as ColumnMenuOperators,
74
- bo as ColumnMenuTextColumn,
75
- yo as ColumnMenuTextFilter,
59
+ io as BooleanFilter,
60
+ Fe as BooleanFilterCell,
61
+ Ee as ClipboardActionType,
62
+ _e as ClipboardService,
63
+ ce as ColumnDefaultProps,
64
+ go as ColumnMenuBooleanColumn,
65
+ yo as ColumnMenuBooleanFilter,
66
+ Oo as ColumnMenuDateColumn,
67
+ vo as ColumnMenuDateFilter,
68
+ Io as ColumnMenuFilterForm,
69
+ Ko as ColumnMenuFilterLogic,
70
+ co as ColumnMenuForm,
71
+ Po as ColumnMenuItem,
72
+ Bo as ColumnMenuNumericColumn,
73
+ Vo as ColumnMenuNumericFilter,
74
+ wo as ColumnMenuOperators,
75
+ Ro as ColumnMenuTextColumn,
76
+ Yo as ColumnMenuTextFilter,
76
77
  m as ColumnResize,
77
78
  a as ColumnResizer,
78
79
  p as CommonDragLogic,
79
- to as DateFilter,
80
- se as DateFilterCell,
80
+ no as DateFilter,
81
+ ge as DateFilterCell,
81
82
  x as DragClue,
82
83
  f as DropClue,
83
- no as EnumFilter,
84
- io as Expression,
85
- ce as FILTER_ROW_CLASS,
86
- uo as Filter,
87
- Be as FilterRow,
88
- Co as Group,
89
- Ke as Header,
90
- ye as HeaderCell,
91
- ve as HeaderRow,
92
- Ye as HeaderSelectionCell,
93
- ke as HeaderThElement,
84
+ uo as EnumFilter,
85
+ Co as Expression,
86
+ Ke as FILTER_ROW_CLASS,
87
+ _o as Filter,
88
+ Me as FilterRow,
89
+ Eo as Group,
90
+ ve as Header,
91
+ Ye as HeaderCell,
92
+ Pe as HeaderRow,
93
+ we as HeaderSelectionCell,
94
+ $e as HeaderThElement,
95
+ L as KEYBOARD_NAV_CANCEL_BUTTON_CLASS,
94
96
  K as KEYBOARD_NAV_DATA_BODY,
95
- L as KEYBOARD_NAV_DATA_HEADER,
97
+ M as KEYBOARD_NAV_DATA_HEADER,
96
98
  y as KEYBOARD_NAV_DATA_ID,
97
- M as KEYBOARD_NAV_DATA_LEVEL,
98
- v as KEYBOARD_NAV_DATA_SCOPE,
99
- V as KEYBOARD_NAV_DATA_ZONE,
100
- Y as KEYBOARD_NAV_FILTER_COL_SUFFIX,
101
- oo as NumericFilter,
102
- Ne as NumericFilterCell,
103
- Eo as Operators,
99
+ v as KEYBOARD_NAV_DATA_LEVEL,
100
+ V as KEYBOARD_NAV_DATA_SCOPE,
101
+ Y as KEYBOARD_NAV_DATA_ZONE,
102
+ H as KEYBOARD_NAV_EDIT_BUTTON_CLASS,
103
+ P as KEYBOARD_NAV_FILTER_COL_SUFFIX,
104
+ G as NavigatableMode,
105
+ lo as NumericFilter,
106
+ Be as NumericFilterCell,
107
+ No as Operators,
104
108
  r as Pager,
105
- q as TABLE_COL_INDEX_ATTRIBUTE,
106
- J as TABLE_PREVENT_SELECTION_ELEMENT,
107
- Q as TABLE_ROW_INDEX_ATTRIBUTE,
108
- U as TableKeyboardNavigationContext,
109
- j as TableSelection,
110
- $e as TextFilter,
111
- ge as TextFilterCell,
112
- ee as closestTagName,
109
+ ee as TABLE_COL_INDEX_ATTRIBUTE,
110
+ oe as TABLE_PREVENT_SELECTION_ELEMENT,
111
+ re as TABLE_ROW_INDEX_ATTRIBUTE,
112
+ j as TableKeyboardNavigationContext,
113
+ Q as TableSelection,
114
+ to as TextFilter,
115
+ Se as TextFilterCell,
116
+ me as closestTagName,
113
117
  A as createDataTree,
114
- Te as createFilterComponent,
115
- E as extendDataItem,
118
+ Ne as createFilterComponent,
119
+ _ as extendDataItem,
116
120
  T as filterBy,
117
- d as flatData,
118
- oe as getColumnIndex,
119
- R as getGroupIds,
120
- ze as getIndex,
121
- _ as getItemPath,
122
- re as getOffset,
123
- te as getRowIndex,
124
- me as getSelectedState,
125
- le as getSelectedStateFromKeyDown,
126
- ae as getSelectionOptions,
127
- ne as isInNonSelectable,
128
- he as isRtl,
129
- Ge as mapColumns,
121
+ E as flatData,
122
+ le as getColumnIndex,
123
+ O as getGroupIds,
124
+ Xe as getIndex,
125
+ d as getItemPath,
126
+ ae as getOffset,
127
+ ne as getRowIndex,
128
+ pe as getSelectedState,
129
+ ie as getSelectedStateFromKeyDown,
130
+ xe as getSelectionOptions,
131
+ ue as isInNonSelectable,
132
+ We as isRtl,
133
+ Ze as mapColumns,
130
134
  D as modifySubItems,
131
- s as moveTreeItem,
132
- Ue as nextColumn,
133
- Pe as normalize,
134
- F as orderBy,
135
- Ae as populateClipboardData,
136
- Xe as readColumns,
137
- pe as relativeContextElement,
138
- N as removeItems,
139
- I as setExpandedState,
140
- O as setGroupIds,
141
- ie as setSelectedState,
142
- To as stringOperator,
143
- Je as tableColumnsVirtualization,
144
- h as tableKeyboardNavigation,
145
- H as tableKeyboardNavigationBodyAttributes,
146
- P as tableKeyboardNavigationHeaderAttributes,
147
- w as tableKeyboardNavigationScopeAttributes,
148
- W as tableKeyboardNavigationTools,
135
+ N as moveTreeItem,
136
+ je as nextColumn,
137
+ he as normalize,
138
+ s as orderBy,
139
+ de as populateClipboardData,
140
+ ke as readColumns,
141
+ fe as relativeContextElement,
142
+ F as removeItems,
143
+ B as setExpandedState,
144
+ R as setGroupIds,
145
+ Ce as setSelectedState,
146
+ so as stringOperator,
147
+ oo as tableColumnsVirtualization,
148
+ W as tableKeyboardNavigation,
149
+ U as tableKeyboardNavigationBodyAttributes,
150
+ w as tableKeyboardNavigationHeaderAttributes,
151
+ z as tableKeyboardNavigationScopeAttributes,
152
+ q as tableKeyboardNavigationTools,
149
153
  b as treeToFlat,
150
- _o as unaryOperator,
151
- We as updateLeft,
152
- Ze as updateRight,
153
- B as useTableKeyboardNavigation
154
+ Fo as unaryOperator,
155
+ qe as updateLeft,
156
+ Je as updateRight,
157
+ I as useTableKeyboardNavigation
154
158
  };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var n=(e=>(e.incell="incell",e.inline="inline",e.popup="popup",e))(n||{});exports.NavigatableMode=n;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";
9
+ var p = /* @__PURE__ */ ((n) => (n.incell = "incell", n.inline = "inline", n.popup = "popup", n))(p || {});
10
+ export {
11
+ p as NavigatableMode
12
+ };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@progress/kendo-react-common"),t=require("./utils.js"),C=e=>{const{navigatable:r,contextStateRef:o,navigationStateRef:a,idPrefix:i}=e;r&&(o.current={activeId:"",level:0},a.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:i||s.guid(),navigationMatrix:[],lastHeaderIndex:-1})},D=e=>{const{scope:r,contextStateRef:o,navigationStateRef:a}=e;if(o.current&&a.current&&r){I(e);const i=t.getFirstDataCell(a.current.navigationMatrix);if(i){const n=t.tableKeyboardNavigationTools.getActiveNavDataElement(r,i);n&&(o.current.activeId=i,n.setAttribute("tabIndex","0"))}}},T=e=>{const{contextStateRef:r,navigationStateRef:o,document:a}=e;if(r.current&&o.current&&a){const i=s.getActiveElement(a),n=t.tableKeyboardNavigationTools.getNavigatableId(i);n&&n===r.current.activeId&&(o.current.activeElementIsFocused=!0)}},R=e=>{const{scope:r,contextStateRef:o,navigationStateRef:a,focusFirst:i}=e;if(i&&(C(e),D(e),t.focusFirstDataElement(e)),I(e),o.current&&a.current&&r){if(!t.tableKeyboardNavigationTools.getActiveNavDataElement(r,o.current.activeId)){const f=t.getFirstDataCell(a.current.navigationMatrix),c=t.tableKeyboardNavigationTools.getActiveNavDataElement(r,f);f&&c&&(o.current.activeId=f,c.setAttribute("tabIndex","0"),a.current.activeElementIsFocused&&c.focus())}a.current.activeElementIsFocused=!1}},S=(e,r)=>{const{contextStateRef:o}=r;if(e.isDefaultPrevented()||!o.current)return;const a=e.target,i=t.tableKeyboardNavigationTools.getNavigatableId(a);if(i&&i!==o.current.activeId){const n=t.tableKeyboardNavigationTools.getClosestScope(a);if(!n)return;const f=t.tableKeyboardNavigationTools.getActiveNavDataElement(n,o.current.activeId);f&&!e.target.classList.contains("k-table-td")&&!e.target.classList.contains("k-detail-cell")&&f.setAttribute("tabIndex","-1"),a.setAttribute("tabIndex","0"),o.current.activeId=i}},h=(e,r)=>{const{contextStateRef:o,navigationStateRef:a,onNavigationAction:i}=r;if(e.isDefaultPrevented()||!o.current||!a.current)return;let n;if(e.keyCode===s.Keys.esc){n=t.tableKeyboardNavigationTools.getClosestNavigatableElement(e.target),t.tableKeyboardNavigationTools.focusElement({elementForFocus:n,event:e,contextStateRef:o});return}const f=e.target,c=f.className.indexOf("k-checkbox")===-1?f:t.tableKeyboardNavigationTools.getClosestNavigatableElement(f),g=t.tableKeyboardNavigationTools.getNavigatableId(c),y=g==null?void 0:g.endsWith("column"),m=t.tableKeyboardNavigationTools.getNavigatableLevel(c),u=t.tableKeyboardNavigationTools.getClosestScope(c),v=a.current.navigationMatrix,N=e.metaKey||e.ctrlKey,b=t.getCurrentIdIndexes(a,v,g);if(m!==void 0&&u){if(e.keyCode===s.Keys.enter){const l=t.tableKeyboardNavigationTools.getNavigatableElement(c,{level:m+1});if(l){t.tableKeyboardNavigationTools.focusElement({elementForFocus:l,event:e,contextStateRef:o,prevElement:c});return}else{n=t.tableKeyboardNavigationTools.getFocusableElements(c)[0],t.tableKeyboardNavigationTools.focusElement({elementForFocus:n,event:e,contextStateRef:o,prevElement:c});return}}if(e.keyCode===s.Keys.home&&b)if(N)t.focusFirstDataElement({scope:u,navigationStateRef:a,contextStateRef:o},e);else{const l=t.getFirstRowDataCell(a.current.navigationMatrix,b[0]);n=t.tableKeyboardNavigationTools.getActiveNavDataElement(u,l),t.tableKeyboardNavigationTools.focusElement({elementForFocus:n,event:e,contextStateRef:o})}if(e.keyCode===s.Keys.end&&b)if(N){const l=t.getLastDataCell(a.current.navigationMatrix);n=t.tableKeyboardNavigationTools.getActiveNavDataElement(u,l),t.tableKeyboardNavigationTools.focusElement({elementForFocus:n,event:e,contextStateRef:o})}else{const l=t.getLastRowDataCell(a.current.navigationMatrix,b[0]);n=t.tableKeyboardNavigationTools.getActiveNavDataElement(u,l),t.tableKeyboardNavigationTools.focusElement({elementForFocus:n,event:e,contextStateRef:o})}if(e.keyCode===s.Keys.up||e.keyCode===s.Keys.down||e.keyCode===s.Keys.left||e.keyCode===s.Keys.right){const l=e.keyCode===s.Keys.up||e.keyCode===s.Keys.left,d=e.keyCode===s.Keys.up||e.keyCode===s.Keys.down;if(b){const[E,K]=b,[x,p]=d?t.findNextIdByRowIndex(E,K,g,v,l):t.findNextIdByCellIndex(E,K,g,v,l);x&&(n=t.tableKeyboardNavigationTools.getActiveNavDataElement(u,x),t.tableKeyboardNavigationTools.focusElement({elementForFocus:n,event:e,contextStateRef:o,prevElement:c}),a.current.prevNavigationIndexes=p)}}if(N&&e.keyCode===s.Keys.left&&y){i&&i({focusElement:c,event:e,action:"reorderToLeft"}),e.preventDefault();return}if(N&&e.keyCode===s.Keys.right&&y){i&&i({focusElement:c,event:e,action:"reorderToRight"}),e.preventDefault();return}if(e.keyCode===s.Keys.pageUp){i&&i({focusElement:n,event:e,action:"moveToNextPage"}),e.preventDefault();return}if(e.keyCode===s.Keys.pageDown){i&&i({focusElement:n,event:e,action:"moveToPrevPage"}),e.preventDefault();return}i&&i({focusElement:n,event:e})}},I=e=>{const{navigationStateRef:r,scope:o}=e;if(!r.current||!o)return;const a=[],i=t.getHeaderElement(o),n=t.getBodyElement(o),f=t.getNoRecordsElement(o)||{children:[]};if(!i||!n)return;const c=Array.from(i.children),g=Array.from(n.children);[...c,...g,f].forEach((y,m)=>{Array.from(y.children).forEach(u=>{const v=t.getNavigatableId(u);if(!v)return;const N=u.rowSpan||1,b=u.colSpan||1;let l;for(let d=m,E=m+N;d<E;d++){if(a[d]||(a[d]=[]),l===void 0){const K=a[d].findIndex(x=>!x);l=K>-1?K:a[d].length}a[d][l]=v||""}for(let d=l+1,E=l+b;d<E;d++)a[m][d]=v||""})}),r.current.navigationMatrix=a.filter(y=>!!y),r.current.lastHeaderIndex=c.length-1},k={onConstructor:C,onComponentDidMount:D,onGetSnapshotBeforeUpdate:T,onComponentDidUpdate:R,onFocus:S,onKeyDown:h,generateMatrix:I,focusFirstDataElement:t.focusFirstDataElement};exports.tableKeyboardNavigation=k;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@progress/kendo-react-common"),t=require("./utils.js"),p=require("./NavigatableSettings.js"),T=e=>{const{navigatable:l,contextStateRef:n,navigationStateRef:a,idPrefix:r}=e;l&&(n.current={activeId:"",level:0},a.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:r||c.guid(),navigationMatrix:[],lastHeaderIndex:-1})},R=e=>{const{scope:l,contextStateRef:n,navigationStateRef:a}=e;if(n.current&&a.current&&l){x(e);const r=t.getFirstDataCell(a.current.navigationMatrix);if(r){const o=t.tableKeyboardNavigationTools.getActiveNavDataElement(l,r);o&&(n.current.activeId=r,o.setAttribute("tabIndex","0"))}}},k=e=>{const{contextStateRef:l,navigationStateRef:n,document:a}=e;if(l.current&&n.current&&a){const r=c.getActiveElement(a),o=t.tableKeyboardNavigationTools.getNavigatableId(r);o&&o===l.current.activeId&&(n.current.activeElementIsFocused=!0)}},S=e=>{const{scope:l,contextStateRef:n,navigationStateRef:a,focusFirst:r,newEditableRow:o,singleEditRow:d,lastActiveElement:s}=e;if(r&&(T(e),R(e),t.focusFirstDataElement(e)),o&&!d||o&&d&&!s?t.focusFirstEditor(o):o&&d&&s&&s.focus(),x(e),n.current&&a.current&&l){if(!t.tableKeyboardNavigationTools.getActiveNavDataElement(l,n.current.activeId)){const u=t.getFirstDataCell(a.current.navigationMatrix),g=t.tableKeyboardNavigationTools.getActiveNavDataElement(l,u);u&&g&&(n.current.activeId=u,g.setAttribute("tabIndex","0"),a.current.activeElementIsFocused&&g.focus())}a.current.activeElementIsFocused=!1}},A=(e,l)=>{const{contextStateRef:n}=l;if(e.isDefaultPrevented()||!n.current)return;const a=e.target,r=t.tableKeyboardNavigationTools.getNavigatableId(a);if(r&&r!==n.current.activeId){const o=t.tableKeyboardNavigationTools.getClosestScope(a);if(!o)return;const d=t.tableKeyboardNavigationTools.getActiveNavDataElement(o,n.current.activeId);d&&!e.target.classList.contains("k-table-td")&&!e.target.classList.contains("k-detail-cell")&&d.setAttribute("tabIndex","-1"),a.setAttribute("tabIndex","0"),n.current.activeId=r}},h=async(e,l)=>{var N;const{contextStateRef:n,navigationStateRef:a,onNavigationAction:r}=l;if(e.isDefaultPrevented()||!n.current||!a.current)return;let o;if(e.keyCode===c.Keys.esc&&!l.navigatable.mode){o=t.tableKeyboardNavigationTools.getClosestNavigatableElement(e.target),t.tableKeyboardNavigationTools.focusElement({elementForFocus:o,event:e,contextStateRef:n});return}const d=e.target,s=d.className.indexOf("k-checkbox")===-1?d:t.tableKeyboardNavigationTools.getClosestNavigatableElement(d),y=t.tableKeyboardNavigationTools.getNavigatableId(s),u=y==null?void 0:y.endsWith("column"),g=t.tableKeyboardNavigationTools.getNavigatableLevel(s),f=t.tableKeyboardNavigationTools.getClosestScope(s),K=a.current.navigationMatrix,I=e.metaKey||e.ctrlKey,m=t.getCurrentIdIndexes(a,K,y);if(l.navigatable&&l.navigatable.mode===p.NavigatableMode.inline){if(e.keyCode===c.Keys.enter){const i=s.classList.contains("k-grid-remove-command"),b=s.classList.contains("k-grid-cancel-command"),E=t.tableKeyboardNavigationTools.getRowAriaRowIndex(s);if(i){setTimeout(()=>{const v=t.tableKeyboardNavigationTools.getRemoveButtonByAriaRowIndex(E.current)||t.tableKeyboardNavigationTools.getRemoveButtonByAriaRowIndex(E.prev);v&&v.focus()});return}else if(b&&s.parentElement){const v=(N=t.tableKeyboardNavigationTools.getClosestNavigatableElement(s))==null?void 0:N.getAttribute("data-keyboardnavid");setTimeout(()=>{v&&t.tableKeyboardNavigationTools.getTableCellByKeyboardNavId(v).focus()});return}}if(e.keyCode===c.Keys.esc){const i=t.tableKeyboardNavigationTools.getClosestCancelButton(s);i&&i.click();const b=await t.tableKeyboardNavigationTools.getClosestEditButton(s);b&&b.focus();return}}if(g!==void 0&&f){if(e.keyCode===c.Keys.enter){const i=t.tableKeyboardNavigationTools.getNavigatableElement(s,{level:g+1});if(i){t.tableKeyboardNavigationTools.focusElement({elementForFocus:i,event:e,contextStateRef:n,prevElement:s});return}else{o=t.tableKeyboardNavigationTools.getFocusableElements(s)[0],t.tableKeyboardNavigationTools.focusElement({elementForFocus:o,event:e,contextStateRef:n,prevElement:s});return}}if(e.keyCode===c.Keys.home&&m)if(I)t.focusFirstDataElement({scope:f,navigationStateRef:a,contextStateRef:n},e);else{const i=t.getFirstRowDataCell(a.current.navigationMatrix,m[0]);o=t.tableKeyboardNavigationTools.getActiveNavDataElement(f,i),t.tableKeyboardNavigationTools.focusElement({elementForFocus:o,event:e,contextStateRef:n})}if(e.keyCode===c.Keys.end&&m)if(I){const i=t.getLastDataCell(a.current.navigationMatrix);o=t.tableKeyboardNavigationTools.getActiveNavDataElement(f,i),t.tableKeyboardNavigationTools.focusElement({elementForFocus:o,event:e,contextStateRef:n})}else{const i=t.getLastRowDataCell(a.current.navigationMatrix,m[0]);o=t.tableKeyboardNavigationTools.getActiveNavDataElement(f,i),t.tableKeyboardNavigationTools.focusElement({elementForFocus:o,event:e,contextStateRef:n})}if(e.keyCode===c.Keys.up||e.keyCode===c.Keys.down||e.keyCode===c.Keys.left||e.keyCode===c.Keys.right){const i=e.keyCode===c.Keys.up||e.keyCode===c.Keys.left,b=e.keyCode===c.Keys.up||e.keyCode===c.Keys.down;if(m){const[E,v]=m,[C,D]=b?t.findNextIdByRowIndex(E,v,y,K,i):t.findNextIdByCellIndex(E,v,y,K,i);C&&(o=t.tableKeyboardNavigationTools.getActiveNavDataElement(f,C),t.tableKeyboardNavigationTools.focusElement({elementForFocus:o,event:e,contextStateRef:n,prevElement:s}),a.current.prevNavigationIndexes=D)}}if(I&&e.keyCode===c.Keys.left&&u){r&&r({focusElement:s,event:e,action:"reorderToLeft"}),e.preventDefault();return}if(I&&e.keyCode===c.Keys.right&&u){r&&r({focusElement:s,event:e,action:"reorderToRight"}),e.preventDefault();return}if(e.keyCode===c.Keys.pageUp){r&&r({focusElement:o,event:e,action:"moveToNextPage"}),e.preventDefault();return}if(e.keyCode===c.Keys.pageDown){r&&r({focusElement:o,event:e,action:"moveToPrevPage"}),e.preventDefault();return}r&&r({focusElement:o,event:e})}},x=e=>{const{navigationStateRef:l,scope:n}=e;if(!l.current||!n)return;const a=[],r=t.getHeaderElement(n),o=t.getBodyElement(n),d=t.getNoRecordsElement(n)||{children:[]};if(!r||!o)return;const s=Array.from(r.children),y=Array.from(o.children);[...s,...y,d].forEach((u,g)=>{Array.from(u.children).forEach(f=>{const K=t.getNavigatableId(f);if(!K)return;const I=f.rowSpan||1,m=f.colSpan||1;let N;for(let i=g,b=g+I;i<b;i++){if(a[i]||(a[i]=[]),N===void 0){const E=a[i].findIndex(v=>!v);N=E>-1?E:a[i].length}a[i][N]=K||""}for(let i=N+1,b=N+m;i<b;i++)a[g][i]=K||""})}),l.current.navigationMatrix=a.filter(u=>!!u),l.current.lastHeaderIndex=s.length-1},w={onConstructor:T,onComponentDidMount:R,onGetSnapshotBeforeUpdate:k,onComponentDidUpdate:S,onFocus:A,onKeyDown:h,generateMatrix:x,focusFirstDataElement:t.focusFirstDataElement};exports.tableKeyboardNavigation=w;