@progress/kendo-react-data-tools 7.2.4-develop.3 → 7.2.4-develop.4
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/clipboard/clipboard.service.js +8 -0
- package/clipboard/clipboard.service.mjs +27 -0
- package/clipboard/common.js +13 -0
- package/clipboard/common.mjs +64 -0
- package/columnmenu/ColumnMenu.js +8 -0
- package/columnmenu/ColumnMenu.mjs +256 -0
- package/columnmenu/ColumnMenuFilterForm.js +8 -0
- package/columnmenu/ColumnMenuFilterForm.mjs +47 -0
- package/columnmenu/ColumnMenuFilterLogic.js +8 -0
- package/columnmenu/ColumnMenuFilterLogic.mjs +29 -0
- package/columnmenu/ColumnMenuFilters.js +8 -0
- package/columnmenu/ColumnMenuFilters.mjs +98 -0
- package/columnmenu/ColumnMenuItem.js +8 -0
- package/columnmenu/ColumnMenuItem.mjs +26 -0
- package/columnmenu/ColumnMenuOperators.js +8 -0
- package/columnmenu/ColumnMenuOperators.mjs +109 -0
- package/dist/cdn/js/kendo-react-datatools.js +8 -10
- package/drag/ColumnDraggable.js +8 -0
- package/drag/ColumnDraggable.mjs +40 -0
- package/drag/ColumnResize.js +8 -0
- package/drag/ColumnResize.mjs +58 -0
- package/drag/ColumnResizer.js +8 -0
- package/drag/ColumnResizer.mjs +56 -0
- package/drag/CommonDragLogic.js +8 -0
- package/drag/CommonDragLogic.mjs +89 -0
- package/drag/DragClue.js +8 -0
- package/drag/DragClue.mjs +52 -0
- package/drag/DropClue.js +8 -0
- package/drag/DropClue.mjs +43 -0
- package/filter/Expression.js +8 -0
- package/filter/Expression.mjs +113 -0
- package/filter/Filter.js +8 -0
- package/filter/Filter.mjs +84 -0
- package/filter/Group.js +8 -0
- package/filter/Group.mjs +163 -0
- package/filter/filters/BooleanFilter.js +8 -0
- package/filter/filters/BooleanFilter.mjs +43 -0
- package/filter/filters/DateFilter.js +8 -0
- package/filter/filters/DateFilter.mjs +43 -0
- package/filter/filters/EnumFilter.js +8 -0
- package/filter/filters/EnumFilter.mjs +59 -0
- package/filter/filters/NumericFilter.js +8 -0
- package/filter/filters/NumericFilter.mjs +54 -0
- package/filter/filters/TextFilter.js +8 -0
- package/filter/filters/TextFilter.mjs +46 -0
- package/filter/operators.js +8 -0
- package/filter/operators.mjs +114 -0
- package/filteringCells/BooleanFilter.js +8 -0
- package/filteringCells/BooleanFilter.mjs +49 -0
- package/filteringCells/DateFilter.js +8 -0
- package/filteringCells/DateFilter.mjs +22 -0
- package/filteringCells/FilterComponent.js +8 -0
- package/filteringCells/FilterComponent.mjs +81 -0
- package/filteringCells/NumericFilter.js +8 -0
- package/filteringCells/NumericFilter.mjs +22 -0
- package/filteringCells/TextFilter.js +8 -0
- package/filteringCells/TextFilter.mjs +22 -0
- package/header/ColumnProps.js +8 -0
- package/header/ColumnProps.mjs +19 -0
- package/header/FilterRow.js +8 -0
- package/header/FilterRow.mjs +54 -0
- package/header/Header.js +8 -0
- package/header/Header.mjs +36 -0
- package/header/HeaderCell.js +8 -0
- package/header/HeaderCell.mjs +18 -0
- package/header/HeaderRow.js +8 -0
- package/header/HeaderRow.mjs +132 -0
- package/header/HeaderSelectionCell.js +8 -0
- package/header/HeaderSelectionCell.mjs +32 -0
- package/header/HeaderThElement.js +8 -0
- package/header/HeaderThElement.mjs +47 -0
- package/header/SortSettings.js +8 -0
- package/header/SortSettings.mjs +12 -0
- package/header/utils/index.js +8 -0
- package/header/utils/index.mjs +130 -0
- package/index.d.mts +2398 -5
- package/index.d.ts +2398 -32
- package/index.js +8 -10
- package/index.mjs +152 -2987
- package/messages/index.js +8 -0
- package/messages/index.mjs +167 -0
- package/navigation/TableKeyboardNavigation.js +8 -0
- package/navigation/TableKeyboardNavigation.mjs +142 -0
- package/navigation/TableKeyboardNavigationContext.js +8 -0
- package/navigation/TableKeyboardNavigationContext.mjs +14 -0
- package/navigation/constants.js +8 -0
- package/navigation/constants.mjs +43 -0
- package/navigation/hooks.js +8 -0
- package/navigation/hooks.mjs +22 -0
- package/navigation/utils.js +8 -0
- package/navigation/utils.mjs +107 -0
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +19 -0
- package/package.json +9 -9
- package/pager/Pager.js +8 -0
- package/pager/Pager.mjs +234 -0
- package/pager/PagerInput.js +8 -0
- package/pager/PagerInput.mjs +38 -0
- package/pager/PagerNumericButtons.js +8 -0
- package/pager/PagerNumericButtons.mjs +103 -0
- package/pager/PagerPageSizes.js +8 -0
- package/pager/PagerPageSizes.mjs +38 -0
- package/selection/TableSelection.js +8 -0
- package/selection/TableSelection.mjs +123 -0
- package/selection/constants.js +8 -0
- package/selection/constants.mjs +14 -0
- package/selection/utils.js +8 -0
- package/selection/utils.mjs +155 -0
- package/utils/data-operations.js +8 -0
- package/utils/data-operations.mjs +127 -0
- package/utils/group-operations.js +8 -0
- package/utils/group-operations.mjs +32 -0
- package/virtualization/columns.js +8 -0
- package/virtualization/columns.mjs +43 -0
- package/clipboard/clipboard.service.d.ts +0 -17
- package/clipboard/common.d.ts +0 -129
- package/columnmenu/ColumnMenu.d.ts +0 -83
- package/columnmenu/ColumnMenuFilterForm.d.ts +0 -17
- package/columnmenu/ColumnMenuFilterLogic.d.ts +0 -7
- package/columnmenu/ColumnMenuFilters.d.ts +0 -23
- package/columnmenu/ColumnMenuItem.d.ts +0 -15
- package/columnmenu/ColumnMenuOperators.d.ts +0 -69
- package/columnmenu/index.d.ts +0 -10
- package/drag/ColumnDraggable.d.ts +0 -34
- package/drag/ColumnResize.d.ts +0 -36
- package/drag/ColumnResizer.d.ts +0 -32
- package/drag/CommonDragLogic.d.ts +0 -42
- package/drag/DragClue.d.ts +0 -26
- package/drag/DropClue.d.ts +0 -23
- package/filter/Expression.d.ts +0 -50
- package/filter/FieldSettings.d.ts +0 -34
- package/filter/Filter.d.ts +0 -83
- package/filter/Group.d.ts +0 -58
- package/filter/filters/BooleanFilter.d.ts +0 -47
- package/filter/filters/DateFilter.d.ts +0 -30
- package/filter/filters/EnumFilter.d.ts +0 -47
- package/filter/filters/NumericFilter.d.ts +0 -37
- package/filter/filters/TextFilter.d.ts +0 -44
- package/filter/filters/index.d.ts +0 -9
- package/filter/index.d.ts +0 -10
- package/filter/operators.d.ts +0 -77
- package/filteringCells/BooleanFilter.d.ts +0 -12
- package/filteringCells/DateFilter.d.ts +0 -12
- package/filteringCells/FilterCellProps.d.ts +0 -39
- package/filteringCells/FilterComponent.d.ts +0 -21
- package/filteringCells/FilterComponentProps.d.ts +0 -27
- package/filteringCells/FilterOperator.d.ts +0 -17
- package/filteringCells/NumericFilter.d.ts +0 -12
- package/filteringCells/TextFilter.d.ts +0 -12
- package/filteringCells/index.d.ts +0 -12
- package/header/CellProps.d.ts +0 -72
- package/header/ColumnProps.d.ts +0 -157
- package/header/FilterRow.d.ts +0 -29
- package/header/Header.d.ts +0 -22
- package/header/HeaderCell.d.ts +0 -51
- package/header/HeaderRow.d.ts +0 -41
- package/header/HeaderSelectionCell.d.ts +0 -15
- package/header/HeaderThElement.d.ts +0 -26
- package/header/SortSettings.d.ts +0 -30
- package/header/index.d.ts +0 -14
- package/header/utils/index.d.ts +0 -87
- package/messages/index.d.ts +0 -394
- package/navigation/TableKeyboardNavigation.d.ts +0 -72
- package/navigation/TableKeyboardNavigationContext.d.ts +0 -10
- package/navigation/TableKeyboardNavigationContextType.d.ts +0 -11
- package/navigation/TableKeyboardNavigationStateType.d.ts +0 -14
- package/navigation/constants.d.ts +0 -58
- package/navigation/hooks.d.ts +0 -16
- package/navigation/utils.d.ts +0 -149
- package/package-metadata.d.ts +0 -9
- package/pager/Pager.d.ts +0 -208
- package/pager/PagerInput.d.ts +0 -29
- package/pager/PagerNumericButtons.d.ts +0 -32
- package/pager/PagerPageSizes.d.ts +0 -30
- package/selection/TableSelectableSettings.d.ts +0 -35
- package/selection/TableSelection.d.ts +0 -15
- package/selection/constants.d.ts +0 -10
- package/selection/events.d.ts +0 -98
- package/selection/utils.d.ts +0 -70
- package/utils/DataItemWrapper.d.ts +0 -14
- package/utils/data-operations.d.ts +0 -98
- package/utils/group-operations.d.ts +0 -33
- package/virtualization/columns.d.ts +0 -19
- package/virtualization/index.d.ts +0 -5
|
@@ -0,0 +1,109 @@
|
|
|
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
|
+
import { columnMenuFilterContainsOperator as n, columnMenuFilterNotContainsOperator as a, columnMenuFilterEqOperator as t, columnMenuFilterNotEqOperator as e, columnMenuFilterStartsWithOperator as l, columnMenuFilterEndsWithOperator as u, columnMenuFilterIsNullOperator as r, columnMenuFilterIsNotNullOperator as o, columnMenuFilterIsEmptyOperator as p, columnMenuFilterIsNotEmptyOperator as i, columnMenuFilterGteOperator as s, columnMenuFilterGtOperator as c, columnMenuFilterLteOperator as x, columnMenuFilterLtOperator as m, columnMenuFilterAfterOrEqualOperator as O, columnMenuFilterAfterOperator as M, columnMenuFilterBeforeOperator as F, columnMenuFilterBeforeOrEqualOperator as q, columnMenuFilterIsTrue as g } from "../messages/index.mjs";
|
|
10
|
+
const E = [
|
|
11
|
+
{ text: n, operator: "contains" },
|
|
12
|
+
{ text: a, operator: "doesnotcontain" },
|
|
13
|
+
{ text: t, operator: "eq" },
|
|
14
|
+
{ text: e, operator: "neq" },
|
|
15
|
+
{ text: l, operator: "startswith" },
|
|
16
|
+
{ text: u, operator: "endswith" },
|
|
17
|
+
{ text: r, operator: "isnull" },
|
|
18
|
+
{ text: o, operator: "isnotnull" },
|
|
19
|
+
{ text: p, operator: "isempty" },
|
|
20
|
+
{ text: i, operator: "isnotempty" }
|
|
21
|
+
], N = [
|
|
22
|
+
{ text: t, operator: "eq" },
|
|
23
|
+
{ text: e, operator: "neq" },
|
|
24
|
+
{ text: s, operator: "gte" },
|
|
25
|
+
{ text: c, operator: "gt" },
|
|
26
|
+
{ text: x, operator: "lte" },
|
|
27
|
+
{ text: m, operator: "lt" },
|
|
28
|
+
{ text: r, operator: "isnull" },
|
|
29
|
+
{ text: o, operator: "isnotnull" }
|
|
30
|
+
], d = [
|
|
31
|
+
{ text: t, operator: "eq" },
|
|
32
|
+
{ text: e, operator: "neq" },
|
|
33
|
+
{ text: O, operator: "gte" },
|
|
34
|
+
{ text: M, operator: "gt" },
|
|
35
|
+
{ text: F, operator: "lt" },
|
|
36
|
+
{ text: q, operator: "lte" },
|
|
37
|
+
{ text: r, operator: "isnull" },
|
|
38
|
+
{ text: o, operator: "isnotnull" }
|
|
39
|
+
], f = [
|
|
40
|
+
{ text: g, operator: "" }
|
|
41
|
+
];
|
|
42
|
+
class y {
|
|
43
|
+
/**
|
|
44
|
+
* An array containing the operators for the ColumnMenuTextFilter component.
|
|
45
|
+
*
|
|
46
|
+
* The operators are:
|
|
47
|
+
*
|
|
48
|
+
* - { text: 'columnMenu.filterContainsOperator', operator: 'contains' }
|
|
49
|
+
* - { text: 'columnMenu.filterNotContainsOperator', operator: 'doesnotcontain' }
|
|
50
|
+
* - { text: 'columnMenu.filterEqOperator', operator: 'eq' }
|
|
51
|
+
* - { text: 'columnMenu.filterNotEqOperator', operator: 'neq' }
|
|
52
|
+
* - { text: 'columnMenu.filterStartsWithOperator', operator: 'startswith' }
|
|
53
|
+
* - { text: 'columnMenu.filterEndsWithOperator', operator: 'endswith' }
|
|
54
|
+
* - { text: 'columnMenu.filterIsNullOperator', operator: 'isnull' }
|
|
55
|
+
* - { text: 'columnMenu.filterIsNotNullOperator', operator: 'isnotnull' }
|
|
56
|
+
* - { text: 'columnMenu.filterIsEmptyOperator', operator: 'isempty' }
|
|
57
|
+
* - { text: 'columnMenu.filterIsNotEmptyOperator', operator: 'isnotempty' }
|
|
58
|
+
*/
|
|
59
|
+
static get text() {
|
|
60
|
+
return [...E];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* An array containing the operators for the ColumnMenuNumericFilter component.
|
|
64
|
+
*
|
|
65
|
+
* The operators are:
|
|
66
|
+
*
|
|
67
|
+
* - { text: 'columnMenu.filterEqOperator', operator: 'eq' }
|
|
68
|
+
* - { text: 'columnMenu.filterNotEqOperator', operator: 'neq' }
|
|
69
|
+
* - { text: 'columnMenu.filterGteOperator', operator: 'gte' }
|
|
70
|
+
* - { text: 'columnMenu.filterGtOperator', operator: 'gt' }
|
|
71
|
+
* - { text: 'columnMenu.filterLteOperator', operator: 'lte' }
|
|
72
|
+
* - { text: 'columnMenu.filterLtOperator', operator: 'lt' }
|
|
73
|
+
* - { text: 'columnMenu.filterIsNullOperator', operator: 'isnull' }
|
|
74
|
+
* - { text: 'columnMenu.filterIsNotNullOperator', operator: 'isnotnull' }
|
|
75
|
+
*/
|
|
76
|
+
static get numeric() {
|
|
77
|
+
return [...N];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* An array containing the operators for the ColumnMenuDateFilter component.
|
|
81
|
+
*
|
|
82
|
+
* The operators are:
|
|
83
|
+
*
|
|
84
|
+
* - { text: 'columnMenu.filterEqOperator', operator: 'eq' }
|
|
85
|
+
* - { text: 'columnMenu.filterNotEqOperator', operator: 'neq' }
|
|
86
|
+
* - { text: 'columnMenu.filterAfterOrEqualOperator', operator: 'gte' }
|
|
87
|
+
* - { text: 'columnMenu.filterAfterOperator', operator: 'gt' }
|
|
88
|
+
* - { text: 'columnMenu.filterBeforeOperator', operator: 'lt' }
|
|
89
|
+
* - { text: 'columnMenu.filterBeforeOrEqualOperator', operator: 'lte' }
|
|
90
|
+
* - { text: 'columnMenu.filterIsNullOperator', operator: 'isnull' }
|
|
91
|
+
* - { text: 'columnMenu.filterIsNotNullOperator', operator: 'isnotnull' }
|
|
92
|
+
*/
|
|
93
|
+
static get date() {
|
|
94
|
+
return [...d];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* An array containing the operators for the ColumnMenuBooleanFilter component.
|
|
98
|
+
*
|
|
99
|
+
* The operators are:
|
|
100
|
+
*
|
|
101
|
+
* - { text: 'columnMenu.filterIsTrue', operator: '' }
|
|
102
|
+
*/
|
|
103
|
+
static get boolean() {
|
|
104
|
+
return [...f];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export {
|
|
108
|
+
y as ColumnMenuOperators
|
|
109
|
+
};
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
(function(c,ee){typeof exports=="object"&&typeof module!="undefined"?ee(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],ee):(c=typeof globalThis!="undefined"?globalThis:c||self,ee(c.KendoReactDatatools={},c.React,c.PropTypes,c.KendoReactCommon,c.KendoReactButtons,c.KendoReactIntl,c.KendoReactInputs,c.KendoReactDropdowns,c.KendoSvgIcons,c.ReactDOM,c.KendoDataQuery,c.KendoReactDateinputs,c.KendoReactPopup,c.KendoReactAnimation))})(this,function(c,ee,p,m,K,L,Y,H,N,Ye,te,je,cn,un){"use strict";"use client";function Rt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const i=Rt(ee),dn=Rt(Ye),be="pager.info",xe="pager.firstPage",ye="pager.previousPage",Ie="pager.nextPage",Fe="pager.lastPage",Le="pager.itemsPerPage",hn="pager.pageSelection",$="pager.page",X="pager.of",j="pager.totalPages",Ue="pager.pageNumberLabel",pn="pager.pageLabel",Se="pager.ariaKeyshortcuts",gn="pager.ariaLabel",De="pager.pageSizeAriaLabel",Me="pager.mobileSelect",Ne="pager.moreButtonLabel",re="filter.eqOperator",ne="filter.notEqOperator",Oe="filter.isNullOperator",Ae="filter.isNotNullOperator",Bt="filter.isEmptyOperator",Tt="filter.isNotEmptyOperator",zt="filter.startsWithOperator",Pt="filter.containsOperator",_t="filter.notContainsOperator",qt="filter.endsWithOperator",Gt="filter.gteOperator",Ht="filter.gtOperator",$t="filter.lteOperator",Wt="filter.ltOperator",Vt="filter.isTrue",Yt="filter.isFalse",jt="filter.afterOrEqualOperator",Ut="filter.afterOperator",Xt="filter.beforeOperator",Zt="filter.beforeOrEqualOperator",Xe="filter.andLogic",Ze="filter.orLogic",ae="filter.addExpression",se="filter.addGroup",ie="filter.close",Je="filter.groupAriaLabel",Qe="filter.expressionAriaLabel",et="filter.expressionDropdownAriaLabel",tt="filter.expressionOperatorDropdownAriaLabel",rt="filter.enumFilterDropdownAriaLabel",nt="filter.numericFilterAriaLabel",at="filter.textFilterAriaLabel",st="columnMenu.filterClearButton",it="columnMenu.filterSubmitButton",ot="columnMenu.filterTitle",lt="columnMenu.sortAscending",ct="columnMenu.sortDescending",we="columnMenu.filterEqOperator",Ke="columnMenu.filterNotEqOperator",ke="columnMenu.filterIsNullOperator",Re="columnMenu.filterIsNotNullOperator",Jt="columnMenu.filterIsEmptyOperator",Qt="columnMenu.filterIsNotEmptyOperator",er="columnMenu.filterStartsWithOperator",tr="columnMenu.filterContainsOperator",rr="columnMenu.filterNotContainsOperator",nr="columnMenu.filterEndsWithOperator",ar="columnMenu.filterGteOperator",sr="columnMenu.filterGtOperator",ir="columnMenu.filterLteOperator",or="columnMenu.filterLtOperator",lr="columnMenu.filterIsTrue",cr="columnMenu.filterAfterOrEqualOperator",ur="columnMenu.filterAfterOperator",dr="columnMenu.filterBeforeOperator",hr="columnMenu.filterBeforeOrEqualOperator",pr="columnMenu.filterAndLogic",gr="columnMenu.filterOrLogic",ut="sort.ariaLabel",dt="filter.ariaLabel",C={[Le]:"items per page",[hn]:"Select page",[be]:"{0} - {1} of {2} items",[xe]:"Go to the first page",[ye]:"Go to the previous page",[Ie]:"Go to the next page",[Fe]:"Go to the last page",[$]:"Page",[X]:"of",[j]:"{0}",[pn]:"Page",[Se]:"Enter ArrowRight ArrowLeft",[gn]:"Pager",[De]:"Page size",[Me]:"Select",[Ne]:"More pages",[Ue]:"Type a page number",[ut]:"Sortable",[dt]:"Filter",[re]:"Is equal to",[ne]:"Is not equal to",[Oe]:"Is null",[Ae]:"Is not null",[Bt]:"Is empty",[Tt]:"Is not empty",[zt]:"Starts with",[Pt]:"Contains",[_t]:"Does not contain",[qt]:"Ends with",[Gt]:"Is greater than or equal to",[Ht]:"Is greater than",[$t]:"Is less than or equal to",[Wt]:"Is less than",[Vt]:"Is true",[Yt]:"Is false",[jt]:"Is after or equal to",[Ut]:"Is after",[Xt]:"Is before",[Zt]:"Is before or equal to",[Xe]:"And",[Ze]:"Or",[ae]:"Add Expression",[se]:"Add Group",[ie]:"Remove",[Je]:"Filter toolbar",[Qe]:"Filter expression row",[et]:"Filter dropdown",[tt]:"Filter operator dropdown",[rt]:"Select True/False",[nt]:"Enter number",[at]:"Enter text",[st]:"Clear",[it]:"Filter",[ot]:"Filter",[lt]:"Sort Ascending",[ct]:"Sort Descending",[we]:"Is equal to",[Ke]:"Is not equal to",[ke]:"Is null",[Re]:"Is not null",[Jt]:"Is empty",[Qt]:"Is not empty",[er]:"Starts with",[tr]:"Contains",[rr]:"Does not contain",[nr]:"Ends with",[ar]:"Is greater than or equal to",[sr]:"Is greater than",[ir]:"Is less than or equal to",[or]:"Is less than",[lr]:"Is true",[cr]:"Is after or equal to",[ur]:"Is after",[dr]:"Is before",[hr]:"Is before or equal to",[pr]:"And",[gr]:"Or"},fr="...";class fn extends i.Component{constructor(){super(...arguments),this.handlePageChange=(t,r)=>{t.preventDefault(),this.props.pageChange(r,t)},this.handleSelectPageChange=t=>{t.preventDefault(),this.props.pageChange(t.target.value,t)}}render(){const t=L.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(Me):{messageKey:Me,defaultMessage:C[Me]},n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(Ne):{messageKey:Ne,defaultMessage:C[Ne]},s=t.toLanguageString(a.messageKey,a.defaultMessage),o=this.start>1&&this.renderDots(this.start-1,s),l=this.end<this.props.totalPages&&this.renderDots(this.end+1,s),u=this.start>1&&this.renderOptionDots(this.start-1),d=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),h=[];for(let f=this.start;f<=this.end;f++)h.push(f);const g=h.map(f=>i.createElement(K.Button,{className:m.classNames({"k-selected":this.props.currentPage===f}),key:f,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t.toLanguageString(n.messageKey,n.defaultMessage)+" "+f,"aria-current":this.props.currentPage===f?!0:void 0,onClick:b=>this.handlePageChange(b,f)},f)),v=h.map(f=>i.createElement("option",{key:f},f));return i.createElement(i.Fragment,null,i.createElement("select",{style:{width:"5em",margin:"0px 1em",display:this.props.type==="dropdown"?"inline-flex":"none"},className:m.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${m.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":t.toLanguageString(r.messageKey,r.defaultMessage),value:this.props.currentPage,onChange:f=>this.handleSelectPageChange(f)},u,v,d),i.createElement("div",{className:"k-pager-numbers",style:{display:this.props.type==="numbers"?"":"none"}},o,g,l))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const t=this.props.currentPage,r=this.props.buttonCount;if(t>r){const n=t%r;return n===0?t-r+1:t-n+1}return 1}renderDots(t,r){return i.createElement(K.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":r,onClick:n=>this.handlePageChange(n,t)},fr)}renderOptionDots(t){return i.createElement("option",{value:t},fr)}}class mr extends i.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=t=>{this.setState({page:t.target.value}),t.target.value&&this.props.pageChange(t.target.value,t)}}render(){const t=L.provideIntlService(this),r=L.provideLocalizationService(this),n=this.props.messagesMap?this.props.messagesMap($):{messageKey:$,defaultMessage:C[$]},a=this.props.messagesMap?this.props.messagesMap(X):{messageKey:X,defaultMessage:C[X]},s=this.props.messagesMap?this.props.messagesMap(j):{messageKey:j,defaultMessage:C[j]},o=this.props.messagesMap?this.props.messagesMap(j):{messageKey:Ue,defaultMessage:C[Ue]};return i.createElement("span",{className:"k-pager-input"},i.createElement("span",null,r.toLanguageString(n.messageKey,n.defaultMessage)),i.createElement(Y.NumericTextBox,{value:this.props.currentPage!==void 0?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:r.toLanguageString(o.messageKey,o.defaultMessage)}),i.createElement("span",null,`${r.toLanguageString(a.messageKey,a.defaultMessage)} ${t.format(r.toLanguageString(s.messageKey,s.defaultMessage),[this.props.totalPages])}`))}}L.registerForLocalization(mr);class Er extends i.Component{constructor(){super(...arguments),this.pageSizeChange=t=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(t.target.value,10)},t)}}render(){const{value:t,pageSizes:r,pageSize:n,messagesMap:a}=this.props,s=r.slice();t===void 0&&s.filter(u=>u===n).length===0&&s.unshift(n);const o=a?a(Le):{messageKey:Le,defaultMessage:C[Le]},l=a?a(De):{messageKey:De,defaultMessage:C[De]};return i.createElement("span",{className:"k-pager-sizes"},i.createElement(H.DropDownList,{value:t!==void 0?t:n,data:s,onChange:this.pageSizeChange,ariaLabel:L.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),i.createElement("span",null,L.provideLocalizationService(this).toLanguageString(o.messageKey,o.defaultMessage)))}}L.registerForLocalization(Er);const ht={name:"@progress/kendo-react-data-tools",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},vr=600,mn=768;class oe extends i.Component{constructor(t){super(t),this._element=null,this.onPageChange=(r,n)=>{const a={target:this,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,targetEvent:n,...r};this.props.onPageChange&&this.props.onPageChange.call(void 0,a)},this.changePage=(r,n)=>{this.props.onPageChange&&r>0&&r<=this.totalPages&&this.props.onPageChange({target:this,skip:(r-1)*this.props.take,take:this.props.take,syntheticEvent:n,nativeEvent:n.nativeEvent,targetEvent:n})},this.onWindowResize=()=>{const r=this.element;if(!r||!this.props.responsive)return;const n=r.offsetWidth;n<vr?this.setState({showPagerSizes:!1}):n>=vr&&n<mn?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},m.validatePackage(ht),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return this.props.dir==="rtl"}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:t,showPagerInfo:r}=this.state,{skip:n,take:a,total:s,pageSizes:o,size:l,responsive:u,messagesMap:d,pageSizeValue:h}=this.props,g=L.provideLocalizationService(this),v=L.provideIntlService(this),f=Math.floor(n/a)+1,b=this.props.type==="numeric"?i.createElement(fn,{type:u&&!t?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:l}):i.createElement(mr,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:d,size:l}),I=d?d(xe):{messageKey:xe,defaultMessage:C[xe]},x=d?d(ye):{messageKey:ye,defaultMessage:C[ye]},E=d?d(Ie):{messageKey:Ie,defaultMessage:C[Ie]},S=d?d(Fe):{messageKey:Fe,defaultMessage:C[Fe]},A=d?d(be):{messageKey:be,defaultMessage:C[be]},M=d?d(Se):{messageKey:Se,defaultMessage:C[Se]},y=d?d($):{messageKey:$,defaultMessage:C[$]},F=d?d(X):{messageKey:X,defaultMessage:C[X]},D=d?d(j):{messageKey:j,defaultMessage:C[j]},P=`${g.toLanguageString(y.messageKey,y.defaultMessage)} ${v.format(g.toLanguageString(D.messageKey,D.defaultMessage),[f])} ${g.toLanguageString(F.messageKey,F.defaultMessage)} ${v.format(g.toLanguageString(D.messageKey,D.defaultMessage),[this.totalPages])}`;let _,q,W,R;this.props.previousNext&&(_=this.renderButton(1,"k-pager-nav k-pager-first"+(f===1?" k-disabled":""),g.toLanguageString(I.messageKey,I.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?N.caretAltToRightIcon:N.caretAltToLeftIcon,f===1?!0:void 0),q=this.renderButton(f-1,"k-pager-nav"+(f===1?" k-disabled":""),g.toLanguageString(x.messageKey,x.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?N.caretAltRightIcon:N.caretAltLeftIcon,f===1?!0:void 0),W=this.renderButton(f+1,"k-pager-nav"+(f>=this.totalPages?" k-disabled":""),g.toLanguageString(E.messageKey,E.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?N.caretAltLeftIcon:N.caretAltRightIcon,f>=this.totalPages?!0:void 0),R=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(f>=this.totalPages?" k-disabled":""),g.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?N.caretAltToLeftIcon:N.caretAltToRightIcon,f>=this.totalPages?!0:void 0));const k=o&&i.createElement(Er,{pageChange:this.onPageChange,pageSize:a,pageSizes:o,value:h,messagesMap:d,size:l}),U=this.props.info&&i.createElement("span",{className:"k-pager-info"},v.format(g.toLanguageString(A.messageKey,A.defaultMessage),[Math.min(n+1,s),Math.min(n+a,s),s]));return i.createElement("div",{className:m.classNames("k-pager",{[`k-pager-${m.kendoThemeMaps.sizeMap[l]||l}`]:l},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":g.toLanguageString(M.messageKey,M.defaultMessage),"aria-label":P,ref:Q=>this._element=Q},i.createElement("div",{className:m.classNames("k-pager-numbers-wrap")},_,q,b,W,R),u?t&&k:k,u?r&&U:U)}renderButton(t,r,n,a,s,o){return i.createElement(K.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:r,icon:a,svgIcon:s,title:n,role:"button","aria-disabled":o,onClick:l=>{l.preventDefault(),this.changePage(t,l)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}}oe.propTypes={className:p.string,style:p.object,total:p.number.isRequired,skip:p.number.isRequired,take:p.number.isRequired,buttonCount:p.number,info:p.bool,type:p.oneOf(["numeric","input"]),pageSizes:p.arrayOf(p.oneOfType([p.string,p.number])),previousNext:p.bool,onPageChange:p.func,messagesMap:p.func,size:p.oneOf([null,"small","medium","large"]),dir:p.string},oe.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"},L.registerForIntl(oe),L.registerForLocalization(oe);const le=e=>class extends i.Component{constructor(){super(...arguments),this.filterChange=n=>{this.props.onFilterChange&&this.props.onFilterChange(n)},this.inputChange=n=>{const a=n.target.value,{filter:s=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?s.map(d=>d.field===o?{...l,value:a}:d):[...s,{...e.emptyFilter,value:a,field:o}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.operatorChange=n=>{const{operator:a}=n.target.value,{filter:s=[],field:o=""}=this.props,l=this.findCellFilter(),u=l?s.map(d=>d.field===o?{...l,operator:a}:d):[...s,{...e.emptyFilter,field:o,operator:a}];this.filterChange({filter:u,field:o,syntheticEvent:n.syntheticEvent})},this.clearButtonClick=n=>{const{filter:a=[],field:s=""}=this.props;this.filterChange({filter:a.filter(o=>o.field!==s),field:s,syntheticEvent:n})},this.findCellFilter=()=>{const{filter:n=[],field:a}=this.props;return n.find(s=>s.field===a)}}render(){const{clearButtonTitle:n="",operators:a=[]}=this.props,s=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:o,value:l}=s,u={ariaLabel:"filter",value:a.find(d=>d.operator===o)||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:N.filterIcon,data:a,textField:"text",popupSettings:{width:""},components:this.props.components};return i.createElement("div",{className:"k-filtercell"},i.createElement("span",null,e.inputComponent({value:l,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),i.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(u,this.props)," ",i.createElement(K.Button,{className:m.classNames({["k-clear-button-visible"]:!(l===null||l==="")||o}),title:n,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:N.filterClearIcon,disabled:!(!(l===null||l==="")||o)}))))}},Cr="eq",En={emptyFilter:{operator:Cr,value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find(s=>s.field===n);return i.createElement(H.DropDownList,{...e,value:e.data.find(s=>s.operator===(a?a.value:"")),onChange:s=>{if(!t.onFilterChange)return;const o=s.target.value.operator;if(o===""){a&&t.onFilterChange.call(void 0,{filter:r.filter(u=>u.field!==a.field),field:n,syntheticEvent:s.syntheticEvent});return}let l=a?r.map(u=>u.field===n?{...a,value:o}:u):[...r,{value:o,field:n,operator:Cr}];t.onFilterChange.call(void 0,{filter:l,field:n,syntheticEvent:s.syntheticEvent})}})}};class vn extends le(En){}const Cn={inputComponent:e=>i.createElement(je.DatePicker,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class bn extends le(Cn){}const xn={inputComponent:e=>i.createElement(Y.NumericTextBox,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};class yn extends le(xn){}const In={inputComponent:e=>i.createElement(Y.Input,{...e}),operatorComponent:e=>i.createElement(H.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};class Fn extends le(In){}const br={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},Z="data-keyboardnavlevel",pt="data-keyboardnavscope",gt="data-keyboardnavheader",ft="data-keyboardnavbody",ce="data-keyboardnavid",Ln="data-keyboardnavzone",xr="_filter",yr=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],Be=[...yr,"[tabindex]"],Ir=[...yr,"[tabindex]"].map(e=>e+':not([tabindex="-1"])'),Sn={[pt]:!0},Fr={[gt]:!0},Dn={[ft]:!0},mt=i.createContext(void 0);mt.displayName="KendoReactTableKeyboardNavigationContext";const Lr=(e,t)=>{const r=i.useContext(mt);return!r||!e||t===!1?{}:{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[Z]:r.level,[ce]:e}},Te=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:s,columnId:o,onKeyDown:l,navigatable:u,ariaColumnIndex:d,ariaLabel:h,role:g,ariaSelected:v}=e,f=Lr(o,u);return i.createElement("th",{"aria-sort":t,"aria-label":h,"aria-colindex":d,"aria-selected":v,colSpan:r,rowSpan:n,className:a,style:s,onKeyDown:l,role:g,...f},e.children)};Te.displayName="KendoReactHeaderThElement";const Sr=(e,t,r="cell")=>`${t}_${e}_${r}`,Mn=e=>{if(e)return parseInt(e.getAttribute(Z)||"",10)},Et=e=>{if(!e)return;const t=e.getAttribute(ce);return t||void 0},vt=e=>e?!!e.getAttribute(ce):!1,Nn=(e,t={level:0})=>e.querySelector(`[${Z}='${t.level}']`),On=e=>e.parentElement&&e.parentElement.closest(`[${Z}]`),An=(e,t)=>e.querySelector(`[${ce}='${t}']`),wn=e=>e.parentElement&&e.parentElement.closest(`[${pt}]`),Dr=e=>e.querySelector(`[${gt}]`),Mr=e=>e.querySelector(`[${ft}]`),Kn=(e,t={focusable:!1})=>{let r=t.focusable?Be:Ir;return Array.from(e.querySelectorAll(r.join(",")))},kn=(e,t={level:0})=>{if(!e)return[];let r=Be.map(n=>n+`[${Z}='${t.level}']`).join(",");return Array.from(e.querySelectorAll(r))},Rn=(e={level:0})=>{let t=Be.map(r=>r+`[${Z}='${e.level}']`).join(",");return r=>r.matches(t)},Bn=e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),vt(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=Et(t)),a&&vt(a)&&a.setAttribute("tabIndex","-1"))},Tn=e=>e.current?e.current.idPrefix:"",Nr=(e,t,r,n,a)=>{if(!r)return[];let s=e+(a?-1:1);for(;s>=0&&s<n.length;){const o=n[s][t];if(o!==r)return[o,[s,t]];s=s+(a?-1:1)}return[]},Or=(e,t,r,n,a)=>{if(!r)return[];let s=t+(a?-1:1);for(;s>=0&&s<n[e].length;){const o=n[e][s];if(o!==r)return[o,[e,s]];s=s+(a?-1:1)}return[]},Ct=(e,t)=>{if(t){for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)if(e[r][n]===t)return[r,n]}},zn=e=>e.current?e.current.navigationMatrix.length:0,Ar=e=>e?`${e}${xr}`:"",O={generateNavigatableId:Sr,getNavigatableId:Et,getNavigatableLevel:Mn,getNavigatableElement:Nn,getClosestNavigatableElement:On,getActiveElement:An,getClosestScope:wn,getHeaderElement:Dr,getBodyElement:Mr,getFocusableElements:Kn,getNavigatableElements:kn,filterNavigatableElements:Rn,focusElement:Bn,getIdPrefix:Tn,isNavigatable:vt,findNextIdByRowIndex:Nr,findNextIdByCellIndex:Or,findId:Ct,getNextNavigationIndex:zn,getFilterColumnId:Ar},wr="k-table-row k-filter-row",Pn=(e,t,r)=>{let n=`${r?"k-grid-header-sticky":""}`;return e.some(a=>a.field===t)&&(n+=" k-sorted"),n},_n=function(e){const{columns:t,filter:r,filterChange:n,sort:a=[],ariaRowIndex:s}=e,o=L.useLocalization();return i.createElement("tr",{className:wr,"aria-rowindex":s,role:"row"},t.map((l,u)=>{const d=l.locked!==void 0?{left:l.left,right:l.right,borderRightWidth:l.rightBorder?"1px":""}:{},h=l.filterCell||l.filter;return i.createElement(Te,{columnId:Ar(l.id),navigatable:l.navigatable,style:d,key:u,ariaColumnIndex:l.ariaColumnIndex,ariaLabel:h?o.toLanguageString(dt,C[dt]):void 0,className:m.classNames("k-table-th k-header",Pn(a,l.field,l.locked))},h&&i.createElement(h,{field:l.field,filter:r,onFilterChange:n}))}))};function Kr(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const bt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce((r,n)=>bt(n)+r,0)),t};function qn(e){const t=[[]];let r=0;for(let s=e.length-1;s>=0;s--)r=Math.max(r,e[s].depth),e[s].colSpan=e[s].colSpan||1,e[s].parentIndex!==-1&&(e[e[s].parentIndex].colSpan=(e[e[s].parentIndex].colSpan||0)+e[s].colSpan);const n=[];let a=1;return e.forEach((s,o)=>{t[s.depth]=t[s.depth]||[];let l=!1;t[s.depth].length===0&&(a<=1?a=1+(s.children.length>0?0:r-s.depth):(a--,l=!0)),s.rowSpan=1+(s.children.length>0?0:r-s.depth),s.kFirst=l,s.index=t[s.depth].length,t[s.depth].push(o),s.ariaColumnIndex=n[s.depth]?n[s.depth]+1:1;for(let u=s.depth;u<s.depth+s.rowSpan;u++)n[u]=(n[u]||0)+s.colSpan}),kr(t,e),Rr(t,e),t}function kr(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach(s=>{if(s.locked&&(!s.left||r))if(s.left=n[s.depth],a=bt(s),s.children.length===0)for(let o=s.depth;o<n.length;o++)n[o]+=a;else n[s.depth]+=a})}function Rr(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let s=t.length-1;s>=0;s--){const o=t[s];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=bt(o),o.children.length===0)for(let u=o.depth;u<a.length;u++)a[u]+=n;else a[o.depth]+=n;const l=Kr(t,s);o.rightBorder=!(l&&l.locked)}}}function Br(e,t,r=0){let n=[];if(!e||!e.length)return[];e.forEach(s=>{const o=Br(s.children||[],t,r+1);n.push(Object.assign({},{depth:r},br,s,{id:s.id?s.id:Sr(`${t.prevId++}`,t.idPrefix,"column"),declarationIndex:n.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))});const a=(s,o)=>s.orderIndex===o.orderIndex?s.declarationIndex-o.declarationIndex:(s.orderIndex||0)-(o.orderIndex||0);if(n.sort(a),r===0){let s=[];const o=(l,u)=>l.forEach(d=>{d.parentIndex=u,o(d.children,s.push(d)-1)});return o(n,-1),s}return n}function Tr(e){return!!(e&&getComputedStyle(e).direction==="rtl")}function xt(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const s=o=>{const l=o.getBoundingClientRect();return r.x>l.left&&r.x<l.left+l.width&&r.y>l.top&&r.y<l.top+l.height};n=Array.from(t.children).find(s)||null}const a=t.children;for(let s=0;s<a.length;s++)if(a[s]===n)return s;return-1}class Gn extends i.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:t}=this.props;t&&t.resizable&&t.setIsRtl(Tr(this.element))}render(){return i.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:t=>this.element=t,...Fr},this.props.headerRow,this.props.filterRow)}}function zr(e){const t=e.onClick?{onClick:e.onClick}:{},r=i.createElement("span",{className:"k-link",...t},i.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const Pr=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);class _r extends i.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=t=>{this.isDragged=!0;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!1)},this.onRelease=t=>{if(!this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.resize(t.event,r,!0),this.isDragged=!1},this.onDoubleClick=t=>{if(this.isDragged)return;const r=this.draggable&&this.draggable.element;r&&this.props.autofit&&this.props.autofit(t,r)}}render(){return i.createElement(m.Draggable,{onPress:t=>{t.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}}class Hn extends i.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.pressHandler&&this.props.pressHandler(t.event,r)},this.onDrag=t=>{const r=this.draggable&&this.draggable.element;r&&this.props.dragHandler&&this.props.dragHandler(t.event,r)},this.onRelease=t=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(t.event)}}render(){return i.createElement(m.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>{this.draggable=t}},i.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}const $n={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},Wn={none:"none",asc:"ascending",desc:"descending"};class qr extends i.Component{constructor(){super(...arguments),this.cellClick=(t,r)=>{if(t.preventDefault(),!this.props.sortChange)return;const{allowUnsort:n,mode:a}=Pr(this.props.sortable||!1,r.sortable||!1),s=(this.props.sort||[]).filter(u=>u.field===r.field)[0],o=$n[n][s&&s.dir||""],l=a==="single"?[]:(this.props.sort||[]).filter(u=>u.field!==r.field);o!==""&&r.field&&l.push({field:r.field,dir:o}),this.props.sortChange(t,l,r.field)},this.cellKeyDown=(t,r)=>{t.isDefaultPrevented()||t.keyCode===m.Keys.enter&&this.cellClick(t,r)},this.cells=t=>t.map((r,n)=>{const a=this.props.columns[r],{columnResize:s}=this.props,o=s&&s.resizable&&a.resizable,l=this.props.sortable&&a.sortable,u=this.props.sort?this.props.sort.findIndex(E=>E.field===a.field):-1,d=u>=0&&this.props.sort[u].dir||"none",h={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:a.field},g={field:a.field,onClick:l&&(E=>this.cellClick(E,a))||void 0,selectionChange:this.props.selectionChange,title:a.title,selectionValue:a.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(u),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:h},v=a.columnMenu||this.props.columnMenu,f=m.classNames("k-table-th",{"k-first":a.kFirst,"k-filterable":!!v,"k-header":!0,"k-grid-header-sticky":a.locked,"k-sorted":this.props.sort&&this.props.sort.some(E=>E.field===a.field)},a.headerClassName),b=a.locked!==void 0?{left:a.left,right:a.right,borderRightWidth:a.rightBorder?"1px":""}:{},I=L.provideLocalizationService(this).toLanguageString(ut,C[ut]);let x=a.isAccessible?{ariaSort:l?Wn[d]:void 0,role:"columnheader",ariaColumnIndex:a.ariaColumnIndex,ariaSelected:!1,ariaDescription:l?I:""}:{role:"presentation"};return i.createElement(Te,{key:n,colSpan:a.colSpan,rowSpan:a.rowSpan,className:f,style:b,columnId:a.id,navigatable:a.navigatable,onKeyDown:l&&(E=>this.cellKeyDown(E,a))||void 0,...x},a.headerCell&&i.createElement(a.headerCell,{...g}),!a.headerCell&&i.createElement("span",{className:"k-cell-inner"},i.createElement(zr,{...g}),v&&i.createElement(v,{...h})),s&&o&&i.createElement(_r,{key:"ColumnResizer",resize:(E,S,A)=>s.dragHandler(E,a,S,A)}))})}sortIcon(t){if(!this.props.sort||t<0)return null;const r=this.props.sort[t].dir;return r?[i.createElement(m.IconWrap,{key:1,name:`sort-${r}-small`,icon:r==="asc"?N.sortAscSmallIcon:N.sortDescSmallIcon}),this.props.sort.length>1&&i.createElement("span",{key:2,className:"k-sort-order"},t+1)]:null}render(){return this.props.columnsMap.map((t,r)=>this.props.pressHandler&&i.createElement(Hn,{key:r,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:r+1},this.cells(t))||i.createElement("tr",{className:"k-table-row","aria-rowindex":r+1,role:"row"},this.cells(t)))}}L.registerForLocalization(qr);function Vn(e){const t=[i.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:r=>e.selectionChange({field:e.field,syntheticEvent:r})}),i.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,t,e):t)}function Yn(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,s=r.map(()=>1),o=r.map(()=>!1);if(!t)return{colSpans:s,hiddenColumns:o};const l=r.map(E=>parseFloat((E.width||"").toString())||10);let u=0;for(let E=0;E<r.length;E++){if(r[E].locked)continue;const S=E<l.length-1?l[E+1]:0;if(u+l[E]+S<a)o[E]=!0,u+=l[E];else break}const d=l.reduce((E,S)=>E+S,0);u=0;for(let E=r.length-1;E>=0;E--)if(!r[E].locked)if(u+2*l[E]<d-n-a)o[E]=!0,u+=l[E];else break;const h=[...o],g=E=>E;let v=h.lastIndexOf(!1),f=h.some(g),b=h.every(g),I,x;for(;f&&h.length&&(v!==-1||b);){for(v<h.length-1&&(I=b?h.length:h.length-v-1,x=h.length-I,x===0&&(x=I-1),o[x]=!1,s[x]=I,h.splice(v+1,I));h.length&&!h[h.length-1];)h.pop();v=h.lastIndexOf(!1),f=h.some(g),b=h.every(g)}return{colSpans:s,hiddenColumns:o}}class jn{constructor(t){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=r=>{this.isRtl=r},this.onResize=t,this.dragHandler=this.dragHandler.bind(this)}dragHandler(t,r,n,a){const s=t.originalEvent;a||(s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation());const o=n.parentElement;if(!o||!o.parentElement)return;const l=o.clientWidth;let u;if(this.isRtl?(u=n.getBoundingClientRect().right-n.offsetWidth/2-t.clientX,u+=l):u=l+t.clientX-n.getBoundingClientRect().left-n.offsetWidth/2,!a&&Math.abs(u-l)<1)return;this.setWidths(r,Math.floor(u)/l);const d=this.columns.filter(h=>!h.children.length).indexOf(r);this.onResize(d,l,u,s,a)}setWidths(t,r){const n=this.columns.indexOf(t),a=[];let s=t.children.length;for(let o=n+1;s>0&&o<this.columns.length;o++,s--){const l=this.columns[o];l.children.length?s+=l.children.length:a.push(l)}a.length===0&&a.push(t),a.forEach(o=>{let l=o.width?parseFloat(o.width.toString())*r:0;const u=o.minResizableWidth===void 0?10:o.minResizableWidth;l<u&&(l=u),o.width=Math.floor(l)}),this.updateColElements(a)}updateColElements(t){const r=this.columns.filter(a=>!a.children.length);let n=1e-10;for(let a=0;a<t.length;a++){const s=r.indexOf(t[a]),o=parseFloat((t[a].width||0).toString());n+=o-Math.floor(o);const l=Math.floor(o)+Math.floor(n);n-=Math.floor(n),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[s],l),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[s],l),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[s],l)}}setColWidth(t,r){t&&(t.style.width=r+"px")}}class Un{constructor(t,r,n){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=a=>{this.groupPanelDivElement=a},this.refDropElementClue=a=>{this.dropElementClue=a},this.refDragElementClue=a=>{this.dragElementClue=a},this.pressHandler=(a,s)=>{const o=this.getColumnIndex(a,s);if(this.startGroup=this.getGroupIndex(a),o>=0){const l=this.columns[o];(l.reorderable&&this.reorderable||l.groupable&&this.groupable)&&(this.startColumn=o)}},this.dragHandler=(a,s)=>{if(a.isTouch||a.originalEvent.preventDefault(),a.originalEvent.stopPropagation(),this.startColumn===-1&&this.startGroup===-1)return;this.currentColumn=this.getColumnIndex(a,s),this.currentGroup=this.getGroupIndex(a),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const o=!this.isValid();o&&(this.currentColumn=-1,this.currentGroup=-1);const l=this.currentColumn>=0?s.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(a,s,l,o),this.updateDropElementClue(a,s,l,o)},this.releaseHandler=a=>{const s=this.startColumn,o=this.currentColumn,l=this.startGroup,u=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const d=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,d&&(s>=0&&o>=0?this.columnReorder(s,o,a.originalEvent):l>=0&&u>=0?this.groupReorder(l,u,a.originalEvent):s>=0&&u>=0&&this.columnToGroup(s,u,a.originalEvent))},this.columnReorder=t,this.groupReorder=r,this.columnToGroup=n}getColumnIndex(t,r){if(!r||r.parentElement===this.groupPanelDivElement)return-1;const n=xt(t,r);if(n===-1)return-1;for(let a=0;a<r.parentNode.children.length;a++)if(r.parentNode.children[a]===r)return this.columns.findIndex(s=>s.index===n&&s.depth===a);return-1}getGroupIndex(t){return xt(t,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:this.startColumn===-1?!1:this.currentGroup>=0?this.columns[this.startColumn].groupable===!0&&this.groupable===!0:this.reorderable===!0&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&this.columns[this.startColumn].reorderable===!0&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex}updateDragElementClue(t,r,n,a){if(!this.dragElementClue)return;const s=this.startColumn>=0?r.children[this.columns[this.startColumn].index].innerText:r.innerText;this.dragElementClue.setState({visible:!0,top:t.pageY+10,left:t.pageX,innerText:s,status:a||!n?"k-i-cancel":"k-i-plus"})}updateDropElementClue(t,r,n,a){if(!this.dropElementClue)return;if(a||!n){this.dropElementClue.setState({visible:!1});return}const s=n.getBoundingClientRect();let o=s.left+t.pageX-t.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&this.startGroup!==-1)&&(o+=s.width);const l=s.top+t.pageY-t.clientY;this.dropElementClue.setState({visible:!0,top:l,left:o,height:this.currentColumn>=0?r.clientHeight:s.height})}}class Xn extends i.PureComponent{constructor(t){super(t),this.elementRef=i.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=i.createRef()}get element(){return this.elementRef.current}render(){const t=this.hiddenElementRef.current,{status:r}=this.state,n=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},i.createElement(m.IconWrap,{className:"k-drag-status",name:r,icon:r==="k-i-cancel"?N.cancelIcon:N.plusIcon}),this.state.innerText),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,n,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class Zn extends i.PureComponent{constructor(t){super(t),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=i.createRef()}render(){const t=this.hiddenElementRef.current,r=this.state.visible&&m.canUseDOM&&Ye.createPortal(i.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),t&&t.ownerDocument?t.ownerDocument.body:document.body);return i.createElement(i.Fragment,null,r,i.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}}class yt extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=L.provideLocalizationService(this),{ariaLabel:r=t.toLanguageString(at,C[at])}=this.props;return i.createElement(Y.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":r})}}yt.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string},L.registerForLocalization(yt);class It extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=L.provideLocalizationService(this),{min:r,max:n,filter:a,ariaLabel:s=t.toLanguageString(nt,C[nt])}=this.props;return i.createElement(Y.NumericTextBox,{value:typeof a.value=="number"?a.value:null,onChange:this.onChange,ariaLabel:s,"aria-valuemin":r,"aria-valuemax":n,min:r,max:n})}}It.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired},L.registerForLocalization(It);class Gr extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value}})}}render(){const t=this.props.filter;return i.createElement(je.DatePicker,{value:t.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}}Gr.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,ariaLabel:p.string};class ze extends i.Component{constructor(){super(...arguments),this.onChange=t=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:t.value.value}})}}render(){const t=L.provideLocalizationService(this),{filter:r,data:n=[],defaultItem:a,ariaLabel:s=t.toLanguageString(rt,C[rt])}=this.props,o=n.map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement(H.DropDownList,{value:o.find(l=>l.value===r.value)||null,onChange:this.onChange,defaultItem:a,data:o,textField:"text",ariaLabel:s})}}ze.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,data:p.arrayOf(p.shape({text:p.string,value:p.any})),defaultItem:p.any,ariaLabel:p.string},L.registerForLocalization(ze);class Hr extends i.Component{constructor(){super(...arguments),this.data=[{text:Vt,value:!0},{text:Yt,value:!1}]}render(){return i.createElement(ze,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}}Hr.propTypes={filter:p.object.isRequired,onFilterChange:p.func.isRequired,data:p.arrayOf(p.shape({text:p.string,value:p.any})),ariaLabel:p.string,defaultItem:p.any};const Jn=[{text:Pt,operator:"contains"},{text:_t,operator:"doesnotcontain"},{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:zt,operator:"startswith"},{text:qt,operator:"endswith"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"},{text:Bt,operator:"isempty"},{text:Tt,operator:"isnotempty"}],Qn=[{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:Gt,operator:"gte"},{text:Ht,operator:"gt"},{text:$t,operator:"lte"},{text:Wt,operator:"lt"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],ea=[{text:re,operator:"eq"},{text:ne,operator:"neq"},{text:jt,operator:"gte"},{text:Ut,operator:"gt"},{text:Xt,operator:"lt"},{text:Zt,operator:"lte"},{text:Oe,operator:"isnull"},{text:Ae,operator:"isnotnull"}],ta=[{text:re,operator:"eq"},{text:ne,operator:"neq"}];class ra{static get text(){return[...Jn]}static get numeric(){return[...Qn]}static get date(){return[...ea]}static get boolean(){return[...ta]}}const Ft=e=>e==="contains"||e==="doesnotcontain"||e==="startswith"||e==="endswith",Pe=e=>e==="isnull"||e==="isnotnull"||e==="isempty"||e==="isnotempty",$r=e=>{e.value===void 0&&!Pe(e.operator)&&(e.value=Ft(e.operator)?"":null)};class _e extends i.Component{constructor(){super(...arguments),this.onFieldChange=t=>{const r=t.value.name,n=this.props.fields.find(l=>l.name===r),a=this.props.filter,s=n&&!n.operators.some(l=>l.operator===a.operator)?n.operators[0].operator:a.operator,o={field:r,operator:s};$r(o),this.triggerOnFilterChange(a,o,t)},this.onOperatorChange=t=>{const r=t.value.operator,n=this.props.filter;let a;if(Pe(r)){let{value:s,...o}=n;a={...o,operator:r}}else a={...n,operator:r};$r(a),this.triggerOnFilterChange(n,a,t)},this.onInputChange=t=>{const r=this.props.filter;let n=t.nextFilter;if(Pe(n.operator)){const a=this.props.fields.find(s=>s.name===n.field);n={...n,operator:a&&a.operators[0].operator||n.operator}}this.triggerOnFilterChange(r,n,t)},this.triggerOnFilterChange=(t,r,n)=>{const a={prevFilter:t,nextFilter:r,syntheticEvent:n.syntheticEvent,nativeEvent:n.nativeEvent,target:this};this.props.onChange.call(void 0,a)},this.onFilterRemove=t=>{const r={filter:this.props.filter,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,target:this};this.props.onRemove.call(void 0,r)}}render(){const t=L.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:a=t.toLanguageString(Qe,C[Qe])}=this.props,s=r.find(l=>l.name===n.field),o=(s&&s.operators||[]).map(l=>({...l,text:t.toLanguageString(l.text,C[l.text]||l.text)}));return i.createElement("div",{className:"k-filter-toolbar"},i.createElement(K.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:a},i.createElement(K.ToolbarItem,{className:"k-filter-field"},i.createElement(H.DropDownList,{className:"k-filter-dropdown",data:r,textField:"label",value:r.find(l=>l.name===n.field),onChange:this.onFieldChange,ariaLabel:t.toLanguageString(et,C[et])})),i.createElement(K.ToolbarItem,{className:"k-filter-operator"},i.createElement(H.DropDownList,{data:o,textField:"text",value:o.find(l=>l.operator===n.operator),onChange:this.onOperatorChange,ariaLabel:t.toLanguageString(tt,C[tt])})),i.createElement(K.ToolbarItem,{className:"k-filter-value"},s&&i.createElement(s.filter,{filter:n,onFilterChange:this.onInputChange,min:s.min,max:s.max})),i.createElement(K.Button,{className:"k-toolbar-button",title:t.toLanguageString(ie,C[ie]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}}_e.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired},L.registerForLocalization(_e);const Wr=class extends i.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=Ft(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map(a=>a===e?t:a);return{...r,filters:n}},this.onChange=e=>{const r={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,r)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter(a=>a!==e.filter),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const e=L.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(Je,C[Je])}=this.props;return i.createElement(i.Fragment,null,i.createElement("div",{className:"k-filter-toolbar"},i.createElement(K.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},i.createElement(K.ButtonGroup,{className:"k-toolbar-button-group"},i.createElement(K.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:r.logic==="and",type:"button"},e.toLanguageString(Xe,C[Xe])),i.createElement(K.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:r.logic==="or",type:"button"},e.toLanguageString(Ze,C[Ze]))),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(ae,C[ae]),icon:"filter-add-expression",svgIcon:N.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},e.toLanguageString(ae,C[ae])),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(se,C[se]),icon:"filter-add-group",svgIcon:N.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},e.toLanguageString(se,C[se])),i.createElement(K.Button,{className:"k-toolbar-button",title:e.toLanguageString(ie,C[ie]),icon:"x",svgIcon:N.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),r.filters.length>0&&i.createElement("ul",{role:"group",className:"k-filter-lines"},r.filters.map((a,s)=>i.createElement("li",{role:"treeitem",key:s,className:"k-filter-item"},te.isCompositeFilterDescriptor(a)?i.createElement(Wr,{filter:a,fields:t,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):i.createElement(_e,{filter:a,fields:t,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove})))))}};let qe=Wr;qe.propTypes={filter:p.object.isRequired,fields:p.array.isRequired,ariaLabel:p.string,ariaLabelExpression:p.string,onChange:p.func.isRequired,onRemove:p.func.isRequired,defaultGroupFilter:p.object.isRequired},L.registerForLocalization(qe);class Vr extends i.Component{constructor(t){super(t),this.onFilterChange=r=>{const n={filter:r.nextFilter,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onGroupRemove=r=>{const n={filter:{...this.props.value,filters:[]},syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},m.validatePackage(ht)}render(){return i.createElement("div",{className:m.classNames("k-filter",this.props.className),style:this.props.style},i.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},i.createElement("li",{role:"treeitem",className:"k-filter-group-main"},i.createElement(qe,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}}Vr.propTypes={className:p.string,style:p.object,fields:function(e,t){const r=e[t];if(r===void 0)return new Error(`Property '${t}' is missing.`);if(Array.isArray(r)){if(Object.keys(r.reduce((n,a)=>({...n,[a.name]:1}),{})).length!==r.length)return new Error(`Property '${t}' needs to contain objects with unique 'name' field.`)}else return new Error(`Property '${t}' needs to be Array<FieldSettings>.`);return null},ariaLabelGroup:p.string,ariaLabelExpression:p.string,value:p.object.isRequired,onChange:p.func.isRequired};const Ge=e=>i.createElement("div",{onClick:e.onClick,className:m.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&i.createElement(m.IconWrap,{name:e.iconClass?m.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),na=[{text:tr,operator:"contains"},{text:rr,operator:"doesnotcontain"},{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:er,operator:"startswith"},{text:nr,operator:"endswith"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"},{text:Jt,operator:"isempty"},{text:Qt,operator:"isnotempty"}],aa=[{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:ar,operator:"gte"},{text:sr,operator:"gt"},{text:ir,operator:"lte"},{text:or,operator:"lt"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],sa=[{text:we,operator:"eq"},{text:Ke,operator:"neq"},{text:cr,operator:"gte"},{text:ur,operator:"gt"},{text:dr,operator:"lt"},{text:hr,operator:"lte"},{text:ke,operator:"isnull"},{text:Re,operator:"isnotnull"}],ia=[{text:lr,operator:""}];class ue{static get text(){return[...na]}static get numeric(){return[...aa]}static get date(){return[...sa]}static get boolean(){return[...ia]}}const Lt=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,s=i.useCallback(d=>{const h=t,g=d.target.value.operator,v=h?{...h,operator:g}:{value:a.value,operator:g};r.call(void 0,d.syntheticEvent,v,h)},[t,r,a]),o=i.useCallback(d=>{const h=d.target.value,g=t,v=g?{...g,value:h}:{value:h,operator:n[0].operator};r.call(void 0,d,v,g)},[t,r,n]),l=L.useLocalization(),u=n.map(d=>({...d,text:l.toLanguageString(d.text,C[d.text])}));return i.createElement(i.Fragment,null,i.createElement(H.DropDownList,{value:u.find(d=>d.operator===t.operator)||null,onChange:s,data:u,textField:"text"}),i.createElement(e.input,{value:t.value,onChange:o}))},Yr=e=>{const{filter:t,onFilterChange:r}=e,n=i.useCallback(s=>r.call(void 0,s.syntheticEvent,{...t,value:s.value},t),[t,r]),a=ue.boolean[0].text;return i.createElement(Y.Checkbox,{onChange:n,checked:t.value,label:L.useLocalization().toLanguageString(a,C[a]),labelPlacement:"after"})},St=e=>{const t=i.useCallback(a=>i.createElement(Y.Input,{...a,value:a.value||""}),[]),r=i.useRef(ue.text),n=i.useRef({operator:"",value:""});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Dt=e=>{const t=i.useCallback(a=>i.createElement(Y.NumericTextBox,{...a,value:a.value||null}),[]),r=i.useRef(ue.numeric),n=i.useRef({operator:"",value:null});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Mt=e=>{const t=i.useCallback(a=>i.createElement(je.DatePicker,{...a,value:a.value||null}),[]),r=i.useRef(ue.date),n=i.useRef({operator:"",value:null});return i.createElement(Lt,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},oa=[{text:pr,logic:"and"},{text:gr,logic:"or"}],He=e=>{const t=L.useLocalization(),r=(e.data||oa).map(n=>({...n,text:t.toLanguageString(n.text,C[n.text])}));return i.createElement(H.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find(n=>n.logic===e.value)})},jr=e=>i.createElement("div",{className:"k-columnmenu-item-content"},i.createElement(un.Reveal,{style:{position:"relative",display:"block"}},e.show&&i.createElement("div",{className:"kendo-grid-filter-menu-container"},i.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},i.createElement("div",{className:"k-filter-menu-container"},e.children,i.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Ur=e=>{const t=L.useLocalization();return i.createElement(jr,{...e,actions:i.createElement(i.Fragment,null,i.createElement(K.Button,{type:"reset"},t.toLanguageString(st,C[st])),i.createElement(K.Button,{themeColor:"primary"},t.toLanguageString(it,C[it])))})},$e=e=>{m.validatePackage(ht);const t=i.useRef([]),{field:r,filter:n,sort:a=t.current,onSortChange:s,onFilterChange:o,initialFilter:l,sortAsc:u=!1,sortDesc:d=!1,filterContent:h=[],expandFilters:g=!1}=e,[v,f]=i.useState(!1),[b,I]=i.useState(g),[x,E]=i.useState(r&&l?l(r):null),S=i.useRef(null),A=i.useRef(null),M=i.useRef(null),y=i.useRef(!1),F=i.useCallback(()=>(n||[]).find(w=>w.filters.every(B=>!te.isCompositeFilterDescriptor(B)&&B.field===r)),[n,r]),D=i.useCallback(()=>{f(!1)},[]),P=i.useCallback(()=>{if(y.current){y.current=!1;return}clearTimeout(M.current),M.current=window.setTimeout(()=>{D()})},[D]),_=i.useCallback(()=>clearTimeout(M.current),[]),q=i.useCallback(w=>{y.current=v&&w.currentTarget===S.current},[v]),W=i.useCallback(()=>{f(!v),r&&l&&(I(v?!1:g),E(v?x:F()||l(r)))},[F,r,v,x,l,g]);i.useEffect(()=>{v&&A.current&&A.current.focus()},[v]);const R=i.useCallback(()=>I(!b),[b]),k=i.useCallback((w,B)=>{const T=[...a],z=T.findIndex(Xa=>Xa.field===r),Ce={field:r,dir:B};z>=0?T[z].dir!==Ce.dir?T.splice(z,1,Ce):T.splice(z,1):T.push(Ce),D(),s&&s.call(void 0,w,T,r)},[a,r,s,D]),U=i.useCallback((w,B,T)=>{const z={...x,filters:[...x.filters]},Ce=z.filters.indexOf(T);z.filters.splice(Ce,1,B),E(z)},[x]),Q=i.useCallback(w=>{w.preventDefault();const B=(n||[]).slice(),T=F(),z=T?B.indexOf(T):-1;z>=0?B.splice(z,1,x):B.push(x),D(),o&&o.call(void 0,w,B,r)},[n,x,r,o,D,F]),We=i.useCallback(w=>{const B=(n||[]).slice(),T=F(),z=T?B.indexOf(T):-1;z>=0&&B.splice(z,1),l&&E(l(r)),D(),o&&o.call(void 0,w,B,r)},[n,r,o,l,D,F]),wt=i.useCallback(w=>k(w,"asc"),[k]),Ve=i.useCallback(w=>k(w,"desc"),[k]),Kt=i.useCallback(w=>x&&E({...x,logic:w.value.logic}),[x]),fe=a.find(w=>w.field===r)||{dir:""},[me,Ee,ve]=h,kt=L.useLocalization(),Va=u||d?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},u&&i.createElement(Ge,{title:kt.toLanguageString(lt,C[lt]),iconClass:"k-i-sort-asc-small",svgIcon:N.sortAscSmallIcon,selected:fe.dir==="asc",onClick:wt}),d&&i.createElement(Ge,{title:kt.toLanguageString(ct,C[ct]),iconClass:"k-i-sort-desc-small",svgIcon:N.sortDescSmallIcon,selected:fe.dir==="desc",onClick:Ve})):null,Ya=x&&h.length>0?i.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},i.createElement(Ge,{iconClass:"k-i-filter",svgIcon:N.filterIcon,title:kt.toLanguageString(ot,C[ot]),onClick:R}),i.createElement(Ur,{show:b,onSubmit:Q,onReset:We},me&&i.createElement(me,{filter:x.filters[0],onFilterChange:U}),Ee&&i.createElement(Ee,{value:x.logic,onChange:Kt}),ve&&i.createElement(ve,{filter:x.filters[1],onFilterChange:U}))):null,on=[Va,Ya],ja=i.createElement("span",{ref:S,onClick:W,onMouseDown:q,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},i.createElement(m.IconWrap,{name:"filter",icon:N.filterIcon})),Ua=i.createElement(cn.Popup,{anchor:S.current,show:v,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},i.createElement("div",{ref:A,tabIndex:0,onBlur:P,onFocus:_,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,on,{closeMenu:D,field:r}):on)),ln=[ja,Ua];return i.createElement(i.Fragment,null,e.render?e.render.call(void 0,ln):ln)},la=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"contains",field:o,value:""},{operator:"contains",field:o,value:""}]}),[]),a=!!e.field,s=a?[St,He,St]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},ca=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,s=a?[Dt,He,Dt]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},ua=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"or",filters:[{operator:"eq",field:o,value:null},{operator:"eq",field:o,value:null}]}),[]),a=!!e.field,s=a?[Mt,He,Mt]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})},da=e=>{const{field:t,...r}=e,n=i.useCallback(o=>({logic:"and",filters:[{operator:"eq",field:o,value:!1}]}),[]),a=!!e.field,s=a?[Yr]:[];return i.createElement($e,{sortAsc:a,sortDesc:a,filterContent:s,initialFilter:a?n:void 0,field:t,...r})};function de(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function Xr(e,t,r){if(e[r]){let n=de(e,r,te.orderBy(de(e,r),t)),a=de(n,r).map(s=>Xr(s,t,r));return{...n,[r]:a}}return e}function ha(e,t,r){let n=te.orderBy(e,t);return n=n.map(a=>Xr(a,t,r)),n}function Zr(e,t,r){let n=de(e,r);if(n&&n.length){n=n.map(l=>Zr(l,t,r));const s={filters:[{filters:t,logic:"and"},{operator:l=>!!(l[r]||[]).length}],logic:"or"},o=te.filterBy(n,s);return de(e,r,o)}return e}function pa(e,t,r){let n={[r]:[...e]};return n=Zr(n,t,r),n[r]||[]}function ga(e,t,r){let n=[];const a=[];for(let s=e.length-1;s>=0;s--){const o=e[s];n.push({root:o,data:t(o),level:[s],levelCount:e.length})}for(;n.length>0;){let s=n.pop();if(a.push({dataItem:s.root,level:[...s.level],...r(s.root),levelCount:s.levelCount}),s.data.length)for(let o=s.data.length-1;o>=0;o--){const l=s.data[o];n.push({root:l,data:t(l),level:[...s.level,o],levelCount:s.data.length})}}return a}const fa=(e,t,r)=>{const n=u=>!!m.getNestedValue(t,u),a=u=>!!m.getNestedValue(r,u),s=u=>{const d=[];return n(u)&&a(u)&&d.push(...m.getNestedValue(r,u)),d},o=(u,d,h)=>{d.push({...u,level:h}),s(u).forEach(g=>o(g,d,h+1))},l=[];return e.forEach(u=>o(u,l,0)),l},ma=(e,t,r,n)=>{let a={},s=[],o;return e.forEach(l=>a[t(l)]={...l}),e.forEach(l=>{o=a[r(l)],o?(o[n]=o[n]||[],o[n].push(a[t(l)])):s.push(a[t(l)])}),s},Ea=(e,t,r)=>m.extendDataItem(e,t,r),va=(e,t,r)=>[...m.mapTree([{[t]:[...e]}],t,a=>Ca(a,r,t))[0][t]],Ca=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(a!==-1){const s=[...n];return s.splice(a,1),{...e,[r]:s}}return e},ba=(e,t,r,n)=>m.mapTree(e,t,a=>r(a)?{...a,[t]:n(a[t]||[])}:a),Nt=(e,t,r)=>m.getItemPath(e,t,r),xa=(e,t,r,n)=>{const a=[...e],s=Nt(a,t,n),o=s.pop(),l=s.pop(),u=t[t.length-1];if(r){const h=Nt(a,r,n).pop();(l?l[n]:a).splice(u,1),h[n]=h[n]||[],h[n].push(o)}else(l?l[n]:a).splice(u,1),a.push(o);return a},he="groupId",Ot="items",Jr=(e,t,r)=>{e.items&&(e[he]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach(n=>Jr(n,t-1,e[he])))},ya=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach(r=>Jr(r,t.length,""))},Ia=e=>{const t=[];return m.mapTree(e.data,Ot,r=>{r[he]&&t.push(r[he])}),t},Fa=e=>m.mapTree(e.data,Ot,t=>m.extendDataItem(t,Ot,{expanded:!e.collapsedIds.some(r=>r===t[he])})),La=e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:n,idPrefix:a}=e;t&&(r.current={activeId:"",level:0},n.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:a||m.guid(),navigationMatrix:[],lastHeaderIndex:-1})},Sa=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){At(e);const a=n.current.navigationMatrix[0][0],s=O.getActiveElement(t,a);a&&s&&(r.current.activeId=a,s.setAttribute("tabIndex","0"))}},Da=e=>{const{contextStateRef:t,navigationStateRef:r,document:n}=e;if(t.current&&r.current&&n){const a=m.getActiveElement(n),s=O.getNavigatableId(a);s&&s===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},Ma=e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(At(e),r.current&&n.current&&t){if(!O.getActiveElement(t,r.current.activeId)){const s=n.current.navigationMatrix[0][0],o=O.getActiveElement(t,s);s&&o&&(r.current.activeId=s,o.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&o.focus())}n.current.activeElementIsFocused=!1}},Na=(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=O.getNavigatableId(n);if(a&&a!==r.current.activeId){const s=O.getClosestScope(n);if(!s)return;const o=O.getActiveElement(s,r.current.activeId);o&&o.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},Oa=(e,t)=>{const{contextStateRef:r,navigationStateRef:n,onNavigationAction:a}=t;if(e.isDefaultPrevented()||!r.current||!n.current)return;if(e.keyCode===m.Keys.esc){const h=O.getClosestNavigatableElement(e.target);O.focusElement({elementForFocus:h,event:e,contextStateRef:r});return}const s=e.target,o=O.getNavigatableId(s),l=O.getNavigatableLevel(s),u=O.getClosestScope(s),d=n.current.navigationMatrix;if(l!==void 0&&u){if(e.keyCode===m.Keys.enter){const h=O.getNavigatableElement(s,{level:l+1});if(h){O.focusElement({elementForFocus:h,event:e,contextStateRef:r,prevElement:s});return}else{const g=O.getFocusableElements(s)[0];O.focusElement({elementForFocus:g,event:e,contextStateRef:r,prevElement:s});return}}if(e.keyCode===m.Keys.up||e.keyCode===m.Keys.down||e.keyCode===m.Keys.left||e.keyCode===m.Keys.right){const h=e.keyCode===m.Keys.up||e.keyCode===m.Keys.left,g=e.keyCode===m.Keys.up||e.keyCode===m.Keys.down;let v;if(n.current&&n.current.prevNavigationIndexes){const[f,b]=n.current.prevNavigationIndexes;d[f][b]===o?v=n.current.prevNavigationIndexes:v=Ct(d,o)}else v=Ct(d,o);if(v){const[f,b]=v,[I,x]=g?Nr(f,b,o,d,h):Or(f,b,o,d,h);if(I){const E=O.getActiveElement(u,I);O.focusElement({elementForFocus:E,event:e,contextStateRef:r,prevElement:s}),n.current.prevNavigationIndexes=x,a&&a({focusElement:E,event:e})}}}}},At=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=Dr(r),s=Mr(r);if(!a||!s)return;const o=Array.from(a.children),l=Array.from(s.children);[...o,...l].forEach((u,d)=>{Array.from(u.children).forEach(h=>{const g=Et(h);if(!g)return;const v=h.rowSpan||1,f=h.colSpan||1;let b;for(let I=d,x=d+v;I<x;I++){if(n[I]||(n[I]=[]),b===void 0){const E=n[I].findIndex(S=>!S);b=E>-1?E:n[I].length}n[I][b]=g||""}for(let I=b+1,x=b+f;I<x;I++)n[d][I]=g||""})}),t.current.navigationMatrix=n.filter(u=>!!u),t.current.lastHeaderIndex=o.length-1},Aa={onConstructor:La,onComponentDidMount:Sa,onGetSnapshotBeforeUpdate:Da,onComponentDidUpdate:Ma,onFocus:Na,onKeyDown:Oa,generateMatrix:At},Qr="data-grid-row-index",en="data-grid-col-index",tn="data-prevent-selection",wa="items",J={},Ka=(e,t)=>!e||Array.isArray(e)&&e.length===0?[t]:e.findIndex(n=>n===t)>-1?e.filter(n=>n!==t):[...e,t],V=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if(r.tagName==="TABLE")return null;r=r.parentElement}return null},pe=e=>{if(!e)return;const t=e.getAttribute(Qr);return t?parseInt(t,10):void 0},ge=e=>{if(!e)return;const t=e.getAttribute(en);return t?parseInt(t,10):void 0},ka=e=>{const t=e.subItemsField||wa,r=m.getter(e.dataItemKey);return m.mapTree(e.data,t,n=>m.extendDataItem(n,t,{[e.selectedField]:e.selectedState[r(n)]}))},Ra=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{syntheticEvent:a,nativeEvent:s,dataItems:o,componentId:l,mode:u,cell:d,selectedField:h}=t,{target:g,ctrlKey:v,metaKey:f,altKey:b,shiftKey:I}=s;if(a.isDefaultPrevented()||s.keyCode!==m.Keys.enter)return n;const x=V(g,"TD"),E=V(g,"TR"),S=ge(x),A=pe(E);let M={};return x&&E&&A!==void 0&&S!==void 0&&(M=rn({selectedState:n,dataItemKey:r,event:{ctrlKey:v,metaKey:f,altKey:b,shiftKey:I,dataItems:o,cell:d,mode:u,selectedField:h,componentId:l,startColIndex:S,endColIndex:S,startRowIndex:A,endRowIndex:A,isDrag:!1,syntheticEvent:a,nativeEvent:s,target:t.target,dataItem:null}})),M},rn=e=>{const{event:t,dataItemKey:r,selectedState:n}=e,{dataItems:a,startRowIndex:s,endRowIndex:o,startColIndex:l,endColIndex:u,cell:d,isDrag:h,ctrlKey:g,shiftKey:v,metaKey:f,componentId:b,mode:I,dataItem:x}=t,E=m.getter(r);let S={};const A=x!==null;if(I==="single"){const M=a.slice(s,s+1)[0],y=E(M);J[b]={rowIndex:s,colIndex:l},S[y]=d?[l]:!0}else if(h||!v&&!g&&!f&&!A){h||(J[b]={rowIndex:s,colIndex:l});const M=[];for(let F=l;F<=u;F++)M.push(F);a.slice(s,o+1).forEach(F=>{const D=E(F);S[D]=d?[...M]:!0})}else if(g||f||A){J[b]={rowIndex:s,colIndex:l};const y=a.slice(s,o+1)[0],F=E(y);S={...n},S[F]=d&&!A?Ka(S[F],l):!S[F]}else if(v){const M=J[b]&&J[b].rowIndex||0,y=J[b]&&J[b].colIndex||0,F=Math.min(M,s,o),D=Math.max(M,s,o),P=Math.min(y,l,u),_=Math.max(y,l,u),q=[];for(let R=P;R<=_;R++)q.push(R);a.slice(F,D+1).forEach(R=>{const k=E(R);S[k]=d?[...q]:!0})}return S},Ba=m.hasRelativeStackingContext(),nn=e=>{if(!e||!Ba)return null;let t=e.parentElement;for(;t;){if(window.getComputedStyle(t).transform!=="none")return t;t=t.parentElement}},an=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},sn=e=>{const t=e?typeof e.enabled=="boolean"?e.enabled:!0:!1,r=e?!!e.drag:!1,n=e&&e.mode?e.mode:"multiple",a=!!(e&&e.cell);return{enabled:t,drag:r,mode:n,cell:a}},Ta=e=>{var A;const{onRelease:t,childRef:r}=e,{enabled:n,drag:a,mode:s,cell:o}=sn(e.selectable),l=i.useRef(null),u=i.useRef(null),d=i.useRef({clientX:0,clientY:0}),[h,g]=i.useState(null),v=i.useRef(),f=i.useRef(!1),b=i.useRef(!1),I=i.useCallback(M=>{const{event:y}=M;b.current=y.originalEvent.target.hasAttribute(tn),!(b.current||!l.current)&&(v.current=nn(l.current.element),d.current={clientY:y.clientY,clientX:y.clientX})},[]),x=i.useCallback(M=>{const{event:y}=M,{clientX:F,clientY:D}=d.current;if(!b.current&&!(!a||s==="single")&&((Math.abs(D-y.clientY)>5||Math.abs(F-y.clientX)>5)&&(f.current=!0),f.current)){const P=an(v.current);g({top:Math.min(D,y.clientY)-P.top,left:Math.min(F,y.clientX)-P.left,width:Math.abs(y.clientX-F),height:Math.abs(y.clientY-D)})}},[g,a,s]),E=i.useCallback(M=>{const{event:y}=M,{clientX:F,clientY:D}=d.current;if(b.current||!l.current)return;const P=l.current.element&&l.current.element.ownerDocument;if(P){if(f.current){const _=Math.min(D,y.clientY),q=Math.min(F,y.clientX),W=Math.max(D,y.clientY),R=Math.max(F,y.clientX),k=u.current;if(!k)return;k.style.visibility="hidden";const U=P.elementFromPoint(q,_),Q=P.elementFromPoint(R,W);if(k.style.visibility="",!U||!Q)return;const We=V(U,"TD"),wt=V(We,"TR"),Ve=V(Q,"TD"),Kt=V(Ve,"TR"),fe=ge(We),me=pe(wt),Ee=ge(Ve),ve=pe(Kt);fe!==void 0&&me!==void 0&&Ee!==void 0&&ve!==void 0&&t({nativeEvent:y.originalEvent,startRowIndex:me,startColIndex:fe,endRowIndex:ve,endColIndex:Ee,altKey:y.altKey,shiftKey:y.shiftKey,ctrlKey:y.ctrlKey,metaKey:y.metaKey,mode:s,cell:o,isDrag:!0})}else{const _=P.elementFromPoint(F,D);if(!_)return;const q=V(_,"TD"),W=V(_,"TR"),R=ge(q),k=pe(W);q&&W&&k!==void 0&&R!==void 0&&t({nativeEvent:y.originalEvent,startRowIndex:k,startColIndex:R,endRowIndex:k,endColIndex:R,altKey:y.altKey,shiftKey:y.shiftKey,ctrlKey:y.ctrlKey,metaKey:y.metaKey,mode:s,cell:o,isDrag:!1})}g(null),f.current=!1,d.current={clientX:0,clientY:0}}},[g,s,o,t]),S=m.useDocument(u);return n?i.createElement(i.Fragment,null,i.createElement(m.Draggable,{onPress:I,onDrag:x,onRelease:E,ref:l,childRef:r},e.children),h&&dn.createPortal(i.createElement("div",{ref:u,style:{...h,position:"fixed"},className:"k-marquee k-marquee-color"}),(A=S())==null?void 0:A.body)):i.cloneElement(i.Children.only(e.children),{ref:r})},za="items";var G=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(G||{});const Pa=(e,t,r)=>{const n=e.cellDelimiter||" ",a=e.newLineDelimiter||`\r
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
`:null,o=s?t.split(s):[t],l=r.copiedItems.length?r.copiedItems[0].fields[0]:e.columns[0].field||"";return o.map(d=>{const h=d.includes(n)?d.split(n):[d],g=e.columns.map(I=>I.field||""),v=g.indexOf(l),f=g.slice(v,v+h.length),b={};return g.slice(v,v+h.length).forEach((I,x)=>b[I]=h[x]),{dataItem:b,fields:f}})},_a=(e,t)=>{if(!t.length)return null;let r="";return t.forEach((n,a,s)=>r+=`${e[n]}${a<s.length-1?" ":""}`),r},qa=(e,t,r)=>{const n=r.cellDelimiter||" ",a=r.newLineDelimiter||`\r
|
|
9
|
-
`;return`${t.join(n)}${a}${e}`},Ga=e=>{const{event:t,selectedState:r,data:n,dataItemKey:a}=e,s={},o={copiedItems:[],pastedItems:[],clipboardData:""},l=e.subItemsField||za;return Object.entries(r).forEach(([u,d])=>{s[u]=m.isArray(d)?d.map(h=>t.columns[h]):t.columns}),m.mapTree(n,l,u=>{const d=u[a||t.dataItemKey||""]||"";return s[d]&&o.copiedItems.push({dataItem:u,fields:s[d].map(h=>h.field||"")}),u}),o},Ha=(e,t)=>{const r=t.newLineDelimiter||`\r
|
|
10
|
-
`,n=e.copiedItems.map((a,s)=>{let o=_a(a.dataItem,a.fields)||"";return t.copyHeaders&&s===0&&(o=qa(o,a.fields,t)),o?[o]:[]}).join(r);return navigator.clipboard.writeText(n),n},$a=e=>{const{event:t}=e,r=Ga(e);let n="";if(t.type==="paste"){const a=t.nativeEvent?t.nativeEvent.clipboardData:"";n=a?a.getData("text").trim():"",r.pastedItems=Pa(t,n,r)}else r.pastedItems=[],n=Ha(r,t);return r.clipboardData=n,r};class Wa{constructor(t){this.copyHandler=r=>{this.clipboardEvent(G.copy,r)},this.cutHandler=r=>{this.clipboardEvent(G.cut,r)},this.pasteHandler=r=>{this.clipboardEvent(G.paste,r)},this.addEventListeners=r=>{r&&(r.addEventListener(G.copy,this.copyHandler),r.addEventListener(G.cut,this.cutHandler),r.addEventListener(G.paste,this.pasteHandler))},this.removeEventListeners=r=>{r&&(r.removeEventListener(G.copy,this.copyHandler),r.removeEventListener(G.cut,this.cutHandler),r.removeEventListener(G.paste,this.pasteHandler))},this.clipboardEvent=t}}c.BooleanFilter=Hr,c.BooleanFilterCell=vn,c.ClipboardActionType=G,c.ClipboardService=Wa,c.ColumnDefaultProps=br,c.ColumnMenuBooleanColumn=da,c.ColumnMenuBooleanFilter=Yr,c.ColumnMenuDateColumn=ua,c.ColumnMenuDateFilter=Mt,c.ColumnMenuFilterForm=Ur,c.ColumnMenuFilterLogic=He,c.ColumnMenuForm=jr,c.ColumnMenuItem=Ge,c.ColumnMenuNumericColumn=ca,c.ColumnMenuNumericFilter=Dt,c.ColumnMenuOperators=ue,c.ColumnMenuTextColumn=la,c.ColumnMenuTextFilter=St,c.ColumnResize=jn,c.ColumnResizer=_r,c.CommonDragLogic=Un,c.DateFilter=Gr,c.DateFilterCell=bn,c.DragClue=Xn,c.DropClue=Zn,c.EnumFilter=ze,c.Expression=_e,c.FILTER_ROW_CLASS=wr,c.FOCUSABLE_ELEMENTS=Be,c.Filter=Vr,c.FilterRow=_n,c.Group=qe,c.Header=Gn,c.HeaderCell=zr,c.HeaderRow=qr,c.HeaderSelectionCell=Vn,c.HeaderThElement=Te,c.KEYBOARD_NAV_DATA_BODY=ft,c.KEYBOARD_NAV_DATA_HEADER=gt,c.KEYBOARD_NAV_DATA_ID=ce,c.KEYBOARD_NAV_DATA_LEVEL=Z,c.KEYBOARD_NAV_DATA_SCOPE=pt,c.KEYBOARD_NAV_DATA_ZONE=Ln,c.KEYBOARD_NAV_FILTER_COL_SUFFIX=xr,c.NumericFilter=It,c.NumericFilterCell=yn,c.Operators=ra,c.Pager=oe,c.TABBABLE_ELEMENTS=Ir,c.TABLE_COL_INDEX_ATTRIBUTE=en,c.TABLE_PREVENT_SELECTION_ELEMENT=tn,c.TABLE_ROW_INDEX_ATTRIBUTE=Qr,c.TableKeyboardNavigationContext=mt,c.TableSelection=Ta,c.TextFilter=yt,c.TextFilterCell=Fn,c.closestTagName=V,c.createDataTree=ma,c.createFilterComponent=le,c.extendDataItem=Ea,c.filterBy=pa,c.flatData=ga,c.getColumnIndex=ge,c.getGroupIds=Ia,c.getIndex=xt,c.getItemPath=Nt,c.getOffset=an,c.getRowIndex=pe,c.getSelectedState=rn,c.getSelectedStateFromKeyDown=Ra,c.getSelectionOptions=sn,c.isRtl=Tr,c.mapColumns=qn,c.modifySubItems=ba,c.moveTreeItem=xa,c.nextColumn=Kr,c.normalize=Pr,c.orderBy=ha,c.populateClipboardData=$a,c.readColumns=Br,c.relativeContextElement=nn,c.removeItems=va,c.setExpandedState=Fa,c.setGroupIds=ya,c.setSelectedState=ka,c.stringOperator=Ft,c.tableColumnsVirtualization=Yn,c.tableKeyboardNavigation=Aa,c.tableKeyboardNavigationBodyAttributes=Dn,c.tableKeyboardNavigationHeaderAttributes=Fr,c.tableKeyboardNavigationScopeAttributes=Sn,c.tableKeyboardNavigationTools=O,c.treeToFlat=fa,c.unaryOperator=Pe,c.updateLeft=kr,c.updateRight=Rr,c.useTableKeyboardNavigation=Lr,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
|
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
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-buttons"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-inputs"),require("@progress/kendo-react-dropdowns"),require("@progress/kendo-svg-icons"),require("react-dom"),require("@progress/kendo-data-query"),require("@progress/kendo-react-dateinputs"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-animation")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-buttons","@progress/kendo-react-intl","@progress/kendo-react-inputs","@progress/kendo-react-dropdowns","@progress/kendo-svg-icons","react-dom","@progress/kendo-data-query","@progress/kendo-react-dateinputs","@progress/kendo-react-popup","@progress/kendo-react-animation"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactDatatools={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactButtons,e.KendoReactIntl,e.KendoReactInputs,e.KendoReactDropdowns,e.KendoSvgIcons,e.ReactDOM,e.KendoDataQuery,e.KendoReactDateinputs,e.KendoReactPopup,e.KendoReactAnimation)}(this,(function(e,t,r,n,a,o,s,i,l,c,u,p,d,h){"use strict";function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var m=g(t),f=g(c);const v="pager.info",b="pager.firstPage",C="pager.previousPage",E="pager.nextPage",x="pager.lastPage",y="pager.itemsPerPage",I="pager.page",k="pager.of",R="pager.totalPages",S="pager.pageNumberLabel",L="pager.ariaKeyshortcuts",F="pager.pageSizeAriaLabel",D="pager.mobileSelect",M="pager.moreButtonLabel",N="filter.eqOperator",w="filter.notEqOperator",A="filter.isNullOperator",P="filter.isNotNullOperator",K="filter.isEmptyOperator",O="filter.isNotEmptyOperator",T="filter.startsWithOperator",z="filter.containsOperator",q="filter.notContainsOperator",B="filter.endsWithOperator",G="filter.gteOperator",H="filter.gtOperator",_="filter.lteOperator",$="filter.ltOperator",W="filter.isTrue",j="filter.isFalse",Y="filter.afterOrEqualOperator",V="filter.afterOperator",X="filter.beforeOperator",U="filter.beforeOrEqualOperator",Q="filter.andLogic",Z="filter.orLogic",J="filter.addExpression",ee="filter.addGroup",te="filter.close",re="filter.groupAriaLabel",ne="filter.expressionAriaLabel",ae="filter.expressionDropdownAriaLabel",oe="filter.expressionOperatorDropdownAriaLabel",se="filter.enumFilterDropdownAriaLabel",ie="filter.numericFilterAriaLabel",le="filter.textFilterAriaLabel",ce="columnMenu.filterClearButton",ue="columnMenu.filterSubmitButton",pe="columnMenu.filterTitle",de="columnMenu.sortAscending",he="columnMenu.sortDescending",ge="columnMenu.filterEqOperator",me="columnMenu.filterNotEqOperator",fe="columnMenu.filterIsNullOperator",ve="columnMenu.filterIsNotNullOperator",be="columnMenu.filterIsEmptyOperator",Ce="columnMenu.filterIsNotEmptyOperator",Ee="columnMenu.filterStartsWithOperator",xe="columnMenu.filterContainsOperator",ye="columnMenu.filterNotContainsOperator",Ie="columnMenu.filterEndsWithOperator",ke="columnMenu.filterGteOperator",Re="columnMenu.filterGtOperator",Se="columnMenu.filterLteOperator",Le="columnMenu.filterLtOperator",Fe="columnMenu.filterIsTrue",De="columnMenu.filterAfterOrEqualOperator",Me="columnMenu.filterAfterOperator",Ne="columnMenu.filterBeforeOperator",we="columnMenu.filterBeforeOrEqualOperator",Ae="columnMenu.filterAndLogic",Pe="columnMenu.filterOrLogic",Ke="sort.ariaLabel",Oe="filter.ariaLabel",Te={[y]:"items per page","pager.pageSelection":"Select page",[v]:"{0} - {1} of {2} items",[b]:"Go to the first page",[C]:"Go to the previous page",[E]:"Go to the next page",[x]:"Go to the last page",[I]:"Page",[k]:"of",[R]:"{0}","pager.pageLabel":"Page",[L]:"Enter ArrowRight ArrowLeft","pager.ariaLabel":"Pager",[F]:"Page size",[D]:"Select",[M]:"More pages",[S]:"Type a page number",[Ke]:"Sortable",[Oe]:"Filter",[N]:"Is equal to",[w]:"Is not equal to",[A]:"Is null",[P]:"Is not null",[K]:"Is empty",[O]:"Is not empty",[T]:"Starts with",[z]:"Contains",[q]:"Does not contain",[B]:"Ends with",[G]:"Is greater than or equal to",[H]:"Is greater than",[_]:"Is less than or equal to",[$]:"Is less than",[W]:"Is true",[j]:"Is false",[Y]:"Is after or equal to",[V]:"Is after",[X]:"Is before",[U]:"Is before or equal to",[Q]:"And",[Z]:"Or",[J]:"Add Expression",[ee]:"Add Group",[te]:"Remove",[re]:"Filter toolbar",[ne]:"Filter expression row",[ae]:"Filter dropdown",[oe]:"Filter operator dropdown",[se]:"Select True/False",[ie]:"Enter number",[le]:"Enter text",[ce]:"Clear",[ue]:"Filter",[pe]:"Filter",[de]:"Sort Ascending",[he]:"Sort Descending",[ge]:"Is equal to",[me]:"Is not equal to",[fe]:"Is null",[ve]:"Is not null",[be]:"Is empty",[Ce]:"Is not empty",[Ee]:"Starts with",[xe]:"Contains",[ye]:"Does not contain",[Ie]:"Ends with",[ke]:"Is greater than or equal to",[Re]:"Is greater than",[Se]:"Is less than or equal to",[Le]:"Is less than",[Fe]:"Is true",[De]:"Is after or equal to",[Me]:"Is after",[Ne]:"Is before",[we]:"Is before or equal to",[Ae]:"And",[Pe]:"Or"};let ze=class extends m.Component{constructor(){super(...arguments),this.handlePageChange=(e,t)=>{e.preventDefault(),this.props.pageChange(t,e)},this.handleSelectPageChange=e=>{e.preventDefault(),this.props.pageChange(e.target.value,e)}}render(){const e=o.provideLocalizationService(this),t=this.props.messagesMap?this.props.messagesMap(D):{messageKey:D,defaultMessage:Te[D]},r=this.props.messagesMap?this.props.messagesMap(I):{messageKey:I,defaultMessage:Te[I]},s=this.props.messagesMap?this.props.messagesMap(M):{messageKey:M,defaultMessage:Te[M]},i=e.toLanguageString(s.messageKey,s.defaultMessage),l=this.start>1&&this.renderDots(this.start-1,i),c=this.end<this.props.totalPages&&this.renderDots(this.end+1,i),u=this.start>1&&this.renderOptionDots(this.start-1),p=this.end<this.props.totalPages&&this.renderOptionDots(this.end+1),d=[];for(let e=this.start;e<=this.end;e++)d.push(e);const h=d.map((t=>m.createElement(a.Button,{className:n.classNames({"k-selected":this.props.currentPage===t}),key:t,fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":e.toLanguageString(r.messageKey,r.defaultMessage)+" "+t,"aria-current":this.props.currentPage===t||void 0,onClick:e=>this.handlePageChange(e,t)},t))),g=d.map((e=>m.createElement("option",{key:e},e)));return m.createElement(m.Fragment,null,m.createElement("select",{style:{width:"5em",margin:"0px 1em",display:"dropdown"===this.props.type?"inline-flex":"none"},className:n.classNames("k-picker k-dropdown-list k-dropdown k-rounded-md",{[`k-picker-${n.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size}),"aria-label":e.toLanguageString(t.messageKey,t.defaultMessage),value:this.props.currentPage,onChange:e=>this.handleSelectPageChange(e)},u,g,p),m.createElement("div",{className:"k-pager-numbers",style:{display:"numbers"===this.props.type?"":"none"}},l,h,c))}get end(){return Math.min(this.start+this.props.buttonCount-1,this.props.totalPages)}get start(){const e=this.props.currentPage,t=this.props.buttonCount;if(e>t){const r=e%t;return 0===r?e-t+1:e-r+1}return 1}renderDots(e,t){return m.createElement(a.Button,{fillMode:"flat",themeColor:"primary",size:this.props.size,rounded:null,role:"button","aria-label":t,onClick:t=>this.handlePageChange(t,e)},"...")}renderOptionDots(e){return m.createElement("option",{value:e},"...")}},qe=class extends m.Component{constructor(){super(...arguments),this.state={page:this.props.currentPage},this.handleOnChange=e=>{this.setState({page:e.target.value}),e.target.value&&this.props.pageChange(e.target.value,e)}}render(){const e=o.provideIntlService(this),t=o.provideLocalizationService(this),r=this.props.messagesMap?this.props.messagesMap(I):{messageKey:I,defaultMessage:Te[I]},n=this.props.messagesMap?this.props.messagesMap(k):{messageKey:k,defaultMessage:Te[k]},a=this.props.messagesMap?this.props.messagesMap(R):{messageKey:R,defaultMessage:Te[R]},i=this.props.messagesMap?this.props.messagesMap(R):{messageKey:S,defaultMessage:Te[S]};return m.createElement("span",{className:"k-pager-input"},m.createElement("span",null,t.toLanguageString(r.messageKey,r.defaultMessage)),m.createElement(s.NumericTextBox,{value:void 0!==this.props.currentPage?this.props.currentPage:this.state.page,onChange:this.handleOnChange,min:1,spinners:!1,ariaLabel:t.toLanguageString(i.messageKey,i.defaultMessage)}),m.createElement("span",null,`${t.toLanguageString(n.messageKey,n.defaultMessage)} ${e.format(t.toLanguageString(a.messageKey,a.defaultMessage),[this.props.totalPages])}`))}};o.registerForLocalization(qe);let Be=class extends m.Component{constructor(){super(...arguments),this.pageSizeChange=e=>{this.props.pageChange&&this.props.pageChange({skip:0,take:parseInt(e.target.value,10)},e)}}render(){const{value:e,pageSizes:t,pageSize:r,messagesMap:n}=this.props,a=t.slice();void 0===e&&0===a.filter((e=>e===r)).length&&a.unshift(r);const s=n?n(y):{messageKey:y,defaultMessage:Te[y]},l=n?n(F):{messageKey:F,defaultMessage:Te[F]};return m.createElement("span",{className:"k-pager-sizes"},m.createElement(i.DropDownList,{value:void 0!==e?e:r,data:a,onChange:this.pageSizeChange,ariaLabel:o.provideLocalizationService(this).toLanguageString(l.messageKey,l.defaultMessage),size:this.props.size}),m.createElement("span",null,o.provideLocalizationService(this).toLanguageString(s.messageKey,s.defaultMessage)))}};o.registerForLocalization(Be);const Ge={name:"@progress/kendo-react-data-tools",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},He=class extends m.Component{constructor(e){super(e),this._element=null,this.onPageChange=(e,t)=>{const r={target:this,syntheticEvent:t.syntheticEvent,nativeEvent:t.nativeEvent,targetEvent:t,...e};this.props.onPageChange&&this.props.onPageChange.call(void 0,r)},this.changePage=(e,t)=>{this.props.onPageChange&&e>0&&e<=this.totalPages&&this.props.onPageChange({target:this,skip:(e-1)*this.props.take,take:this.props.take,syntheticEvent:t,nativeEvent:t.nativeEvent,targetEvent:t})},this.onWindowResize=()=>{const e=this.element;if(!e||!this.props.responsive)return;const t=e.offsetWidth;t<600?this.setState({showPagerSizes:!1}):t>=600&&t<768?this.setState({showPagerInfo:!1,showPagerSizes:!0}):this.setState({showPagerInfo:!0,showPagerSizes:!0})},n.validatePackage(Ge),this.state={showPagerSizes:!0,showPagerInfo:!0}}get isRtl(){return"rtl"===this.props.dir}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize),this.onWindowResize()}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize)}render(){const{showPagerSizes:e,showPagerInfo:t}=this.state,{skip:r,take:a,total:s,pageSizes:i,size:c,responsive:u,messagesMap:p,pageSizeValue:d}=this.props,h=o.provideLocalizationService(this),g=o.provideIntlService(this),f=Math.floor(r/a)+1,y="numeric"===this.props.type?m.createElement(ze,{type:u&&!e?"dropdown":"numbers",buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:this.props.messagesMap,size:c}):m.createElement(qe,{buttonCount:this.props.buttonCount||0,totalPages:this.totalPages,currentPage:f,pageChange:this.changePage,messagesMap:p,size:c}),S=p?p(b):{messageKey:b,defaultMessage:Te[b]},F=p?p(C):{messageKey:C,defaultMessage:Te[C]},D=p?p(E):{messageKey:E,defaultMessage:Te[E]},M=p?p(x):{messageKey:x,defaultMessage:Te[x]},N=p?p(v):{messageKey:v,defaultMessage:Te[v]},w=p?p(L):{messageKey:L,defaultMessage:Te[L]},A=p?p(I):{messageKey:I,defaultMessage:Te[I]},P=p?p(k):{messageKey:k,defaultMessage:Te[k]},K=p?p(R):{messageKey:R,defaultMessage:Te[R]},O=`${h.toLanguageString(A.messageKey,A.defaultMessage)} ${g.format(h.toLanguageString(K.messageKey,K.defaultMessage),[f])} ${h.toLanguageString(P.messageKey,P.defaultMessage)} ${g.format(h.toLanguageString(K.messageKey,K.defaultMessage),[this.totalPages])}`;let T,z,q,B;this.props.previousNext&&(T=this.renderButton(1,"k-pager-nav k-pager-first"+(1===f?" k-disabled":""),h.toLanguageString(S.messageKey,S.defaultMessage),this.isRtl?"caret-alt-to-right":"caret-alt-to-left",this.isRtl?l.caretAltToRightIcon:l.caretAltToLeftIcon,1===f||void 0),z=this.renderButton(f-1,"k-pager-nav"+(1===f?" k-disabled":""),h.toLanguageString(F.messageKey,F.defaultMessage),this.isRtl?"caret-alt-right":"caret-alt-left",this.isRtl?l.caretAltRightIcon:l.caretAltLeftIcon,1===f||void 0),q=this.renderButton(f+1,"k-pager-nav"+(f>=this.totalPages?" k-disabled":""),h.toLanguageString(D.messageKey,D.defaultMessage),this.isRtl?"caret-alt-left":"caret-alt-right",this.isRtl?l.caretAltLeftIcon:l.caretAltRightIcon,f>=this.totalPages||void 0),B=this.renderButton(this.totalPages,"k-pager-nav k-pager-last"+(f>=this.totalPages?" k-disabled":""),h.toLanguageString(M.messageKey,M.defaultMessage),this.isRtl?"caret-alt-to-left":"caret-alt-to-right",this.isRtl?l.caretAltToLeftIcon:l.caretAltToRightIcon,f>=this.totalPages||void 0));const G=i&&m.createElement(Be,{pageChange:this.onPageChange,pageSize:a,pageSizes:i,value:d,messagesMap:p,size:c}),H=this.props.info&&m.createElement("span",{className:"k-pager-info"},g.format(h.toLanguageString(N.messageKey,N.defaultMessage),[Math.min(r+1,s),Math.min(r+a,s),s]));return m.createElement("div",{className:n.classNames("k-pager",{[`k-pager-${n.kendoThemeMaps.sizeMap[c]||c}`]:c},this.props.className),style:this.props.style,role:"application","aria-roledescription":"pager",dir:this.props.dir,"aria-keyshortcuts":h.toLanguageString(w.messageKey,w.defaultMessage),"aria-label":O,ref:e=>this._element=e},m.createElement("div",{className:n.classNames("k-pager-numbers-wrap")},T,z,y,q,B),u?e&&G:G,u?t&&H:H)}renderButton(e,t,r,n,o,s){return m.createElement(a.Button,{fillMode:"flat",themeColor:"base",size:this.props.size,rounded:null,className:t,icon:n,svgIcon:o,title:r,role:"button","aria-disabled":s,onClick:t=>{t.preventDefault(),this.changePage(e,t)}})}get totalPages(){return Math.ceil((this.props.total||0)/this.props.take)}};He.propTypes={className:r.string,style:r.object,total:r.number.isRequired,skip:r.number.isRequired,take:r.number.isRequired,buttonCount:r.number,info:r.bool,type:r.oneOf(["numeric","input"]),pageSizes:r.arrayOf(r.oneOfType([r.string,r.number])),previousNext:r.bool,onPageChange:r.func,messagesMap:r.func,size:r.oneOf([null,"small","medium","large"]),dir:r.string},He.defaultProps={buttonCount:10,info:!0,type:"numeric",size:"medium"};let _e=He;o.registerForIntl(_e),o.registerForLocalization(_e);let $e=class extends m.Component{constructor(){super(...arguments),this.draggable=null,this.isDragged=!1,this.onDrag=e=>{this.isDragged=!0;const t=this.draggable&&this.draggable.element;t&&this.props.resize(e.event,t,!1)},this.onRelease=e=>{if(!this.isDragged)return;const t=this.draggable&&this.draggable.element;t&&this.props.resize(e.event,t,!0),this.isDragged=!1},this.onDoubleClick=e=>{if(this.isDragged)return;const t=this.draggable&&this.draggable.element;t&&this.props.autofit&&this.props.autofit(e,t)}}render(){return m.createElement(n.Draggable,{onPress:e=>{e.event.originalEvent.stopPropagation()},onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("span",{className:"k-column-resizer",style:{touchAction:"none"},draggable:!1,onDoubleClick:this.onDoubleClick}))}};const We="data-keyboardnavlevel",je="data-keyboardnavscope",Ye="data-keyboardnavheader",Ve="data-keyboardnavbody",Xe="data-keyboardnavid",Ue="_filter",Qe=["input:not([disabled]):not([type=hidden])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[contenteditable]"],Ze=[...Qe,"[tabindex]"],Je=[...Qe,"[tabindex]"].map((e=>e+':not([tabindex="-1"])')),et={[je]:!0},tt={[Ye]:!0},rt={[Ve]:!0},nt=(e,t,r="cell")=>`${t}_${e}_${r}`,at=e=>{if(!e)return;return e.getAttribute(Xe)||void 0},ot=e=>!!e&&!!e.getAttribute(Xe),st=e=>e.querySelector(`[${Ye}]`),it=e=>e.querySelector(`[${Ve}]`),lt=(e,t,r,n,a)=>{if(!r)return[];let o=e+(a?-1:1);for(;o>=0&&o<n.length;){const e=n[o][t];if(e!==r)return[e,[o,t]];o+=a?-1:1}return[]},ct=(e,t,r,n,a)=>{if(!r)return[];let o=t+(a?-1:1);for(;o>=0&&o<n[e].length;){const t=n[e][o];if(t!==r)return[t,[e,o]];o+=a?-1:1}return[]},ut=(e,t)=>{if(t)for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)if(e[r][n]===t)return[r,n]},pt=e=>e?`${e}${Ue}`:"",dt={generateNavigatableId:nt,getNavigatableId:at,getNavigatableLevel:e=>{if(e)return parseInt(e.getAttribute(We)||"",10)},getNavigatableElement:(e,t={level:0})=>e.querySelector(`[${We}='${t.level}']`),getClosestNavigatableElement:e=>e.parentElement&&e.parentElement.closest(`[${We}]`),getActiveElement:(e,t)=>e.querySelector(`[${Xe}='${t}']`),getClosestScope:e=>e.parentElement&&e.parentElement.closest(`[${je}]`),getHeaderElement:st,getBodyElement:it,getFocusableElements:(e,t={focusable:!1})=>{let r=t.focusable?Ze:Je;return Array.from(e.querySelectorAll(r.join(",")))},getNavigatableElements:(e,t={level:0})=>{if(!e)return[];let r=Ze.map((e=>e+`[${We}='${t.level}']`)).join(",");return Array.from(e.querySelectorAll(r))},filterNavigatableElements:(e={level:0})=>{let t=Ze.map((t=>t+`[${We}='${e.level}']`)).join(",");return e=>e.matches(t)},focusElement:e=>{const{elementForFocus:t,event:r,contextStateRef:n,prevElement:a}=e;n.current&&t&&t.focus&&(r.preventDefault(),t.focus(),ot(t)&&(t.setAttribute("tabIndex","0"),n.current.activeId=at(t)),a&&ot(a)&&a.setAttribute("tabIndex","-1"))},getIdPrefix:e=>e.current?e.current.idPrefix:"",isNavigatable:ot,findNextIdByRowIndex:lt,findNextIdByCellIndex:ct,findId:ut,getNextNavigationIndex:e=>e.current?e.current.navigationMatrix.length:0,getFilterColumnId:pt},ht={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0};function gt(e,t){const r=e[t].depth;let n=null;for(let a=t+1;a<e.length;a++)if(e[a].depth===r){n=e[a];break}return n}const mt=e=>{let t=e.width?parseFloat(e.width.toString()):0;return!t&&e.children&&e.children.length&&(t=e.children.reduce(((e,t)=>mt(t)+e),0)),t};function ft(e,t,r){let n=new Array(e.length).fill(0),a=0;t.forEach((e=>{if(e.locked&&(!e.left||r))if(e.left=n[e.depth],a=mt(e),0===e.children.length)for(let t=e.depth;t<n.length;t++)n[t]+=a;else n[e.depth]+=a}))}function vt(e,t,r){let n=0,a=new Array(e.length).fill(0);for(let e=t.length-1;e>=0;e--){const o=t[e];if(o.locked&&(!o.right||r)){if(o.right=a[o.depth],n=mt(o),0===o.children.length)for(let e=o.depth;e<a.length;e++)a[e]+=n;else a[o.depth]+=n;const r=gt(t,e);o.rightBorder=!(r&&r.locked)}}}function bt(e){return!(!e||"rtl"!==getComputedStyle(e).direction)}function Ct(e,t){if(!t||!e||!e.originalEvent)return-1;const r={x:e.clientX,y:e.originalEvent.clientY};let n=t.ownerDocument?t.ownerDocument.elementFromPoint(r.x,r.y):null;for(;n&&n.parentElement!==t;)n=n.parentElement;if(!n&&t.matches("tr")){const e=e=>{const t=e.getBoundingClientRect();return r.x>t.left&&r.x<t.left+t.width&&r.y>t.top&&r.y<t.top+t.height};n=Array.from(t.children).find(e)||null}const a=t.children;for(let e=0;e<a.length;e++)if(a[e]===n)return e;return-1}let Et=class extends m.PureComponent{constructor(e){super(e),this.elementRef=m.createRef(),this.state={visible:!1,top:0,left:0,innerText:"",status:"k-i-cancel"},this.hiddenElementRef=m.createRef()}get element(){return this.elementRef.current}render(){const e=this.hiddenElementRef.current,{status:t}=this.state,r=this.state.visible&&n.canUseDOM&&c.createPortal(m.createElement("div",{ref:this.elementRef,className:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.state.top+"px",left:this.state.left+"px"}},m.createElement(n.IconWrap,{className:"k-drag-status",name:t,icon:"k-i-cancel"===t?l.cancelIcon:l.plusIcon}),this.state.innerText),e&&e.ownerDocument?e.ownerDocument.body:document.body);return m.createElement(m.Fragment,null,r,m.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}},xt=class extends m.PureComponent{constructor(e){super(e),this.state={height:0,visible:!1,left:0,top:0},this.hiddenElementRef=m.createRef()}render(){const e=this.hiddenElementRef.current,t=this.state.visible&&n.canUseDOM&&c.createPortal(m.createElement("div",{className:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.state.top+"px",left:this.state.left+"px",height:this.state.height+"px"}}),e&&e.ownerDocument?e.ownerDocument.body:document.body);return m.createElement(m.Fragment,null,t,m.createElement("div",{ref:this.hiddenElementRef,style:{display:"none"}}))}};function yt(e,t,r){return r?{...e,[t]:r.length?[...r]:void 0}:e&&e[t]?[...e[t]]:[]}function It(e,t,r){if(e[r]){let n=yt(e,r,u.orderBy(yt(e,r),t)),a=yt(n,r).map((e=>It(e,t,r)));return{...n,[r]:a}}return e}function kt(e,t,r){let n=yt(e,r);if(n&&n.length){n=n.map((e=>kt(e,t,r)));const a=u.filterBy(n,{filters:[{filters:t,logic:"and"},{operator:e=>!!(e[r]||[]).length}],logic:"or"});return yt(e,r,a)}return e}const Rt=(e,t,r)=>{const n=e[r]||[],a=n.findIndex(t);if(-1!==a){const t=[...n];return t.splice(a,1),{...e,[r]:t}}return e},St=(e,t,r)=>n.getItemPath(e,t,r),Lt="groupId",Ft="items",Dt=(e,t,r)=>{e.items&&(e[Lt]=`${r}${r&&"_"}${e.value}${e.field}`,t>1&&e.items.forEach((r=>Dt(r,t-1,e[Lt]))))},Mt=m.createContext(void 0);Mt.displayName="KendoReactTableKeyboardNavigationContext";const Nt=(e,t)=>{const r=m.useContext(Mt);return r&&e&&!1!==t?{tabIndex:r&&r.activeId&&r.activeId===e?0:-1,[We]:r.level,[Xe]:e}:{}},wt=e=>{const{navigationStateRef:t,scope:r}=e;if(!t.current||!r)return;const n=[],a=st(r),o=it(r);if(!a||!o)return;const s=Array.from(a.children),i=Array.from(o.children);[...s,...i].forEach(((e,t)=>{Array.from(e.children).forEach((e=>{const r=at(e);if(!r)return;const a=e.rowSpan||1,o=e.colSpan||1;let s;for(let e=t,o=t+a;e<o;e++){if(n[e]||(n[e]=[]),void 0===s){const t=n[e].findIndex((e=>!e));s=t>-1?t:n[e].length}n[e][s]=r||""}for(let e=s+1,a=s+o;e<a;e++)n[t][e]=r||""}))})),t.current.navigationMatrix=n.filter((e=>!!e)),t.current.lastHeaderIndex=s.length-1},At={onConstructor:e=>{const{navigatable:t,contextStateRef:r,navigationStateRef:a,idPrefix:o}=e;t&&(r.current={activeId:"",level:0},a.current={activeElementIsFocused:!1,prevNavigationIndexes:void 0,idPrefix:o||n.guid(),navigationMatrix:[],lastHeaderIndex:-1})},onComponentDidMount:e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(r.current&&n.current&&t){wt(e);const a=n.current.navigationMatrix[0][0],o=dt.getActiveElement(t,a);a&&o&&(r.current.activeId=a,o.setAttribute("tabIndex","0"))}},onGetSnapshotBeforeUpdate:e=>{const{contextStateRef:t,navigationStateRef:r,document:a}=e;if(t.current&&r.current&&a){const e=n.getActiveElement(a),o=dt.getNavigatableId(e);o&&o===t.current.activeId&&(r.current.activeElementIsFocused=!0)}},onComponentDidUpdate:e=>{const{scope:t,contextStateRef:r,navigationStateRef:n}=e;if(wt(e),r.current&&n.current&&t){if(!dt.getActiveElement(t,r.current.activeId)){const e=n.current.navigationMatrix[0][0],a=dt.getActiveElement(t,e);e&&a&&(r.current.activeId=e,a.setAttribute("tabIndex","0"),n.current.activeElementIsFocused&&a.focus())}n.current.activeElementIsFocused=!1}},onFocus:(e,t)=>{const{contextStateRef:r}=t;if(e.isDefaultPrevented()||!r.current)return;const n=e.target,a=dt.getNavigatableId(n);if(a&&a!==r.current.activeId){const e=dt.getClosestScope(n);if(!e)return;const t=dt.getActiveElement(e,r.current.activeId);t&&t.setAttribute("tabIndex","-1"),n.setAttribute("tabIndex","0"),r.current.activeId=a}},onKeyDown:(e,t)=>{const{contextStateRef:r,navigationStateRef:a,onNavigationAction:o}=t;if(e.isDefaultPrevented()||!r.current||!a.current)return;if(e.keyCode===n.Keys.esc){const t=dt.getClosestNavigatableElement(e.target);return void dt.focusElement({elementForFocus:t,event:e,contextStateRef:r})}const s=e.target,i=dt.getNavigatableId(s),l=dt.getNavigatableLevel(s),c=dt.getClosestScope(s),u=a.current.navigationMatrix;if(void 0!==l&&c){if(e.keyCode===n.Keys.enter){const t=dt.getNavigatableElement(s,{level:l+1});if(t)return void dt.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:s});{const t=dt.getFocusableElements(s)[0];return void dt.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:s})}}if(e.keyCode===n.Keys.up||e.keyCode===n.Keys.down||e.keyCode===n.Keys.left||e.keyCode===n.Keys.right){const t=e.keyCode===n.Keys.up||e.keyCode===n.Keys.left,l=e.keyCode===n.Keys.up||e.keyCode===n.Keys.down;let p;if(a.current&&a.current.prevNavigationIndexes){const[e,t]=a.current.prevNavigationIndexes;p=u[e][t]===i?a.current.prevNavigationIndexes:ut(u,i)}else p=ut(u,i);if(p){const[n,d]=p,[h,g]=l?lt(n,d,i,u,t):ct(n,d,i,u,t);if(h){const t=dt.getActiveElement(c,h);dt.focusElement({elementForFocus:t,event:e,contextStateRef:r,prevElement:s}),a.current.prevNavigationIndexes=g,o&&o({focusElement:t,event:e})}}}}},generateMatrix:wt},Pt="data-grid-row-index",Kt="data-grid-col-index",Ot="data-prevent-selection",Tt={},zt=(e,t)=>{let r=e;for(;r;){if(r.tagName===t)return r;if("TABLE"===r.tagName)return null;r=r.parentElement}return null},qt=e=>{if(!e)return;const t=e.getAttribute(Pt);return t?parseInt(t,10):void 0},Bt=e=>{if(!e)return;const t=e.getAttribute(Kt);return t?parseInt(t,10):void 0},Gt=e=>{const{event:t,dataItemKey:r,selectedState:a}=e,{dataItems:o,startRowIndex:s,endRowIndex:i,startColIndex:l,endColIndex:c,cell:u,isDrag:p,ctrlKey:d,shiftKey:h,metaKey:g,componentId:m,mode:f,dataItem:v}=t,b=n.getter(r);let C={};const E=null!==v;if("single"===f){const e=o.slice(s,s+1)[0],t=b(e);Tt[m]={rowIndex:s,colIndex:l},C[t]=!u||[l]}else if(!p&&(h||d||g||E)){if(d||g||E){Tt[m]={rowIndex:s,colIndex:l};const e=o.slice(s,i+1)[0],t=b(e);C={...a},C[t]=u&&!E?((e,t)=>!e||Array.isArray(e)&&0===e.length?[t]:e.findIndex((e=>e===t))>-1?e.filter((e=>e!==t)):[...e,t])(C[t],l):!C[t]}else if(h){const e=Tt[m]&&Tt[m].rowIndex||0,t=Tt[m]&&Tt[m].colIndex||0,r=Math.min(e,s,i),n=Math.max(e,s,i),a=Math.min(t,l,c),p=Math.max(t,l,c),d=[];for(let e=a;e<=p;e++)d.push(e);o.slice(r,n+1).forEach((e=>{const t=b(e);C[t]=!u||[...d]}))}}else{p||(Tt[m]={rowIndex:s,colIndex:l});const e=[];for(let t=l;t<=c;t++)e.push(t);o.slice(s,i+1).forEach((t=>{const r=b(t);C[r]=!u||[...e]}))}return C},Ht=n.hasRelativeStackingContext(),_t=e=>{if(!e||!Ht)return null;let t=e.parentElement;for(;t;){if("none"!==window.getComputedStyle(t).transform)return t;t=t.parentElement}},$t=e=>{if(e&&e.ownerDocument&&e!==e.ownerDocument.body){const t=e.getBoundingClientRect();return{left:t.left-e.scrollLeft,top:t.top-e.scrollTop}}return{left:0,top:0}},Wt=e=>({enabled:!!e&&("boolean"!=typeof e.enabled||e.enabled),drag:!!e&&!!e.drag,mode:e&&e.mode?e.mode:"multiple",cell:!(!e||!e.cell)});var jt=(e=>(e.copy="copy",e.cut="cut",e.paste="paste",e))(jt||{});const Yt=e=>class extends m.Component{constructor(){super(...arguments),this.filterChange=e=>{this.props.onFilterChange&&this.props.onFilterChange(e)},this.inputChange=t=>{const r=t.target.value,{filter:n=[],field:a=""}=this.props,o=this.findCellFilter(),s=o?n.map((e=>e.field===a?{...o,value:r}:e)):[...n,{...e.emptyFilter,value:r,field:a}];this.filterChange({filter:s,field:a,syntheticEvent:t.syntheticEvent})},this.operatorChange=t=>{const{operator:r}=t.target.value,{filter:n=[],field:a=""}=this.props,o=this.findCellFilter(),s=o?n.map((e=>e.field===a?{...o,operator:r}:e)):[...n,{...e.emptyFilter,field:a,operator:r}];this.filterChange({filter:s,field:a,syntheticEvent:t.syntheticEvent})},this.clearButtonClick=e=>{const{filter:t=[],field:r=""}=this.props;this.filterChange({filter:t.filter((e=>e.field!==r)),field:r,syntheticEvent:e})},this.findCellFilter=()=>{const{filter:e=[],field:t}=this.props;return e.find((e=>e.field===t))}}render(){const{clearButtonTitle:t="",operators:r=[]}=this.props,o=this.findCellFilter()||{...e.emptyFilter,operator:""},{operator:s,value:i}=o,c={ariaLabel:"filter",value:r.find((e=>e.operator===s))||null,onChange:this.operatorChange,className:"k-dropdown-operator",iconClassName:"k-i-filter",svgIcon:l.filterIcon,data:r,textField:"text",popupSettings:{width:""},components:this.props.components};return m.createElement("div",{className:"k-filtercell"},m.createElement("span",null,e.inputComponent({value:i,onChange:this.inputChange,components:this.props.components,ariaLabel:this.props.ariaLabel,min:this.props.min,max:this.props.max}),m.createElement("div",{className:"k-filtercell-operator"},e.operatorComponent(c,this.props)," ",m.createElement(a.Button,{className:n.classNames({"k-clear-button-visible":!(null===i||""===i)||s}),title:t,type:"button",onClick:this.clearButtonClick,icon:"filter-clear",svgIcon:l.filterClearIcon,disabled:!(null!==i&&""!==i||s)}))))}},Vt={emptyFilter:{operator:"eq",value:""},inputComponent:e=>null,operatorComponent:function(e,t){const{filter:r=[],field:n}=t,a=r.find((e=>e.field===n));return m.createElement(i.DropDownList,{...e,value:e.data.find((e=>e.operator===(a?a.value:""))),onChange:e=>{if(!t.onFilterChange)return;const o=e.target.value.operator;if(""===o)return void(a&&t.onFilterChange.call(void 0,{filter:r.filter((e=>e.field!==a.field)),field:n,syntheticEvent:e.syntheticEvent}));let s=a?r.map((e=>e.field===n?{...a,value:o}:e)):[...r,{value:o,field:n,operator:"eq"}];t.onFilterChange.call(void 0,{filter:s,field:n,syntheticEvent:e.syntheticEvent})}})}};let Xt=class extends(Yt(Vt)){};const Ut={inputComponent:e=>m.createElement(p.DatePicker,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};let Qt=class extends(Yt(Ut)){};const Zt={inputComponent:e=>m.createElement(s.NumericTextBox,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"eq",value:null}};let Jt=class extends(Yt(Zt)){};const er={inputComponent:e=>m.createElement(s.Input,{...e}),operatorComponent:e=>m.createElement(i.DropDownList,{...e}),emptyFilter:{operator:"contains",value:""}};let tr=class extends(Yt(er)){};const rr=e=>{const{ariaSort:t,colSpan:r,rowSpan:n,className:a,style:o,columnId:s,onKeyDown:i,navigatable:l,ariaColumnIndex:c,ariaLabel:u,role:p,ariaSelected:d}=e,h=Nt(s,l);return m.createElement("th",{"aria-sort":t,"aria-label":u,"aria-colindex":c,"aria-selected":d,colSpan:r,rowSpan:n,className:a,style:o,onKeyDown:i,role:p,...h},e.children)};rr.displayName="KendoReactHeaderThElement";const nr="k-table-row k-filter-row",ar=(e,t,r)=>{let n=""+(r?"k-grid-header-sticky":"");return e.some((e=>e.field===t))&&(n+=" k-sorted"),n};let or=class extends m.Component{constructor(){super(...arguments),this.element=null}componentDidMount(){const{columnResize:e}=this.props;e&&e.resizable&&e.setIsRtl(bt(this.element))}render(){return m.createElement("thead",{className:"k-table-thead k-grid-header",role:"presentation",ref:e=>this.element=e,...tt},this.props.headerRow,this.props.filterRow)}};function sr(e){const t=e.onClick?{onClick:e.onClick}:{},r=m.createElement("span",{className:"k-link",...t},m.createElement("span",{className:"k-column-title"},e.title||e.field||" "),e.children);return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,r,e):r)}const ir=(...e)=>Object.assign({allowUnsort:!0,mode:"single"},...e);let lr=class extends m.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return m.createElement(n.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},m.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}};const cr={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},ur={none:"none",asc:"ascending",desc:"descending"};class pr extends m.Component{constructor(){super(...arguments),this.cellClick=(e,t)=>{if(e.preventDefault(),!this.props.sortChange)return;const{allowUnsort:r,mode:n}=ir(this.props.sortable||!1,t.sortable||!1),a=(this.props.sort||[]).filter((e=>e.field===t.field))[0],o=cr[r][a&&a.dir||""],s="single"===n?[]:(this.props.sort||[]).filter((e=>e.field!==t.field));""!==o&&t.field&&s.push({field:t.field,dir:o}),this.props.sortChange(e,s,t.field)},this.cellKeyDown=(e,t)=>{e.isDefaultPrevented()||e.keyCode===n.Keys.enter&&this.cellClick(e,t)},this.cells=e=>e.map(((e,t)=>{const r=this.props.columns[e],{columnResize:a}=this.props,s=a&&a.resizable&&r.resizable,i=this.props.sortable&&r.sortable,l=this.props.sort?this.props.sort.findIndex((e=>e.field===r.field)):-1,c=l>=0&&this.props.sort[l].dir||"none",u={sort:this.props.sort,onSortChange:this.props.sortChange,filter:this.props.columnMenuFilter,onFilterChange:this.props.columnMenuFilterChange,field:r.field},p={field:r.field,onClick:i&&(e=>this.cellClick(e,r))||void 0,selectionChange:this.props.selectionChange,title:r.title,selectionValue:r.headerSelectionValue,render:this.props.cellRender,children:this.sortIcon(l),sort:this.props.sort,sortable:this.props.sortable,sortChange:this.props.sortChange,filterChange:this.props.filterChange,columns:this.props.columns,columnMenuWrapperProps:u},d=r.columnMenu||this.props.columnMenu,h=n.classNames("k-table-th",{"k-first":r.kFirst,"k-filterable":!!d,"k-header":!0,"k-grid-header-sticky":r.locked,"k-sorted":this.props.sort&&this.props.sort.some((e=>e.field===r.field))},r.headerClassName),g=void 0!==r.locked?{left:r.left,right:r.right,borderRightWidth:r.rightBorder?"1px":""}:{},f=o.provideLocalizationService(this).toLanguageString(Ke,Te[Ke]);let v=r.isAccessible?{ariaSort:i?ur[c]:void 0,role:"columnheader",ariaColumnIndex:r.ariaColumnIndex,ariaSelected:!1,ariaDescription:i?f:""}:{role:"presentation"};return m.createElement(rr,{key:t,colSpan:r.colSpan,rowSpan:r.rowSpan,className:h,style:g,columnId:r.id,navigatable:r.navigatable,onKeyDown:i&&(e=>this.cellKeyDown(e,r))||void 0,...v},r.headerCell&&m.createElement(r.headerCell,{...p}),!r.headerCell&&m.createElement("span",{className:"k-cell-inner"},m.createElement(sr,{...p}),d&&m.createElement(d,{...u})),a&&s&&m.createElement($e,{key:"ColumnResizer",resize:(e,t,n)=>a.dragHandler(e,r,t,n)}))}))}sortIcon(e){if(!this.props.sort||e<0)return null;const t=this.props.sort[e].dir;return t?[m.createElement(n.IconWrap,{key:1,name:`sort-${t}-small`,icon:"asc"===t?l.sortAscSmallIcon:l.sortDescSmallIcon}),this.props.sort.length>1&&m.createElement("span",{key:2,className:"k-sort-order"},e+1)]:null}render(){return this.props.columnsMap.map(((e,t)=>this.props.pressHandler&&m.createElement(lr,{key:t,pressHandler:this.props.pressHandler,dragHandler:this.props.dragHandler,releaseHandler:this.props.releaseHandler,ariaRowIndex:t+1},this.cells(e))||m.createElement("tr",{className:"k-table-row","aria-rowindex":t+1,role:"row"},this.cells(e))))}}o.registerForLocalization(pr);const dr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=o.provideLocalizationService(this),{ariaLabel:t=e.toLanguageString(le,Te[le])}=this.props;return m.createElement(s.TextBox,{value:this.props.filter.value||"",onChange:this.onChange,"aria-label":t})}};dr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,ariaLabel:r.string};let hr=dr;o.registerForLocalization(hr);const gr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=o.provideLocalizationService(this),{min:t,max:r,filter:n,ariaLabel:a=e.toLanguageString(ie,Te[ie])}=this.props;return m.createElement(s.NumericTextBox,{value:"number"==typeof n.value?n.value:null,onChange:this.onChange,ariaLabel:a,"aria-valuemin":t,"aria-valuemax":r,min:t,max:r})}};gr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired};let mr=gr;o.registerForLocalization(mr);const fr=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value}})}}render(){const e=this.props.filter;return m.createElement(p.DatePicker,{value:e.value||null,onChange:this.onChange,ariaLabel:this.props.ariaLabel})}};fr.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,ariaLabel:r.string};let vr=fr;const br=class extends m.Component{constructor(){super(...arguments),this.onChange=e=>{this.props.onFilterChange.call(void 0,{nextFilter:{...this.props.filter,value:e.value.value}})}}render(){const e=o.provideLocalizationService(this),{filter:t,data:r=[],defaultItem:n,ariaLabel:a=e.toLanguageString(se,Te[se])}=this.props,s=r.map((t=>({...t,text:e.toLanguageString(t.text,Te[t.text]||t.text)})));return m.createElement(i.DropDownList,{value:s.find((e=>e.value===t.value))||null,onChange:this.onChange,defaultItem:n,data:s,textField:"text",ariaLabel:a})}};br.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,data:r.arrayOf(r.shape({text:r.string,value:r.any})),defaultItem:r.any,ariaLabel:r.string};let Cr=br;o.registerForLocalization(Cr);const Er=class extends m.Component{constructor(){super(...arguments),this.data=[{text:W,value:!0},{text:j,value:!1}]}render(){return m.createElement(Cr,{filter:this.props.filter,onFilterChange:this.props.onFilterChange,data:this.props.data||this.data,defaultItem:this.props.defaultItem,ariaLabel:this.props.ariaLabel})}};Er.propTypes={filter:r.object.isRequired,onFilterChange:r.func.isRequired,data:r.arrayOf(r.shape({text:r.string,value:r.any})),ariaLabel:r.string,defaultItem:r.any};let xr=Er;const yr=[{text:z,operator:"contains"},{text:q,operator:"doesnotcontain"},{text:N,operator:"eq"},{text:w,operator:"neq"},{text:T,operator:"startswith"},{text:B,operator:"endswith"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"},{text:K,operator:"isempty"},{text:O,operator:"isnotempty"}],Ir=[{text:N,operator:"eq"},{text:w,operator:"neq"},{text:G,operator:"gte"},{text:H,operator:"gt"},{text:_,operator:"lte"},{text:$,operator:"lt"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"}],kr=[{text:N,operator:"eq"},{text:w,operator:"neq"},{text:Y,operator:"gte"},{text:V,operator:"gt"},{text:X,operator:"lt"},{text:U,operator:"lte"},{text:A,operator:"isnull"},{text:P,operator:"isnotnull"}],Rr=[{text:N,operator:"eq"},{text:w,operator:"neq"}];const Sr=e=>"contains"===e||"doesnotcontain"===e||"startswith"===e||"endswith"===e,Lr=e=>"isnull"===e||"isnotnull"===e||"isempty"===e||"isnotempty"===e,Fr=e=>{void 0===e.value&&!Lr(e.operator)&&(e.value=Sr(e.operator)?"":null)},Dr=class extends m.Component{constructor(){super(...arguments),this.onFieldChange=e=>{const t=e.value.name,r=this.props.fields.find((e=>e.name===t)),n=this.props.filter,a=r&&!r.operators.some((e=>e.operator===n.operator))?r.operators[0].operator:n.operator,o={field:t,operator:a};Fr(o),this.triggerOnFilterChange(n,o,e)},this.onOperatorChange=e=>{const t=e.value.operator,r=this.props.filter;let n;if(Lr(t)){let{value:e,...a}=r;n={...a,operator:t}}else n={...r,operator:t};Fr(n),this.triggerOnFilterChange(r,n,e)},this.onInputChange=e=>{const t=this.props.filter;let r=e.nextFilter;if(Lr(r.operator)){const e=this.props.fields.find((e=>e.name===r.field));r={...r,operator:e&&e.operators[0].operator||r.operator}}this.triggerOnFilterChange(t,r,e)},this.triggerOnFilterChange=(e,t,r)=>{const n={prevFilter:e,nextFilter:t,syntheticEvent:r.syntheticEvent,nativeEvent:r.nativeEvent,target:this};this.props.onChange.call(void 0,n)},this.onFilterRemove=e=>{const t={filter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onRemove.call(void 0,t)}}render(){const e=o.provideLocalizationService(this),{fields:t,filter:r,ariaLabel:n=e.toLanguageString(ne,Te[ne])}=this.props,s=t.find((e=>e.name===r.field)),c=(s&&s.operators||[]).map((t=>({...t,text:e.toLanguageString(t.text,Te[t.text]||t.text)})));return m.createElement("div",{className:"k-filter-toolbar"},m.createElement(a.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:n},m.createElement(a.ToolbarItem,{className:"k-filter-field"},m.createElement(i.DropDownList,{className:"k-filter-dropdown",data:t,textField:"label",value:t.find((e=>e.name===r.field)),onChange:this.onFieldChange,ariaLabel:e.toLanguageString(ae,Te[ae])})),m.createElement(a.ToolbarItem,{className:"k-filter-operator"},m.createElement(i.DropDownList,{data:c,textField:"text",value:c.find((e=>e.operator===r.operator)),onChange:this.onOperatorChange,ariaLabel:e.toLanguageString(oe,Te[oe])})),m.createElement(a.ToolbarItem,{className:"k-filter-value"},s&&m.createElement(s.filter,{filter:r,onFilterChange:this.onInputChange,min:s.min,max:s.max})),m.createElement(a.Button,{className:"k-toolbar-button",title:e.toLanguageString(te,Te[te]),icon:"x",svgIcon:l.xIcon,fillMode:"flat",type:"button",onClick:this.onFilterRemove})))}};Dr.propTypes={filter:r.object.isRequired,fields:r.array.isRequired,ariaLabel:r.string,onChange:r.func.isRequired,onRemove:r.func.isRequired};let Mr=Dr;o.registerForLocalization(Mr);const Nr=class e extends m.Component{constructor(){super(...arguments),this.onGroupRemove=e=>{const t={filter:this.props.filter,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onRemove.call(void 0,t)},this.onAddExpression=e=>{const t=this.props.filter,r=this.props.fields[0],n={field:r.name,operator:r.operators[0].operator};n.value=Sr(n.operator)?"":null;const a={nextFilter:{...t,filters:[...t.filters,n]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,a)},this.onAddGroup=e=>{const t=this.props.filter,r={nextFilter:{...t,filters:[...t.filters,{...this.props.defaultGroupFilter}]},prevFilter:t,target:this,syntheticEvent:e,nativeEvent:e.nativeEvent};this.props.onChange.call(void 0,r)},this.onLogicAnd=e=>this.changeLogic("and",e),this.onLogicOr=e=>this.changeLogic("or",e),this.changeLogic=(e,t)=>{const r=this.props.filter;if(r.logic!==e){const n={nextFilter:{...r,logic:e},prevFilter:r,target:this,syntheticEvent:t,nativeEvent:t.nativeEvent};this.props.onChange.call(void 0,n)}},this.replaceFilter=(e,t)=>{const r=this.props.filter,n=r.filters.map((r=>r===e?t:r));return{...r,filters:n}},this.onChange=e=>{const t={nextFilter:this.replaceFilter(e.prevFilter,e.nextFilter),prevFilter:this.props.filter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,t)},this.onRemove=e=>{const t=this.props.filter,r=t.filters.filter((t=>t!==e.filter)),n={nextFilter:{...t,filters:r},prevFilter:t,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,n)}}render(){const t=o.provideLocalizationService(this),{fields:r,filter:n,ariaLabel:s=t.toLanguageString(re,Te[re])}=this.props;return m.createElement(m.Fragment,null,m.createElement("div",{className:"k-filter-toolbar"},m.createElement(a.Toolbar,{keyboardNavigation:!1,role:"toolbar",ariaLabel:s},m.createElement(a.ButtonGroup,{className:"k-toolbar-button-group"},m.createElement(a.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicAnd,selected:"and"===n.logic,type:"button"},t.toLanguageString(Q,Te[Q])),m.createElement(a.Button,{className:"k-toolbar-button",togglable:!0,onClick:this.onLogicOr,selected:"or"===n.logic,type:"button"},t.toLanguageString(Z,Te[Z]))),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(J,Te[J]),icon:"filter-add-expression",svgIcon:l.filterAddExpressionIcon,type:"button",onClick:this.onAddExpression},t.toLanguageString(J,Te[J])),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(ee,Te[ee]),icon:"filter-add-group",svgIcon:l.filterAddGroupIcon,type:"button",onClick:this.onAddGroup},t.toLanguageString(ee,Te[ee])),m.createElement(a.Button,{className:"k-toolbar-button",title:t.toLanguageString(te,Te[te]),icon:"x",svgIcon:l.xIcon,fillMode:"flat",type:"button",onClick:this.onGroupRemove}))),n.filters.length>0&&m.createElement("ul",{role:"group",className:"k-filter-lines"},n.filters.map(((t,n)=>m.createElement("li",{role:"treeitem",key:n,className:"k-filter-item"},u.isCompositeFilterDescriptor(t)?m.createElement(e,{filter:t,fields:r,onChange:this.onChange,onRemove:this.onRemove,defaultGroupFilter:this.props.defaultGroupFilter,ariaLabel:this.props.ariaLabel,ariaLabelExpression:this.props.ariaLabelExpression}):m.createElement(Mr,{filter:t,fields:r,ariaLabel:this.props.ariaLabelExpression,onChange:this.onChange,onRemove:this.onRemove}))))))}};Nr.propTypes={filter:r.object.isRequired,fields:r.array.isRequired,ariaLabel:r.string,ariaLabelExpression:r.string,onChange:r.func.isRequired,onRemove:r.func.isRequired,defaultGroupFilter:r.object.isRequired};let wr=Nr;o.registerForLocalization(wr);const Ar=class extends m.Component{constructor(e){super(e),this.onFilterChange=e=>{const t={filter:e.nextFilter,syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,t)},this.onGroupRemove=e=>{const t={filter:{...this.props.value,filters:[]},syntheticEvent:e.syntheticEvent,nativeEvent:e.nativeEvent,target:this};this.props.onChange.call(void 0,t)},n.validatePackage(Ge)}render(){return m.createElement("div",{className:n.classNames("k-filter",this.props.className),style:this.props.style},m.createElement("ul",{role:"tree",className:"k-filter-container","aria-label":this.props.ariaLabel},m.createElement("li",{role:"treeitem",className:"k-filter-group-main"},m.createElement(wr,{filter:this.props.value,fields:this.props.fields,ariaLabel:this.props.ariaLabelGroup,ariaLabelExpression:this.props.ariaLabelExpression,onChange:this.onFilterChange,onRemove:this.onGroupRemove,defaultGroupFilter:this.props.defaultGroupFilter||{logic:"and",filters:[]}}))))}};Ar.propTypes={className:r.string,style:r.object,fields:function(e,t){const r=e[t];return void 0===r?new Error(`Property '${t}' is missing.`):Array.isArray(r)?Object.keys(r.reduce(((e,t)=>({...e,[t.name]:1})),{})).length!==r.length?new Error(`Property '${t}' needs to contain objects with unique 'name' field.`):null:new Error(`Property '${t}' needs to be Array<FieldSettings>.`)},ariaLabelGroup:r.string,ariaLabelExpression:r.string,value:r.object.isRequired,onChange:r.func.isRequired};let Pr=Ar;const Kr=e=>m.createElement("div",{onClick:e.onClick,className:n.classNames("k-columnmenu-item",{"k-selected":e.selected},{"k-disabled":e.disabled})},(e.iconClass||e.svgIcon)&&m.createElement(n.IconWrap,{name:e.iconClass?n.toIconName(e.iconClass):void 0,icon:e.svgIcon}),e.title),Or=[{text:xe,operator:"contains"},{text:ye,operator:"doesnotcontain"},{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:Ee,operator:"startswith"},{text:Ie,operator:"endswith"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"},{text:be,operator:"isempty"},{text:Ce,operator:"isnotempty"}],Tr=[{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:ke,operator:"gte"},{text:Re,operator:"gt"},{text:Se,operator:"lte"},{text:Le,operator:"lt"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"}],zr=[{text:ge,operator:"eq"},{text:me,operator:"neq"},{text:De,operator:"gte"},{text:Me,operator:"gt"},{text:Ne,operator:"lt"},{text:we,operator:"lte"},{text:fe,operator:"isnull"},{text:ve,operator:"isnotnull"}],qr=[{text:Fe,operator:""}];let Br=class{static get text(){return[...Or]}static get numeric(){return[...Tr]}static get date(){return[...zr]}static get boolean(){return[...qr]}};const Gr=e=>{const{filter:t,onFilterChange:r,operators:n,initialFilter:a}=e,s=m.useCallback((e=>{const n=t,o=e.target.value.operator,s=n?{...n,operator:o}:{value:a.value,operator:o};r.call(void 0,e.syntheticEvent,s,n)}),[t,r,a]),l=m.useCallback((e=>{const a=e.target.value,o=t,s=o?{...o,value:a}:{value:a,operator:n[0].operator};r.call(void 0,e,s,o)}),[t,r,n]),c=o.useLocalization(),u=n.map((e=>({...e,text:c.toLanguageString(e.text,Te[e.text])})));return m.createElement(m.Fragment,null,m.createElement(i.DropDownList,{value:u.find((e=>e.operator===t.operator))||null,onChange:s,data:u,textField:"text"}),m.createElement(e.input,{value:t.value,onChange:l}))},Hr=e=>{const{filter:t,onFilterChange:r}=e,n=m.useCallback((e=>r.call(void 0,e.syntheticEvent,{...t,value:e.value},t)),[t,r]),a=Br.boolean[0].text;return m.createElement(s.Checkbox,{onChange:n,checked:t.value,label:o.useLocalization().toLanguageString(a,Te[a]),labelPlacement:"after"})},_r=e=>{const t=m.useCallback((e=>m.createElement(s.Input,{...e,value:e.value||""})),[]),r=m.useRef(Br.text),n=m.useRef({operator:"",value:""});return m.createElement(Gr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},$r=e=>{const t=m.useCallback((e=>m.createElement(s.NumericTextBox,{...e,value:e.value||null})),[]),r=m.useRef(Br.numeric),n=m.useRef({operator:"",value:null});return m.createElement(Gr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},Wr=e=>{const t=m.useCallback((e=>m.createElement(p.DatePicker,{...e,value:e.value||null})),[]),r=m.useRef(Br.date),n=m.useRef({operator:"",value:null});return m.createElement(Gr,{initialFilter:n.current,input:t,operators:e.operators||r.current,...e})},jr=[{text:Ae,logic:"and"},{text:Pe,logic:"or"}],Yr=e=>{const t=o.useLocalization(),r=(e.data||jr).map((e=>({...e,text:t.toLanguageString(e.text,Te[e.text])})));return m.createElement(i.DropDownList,{onChange:e.onChange,className:"k-filter-and",textField:"text",...e,data:r,value:r.find((t=>t.logic===e.value))})},Vr=e=>m.createElement("div",{className:"k-columnmenu-item-content"},m.createElement(h.Reveal,{style:{position:"relative",display:"block"}},e.show&&m.createElement("div",{className:"kendo-grid-filter-menu-container"},m.createElement("form",{className:"k-filter-menu",onSubmit:e.onSubmit,onReset:e.onReset},m.createElement("div",{className:"k-filter-menu-container"},e.children,m.createElement("div",{className:"k-actions k-hstack k-justify-content-stretch"},e.actions)))))),Xr=e=>{const t=o.useLocalization();return m.createElement(Vr,{...e,actions:m.createElement(m.Fragment,null,m.createElement(a.Button,{type:"reset"},t.toLanguageString(ce,Te[ce])),m.createElement(a.Button,{themeColor:"primary"},t.toLanguageString(ue,Te[ue])))})},Ur=e=>{n.validatePackage(Ge);const t=m.useRef([]),{field:r,filter:a,sort:s=t.current,onSortChange:i,onFilterChange:c,initialFilter:p,sortAsc:h=!1,sortDesc:g=!1,filterContent:f=[],expandFilters:v=!1}=e,[b,C]=m.useState(!1),[E,x]=m.useState(v),[y,I]=m.useState(r&&p?p(r):null),k=m.useRef(null),R=m.useRef(null),S=m.useRef(null),L=m.useRef(!1),F=m.useCallback((()=>(a||[]).find((e=>e.filters.every((e=>!u.isCompositeFilterDescriptor(e)&&e.field===r))))),[a,r]),D=m.useCallback((()=>{C(!1)}),[]),M=m.useCallback((()=>{L.current?L.current=!1:(clearTimeout(S.current),S.current=window.setTimeout((()=>{D()})))}),[D]),N=m.useCallback((()=>clearTimeout(S.current)),[]),w=m.useCallback((e=>{L.current=b&&e.currentTarget===k.current}),[b]),A=m.useCallback((()=>{C(!b),r&&p&&(x(!b&&v),I(b?y:F()||p(r)))}),[F,r,b,y,p,v]);m.useEffect((()=>{b&&R.current&&R.current.focus()}),[b]);const P=m.useCallback((()=>x(!E)),[E]),K=m.useCallback(((e,t)=>{const n=[...s],a=n.findIndex((e=>e.field===r)),o={field:r,dir:t};a>=0?n[a].dir!==o.dir?n.splice(a,1,o):n.splice(a,1):n.push(o),D(),i&&i.call(void 0,e,n,r)}),[s,r,i,D]),O=m.useCallback(((e,t,r)=>{const n={...y,filters:[...y.filters]},a=n.filters.indexOf(r);n.filters.splice(a,1,t),I(n)}),[y]),T=m.useCallback((e=>{e.preventDefault();const t=(a||[]).slice(),n=F(),o=n?t.indexOf(n):-1;o>=0?t.splice(o,1,y):t.push(y),D(),c&&c.call(void 0,e,t,r)}),[a,y,r,c,D,F]),z=m.useCallback((e=>{const t=(a||[]).slice(),n=F(),o=n?t.indexOf(n):-1;o>=0&&t.splice(o,1),p&&I(p(r)),D(),c&&c.call(void 0,e,t,r)}),[a,r,c,p,D,F]),q=m.useCallback((e=>K(e,"asc")),[K]),B=m.useCallback((e=>K(e,"desc")),[K]),G=m.useCallback((e=>y&&I({...y,logic:e.value.logic})),[y]),H=s.find((e=>e.field===r))||{dir:""},[_,$,W]=f,j=o.useLocalization(),Y=[h||g?m.createElement("div",{className:"k-columnmenu-item-wrapper",key:"sorting"},h&&m.createElement(Kr,{title:j.toLanguageString(de,Te[de]),iconClass:"k-i-sort-asc-small",svgIcon:l.sortAscSmallIcon,selected:"asc"===H.dir,onClick:q}),g&&m.createElement(Kr,{title:j.toLanguageString(he,Te[he]),iconClass:"k-i-sort-desc-small",svgIcon:l.sortDescSmallIcon,selected:"desc"===H.dir,onClick:B})):null,y&&f.length>0?m.createElement("div",{className:"k-columnmenu-item-wrapper",key:"filtering"},m.createElement(Kr,{iconClass:"k-i-filter",svgIcon:l.filterIcon,title:j.toLanguageString(pe,Te[pe]),onClick:P}),m.createElement(Xr,{show:E,onSubmit:T,onReset:z},_&&m.createElement(_,{filter:y.filters[0],onFilterChange:O}),$&&m.createElement($,{value:y.logic,onChange:G}),W&&m.createElement(W,{filter:y.filters[1],onFilterChange:O}))):null],V=[m.createElement("span",{ref:k,onClick:A,onMouseDown:w,className:"k-grid-header-menu k-grid-column-menu"+(F()?" k-active":""),key:"button"},m.createElement(n.IconWrap,{name:"filter",icon:l.filterIcon})),m.createElement(d.Popup,{anchor:k.current,show:b,key:"popup",popupClass:"k-column-menu k-column-menu-popup"},m.createElement("div",{ref:R,tabIndex:0,onBlur:M,onFocus:N,style:{outline:"none"}},e.itemsRender?e.itemsRender.call(void 0,Y,{closeMenu:D,field:r}):Y))];return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,V):V)};e.BooleanFilter=xr,e.BooleanFilterCell=Xt,e.ClipboardActionType=jt,e.ClipboardService=class{constructor(e){this.copyHandler=e=>{this.clipboardEvent(jt.copy,e)},this.cutHandler=e=>{this.clipboardEvent(jt.cut,e)},this.pasteHandler=e=>{this.clipboardEvent(jt.paste,e)},this.addEventListeners=e=>{e&&(e.addEventListener(jt.copy,this.copyHandler),e.addEventListener(jt.cut,this.cutHandler),e.addEventListener(jt.paste,this.pasteHandler))},this.removeEventListeners=e=>{e&&(e.removeEventListener(jt.copy,this.copyHandler),e.removeEventListener(jt.cut,this.cutHandler),e.removeEventListener(jt.paste,this.pasteHandler))},this.clipboardEvent=e}},e.ColumnDefaultProps=ht,e.ColumnMenuBooleanColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"and",filters:[{operator:"eq",field:e,value:!1}]})),[]),a=!!e.field,o=a?[Hr]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuBooleanFilter=Hr,e.ColumnMenuDateColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"or",filters:[{operator:"eq",field:e,value:null},{operator:"eq",field:e,value:null}]})),[]),a=!!e.field,o=a?[Wr,Yr,Wr]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuDateFilter=Wr,e.ColumnMenuFilterForm=Xr,e.ColumnMenuFilterLogic=Yr,e.ColumnMenuForm=Vr,e.ColumnMenuItem=Kr,e.ColumnMenuNumericColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"or",filters:[{operator:"eq",field:e,value:null},{operator:"eq",field:e,value:null}]})),[]),a=!!e.field,o=a?[$r,Yr,$r]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuNumericFilter=$r,e.ColumnMenuOperators=Br,e.ColumnMenuTextColumn=e=>{const{field:t,...r}=e,n=m.useCallback((e=>({logic:"and",filters:[{operator:"contains",field:e,value:""},{operator:"contains",field:e,value:""}]})),[]),a=!!e.field,o=a?[_r,Yr,_r]:[];return m.createElement(Ur,{sortAsc:a,sortDesc:a,filterContent:o,initialFilter:a?n:void 0,field:t,...r})},e.ColumnMenuTextFilter=_r,e.ColumnResize=class{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=e=>{this.isRtl=e},this.onResize=e,this.dragHandler=this.dragHandler.bind(this)}dragHandler(e,t,r,n){const a=e.originalEvent;n||(a.preventDefault(),a.stopPropagation(),a.stopImmediatePropagation());const o=r.parentElement;if(!o||!o.parentElement)return;const s=o.clientWidth;let i;if(this.isRtl?(i=r.getBoundingClientRect().right-r.offsetWidth/2-e.clientX,i+=s):i=s+e.clientX-r.getBoundingClientRect().left-r.offsetWidth/2,!n&&Math.abs(i-s)<1)return;this.setWidths(t,Math.floor(i)/s);const l=this.columns.filter((e=>!e.children.length)).indexOf(t);this.onResize(l,s,i,a,n)}setWidths(e,t){const r=this.columns.indexOf(e),n=[];let a=e.children.length;for(let e=r+1;a>0&&e<this.columns.length;e++,a--){const t=this.columns[e];t.children.length?a+=t.children.length:n.push(t)}0===n.length&&n.push(e),n.forEach((e=>{let r=e.width?parseFloat(e.width.toString())*t:0;const n=void 0===e.minResizableWidth?10:e.minResizableWidth;r<n&&(r=n),e.width=Math.floor(r)})),this.updateColElements(n)}updateColElements(e){const t=this.columns.filter((e=>!e.children.length));let r=1e-10;for(let n=0;n<e.length;n++){const a=t.indexOf(e[n]),o=parseFloat((e[n].width||0).toString());r+=o-Math.floor(o);const s=Math.floor(o)+Math.floor(r);r-=Math.floor(r),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[a],s),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[a],s),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[a],s)}}setColWidth(e,t){e&&(e.style.width=t+"px")}},e.ColumnResizer=$e,e.CommonDragLogic=class{constructor(e,t,r){this.columns=[],this.reorderable=!1,this.groupable=!1,this.startColumn=-1,this.startGroup=-1,this.currentColumn=-1,this.currentGroup=-1,this.dropElementClue=null,this.dragElementClue=null,this.groupPanelDivElement=null,this.refGroupPanelDiv=e=>{this.groupPanelDivElement=e},this.refDropElementClue=e=>{this.dropElementClue=e},this.refDragElementClue=e=>{this.dragElementClue=e},this.pressHandler=(e,t)=>{const r=this.getColumnIndex(e,t);if(this.startGroup=this.getGroupIndex(e),r>=0){const e=this.columns[r];(e.reorderable&&this.reorderable||e.groupable&&this.groupable)&&(this.startColumn=r)}},this.dragHandler=(e,t)=>{if(e.isTouch||e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),-1===this.startColumn&&-1===this.startGroup)return;this.currentColumn=this.getColumnIndex(e,t),this.currentGroup=this.getGroupIndex(e),this.groupPanelDivElement&&this.startGroup>=0&&(this.currentGroup=Math.min(this.currentGroup,this.groupPanelDivElement.children.length-2));const r=!this.isValid();r&&(this.currentColumn=-1,this.currentGroup=-1);const n=this.currentColumn>=0?t.children[this.columns[this.currentColumn].index]:this.groupPanelDivElement&&this.groupPanelDivElement.children[this.currentGroup];this.updateDragElementClue(e,t,n,r),this.updateDropElementClue(e,t,n,r)},this.releaseHandler=e=>{const t=this.startColumn,r=this.currentColumn,n=this.startGroup,a=this.currentGroup;this.dropElementClue&&this.dropElementClue.setState({visible:!1}),this.dragElementClue&&this.dragElementClue.setState({visible:!1});const o=this.isValid();this.startColumn=this.startGroup=this.currentColumn=this.currentGroup=-1,o&&(t>=0&&r>=0?this.columnReorder(t,r,e.originalEvent):n>=0&&a>=0?this.groupReorder(n,a,e.originalEvent):t>=0&&a>=0&&this.columnToGroup(t,a,e.originalEvent))},this.columnReorder=e,this.groupReorder=t,this.columnToGroup=r}getColumnIndex(e,t){if(!t||t.parentElement===this.groupPanelDivElement)return-1;const r=Ct(e,t);if(-1===r)return-1;for(let e=0;e<t.parentNode.children.length;e++)if(t.parentNode.children[e]===t)return this.columns.findIndex((t=>t.index===r&&t.depth===e));return-1}getGroupIndex(e){return Ct(e,this.groupPanelDivElement)}isValid(){return this.startGroup>=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)}updateDragElementClue(e,t,r,n){if(!this.dragElementClue)return;const a=this.startColumn>=0?t.children[this.columns[this.startColumn].index].innerText:t.innerText;this.dragElementClue.setState({visible:!0,top:e.pageY+10,left:e.pageX,innerText:a,status:n||!r?"k-i-cancel":"k-i-plus"})}updateDropElementClue(e,t,r,n){if(!this.dropElementClue)return;if(n||!r)return void this.dropElementClue.setState({visible:!1});const a=r.getBoundingClientRect();let o=a.left+e.pageX-e.clientX-6;(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(o+=a.width);const s=a.top+e.pageY-e.clientY;this.dropElementClue.setState({visible:!0,top:s,left:o,height:this.currentColumn>=0?t.clientHeight:a.height})}},e.DateFilter=vr,e.DateFilterCell=Qt,e.DragClue=Et,e.DropClue=xt,e.EnumFilter=Cr,e.Expression=Mr,e.FILTER_ROW_CLASS=nr,e.FOCUSABLE_ELEMENTS=Ze,e.Filter=Pr,e.FilterRow=function(e){const{columns:t,filter:r,filterChange:a,sort:s=[],ariaRowIndex:i}=e,l=o.useLocalization();return m.createElement("tr",{className:nr,"aria-rowindex":i,role:"row"},t.map(((e,t)=>{const o=void 0!==e.locked?{left:e.left,right:e.right,borderRightWidth:e.rightBorder?"1px":""}:{},i=e.filterCell||e.filter;return m.createElement(rr,{columnId:pt(e.id),navigatable:e.navigatable,style:o,key:t,ariaColumnIndex:e.ariaColumnIndex,ariaLabel:i?l.toLanguageString(Oe,Te[Oe]):void 0,className:n.classNames("k-table-th k-header",ar(s,e.field,e.locked))},i&&m.createElement(i,{field:e.field,filter:r,onFilterChange:a}))})))},e.Group=wr,e.Header=or,e.HeaderCell=sr,e.HeaderRow=pr,e.HeaderSelectionCell=function(e){const t=[m.createElement("input",{key:0,checked:e.selectionValue,id:e.inputId,type:"checkbox",className:"k-checkbox k-checkbox-md k-rounded-md",onChange:t=>e.selectionChange({field:e.field,syntheticEvent:t})}),m.createElement("label",{key:1,className:"k-checkbox-label",htmlFor:e.inputId})];return m.createElement(m.Fragment,null,e.render?e.render.call(void 0,t,e):t)},e.HeaderThElement=rr,e.KEYBOARD_NAV_DATA_BODY=Ve,e.KEYBOARD_NAV_DATA_HEADER=Ye,e.KEYBOARD_NAV_DATA_ID=Xe,e.KEYBOARD_NAV_DATA_LEVEL=We,e.KEYBOARD_NAV_DATA_SCOPE=je,e.KEYBOARD_NAV_DATA_ZONE="data-keyboardnavzone",e.KEYBOARD_NAV_FILTER_COL_SUFFIX=Ue,e.NumericFilter=mr,e.NumericFilterCell=Jt,e.Operators=class{static get text(){return[...yr]}static get numeric(){return[...Ir]}static get date(){return[...kr]}static get boolean(){return[...Rr]}},e.Pager=_e,e.TABBABLE_ELEMENTS=Je,e.TABLE_COL_INDEX_ATTRIBUTE=Kt,e.TABLE_PREVENT_SELECTION_ELEMENT=Ot,e.TABLE_ROW_INDEX_ATTRIBUTE=Pt,e.TableKeyboardNavigationContext=Mt,e.TableSelection=e=>{var t;const{onRelease:r,childRef:a}=e,{enabled:o,drag:s,mode:i,cell:l}=Wt(e.selectable),c=m.useRef(null),u=m.useRef(null),p=m.useRef({clientX:0,clientY:0}),[d,h]=m.useState(null),g=m.useRef(),v=m.useRef(!1),b=m.useRef(!1),C=m.useCallback((e=>{const{event:t}=e;b.current=t.originalEvent.target.hasAttribute(Ot),!b.current&&c.current&&(g.current=_t(c.current.element),p.current={clientY:t.clientY,clientX:t.clientX})}),[]),E=m.useCallback((e=>{const{event:t}=e,{clientX:r,clientY:n}=p.current;if(!b.current&&s&&"single"!==i&&((Math.abs(n-t.clientY)>5||Math.abs(r-t.clientX)>5)&&(v.current=!0),v.current)){const e=$t(g.current);h({top:Math.min(n,t.clientY)-e.top,left:Math.min(r,t.clientX)-e.left,width:Math.abs(t.clientX-r),height:Math.abs(t.clientY-n)})}}),[h,s,i]),x=m.useCallback((e=>{const{event:t}=e,{clientX:n,clientY:a}=p.current;if(b.current||!c.current)return;const o=c.current.element&&c.current.element.ownerDocument;if(o){if(v.current){const e=Math.min(a,t.clientY),s=Math.min(n,t.clientX),c=Math.max(a,t.clientY),p=Math.max(n,t.clientX),d=u.current;if(!d)return;d.style.visibility="hidden";const h=o.elementFromPoint(s,e),g=o.elementFromPoint(p,c);if(d.style.visibility="",!h||!g)return;const m=zt(h,"TD"),f=zt(m,"TR"),v=zt(g,"TD"),b=zt(v,"TR"),C=Bt(m),E=qt(f),x=Bt(v),y=qt(b);void 0!==C&&void 0!==E&&void 0!==x&&void 0!==y&&r({nativeEvent:t.originalEvent,startRowIndex:E,startColIndex:C,endRowIndex:y,endColIndex:x,altKey:t.altKey,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,mode:i,cell:l,isDrag:!0})}else{const e=o.elementFromPoint(n,a);if(!e)return;const s=zt(e,"TD"),c=zt(e,"TR"),u=Bt(s),p=qt(c);s&&c&&void 0!==p&&void 0!==u&&r({nativeEvent:t.originalEvent,startRowIndex:p,startColIndex:u,endRowIndex:p,endColIndex:u,altKey:t.altKey,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,metaKey:t.metaKey,mode:i,cell:l,isDrag:!1})}h(null),v.current=!1,p.current={clientX:0,clientY:0}}}),[h,i,l,r]),y=n.useDocument(u);return o?m.createElement(m.Fragment,null,m.createElement(n.Draggable,{onPress:C,onDrag:E,onRelease:x,ref:c,childRef:a},e.children),d&&f.createPortal(m.createElement("div",{ref:u,style:{...d,position:"fixed"},className:"k-marquee k-marquee-color"}),null==(t=y())?void 0:t.body)):m.cloneElement(m.Children.only(e.children),{ref:a})},e.TextFilter=hr,e.TextFilterCell=tr,e.closestTagName=zt,e.createDataTree=(e,t,r,n)=>{let a,o={},s=[];return e.forEach((e=>o[t(e)]={...e})),e.forEach((e=>{a=o[r(e)],a?(a[n]=a[n]||[],a[n].push(o[t(e)])):s.push(o[t(e)])})),s},e.createFilterComponent=Yt,e.extendDataItem=(e,t,r)=>n.extendDataItem(e,t,r),e.filterBy=function(e,t,r){let n={[r]:[...e]};return n=kt(n,t,r),n[r]||[]},e.flatData=function(e,t,r){let n=[];const a=[];for(let r=e.length-1;r>=0;r--){const a=e[r];n.push({root:a,data:t(a),level:[r],levelCount:e.length})}for(;n.length>0;){let e=n.pop();if(a.push({dataItem:e.root,level:[...e.level],...r(e.root),levelCount:e.levelCount}),e.data.length)for(let r=e.data.length-1;r>=0;r--){const a=e.data[r];n.push({root:a,data:t(a),level:[...e.level,r],levelCount:e.data.length})}}return a},e.getColumnIndex=Bt,e.getGroupIds=e=>{const t=[];return n.mapTree(e.data,Ft,(e=>{e[Lt]&&t.push(e[Lt])})),t},e.getIndex=Ct,e.getItemPath=St,e.getOffset=$t,e.getRowIndex=qt,e.getSelectedState=Gt,e.getSelectedStateFromKeyDown=e=>{const{event:t,dataItemKey:r,selectedState:a}=e,{syntheticEvent:o,nativeEvent:s,dataItems:i,componentId:l,mode:c,cell:u,selectedField:p}=t,{target:d,ctrlKey:h,metaKey:g,altKey:m,shiftKey:f}=s;if(o.isDefaultPrevented()||s.keyCode!==n.Keys.enter)return a;const v=zt(d,"TD"),b=zt(d,"TR"),C=Bt(v),E=qt(b);let x={};return v&&b&&void 0!==E&&void 0!==C&&(x=Gt({selectedState:a,dataItemKey:r,event:{ctrlKey:h,metaKey:g,altKey:m,shiftKey:f,dataItems:i,cell:u,mode:c,selectedField:p,componentId:l,startColIndex:C,endColIndex:C,startRowIndex:E,endRowIndex:E,isDrag:!1,syntheticEvent:o,nativeEvent:s,target:t.target,dataItem:null}})),x},e.getSelectionOptions=Wt,e.isRtl=bt,e.mapColumns=function(e){const t=[[]];let r=0;for(let t=e.length-1;t>=0;t--)r=Math.max(r,e[t].depth),e[t].colSpan=e[t].colSpan||1,-1!==e[t].parentIndex&&(e[e[t].parentIndex].colSpan=(e[e[t].parentIndex].colSpan||0)+e[t].colSpan);const n=[];let a=1;return e.forEach(((e,o)=>{t[e.depth]=t[e.depth]||[];let s=!1;0===t[e.depth].length&&(a<=1?a=1+(e.children.length>0?0:r-e.depth):(a--,s=!0)),e.rowSpan=1+(e.children.length>0?0:r-e.depth),e.kFirst=s,e.index=t[e.depth].length,t[e.depth].push(o),e.ariaColumnIndex=n[e.depth]?n[e.depth]+1:1;for(let t=e.depth;t<e.depth+e.rowSpan;t++)n[t]=(n[t]||0)+e.colSpan})),ft(t,e),vt(t,e),t},e.modifySubItems=(e,t,r,a)=>n.mapTree(e,t,(e=>r(e)?{...e,[t]:a(e[t]||[])}:e)),e.moveTreeItem=(e,t,r,n)=>{const a=[...e],o=St(a,t,n),s=o.pop(),i=o.pop(),l=t[t.length-1];if(r){const e=St(a,r,n).pop();(i?i[n]:a).splice(l,1),e[n]=e[n]||[],e[n].push(s)}else(i?i[n]:a).splice(l,1),a.push(s);return a},e.nextColumn=gt,e.normalize=ir,e.orderBy=function(e,t,r){let n=u.orderBy(e,t);return n=n.map((e=>It(e,t,r))),n},e.populateClipboardData=e=>{const{event:t}=e,r=(e=>{const{event:t,selectedState:r,data:a,dataItemKey:o}=e,s={},i={copiedItems:[],pastedItems:[],clipboardData:""},l=e.subItemsField||"items";return Object.entries(r).forEach((([e,r])=>{s[e]=n.isArray(r)?r.map((e=>t.columns[e])):t.columns})),n.mapTree(a,l,(e=>{const r=e[o||t.dataItemKey||""]||"";return s[r]&&i.copiedItems.push({dataItem:e,fields:s[r].map((e=>e.field||""))}),e})),i})(e);let a="";if("paste"===t.type){const e=t.nativeEvent?t.nativeEvent.clipboardData:"";a=e?e.getData("text").trim():"",r.pastedItems=((e,t,r)=>{const n=e.cellDelimiter||"\t",a=e.newLineDelimiter||"\r\n",o=t.includes(a)?a:t.includes("\n")?"\n":null,s=o?t.split(o):[t],i=r.copiedItems.length?r.copiedItems[0].fields[0]:e.columns[0].field||"";return s.map((t=>{const r=t.includes(n)?t.split(n):[t],a=e.columns.map((e=>e.field||"")),o=a.indexOf(i),s=a.slice(o,o+r.length),l={};return a.slice(o,o+r.length).forEach(((e,t)=>l[e]=r[t])),{dataItem:l,fields:s}}))})(t,a,r)}else r.pastedItems=[],a=((e,t)=>{const r=t.newLineDelimiter||"\r\n",n=e.copiedItems.map(((e,r)=>{let n=((e,t)=>{if(!t.length)return null;let r="";return t.forEach(((t,n,a)=>r+=`${e[t]}${n<a.length-1?"\t":""}`)),r})(e.dataItem,e.fields)||"";return t.copyHeaders&&0===r&&(n=((e,t,r)=>{const n=r.cellDelimiter||"\t",a=r.newLineDelimiter||"\r\n";return`${t.join(n)}${a}${e}`})(n,e.fields,t)),n?[n]:[]})).join(r);return navigator.clipboard.writeText(n),n})(r,t);return r.clipboardData=a,r},e.readColumns=function e(t,r,n=0){let a=[];if(!t||!t.length)return[];if(t.forEach((t=>{const o=e(t.children||[],r,n+1);a.push(Object.assign({},{depth:n},ht,t,{id:t.id?t.id:nt(""+r.prevId++,r.idPrefix,"column"),declarationIndex:a.length,children:o,rowSpan:0,colSpan:0,isAccessible:!0}))})),a.sort(((e,t)=>e.orderIndex===t.orderIndex?e.declarationIndex-t.declarationIndex:(e.orderIndex||0)-(t.orderIndex||0))),0===n){let e=[];const t=(r,n)=>r.forEach((r=>{r.parentIndex=n,t(r.children,e.push(r)-1)}));return t(a,-1),e}return a},e.relativeContextElement=_t,e.removeItems=(e,t,r)=>[...n.mapTree([{[t]:[...e]}],t,(e=>Rt(e,r,t)))[0][t]],e.setExpandedState=e=>n.mapTree(e.data,Ft,(t=>n.extendDataItem(t,Ft,{expanded:!e.collapsedIds.some((e=>e===t[Lt]))}))),e.setGroupIds=e=>{const{group:t}=e;if(t&&t.length&&e.data)return e.data.forEach((e=>Dt(e,t.length,"")))},e.setSelectedState=e=>{const t=e.subItemsField||"items",r=n.getter(e.dataItemKey);return n.mapTree(e.data,t,(a=>n.extendDataItem(a,t,{[e.selectedField]:e.selectedState[r(a)]})))},e.stringOperator=Sr,e.tableColumnsVirtualization=function(e){const{enabled:t,columns:r=[],tableViewPortWidth:n,scrollLeft:a}=e,o=r.map((()=>1)),s=r.map((()=>!1));if(!t)return{colSpans:o,hiddenColumns:s};const i=r.map((e=>parseFloat((e.width||"").toString())||10));let l=0;for(let e=0;e<r.length;e++){if(r[e].locked)continue;const t=e<i.length-1?i[e+1]:0;if(!(l+i[e]+t<a))break;s[e]=!0,l+=i[e]}const c=i.reduce(((e,t)=>e+t),0);l=0;for(let e=r.length-1;e>=0;e--)if(!r[e].locked){if(!(l+2*i[e]<c-n-a))break;s[e]=!0,l+=i[e]}const u=[...s],p=e=>e;let d,h,g=u.lastIndexOf(!1),m=u.some(p),f=u.every(p);for(;m&&u.length&&(-1!==g||f);){for(g<u.length-1&&(d=f?u.length:u.length-g-1,h=u.length-d,0===h&&(h=d-1),s[h]=!1,o[h]=d,u.splice(g+1,d));u.length&&!u[u.length-1];)u.pop();g=u.lastIndexOf(!1),m=u.some(p),f=u.every(p)}return{colSpans:o,hiddenColumns:s}},e.tableKeyboardNavigation=At,e.tableKeyboardNavigationBodyAttributes=rt,e.tableKeyboardNavigationHeaderAttributes=tt,e.tableKeyboardNavigationScopeAttributes=et,e.tableKeyboardNavigationTools=dt,e.treeToFlat=(e,t,r)=>{const a=e=>{const a=[];return(e=>!!n.getNestedValue(t,e))(e)&&(e=>!!n.getNestedValue(r,e))(e)&&a.push(...n.getNestedValue(r,e)),a},o=(e,t,r)=>{t.push({...e,level:r}),a(e).forEach((e=>o(e,t,r+1)))},s=[];return e.forEach((e=>o(e,s,0))),s},e.unaryOperator=Lr,e.updateLeft=ft,e.updateRight=vt,e.useTableKeyboardNavigation=Nt}));
|
|
@@ -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"});const a=require("react"),l=require("@progress/kendo-react-common");function o(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const s=o(a);class i extends s.PureComponent{constructor(){super(...arguments),this.draggable=null,this.onPress=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.pressHandler&&this.props.pressHandler(e.event,t)},this.onDrag=e=>{const t=this.draggable&&this.draggable.element;t&&this.props.dragHandler&&this.props.dragHandler(e.event,t)},this.onRelease=e=>{this.draggable&&this.draggable.element&&this.props.releaseHandler&&this.props.releaseHandler(e.event)}}render(){return s.createElement(l.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:e=>{this.draggable=e}},s.createElement("tr",{className:"k-table-row","aria-rowindex":this.props.ariaRowIndex,role:"row"},this.props.children))}}exports.ColumnDraggable=i;
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
import * as s from "react";
|
|
10
|
+
import { Draggable as t } from "@progress/kendo-react-common";
|
|
11
|
+
class l extends s.PureComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments), this.draggable = null, this.onPress = (e) => {
|
|
14
|
+
const r = this.draggable && this.draggable.element;
|
|
15
|
+
r && this.props.pressHandler && this.props.pressHandler(e.event, r);
|
|
16
|
+
}, this.onDrag = (e) => {
|
|
17
|
+
const r = this.draggable && this.draggable.element;
|
|
18
|
+
r && this.props.dragHandler && this.props.dragHandler(e.event, r);
|
|
19
|
+
}, this.onRelease = (e) => {
|
|
20
|
+
this.draggable && this.draggable.element && this.props.releaseHandler && this.props.releaseHandler(e.event);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
return /* @__PURE__ */ s.createElement(
|
|
25
|
+
t,
|
|
26
|
+
{
|
|
27
|
+
onPress: this.onPress,
|
|
28
|
+
onDrag: this.onDrag,
|
|
29
|
+
onRelease: this.onRelease,
|
|
30
|
+
ref: (e) => {
|
|
31
|
+
this.draggable = e;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
/* @__PURE__ */ s.createElement("tr", { className: "k-table-row", "aria-rowindex": this.props.ariaRowIndex, role: "row" }, this.props.children)
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
l as ColumnDraggable
|
|
40
|
+
};
|
|
@@ -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"});class c{constructor(e){this.columns=[],this.resizable=!1,this.isRtl=!1,this.setIsRtl=h=>{this.isRtl=h},this.onResize=e,this.dragHandler=this.dragHandler.bind(this)}dragHandler(e,h,l,s){const n=e.originalEvent;s||(n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation());const t=l.parentElement;if(!t||!t.parentElement)return;const i=t.clientWidth;let o;if(this.isRtl?(o=l.getBoundingClientRect().right-l.offsetWidth/2-e.clientX,o+=i):o=i+e.clientX-l.getBoundingClientRect().left-l.offsetWidth/2,!s&&Math.abs(o-i)<1)return;this.setWidths(h,Math.floor(o)/i);const r=this.columns.filter(d=>!d.children.length).indexOf(h);this.onResize(r,i,o,n,s)}setWidths(e,h){const l=this.columns.indexOf(e),s=[];let n=e.children.length;for(let t=l+1;n>0&&t<this.columns.length;t++,n--){const i=this.columns[t];i.children.length?n+=i.children.length:s.push(i)}s.length===0&&s.push(e),s.forEach(t=>{let i=t.width?parseFloat(t.width.toString())*h:0;const o=t.minResizableWidth===void 0?10:t.minResizableWidth;i<o&&(i=o),t.width=Math.floor(i)}),this.updateColElements(s)}updateColElements(e){const h=this.columns.filter(s=>!s.children.length);let l=1e-10;for(let s=0;s<e.length;s++){const n=h.indexOf(e[s]),t=parseFloat((e[s].width||0).toString());l+=t-Math.floor(t);const i=Math.floor(t)+Math.floor(l);l-=Math.floor(l),this.setColWidth(this.colGroupMain&&this.colGroupMain.children[n],i),this.setColWidth(this.colGroupHeader&&this.colGroupHeader.children[n],i),this.setColWidth(this.colGroupFooter&&this.colGroupFooter.children[n],i)}}setColWidth(e,h){e&&(e.style.width=h+"px")}}exports.ColumnResize=c;
|