@progress/kendo-vue-data-tools 8.0.3-develop.3 → 8.1.0-develop.1
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/dist/cdn/js/kendo-vue-datatools.js +1 -1
- package/index.d.mts +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -1
- package/index.mjs +103 -100
- package/navigation/NavigatableSettings.d.ts +25 -0
- package/navigation/NavigatableSettings.js +8 -0
- package/navigation/NavigatableSettings.mjs +11 -0
- package/navigation/TableKeyboardNavigation.d.ts +32 -8
- package/navigation/TableKeyboardNavigation.js +1 -1
- package/navigation/TableKeyboardNavigation.mjs +283 -109
- package/navigation/constants.d.ts +2 -2
- package/navigation/constants.js +1 -1
- package/navigation/constants.mjs +17 -17
- package/navigation/utils.d.ts +143 -4
- package/navigation/utils.js +1 -1
- package/navigation/utils.mjs +210 -71
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +10 -10
- package/selection/TableSelection.d.ts +33 -0
- package/selection/TableSelection.js +8 -0
- package/selection/TableSelection.mjs +154 -0
- package/selection/events.d.ts +1 -5
- package/selection/utils.d.ts +3 -6
- package/selection/utils.js +1 -1
- package/selection/utils.mjs +125 -99
package/navigation/utils.d.ts
CHANGED
|
@@ -36,11 +36,39 @@ export declare const getClosestNavigatableElement: (target: HTMLElement) => Elem
|
|
|
36
36
|
/**
|
|
37
37
|
* @hidden
|
|
38
38
|
*/
|
|
39
|
-
export declare const
|
|
39
|
+
export declare const getActiveNavDataElement: (scope: HTMLElement, activeId?: string) => HTMLElement;
|
|
40
40
|
/**
|
|
41
41
|
* @hidden
|
|
42
42
|
*/
|
|
43
43
|
export declare const getClosestScope: (target: HTMLElement) => Element;
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
export declare const getClosestCancelButton: (target: HTMLElement) => Element;
|
|
48
|
+
/**
|
|
49
|
+
* @hidden
|
|
50
|
+
*/
|
|
51
|
+
export declare const getRemoveButtonByAriaRowIndex: (ariaRowIndex: number) => Element;
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
*/
|
|
55
|
+
export declare const getTableCellByKeyboardNavId: (navId: string) => Element;
|
|
56
|
+
/**
|
|
57
|
+
* @hidden
|
|
58
|
+
*/
|
|
59
|
+
export declare const getRowAriaRowIndex: (target: HTMLElement) => any;
|
|
60
|
+
/**
|
|
61
|
+
* @hidden
|
|
62
|
+
*/
|
|
63
|
+
declare function waitForElementToBeVisible(selector: string, parentElement: Element | null, timeout?: number): Promise<boolean | Element>;
|
|
64
|
+
/**
|
|
65
|
+
* @hidden
|
|
66
|
+
*/
|
|
67
|
+
export declare const getClosestEditButton: (target: HTMLElement) => Promise<boolean | Element>;
|
|
68
|
+
/**
|
|
69
|
+
* @hidden
|
|
70
|
+
*/
|
|
71
|
+
export declare const getParentCell: (target: HTMLElement) => Element;
|
|
44
72
|
/**
|
|
45
73
|
* @hidden
|
|
46
74
|
*/
|
|
@@ -49,6 +77,22 @@ export declare const getHeaderElement: (scope: HTMLElement) => Element;
|
|
|
49
77
|
* @hidden
|
|
50
78
|
*/
|
|
51
79
|
export declare const getBodyElement: (scope: HTMLElement) => Element;
|
|
80
|
+
/**
|
|
81
|
+
* @hidden
|
|
82
|
+
*/
|
|
83
|
+
export declare const getNoRecordsElement: (scope: HTMLElement) => Element;
|
|
84
|
+
/**
|
|
85
|
+
* @hidden
|
|
86
|
+
*/
|
|
87
|
+
export declare const focusFirstEditor: (newEditableRow: Element) => void;
|
|
88
|
+
/**
|
|
89
|
+
* @hidden
|
|
90
|
+
*/
|
|
91
|
+
export declare const focusFirstDataElement: (options: {
|
|
92
|
+
scope?: HTMLElement;
|
|
93
|
+
kbContext: TableKeyboardNavigationContextType;
|
|
94
|
+
navigation: TableKeyboardNavigationStateType;
|
|
95
|
+
}, event?: any) => void;
|
|
52
96
|
/**
|
|
53
97
|
* @hidden
|
|
54
98
|
*/
|
|
@@ -73,7 +117,7 @@ export declare const filterNavigatableElements: (options?: {
|
|
|
73
117
|
export declare const focusElement: (options: {
|
|
74
118
|
elementForFocus: HTMLElement;
|
|
75
119
|
prevElement?: HTMLElement;
|
|
76
|
-
kbContext
|
|
120
|
+
kbContext: TableKeyboardNavigationContextType;
|
|
77
121
|
event: any;
|
|
78
122
|
}) => void;
|
|
79
123
|
/**
|
|
@@ -106,14 +150,82 @@ export declare const findNextIdByCellIndex: (rowIndex: number, initialCellIndex:
|
|
|
106
150
|
* @hidden
|
|
107
151
|
*/
|
|
108
152
|
export declare const findId: (navigationMatrix: string[][], cellId?: string) => number[] | undefined;
|
|
153
|
+
/**
|
|
154
|
+
* @hidden
|
|
155
|
+
*/
|
|
156
|
+
export declare const getPrevEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => {
|
|
157
|
+
prevCell: Element;
|
|
158
|
+
elementToFocus: string;
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* @hidden
|
|
162
|
+
*/
|
|
163
|
+
export declare const getNextEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => {
|
|
164
|
+
nextCell: Element;
|
|
165
|
+
elementToFocus: string;
|
|
166
|
+
};
|
|
109
167
|
/**
|
|
110
168
|
* @hidden
|
|
111
169
|
*/
|
|
112
170
|
export declare const getNextNavigationIndex: (navigation?: TableKeyboardNavigationStateType) => number;
|
|
171
|
+
/**
|
|
172
|
+
* @hidden
|
|
173
|
+
*/
|
|
174
|
+
export declare const getFirstDataCell: (navigationMatrix: string[][]) => string;
|
|
175
|
+
/**
|
|
176
|
+
* @hidden
|
|
177
|
+
*/
|
|
178
|
+
export declare const getLastDataCell: (navigationMatrix: string[][]) => string;
|
|
179
|
+
/**
|
|
180
|
+
* @hidden
|
|
181
|
+
*/
|
|
182
|
+
export declare const getFirstRowDataCell: (navigationMatrix: string[][], rowIndex: number) => string;
|
|
183
|
+
/**
|
|
184
|
+
* @hidden
|
|
185
|
+
*/
|
|
186
|
+
export declare const getLastRowDataCell: (navigationMatrix: string[][], rowIndex: number) => string;
|
|
113
187
|
/**
|
|
114
188
|
* @hidden
|
|
115
189
|
*/
|
|
116
190
|
export declare const getFilterColumnId: (columnId: string) => string;
|
|
191
|
+
/**
|
|
192
|
+
* @hidden
|
|
193
|
+
*/
|
|
194
|
+
export declare const getCurrentIdIndexes: (navigation: TableKeyboardNavigationStateType | undefined, matrix: string[][], elementId: string | undefined) => number[] | undefined;
|
|
195
|
+
/**
|
|
196
|
+
* @hidden
|
|
197
|
+
*/
|
|
198
|
+
export declare const getClosestCellNavId: (element: HTMLElement) => string;
|
|
199
|
+
/**
|
|
200
|
+
* Gets the parent stacked cell wrapper element.
|
|
201
|
+
*
|
|
202
|
+
* @hidden
|
|
203
|
+
*/
|
|
204
|
+
export declare const getStackedCellWrapper: (target: HTMLElement) => HTMLElement | null;
|
|
205
|
+
/**
|
|
206
|
+
* Gets all focusable elements within a stacked cell.
|
|
207
|
+
*
|
|
208
|
+
* @hidden
|
|
209
|
+
*/
|
|
210
|
+
export declare const getStackedCellFocusableElements: (cellElement: HTMLElement) => HTMLElement[];
|
|
211
|
+
/**
|
|
212
|
+
* Finds the next stacked cell sibling in the specified direction.
|
|
213
|
+
*
|
|
214
|
+
* @hidden
|
|
215
|
+
*/
|
|
216
|
+
export declare const getNextStackedCell: (currentCell: HTMLElement, direction: 'next' | 'prev') => HTMLElement | null;
|
|
217
|
+
/**
|
|
218
|
+
* Gets the table cell (td) that contains the stacked cells.
|
|
219
|
+
*
|
|
220
|
+
* @hidden
|
|
221
|
+
*/
|
|
222
|
+
export declare const getStackedCellContainer: (stackedCell: HTMLElement) => HTMLElement | null;
|
|
223
|
+
/**
|
|
224
|
+
* Focuses an element within a stacked cell, or the cell itself if no focusable found.
|
|
225
|
+
*
|
|
226
|
+
* @hidden
|
|
227
|
+
*/
|
|
228
|
+
export declare const focusStackedCellElement: (cellElement: HTMLElement, preferredIndex?: number) => void;
|
|
117
229
|
/**
|
|
118
230
|
* @hidden
|
|
119
231
|
*/
|
|
@@ -125,7 +237,7 @@ export declare const tableKeyboardNavigationTools: {
|
|
|
125
237
|
level: number;
|
|
126
238
|
}) => HTMLElement;
|
|
127
239
|
getClosestNavigatableElement: (target: HTMLElement) => Element;
|
|
128
|
-
|
|
240
|
+
getActiveNavDataElement: (scope: HTMLElement, activeId?: string) => HTMLElement;
|
|
129
241
|
getClosestScope: (target: HTMLElement) => Element;
|
|
130
242
|
getHeaderElement: (scope: HTMLElement) => Element;
|
|
131
243
|
getBodyElement: (scope: HTMLElement) => Element;
|
|
@@ -141,7 +253,7 @@ export declare const tableKeyboardNavigationTools: {
|
|
|
141
253
|
focusElement: (options: {
|
|
142
254
|
elementForFocus: HTMLElement;
|
|
143
255
|
prevElement?: HTMLElement;
|
|
144
|
-
kbContext
|
|
256
|
+
kbContext: TableKeyboardNavigationContextType;
|
|
145
257
|
event: any;
|
|
146
258
|
}) => void;
|
|
147
259
|
getIdPrefix: (navigation?: TableKeyboardNavigationStateType) => string;
|
|
@@ -165,4 +277,31 @@ export declare const tableKeyboardNavigationTools: {
|
|
|
165
277
|
findId: (navigationMatrix: string[][], cellId?: string) => number[] | undefined;
|
|
166
278
|
getNextNavigationIndex: (navigation?: TableKeyboardNavigationStateType) => number;
|
|
167
279
|
getFilterColumnId: (columnId: string) => string;
|
|
280
|
+
focusFirstDataElement: (options: {
|
|
281
|
+
scope?: HTMLElement;
|
|
282
|
+
kbContext: TableKeyboardNavigationContextType;
|
|
283
|
+
navigation: TableKeyboardNavigationStateType;
|
|
284
|
+
}, event?: any) => void;
|
|
285
|
+
getClosestCancelButton: (target: HTMLElement) => Element;
|
|
286
|
+
getClosestEditButton: (target: HTMLElement) => Promise<boolean | Element>;
|
|
287
|
+
getRowAriaRowIndex: (target: HTMLElement) => any;
|
|
288
|
+
getRemoveButtonByAriaRowIndex: (ariaRowIndex: number) => Element;
|
|
289
|
+
getTableCellByKeyboardNavId: (navId: string) => Element;
|
|
290
|
+
getParentCell: (target: HTMLElement) => Element;
|
|
291
|
+
waitForElementToBeVisible: typeof waitForElementToBeVisible;
|
|
292
|
+
getNextEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => {
|
|
293
|
+
nextCell: Element;
|
|
294
|
+
elementToFocus: string;
|
|
295
|
+
};
|
|
296
|
+
getPrevEditableCell: (currentIdIndexes: number[], columns: any[], elementId: string | undefined, matrix: string[][]) => {
|
|
297
|
+
prevCell: Element;
|
|
298
|
+
elementToFocus: string;
|
|
299
|
+
};
|
|
300
|
+
getClosestCellNavId: (element: HTMLElement) => string;
|
|
301
|
+
getStackedCellWrapper: (target: HTMLElement) => HTMLElement | null;
|
|
302
|
+
getStackedCellFocusableElements: (cellElement: HTMLElement) => HTMLElement[];
|
|
303
|
+
getNextStackedCell: (currentCell: HTMLElement, direction: 'next' | 'prev') => HTMLElement | null;
|
|
304
|
+
getStackedCellContainer: (stackedCell: HTMLElement) => HTMLElement | null;
|
|
305
|
+
focusStackedCellElement: (cellElement: HTMLElement, preferredIndex?: number) => void;
|
|
168
306
|
};
|
|
307
|
+
export {};
|
package/navigation/utils.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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@progress/kendo-vue-common"),a=require("./constants.js"),S=(e,t,n="cell")=>`${t}_${e}_${n}`,x=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}']`),N=e=>e.parentElement&&e.parentElement.closest(`[${a.KEYBOARD_NAV_DATA_LEVEL}]`),C=(e,t)=>e.querySelector(`[${a.KEYBOARD_NAV_DATA_ID}='${t}']`),k=e=>e.parentElement&&e.parentElement.closest(`[${a.KEYBOARD_NAV_DATA_SCOPE}]`),T=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)},w=e=>document.querySelector(`[aria-rowindex="${e}"] .k-grid-remove-command`),u=e=>document.querySelector(`[data-keyboardnavid="${e}"]`),L=e=>{var l,r;const t=(l=e==null?void 0:e.parentElement)==null?void 0:l.closest(".k-table-row");let n;return(r=t==null?void 0:t.parentElement)==null||r.childNodes.forEach(o=>{if(t===o){const s=o.previousSibling;n={current:t.getAttribute("aria-rowindex"),prev:s==null?void 0:s.getAttribute("aria-rowindex")}}}),n};async function R(e,t,n=5e3){const l=Date.now();if(t)for(;Date.now()-l<n;){const r=t.querySelector(e);if(r)return r;await new Promise(o=>setTimeout(o,20))}return!1}const p=async e=>{var l;const t=((l=e==null?void 0:e.parentElement)==null?void 0:l.closest(".k-grid-edit-row"))||null;return await R("."+a.KEYBOARD_NAV_EDIT_BUTTON_CLASS,t)},F=e=>(e==null?void 0:e.closest(".k-table-td"))||null,O=e=>e.querySelector(`[${a.KEYBOARD_NAV_DATA_HEADER}]`),V=e=>e.querySelector(`[${a.KEYBOARD_NAV_DATA_BODY}]`),Q=e=>e.querySelector(".k-grid-norecords"),h=(e,t)=>{const{scope:n,navigation:l,kbContext:r}=e;if(!l||!n)return;const o=j(l.navigationMatrix),s=C(n,o);_({elementForFocus:s,kbContext:r,event:t})},I=(e,t={focusable:!1})=>{const n=t.focusable?E.FOCUSABLE_ELEMENTS:E.TABBABLE_ELEMENTS;return Array.from(e.querySelectorAll(n.join(",")))},$=(e,t={level:0})=>{if(!e)return[];const n=E.FOCUSABLE_ELEMENTS.map(l=>l+`[${a.KEYBOARD_NAV_DATA_LEVEL}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(n))},K=(e={level:0})=>{const t=E.FOCUSABLE_ELEMENTS.map(n=>n+`[${a.KEYBOARD_NAV_DATA_LEVEL}='${e.level}']`).join(",");return n=>n.matches(t)},_=e=>{const{elementForFocus:t,event:n,kbContext:l,prevElement:r}=e;if(l&&t&&t.focus){n==null||n.preventDefault();const o=t.querySelector(".k-checkbox-wrap .k-checkbox");o!=null&&o.focus?o.focus():t.focus(),A(t)&&(t.setAttribute("tabIndex","0"),l.activeId=b(t)),r&&A(r)&&r.setAttribute("tabIndex","-1")}},q=e=>e?e.idPrefix:"",Y=(e,t,n,l,r)=>{if(!n)return[];let o=e+(r?-1:1);for(;o>=0&&o<l.length;){const s=l[o][t];if(s!==n)return[s,[o,t]];o=o+(r?-1:1)}return[]},d=(e,t,n,l,r)=>{if(!n)return[];let o=t+(r?-1:1);for(;o>=0&&l[e]&&o<l[e].length;){const s=l[e][o];if(s!==n)return[s,[e,o]];o=o+(r?-1:1)}return[]},f=(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]}},v=(e,t,n)=>{let l;do if(e=e+1,l=t[n-e],l!=null&&l.editable)break;while(n-e>=0);return l},P=(e,t,n,l)=>{var m;let r;const[o,s]=e;let i;const c=0,g=t.length;return i=v(c,t,s),i?r=d(o,i.ariaColumnIndex,n,l,!0):(i=v(c,t,g),r=d(o-1,i.ariaColumnIndex,n,l,!0)),{prevCell:(r==null?void 0:r[0])&&u(r[0]),elementToFocus:(r==null?void 0:r[0])&&((m=u(r[0]))==null?void 0:m.getAttribute("role"))}},B=(e,t,n)=>{let l;do if(e=e+1,l=t[n+e],l!=null&&l.editable)break;while(n+e-1<t.length);return l},U=(e,t,n,l)=>{var o;let r;if(e){const[s,i]=e;let c,g=0;c=B(g,t,i),c?r=d(s,c.ariaColumnIndex,n,l,!0):(g=-1,c=B(g,t,0),r=d(s+1,c.ariaColumnIndex,n,l,!0))}return{nextCell:(r==null?void 0:r[0])&&u(r[0]),elementToFocus:(r==null?void 0:r[0])&&((o=u(r[0]))==null?void 0:o.getAttribute("role"))}},M=e=>{var t;return(t=e==null?void 0:e.navigationMatrix.length)!=null?t:0},j=e=>e.flat().find(t=>t.endsWith("cell")),Z=e=>e.flat().reverse().find(t=>t.endsWith("cell")),ee=(e,t)=>e[t][0],te=(e,t)=>Array.from(e[t]).reverse()[0],W=e=>e?`${e}${a.KEYBOARD_NAV_FILTER_COL_SUFFIX}`:"",ne=(e,t,n)=>{let l;if(e!=null&&e.prevNavigationIndexes){const[r,o]=e.prevNavigationIndexes,s=t[r];(s==null?void 0:s[o])===n?l=e.prevNavigationIndexes:l=f(t,n)}else l=f(t,n);return l},H=e=>{var t;return((t=N(e))==null?void 0:t.getAttribute("data-keyboardnavid"))||e.getAttribute("data-keyboardnavid")},X=e=>e.closest(".k-grid-stack-cell"),D=e=>I(e,{focusable:!0}),z=(e,t)=>{var o;const n=e.closest(".k-table-td");if(!n)return null;const l=Array.from(n.querySelectorAll(".k-grid-stack-cell")),r=l.indexOf(e);return r===-1?null:t==="next"?r<l.length-1?l[r+1]:l[0]:r>0?l[r-1]:(o=l.at(-1))!=null?o:null},G=e=>e.closest(".k-table-td, td.k-table-td[tabindex]"),J=(e,t=0)=>{const n=D(e);n.length>0?(n[t]||n[0]).focus():e.focus()},le={generateNavigatableId:S,getNavigatableId:b,getNavigatableLevel:x,getNavigatableElement:y,getClosestNavigatableElement:N,getActiveNavDataElement:C,getClosestScope:k,getHeaderElement:O,getBodyElement:V,getFocusableElements:I,getNavigatableElements:$,filterNavigatableElements:K,focusElement:_,getIdPrefix:q,isNavigatable:A,findNextIdByRowIndex:Y,findNextIdByCellIndex:d,findId:f,getNextNavigationIndex:M,getFilterColumnId:W,focusFirstDataElement:h,getClosestCancelButton:T,getClosestEditButton:p,getRowAriaRowIndex:L,getRemoveButtonByAriaRowIndex:w,getTableCellByKeyboardNavId:u,getParentCell:F,waitForElementToBeVisible:R,getNextEditableCell:U,getPrevEditableCell:P,getClosestCellNavId:H,getStackedCellWrapper:X,getStackedCellFocusableElements:D,getNextStackedCell:z,getStackedCellContainer:G,focusStackedCellElement:J};exports.filterNavigatableElements=K;exports.findId=f;exports.findNextIdByCellIndex=d;exports.findNextIdByRowIndex=Y;exports.focusElement=_;exports.focusFirstDataElement=h;exports.focusStackedCellElement=J;exports.generateNavigatableId=S;exports.getActiveNavDataElement=C;exports.getBodyElement=V;exports.getClosestCancelButton=T;exports.getClosestCellNavId=H;exports.getClosestEditButton=p;exports.getClosestNavigatableElement=N;exports.getClosestScope=k;exports.getCurrentIdIndexes=ne;exports.getFilterColumnId=W;exports.getFirstDataCell=j;exports.getFirstRowDataCell=ee;exports.getFocusableElements=I;exports.getHeaderElement=O;exports.getIdPrefix=q;exports.getLastDataCell=Z;exports.getLastRowDataCell=te;exports.getNavigatableElement=y;exports.getNavigatableElements=$;exports.getNavigatableId=b;exports.getNavigatableLevel=x;exports.getNextEditableCell=U;exports.getNextNavigationIndex=M;exports.getNextStackedCell=z;exports.getNoRecordsElement=Q;exports.getParentCell=F;exports.getPrevEditableCell=P;exports.getRemoveButtonByAriaRowIndex=w;exports.getRowAriaRowIndex=L;exports.getStackedCellContainer=G;exports.getStackedCellFocusableElements=D;exports.getStackedCellWrapper=X;exports.getTableCellByKeyboardNavId=u;exports.isNavigatable=A;exports.tableKeyboardNavigationTools=le;
|
package/navigation/utils.mjs
CHANGED
|
@@ -5,102 +5,241 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import { FOCUSABLE_ELEMENTS as E, TABBABLE_ELEMENTS as v } from "@progress/kendo-vue-common";
|
|
9
|
+
import { KEYBOARD_NAV_EDIT_BUTTON_CLASS as B, KEYBOARD_NAV_CANCEL_BUTTON_CLASS as p, KEYBOARD_NAV_FILTER_COL_SUFFIX as w, KEYBOARD_NAV_DATA_ID as g, KEYBOARD_NAV_DATA_LEVEL as f, KEYBOARD_NAV_DATA_BODY as T, KEYBOARD_NAV_DATA_HEADER as h, KEYBOARD_NAV_DATA_SCOPE as $ } from "./constants.mjs";
|
|
10
|
+
const F = (e, t, r = "cell") => `${t}_${e}_${r}`, R = (e) => {
|
|
10
11
|
if (e)
|
|
11
|
-
return parseInt(e.getAttribute(
|
|
12
|
-
},
|
|
12
|
+
return parseInt(e.getAttribute(f) || "", 10);
|
|
13
|
+
}, m = (e) => {
|
|
13
14
|
if (!e)
|
|
14
15
|
return;
|
|
15
|
-
const t = e.getAttribute(
|
|
16
|
+
const t = e.getAttribute(g);
|
|
16
17
|
return t || void 0;
|
|
17
|
-
},
|
|
18
|
-
|
|
18
|
+
}, A = (e) => e ? !!e.getAttribute(g) : !1, L = (e, t = { level: 0 }) => e.querySelector(`[${f}='${t.level}']`), _ = (e) => e.parentElement && e.parentElement.closest(`[${f}]`), x = (e, t) => e.querySelector(`[${g}='${t}']`), O = (e) => e.parentElement && e.parentElement.closest(`[${$}]`), q = (e) => {
|
|
19
|
+
var r;
|
|
20
|
+
const t = ((r = e == null ? void 0 : e.parentElement) == null ? void 0 : r.closest(".k-grid-edit-row")) || null;
|
|
21
|
+
return t == null ? void 0 : t.querySelector("." + p);
|
|
22
|
+
}, K = (e) => document.querySelector(`[aria-rowindex="${e}"] .k-grid-remove-command`), i = (e) => document.querySelector(`[data-keyboardnavid="${e}"]`), V = (e) => {
|
|
23
|
+
var n, l;
|
|
24
|
+
const t = (n = e == null ? void 0 : e.parentElement) == null ? void 0 : n.closest(".k-table-row");
|
|
25
|
+
let r;
|
|
26
|
+
return (l = t == null ? void 0 : t.parentElement) == null || l.childNodes.forEach((o) => {
|
|
27
|
+
if (t === o) {
|
|
28
|
+
const s = o.previousSibling;
|
|
29
|
+
r = {
|
|
30
|
+
current: t.getAttribute("aria-rowindex"),
|
|
31
|
+
prev: s == null ? void 0 : s.getAttribute("aria-rowindex")
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}), r;
|
|
35
|
+
};
|
|
36
|
+
async function y(e, t, r = 5e3) {
|
|
37
|
+
const n = Date.now();
|
|
38
|
+
if (t)
|
|
39
|
+
for (; Date.now() - n < r; ) {
|
|
40
|
+
const l = t.querySelector(e);
|
|
41
|
+
if (l)
|
|
42
|
+
return l;
|
|
43
|
+
await new Promise((o) => setTimeout(o, 20));
|
|
44
|
+
}
|
|
45
|
+
return !1;
|
|
46
|
+
}
|
|
47
|
+
const Y = async (e) => {
|
|
48
|
+
var n;
|
|
49
|
+
const t = ((n = e == null ? void 0 : e.parentElement) == null ? void 0 : n.closest(".k-grid-edit-row")) || null;
|
|
50
|
+
return await y("." + B, t);
|
|
51
|
+
}, P = (e) => (e == null ? void 0 : e.closest(".k-table-td")) || null, U = (e) => e.querySelector(`[${h}]`), j = (e) => e.querySelector(`[${T}]`), ae = (e) => e.querySelector(".k-grid-norecords"), W = (e, t) => {
|
|
52
|
+
const { scope: r, navigation: n, kbContext: l } = e;
|
|
53
|
+
if (!n || !r)
|
|
54
|
+
return;
|
|
55
|
+
const o = Z(n.navigationMatrix), s = x(r, o);
|
|
56
|
+
S({ elementForFocus: s, kbContext: l, event: t });
|
|
57
|
+
}, D = (e, t = { focusable: !1 }) => {
|
|
58
|
+
const r = t.focusable ? E : v;
|
|
19
59
|
return Array.from(e.querySelectorAll(r.join(",")));
|
|
20
|
-
},
|
|
60
|
+
}, H = (e, t = { level: 0 }) => {
|
|
21
61
|
if (!e)
|
|
22
62
|
return [];
|
|
23
|
-
|
|
63
|
+
const r = E.map((n) => n + `[${f}='${t.level}']`).join(",");
|
|
24
64
|
return Array.from(e.querySelectorAll(r));
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
(r) => r + `[${u}='${e.level}']`
|
|
28
|
-
).join(",");
|
|
65
|
+
}, M = (e = { level: 0 }) => {
|
|
66
|
+
const t = E.map((r) => r + `[${f}='${e.level}']`).join(",");
|
|
29
67
|
return (r) => r.matches(t);
|
|
30
|
-
},
|
|
31
|
-
const { elementForFocus: t, event: r, kbContext: n, prevElement:
|
|
32
|
-
n && t && t.focus
|
|
33
|
-
|
|
68
|
+
}, S = (e) => {
|
|
69
|
+
const { elementForFocus: t, event: r, kbContext: n, prevElement: l } = e;
|
|
70
|
+
if (n && t && t.focus) {
|
|
71
|
+
r == null || r.preventDefault();
|
|
72
|
+
const o = t.querySelector(".k-checkbox-wrap .k-checkbox");
|
|
73
|
+
o != null && o.focus ? o.focus() : t.focus(), A(t) && (t.setAttribute("tabIndex", "0"), n.activeId = m(t)), l && A(l) && l.setAttribute("tabIndex", "-1");
|
|
74
|
+
}
|
|
75
|
+
}, X = (e) => e ? e.idPrefix : "", z = (e, t, r, n, l) => {
|
|
34
76
|
if (!r)
|
|
35
77
|
return [];
|
|
36
|
-
let
|
|
37
|
-
for (;
|
|
38
|
-
const s = n[
|
|
78
|
+
let o = e + (l ? -1 : 1);
|
|
79
|
+
for (; o >= 0 && o < n.length; ) {
|
|
80
|
+
const s = n[o][t];
|
|
39
81
|
if (s !== r)
|
|
40
|
-
return [s, [
|
|
41
|
-
|
|
82
|
+
return [s, [o, t]];
|
|
83
|
+
o = o + (l ? -1 : 1);
|
|
42
84
|
}
|
|
43
85
|
return [];
|
|
44
|
-
},
|
|
86
|
+
}, d = (e, t, r, n, l) => {
|
|
45
87
|
if (!r)
|
|
46
88
|
return [];
|
|
47
|
-
let
|
|
48
|
-
for (;
|
|
49
|
-
const s = n[e][
|
|
89
|
+
let o = t + (l ? -1 : 1);
|
|
90
|
+
for (; o >= 0 && n[e] && o < n[e].length; ) {
|
|
91
|
+
const s = n[e][o];
|
|
50
92
|
if (s !== r)
|
|
51
|
-
return [s, [e,
|
|
52
|
-
|
|
93
|
+
return [s, [e, o]];
|
|
94
|
+
o = o + (l ? -1 : 1);
|
|
53
95
|
}
|
|
54
96
|
return [];
|
|
55
|
-
},
|
|
97
|
+
}, b = (e, t) => {
|
|
56
98
|
if (t) {
|
|
57
99
|
for (let r = 0; r < e.length; r++)
|
|
58
100
|
for (let n = 0; n < e[r].length; n++)
|
|
59
101
|
if (e[r][n] === t)
|
|
60
102
|
return [r, n];
|
|
61
103
|
}
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
104
|
+
}, I = (e, t, r) => {
|
|
105
|
+
let n;
|
|
106
|
+
do
|
|
107
|
+
if (e = e + 1, n = t[r - e], n != null && n.editable)
|
|
108
|
+
break;
|
|
109
|
+
while (r - e >= 0);
|
|
110
|
+
return n;
|
|
111
|
+
}, G = (e, t, r, n) => {
|
|
112
|
+
var N;
|
|
113
|
+
let l;
|
|
114
|
+
const [o, s] = e;
|
|
115
|
+
let u;
|
|
116
|
+
const c = 0, a = t.length;
|
|
117
|
+
return u = I(c, t, s), u ? l = d(o, u.ariaColumnIndex, r, n, !0) : (u = I(c, t, a), l = d(o - 1, u.ariaColumnIndex, r, n, !0)), {
|
|
118
|
+
prevCell: (l == null ? void 0 : l[0]) && i(l[0]),
|
|
119
|
+
elementToFocus: (l == null ? void 0 : l[0]) && ((N = i(l[0])) == null ? void 0 : N.getAttribute("role"))
|
|
120
|
+
};
|
|
121
|
+
}, C = (e, t, r) => {
|
|
122
|
+
let n;
|
|
123
|
+
do
|
|
124
|
+
if (e = e + 1, n = t[r + e], n != null && n.editable)
|
|
125
|
+
break;
|
|
126
|
+
while (r + e - 1 < t.length);
|
|
127
|
+
return n;
|
|
128
|
+
}, J = (e, t, r, n) => {
|
|
129
|
+
var o;
|
|
130
|
+
let l;
|
|
131
|
+
if (e) {
|
|
132
|
+
const [s, u] = e;
|
|
133
|
+
let c, a = 0;
|
|
134
|
+
c = C(a, t, u), c ? l = d(s, c.ariaColumnIndex, r, n, !0) : (a = -1, c = C(a, t, 0), l = d(s + 1, c.ariaColumnIndex, r, n, !0));
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
nextCell: (l == null ? void 0 : l[0]) && i(l[0]),
|
|
138
|
+
elementToFocus: (l == null ? void 0 : l[0]) && ((o = i(l[0])) == null ? void 0 : o.getAttribute("role"))
|
|
139
|
+
};
|
|
140
|
+
}, Q = (e) => {
|
|
141
|
+
var t;
|
|
142
|
+
return (t = e == null ? void 0 : e.navigationMatrix.length) != null ? t : 0;
|
|
143
|
+
}, Z = (e) => e.flat().find((t) => t.endsWith("cell")), ie = (e) => e.flat().reverse().find((t) => t.endsWith("cell")), de = (e, t) => e[t][0], fe = (e, t) => Array.from(e[t]).reverse()[0], ee = (e) => e ? `${e}${w}` : "", Ae = (e, t, r) => {
|
|
144
|
+
let n;
|
|
145
|
+
if (e != null && e.prevNavigationIndexes) {
|
|
146
|
+
const [l, o] = e.prevNavigationIndexes, s = t[l];
|
|
147
|
+
(s == null ? void 0 : s[o]) === r ? n = e.prevNavigationIndexes : n = b(t, r);
|
|
148
|
+
} else
|
|
149
|
+
n = b(t, r);
|
|
150
|
+
return n;
|
|
151
|
+
}, te = (e) => {
|
|
152
|
+
var t;
|
|
153
|
+
return ((t = _(e)) == null ? void 0 : t.getAttribute("data-keyboardnavid")) || e.getAttribute("data-keyboardnavid");
|
|
154
|
+
}, re = (e) => e.closest(".k-grid-stack-cell"), k = (e) => D(e, { focusable: !0 }), ne = (e, t) => {
|
|
155
|
+
var o;
|
|
156
|
+
const r = e.closest(".k-table-td");
|
|
157
|
+
if (!r)
|
|
158
|
+
return null;
|
|
159
|
+
const n = Array.from(r.querySelectorAll(".k-grid-stack-cell")), l = n.indexOf(e);
|
|
160
|
+
return l === -1 ? null : t === "next" ? l < n.length - 1 ? n[l + 1] : n[0] : l > 0 ? n[l - 1] : (o = n.at(-1)) != null ? o : null;
|
|
161
|
+
}, le = (e) => e.closest(".k-table-td, td.k-table-td[tabindex]"), oe = (e, t = 0) => {
|
|
162
|
+
const r = k(e);
|
|
163
|
+
r.length > 0 ? (r[t] || r[0]).focus() : e.focus();
|
|
164
|
+
}, be = {
|
|
165
|
+
generateNavigatableId: F,
|
|
166
|
+
getNavigatableId: m,
|
|
167
|
+
getNavigatableLevel: R,
|
|
168
|
+
getNavigatableElement: L,
|
|
169
|
+
getClosestNavigatableElement: _,
|
|
170
|
+
getActiveNavDataElement: x,
|
|
171
|
+
getClosestScope: O,
|
|
172
|
+
getHeaderElement: U,
|
|
173
|
+
getBodyElement: j,
|
|
174
|
+
getFocusableElements: D,
|
|
175
|
+
getNavigatableElements: H,
|
|
176
|
+
filterNavigatableElements: M,
|
|
177
|
+
focusElement: S,
|
|
178
|
+
getIdPrefix: X,
|
|
179
|
+
isNavigatable: A,
|
|
180
|
+
findNextIdByRowIndex: z,
|
|
181
|
+
findNextIdByCellIndex: d,
|
|
182
|
+
findId: b,
|
|
183
|
+
getNextNavigationIndex: Q,
|
|
184
|
+
getFilterColumnId: ee,
|
|
185
|
+
focusFirstDataElement: W,
|
|
186
|
+
getClosestCancelButton: q,
|
|
187
|
+
getClosestEditButton: Y,
|
|
188
|
+
getRowAriaRowIndex: V,
|
|
189
|
+
getRemoveButtonByAriaRowIndex: K,
|
|
190
|
+
getTableCellByKeyboardNavId: i,
|
|
191
|
+
getParentCell: P,
|
|
192
|
+
waitForElementToBeVisible: y,
|
|
193
|
+
getNextEditableCell: J,
|
|
194
|
+
getPrevEditableCell: G,
|
|
195
|
+
getClosestCellNavId: te,
|
|
196
|
+
getStackedCellWrapper: re,
|
|
197
|
+
getStackedCellFocusableElements: k,
|
|
198
|
+
getNextStackedCell: ne,
|
|
199
|
+
getStackedCellContainer: le,
|
|
200
|
+
focusStackedCellElement: oe
|
|
83
201
|
};
|
|
84
202
|
export {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
203
|
+
M as filterNavigatableElements,
|
|
204
|
+
b as findId,
|
|
205
|
+
d as findNextIdByCellIndex,
|
|
206
|
+
z as findNextIdByRowIndex,
|
|
207
|
+
S as focusElement,
|
|
208
|
+
W as focusFirstDataElement,
|
|
209
|
+
oe as focusStackedCellElement,
|
|
210
|
+
F as generateNavigatableId,
|
|
211
|
+
x as getActiveNavDataElement,
|
|
212
|
+
j as getBodyElement,
|
|
213
|
+
q as getClosestCancelButton,
|
|
214
|
+
te as getClosestCellNavId,
|
|
215
|
+
Y as getClosestEditButton,
|
|
216
|
+
_ as getClosestNavigatableElement,
|
|
217
|
+
O as getClosestScope,
|
|
218
|
+
Ae as getCurrentIdIndexes,
|
|
219
|
+
ee as getFilterColumnId,
|
|
220
|
+
Z as getFirstDataCell,
|
|
221
|
+
de as getFirstRowDataCell,
|
|
222
|
+
D as getFocusableElements,
|
|
223
|
+
U as getHeaderElement,
|
|
224
|
+
X as getIdPrefix,
|
|
225
|
+
ie as getLastDataCell,
|
|
226
|
+
fe as getLastRowDataCell,
|
|
227
|
+
L as getNavigatableElement,
|
|
228
|
+
H as getNavigatableElements,
|
|
229
|
+
m as getNavigatableId,
|
|
230
|
+
R as getNavigatableLevel,
|
|
231
|
+
J as getNextEditableCell,
|
|
232
|
+
Q as getNextNavigationIndex,
|
|
233
|
+
ne as getNextStackedCell,
|
|
234
|
+
ae as getNoRecordsElement,
|
|
235
|
+
P as getParentCell,
|
|
236
|
+
G as getPrevEditableCell,
|
|
237
|
+
K as getRemoveButtonByAriaRowIndex,
|
|
238
|
+
V as getRowAriaRowIndex,
|
|
239
|
+
le as getStackedCellContainer,
|
|
240
|
+
k as getStackedCellFocusableElements,
|
|
241
|
+
re as getStackedCellWrapper,
|
|
242
|
+
i as getTableCellByKeyboardNavId,
|
|
243
|
+
A as isNavigatable,
|
|
244
|
+
be as tableKeyboardNavigationTools
|
|
106
245
|
};
|
package/package-metadata.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 strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-data-tools",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-data-tools",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1773766983,version:"8.1.0-develop.1",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};exports.packageMetadata=e;
|
package/package-metadata.mjs
CHANGED
|
@@ -10,8 +10,8 @@ const e = {
|
|
|
10
10
|
productName: "Kendo UI for Vue",
|
|
11
11
|
productCode: "KENDOUIVUE",
|
|
12
12
|
productCodes: ["KENDOUIVUE"],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: "8.0
|
|
13
|
+
publishDate: 1773766983,
|
|
14
|
+
version: "8.1.0-develop.1",
|
|
15
15
|
licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
|
|
16
16
|
};
|
|
17
17
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-vue-data-tools",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0-develop.1",
|
|
4
4
|
"description": "TODO",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"@progress/kendo-data-query": "^1.7.0",
|
|
28
28
|
"@progress/kendo-licensing": "^1.7.2",
|
|
29
|
-
"@progress/kendo-vue-animation": "8.0
|
|
30
|
-
"@progress/kendo-vue-buttons": "8.0
|
|
31
|
-
"@progress/kendo-vue-common": "8.0
|
|
32
|
-
"@progress/kendo-vue-dateinputs": "8.0
|
|
33
|
-
"@progress/kendo-vue-dropdowns": "8.0
|
|
34
|
-
"@progress/kendo-vue-inputs": "8.0
|
|
35
|
-
"@progress/kendo-vue-intl": "8.0
|
|
36
|
-
"@progress/kendo-vue-popup": "8.0
|
|
29
|
+
"@progress/kendo-vue-animation": "8.1.0-develop.1",
|
|
30
|
+
"@progress/kendo-vue-buttons": "8.1.0-develop.1",
|
|
31
|
+
"@progress/kendo-vue-common": "8.1.0-develop.1",
|
|
32
|
+
"@progress/kendo-vue-dateinputs": "8.1.0-develop.1",
|
|
33
|
+
"@progress/kendo-vue-dropdowns": "8.1.0-develop.1",
|
|
34
|
+
"@progress/kendo-vue-inputs": "8.1.0-develop.1",
|
|
35
|
+
"@progress/kendo-vue-intl": "8.1.0-develop.1",
|
|
36
|
+
"@progress/kendo-vue-popup": "8.1.0-develop.1",
|
|
37
37
|
"@progress/kendo-svg-icons": "^4.4.0",
|
|
38
38
|
"vue": "^3.0.2"
|
|
39
39
|
},
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"package": {
|
|
55
55
|
"productName": "Kendo UI for Vue",
|
|
56
56
|
"productCode": "KENDOUIVUE",
|
|
57
|
-
"publishDate":
|
|
57
|
+
"publishDate": 1773766983,
|
|
58
58
|
"licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
|
|
59
59
|
}
|
|
60
60
|
},
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { PropType } from 'vue';
|
|
9
|
+
import { TableSelectableSettings } from './TableSelectableSettings';
|
|
10
|
+
import { TableDragSelectionReleaseEvent } from './events';
|
|
11
|
+
/**
|
|
12
|
+
* The descriptor used to define the selected state of a data-item.
|
|
13
|
+
*/
|
|
14
|
+
export type SelectDescriptor = {
|
|
15
|
+
[id: string]: boolean | number[];
|
|
16
|
+
};
|
|
17
|
+
/** @hidden */
|
|
18
|
+
export interface TableSelectionProps {
|
|
19
|
+
selectable?: TableSelectableSettings;
|
|
20
|
+
}
|
|
21
|
+
/** @hidden */
|
|
22
|
+
declare const TableSelection: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
23
|
+
selectable: PropType<TableSelectableSettings>;
|
|
24
|
+
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}>[], {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
27
|
+
release: (event: TableDragSelectionReleaseEvent) => true;
|
|
28
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
29
|
+
selectable: PropType<TableSelectableSettings>;
|
|
30
|
+
}>> & Readonly<{
|
|
31
|
+
onRelease?: (event: TableDragSelectionReleaseEvent) => any;
|
|
32
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
33
|
+
export { TableSelection };
|