@progress/kendo-react-buttons 7.2.4-develop.2 → 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/Button.js +8 -0
- package/Button.mjs +124 -0
- package/ButtonGroup.js +8 -0
- package/ButtonGroup.mjs +76 -0
- package/Chip/Chip.js +8 -0
- package/Chip/Chip.mjs +220 -0
- package/Chip/ChipList.js +8 -0
- package/Chip/ChipList.mjs +190 -0
- package/Chip/chip-list-contexts.js +8 -0
- package/Chip/chip-list-contexts.mjs +18 -0
- package/Chip/data-reducer.js +8 -0
- package/Chip/data-reducer.mjs +25 -0
- package/Chip/focus-reducer.js +8 -0
- package/Chip/focus-reducer.mjs +28 -0
- package/Chip/selection-reducer.js +8 -0
- package/Chip/selection-reducer.mjs +47 -0
- package/FloatingActionButton/FloatingActionButton.js +8 -0
- package/FloatingActionButton/FloatingActionButton.mjs +343 -0
- package/FloatingActionButton/FloatingActionButtonItem.js +8 -0
- package/FloatingActionButton/FloatingActionButtonItem.mjs +93 -0
- package/FloatingActionButton/utils.js +8 -0
- package/FloatingActionButton/utils.mjs +46 -0
- package/ListButton/ButtonItem.js +8 -0
- package/ListButton/ButtonItem.mjs +63 -0
- package/ListButton/DropDownButton.js +8 -0
- package/ListButton/DropDownButton.mjs +267 -0
- package/ListButton/DropDownButtonItem.js +8 -0
- package/ListButton/DropDownButtonItem.mjs +31 -0
- package/ListButton/SplitButton.js +8 -0
- package/ListButton/SplitButton.mjs +298 -0
- package/ListButton/SplitButtonItem.js +8 -0
- package/ListButton/SplitButtonItem.mjs +30 -0
- package/ListButton/utils/navigation.js +8 -0
- package/ListButton/utils/navigation.mjs +35 -0
- package/ListButton/utils/popup.js +8 -0
- package/ListButton/utils/popup.mjs +20 -0
- package/dist/cdn/js/kendo-react-buttons.js +8 -5
- package/index.d.mts +2227 -5
- package/index.d.ts +2227 -40
- package/index.js +8 -5
- package/index.mjs +44 -1906
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +19 -0
- package/package.json +3 -3
- package/toolbar/Toolbar.js +8 -0
- package/toolbar/Toolbar.mjs +124 -0
- package/toolbar/tools/ToolbarItem.js +8 -0
- package/toolbar/tools/ToolbarItem.mjs +44 -0
- package/toolbar/tools/ToolbarSeparator.js +8 -0
- package/toolbar/tools/ToolbarSeparator.mjs +21 -0
- package/toolbar/tools/ToolbarSpacer.js +8 -0
- package/toolbar/tools/ToolbarSpacer.mjs +36 -0
- package/util.js +8 -0
- package/util.mjs +36 -0
- package/Button.d.ts +0 -146
- package/ButtonGroup.d.ts +0 -36
- package/ButtonGroupInterface.d.ts +0 -36
- package/ButtonInterface.d.ts +0 -39
- package/Chip/Chip.d.ts +0 -238
- package/Chip/ChipList.d.ts +0 -119
- package/Chip/chip-list-contexts.d.ts +0 -17
- package/Chip/data-reducer.d.ts +0 -26
- package/Chip/focus-reducer.d.ts +0 -28
- package/Chip/selection-reducer.d.ts +0 -34
- package/FloatingActionButton/FloatingActionButton.d.ts +0 -21
- package/FloatingActionButton/FloatingActionButtonItem.d.ts +0 -109
- package/FloatingActionButton/interfaces/FloatingActionButtonHandle.d.ts +0 -17
- package/FloatingActionButton/interfaces/FloatingActionButtonPopupSettings.d.ts +0 -28
- package/FloatingActionButton/interfaces/FloatingActionButtonProps.d.ts +0 -219
- package/FloatingActionButton/models/align-offset.d.ts +0 -24
- package/FloatingActionButton/models/align.d.ts +0 -31
- package/FloatingActionButton/models/events.d.ts +0 -25
- package/FloatingActionButton/models/position-mode.d.ts +0 -13
- package/FloatingActionButton/models/rounded.d.ts +0 -16
- package/FloatingActionButton/models/size.d.ts +0 -15
- package/FloatingActionButton/models/theme-color.d.ts +0 -22
- package/FloatingActionButton/utils.d.ts +0 -31
- package/ListButton/ButtonItem.d.ts +0 -34
- package/ListButton/DropDownButton.d.ts +0 -127
- package/ListButton/DropDownButtonItem.d.ts +0 -34
- package/ListButton/SplitButton.d.ts +0 -129
- package/ListButton/SplitButtonItem.d.ts +0 -29
- package/ListButton/models/ButtonItem.d.ts +0 -38
- package/ListButton/models/ListButtonProps.d.ts +0 -339
- package/ListButton/models/PopupSettings.d.ts +0 -32
- package/ListButton/models/events.d.ts +0 -51
- package/ListButton/utils/navigation.d.ts +0 -9
- package/ListButton/utils/popup.d.ts +0 -13
- package/models/index.d.ts +0 -92
- package/package-metadata.d.ts +0 -9
- package/toolbar/Toolbar.d.ts +0 -175
- package/toolbar/tools/ToolbarItem.d.ts +0 -42
- package/toolbar/tools/ToolbarSeparator.d.ts +0 -20
- package/toolbar/tools/ToolbarSpacer.d.ts +0 -27
- package/util.d.ts +0 -31
|
@@ -0,0 +1,298 @@
|
|
|
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 h from "react";
|
|
10
|
+
import s from "prop-types";
|
|
11
|
+
import { Button as m } from "../Button.mjs";
|
|
12
|
+
import { Keys as r, dispatchEvent as d, getActiveElement as u, validatePackage as C, svgIconPropType as b, classNames as c, kendoThemeMaps as f } from "@progress/kendo-react-common";
|
|
13
|
+
import { ButtonItem as k } from "./ButtonItem.mjs";
|
|
14
|
+
import { SplitButtonItem as y } from "./SplitButtonItem.mjs";
|
|
15
|
+
import { navigate as D } from "./utils/navigation.mjs";
|
|
16
|
+
import { Popup as I } from "@progress/kendo-react-popup";
|
|
17
|
+
import { getAnchorAlign as w, getPopupAlign as S } from "./utils/popup.mjs";
|
|
18
|
+
import { packageMetadata as x } from "../package-metadata.mjs";
|
|
19
|
+
import { caretAltDownIcon as v } from "@progress/kendo-svg-icons";
|
|
20
|
+
const l = class l extends h.Component {
|
|
21
|
+
constructor(i) {
|
|
22
|
+
super(i), this.state = {
|
|
23
|
+
focused: !1,
|
|
24
|
+
focusedIndex: -1,
|
|
25
|
+
opened: !1
|
|
26
|
+
}, this.wrapper = null, this.mainButton = null, this.list = null, this.skipFocus = !1, this.buttonsData = [], this.onKeyDown = (t) => {
|
|
27
|
+
const { focusedIndex: e } = this.state;
|
|
28
|
+
if (t.altKey) {
|
|
29
|
+
!this.opened && t.keyCode === r.down ? (t.preventDefault(), this.setState({ focusedIndex: 0 }), this.setOpen(!0, t)) : this.opened && t.keyCode === r.up && (t.preventDefault(), this.setState({ focusedIndex: -1 }), this.setOpen(!1, t));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
let o;
|
|
33
|
+
if (t.keyCode === r.enter || t.keyCode === r.space) {
|
|
34
|
+
if (t.preventDefault(), this.dispatchClickEvent(t, e), e >= 0) {
|
|
35
|
+
o = {
|
|
36
|
+
focusedIndex: this.opened ? -1 : 0
|
|
37
|
+
};
|
|
38
|
+
const n = !this.opened;
|
|
39
|
+
this.setOpen(n, t);
|
|
40
|
+
}
|
|
41
|
+
} else if (this.opened && t.keyCode === r.esc) {
|
|
42
|
+
this.setState({ focusedIndex: -1 }), this.setOpen(!1, t);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (this.opened) {
|
|
46
|
+
const n = D(
|
|
47
|
+
e,
|
|
48
|
+
t.keyCode,
|
|
49
|
+
t.altKey,
|
|
50
|
+
this.buttonsData.length
|
|
51
|
+
);
|
|
52
|
+
n !== e && (o = o || {}, o.focusedIndex = n);
|
|
53
|
+
const a = t.keyCode === r.up || t.keyCode === r.down || t.keyCode === r.left || t.keyCode === r.right;
|
|
54
|
+
!t.altKey && (a || t.keyCode === r.home || t.keyCode === r.end) && t.preventDefault();
|
|
55
|
+
}
|
|
56
|
+
o && this.setState(o);
|
|
57
|
+
}, this.switchFocus = (t) => {
|
|
58
|
+
this.skipFocus = !0, t(), window.setTimeout(() => this.skipFocus = !1, 0);
|
|
59
|
+
}, this.onFocus = (t) => {
|
|
60
|
+
this.skipFocus || (d(this.props.onFocus, t, this, void 0), this.setState({ focused: !0 }));
|
|
61
|
+
}, this.setOpen = (t, e) => {
|
|
62
|
+
this.opened !== t && (this.openedDuringOnChange = t, this.setState({ opened: t }), e ? this.dispatchPopupEvent(e, t) : this.openedDuringOnChange = void 0);
|
|
63
|
+
}, this.onItemClick = (t, e) => {
|
|
64
|
+
this.opened && this.setState({ focusedIndex: 0 }), this.dispatchClickEvent(t, e), this.setOpen(!1, t);
|
|
65
|
+
}, this.onBlur = (t) => {
|
|
66
|
+
this.skipFocus || (this.setState({
|
|
67
|
+
focused: !1,
|
|
68
|
+
focusedIndex: -1
|
|
69
|
+
}), d(this.props.onBlur, t, this, void 0), setTimeout(() => {
|
|
70
|
+
this.setOpen(!1, t);
|
|
71
|
+
}, 0));
|
|
72
|
+
}, this.onPopupClose = (t) => {
|
|
73
|
+
var o;
|
|
74
|
+
const e = u(document);
|
|
75
|
+
this.element && this.element.removeAttribute("tabindex"), (e === this.list || (o = this.list) != null && o.contains(e)) && this.switchFocus(() => {
|
|
76
|
+
this.element && this.element.focus({ preventScroll: !0 });
|
|
77
|
+
}), this.props.popupSettings && this.props.popupSettings.onClose && this.props.popupSettings.onClose.call(void 0, t);
|
|
78
|
+
}, this.listRef = (t) => {
|
|
79
|
+
this.list = t, t && this.state.focused && this.switchFocus(() => {
|
|
80
|
+
t.focus({ preventScroll: !0 }), this.element && (this.element.tabIndex = -1);
|
|
81
|
+
});
|
|
82
|
+
}, this.onSplitPartClick = (t) => {
|
|
83
|
+
if (this.buttonsData.length) {
|
|
84
|
+
const e = !this.opened;
|
|
85
|
+
this.setState({
|
|
86
|
+
focusedIndex: e ? 0 : -1,
|
|
87
|
+
focused: !0
|
|
88
|
+
}), this.setOpen(e, t);
|
|
89
|
+
}
|
|
90
|
+
}, this.onDownSplitPart = (t) => {
|
|
91
|
+
t.preventDefault();
|
|
92
|
+
const e = u(document);
|
|
93
|
+
this.element && e !== this.element && e !== this.list && this.element.focus();
|
|
94
|
+
}, this.onItemDown = (t) => {
|
|
95
|
+
u(document) === this.list && t.preventDefault();
|
|
96
|
+
}, this.dispatchPopupEvent = (t, e) => {
|
|
97
|
+
d(e ? this.props.onOpen : this.props.onClose, t, this, void 0), this.openedDuringOnChange = void 0;
|
|
98
|
+
}, C(x);
|
|
99
|
+
}
|
|
100
|
+
get guid() {
|
|
101
|
+
return this.props.id ? this.props.id + "-accessibility-id" : this.props.id;
|
|
102
|
+
}
|
|
103
|
+
get opened() {
|
|
104
|
+
return this.openedDuringOnChange !== void 0 ? this.openedDuringOnChange : this.props.opened === void 0 ? this.state.opened : this.props.opened;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* @hidden
|
|
108
|
+
*/
|
|
109
|
+
render() {
|
|
110
|
+
this.buttonsData = this.props.items || h.Children.toArray(this.props.children).filter((p) => p && p.type === y).map((p) => p.props);
|
|
111
|
+
const i = this.isRtl(), t = i ? "rtl" : void 0, { id: e, style: o, tabIndex: n, disabled: a } = this.props;
|
|
112
|
+
return /* @__PURE__ */ h.createElement(
|
|
113
|
+
"div",
|
|
114
|
+
{
|
|
115
|
+
id: e,
|
|
116
|
+
style: o,
|
|
117
|
+
className: c(
|
|
118
|
+
"k-split-button",
|
|
119
|
+
"k-button-group",
|
|
120
|
+
{
|
|
121
|
+
"k-focus": this.state.focused
|
|
122
|
+
},
|
|
123
|
+
`k-rounded-${f.roundedMap[this.props.rounded || "medium"]}`,
|
|
124
|
+
this.props.className
|
|
125
|
+
),
|
|
126
|
+
onKeyDown: this.onKeyDown,
|
|
127
|
+
onFocus: this.onFocus,
|
|
128
|
+
onBlur: this.onBlur,
|
|
129
|
+
dir: t,
|
|
130
|
+
ref: (p) => this.wrapper = p
|
|
131
|
+
},
|
|
132
|
+
/* @__PURE__ */ h.createElement(
|
|
133
|
+
m,
|
|
134
|
+
{
|
|
135
|
+
ref: (p) => this.mainButton = p && p.element,
|
|
136
|
+
type: "button",
|
|
137
|
+
size: this.props.size,
|
|
138
|
+
rounded: this.props.rounded,
|
|
139
|
+
fillMode: this.props.fillMode,
|
|
140
|
+
themeColor: this.props.themeColor,
|
|
141
|
+
onClick: (p) => this.onItemClick(p, -1),
|
|
142
|
+
disabled: a || void 0,
|
|
143
|
+
tabIndex: n,
|
|
144
|
+
accessKey: this.props.accessKey,
|
|
145
|
+
className: this.props.buttonClass,
|
|
146
|
+
icon: this.props.icon,
|
|
147
|
+
svgIcon: this.props.svgIcon,
|
|
148
|
+
iconClass: this.props.iconClass,
|
|
149
|
+
imageUrl: this.props.imageUrl,
|
|
150
|
+
dir: t,
|
|
151
|
+
"aria-disabled": a,
|
|
152
|
+
"aria-haspopup": !0,
|
|
153
|
+
"aria-expanded": this.opened || void 0,
|
|
154
|
+
"aria-label": this.props.ariaLabel,
|
|
155
|
+
"aria-controls": this.opened ? this.guid : void 0,
|
|
156
|
+
id: "button-" + this.guid,
|
|
157
|
+
title: this.props.title
|
|
158
|
+
},
|
|
159
|
+
this.props.text
|
|
160
|
+
),
|
|
161
|
+
/* @__PURE__ */ h.createElement(
|
|
162
|
+
m,
|
|
163
|
+
{
|
|
164
|
+
type: "button",
|
|
165
|
+
size: this.props.size,
|
|
166
|
+
rounded: this.props.rounded,
|
|
167
|
+
fillMode: this.props.fillMode,
|
|
168
|
+
themeColor: this.props.themeColor,
|
|
169
|
+
icon: "caret-alt-down",
|
|
170
|
+
svgIcon: v,
|
|
171
|
+
className: "k-split-button-arrow",
|
|
172
|
+
disabled: a || void 0,
|
|
173
|
+
tabIndex: -1,
|
|
174
|
+
onClick: this.onSplitPartClick,
|
|
175
|
+
onMouseDown: this.onDownSplitPart,
|
|
176
|
+
onPointerDown: this.onDownSplitPart,
|
|
177
|
+
dir: t,
|
|
178
|
+
"aria-label": "menu toggling button"
|
|
179
|
+
}
|
|
180
|
+
),
|
|
181
|
+
this.renderPopup(i)
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @hidden
|
|
186
|
+
*/
|
|
187
|
+
componentDidMount() {
|
|
188
|
+
(this.props.dir === void 0 && this.isRtl() || this.opened) && this.forceUpdate();
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* The DOM element of main button.
|
|
192
|
+
*/
|
|
193
|
+
get element() {
|
|
194
|
+
return this.mainButton;
|
|
195
|
+
}
|
|
196
|
+
dispatchClickEvent(i, t) {
|
|
197
|
+
this.isItemDisabled(t) || (t === -1 ? d(this.props.onButtonClick, i, this, void 0) : d(
|
|
198
|
+
this.props.onItemClick,
|
|
199
|
+
i,
|
|
200
|
+
this,
|
|
201
|
+
{
|
|
202
|
+
item: this.buttonsData[t],
|
|
203
|
+
itemIndex: t
|
|
204
|
+
}
|
|
205
|
+
));
|
|
206
|
+
}
|
|
207
|
+
renderPopup(i) {
|
|
208
|
+
const { popupSettings: t = {} } = this.props, { focusedIndex: e } = this.state;
|
|
209
|
+
return /* @__PURE__ */ h.createElement(
|
|
210
|
+
I,
|
|
211
|
+
{
|
|
212
|
+
anchor: this.wrapper,
|
|
213
|
+
show: this.opened,
|
|
214
|
+
animate: t.animate,
|
|
215
|
+
popupClass: c("k-menu-popup", t.popupClass),
|
|
216
|
+
anchorAlign: t.anchorAlign || w(i),
|
|
217
|
+
popupAlign: t.popupAlign || S(i),
|
|
218
|
+
style: i ? { direction: "rtl" } : void 0,
|
|
219
|
+
onClose: this.onPopupClose
|
|
220
|
+
},
|
|
221
|
+
/* @__PURE__ */ h.createElement(
|
|
222
|
+
"ul",
|
|
223
|
+
{
|
|
224
|
+
role: "menu",
|
|
225
|
+
id: this.guid,
|
|
226
|
+
"aria-labelledby": "button-" + this.guid,
|
|
227
|
+
tabIndex: -1,
|
|
228
|
+
ref: this.listRef,
|
|
229
|
+
"aria-activedescendant": e >= 0 ? `${this.guid}-${e}` : void 0,
|
|
230
|
+
className: c("k-group k-menu-group k-reset", {
|
|
231
|
+
[`k-menu-group-${f.sizeMap[this.props.size] || this.props.size}`]: this.props.size
|
|
232
|
+
})
|
|
233
|
+
},
|
|
234
|
+
this.renderChildItems()
|
|
235
|
+
)
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
renderChildItems() {
|
|
239
|
+
const { item: i, itemRender: t, textField: e } = this.props;
|
|
240
|
+
return this.buttonsData.length > 0 ? this.buttonsData.map((o, n) => /* @__PURE__ */ h.createElement(
|
|
241
|
+
k,
|
|
242
|
+
{
|
|
243
|
+
className: "k-menu-item",
|
|
244
|
+
dataItem: o,
|
|
245
|
+
textField: e,
|
|
246
|
+
focused: this.state.focusedIndex === n,
|
|
247
|
+
onClick: this.onItemClick,
|
|
248
|
+
onDown: this.onItemDown,
|
|
249
|
+
render: t,
|
|
250
|
+
item: i,
|
|
251
|
+
key: n,
|
|
252
|
+
index: n,
|
|
253
|
+
id: `${this.guid}-${n}`
|
|
254
|
+
}
|
|
255
|
+
)) : null;
|
|
256
|
+
}
|
|
257
|
+
isItemDisabled(i) {
|
|
258
|
+
return this.buttonsData[i] ? this.buttonsData[i].disabled : this.props.disabled;
|
|
259
|
+
}
|
|
260
|
+
isRtl() {
|
|
261
|
+
return this.props.dir !== void 0 ? this.props.dir === "rtl" : !!this.wrapper && getComputedStyle(this.wrapper).direction === "rtl";
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
l.propTypes = {
|
|
265
|
+
accessKey: s.string,
|
|
266
|
+
ariaLabel: s.string,
|
|
267
|
+
title: s.string,
|
|
268
|
+
onButtonClick: s.func,
|
|
269
|
+
onFocus: s.func,
|
|
270
|
+
onBlur: s.func,
|
|
271
|
+
onItemClick: s.func,
|
|
272
|
+
onOpen: s.func,
|
|
273
|
+
onClose: s.func,
|
|
274
|
+
text: s.string,
|
|
275
|
+
items: s.arrayOf(s.any),
|
|
276
|
+
textField: s.string,
|
|
277
|
+
tabIndex: s.number,
|
|
278
|
+
disabled: s.bool,
|
|
279
|
+
icon: s.string,
|
|
280
|
+
svgIcon: b,
|
|
281
|
+
iconClass: s.string,
|
|
282
|
+
imageUrl: s.string,
|
|
283
|
+
popupSettings: s.object,
|
|
284
|
+
itemRender: s.any,
|
|
285
|
+
item: s.func,
|
|
286
|
+
className: s.string,
|
|
287
|
+
buttonClass: s.string,
|
|
288
|
+
dir: s.string
|
|
289
|
+
}, l.defaultProps = {
|
|
290
|
+
size: "medium",
|
|
291
|
+
rounded: "medium",
|
|
292
|
+
fillMode: "solid",
|
|
293
|
+
themeColor: "base"
|
|
294
|
+
};
|
|
295
|
+
let g = l;
|
|
296
|
+
export {
|
|
297
|
+
g as SplitButton
|
|
298
|
+
};
|
|
@@ -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 i=require("react"),e=require("prop-types");function a(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,c.get?c:{enumerable:!0,get:()=>t[r]})}}return n.default=t,Object.freeze(n)}const l=a(i),s=class s extends l.Component{render(){return null}};s.propTypes={text:e.string,icon:e.string,iconClass:e.string,imageUrl:e.string,disabled:e.bool,render:e.any};let o=s;exports.SplitButtonItem=o;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 n from "react";
|
|
10
|
+
import r from "prop-types";
|
|
11
|
+
const s = class s extends n.Component {
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
render() {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
s.propTypes = {
|
|
20
|
+
text: r.string,
|
|
21
|
+
icon: r.string,
|
|
22
|
+
iconClass: r.string,
|
|
23
|
+
imageUrl: r.string,
|
|
24
|
+
disabled: r.bool,
|
|
25
|
+
render: r.any
|
|
26
|
+
};
|
|
27
|
+
let e = s;
|
|
28
|
+
export {
|
|
29
|
+
e as SplitButtonItem
|
|
30
|
+
};
|
|
@@ -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 e=require("@progress/kendo-react-common"),c=(t,n,a,s)=>{if(a)return t;const r=Math.min(s-1,Math.max(0,t));switch(n){case e.Keys.enter:case e.Keys.space:case e.Keys.esc:return-1;case e.Keys.up:case e.Keys.left:return r-1<0?s-1:r-1;case e.Keys.down:case e.Keys.right:return r+1>=s?0:r+1;case e.Keys.home:return 0;case e.Keys.end:return s-1;default:return t}};exports.navigate=c;
|
|
@@ -0,0 +1,35 @@
|
|
|
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 { Keys as e } from "@progress/kendo-react-common";
|
|
10
|
+
const i = (s, t, a, r) => {
|
|
11
|
+
if (a)
|
|
12
|
+
return s;
|
|
13
|
+
const n = Math.min(r - 1, Math.max(0, s));
|
|
14
|
+
switch (t) {
|
|
15
|
+
case e.enter:
|
|
16
|
+
case e.space:
|
|
17
|
+
case e.esc:
|
|
18
|
+
return -1;
|
|
19
|
+
case e.up:
|
|
20
|
+
case e.left:
|
|
21
|
+
return n - 1 < 0 ? r - 1 : n - 1;
|
|
22
|
+
case e.down:
|
|
23
|
+
case e.right:
|
|
24
|
+
return n + 1 >= r ? 0 : n + 1;
|
|
25
|
+
case e.home:
|
|
26
|
+
return 0;
|
|
27
|
+
case e.end:
|
|
28
|
+
return r - 1;
|
|
29
|
+
default:
|
|
30
|
+
return s;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
i as navigate
|
|
35
|
+
};
|
|
@@ -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"});function e(i){let t={horizontal:"left",vertical:"bottom"};return i&&(t.horizontal="right"),t}function n(i){let t={horizontal:"left",vertical:"top"};return i&&(t.horizontal="right"),t}exports.getAnchorAlign=e;exports.getPopupAlign=n;
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
function n(i) {
|
|
10
|
+
let t = { horizontal: "left", vertical: "bottom" };
|
|
11
|
+
return i && (t.horizontal = "right"), t;
|
|
12
|
+
}
|
|
13
|
+
function o(i) {
|
|
14
|
+
let t = { horizontal: "left", vertical: "top" };
|
|
15
|
+
return i && (t.horizontal = "right"), t;
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
n as getAnchorAlign,
|
|
19
|
+
o as getPopupAlign
|
|
20
|
+
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
(function(p,F){typeof exports=="object"&&typeof module!="undefined"?F(exports,require("react"),require("prop-types"),require("@progress/kendo-react-common"),require("@progress/kendo-react-popup"),require("@progress/kendo-svg-icons")):typeof define=="function"&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-popup","@progress/kendo-svg-icons"],F):(p=typeof globalThis!="undefined"?globalThis:p||self,F(p.KendoReactButtons={},p.React,p.PropTypes,p.KendoReactCommon,p.KendoReactPopup,p.KendoSvgIcons))})(this,function(p,F,s,n,fe,Ne){"use strict";"use client";function Ze(e){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const l=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(i,t,l.get?l:{enumerable:!0,get:()=>e[t]})}}return i.default=e,Object.freeze(i)}const a=Ze(F),z={name:"@progress/kendo-react-buttons",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};function Ge({imageUrl:e,name:i,iconClass:t,svgIcon:l,imageAlt:r}){return e?a.createElement("img",{role:"presentation",className:"k-button-icon",alt:r,src:e}):i||l?a.createElement(n.IconWrap,{className:"k-button-icon",name:i,icon:l}):t?a.createElement("span",{role:"presentation",className:n.classNames("k-button-icon",t)}):null}const q=class extends a.Component{constructor(e){super(e),this._element=null,this.handleClick=i=>{this.toggleIfApplicable(),this.props.onClick&&this.props.onClick.call(void 0,i)},n.validatePackage(z),this.state={selected:this.props.togglable===!0&&this.props.selected===!0}}get element(){return this._element}get selected(){return this._selectedTemp!==void 0?this._selectedTemp:this.state.selected}static getDerivedStateFromProps(e,i){return e.togglable&&e.selected!==void 0&&e.selected!==i.selected?{selected:e.selected}:null}render(){const{children:e,togglable:i,icon:t,iconClass:l,svgIcon:r,imageUrl:o,imageAlt:d,className:u,onClick:m,size:y=q.defaultProps.size,rounded:h=q.defaultProps.rounded,fillMode:x=q.defaultProps.fillMode,themeColor:N=q.defaultProps.themeColor,...w}=this.props,K=r!==void 0||t!==void 0||l!==void 0||o!==void 0,S=e!==void 0,k=Ge({name:t,svgIcon:r,iconClass:l,imageUrl:o,imageAlt:d});return a.createElement("button",{ref:E=>this._element=E,"aria-pressed":i?this.state.selected:void 0,...w,onClick:this.handleClick,className:n.classNames("k-button",{[`k-button-${n.kendoThemeMaps.sizeMap[y]||y}`]:y,[`k-button-${x}`]:x,[`k-button-${x}-${N}`]:!!(x&&N),[`k-rounded-${n.kendoThemeMaps.roundedMap[h]||h}`]:h,"k-icon-button":!S&&K,"k-disabled":this.props.disabled,"k-selected":this.state.selected,"k-rtl":this.props.dir==="rtl"},this.props.className)},k,e&&a.createElement("span",{className:"k-button-text"},e))}toggleIfApplicable(){if(this.props.togglable&&this.props.selected===void 0){const e=!this.state.selected;this._selectedTemp=e,this.setState({selected:e},()=>this._selectedTemp=void 0)}}};let $=q;$.propTypes={children:s.node,selected:s.bool,togglable:s.bool,icon:s.string,svgIcon:n.svgIconPropType,iconClass:s.string,imageUrl:s.string,imageAlt:s.string,size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),fillMode:s.oneOf([null,"flat","link","outline","solid"]),themeColor:s.oneOf([null,"base","primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"])},$.defaultProps={togglable:!1,size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};const Xe={button:"k-button",flat:"k-flat",outline:"k-outline",clear:"k-button-clear",primary:"k-primary","state-selected":"k-selected","button-icon":"k-button-icon","button-icontext":"k-button-icontext","state-disabled":"k-disabled","group-start":"k-group-start","group-end":"k-group-end","button-group":"k-button-group","button-group-stretched":"k-button-group-stretched",ltr:"k-ltr",rtl:"k-rtl"},Ke=":not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",Se=["button"+Ke,".k-button-group > button"+Ke,".k-colorpicker",".k-dropdownlist"],T={styles:Xe}.styles;class Be extends a.Component{constructor(i){super(i),this._element=null,n.validatePackage(z)}render(){const i=this.mapButtons(this.props.children),t=n.classNames([T["button-group"]],{["k-disabled"]:this.props.disabled,[T["button-group-stretched"]]:!!this.props.width},this.props.className),l={className:t,style:{width:`${this.props.width}`},dir:this.props.dir,role:"group","aria-disabled":this.props.disabled};return a.createElement("div",{ref:r=>{this._element=r},...l,className:t},i)}mapButtons(i){const t=a.Children.count(i),l=this.props.dir!==void 0?this.props.dir==="rtl":this._element&&getComputedStyle(this._element).direction==="rtl"||!1;return a.Children.map(i,(r,o)=>a.isValidElement(r)?this.renderButton(r,o,o===t-1,l):r)}renderButton(i,t,l,r){const o=n.classNames(i.props.className,{[T["group-start"]]:r?l:t===0,[T["group-end"]]:r?t===0:l}),d={...this.props.width?{width:this.props.width}:{},...i.props.style||{}},u=this.props.disabled||i.props.disabled,m={...i.props,...o?{className:o}:{},...Object.keys(d).length?{style:d}:{},...u!==void 0?{disabled:u}:{}};return a.Children.count(i.props.children)>0?a.cloneElement(i,m,i.props.children):a.cloneElement(i,m)}}Be.propTypes={children:s.oneOfType([s.arrayOf(s.element),s.element]),className:s.string,disabled:s.bool,width:s.string,dir:s.string};const pe=e=>{const i=a.useCallback(o=>{e.onClick(o,e.index)},[e]),t=e.dataItem.render||e.item||(e.item===void 0?e.render:null),l=e.dataItem.text!==void 0?e.dataItem.text:e.textField?e.dataItem[e.textField]:e.dataItem,r=a.createElement("li",{id:e.id,className:n.classNames("k-item",e.className,{"k-focus":e.focused}),tabIndex:-1,onClick:i,onMouseDown:e.onDown,onPointerDown:e.onDown,role:"menuitem","aria-disabled":e.dataItem.disabled||void 0},a.createElement("span",{tabIndex:-1,className:n.classNames("k-link k-menu-link",{"k-selected":e.dataItem.selected,"k-disabled":e.dataItem.disabled}),key:"icon"},t?a.createElement(t,{item:e.dataItem,itemIndex:e.index}):a.createElement(a.Fragment,null,(e.dataItem.icon||e.dataItem.iconClass||e.dataItem.svgIcon)&&a.createElement(n.IconWrap,{className:e.dataItem.iconClass,name:e.dataItem.icon,icon:e.dataItem.svgIcon}),e.dataItem.imageUrl&&a.createElement("img",{role:"presentation",alt:"",src:e.dataItem.imageUrl,className:"k-icon"}),l&&a.createElement("span",{className:"k-menu-link-text"},l))));return e.item!==void 0&&e.render!==void 0?e.render.call(void 0,r,e):r};pe.displayName="KendoReactButtonItem";class be extends a.Component{render(){return null}}be.propTypes={text:s.string,icon:s.string,iconClass:s.string,imageUrl:s.string,disabled:s.bool,render:s.any};const Ce=(e,i,t,l)=>{if(t)return e;const r=Math.min(l-1,Math.max(0,e));switch(i){case n.Keys.enter:case n.Keys.space:case n.Keys.esc:return-1;case n.Keys.up:case n.Keys.left:return r-1<0?l-1:r-1;case n.Keys.down:case n.Keys.right:return r+1>=l?0:r+1;case n.Keys.home:return 0;case n.Keys.end:return l-1;default:return e}};function Fe(e){let i={horizontal:"left",vertical:"bottom"};return e&&(i.horizontal="right"),i}function ze(e){let i={horizontal:"left",vertical:"top"};return e&&(i.horizontal="right"),i}let ee=class extends a.Component{constructor(i){super(i),this.state={focused:!1,focusedIndex:-1,opened:!1},this.wrapper=null,this.mainButton=null,this.list=null,this.skipFocus=!1,this.buttonsData=[],this.onKeyDown=t=>{const{focusedIndex:l}=this.state;if(t.altKey){!this.opened&&t.keyCode===n.Keys.down?(t.preventDefault(),this.setState({focusedIndex:0}),this.setOpen(!0,t)):this.opened&&t.keyCode===n.Keys.up&&(t.preventDefault(),this.setState({focusedIndex:-1}),this.setOpen(!1,t));return}let r;if(t.keyCode===n.Keys.enter||t.keyCode===n.Keys.space){if(t.preventDefault(),this.dispatchClickEvent(t,l),l>=0){r={focusedIndex:this.opened?-1:0};const o=!this.opened;this.setOpen(o,t)}}else if(this.opened&&t.keyCode===n.Keys.esc){this.setState({focusedIndex:-1}),this.setOpen(!1,t);return}if(this.opened){const o=Ce(l,t.keyCode,t.altKey,this.buttonsData.length);o!==l&&(r=r||{},r.focusedIndex=o);const d=t.keyCode===n.Keys.up||t.keyCode===n.Keys.down||t.keyCode===n.Keys.left||t.keyCode===n.Keys.right;!t.altKey&&(d||t.keyCode===n.Keys.home||t.keyCode===n.Keys.end)&&t.preventDefault()}r&&this.setState(r)},this.switchFocus=t=>{this.skipFocus=!0,t(),window.setTimeout(()=>this.skipFocus=!1,0)},this.onFocus=t=>{this.skipFocus||(n.dispatchEvent(this.props.onFocus,t,this,void 0),this.setState({focused:!0}))},this.setOpen=(t,l)=>{this.opened!==t&&(this.openedDuringOnChange=t,this.setState({opened:t}),l?this.dispatchPopupEvent(l,t):this.openedDuringOnChange=void 0)},this.onItemClick=(t,l)=>{this.opened&&this.setState({focusedIndex:0}),this.dispatchClickEvent(t,l),this.setOpen(!1,t)},this.onBlur=t=>{this.skipFocus||(this.setState({focused:!1,focusedIndex:-1}),n.dispatchEvent(this.props.onBlur,t,this,void 0),setTimeout(()=>{this.setOpen(!1,t)},0))},this.onPopupClose=t=>{var r;const l=n.getActiveElement(document);this.element&&this.element.removeAttribute("tabindex"),(l===this.list||(r=this.list)!=null&&r.contains(l))&&this.switchFocus(()=>{this.element&&this.element.focus({preventScroll:!0})}),this.props.popupSettings&&this.props.popupSettings.onClose&&this.props.popupSettings.onClose.call(void 0,t)},this.listRef=t=>{this.list=t,t&&this.state.focused&&this.switchFocus(()=>{t.focus({preventScroll:!0}),this.element&&(this.element.tabIndex=-1)})},this.onSplitPartClick=t=>{if(this.buttonsData.length){const l=!this.opened;this.setState({focusedIndex:l?0:-1,focused:!0}),this.setOpen(l,t)}},this.onDownSplitPart=t=>{t.preventDefault();const l=n.getActiveElement(document);this.element&&l!==this.element&&l!==this.list&&this.element.focus()},this.onItemDown=t=>{n.getActiveElement(document)===this.list&&t.preventDefault()},this.dispatchPopupEvent=(t,l)=>{n.dispatchEvent(l?this.props.onOpen:this.props.onClose,t,this,void 0),this.openedDuringOnChange=void 0},n.validatePackage(z)}get guid(){return this.props.id?this.props.id+"-accessibility-id":this.props.id}get opened(){return this.openedDuringOnChange!==void 0?this.openedDuringOnChange:this.props.opened===void 0?this.state.opened:this.props.opened}render(){this.buttonsData=this.props.items||a.Children.toArray(this.props.children).filter(u=>u&&u.type===be).map(u=>u.props);const i=this.isRtl(),t=i?"rtl":void 0,{id:l,style:r,tabIndex:o,disabled:d}=this.props;return a.createElement("div",{id:l,style:r,className:n.classNames("k-split-button","k-button-group",{"k-focus":this.state.focused},`k-rounded-${n.kendoThemeMaps.roundedMap[this.props.rounded||"medium"]}`,this.props.className),onKeyDown:this.onKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,dir:t,ref:u=>this.wrapper=u},a.createElement($,{ref:u=>this.mainButton=u&&u.element,type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,onClick:u=>this.onItemClick(u,-1),disabled:d||void 0,tabIndex:o,accessKey:this.props.accessKey,className:this.props.buttonClass,icon:this.props.icon,svgIcon:this.props.svgIcon,iconClass:this.props.iconClass,imageUrl:this.props.imageUrl,dir:t,"aria-disabled":d,"aria-haspopup":!0,"aria-expanded":this.opened||void 0,"aria-label":this.props.ariaLabel,"aria-controls":this.opened?this.guid:void 0,id:"button-"+this.guid,title:this.props.title},this.props.text),a.createElement($,{type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,icon:"caret-alt-down",svgIcon:Ne.caretAltDownIcon,className:"k-split-button-arrow",disabled:d||void 0,tabIndex:-1,onClick:this.onSplitPartClick,onMouseDown:this.onDownSplitPart,onPointerDown:this.onDownSplitPart,dir:t,"aria-label":"menu toggling button"}),this.renderPopup(i))}componentDidMount(){(this.props.dir===void 0&&this.isRtl()||this.opened)&&this.forceUpdate()}get element(){return this.mainButton}dispatchClickEvent(i,t){this.isItemDisabled(t)||(t===-1?n.dispatchEvent(this.props.onButtonClick,i,this,void 0):n.dispatchEvent(this.props.onItemClick,i,this,{item:this.buttonsData[t],itemIndex:t}))}renderPopup(i){const{popupSettings:t={}}=this.props,{focusedIndex:l}=this.state;return a.createElement(fe.Popup,{anchor:this.wrapper,show:this.opened,animate:t.animate,popupClass:n.classNames("k-menu-popup",t.popupClass),anchorAlign:t.anchorAlign||Fe(i),popupAlign:t.popupAlign||ze(i),style:i?{direction:"rtl"}:void 0,onClose:this.onPopupClose},a.createElement("ul",{role:"menu",id:this.guid,"aria-labelledby":"button-"+this.guid,tabIndex:-1,ref:this.listRef,"aria-activedescendant":l>=0?`${this.guid}-${l}`:void 0,className:n.classNames("k-group k-menu-group k-reset",{[`k-menu-group-${n.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size})},this.renderChildItems()))}renderChildItems(){const{item:i,itemRender:t,textField:l}=this.props;return this.buttonsData.length>0?this.buttonsData.map((r,o)=>a.createElement(pe,{className:"k-menu-item",dataItem:r,textField:l,focused:this.state.focusedIndex===o,onClick:this.onItemClick,onDown:this.onItemDown,render:t,item:i,key:o,index:o,id:`${this.guid}-${o}`})):null}isItemDisabled(i){return this.buttonsData[i]?this.buttonsData[i].disabled:this.props.disabled}isRtl(){return this.props.dir!==void 0?this.props.dir==="rtl":!!this.wrapper&&getComputedStyle(this.wrapper).direction==="rtl"}};ee.propTypes={accessKey:s.string,ariaLabel:s.string,title:s.string,onButtonClick:s.func,onFocus:s.func,onBlur:s.func,onItemClick:s.func,onOpen:s.func,onClose:s.func,text:s.string,items:s.arrayOf(s.any),textField:s.string,tabIndex:s.number,disabled:s.bool,icon:s.string,svgIcon:n.svgIconPropType,iconClass:s.string,imageUrl:s.string,popupSettings:s.object,itemRender:s.any,item:s.func,className:s.string,buttonClass:s.string,dir:s.string},ee.defaultProps={size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};class ge extends a.Component{render(){return null}}ge.propTypes={text:s.string,icon:s.string,iconClass:s.string,imageUrl:s.string,selected:s.bool,disabled:s.bool,render:s.any};let te=class extends a.Component{constructor(i){super(i),this.state={opened:!1,focused:!1,focusedIndex:-1},this.mainButton=null,this.list=null,this.skipFocus=!1,this.buttonsData=[],this.onKeyDown=t=>{const{focusedIndex:l}=this.state;if(t.altKey){!this.opened&&t.keyCode===n.Keys.down?(t.preventDefault(),this.setOpen(!0,t),this.setState({focusedIndex:0})):this.opened&&t.keyCode===n.Keys.up&&(t.preventDefault(),this.setState({focusedIndex:-1}),this.setOpen(!1,t));return}const r={...this.state};if(t.keyCode===n.Keys.enter||t.keyCode===n.Keys.space){t.preventDefault(),l>=0&&this.dispatchClickEvent(t,l);const o=!this.opened;this.setState({focused:!0,focusedIndex:o?0:-1}),this.setOpen(o,t);return}if(this.opened&&t.keyCode===n.Keys.esc){this.setState({focusedIndex:-1}),this.setOpen(!1,t);return}if(this.opened){const o=Ce(l,t.keyCode,t.altKey,this.buttonsData.length);r.focusedIndex=o;const d=t.keyCode===n.Keys.up||t.keyCode===n.Keys.down||t.keyCode===n.Keys.left||t.keyCode===n.Keys.right;!t.altKey&&(d||t.keyCode===n.Keys.home||t.keyCode===n.Keys.end)&&t.preventDefault()}this.setState(r)},this.switchFocus=t=>{this.skipFocus=!0,t(),window.setTimeout(()=>this.skipFocus=!1,0)},this.handleFocus=t=>{this.skipFocus||(this.setState({focused:!0,focusedIndex:this.opened?0:-1}),n.dispatchEvent(this.props.onFocus,t,this,void 0))},this.handleButtonBlur=t=>{this.opened||(this.setState({focused:!1}),n.dispatchEvent(this.props.onBlur,t,this,void 0))},this.handleMenuBlur=t=>{this.skipFocus||(this.setState({focused:!1,focusedIndex:-1}),n.dispatchEvent(this.props.onBlur,t,this,void 0),setTimeout(()=>{this.setOpen(!1,t)},0))},this.setOpen=(t,l)=>{this.opened!==t&&(this.openedDuringOnChange=t,this.setState({opened:t}),l?this.dispatchPopupEvent(l,t):this.openedDuringOnChange=void 0)},this.onItemClick=(t,l)=>{this.setState({focusedIndex:-1}),this.dispatchClickEvent(t,l),this.setOpen(!1,t)},this.onItemDown=t=>{n.getActiveElement(document)===this.list&&t.preventDefault()},this.mouseDown=t=>{t.preventDefault();const l=n.getActiveElement(document);this.element&&l!==this.element&&l!==this.list&&this.element.focus()},this.onPopupClose=t=>{var r;const l=n.getActiveElement(document);this.element&&this.element.removeAttribute("tabindex"),(l===this.list||(r=this.list)!=null&&r.contains(l))&&this.switchFocus(()=>{this.element&&this.element.focus({preventScroll:!0})}),this.props.popupSettings&&this.props.popupSettings.onClose&&this.props.popupSettings.onClose.call(void 0,t)},this.listRef=t=>{this.list=t,t&&this.state.focused&&this.switchFocus(()=>{t.focus({preventScroll:!0}),this.element&&(this.element.tabIndex=-1)})},this.onClickMainButton=t=>{if(!this.buttonsData.length)return;const l=!this.opened;this.setState({focused:!0,focusedIndex:l?0:-1}),this.setOpen(l,t)},this.dispatchPopupEvent=(t,l)=>{n.dispatchEvent(l?this.props.onOpen:this.props.onClose,t,this,void 0),this.openedDuringOnChange=void 0},n.validatePackage(z)}get guid(){return this.props.id+"-accessibility-id"}get opened(){return this.openedDuringOnChange!==void 0?this.openedDuringOnChange:this.props.opened===void 0?this.state.opened:this.props.opened}render(){const i=this.isRtl(),t=i?"rtl":void 0,{id:l,style:r,tabIndex:o,disabled:d}=this.props;return this.buttonsData=this.props.items||a.Children.toArray(this.props.children).filter(u=>u&&u.type===ge).map(u=>u.props),a.createElement(a.Fragment,null,a.createElement($,{id:l,size:this.props.size,style:r,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,onClick:this.onClickMainButton,onMouseDown:this.mouseDown,onKeyDown:this.onKeyDown,onFocus:this.handleFocus,onBlur:this.handleButtonBlur,"aria-disabled":d?"true":void 0,tabIndex:o,accessKey:this.props.accessKey,icon:this.props.icon,svgIcon:this.props.svgIcon,iconClass:this.props.iconClass,className:n.classNames(this.props.buttonClass,this.props.className,"k-menu-button","k-dropdown-button",{"k-focus":this.state.focused},{"k-disabled":d}),imageUrl:this.props.imageUrl,dir:t,ref:u=>this.mainButton=u&&u.element,type:"button","aria-haspopup":"menu","aria-expanded":this.opened?"true":"false","aria-label":this.props.ariaLabel,"aria-controls":this.opened?this.guid:void 0,title:this.props.title},this.props.text),this.renderPopup(i))}componentDidMount(){(this.props.dir===void 0&&this.isRtl()||this.opened)&&this.forceUpdate()}get element(){return this.mainButton}dispatchClickEvent(i,t){this.isItemDisabled(t)||n.dispatchEvent(this.props.onItemClick,i,this,{item:this.buttonsData[t],itemIndex:t})}renderPopup(i){const{popupSettings:t={},id:l}=this.props,{focusedIndex:r}=this.state;return a.createElement(fe.Popup,{anchor:this.mainButton,show:this.opened,animate:t.animate,popupClass:n.classNames("k-menu-popup",t.popupClass),anchorAlign:t.anchorAlign||Fe(i),popupAlign:t.popupAlign||ze(i),style:i?{direction:"rtl"}:void 0,onClose:this.onPopupClose},a.createElement("ul",{role:"menu",id:this.guid,"aria-labelledby":l,tabIndex:-1,"aria-activedescendant":r>=0?`${this.guid}-${r}`:void 0,ref:this.listRef,onKeyDown:this.onKeyDown,onBlur:this.handleMenuBlur,className:n.classNames("k-group k-menu-group k-reset",{[`k-menu-group-${n.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size})},this.renderChildItems()))}renderChildItems(){const{item:i,itemRender:t,textField:l}=this.props;return this.buttonsData.length>0?this.buttonsData.map((r,o)=>a.createElement(pe,{className:"k-menu-item",dataItem:r,textField:l,focused:this.state.focusedIndex===o,onClick:this.onItemClick,onDown:this.onItemDown,render:t,item:i,index:o,key:o,id:`${this.guid}-${o}`})):null}isItemDisabled(i){return this.buttonsData[i]?this.buttonsData[i].disabled:this.props.disabled}isRtl(){return this.props.dir!==void 0?this.props.dir==="rtl":!!this.mainButton&&getComputedStyle(this.mainButton).direction==="rtl"}};te.propTypes={accessKey:s.string,ariaLabel:s.string,title:s.string,onFocus:s.func,onBlur:s.func,onItemClick:s.func,onOpen:s.func,onClose:s.func,items:s.arrayOf(s.any),textField:s.string,tabIndex:s.number,disabled:s.bool,icon:s.string,svgIcon:n.svgIconPropType,iconClass:s.string,imageUrl:s.string,popupSettings:s.object,itemRender:s.func,item:s.func,className:s.string,buttonClass:s.string,dir:s.string},te.defaultProps={size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};const me=class extends a.Component{constructor(e){super(e),this._element=null,this.offsetHeight=0,this.offsetWidth=0,this.buttons=[],this.focusedSelector=this.selectors.map(i=>i+":focus").join(","),this.setTabIndex=i=>{const{tabIndex:t=me.defaultProps.tabIndex}=this.props;this.buttons.forEach((l,r)=>{l.tabIndex=r===i?t:-1})},this.onKeyDown=i=>{const t=i.target;if(!(i.keyCode===n.Keys.left||i.keyCode===n.Keys.right||i.keyCode===n.Keys.home||i.keyCode===n.Keys.end)||i.defaultPrevented||this.buttons.findIndex(o=>o===t)===-1)return;const r=this.focusedIndex;i.keyCode===n.Keys.left?this.focusButton(r,r===0?this.buttons.length-1:r-1):this.focusButton(r,r===this.buttons.length-1?0:r+1),i.keyCode===n.Keys.home&&this.focusButton(r,0),i.keyCode===n.Keys.end&&this.focusButton(r,this.buttons.length-1)},this.onWindowResize=i=>{const t=this.element;if(!t)return;const l=t.offsetWidth,r=t.offsetHeight;if(this.offsetWidth!==l||this.offsetHeight!==r){this.offsetWidth=l,this.offsetHeight=r;const o={offsetWidth:this.offsetWidth,offsetHeight:this.offsetHeight};this.props.onResize&&this.props.onResize.call(void 0,{target:this,...o,nativeEvent:i})}},n.validatePackage(z)}get selectors(){return this.props.buttons||Se}get focusedIndex(){const e=this.element&&this.element.querySelector(this.focusedSelector);return Math.max(0,this.buttons.findIndex(i=>i===e))}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize);const e=this.element;e&&(this.offsetWidth=e.offsetWidth,this.offsetHeight=e.offsetHeight,this.props.keyboardNavigation!==!1&&(this.buttons=Array.from(e.querySelectorAll(this.selectors.join(","))),this.setTabIndex(0)))}componentDidUpdate(){const e=this.element;!e||this.props.keyboardNavigation===!1||(this.buttons=Array.from(e.querySelectorAll(this.selectors.join(","))),this.setTabIndex(this.focusedIndex))}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize),this.buttons.length=0}render(){return a.createElement("div",{id:this.props.id,"aria-label":this.props.ariaLabel,className:n.classNames("k-toolbar",{[`k-toolbar-${n.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),style:this.props.style,role:this.props.role!==void 0?this.props.role||void 0:"toolbar",dir:this.props.dir,ref:e=>this._element=e,onKeyDown:this.props.keyboardNavigation!==!1?this.onKeyDown:void 0},this.props.children)}focusButton(e,i){const{tabIndex:t=me.defaultProps.tabIndex}=this.props,l=this.buttons[i];if(l){l.tabIndex=t,l.focus();const r=this.buttons[e];r&&(r.tabIndex=-1)}}};let ve=me;ve.propTypes={tabIndex:s.number,dir:s.string,keyboardNavigation:s.bool,style:s.object,className:s.string,role:s.string,onResize:s.func,buttons:s.arrayOf(s.string),size:s.oneOf([null,"small","medium","large"])},ve.defaultProps={tabIndex:0,size:"medium"};class Me extends a.PureComponent{constructor(){super(...arguments),this._element=null}get element(){return this._element}render(){return a.createElement("div",{id:this.props.id,className:n.classNames("k-toolbar-item",this.props.className),style:this.props.style,ref:i=>this._element=i},this.props.children)}}Me.propTypes={className:s.string};class Ve extends a.PureComponent{render(){return a.createElement("div",{className:n.classNames("k-separator",this.props.className)})}}const Ie=a.forwardRef((e,i)=>{const t=a.useRef(null),l=a.useRef(null);a.useImperativeHandle(l,()=>({element:t.current})),a.useImperativeHandle(i,()=>({element:t.current}));const r=a.useMemo(()=>n.classNames("k-spacer",e.className),[e.className]);return a.createElement("span",{ref:t,className:r})});Ie.displayName="KendoReactToolbarSpacer",Ie.propTypes={className:s.string};const Oe=F.createContext([null,e=>{}]),Ae=F.createContext([null,e=>{}]),$e=F.createContext([null,e=>{}]);var Z=(e=>(e.next="next",e.prev="prev",e.current="current",e.reset="reset",e))(Z||{});const Je=(e,i)=>{const t=i.items.findIndex(l=>l===e);switch(i.type){case"next":return t===i.items.length-1?e:i.items[t+1];case"prev":return t===0?e:i.items[t-1];case"current":return i.payload;case"reset":return null;default:return e}};var We=(e=>(e.remove="remove",e.add="add",e.reorder="reorder",e))(We||{});const Qe=(e,i)=>{switch(i.type){case"add":break;case"remove":return e.filter(t=>t[i.valueField]!==i.payload);case"reorder":break;default:return e}};var se=(e=>(e.toggle="toggle",e.remove="remove",e))(se||{});const Ye=(e,i)=>{switch(i.selection){case"single":switch(i.type){case"toggle":{if(!Array.isArray(e)||e===null)return i.payload===e?null:i.payload;throw new Error("State cannot be an array in single selection")}case"remove":return i.payload===e?null:e;default:return e}case"multiple":switch(i.type){case"toggle":{if(Array.isArray(e))return e.some(t=>t===i.payload)?e.filter(t=>t!==i.payload):[...e,i.payload];if(e===null)return[i.payload];throw new Error("State cannot be non-array in multiple selection")}case"remove":return Array.isArray(e)?e.some(t=>t===i.payload)?e.filter(t=>t!==i.payload):[...e,i.payload]:e;default:return e}case"none":return null;default:return e}},M=a.forwardRef((e,i)=>{n.validatePackage(z);const t=a.useRef(null),l=a.useRef(null),r=n.useDir(l,e.dir);a.useImperativeHandle(t,()=>({element:l.current,props:e})),a.useImperativeHandle(i,()=>t.current);const[o,d]=a.useContext(Oe),[u,m]=a.useContext(Ae),[,y]=a.useContext($e),h=a.useMemo(()=>e.selected||(Array.isArray(o)?o.some(f=>f===e.value):o===e.value),[e.selected,e.value,o]),x=a.useMemo(()=>u===e.value,[e.value,u]);a.useEffect(()=>{x&&l.current&&l.current.focus()},[x]);const N=a.useCallback(f=>{d({type:se.toggle,payload:e.value,event:f})},[d,e.value]),w=a.useCallback(f=>{e.removable&&(y({type:We.remove,payload:e.value,event:f}),m({type:Z.reset,payload:e.value,event:f}),d({type:se.remove,payload:e.value,event:f}),e.onRemove&&e.onRemove.call(void 0,{target:t.current,syntheticEvent:f}))},[e.onRemove,e.value,e.removable,y,m,d]),K=a.useCallback(f=>{switch(f.keyCode){case n.Keys.left:m({type:Z.prev,payload:e.value,event:f});break;case n.Keys.right:m({type:Z.next,payload:e.value,event:f});break;case n.Keys.enter:d({type:se.toggle,payload:e.value,event:f});break;case n.Keys.delete:w(f);break}e.onKeyDown&&e.onKeyDown.call(void 0,{target:t.current,syntheticEvent:f})},[e.onKeyDown,e.value,m,d,w]),S=a.useCallback(f=>{m({payload:e.value,type:Z.current,event:f}),e.onFocus&&e.onFocus.call(void 0,{target:t.current,syntheticEvent:f})},[e.onFocus,e.value,m]),k=a.useCallback(f=>{e.onBlur&&e.onBlur.call(void 0,{target:t.current,syntheticEvent:f})},[e.onBlur]),E=n.useMouse(e,t,{onClick:N});return a.createElement("div",{...E,role:e.role||"button",id:e.value,style:e.style,ref:l,dir:r,tabIndex:n.getTabIndex(e.tabIndex,e.disabled,void 0),className:n.classNames("k-chip",{"k-rtl":r==="rtl","k-disabled":e.disabled,"k-selected":h,"k-focus":x,[`k-chip-${n.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size,[`k-rounded-${n.kendoThemeMaps.roundedMap[e.rounded]||e.rounded}`]:e.rounded,[`k-chip-${e.fillMode}`]:e.fillMode,[`k-chip-${e.fillMode}-${e.themeColor}`]:!!(e.fillMode&&e.themeColor)},e.className),"aria-pressed":e.role?void 0:h,"aria-disabled":e.disabled,"aria-describedby":e.ariaDescribedBy,"aria-keyshortcuts":e.removable?"Enter Delete":void 0,onFocus:S,onBlur:k,onKeyDown:K},h&&(e.selectedIcon||e.selectedSvgIcon)&&a.createElement(n.IconWrap,{className:"k-chip-icon",name:e.selectedIcon?n.toIconName(e.selectedIcon):void 0,icon:e.selectedSvgIcon,size:"small"}),(e.icon||e.svgIcon)&&a.createElement(n.IconWrap,{className:"k-chip-icon",name:e.icon?n.toIconName(e.icon):void 0,icon:e.svgIcon,size:"small"}),e.avatar&&a.createElement("div",{className:`k-chip-avatar k-avatar k-rounded-${e.avatar.rounded} k-avatar-md k-avatar-solid k-avatar-solid-primary`,style:e.avatar.style},a.createElement("span",{className:"k-avatar-image"},a.createElement("img",{src:e.avatar.image,alt:e.avatar.imageAlt}))),a.createElement("span",{className:"k-chip-content"},e.children!==void 0?e.children:e.text&&a.createElement("span",{"aria-label":e.ariaLabel||e.text,className:"k-chip-label"},e.text)),e.removable&&a.createElement("span",{className:"k-chip-actions"},a.createElement("span",{className:n.classNames("k-chip-action","k-chip-remove-action"),onClick:w},a.createElement(n.IconWrap,{name:e.removeIcon?n.toIconName(e.removeIcon):void 0,icon:e.removeSvgIcon||Ne.xCircleIcon,size:"small"}))))}),Pe={id:s.string,text:s.string,value:s.any,dir:s.oneOf(["ltr","rtl"]),removable:s.bool,removeIcon:s.string,removeIconSvg:n.svgIconPropType,disabled:s.bool,icon:s.string,svgIcon:n.svgIconPropType,selectedIcon:s.string,selectedIconSvg:n.svgIconPropType,onRemove:s.func,dataItem:s.any,selected:s.bool,ariaDescribedBy:s.string,size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),fillMode:s.oneOf([null,"outline","solid"]),themeColor:s.oneOf([null,"base","info","success","warning","error"])},Re={disabled:!1,removable:!1,removeIcon:"k-i-x-circle",dir:"ltr",size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};M.displayName="KendoReactChip",M.propTypes=Pe,M.defaultProps=Re;const Te=(e,i,t)=>{i.selection==="multiple"?Array.isArray(e)||(e=e?[e]:null):i.selection==="single"&&Array.isArray(e)&&(e=e?e.join(""):null);const[l,r]=a.useState(e);return[l,d=>{const u=Ye(i.state||l,{...d,...i});t&&t(u,d.event),i.selection!=="none"&&r(u)}]},et=e=>{const[i,t]=a.useState(null);return[i,r=>{const o=Je(r.payload,{...r,...e});t(o)}]},tt=(e,i,t)=>{const[l,r]=a.useState(e);return[l,d=>{const u=Qe(i.state||l,{...d,...i});t&&t(u,d.event),r(u)}]},ie=a.forwardRef((e,i)=>{n.validatePackage(z);const t=a.useRef(null),l=a.useRef(null),r=n.useDir(l,e.dir),{chip:o,id:d,style:u,tabIndex:m,disabled:y,size:h,className:x,ariaDescribedBy:N,ariaLabelledBy:w,ariaLabel:K,selection:S=W.selection,value:k=W.defaultValue,defaultData:E=W.defaultData,valueField:f=W.valueField,textField:L=W.textField,onChange:O,onDataChange:C}=e,_=a.useMemo(()=>o||M,[o,M]);a.useImperativeHandle(t,()=>({element:l.current,props:e})),a.useImperativeHandle(i,()=>t.current);const A=a.useCallback((b,v)=>{O&&t.current&&O.call(void 0,{value:b,target:t.current,syntheticEvent:v})},[O]),[X,V]=Te(k||e.defaultValue,{selection:S,state:k},A),le=a.useCallback((b,v)=>{C&&t.current&&C.call(void 0,{value:b,target:t.current,syntheticEvent:v})},[C]),[J,re]=tt(e.data||E,{state:e.data,valueField:f},le),Q=a.useCallback((b,v)=>(b.push(v[f]),b),[f]),H=a.useMemo(()=>e.data||J,[e.data,J]),oe=a.useMemo(()=>k||X,[k,X]),ue=a.useMemo(()=>H.reduce(Q,[]),[H,Q]),Y=a.useCallback(b=>n.getter(f)(b),[f]),I=a.useCallback(b=>n.getter(L)(b),[L]),[De,ke]=et({items:ue}),ce=n.useMouse(e,t);return a.createElement(Oe.Provider,{value:[oe,V]},a.createElement(Ae.Provider,{value:[De,ke]},a.createElement($e.Provider,{value:[H,re]},a.createElement("div",{ref:l,...ce,role:y?void 0:"listbox",id:d,dir:r,style:u,tabIndex:n.getTabIndex(m,y,void 0),className:n.classNames("k-chip-list",{"k-rtl":r==="rtl","k-disabled":y,[`k-chip-list-${n.kendoThemeMaps.sizeMap[h]||h}`]:h},x),"aria-label":K,"aria-labelledby":w,"aria-describedby":N,"aria-orientation":"horizontal","aria-multiselectable":S==="multiple"},H.map((b,v)=>a.createElement(_,{role:"option",dataItem:b,size:h,key:[Y(b),v].join("-"),text:I(b),value:Y(b),ariaLabel:b.ariaLabel,svgIcon:b.svgIcon||void 0}))))))}),st={id:s.string,className:s.string,tabIndex:s.number,data:s.any,defaultData:s.arrayOf(s.any),onDataChange:s.func,value:s.oneOfType([s.any,s.arrayOf(s.any)]),defaultValue:s.oneOfType([s.any,s.arrayOf(s.any)]),onChange:s.func,selection:s.oneOf(["single","none","multiple"]),textField:s.string,valueField:s.string,disabled:s.bool,dir:s.oneOf(["ltr","rtl"]),ariaLabelledBy:s.string,ariaDescribedBy:s.string,size:s.oneOf([null,"small","medium","large"])},W={chip:M,size:"medium",disabled:!1,defaultValue:null,defaultData:[],dir:"ltr",selection:"none",textField:"text",valueField:"value",removable:"removable"};ie.displayName="KendoReactChipList",ie.propTypes=st,ie.defaultProps=W;const ne=a.forwardRef((e,i)=>{const{className:t,disabled:l,text:r,icon:o,style:d,id:u,focused:m,tabIndex:y,index:h,dataItem:x,item:N,svgIcon:w,onDown:K,onClick:S,...k}=e,E=a.useRef(null),f=a.useCallback(()=>{E.current&&E.current.focus()},[]),L=a.useCallback(()=>({element:E.current,focus:f}),[f]);a.useImperativeHandle(i,L);const O=a.useCallback(A=>{S&&h!==void 0&&!l&&S(A,h)},[S,h]),C=a.useMemo(()=>n.classNames("k-fab-item",{"k-focus":m,"k-disabled":l},t),[t,l,m]),_=N;return a.createElement("li",{ref:E,id:u,className:C,style:d,role:"menuitem",tabIndex:n.getTabIndex(y,l),"aria-disabled":l,"aria-label":`${r||""} floatingactionbutton item`,onClick:O,onMouseDown:K,onPointerDown:K,...k},_?a.createElement(_,{itemIndex:h,item:x}):a.createElement(a.Fragment,null,r&&a.createElement("span",{className:"k-fab-item-text"},r),o||w?a.createElement(n.IconWrap,{className:"k-fab-item-icon",name:o,icon:w}):null))});ne.propTypes={className:s.string,style:s.object,children:s.any,disabled:s.bool,focused:s.bool,index:s.number,icon:s.string,svgIcon:n.svgIconPropType,text:s.string,tabIndex:s.number,customProp:s.any},ne.displayName="KendoFloatingActionButtonItem";const Le="16px",ae=e=>typeof e=="number"?e+"px":e,it=(e,i)=>{const t={horizontal:i?"right":"left",vertical:"bottom"};return e.horizontal==="end"&&(t.horizontal=i?"left":"right"),t},nt=(e,i)=>{const t={horizontal:i?"right":"left",vertical:"top"};return e.horizontal==="end"&&(t.horizontal=i?"left":"right"),t},at=(e,i)=>{const t=i==="end"?"end":"start";return{rtl:{end:"k-text-left",start:"k-text-right"},ltr:{start:"k-text-left",end:"k-text-right"}}[e][t]},lt=(e,i,t,l)=>{const r=i.horizontal,o=i.vertical;if(e.current){const d=t&&t.x!==void 0?ae(t.x):Le,u=t&&t.x!==void 0?`calc(50% + ${ae(t.x)})`:"50%",m=t&&t.y!==void 0?ae(t.y):Le,y=t&&t.y!==void 0?`calc(50% + ${ae(t.y)})`:"50%";e.current.style.setProperty(rt(i,l),r==="center"?u:d),e.current.style.setProperty(ot(i),o==="middle"?y:m),l&&((o==="top"||o==="bottom")&&r==="start"&&e.current.style.setProperty("left","unset"),o==="middle"&&r==="end"&&e.current.style.setProperty("right","unset"),o==="middle"&&r==="start"&&e.current.style.setProperty("left","unset"))}},rt=(e,i)=>{const{horizontal:t}=e;return{end:i?"left":"right",center:"left",start:i?"right":"left"}[t||"end"]},ot=e=>({top:"top",middle:"top",bottom:"bottom"})[e.vertical||"bottom"],ut=2,ct=100,ye=a.forwardRef((e,i)=>{n.validatePackage(z);const{align:t=G.align,alignOffset:l,className:r,disabled:o,icon:d,svgIcon:u,iconClass:m,id:y,items:h,item:x,text:N,positionMode:w=G.positionMode,size:K=G.size,style:S,rounded:k=G.rounded,themeColor:E=G.themeColor,overlayStyle:f,tabIndex:L,accessKey:O,popupSettings:C={},modal:_,onClick:A,onItemClick:X,onFocus:V,onBlur:le,onKeyDown:J,onOpen:re,onClose:Q,...H}=e,oe=n.useZIndexContext(),ue=oe?oe+ut:ct,Y=a.useRef(null),I=a.useRef(null),De=a.useRef(null),ke=a.useRef(null),ce=a.useCallback(()=>{I.current&&I.current.focus()},[]),b=a.useCallback(()=>({element:I.current,focus:ce}),[ce]);a.useImperativeHandle(Y,b),a.useImperativeHandle(i,()=>Y.current);const[v,B]=a.useState(!1),[de,j]=a.useState(!1),[P,D]=a.useState(-1),dt=n.useId()+"-button-id",xe=n.useDir(I,e.dir),R=xe==="rtl",he=n.useId()+"-list-id";a.useEffect(()=>{lt(I,t,l,R)},[I,t,l,R]),a.useEffect(()=>{de&&I&&I.current&&I.current.focus()},[de,I]);const U=a.useCallback((c,g)=>{h&&n.dispatchEvent(g?re:Q,c,b(),void 0)},[re,Q,h]),je=a.useCallback(c=>{!c.target||o||(!h&&A?n.dispatchEvent(A,c,b(),void 0):(B(!v),j(!0),D(v?-1:0),U(c,!v)))},[B,j,D,A,U,v,h,o]),ht=a.useCallback(c=>{j(!0),D(v?0:-1),V&&n.dispatchEvent(V,c,b(),void 0)},[V,j,D]),ft=a.useCallback(c=>{j(!1),B(!1),D(-1),n.dispatchEvent(le,c,b(),void 0),v&&U(c,!1)},[le,j,B,D,U]),pt=a.useCallback(c=>{c.preventDefault()},[]),we=a.useCallback((c,g)=>{h&&(h[g].disabled||n.dispatchEvent(X,c,b(),{itemProps:h[g],itemIndex:g}))},[X]),bt=a.useCallback((c,g)=>{!c.target||!h||(D(g),B(!1),we(c,g),U(c,!1))},[D,B,we,U]),gt=a.useCallback(c=>{n.getActiveElement(document)===I.current&&c.preventDefault()},[I]),mt=a.useCallback(c=>{const g=P,Ee=h?h.length:-1;if(c.altKey){!v&&c.keyCode===n.Keys.down&&(c.preventDefault(),B(!0),D(0)),v&&c.keyCode===n.Keys.up&&(c.preventDefault(),B(!1),D(-1));return}switch(c.keyCode){case n.Keys.enter:case n.Keys.space:g>=0&&we(c,g),h||je(c),c.preventDefault(),B(!v),D(v?-1:0);break;case n.Keys.esc:c.preventDefault(),B(!1),D(-1);break;case n.Keys.home:c.preventDefault(),D(0);break;case n.Keys.end:c.preventDefault(),D(Ee-1);break;case n.Keys.down:case n.Keys.right:c.preventDefault(),D(g+1>=Ee?0:g+1);break;case n.Keys.up:case n.Keys.left:c.preventDefault(),D(g-1<0?Ee-1:g-1);break}n.dispatchEvent(J,c,b(),void 0)},[J,P,D,R,B]),vt=a.useMemo(()=>n.classNames("k-fab k-fab-solid",{"k-fab-sm":K==="small","k-fab-md":K==="medium","k-fab-lg":K==="large","k-disabled":o,"k-pos-absolute":w==="absolute","k-pos-fixed":w==="fixed","k-focus":de,[`k-rounded-${n.kendoThemeMaps.roundedMap[k]||k}`]:k,[`k-fab-solid-${E}`]:E},`k-${t.vertical}-${t.horizontal}`,r),[E,K,k,o,w,t,de,r]),It=h&&h.map((c,g)=>a.createElement(ne,{...c,key:g,index:g,id:`${he}-${g}`,disabled:o||c.disabled,focused:P===g,dataItem:c,item:x,className:n.classNames(c.className,at(xe||"ltr",t.horizontal)),onClick:bt,onDown:gt})),Ue=!!((d||u)&&!N),yt=I.current?I.current.offsetWidth:0,Dt=32,qe=yt/2-Dt/2;return a.createElement(n.ZIndexContext.Provider,{value:ue},a.createElement(a.Fragment,null,a.createElement("button",{ref:I,id:y||dt,role:"button",type:"button","aria-disabled":o,"aria-expanded":h?v:void 0,"aria-haspopup":!!h,"aria-label":`${N||""} floatingactionbutton`,"aria-owns":h?he:void 0,"aria-activedescendant":P>=0&&h?`${he}-${P}`:void 0,tabIndex:n.getTabIndex(L,o),accessKey:O,dir:xe,disabled:o,className:vt,style:S,onClick:je,onMouseDown:pt,onFocus:ht,onBlur:ft,onKeyDown:mt,...H},d||u?a.createElement(n.IconWrap,{className:"k-fab-icon",name:d,icon:u}):m?a.createElement("span",{role:"presentation",className:m}):null,N&&a.createElement("span",{className:"k-fab-text"},N)),_&&v&&a.createElement("div",{className:"k-overlay",style:{zIndex:ue,...f}}),a.createElement(fe.Popup,{ref:ke,anchor:I.current,show:v,animate:C.animate,popupClass:n.classNames("k-popup-transparent k-fab-popup",C.popupClass),anchorAlign:C.anchorAlign||it(t,R),popupAlign:C.popupAlign||nt(t,R),style:{boxShadow:"none"}},a.createElement("ul",{ref:De,role:"menu","aria-labelledby":y,id:he,className:n.classNames("k-fab-items",{"k-fab-items-bottom":t.vertical!=="bottom","k-fab-items-top":t.vertical==="bottom"}),style:{paddingLeft:Ue?qe:void 0,paddingRight:Ue?qe:void 0}},It))))});ye.propTypes={className:s.string,style:s.object,id:s.string,dir:s.string,tabIndex:s.number,accessKey:s.string,disabled:s.bool,icon:s.string,svgIcon:n.svgIconPropType,iconClass:s.string,text:s.string,alignOffset:s.shape({x:s.oneOfType([s.number,s.string]),y:s.oneOfType([s.number,s.string])}),align:s.shape({vertical:s.oneOf(["top","middle","bottom"]),horizontal:s.oneOf(["start","center","end"])}),positionMode:s.oneOf(["absolute","fixed"]),size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),themeColor:s.oneOf([null,"primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"]),modal:s.bool,overlayStyle:s.object};const G={align:{vertical:"bottom",horizontal:"end"},size:"medium",rounded:"full",themeColor:"primary",positionMode:"fixed"};ye.displayName="KendoFloatingActionButton";const _e=n.withIdHOC(te);_e.displayName="KendoReactDropDownButton";const He=n.withIdHOC(ee);He.displayName="KendoReactSplitButton",p.Button=$,p.ButtonGroup=Be,p.Chip=M,p.ChipList=ie,p.DropDownButton=_e,p.DropDownButtonClassComponent=te,p.DropDownButtonItem=ge,p.FloatingActionButton=ye,p.FloatingActionButtonItem=ne,p.SplitButton=He,p.SplitButtonClassComponent=ee,p.SplitButtonItem=be,p.Toolbar=ve,p.ToolbarItem=Me,p.ToolbarSeparator=Ve,p.ToolbarSpacer=Ie,p.toolbarButtons=Se,Object.defineProperty(p,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-popup"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-common","@progress/kendo-react-popup","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactButtons={},e.React,e.PropTypes,e.KendoReactCommon,e.KendoReactPopup,e.KendoSvgIcons)}(this,(function(e,t,s,o,n,i){"use strict";function a(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(s){if("default"!==s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}var r=a(t);const l={name:"@progress/kendo-react-buttons",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};const d=class e extends r.Component{constructor(e){super(e),this._element=null,this.handleClick=e=>{this.toggleIfApplicable(),this.props.onClick&&this.props.onClick.call(void 0,e)},o.validatePackage(l),this.state={selected:!0===this.props.togglable&&!0===this.props.selected}}get element(){return this._element}get selected(){return void 0!==this._selectedTemp?this._selectedTemp:this.state.selected}static getDerivedStateFromProps(e,t){return e.togglable&&void 0!==e.selected&&e.selected!==t.selected?{selected:e.selected}:null}render(){const{children:t,togglable:s,icon:n,iconClass:i,svgIcon:a,imageUrl:l,imageAlt:d,className:c,onClick:p,size:u=e.defaultProps.size,rounded:h=e.defaultProps.rounded,fillMode:m=e.defaultProps.fillMode,themeColor:f=e.defaultProps.themeColor,...g}=this.props,b=void 0!==a||void 0!==n||void 0!==i||void 0!==l,v=void 0!==t,y=function({imageUrl:e,name:t,iconClass:s,svgIcon:n,imageAlt:i}){return e?r.createElement("img",{role:"presentation",className:"k-button-icon",alt:i,src:e}):t||n?r.createElement(o.IconWrap,{className:"k-button-icon",name:t,icon:n}):s?r.createElement("span",{role:"presentation",className:o.classNames("k-button-icon",s)}):null}({name:n,svgIcon:a,iconClass:i,imageUrl:l,imageAlt:d});return r.createElement("button",{ref:e=>this._element=e,"aria-pressed":s?this.state.selected:void 0,...g,onClick:this.handleClick,className:o.classNames("k-button",{[`k-button-${o.kendoThemeMaps.sizeMap[u]||u}`]:u,[`k-button-${m}`]:m,[`k-button-${m}-${f}`]:!(!m||!f),[`k-rounded-${o.kendoThemeMaps.roundedMap[h]||h}`]:h,"k-icon-button":!v&&b,"k-disabled":this.props.disabled,"k-selected":this.state.selected,"k-rtl":"rtl"===this.props.dir},this.props.className)},y,t&&r.createElement("span",{className:"k-button-text"},t))}toggleIfApplicable(){if(this.props.togglable&&void 0===this.props.selected){const e=!this.state.selected;this._selectedTemp=e,this.setState({selected:e},(()=>this._selectedTemp=void 0))}}};d.propTypes={children:s.node,selected:s.bool,togglable:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,imageUrl:s.string,imageAlt:s.string,size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),fillMode:s.oneOf([null,"flat","link","outline","solid"]),themeColor:s.oneOf([null,"base","primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"])},d.defaultProps={togglable:!1,size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};let c=d;const p=":not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",u=["button"+p,".k-button-group > button"+p,".k-colorpicker",".k-dropdownlist"],h={button:"k-button",flat:"k-flat",outline:"k-outline",clear:"k-button-clear",primary:"k-primary","state-selected":"k-selected","button-icon":"k-button-icon","button-icontext":"k-button-icontext","state-disabled":"k-disabled","group-start":"k-group-start","group-end":"k-group-end","button-group":"k-button-group","button-group-stretched":"k-button-group-stretched",ltr:"k-ltr",rtl:"k-rtl"},m=class extends r.Component{constructor(e){super(e),this._element=null,o.validatePackage(l)}render(){const e=this.mapButtons(this.props.children),t=o.classNames([h["button-group"]],{"k-disabled":this.props.disabled,[h["button-group-stretched"]]:!!this.props.width},this.props.className),s={className:t,style:{width:`${this.props.width}`},dir:this.props.dir,role:"group","aria-disabled":this.props.disabled};return r.createElement("div",{ref:e=>{this._element=e},...s,className:t},e)}mapButtons(e){const t=r.Children.count(e),s=void 0!==this.props.dir?"rtl"===this.props.dir:this._element&&"rtl"===getComputedStyle(this._element).direction||!1;return r.Children.map(e,((e,o)=>r.isValidElement(e)?this.renderButton(e,o,o===t-1,s):e))}renderButton(e,t,s,n){const i=o.classNames(e.props.className,{[h["group-start"]]:n?s:0===t,[h["group-end"]]:n?0===t:s}),a={...this.props.width?{width:this.props.width}:{},...e.props.style||{}},l=this.props.disabled||e.props.disabled,d={...e.props,...i?{className:i}:{},...Object.keys(a).length?{style:a}:{},...void 0!==l?{disabled:l}:{}};return r.Children.count(e.props.children)>0?r.cloneElement(e,d,e.props.children):r.cloneElement(e,d)}};m.propTypes={children:s.oneOfType([s.arrayOf(s.element),s.element]),className:s.string,disabled:s.bool,width:s.string,dir:s.string};let f=m;const g=e=>{const t=r.useCallback((t=>{e.onClick(t,e.index)}),[e]),s=e.dataItem.render||e.item||(void 0===e.item?e.render:null),n=void 0!==e.dataItem.text?e.dataItem.text:e.textField?e.dataItem[e.textField]:e.dataItem,i=r.createElement("li",{id:e.id,className:o.classNames("k-item",e.className,{"k-focus":e.focused}),tabIndex:-1,onClick:t,onMouseDown:e.onDown,onPointerDown:e.onDown,role:"menuitem","aria-disabled":e.dataItem.disabled||void 0},r.createElement("span",{tabIndex:-1,className:o.classNames("k-link k-menu-link",{"k-selected":e.dataItem.selected,"k-disabled":e.dataItem.disabled}),key:"icon"},s?r.createElement(s,{item:e.dataItem,itemIndex:e.index}):r.createElement(r.Fragment,null,(e.dataItem.icon||e.dataItem.iconClass||e.dataItem.svgIcon)&&r.createElement(o.IconWrap,{className:e.dataItem.iconClass,name:e.dataItem.icon,icon:e.dataItem.svgIcon}),e.dataItem.imageUrl&&r.createElement("img",{role:"presentation",alt:"",src:e.dataItem.imageUrl,className:"k-icon"}),n&&r.createElement("span",{className:"k-menu-link-text"},n))));return void 0!==e.item&&void 0!==e.render?e.render.call(void 0,i,e):i};g.displayName="KendoReactButtonItem";const b=class extends r.Component{render(){return null}};b.propTypes={text:s.string,icon:s.string,iconClass:s.string,imageUrl:s.string,disabled:s.bool,render:s.any};let v=b;const y=(e,t,s,n)=>{if(s)return e;const i=Math.min(n-1,Math.max(0,e));switch(t){case o.Keys.enter:case o.Keys.space:case o.Keys.esc:return-1;case o.Keys.up:case o.Keys.left:return i-1<0?n-1:i-1;case o.Keys.down:case o.Keys.right:return i+1>=n?0:i+1;case o.Keys.home:return 0;case o.Keys.end:return n-1;default:return e}};function k(e){let t={horizontal:"left",vertical:"bottom"};return e&&(t.horizontal="right"),t}function C(e){let t={horizontal:"left",vertical:"top"};return e&&(t.horizontal="right"),t}const I=class extends r.Component{constructor(e){super(e),this.state={focused:!1,focusedIndex:-1,opened:!1},this.wrapper=null,this.mainButton=null,this.list=null,this.skipFocus=!1,this.buttonsData=[],this.onKeyDown=e=>{const{focusedIndex:t}=this.state;if(e.altKey)return void(this.opened||e.keyCode!==o.Keys.down?this.opened&&e.keyCode===o.Keys.up&&(e.preventDefault(),this.setState({focusedIndex:-1}),this.setOpen(!1,e)):(e.preventDefault(),this.setState({focusedIndex:0}),this.setOpen(!0,e)));let s;if(e.keyCode===o.Keys.enter||e.keyCode===o.Keys.space){if(e.preventDefault(),this.dispatchClickEvent(e,t),t>=0){s={focusedIndex:this.opened?-1:0};const t=!this.opened;this.setOpen(t,e)}}else if(this.opened&&e.keyCode===o.Keys.esc)return this.setState({focusedIndex:-1}),void this.setOpen(!1,e);if(this.opened){const n=y(t,e.keyCode,e.altKey,this.buttonsData.length);n!==t&&(s=s||{},s.focusedIndex=n);const i=e.keyCode===o.Keys.up||e.keyCode===o.Keys.down||e.keyCode===o.Keys.left||e.keyCode===o.Keys.right;!e.altKey&&(i||e.keyCode===o.Keys.home||e.keyCode===o.Keys.end)&&e.preventDefault()}s&&this.setState(s)},this.switchFocus=e=>{this.skipFocus=!0,e(),window.setTimeout((()=>this.skipFocus=!1),0)},this.onFocus=e=>{this.skipFocus||(o.dispatchEvent(this.props.onFocus,e,this,void 0),this.setState({focused:!0}))},this.setOpen=(e,t)=>{this.opened!==e&&(this.openedDuringOnChange=e,this.setState({opened:e}),t?this.dispatchPopupEvent(t,e):this.openedDuringOnChange=void 0)},this.onItemClick=(e,t)=>{this.opened&&this.setState({focusedIndex:0}),this.dispatchClickEvent(e,t),this.setOpen(!1,e)},this.onBlur=e=>{this.skipFocus||(this.setState({focused:!1,focusedIndex:-1}),o.dispatchEvent(this.props.onBlur,e,this,void 0),setTimeout((()=>{this.setOpen(!1,e)}),0))},this.onPopupClose=e=>{var t;const s=o.getActiveElement(document);this.element&&this.element.removeAttribute("tabindex"),(s===this.list||null!=(t=this.list)&&t.contains(s))&&this.switchFocus((()=>{this.element&&this.element.focus({preventScroll:!0})})),this.props.popupSettings&&this.props.popupSettings.onClose&&this.props.popupSettings.onClose.call(void 0,e)},this.listRef=e=>{this.list=e,e&&this.state.focused&&this.switchFocus((()=>{e.focus({preventScroll:!0}),this.element&&(this.element.tabIndex=-1)}))},this.onSplitPartClick=e=>{if(this.buttonsData.length){const t=!this.opened;this.setState({focusedIndex:t?0:-1,focused:!0}),this.setOpen(t,e)}},this.onDownSplitPart=e=>{e.preventDefault();const t=o.getActiveElement(document);this.element&&t!==this.element&&t!==this.list&&this.element.focus()},this.onItemDown=e=>{o.getActiveElement(document)===this.list&&e.preventDefault()},this.dispatchPopupEvent=(e,t)=>{o.dispatchEvent(t?this.props.onOpen:this.props.onClose,e,this,void 0),this.openedDuringOnChange=void 0},o.validatePackage(l)}get guid(){return this.props.id?this.props.id+"-accessibility-id":this.props.id}get opened(){return void 0!==this.openedDuringOnChange?this.openedDuringOnChange:void 0===this.props.opened?this.state.opened:this.props.opened}render(){this.buttonsData=this.props.items||r.Children.toArray(this.props.children).filter((e=>e&&e.type===v)).map((e=>e.props));const e=this.isRtl(),t=e?"rtl":void 0,{id:s,style:n,tabIndex:a,disabled:l}=this.props;return r.createElement("div",{id:s,style:n,className:o.classNames("k-split-button","k-button-group",{"k-focus":this.state.focused},`k-rounded-${o.kendoThemeMaps.roundedMap[this.props.rounded||"medium"]}`,this.props.className),onKeyDown:this.onKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,dir:t,ref:e=>this.wrapper=e},r.createElement(c,{ref:e=>this.mainButton=e&&e.element,type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,onClick:e=>this.onItemClick(e,-1),disabled:l||void 0,tabIndex:a,accessKey:this.props.accessKey,className:this.props.buttonClass,icon:this.props.icon,svgIcon:this.props.svgIcon,iconClass:this.props.iconClass,imageUrl:this.props.imageUrl,dir:t,"aria-disabled":l,"aria-haspopup":!0,"aria-expanded":this.opened||void 0,"aria-label":this.props.ariaLabel,"aria-controls":this.opened?this.guid:void 0,id:"button-"+this.guid,title:this.props.title},this.props.text),r.createElement(c,{type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,icon:"caret-alt-down",svgIcon:i.caretAltDownIcon,className:"k-split-button-arrow",disabled:l||void 0,tabIndex:-1,onClick:this.onSplitPartClick,onMouseDown:this.onDownSplitPart,onPointerDown:this.onDownSplitPart,dir:t,"aria-label":"menu toggling button"}),this.renderPopup(e))}componentDidMount(){(void 0===this.props.dir&&this.isRtl()||this.opened)&&this.forceUpdate()}get element(){return this.mainButton}dispatchClickEvent(e,t){this.isItemDisabled(t)||(-1===t?o.dispatchEvent(this.props.onButtonClick,e,this,void 0):o.dispatchEvent(this.props.onItemClick,e,this,{item:this.buttonsData[t],itemIndex:t}))}renderPopup(e){const{popupSettings:t={}}=this.props,{focusedIndex:s}=this.state;return r.createElement(n.Popup,{anchor:this.wrapper,show:this.opened,animate:t.animate,popupClass:o.classNames("k-menu-popup",t.popupClass),anchorAlign:t.anchorAlign||k(e),popupAlign:t.popupAlign||C(e),style:e?{direction:"rtl"}:void 0,onClose:this.onPopupClose},r.createElement("ul",{role:"menu",id:this.guid,"aria-labelledby":"button-"+this.guid,tabIndex:-1,ref:this.listRef,"aria-activedescendant":s>=0?`${this.guid}-${s}`:void 0,className:o.classNames("k-group k-menu-group k-reset",{[`k-menu-group-${o.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size})},this.renderChildItems()))}renderChildItems(){const{item:e,itemRender:t,textField:s}=this.props;return this.buttonsData.length>0?this.buttonsData.map(((o,n)=>r.createElement(g,{className:"k-menu-item",dataItem:o,textField:s,focused:this.state.focusedIndex===n,onClick:this.onItemClick,onDown:this.onItemDown,render:t,item:e,key:n,index:n,id:`${this.guid}-${n}`}))):null}isItemDisabled(e){return this.buttonsData[e]?this.buttonsData[e].disabled:this.props.disabled}isRtl(){return void 0!==this.props.dir?"rtl"===this.props.dir:!!this.wrapper&&"rtl"===getComputedStyle(this.wrapper).direction}};I.propTypes={accessKey:s.string,ariaLabel:s.string,title:s.string,onButtonClick:s.func,onFocus:s.func,onBlur:s.func,onItemClick:s.func,onOpen:s.func,onClose:s.func,text:s.string,items:s.arrayOf(s.any),textField:s.string,tabIndex:s.number,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,imageUrl:s.string,popupSettings:s.object,itemRender:s.any,item:s.func,className:s.string,buttonClass:s.string,dir:s.string},I.defaultProps={size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};let x=I;const D=class extends r.Component{render(){return null}};D.propTypes={text:s.string,icon:s.string,iconClass:s.string,imageUrl:s.string,selected:s.bool,disabled:s.bool,render:s.any};let w=D;const E=class extends r.Component{constructor(e){super(e),this.state={opened:!1,focused:!1,focusedIndex:-1},this.mainButton=null,this.list=null,this.skipFocus=!1,this.buttonsData=[],this.onKeyDown=e=>{const{focusedIndex:t}=this.state;if(e.altKey)return void(this.opened||e.keyCode!==o.Keys.down?this.opened&&e.keyCode===o.Keys.up&&(e.preventDefault(),this.setState({focusedIndex:-1}),this.setOpen(!1,e)):(e.preventDefault(),this.setOpen(!0,e),this.setState({focusedIndex:0})));const s={...this.state};if(e.keyCode===o.Keys.enter||e.keyCode===o.Keys.space){e.preventDefault(),t>=0&&this.dispatchClickEvent(e,t);const s=!this.opened;return this.setState({focused:!0,focusedIndex:s?0:-1}),void this.setOpen(s,e)}if(this.opened&&e.keyCode===o.Keys.esc)return this.setState({focusedIndex:-1}),void this.setOpen(!1,e);if(this.opened){const n=y(t,e.keyCode,e.altKey,this.buttonsData.length);s.focusedIndex=n;const i=e.keyCode===o.Keys.up||e.keyCode===o.Keys.down||e.keyCode===o.Keys.left||e.keyCode===o.Keys.right;!e.altKey&&(i||e.keyCode===o.Keys.home||e.keyCode===o.Keys.end)&&e.preventDefault()}this.setState(s)},this.switchFocus=e=>{this.skipFocus=!0,e(),window.setTimeout((()=>this.skipFocus=!1),0)},this.handleFocus=e=>{this.skipFocus||(this.setState({focused:!0,focusedIndex:this.opened?0:-1}),o.dispatchEvent(this.props.onFocus,e,this,void 0))},this.handleButtonBlur=e=>{this.opened||(this.setState({focused:!1}),o.dispatchEvent(this.props.onBlur,e,this,void 0))},this.handleMenuBlur=e=>{this.skipFocus||(this.setState({focused:!1,focusedIndex:-1}),o.dispatchEvent(this.props.onBlur,e,this,void 0),setTimeout((()=>{this.setOpen(!1,e)}),0))},this.setOpen=(e,t)=>{this.opened!==e&&(this.openedDuringOnChange=e,this.setState({opened:e}),t?this.dispatchPopupEvent(t,e):this.openedDuringOnChange=void 0)},this.onItemClick=(e,t)=>{this.setState({focusedIndex:-1}),this.dispatchClickEvent(e,t),this.setOpen(!1,e)},this.onItemDown=e=>{o.getActiveElement(document)===this.list&&e.preventDefault()},this.mouseDown=e=>{e.preventDefault();const t=o.getActiveElement(document);this.element&&t!==this.element&&t!==this.list&&this.element.focus()},this.onPopupClose=e=>{var t;const s=o.getActiveElement(document);this.element&&this.element.removeAttribute("tabindex"),(s===this.list||null!=(t=this.list)&&t.contains(s))&&this.switchFocus((()=>{this.element&&this.element.focus({preventScroll:!0})})),this.props.popupSettings&&this.props.popupSettings.onClose&&this.props.popupSettings.onClose.call(void 0,e)},this.listRef=e=>{this.list=e,e&&this.state.focused&&this.switchFocus((()=>{e.focus({preventScroll:!0}),this.element&&(this.element.tabIndex=-1)}))},this.onClickMainButton=e=>{if(!this.buttonsData.length)return;const t=!this.opened;this.setState({focused:!0,focusedIndex:t?0:-1}),this.setOpen(t,e)},this.dispatchPopupEvent=(e,t)=>{o.dispatchEvent(t?this.props.onOpen:this.props.onClose,e,this,void 0),this.openedDuringOnChange=void 0},o.validatePackage(l)}get guid(){return this.props.id+"-accessibility-id"}get opened(){return void 0!==this.openedDuringOnChange?this.openedDuringOnChange:void 0===this.props.opened?this.state.opened:this.props.opened}render(){const e=this.isRtl(),t=e?"rtl":void 0,{id:s,style:n,tabIndex:i,disabled:a}=this.props;return this.buttonsData=this.props.items||r.Children.toArray(this.props.children).filter((e=>e&&e.type===w)).map((e=>e.props)),r.createElement(r.Fragment,null,r.createElement(c,{id:s,size:this.props.size,style:n,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,onClick:this.onClickMainButton,onMouseDown:this.mouseDown,onKeyDown:this.onKeyDown,onFocus:this.handleFocus,onBlur:this.handleButtonBlur,"aria-disabled":a?"true":void 0,tabIndex:i,accessKey:this.props.accessKey,icon:this.props.icon,svgIcon:this.props.svgIcon,iconClass:this.props.iconClass,className:o.classNames(this.props.buttonClass,this.props.className,"k-menu-button","k-dropdown-button",{"k-focus":this.state.focused},{"k-disabled":a}),imageUrl:this.props.imageUrl,dir:t,ref:e=>this.mainButton=e&&e.element,type:"button","aria-haspopup":"menu","aria-expanded":this.opened?"true":"false","aria-label":this.props.ariaLabel,"aria-controls":this.opened?this.guid:void 0,title:this.props.title},this.props.text),this.renderPopup(e))}componentDidMount(){(void 0===this.props.dir&&this.isRtl()||this.opened)&&this.forceUpdate()}get element(){return this.mainButton}dispatchClickEvent(e,t){this.isItemDisabled(t)||o.dispatchEvent(this.props.onItemClick,e,this,{item:this.buttonsData[t],itemIndex:t})}renderPopup(e){const{popupSettings:t={},id:s}=this.props,{focusedIndex:i}=this.state;return r.createElement(n.Popup,{anchor:this.mainButton,show:this.opened,animate:t.animate,popupClass:o.classNames("k-menu-popup",t.popupClass),anchorAlign:t.anchorAlign||k(e),popupAlign:t.popupAlign||C(e),style:e?{direction:"rtl"}:void 0,onClose:this.onPopupClose},r.createElement("ul",{role:"menu",id:this.guid,"aria-labelledby":s,tabIndex:-1,"aria-activedescendant":i>=0?`${this.guid}-${i}`:void 0,ref:this.listRef,onKeyDown:this.onKeyDown,onBlur:this.handleMenuBlur,className:o.classNames("k-group k-menu-group k-reset",{[`k-menu-group-${o.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size})},this.renderChildItems()))}renderChildItems(){const{item:e,itemRender:t,textField:s}=this.props;return this.buttonsData.length>0?this.buttonsData.map(((o,n)=>r.createElement(g,{className:"k-menu-item",dataItem:o,textField:s,focused:this.state.focusedIndex===n,onClick:this.onItemClick,onDown:this.onItemDown,render:t,item:e,index:n,key:n,id:`${this.guid}-${n}`}))):null}isItemDisabled(e){return this.buttonsData[e]?this.buttonsData[e].disabled:this.props.disabled}isRtl(){return void 0!==this.props.dir?"rtl"===this.props.dir:!!this.mainButton&&"rtl"===getComputedStyle(this.mainButton).direction}};E.propTypes={accessKey:s.string,ariaLabel:s.string,title:s.string,onFocus:s.func,onBlur:s.func,onItemClick:s.func,onOpen:s.func,onClose:s.func,items:s.arrayOf(s.any),textField:s.string,tabIndex:s.number,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,imageUrl:s.string,popupSettings:s.object,itemRender:s.func,item:s.func,className:s.string,buttonClass:s.string,dir:s.string},E.defaultProps={size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};let N=E;const K=class e extends r.Component{constructor(t){super(t),this._element=null,this.offsetHeight=0,this.offsetWidth=0,this.buttons=[],this.focusedSelector=this.selectors.map((e=>e+":focus")).join(","),this.setTabIndex=t=>{const{tabIndex:s=e.defaultProps.tabIndex}=this.props;this.buttons.forEach(((e,o)=>{e.tabIndex=o===t?s:-1}))},this.onKeyDown=e=>{const t=e.target;if(e.keyCode!==o.Keys.left&&e.keyCode!==o.Keys.right&&e.keyCode!==o.Keys.home&&e.keyCode!==o.Keys.end||e.defaultPrevented||-1===this.buttons.findIndex((e=>e===t)))return;const s=this.focusedIndex;e.keyCode===o.Keys.left?this.focusButton(s,0===s?this.buttons.length-1:s-1):this.focusButton(s,s===this.buttons.length-1?0:s+1),e.keyCode===o.Keys.home&&this.focusButton(s,0),e.keyCode===o.Keys.end&&this.focusButton(s,this.buttons.length-1)},this.onWindowResize=e=>{const t=this.element;if(!t)return;const s=t.offsetWidth,o=t.offsetHeight;if(this.offsetWidth!==s||this.offsetHeight!==o){this.offsetWidth=s,this.offsetHeight=o;const t={offsetWidth:this.offsetWidth,offsetHeight:this.offsetHeight};this.props.onResize&&this.props.onResize.call(void 0,{target:this,...t,nativeEvent:e})}},o.validatePackage(l)}get selectors(){return this.props.buttons||u}get focusedIndex(){const e=this.element&&this.element.querySelector(this.focusedSelector);return Math.max(0,this.buttons.findIndex((t=>t===e)))}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize);const e=this.element;e&&(this.offsetWidth=e.offsetWidth,this.offsetHeight=e.offsetHeight,!1!==this.props.keyboardNavigation&&(this.buttons=Array.from(e.querySelectorAll(this.selectors.join(","))),this.setTabIndex(0)))}componentDidUpdate(){const e=this.element;!e||!1===this.props.keyboardNavigation||(this.buttons=Array.from(e.querySelectorAll(this.selectors.join(","))),this.setTabIndex(this.focusedIndex))}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize),this.buttons.length=0}render(){return r.createElement("div",{id:this.props.id,"aria-label":this.props.ariaLabel,className:o.classNames("k-toolbar",{[`k-toolbar-${o.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),style:this.props.style,role:void 0!==this.props.role?this.props.role||void 0:"toolbar",dir:this.props.dir,ref:e=>this._element=e,onKeyDown:!1!==this.props.keyboardNavigation?this.onKeyDown:void 0},this.props.children)}focusButton(t,s){const{tabIndex:o=e.defaultProps.tabIndex}=this.props,n=this.buttons[s];if(n){n.tabIndex=o,n.focus();const e=this.buttons[t];e&&(e.tabIndex=-1)}}};K.propTypes={tabIndex:s.number,dir:s.string,keyboardNavigation:s.bool,style:s.object,className:s.string,role:s.string,onResize:s.func,buttons:s.arrayOf(s.string),size:s.oneOf([null,"small","medium","large"])},K.defaultProps={tabIndex:0,size:"medium"};let O=K;const S=class extends r.PureComponent{constructor(){super(...arguments),this._element=null}get element(){return this._element}render(){return r.createElement("div",{id:this.props.id,className:o.classNames("k-toolbar-item",this.props.className),style:this.props.style,ref:e=>this._element=e},this.props.children)}};S.propTypes={className:s.string};let z=S;class P extends r.PureComponent{render(){return r.createElement("div",{className:o.classNames("k-separator",this.props.className)})}}const M=r.forwardRef(((e,t)=>{const s=r.useRef(null),n=r.useRef(null);r.useImperativeHandle(n,(()=>({element:s.current}))),r.useImperativeHandle(t,(()=>({element:s.current})));const i=r.useMemo((()=>o.classNames("k-spacer",e.className)),[e.className]);return r.createElement("span",{ref:s,className:i})}));M.displayName="KendoReactToolbarSpacer",M.propTypes={className:s.string};const B=t.createContext([null,e=>{}]),T=t.createContext([null,e=>{}]),F=t.createContext([null,e=>{}]);var R=(e=>(e.next="next",e.prev="prev",e.current="current",e.reset="reset",e))(R||{});var A=(e=>(e.remove="remove",e.add="add",e.reorder="reorder",e))(A||{});var $=(e=>(e.toggle="toggle",e.remove="remove",e))($||{});const U=r.forwardRef(((e,t)=>{o.validatePackage(l);const s=r.useRef(null),n=r.useRef(null),a=o.useDir(n,e.dir);r.useImperativeHandle(s,(()=>({element:n.current,props:e}))),r.useImperativeHandle(t,(()=>s.current));const[d,c]=r.useContext(B),[p,u]=r.useContext(T),[,h]=r.useContext(F),m=r.useMemo((()=>e.selected||(Array.isArray(d)?d.some((t=>t===e.value)):d===e.value)),[e.selected,e.value,d]),f=r.useMemo((()=>p===e.value),[e.value,p]);r.useEffect((()=>{f&&n.current&&n.current.focus()}),[f]);const g=r.useCallback((t=>{c({type:$.toggle,payload:e.value,event:t})}),[c,e.value]),b=r.useCallback((t=>{e.removable&&(h({type:A.remove,payload:e.value,event:t}),u({type:R.reset,payload:e.value,event:t}),c({type:$.remove,payload:e.value,event:t}),e.onRemove&&e.onRemove.call(void 0,{target:s.current,syntheticEvent:t}))}),[e.onRemove,e.value,e.removable,h,u,c]),v=r.useCallback((t=>{switch(t.keyCode){case o.Keys.left:u({type:R.prev,payload:e.value,event:t});break;case o.Keys.right:u({type:R.next,payload:e.value,event:t});break;case o.Keys.enter:c({type:$.toggle,payload:e.value,event:t});break;case o.Keys.delete:b(t)}e.onKeyDown&&e.onKeyDown.call(void 0,{target:s.current,syntheticEvent:t})}),[e.onKeyDown,e.value,u,c,b]),y=r.useCallback((t=>{u({payload:e.value,type:R.current,event:t}),e.onFocus&&e.onFocus.call(void 0,{target:s.current,syntheticEvent:t})}),[e.onFocus,e.value,u]),k=r.useCallback((t=>{e.onBlur&&e.onBlur.call(void 0,{target:s.current,syntheticEvent:t})}),[e.onBlur]),C=o.useMouse(e,s,{onClick:g});return r.createElement("div",{...C,role:e.role||"button",id:e.value,style:e.style,ref:n,dir:a,tabIndex:o.getTabIndex(e.tabIndex,e.disabled,void 0),className:o.classNames("k-chip",{"k-rtl":"rtl"===a,"k-disabled":e.disabled,"k-selected":m,"k-focus":f,[`k-chip-${o.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size,[`k-rounded-${o.kendoThemeMaps.roundedMap[e.rounded]||e.rounded}`]:e.rounded,[`k-chip-${e.fillMode}`]:e.fillMode,[`k-chip-${e.fillMode}-${e.themeColor}`]:!(!e.fillMode||!e.themeColor)},e.className),"aria-pressed":e.role?void 0:m,"aria-disabled":e.disabled,"aria-describedby":e.ariaDescribedBy,"aria-keyshortcuts":e.removable?"Enter Delete":void 0,onFocus:y,onBlur:k,onKeyDown:v},m&&(e.selectedIcon||e.selectedSvgIcon)&&r.createElement(o.IconWrap,{className:"k-chip-icon",name:e.selectedIcon?o.toIconName(e.selectedIcon):void 0,icon:e.selectedSvgIcon,size:"small"}),(e.icon||e.svgIcon)&&r.createElement(o.IconWrap,{className:"k-chip-icon",name:e.icon?o.toIconName(e.icon):void 0,icon:e.svgIcon,size:"small"}),e.avatar&&r.createElement("div",{className:`k-chip-avatar k-avatar k-rounded-${e.avatar.rounded} k-avatar-md k-avatar-solid k-avatar-solid-primary`,style:e.avatar.style},r.createElement("span",{className:"k-avatar-image"},r.createElement("img",{src:e.avatar.image,alt:e.avatar.imageAlt}))),r.createElement("span",{className:"k-chip-content"},void 0!==e.children?e.children:e.text&&r.createElement("span",{"aria-label":e.ariaLabel||e.text,className:"k-chip-label"},e.text)),e.removable&&r.createElement("span",{className:"k-chip-actions"},r.createElement("span",{className:o.classNames("k-chip-action","k-chip-remove-action"),onClick:b},r.createElement(o.IconWrap,{name:e.removeIcon?o.toIconName(e.removeIcon):void 0,icon:e.removeSvgIcon||i.xCircleIcon,size:"small"}))))})),W={id:s.string,text:s.string,value:s.any,dir:s.oneOf(["ltr","rtl"]),removable:s.bool,removeIcon:s.string,removeIconSvg:o.svgIconPropType,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,selectedIcon:s.string,selectedIconSvg:o.svgIconPropType,onRemove:s.func,dataItem:s.any,selected:s.bool,ariaDescribedBy:s.string,size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),fillMode:s.oneOf([null,"outline","solid"]),themeColor:s.oneOf([null,"base","info","success","warning","error"])};U.displayName="KendoReactChip",U.propTypes=W,U.defaultProps={disabled:!1,removable:!1,removeIcon:"k-i-x-circle",dir:"ltr",size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};const H=(e,t,s)=>{"multiple"===t.selection?Array.isArray(e)||(e=e?[e]:null):"single"===t.selection&&Array.isArray(e)&&(e=e?e.join(""):null);const[o,n]=r.useState(e);return[o,e=>{const i=((e,t)=>{switch(t.selection){case"single":switch(t.type){case"toggle":if(!Array.isArray(e)||null===e)return t.payload===e?null:t.payload;throw new Error("State cannot be an array in single selection");case"remove":return t.payload===e?null:e;default:return e}case"multiple":switch(t.type){case"toggle":if(Array.isArray(e))return e.some((e=>e===t.payload))?e.filter((e=>e!==t.payload)):[...e,t.payload];if(null===e)return[t.payload];throw new Error("State cannot be non-array in multiple selection");case"remove":return Array.isArray(e)?e.some((e=>e===t.payload))?e.filter((e=>e!==t.payload)):[...e,t.payload]:e;default:return e}case"none":return null;default:return e}})(t.state||o,{...e,...t});s&&s(i,e.event),"none"!==t.selection&&n(i)}]},j=(e,t,s)=>{const[o,n]=r.useState(e);return[o,e=>{const i=((e,t)=>{switch(t.type){case"add":case"reorder":break;case"remove":return e.filter((e=>e[t.valueField]!==t.payload));default:return e}})(t.state||o,{...e,...t});s&&s(i,e.event),n(i)}]},L=r.forwardRef(((e,t)=>{o.validatePackage(l);const s=r.useRef(null),n=r.useRef(null),i=o.useDir(n,e.dir),{chip:a,id:d,style:c,tabIndex:p,disabled:u,size:h,className:m,ariaDescribedBy:f,ariaLabelledBy:g,ariaLabel:b,selection:v=q.selection,value:y=q.defaultValue,defaultData:k=q.defaultData,valueField:C=q.valueField,textField:I=q.textField,onChange:x,onDataChange:D}=e,w=r.useMemo((()=>a||U),[a,U]);r.useImperativeHandle(s,(()=>({element:n.current,props:e}))),r.useImperativeHandle(t,(()=>s.current));const E=r.useCallback(((e,t)=>{x&&s.current&&x.call(void 0,{value:e,target:s.current,syntheticEvent:t})}),[x]),[N,K]=H(y||e.defaultValue,{selection:v,state:y},E),O=r.useCallback(((e,t)=>{D&&s.current&&D.call(void 0,{value:e,target:s.current,syntheticEvent:t})}),[D]),[S,z]=j(e.data||k,{state:e.data,valueField:C},O),P=r.useCallback(((e,t)=>(e.push(t[C]),e)),[C]),M=r.useMemo((()=>e.data||S),[e.data,S]),R=r.useMemo((()=>y||N),[y,N]),A=r.useMemo((()=>M.reduce(P,[])),[M,P]),$=r.useCallback((e=>o.getter(C)(e)),[C]),W=r.useCallback((e=>o.getter(I)(e)),[I]),[L,_]=(e=>{const[t,s]=r.useState(null);return[t,t=>{const o=((e,t)=>{const s=t.items.findIndex((t=>t===e));switch(t.type){case"next":return s===t.items.length-1?e:t.items[s+1];case"prev":return 0===s?e:t.items[s-1];case"current":return t.payload;case"reset":return null;default:return e}})(t.payload,{...t,...e});s(o)}]})({items:A}),V=o.useMouse(e,s);return r.createElement(B.Provider,{value:[R,K]},r.createElement(T.Provider,{value:[L,_]},r.createElement(F.Provider,{value:[M,z]},r.createElement("div",{ref:n,...V,role:u?void 0:"listbox",id:d,dir:i,style:c,tabIndex:o.getTabIndex(p,u,void 0),className:o.classNames("k-chip-list",{"k-rtl":"rtl"===i,"k-disabled":u,[`k-chip-list-${o.kendoThemeMaps.sizeMap[h]||h}`]:h},m),"aria-label":b,"aria-labelledby":g,"aria-describedby":f,"aria-orientation":"horizontal","aria-multiselectable":"multiple"===v},M.map(((e,t)=>r.createElement(w,{role:"option",dataItem:e,size:h,key:[$(e),t].join("-"),text:W(e),value:$(e),ariaLabel:e.ariaLabel,svgIcon:e.svgIcon||void 0})))))))})),_={id:s.string,className:s.string,tabIndex:s.number,data:s.any,defaultData:s.arrayOf(s.any),onDataChange:s.func,value:s.oneOfType([s.any,s.arrayOf(s.any)]),defaultValue:s.oneOfType([s.any,s.arrayOf(s.any)]),onChange:s.func,selection:s.oneOf(["single","none","multiple"]),textField:s.string,valueField:s.string,disabled:s.bool,dir:s.oneOf(["ltr","rtl"]),ariaLabelledBy:s.string,ariaDescribedBy:s.string,size:s.oneOf([null,"small","medium","large"])},q={chip:U,size:"medium",disabled:!1,defaultValue:null,defaultData:[],dir:"ltr",selection:"none",textField:"text",valueField:"value",removable:"removable"};L.displayName="KendoReactChipList",L.propTypes=_,L.defaultProps=q;const V=r.forwardRef(((e,t)=>{const{className:s,disabled:n,text:i,icon:a,style:l,id:d,focused:c,tabIndex:p,index:u,dataItem:h,item:m,svgIcon:f,onDown:g,onClick:b,...v}=e,y=r.useRef(null),k=r.useCallback((()=>{y.current&&y.current.focus()}),[]),C=r.useCallback((()=>({element:y.current,focus:k})),[k]);r.useImperativeHandle(t,C);const I=r.useCallback((e=>{b&&void 0!==u&&!n&&b(e,u)}),[b,u]),x=r.useMemo((()=>o.classNames("k-fab-item",{"k-focus":c,"k-disabled":n},s)),[s,n,c]),D=m;return r.createElement("li",{ref:y,id:d,className:x,style:l,role:"menuitem",tabIndex:o.getTabIndex(p,n),"aria-disabled":n,"aria-label":`${i||""} floatingactionbutton item`,onClick:I,onMouseDown:g,onPointerDown:g,...v},D?r.createElement(D,{itemIndex:u,item:h}):r.createElement(r.Fragment,null,i&&r.createElement("span",{className:"k-fab-item-text"},i),a||f?r.createElement(o.IconWrap,{className:"k-fab-item-icon",name:a,icon:f}):null))}));V.propTypes={className:s.string,style:s.object,children:s.any,disabled:s.bool,focused:s.bool,index:s.number,icon:s.string,svgIcon:o.svgIconPropType,text:s.string,tabIndex:s.number,customProp:s.any},V.displayName="KendoFloatingActionButtonItem";const Z="16px",G=e=>"number"==typeof e?e+"px":e,J=(e,t)=>{const s={horizontal:t?"right":"left",vertical:"bottom"};return"end"===e.horizontal&&(s.horizontal=t?"left":"right"),s},Q=(e,t)=>{const s={horizontal:t?"right":"left",vertical:"top"};return"end"===e.horizontal&&(s.horizontal=t?"left":"right"),s},X=(e,t)=>({rtl:{end:"k-text-left",start:"k-text-right"},ltr:{start:"k-text-left",end:"k-text-right"}}[e]["end"===t?"end":"start"]),Y=(e,t,s,o)=>{const n=t.horizontal,i=t.vertical;if(e.current){const a=s&&void 0!==s.x?G(s.x):Z,r=s&&void 0!==s.x?`calc(50% + ${G(s.x)})`:"50%",l=s&&void 0!==s.y?G(s.y):Z,d=s&&void 0!==s.y?`calc(50% + ${G(s.y)})`:"50%";e.current.style.setProperty(ee(t,o),"center"===n?r:a),e.current.style.setProperty(te(t),"middle"===i?d:l),o&&(("top"===i||"bottom"===i)&&"start"===n&&e.current.style.setProperty("left","unset"),"middle"===i&&"end"===n&&e.current.style.setProperty("right","unset"),"middle"===i&&"start"===n&&e.current.style.setProperty("left","unset"))}},ee=(e,t)=>{const{horizontal:s}=e;return{end:t?"left":"right",center:"left",start:t?"right":"left"}[s||"end"]},te=e=>({top:"top",middle:"top",bottom:"bottom"}[e.vertical||"bottom"]),se=r.forwardRef(((e,t)=>{o.validatePackage(l);const{align:s=oe.align,alignOffset:i,className:a,disabled:d,icon:c,svgIcon:p,iconClass:u,id:h,items:m,item:f,text:g,positionMode:b=oe.positionMode,size:v=oe.size,style:y,rounded:k=oe.rounded,themeColor:C=oe.themeColor,overlayStyle:I,tabIndex:x,accessKey:D,popupSettings:w={},modal:E,onClick:N,onItemClick:K,onFocus:O,onBlur:S,onKeyDown:z,onOpen:P,onClose:M,...B}=e,T=o.useZIndexContext(),F=T?T+2:100,R=r.useRef(null),A=r.useRef(null),$=r.useRef(null),U=r.useRef(null),W=r.useCallback((()=>{A.current&&A.current.focus()}),[]),H=r.useCallback((()=>({element:A.current,focus:W})),[W]);r.useImperativeHandle(R,H),r.useImperativeHandle(t,(()=>R.current));const[j,L]=r.useState(!1),[_,q]=r.useState(!1),[Z,G]=r.useState(-1),ee=o.useId()+"-button-id",te=o.useDir(A,e.dir),se="rtl"===te,ne=o.useId()+"-list-id";r.useEffect((()=>{Y(A,s,i,se)}),[A,s,i,se]),r.useEffect((()=>{_&&A&&A.current&&A.current.focus()}),[_,A]);const ie=r.useCallback(((e,t)=>{m&&o.dispatchEvent(t?P:M,e,H(),void 0)}),[P,M,m]),ae=r.useCallback((e=>{!e.target||d||(!m&&N?o.dispatchEvent(N,e,H(),void 0):(L(!j),q(!0),G(j?-1:0),ie(e,!j)))}),[L,q,G,N,ie,j,m,d]),re=r.useCallback((e=>{q(!0),G(j?0:-1),O&&o.dispatchEvent(O,e,H(),void 0)}),[O,q,G]),le=r.useCallback((e=>{q(!1),L(!1),G(-1),o.dispatchEvent(S,e,H(),void 0),j&&ie(e,!1)}),[S,q,L,G,ie]),de=r.useCallback((e=>{e.preventDefault()}),[]),ce=r.useCallback(((e,t)=>{m&&(m[t].disabled||o.dispatchEvent(K,e,H(),{itemProps:m[t],itemIndex:t}))}),[K]),pe=r.useCallback(((e,t)=>{!e.target||!m||(G(t),L(!1),ce(e,t),ie(e,!1))}),[G,L,ce,ie]),ue=r.useCallback((e=>{o.getActiveElement(document)===A.current&&e.preventDefault()}),[A]),he=r.useCallback((e=>{const t=Z,s=m?m.length:-1;if(e.altKey)return!j&&e.keyCode===o.Keys.down&&(e.preventDefault(),L(!0),G(0)),void(j&&e.keyCode===o.Keys.up&&(e.preventDefault(),L(!1),G(-1)));switch(e.keyCode){case o.Keys.enter:case o.Keys.space:t>=0&&ce(e,t),m||ae(e),e.preventDefault(),L(!j),G(j?-1:0);break;case o.Keys.esc:e.preventDefault(),L(!1),G(-1);break;case o.Keys.home:e.preventDefault(),G(0);break;case o.Keys.end:e.preventDefault(),G(s-1);break;case o.Keys.down:case o.Keys.right:e.preventDefault(),G(t+1>=s?0:t+1);break;case o.Keys.up:case o.Keys.left:e.preventDefault(),G(t-1<0?s-1:t-1)}o.dispatchEvent(z,e,H(),void 0)}),[z,Z,G,se,L]),me=r.useMemo((()=>o.classNames("k-fab k-fab-solid",{"k-fab-sm":"small"===v,"k-fab-md":"medium"===v,"k-fab-lg":"large"===v,"k-disabled":d,"k-pos-absolute":"absolute"===b,"k-pos-fixed":"fixed"===b,"k-focus":_,[`k-rounded-${o.kendoThemeMaps.roundedMap[k]||k}`]:k,[`k-fab-solid-${C}`]:C},`k-${s.vertical}-${s.horizontal}`,a)),[C,v,k,d,b,s,_,a]),fe=m&&m.map(((e,t)=>r.createElement(V,{...e,key:t,index:t,id:`${ne}-${t}`,disabled:d||e.disabled,focused:Z===t,dataItem:e,item:f,className:o.classNames(e.className,X(te||"ltr",s.horizontal)),onClick:pe,onDown:ue}))),ge=!(!c&&!p||g),be=(A.current?A.current.offsetWidth:0)/2-16;return r.createElement(o.ZIndexContext.Provider,{value:F},r.createElement(r.Fragment,null,r.createElement("button",{ref:A,id:h||ee,role:"button",type:"button","aria-disabled":d,"aria-expanded":m?j:void 0,"aria-haspopup":!!m,"aria-label":`${g||""} floatingactionbutton`,"aria-owns":m?ne:void 0,"aria-activedescendant":Z>=0&&m?`${ne}-${Z}`:void 0,tabIndex:o.getTabIndex(x,d),accessKey:D,dir:te,disabled:d,className:me,style:y,onClick:ae,onMouseDown:de,onFocus:re,onBlur:le,onKeyDown:he,...B},c||p?r.createElement(o.IconWrap,{className:"k-fab-icon",name:c,icon:p}):u?r.createElement("span",{role:"presentation",className:u}):null,g&&r.createElement("span",{className:"k-fab-text"},g)),E&&j&&r.createElement("div",{className:"k-overlay",style:{zIndex:F,...I}}),r.createElement(n.Popup,{ref:U,anchor:A.current,show:j,animate:w.animate,popupClass:o.classNames("k-popup-transparent k-fab-popup",w.popupClass),anchorAlign:w.anchorAlign||J(s,se),popupAlign:w.popupAlign||Q(s,se),style:{boxShadow:"none"}},r.createElement("ul",{ref:$,role:"menu","aria-labelledby":h,id:ne,className:o.classNames("k-fab-items",{"k-fab-items-bottom":"bottom"!==s.vertical,"k-fab-items-top":"bottom"===s.vertical}),style:{paddingLeft:ge?be:void 0,paddingRight:ge?be:void 0}},fe))))}));se.propTypes={className:s.string,style:s.object,id:s.string,dir:s.string,tabIndex:s.number,accessKey:s.string,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,text:s.string,alignOffset:s.shape({x:s.oneOfType([s.number,s.string]),y:s.oneOfType([s.number,s.string])}),align:s.shape({vertical:s.oneOf(["top","middle","bottom"]),horizontal:s.oneOf(["start","center","end"])}),positionMode:s.oneOf(["absolute","fixed"]),size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),themeColor:s.oneOf([null,"primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"]),modal:s.bool,overlayStyle:s.object};const oe={align:{vertical:"bottom",horizontal:"end"},size:"medium",rounded:"full",themeColor:"primary",positionMode:"fixed"};se.displayName="KendoFloatingActionButton";const ne=o.withIdHOC(N);ne.displayName="KendoReactDropDownButton";const ie=o.withIdHOC(x);ie.displayName="KendoReactSplitButton",e.Button=c,e.ButtonGroup=f,e.Chip=U,e.ChipList=L,e.DropDownButton=ne,e.DropDownButtonClassComponent=N,e.DropDownButtonItem=w,e.FloatingActionButton=se,e.FloatingActionButtonItem=V,e.SplitButton=ie,e.SplitButtonClassComponent=x,e.SplitButtonItem=v,e.Toolbar=O,e.ToolbarItem=z,e.ToolbarSeparator=P,e.ToolbarSpacer=M,e.toolbarButtons=u}));
|