@progress/kendo-react-buttons 7.2.4-develop.3 → 7.3.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/Button.js +8 -0
  2. package/Button.mjs +124 -0
  3. package/ButtonGroup.js +8 -0
  4. package/ButtonGroup.mjs +76 -0
  5. package/Chip/Chip.js +8 -0
  6. package/Chip/Chip.mjs +220 -0
  7. package/Chip/ChipList.js +8 -0
  8. package/Chip/ChipList.mjs +190 -0
  9. package/Chip/chip-list-contexts.js +8 -0
  10. package/Chip/chip-list-contexts.mjs +18 -0
  11. package/Chip/data-reducer.js +8 -0
  12. package/Chip/data-reducer.mjs +25 -0
  13. package/Chip/focus-reducer.js +8 -0
  14. package/Chip/focus-reducer.mjs +28 -0
  15. package/Chip/selection-reducer.js +8 -0
  16. package/Chip/selection-reducer.mjs +47 -0
  17. package/FloatingActionButton/FloatingActionButton.js +8 -0
  18. package/FloatingActionButton/FloatingActionButton.mjs +343 -0
  19. package/FloatingActionButton/FloatingActionButtonItem.js +8 -0
  20. package/FloatingActionButton/FloatingActionButtonItem.mjs +93 -0
  21. package/FloatingActionButton/utils.js +8 -0
  22. package/FloatingActionButton/utils.mjs +46 -0
  23. package/ListButton/ButtonItem.js +8 -0
  24. package/ListButton/ButtonItem.mjs +63 -0
  25. package/ListButton/DropDownButton.js +8 -0
  26. package/ListButton/DropDownButton.mjs +267 -0
  27. package/ListButton/DropDownButtonItem.js +8 -0
  28. package/ListButton/DropDownButtonItem.mjs +31 -0
  29. package/ListButton/SplitButton.js +8 -0
  30. package/ListButton/SplitButton.mjs +298 -0
  31. package/ListButton/SplitButtonItem.js +8 -0
  32. package/ListButton/SplitButtonItem.mjs +30 -0
  33. package/ListButton/utils/navigation.js +8 -0
  34. package/ListButton/utils/navigation.mjs +35 -0
  35. package/ListButton/utils/popup.js +8 -0
  36. package/ListButton/utils/popup.mjs +20 -0
  37. package/dist/cdn/js/kendo-react-buttons.js +8 -5
  38. package/index.d.mts +2227 -5
  39. package/index.d.ts +2227 -40
  40. package/index.js +8 -5
  41. package/index.mjs +44 -1906
  42. package/package-metadata.js +8 -0
  43. package/package-metadata.mjs +19 -0
  44. package/package.json +3 -3
  45. package/toolbar/Toolbar.js +8 -0
  46. package/toolbar/Toolbar.mjs +124 -0
  47. package/toolbar/tools/ToolbarItem.js +8 -0
  48. package/toolbar/tools/ToolbarItem.mjs +44 -0
  49. package/toolbar/tools/ToolbarSeparator.js +8 -0
  50. package/toolbar/tools/ToolbarSeparator.mjs +21 -0
  51. package/toolbar/tools/ToolbarSpacer.js +8 -0
  52. package/toolbar/tools/ToolbarSpacer.mjs +36 -0
  53. package/util.js +8 -0
  54. package/util.mjs +36 -0
  55. package/Button.d.ts +0 -146
  56. package/ButtonGroup.d.ts +0 -36
  57. package/ButtonGroupInterface.d.ts +0 -36
  58. package/ButtonInterface.d.ts +0 -39
  59. package/Chip/Chip.d.ts +0 -238
  60. package/Chip/ChipList.d.ts +0 -119
  61. package/Chip/chip-list-contexts.d.ts +0 -17
  62. package/Chip/data-reducer.d.ts +0 -26
  63. package/Chip/focus-reducer.d.ts +0 -28
  64. package/Chip/selection-reducer.d.ts +0 -34
  65. package/FloatingActionButton/FloatingActionButton.d.ts +0 -21
  66. package/FloatingActionButton/FloatingActionButtonItem.d.ts +0 -109
  67. package/FloatingActionButton/interfaces/FloatingActionButtonHandle.d.ts +0 -17
  68. package/FloatingActionButton/interfaces/FloatingActionButtonPopupSettings.d.ts +0 -28
  69. package/FloatingActionButton/interfaces/FloatingActionButtonProps.d.ts +0 -219
  70. package/FloatingActionButton/models/align-offset.d.ts +0 -24
  71. package/FloatingActionButton/models/align.d.ts +0 -31
  72. package/FloatingActionButton/models/events.d.ts +0 -25
  73. package/FloatingActionButton/models/position-mode.d.ts +0 -13
  74. package/FloatingActionButton/models/rounded.d.ts +0 -16
  75. package/FloatingActionButton/models/size.d.ts +0 -15
  76. package/FloatingActionButton/models/theme-color.d.ts +0 -22
  77. package/FloatingActionButton/utils.d.ts +0 -31
  78. package/ListButton/ButtonItem.d.ts +0 -34
  79. package/ListButton/DropDownButton.d.ts +0 -127
  80. package/ListButton/DropDownButtonItem.d.ts +0 -34
  81. package/ListButton/SplitButton.d.ts +0 -129
  82. package/ListButton/SplitButtonItem.d.ts +0 -29
  83. package/ListButton/models/ButtonItem.d.ts +0 -38
  84. package/ListButton/models/ListButtonProps.d.ts +0 -339
  85. package/ListButton/models/PopupSettings.d.ts +0 -32
  86. package/ListButton/models/events.d.ts +0 -51
  87. package/ListButton/utils/navigation.d.ts +0 -9
  88. package/ListButton/utils/popup.d.ts +0 -13
  89. package/models/index.d.ts +0 -92
  90. package/package-metadata.d.ts +0 -9
  91. package/toolbar/Toolbar.d.ts +0 -175
  92. package/toolbar/tools/ToolbarItem.d.ts +0 -42
  93. package/toolbar/tools/ToolbarSeparator.d.ts +0 -20
  94. package/toolbar/tools/ToolbarSpacer.d.ts +0 -27
  95. package/util.d.ts +0 -31
package/index.d.mts CHANGED
@@ -1,5 +1,2227 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the package root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export * from './index';
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
+ import { Align } from '@progress/kendo-react-popup';
9
+ import { BaseEvent } from '@progress/kendo-react-common';
10
+ import { FormComponentProps } from '@progress/kendo-react-common';
11
+ import { ForwardRefExoticComponent } from 'react';
12
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
13
+ import { KendoMouse } from '@progress/kendo-react-common';
14
+ import { KendoReactComponentBaseProps } from '@progress/kendo-react-common';
15
+ import { PopupAnimation } from '@progress/kendo-react-popup';
16
+ import { PopupCloseEvent } from '@progress/kendo-react-popup';
17
+ import PropTypes from 'prop-types';
18
+ import * as React_2 from 'react';
19
+ import { RefAttributes } from 'react';
20
+ import { SVGIcon } from '@progress/kendo-react-common';
21
+
22
+ export declare class Button extends React_2.Component<ButtonProps, ButtonState> {
23
+ /**
24
+ * @hidden
25
+ */
26
+ static propTypes: {
27
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
28
+ selected: PropTypes.Requireable<boolean>;
29
+ togglable: PropTypes.Requireable<boolean>;
30
+ icon: PropTypes.Requireable<string>;
31
+ svgIcon: PropTypes.Requireable<PropTypes.InferProps<{
32
+ name: PropTypes.Validator<string>;
33
+ content: PropTypes.Validator<string>;
34
+ viewBox: PropTypes.Validator<string>;
35
+ }>>;
36
+ iconClass: PropTypes.Requireable<string>;
37
+ imageUrl: PropTypes.Requireable<string>;
38
+ imageAlt: PropTypes.Requireable<string>;
39
+ size: PropTypes.Requireable<string | null>;
40
+ rounded: PropTypes.Requireable<string | null>;
41
+ fillMode: PropTypes.Requireable<string | null>;
42
+ themeColor: PropTypes.Requireable<string | null>;
43
+ };
44
+ /**
45
+ * @hidden
46
+ */
47
+ static defaultProps: {
48
+ togglable: boolean;
49
+ size: string;
50
+ rounded: string;
51
+ fillMode: string;
52
+ themeColor: string;
53
+ };
54
+ /**
55
+ * @hidden
56
+ */
57
+ readonly state: ButtonState;
58
+ private _selectedTemp?;
59
+ private _element;
60
+ /**
61
+ * Gets the DOM element of the Button component.
62
+ */
63
+ get element(): HTMLButtonElement | null;
64
+ /**
65
+ * Returns `true` when the component is togglable and selected ([see example]({% slug toggleable_button %})).
66
+ * Otherwise, returns `false`.
67
+ */
68
+ get selected(): boolean;
69
+ constructor(props: ButtonProps);
70
+ /**
71
+ * @hidden
72
+ */
73
+ static getDerivedStateFromProps(props: ButtonProps, state: ButtonState): {
74
+ selected: boolean;
75
+ } | null;
76
+ /**
77
+ * @hidden
78
+ */
79
+ render(): JSX_2.Element;
80
+ private toggleIfApplicable;
81
+ private handleClick;
82
+ }
83
+
84
+ export declare class ButtonGroup extends React_2.Component<ButtonGroupProps, {}> {
85
+ /**
86
+ * @hidden
87
+ */
88
+ static propTypes: {
89
+ children: PropTypes.Requireable<NonNullable<PropTypes.ReactElementLike | (PropTypes.ReactElementLike | null | undefined)[] | null | undefined>>;
90
+ className: PropTypes.Requireable<string>;
91
+ disabled: PropTypes.Requireable<boolean>;
92
+ width: PropTypes.Requireable<string>;
93
+ dir: PropTypes.Requireable<string>;
94
+ };
95
+ private _element;
96
+ constructor(props: ButtonGroupProps);
97
+ /**
98
+ * @hidden
99
+ */
100
+ render(): JSX_2.Element;
101
+ private mapButtons;
102
+ private renderButton;
103
+ }
104
+
105
+ /**
106
+ * Represents the properties which can be set to a ButtonGroup.
107
+ */
108
+ declare interface ButtonGroupInterface {
109
+ /**
110
+ * @hidden
111
+ */
112
+ children?: React.ReactNode;
113
+ /**
114
+ * By default, the ButtonGroup is enabled ([see example]({% slug disabledstate_buttongroup %})). To disable the whole group of buttons, set its `disabled` attribute to `true`. To disable a specific button, set its own `disabled` attribute to `true` and leave the `disabled` attribute of the ButtonGroup undefined.
115
+ *
116
+ * If you define the `disabled` attribute of the ButtonGroup, it will take precedence over the `disabled` attributes of the underlying buttons and they will be ignored.
117
+ */
118
+ disabled?: boolean;
119
+ /**
120
+ * Sets the width of the ButtonGroup.
121
+ *
122
+ * If the width of the ButtonGroup is set:
123
+ * - The buttons resize automatically to fill the full width of the group wrapper.
124
+ * - The buttons acquire the same width.
125
+ */
126
+ width?: string;
127
+ /**
128
+ * Sets the direction of the ButtonGroup ([more information](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)).
129
+ *
130
+ * The available options are:
131
+ * * `rtl`
132
+ * * `ltr`
133
+ * * `auto`
134
+ */
135
+ dir?: string;
136
+ }
137
+
138
+ /**
139
+ * Represents the props of the [KendoReact ButtonGroup component]({% slug overview_buttongroup %}).
140
+ */
141
+ export declare interface ButtonGroupProps extends ButtonGroupInterface {
142
+ /**
143
+ * Sets the `className` of the ButtonGroup component.
144
+ */
145
+ className?: string;
146
+ }
147
+
148
+ /**
149
+ * Inherits the native HTML Button. Represents the properties which can be set to a Button.
150
+ */
151
+ declare interface ButtonInterface {
152
+ /**
153
+ * Specifies if the Button is disabled ([see example]({% slug disabled_button %})). Defaults to `false`.
154
+ */
155
+ disabled?: boolean;
156
+ /**
157
+ * Sets the selected state of the Button. Can be used for controlled state.
158
+ */
159
+ selected?: boolean;
160
+ /**
161
+ * Provides visual styling that indicates if the Button is selected ([see example]({% slug toggleable_button %})). Defaults to `false`.
162
+ */
163
+ togglable?: boolean;
164
+ /**
165
+ * Defines the name for an existing icon in a KendoReact theme ([see example]({% slug icons_button %})). The icon is rendered inside the Button by a `span.k-icon` element.
166
+ */
167
+ icon?: string;
168
+ svgIcon?: SVGIcon;
169
+ /**
170
+ * Defines a CSS class&mdash;or multiple classes separated by spaces&mdash;which are applied to a `span` element inside the Button ([see example]({% slug icons_button %})). Allows the usage of custom icons.
171
+ */
172
+ iconClass?: string;
173
+ /**
174
+ * Defines a URL which is used as an `img` element inside the Button ([see example]({% slug icons_button %})). The URL can be relative or absolute. If relative, it is evaluated with relation to the URL of the web page.
175
+ */
176
+ imageUrl?: string;
177
+ /**
178
+ * Defines the alternative text of the image rendered inside the Button component.
179
+ */
180
+ imageAlt?: string;
181
+ }
182
+
183
+ /**
184
+ * The interface for describing items that can be passed to the `items` property of the SplitButton or the DropDownButton as an alternative to passing them as children.
185
+ */
186
+ export declare interface ButtonItem {
187
+ /**
188
+ * Specifies the text of the item.
189
+ */
190
+ text: string;
191
+ /**
192
+ * Defines an icon that will be rendered next to the item text.
193
+ */
194
+ icon?: string;
195
+ /**
196
+ * Defines an SVG icon that will be rendered next to the item text.
197
+ */
198
+ svgIcon?: SVGIcon;
199
+ /**
200
+ * Defines an icon with a custom CSS class that will be rendered next to the item text.
201
+ */
202
+ iconClass?: string;
203
+ /**
204
+ * Defines the location of an image that will be displayed next to the item text.
205
+ */
206
+ imageUrl?: string;
207
+ /**
208
+ * Determines whether the item is disabled.
209
+ */
210
+ disabled?: boolean;
211
+ /**
212
+ * A React functional or class component for rendering the item. The default rendering includes an icon, an image, and text.
213
+ */
214
+ render?: any;
215
+ }
216
+
217
+ /**
218
+ * The props of the ButtonItem component.
219
+ * The ButtonItem component renders each list item in the dropdown buttons list.
220
+ */
221
+ export declare interface ButtonItemProps {
222
+ focused?: boolean;
223
+ index?: number;
224
+ onClick: (event: React_2.MouseEvent<HTMLLIElement, MouseEvent>, index?: number) => void;
225
+ onDown?: (event: React_2.PointerEvent<HTMLLIElement> | React_2.MouseEvent<HTMLLIElement, MouseEvent>) => void;
226
+ item?: null | React_2.ComponentType<{
227
+ item: any;
228
+ itemIndex: number;
229
+ }>;
230
+ render?: ((li: React_2.ReactElement<HTMLLIElement>, props: ButtonItemProps) => React_2.ReactNode) | React_2.ComponentType<{
231
+ item: any;
232
+ itemIndex: number;
233
+ }>;
234
+ dataItem: any;
235
+ id?: string;
236
+ textField?: string;
237
+ className?: string;
238
+ }
239
+
240
+ /**
241
+ * Represents the props of the [KendoReact Button component]({% slug overview_button %}).
242
+ * Extends the [native button props](https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement).
243
+ */
244
+ export declare interface ButtonProps extends ButtonInterface, React_2.ButtonHTMLAttributes<HTMLButtonElement> {
245
+ /**
246
+ * @hidden
247
+ */
248
+ children?: React_2.ReactNode;
249
+ /**
250
+ * Configures the `size` of the Button.
251
+ *
252
+ * The available options are:
253
+ * - small
254
+ * - medium
255
+ * - large
256
+ * - null&mdash;Does not set a size `className`.
257
+ *
258
+ * @default `medium`
259
+ */
260
+ size?: null | 'small' | 'medium' | 'large';
261
+ /**
262
+ * Configures the `roundness` of the Button.
263
+ *
264
+ * The available options are:
265
+ * - small
266
+ * - medium
267
+ * - large
268
+ * - full
269
+ * - null&mdash;Does not set a rounded `className`.
270
+ *
271
+ * @default `medium`
272
+ */
273
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
274
+ /**
275
+ * Sets the title htmlAttribute of the Button.
276
+ */
277
+ title?: string;
278
+ /**
279
+ * Configures the `fillMode` of the Button.
280
+ *
281
+ * The available options are:
282
+ * - solid
283
+ * - outline
284
+ * - flat
285
+ * - link
286
+ * - null&mdash;Does not set a fillMode `className`.
287
+ *
288
+ * @default `solid`
289
+ */
290
+ fillMode?: null | 'solid' | 'outline' | 'flat' | 'link';
291
+ /**
292
+ * Configures the `themeColor` of the Button.
293
+ *
294
+ * The available options are:
295
+ * - base
296
+ * - primary
297
+ * - secondary
298
+ * - tertiary
299
+ * - info
300
+ * - success
301
+ * - warning
302
+ * - error
303
+ * - dark
304
+ * - light
305
+ * - inverse
306
+ * - null&mdash;Does not set a themeColor `className`.
307
+ *
308
+ * @default `base`
309
+ */
310
+ themeColor?: null | 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';
311
+ }
312
+
313
+ /**
314
+ * The settings of the popup container.
315
+ */
316
+ export declare interface ButtonsPopupSettings {
317
+ /**
318
+ * Controls the popup animation. By default, the open and close animations are enabled.
319
+ */
320
+ animate?: boolean | PopupAnimation;
321
+ /**
322
+ * Specifies a list of CSS classes that are used for styling the popup.
323
+ */
324
+ popupClass?: string;
325
+ /**
326
+ * Specifies the pivot point of the anchor
327
+ * ([see example]({% slug alignmentpositioning_popup %})).
328
+ */
329
+ anchorAlign?: Align;
330
+ /**
331
+ * Specifies the pivot point of the Popup
332
+ * ([see example]({% slug alignmentpositioning_popup %})).
333
+ */
334
+ popupAlign?: Align;
335
+ /**
336
+ * Fires after the Popup is closed.
337
+ */
338
+ onClose?: (event: PopupCloseEvent) => void;
339
+ }
340
+
341
+ /**
342
+ * @hidden
343
+ */
344
+ declare interface ButtonState {
345
+ selected: boolean;
346
+ }
347
+
348
+ /**
349
+ * Represents the Chip component.
350
+ */
351
+ export declare const Chip: React_2.ForwardRefExoticComponent<ChipProps & React_2.RefAttributes<ChipHandle | null>>;
352
+
353
+ export declare interface ChipAvatarProps {
354
+ /**
355
+ * Sets the image of the avatar.
356
+ */
357
+ image: string;
358
+ /**
359
+ * Defines the alternative text of the avatar image.
360
+ */
361
+ imageAlt: string;
362
+ /**
363
+ * Configures the `roundness` of the avatar
364
+ */
365
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
366
+ /**
367
+ * Sets additional CSS styles to the avatar
368
+ */
369
+ style?: React_2.CSSProperties;
370
+ }
371
+
372
+ /**
373
+ * Represents the return type of the ChipFocusEvent.
374
+ */
375
+ export declare interface ChipFocusEvent {
376
+ /**
377
+ * The target of the ChipFocusEvent from ChipHandle.
378
+ */
379
+ target: ChipHandle;
380
+ /**
381
+ * The event of the ChipFocusEvent.
382
+ */
383
+ syntheticEvent: React.FocusEvent<any>;
384
+ }
385
+
386
+ /**
387
+ * Represents the target(element and props) of the ChipRemoveEvent.
388
+ */
389
+ export declare interface ChipHandle {
390
+ /**
391
+ * The current element or `null` if there is no one.
392
+ */
393
+ element: HTMLDivElement | null;
394
+ /**
395
+ * The props values of the Chip.
396
+ */
397
+ props: ChipProps;
398
+ }
399
+
400
+ /**
401
+ * Represents the return type of the ChipKeyboardEvent.
402
+ */
403
+ export declare interface ChipKeyboardEvent {
404
+ /**
405
+ * The target of the ChipKeyboardEvent from ChipHandle.
406
+ */
407
+ target: ChipHandle;
408
+ /**
409
+ * The event of the ChipKeyboardEvent.
410
+ */
411
+ syntheticEvent: React.KeyboardEvent<any>;
412
+ }
413
+
414
+ /**
415
+ * Represents the ChipList component.
416
+ */
417
+ export declare const ChipList: React_2.ForwardRefExoticComponent<ChipListProps & React_2.RefAttributes<ChipListHandle | null>>;
418
+
419
+ /**
420
+ * Represents the return type of the ChipListChangeEvent.
421
+ */
422
+ export declare interface ChipListChangeEvent {
423
+ /**
424
+ * Represents the new state value.
425
+ */
426
+ value: any | any[];
427
+ /**
428
+ * The target of the ChipListChangeEvent from ChipListHandle.
429
+ */
430
+ target: ChipListHandle;
431
+ /**
432
+ * The event of the ChipListChangeEvent.
433
+ */
434
+ syntheticEvent: React.SyntheticEvent<any>;
435
+ }
436
+
437
+ /**
438
+ * Represents the return type of the ChipListDataChangeEvent.
439
+ */
440
+ export declare interface ChipListDataChangeEvent {
441
+ /**
442
+ * Represents the new data state value.
443
+ */
444
+ value: any | any[];
445
+ /**
446
+ * The target of the ChipListChangeEvent from ChipListHandle.
447
+ */
448
+ target: ChipListHandle;
449
+ /**
450
+ * The event of the ChipListChangeEvent.
451
+ */
452
+ syntheticEvent: React.SyntheticEvent<any>;
453
+ }
454
+
455
+ /**
456
+ * Represents the target(element and props) of the ChipListChangeEvent.
457
+ */
458
+ export declare interface ChipListHandle {
459
+ /**
460
+ * The current element or `null` if there is no one.
461
+ */
462
+ element: HTMLDivElement | null;
463
+ /**
464
+ * The props values of the ChipList.
465
+ */
466
+ props: ChipListProps;
467
+ }
468
+
469
+ /**
470
+ * Represents the properties of [ChipList]({% slug api_buttons_chiplist %}) component.
471
+ */
472
+ export declare interface ChipListProps extends FormComponentProps, KendoMouse<ChipListHandle, HTMLDivElement> {
473
+ /**
474
+ * Sets the `id` property of the top div element of the ChipList.
475
+ */
476
+ id?: string;
477
+ /**
478
+ * Sets additional classes to the ChipList.
479
+ */
480
+ className?: string;
481
+ /**
482
+ * Sets the `tabIndex` attribute.
483
+ */
484
+ tabIndex?: number;
485
+ /**
486
+ * Sets additional CSS styles to the ChipList.
487
+ */
488
+ style?: React_2.CSSProperties;
489
+ /**
490
+ * Represents Chip component.
491
+ */
492
+ chip?: React_2.ComponentType<ChipProps>;
493
+ /**
494
+ * Represents the data about the child Chips.
495
+ */
496
+ data?: any;
497
+ /**
498
+ * Represents the default data about the child Chips.
499
+ */
500
+ defaultData?: any[];
501
+ /**
502
+ * Triggered after Chip data change.
503
+ */
504
+ onDataChange?: (event: ChipListDataChangeEvent) => void;
505
+ /**
506
+ * Represents the selection state of Chip component.
507
+ */
508
+ value?: any | any[];
509
+ /**
510
+ * Represents the default value of the selection state of Chip component.
511
+ */
512
+ defaultValue?: any | any[];
513
+ /**
514
+ * Triggered after value change.
515
+ */
516
+ onChange?: (event: ChipListChangeEvent) => void;
517
+ /**
518
+ * Represents the selection state of Chip component.
519
+ */
520
+ selection?: string;
521
+ /**
522
+ * Represents the `text` field of Chip, used for the `label`.
523
+ */
524
+ textField?: string;
525
+ /**
526
+ * Represents the `value` field of Chip, used for setting the Chip `id`.
527
+ */
528
+ valueField?: string;
529
+ /**
530
+ * Determines of ChipList is disabled.
531
+ */
532
+ disabled?: boolean;
533
+ /**
534
+ * The ChipList direction 'ltr' as default or 'rtl'.
535
+ */
536
+ dir?: string;
537
+ /**
538
+ * Identifies the element(s) which will describe the component, similar to [HTML aria-describedby attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute).
539
+ * For example these elements could contain error or hint message.
540
+ */
541
+ ariaDescribedBy?: string;
542
+ /**
543
+ * Identifies the element(s) which will label the component.
544
+ */
545
+ ariaLabelledBy?: string;
546
+ /**
547
+ * The accessible label of the component.
548
+ */
549
+ ariaLabel?: string;
550
+ /**
551
+ * Configures the `size` of the ChipList.
552
+ *
553
+ * The available options are:
554
+ * - small
555
+ * - medium
556
+ * - large
557
+ * - null&mdash;Does not set a size `className`.
558
+ *
559
+ * @default `medium`
560
+ */
561
+ size?: null | 'small' | 'medium' | 'large';
562
+ }
563
+
564
+ /**
565
+ * Represents the return type of the ChipMouseEvent.
566
+ */
567
+ export declare interface ChipMouseEvent {
568
+ /**
569
+ * The target of the ChipMouseEvent from ChipHandle.
570
+ */
571
+ target: ChipHandle;
572
+ /**
573
+ * The event of the ChipMouseEvent.
574
+ */
575
+ syntheticEvent: React.MouseEvent<any>;
576
+ }
577
+
578
+ /**
579
+ * Represents the properties of [Chip]({% slug api_buttons_chip %}) component.
580
+ */
581
+ export declare interface ChipProps {
582
+ /**
583
+ * Sets the `id` property of the top div element of the Chip.
584
+ */
585
+ id?: string;
586
+ /**
587
+ * Sets additional classes to the Chip.
588
+ */
589
+ className?: string;
590
+ /**
591
+ * The React elements that will be rendered as custom content inside the Chip.
592
+ */
593
+ children?: React_2.ReactNode;
594
+ /**
595
+ * Sets the `tabIndex` attribute.
596
+ */
597
+ tabIndex?: number;
598
+ /**
599
+ * Sets additional CSS styles to the Chip.
600
+ */
601
+ style?: React_2.CSSProperties;
602
+ /**
603
+ * Sets the label text of the Chip.
604
+ */
605
+ text?: string;
606
+ /**
607
+ * Sets the `id` value of the Chip.
608
+ */
609
+ value?: any;
610
+ /**
611
+ * The Chip direction 'ltr' as default or 'rtl'.
612
+ */
613
+ dir?: string;
614
+ /**
615
+ * Determines if the Chip could be removed.
616
+ */
617
+ removable?: boolean;
618
+ /**
619
+ * Determines if the Chip has custom font `removeIcon`.
620
+ */
621
+ removeIcon?: string;
622
+ /**
623
+ * Determines if the Chip has custom SVG `removeIcon`.
624
+ */
625
+ removeSvgIcon?: SVGIcon;
626
+ /**
627
+ * Determines if the Chip is disabled.
628
+ */
629
+ disabled?: boolean;
630
+ /**
631
+ * Determines if the Chip has a font `icon`.
632
+ */
633
+ icon?: string;
634
+ /**
635
+ * Determines if the Chip has an SVG `icon`.
636
+ */
637
+ svgIcon?: SVGIcon;
638
+ /**
639
+ * Determines if the Chip has an avatar.
640
+ */
641
+ avatar?: ChipAvatarProps;
642
+ /**
643
+ * Determines if the Chip has custom selection font `icon`.
644
+ */
645
+ selectedIcon?: string;
646
+ /**
647
+ * Determines if the Chip has custom selection SVG `icon`.
648
+ */
649
+ selectedSvgIcon?: SVGIcon;
650
+ /**
651
+ * Triggered on Chip removing.
652
+ */
653
+ onRemove?: (event: ChipRemoveEvent) => void;
654
+ /**
655
+ * Triggered on `onClick` event.
656
+ */
657
+ onClick?: (event: ChipMouseEvent) => void;
658
+ /**
659
+ * Triggered on `onMouseDown` event.
660
+ */
661
+ onMouseDown?: (event: ChipMouseEvent) => void;
662
+ /**
663
+ * Triggered on `onMouseUp` event.
664
+ */
665
+ onMouseUp?: (event: ChipMouseEvent) => void;
666
+ /**
667
+ * Triggered on `onDoubleClick` event.
668
+ */
669
+ onDoubleClick?: (event: ChipMouseEvent) => void;
670
+ /**
671
+ * Triggered on `onMouseEnter` event.
672
+ */
673
+ onMouseEnter?: (event: ChipMouseEvent) => void;
674
+ /**
675
+ * Triggered on `onMouseLeave` event.
676
+ */
677
+ onMouseLeave?: (event: ChipMouseEvent) => void;
678
+ /**
679
+ * Triggered on `onMouseMove` event.
680
+ */
681
+ onMouseMove?: (event: ChipMouseEvent) => void;
682
+ /**
683
+ * Triggered on `onMouseOut` event.
684
+ */
685
+ onMouseOut?: (event: ChipMouseEvent) => void;
686
+ /**
687
+ * Triggered on `onMouseOver` event.
688
+ */
689
+ onMouseOver?: (event: ChipMouseEvent) => void;
690
+ /**
691
+ * Triggered on `onKeyDown` event.
692
+ */
693
+ onKeyDown?: (event: ChipKeyboardEvent) => void;
694
+ /**
695
+ * Triggered on `onFocus` event.
696
+ */
697
+ onFocus?: (event: ChipFocusEvent) => void;
698
+ /**
699
+ * Triggered on `onBlur` event.
700
+ */
701
+ onBlur?: (event: ChipFocusEvent) => void;
702
+ /**
703
+ * Represents the item data, coming from the `ChipList` component.
704
+ */
705
+ dataItem?: any;
706
+ /**
707
+ * Determines if the Chip is selected.
708
+ */
709
+ selected?: boolean;
710
+ /**
711
+ * Identifies the element(s) which will describe the component, similar to an [HTML aria-describedby attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute).
712
+ * For example, these elements could contain an error or a hint message.
713
+ */
714
+ ariaDescribedBy?: string;
715
+ /**
716
+ * @hidden
717
+ */
718
+ role?: string;
719
+ /**
720
+ * Configures the `size` of the Chip.
721
+ *
722
+ * The available options are:
723
+ * - small
724
+ * - medium
725
+ * - large
726
+ * - null&mdash;Does not set a size `className`.
727
+ *
728
+ * @default `medium`
729
+ */
730
+ size?: null | 'small' | 'medium' | 'large';
731
+ /**
732
+ * Configures the `roundness` of the Chip.
733
+ *
734
+ * The available options are:
735
+ * - small
736
+ * - medium
737
+ * - large
738
+ * - full
739
+ * - null&mdash;Does not set a rounded `className`.
740
+ *
741
+ * @default `medium`
742
+ */
743
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
744
+ /**
745
+ * Configures the `fillMode` of the Chip.
746
+ *
747
+ * The available options are:
748
+ * - solid
749
+ * - outline
750
+ * - null&mdash;Does not set a fillMode `className`.
751
+ *
752
+ * @default `solid`
753
+ */
754
+ fillMode?: null | 'solid' | 'outline';
755
+ /**
756
+ * Configures the `themeColor` of the Chip.
757
+ *
758
+ * The available options are:
759
+ * - base
760
+ * - info
761
+ * - success
762
+ * - warning
763
+ * - error
764
+ * - null&mdash;Does not set a themeColor `className`.
765
+ *
766
+ * @default `base`
767
+ */
768
+ themeColor?: null | 'base' | 'info' | 'success' | 'warning' | 'error';
769
+ /**
770
+ * Represents the label of the Chip component.
771
+ */
772
+ ariaLabel?: string;
773
+ }
774
+
775
+ /**
776
+ * Represents the return type of the ChipRemoveEvent.
777
+ */
778
+ export declare interface ChipRemoveEvent {
779
+ /**
780
+ * The target of the ChipRemoveEvent from ChipHandle.
781
+ */
782
+ target: ChipHandle;
783
+ /**
784
+ * The event of the ChipRemoveEvent.
785
+ */
786
+ syntheticEvent: React.SyntheticEvent<any>;
787
+ }
788
+
789
+ /** @hidden */
790
+ export declare const DropDownButton: ForwardRefExoticComponent<DropDownButtonProps & RefAttributes<any>>;
791
+
792
+ export declare interface DropDownButtonBlurEvent extends BaseEvent<DropDownButtonClassComponent> {
793
+ }
794
+
795
+ /**
796
+ * Represents the [KendoReact DropDownButton component]({% slug overview_dropdownbutton %}).
797
+ *
798
+ * @example
799
+ * ```jsx
800
+ * class App extends React.Component {
801
+ * render() {
802
+ * return (
803
+ * <DropDownButton text="Act">
804
+ * <DropDownButtonItem text="Item1" />
805
+ * <DropDownButtonItem text="Item2" />
806
+ * <DropDownButtonItem text="Item3" />
807
+ * </DropDownButton>
808
+ * );
809
+ * }
810
+ * }
811
+ * ReactDOM.render(<App />, document.querySelector('my-app'));
812
+ * ```
813
+ */
814
+ export declare class DropDownButtonClassComponent extends React_2.Component<DropDownButtonProps, DropDownButtonState> {
815
+ /**
816
+ * @hidden
817
+ */
818
+ static propTypes: {
819
+ accessKey: PropTypes.Requireable<string>;
820
+ ariaLabel: PropTypes.Requireable<string>;
821
+ title: PropTypes.Requireable<string>;
822
+ onFocus: PropTypes.Requireable<(...args: any[]) => any>;
823
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
824
+ onItemClick: PropTypes.Requireable<(...args: any[]) => any>;
825
+ onOpen: PropTypes.Requireable<(...args: any[]) => any>;
826
+ onClose: PropTypes.Requireable<(...args: any[]) => any>;
827
+ items: PropTypes.Requireable<any[]>;
828
+ textField: PropTypes.Requireable<string>;
829
+ tabIndex: PropTypes.Requireable<number>;
830
+ disabled: PropTypes.Requireable<boolean>;
831
+ icon: PropTypes.Requireable<string>;
832
+ svgIcon: PropTypes.Requireable<PropTypes.InferProps<{
833
+ name: PropTypes.Validator<string>;
834
+ content: PropTypes.Validator<string>;
835
+ viewBox: PropTypes.Validator<string>;
836
+ }>>;
837
+ iconClass: PropTypes.Requireable<string>;
838
+ imageUrl: PropTypes.Requireable<string>;
839
+ popupSettings: PropTypes.Requireable<object>;
840
+ itemRender: PropTypes.Requireable<(...args: any[]) => any>;
841
+ item: PropTypes.Requireable<(...args: any[]) => any>;
842
+ className: PropTypes.Requireable<string>;
843
+ buttonClass: PropTypes.Requireable<string>;
844
+ dir: PropTypes.Requireable<string>;
845
+ };
846
+ /**
847
+ * @hidden
848
+ */
849
+ static defaultProps: {
850
+ size: string;
851
+ rounded: string;
852
+ fillMode: string;
853
+ themeColor: string;
854
+ };
855
+ /**
856
+ * @hidden
857
+ */
858
+ readonly state: {
859
+ opened: boolean;
860
+ focused: boolean;
861
+ focusedIndex: number;
862
+ };
863
+ private mainButton;
864
+ private list;
865
+ private skipFocus;
866
+ private get guid();
867
+ private buttonsData;
868
+ private openedDuringOnChange?;
869
+ private get opened();
870
+ constructor(props: DropDownButtonProps);
871
+ /**
872
+ * @hidden
873
+ */
874
+ render(): JSX_2.Element;
875
+ /**
876
+ * @hidden
877
+ */
878
+ componentDidMount(): void;
879
+ /**
880
+ * The DOM element of main button.
881
+ */
882
+ get element(): HTMLButtonElement | null;
883
+ private onKeyDown;
884
+ private switchFocus;
885
+ private handleFocus;
886
+ private handleButtonBlur;
887
+ private handleMenuBlur;
888
+ private setOpen;
889
+ private onItemClick;
890
+ private onItemDown;
891
+ private mouseDown;
892
+ private dispatchClickEvent;
893
+ private renderPopup;
894
+ private onPopupClose;
895
+ private listRef;
896
+ private renderChildItems;
897
+ private onClickMainButton;
898
+ private dispatchPopupEvent;
899
+ private isItemDisabled;
900
+ private isRtl;
901
+ }
902
+
903
+ export declare interface DropDownButtonCloseEvent extends BaseEvent<DropDownButtonClassComponent> {
904
+ }
905
+
906
+ export declare interface DropDownButtonFocusEvent extends BaseEvent<DropDownButtonClassComponent> {
907
+ }
908
+
909
+ /**
910
+ * Represent the `ref` of the DropDownButton component.
911
+ */
912
+ export declare interface DropDownButtonHandle extends Pick<DropDownButtonClassComponent, keyof DropDownButtonClassComponent> {
913
+ }
914
+
915
+ export declare class DropDownButtonItem extends React_2.Component<DropDownButtonItemProps, {}> {
916
+ /**
917
+ * @hidden
918
+ */
919
+ static propTypes: {
920
+ text: PropTypes.Requireable<string>;
921
+ icon: PropTypes.Requireable<string>;
922
+ iconClass: PropTypes.Requireable<string>;
923
+ imageUrl: PropTypes.Requireable<string>;
924
+ selected: PropTypes.Requireable<boolean>;
925
+ disabled: PropTypes.Requireable<boolean>;
926
+ render: PropTypes.Requireable<any>;
927
+ };
928
+ /**
929
+ * @hidden
930
+ */
931
+ render(): null;
932
+ }
933
+
934
+ /**
935
+ * The arguments for the `itemClick` event.
936
+ */
937
+ export declare interface DropDownButtonItemClickEvent extends BaseEvent<DropDownButtonClassComponent> {
938
+ /**
939
+ * The clicked item.
940
+ */
941
+ item: any;
942
+ /**
943
+ * The zero-based index of the clicked item.
944
+ */
945
+ itemIndex: number;
946
+ }
947
+
948
+ /**
949
+ * The properties of the KendoReact DropDownButtonItem component.
950
+ */
951
+ export declare interface DropDownButtonItemProps extends ButtonItem {
952
+ /**
953
+ * Determines the selected state of the ButtonItem component.
954
+ */
955
+ selected?: boolean;
956
+ }
957
+
958
+ export declare interface DropDownButtonOpenEvent extends BaseEvent<DropDownButtonClassComponent> {
959
+ }
960
+
961
+ export declare interface DropDownButtonProps extends KendoReactComponentBaseProps {
962
+ /**
963
+ * Specifies the `accessKey` of the main button.
964
+ */
965
+ accessKey?: string;
966
+ /**
967
+ * The accessible label of the component.
968
+ */
969
+ ariaLabel?: string;
970
+ /**
971
+ * The title of the component.
972
+ */
973
+ title?: string;
974
+ /**
975
+ * Specifies the text of the main button ([see example]({% slug overview_dropdownbutton %}#toc-basic-usage)).
976
+ */
977
+ text?: React.ReactNode;
978
+ /**
979
+ * Specifies the list items ([see example]({% slug binding_dropdownbutton %}#toc-array-of-objects)).
980
+ */
981
+ items?: any[];
982
+ /**
983
+ * Configures the field that will be used for the text of the `items`. `textField` has to be used together with the `items` prop ([see example]({% slug binding_dropdownbutton %}#toc-array-of-objects)).
984
+ */
985
+ textField?: string;
986
+ /**
987
+ * Specifies the `tabIndex` of the main button.
988
+ */
989
+ tabIndex?: number;
990
+ /**
991
+ * Determines whether the component is disabled ([see example]({% slug disabled_dropdownbutton %})).
992
+ */
993
+ disabled?: boolean;
994
+ /**
995
+ * Opens the popup of the DropDownButton if set to `true`.
996
+ */
997
+ opened?: boolean;
998
+ /**
999
+ * Defines an icon that will be rendered next to the main button text ([see example]({% slug icons_dropdownbutton %})).
1000
+ */
1001
+ icon?: string;
1002
+ /**
1003
+ * Defines a SVG icon that will be rendered next to the main button text ([see example]({% slug icons_dropdownbutton %})).
1004
+ */
1005
+ svgIcon?: SVGIcon;
1006
+ /**
1007
+ * Defines an icon with a custom CSS class that will be rendered next to the main button text ([see example]({% slug icons_dropdownbutton %})).
1008
+ */
1009
+ iconClass?: string;
1010
+ /**
1011
+ * Defines the location of an image that will be displayed next to the main button text ([see example]({% slug icons_dropdownbutton %})).
1012
+ */
1013
+ imageUrl?: string;
1014
+ /**
1015
+ * Configures the popup
1016
+ * ([see example]({% slug customization_dropdownbutton %}#toc-popup)).
1017
+ */
1018
+ popupSettings?: ButtonsPopupSettings;
1019
+ /**
1020
+ * A React functional or class component which is used for rendering items ([see example]({% slug customization_dropdownbutton %}#toc-item-render)). The default rendering includes an icon, an image, and text.
1021
+ */
1022
+ item?: null | React.ComponentType<{
1023
+ item: any;
1024
+ itemIndex: number;
1025
+ }>;
1026
+ /**
1027
+ * Fires when a dropdown list button item is about to be rendered. Use it to override the default appearance of the list items.
1028
+ * if `item` prop is not declared, `itemRender` behaves like `item`, for backward compatibility with versions before 4.2.0
1029
+ */
1030
+ itemRender?: ((li: React.ReactElement<HTMLLIElement>, props: ButtonItemProps) => React.ReactNode) | React.ComponentType<{
1031
+ item: any;
1032
+ itemIndex: number;
1033
+ }>;
1034
+ /**
1035
+ * Sets the `className` of the DropDownButton component.
1036
+ */
1037
+ className?: string;
1038
+ /**
1039
+ * Sets the `className` of the main button.
1040
+ */
1041
+ buttonClass?: string;
1042
+ /**
1043
+ * Sets the direction of the component.
1044
+ */
1045
+ dir?: string;
1046
+ /**
1047
+ * Fires when the component is focused ([see example]({% slug overview_dropdownbutton %}#toc-events)).
1048
+ */
1049
+ onFocus?: (event: DropDownButtonFocusEvent) => void;
1050
+ /**
1051
+ * Fires when the component is blurred ([see example]({% slug overview_dropdownbutton %}#toc-events)).
1052
+ */
1053
+ onBlur?: (event: DropDownButtonBlurEvent) => void;
1054
+ /**
1055
+ * Fires when an item is clicked ([see example]({% slug overview_dropdownbutton %}#toc-events)).
1056
+ */
1057
+ onItemClick?: (event: DropDownButtonItemClickEvent) => void;
1058
+ /**
1059
+ * Fires when the popup which contains the items is opened ([see example]({% slug overview_dropdownbutton %}#toc-events)).
1060
+ */
1061
+ onOpen?: (event: DropDownButtonOpenEvent) => void;
1062
+ /**
1063
+ * Fires when the popup which contains the items is closed ([see example]({% slug overview_dropdownbutton %}#toc-events)).
1064
+ */
1065
+ onClose?: (event: DropDownButtonCloseEvent) => void;
1066
+ /**
1067
+ * Configures the `size` of the DropDownButton.
1068
+ *
1069
+ * The available options are:
1070
+ * - small
1071
+ * - medium
1072
+ * - large
1073
+ * - null&mdash;Does not set a size `className`.
1074
+ *
1075
+ * @default `medium`
1076
+ */
1077
+ size?: null | 'small' | 'medium' | 'large';
1078
+ /**
1079
+ * Configures the `roundness` of the DropDownButton.
1080
+ *
1081
+ * The available options are:
1082
+ * - small
1083
+ * - medium
1084
+ * - large
1085
+ * - full
1086
+ * - null&mdash;Does not set a rounded `className`.
1087
+ *
1088
+ * @default `medium`
1089
+ */
1090
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
1091
+ /**
1092
+ * Configures the `fillMode` of the DropDownButton.
1093
+ *
1094
+ * The available options are:
1095
+ * - solid
1096
+ * - outline
1097
+ * - flat
1098
+ * - link
1099
+ * - null&mdash;Does not set a fillMode `className`.
1100
+ *
1101
+ * @default `solid`
1102
+ */
1103
+ fillMode?: null | 'solid' | 'outline' | 'flat' | 'link';
1104
+ /**
1105
+ * Configures the `themeColor` of the DropDownButton.
1106
+ *
1107
+ * The available options are:
1108
+ * - base
1109
+ * - primary
1110
+ * - secondary
1111
+ * - tertiary
1112
+ * - info
1113
+ * - success
1114
+ * - warning
1115
+ * - error
1116
+ * - dark
1117
+ * - light
1118
+ * - inverse
1119
+ * - null&mdash;Does not set a themeColor `className`.
1120
+ *
1121
+ * @default `base`
1122
+ */
1123
+ themeColor?: null | 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';
1124
+ }
1125
+
1126
+ /**
1127
+ * @hidden
1128
+ */
1129
+ declare interface DropDownButtonState {
1130
+ focusedIndex?: number;
1131
+ focused?: boolean;
1132
+ opened: boolean;
1133
+ }
1134
+
1135
+ /**
1136
+ * Represents the [KendoReact FloatingActionButton component]({% slug overview_floatingactionbutton %}).
1137
+ *
1138
+ * @example
1139
+ * ```jsx
1140
+ * const App = () => {
1141
+ * return (
1142
+ * <FloatingActionButton icon="plus" text="Create"/>
1143
+ * );
1144
+ * };
1145
+ * ReactDOM.render(<App />, document.querySelector('my-app'));
1146
+ * ```
1147
+ */
1148
+ export declare const FloatingActionButton: React_2.ForwardRefExoticComponent<FloatingActionButtonProps & React_2.RefAttributes<FloatingActionButtonHandle | null>>;
1149
+
1150
+ /**
1151
+ * Specifies the horizontal and vertical alignment of the Floating Action Button in relation to the container.
1152
+ *
1153
+ * > Centering the Floating Action Button in both horizontal and vertical dimension is not a typical use case.
1154
+ * Still, it is possible to achieve such a layout with appropriate offsets. Setting horizontal: "center" and
1155
+ * vertical: "middle" at the same time is not supported.
1156
+ */
1157
+ export declare interface FloatingActionButtonAlign {
1158
+ /**
1159
+ * Defines the possible horizontal alignment of the Floating Action Button.
1160
+ *
1161
+ * The available values are:
1162
+ * - `start`&mdash;Uses the start point of the container.
1163
+ * - `center`&mdash;Uses the center point of the container.
1164
+ * - `end`(Default)&mdash;Uses the end point of the container.
1165
+ */
1166
+ horizontal?: 'start' | 'center' | 'end';
1167
+ /**
1168
+ * Defines the possible vertical alignment of the Floating Action Button.
1169
+ *
1170
+ * The available values are:
1171
+ * - `top`&mdash;Uses the top point of the container.
1172
+ * - `middle`&mdash;Uses the middle point of the container.
1173
+ * - `bottom`(Default)&mdash;Uses the bottom point of the container.
1174
+ */
1175
+ vertical?: 'top' | 'middle' | 'bottom';
1176
+ }
1177
+
1178
+ /**
1179
+ * Specifies the horizontal and vertical offset applied to the Floating Action Button.
1180
+ *
1181
+ * Normally, the floating button is positioned next to the boundaries of its container with a default offset of `16px`.
1182
+ *
1183
+ * Positive offsets move floating buttons, which are in a corner, further from that corner. Buttons, which are
1184
+ * not in a corner, can be moved along the container's boundary or towards the center of the container.
1185
+ *
1186
+ * A negative offset can be used to force a button to overflow the boundaries of its container.
1187
+ */
1188
+ export declare interface FloatingActionButtonAlignOffset {
1189
+ /**
1190
+ * Sets the horizontal offset of the Floating Action Button.
1191
+ */
1192
+ x?: number | string;
1193
+ /**
1194
+ * Sets the vertical offset of the Floating Action Button.
1195
+ */
1196
+ y?: number | string;
1197
+ }
1198
+
1199
+ /**
1200
+ * Represents the return type of the FloatingActionButton events.
1201
+ */
1202
+ export declare interface FloatingActionButtonEvent extends BaseEvent<FloatingActionButtonHandle> {
1203
+ }
1204
+
1205
+ /**
1206
+ * The FloatingActionButton ref.
1207
+ */
1208
+ export declare interface FloatingActionButtonHandle {
1209
+ /**
1210
+ * The FloatingActionButton element.
1211
+ */
1212
+ element: HTMLButtonElement | null;
1213
+ /**
1214
+ * Focus the FloatingActionButton.
1215
+ */
1216
+ focus: () => void;
1217
+ }
1218
+
1219
+ /**
1220
+ * Represents the [KendoReact FloatingActionButtonItem component]({% slug overview_floatingactionbutton %}).
1221
+ *
1222
+ * @example
1223
+ * ```jsx
1224
+ *
1225
+ * const App = () => {
1226
+ * return (
1227
+ * <FloatingActionButton items={[{icon: 'pencil', text: 'Edit'}, {icon: 'close', text: 'Remove'}] icon: 'plus'} />
1228
+ * );
1229
+ * };
1230
+ * ReactDOM.render(<App />, document.querySelector('my-app'));
1231
+ * ```
1232
+ */
1233
+ export declare const FloatingActionButtonItem: React_2.ForwardRefExoticComponent<Omit<FloatingActionButtonItemProps, "ref"> & React_2.RefAttributes<FloatingActionButtonItemHandle | null>>;
1234
+
1235
+ /**
1236
+ * Represents the return type of the FloatingActionButtonItemEvent.
1237
+ */
1238
+ export declare interface FloatingActionButtonItemEvent extends BaseEvent<FloatingActionButtonHandle> {
1239
+ /**
1240
+ * The clicked item props.
1241
+ */
1242
+ itemProps?: FloatingActionButtonItemProps;
1243
+ /**
1244
+ * The zero-based index of the clicked item.
1245
+ */
1246
+ itemIndex: number;
1247
+ }
1248
+
1249
+ /**
1250
+ * The FloatingActionButtonItemHandle ref.
1251
+ */
1252
+ export declare interface FloatingActionButtonItemHandle {
1253
+ /**
1254
+ * The FloatingActionButtonItemHandle element.
1255
+ */
1256
+ element: HTMLLIElement | null;
1257
+ /**
1258
+ * Focus the FloatingActionButtonItem.
1259
+ */
1260
+ focus: () => void;
1261
+ }
1262
+
1263
+ /**
1264
+ * Represents the props of the [KendoReact FloatingActionButtonItem component]({% slug overview_floatingactionbutton %}).
1265
+ */
1266
+ export declare interface FloatingActionButtonItemProps {
1267
+ /**
1268
+ * Sets additional CSS styles to the FloatingActionButtonItem.
1269
+ */
1270
+ style?: React_2.CSSProperties;
1271
+ /**
1272
+ * Specifies a list of CSS classes that will be added to the FloatingActionButtonItem.
1273
+ */
1274
+ className?: string;
1275
+ /**
1276
+ * Represents the children that are passed to the FloatingActionButtonItem.
1277
+ */
1278
+ children?: any;
1279
+ /**
1280
+ * Specifies if the Floating Action Button Item is disabled [see example]({% slug disabled_floatingactionbuttonitem %}).
1281
+ * Defaults to `false`.
1282
+ */
1283
+ disabled?: boolean;
1284
+ /**
1285
+ * Sets the index of the Floating Action Button Item that is used to identify it.
1286
+ */
1287
+ index?: number;
1288
+ /**
1289
+ * Defines the icon rendered in the FloatingActionButtonItem
1290
+ * [see example]({% slug databinding_floatingactionbutton %}).
1291
+ */
1292
+ icon?: string;
1293
+ /**
1294
+ * Defines the SVG icon rendered in the FloatingActionButtonItem.
1295
+ */
1296
+ svgIcon?: SVGIcon;
1297
+ /**
1298
+ * Specifies the text of the FloatingActionButtonItem
1299
+ * [see example]({% slug databinding_floatingactionbutton %}).
1300
+ */
1301
+ text?: string;
1302
+ /**
1303
+ * Sets the `tabIndex` property of the FloatingActionButtonItem..
1304
+ * Defaults to `0`.
1305
+ */
1306
+ tabIndex?: number;
1307
+ /**
1308
+ * Sets a custom property. Contained in the FloatingActionButtonItem props that are
1309
+ * returned from the `onItemClick` FloatingActionButton event
1310
+ * [see example]({% slug customization_floatingactionbutton %}#toc-items-rendering).
1311
+ */
1312
+ [customProp: string]: any;
1313
+ /**
1314
+ * @hidden
1315
+ */
1316
+ id?: string;
1317
+ /**
1318
+ * @hidden
1319
+ */
1320
+ dataItem?: any;
1321
+ /**
1322
+ * @hidden
1323
+ */
1324
+ item?: any;
1325
+ /**
1326
+ * @hidden
1327
+ */
1328
+ focused?: boolean;
1329
+ /**
1330
+ * @hidden
1331
+ */
1332
+ onDown?: (event: any) => void;
1333
+ /**
1334
+ * @hidden
1335
+ */
1336
+ onClick?: (event: any, index: number) => void;
1337
+ }
1338
+
1339
+ /**
1340
+ * Represents the settings that can be passed to the Popup inside the FloatingActionButtonPopupSettings.
1341
+ */
1342
+ export declare interface FloatingActionButtonPopupSettings {
1343
+ /**
1344
+ * Controls the popup animation. By default, the open and close animations are enabled
1345
+ * [see example]({% slug customization_floatingactionbutton %}#toc-popup-behavior).
1346
+ */
1347
+ animate?: boolean | PopupAnimation;
1348
+ /**
1349
+ * Specifies a list of CSS classes that are used for styling the popup
1350
+ * [see example]({% slug customization_floatingactionbutton %}#toc-popup-behavior).
1351
+ */
1352
+ popupClass?: string;
1353
+ /**
1354
+ * @hidden
1355
+ */
1356
+ anchorAlign?: Align;
1357
+ /**
1358
+ * @hidden
1359
+ */
1360
+ popupAlign?: Align;
1361
+ }
1362
+
1363
+ /**
1364
+ * Specifies the position mode of the Floating Action Button. It is based on the
1365
+ * [CSS position](https://developer.mozilla.org/en-US/docs/Web/CSS/position) rule.
1366
+ *
1367
+ * * The possible values are:
1368
+ * * 'absolute' (Default)
1369
+ * * 'fixed'
1370
+ */
1371
+ export declare type FloatingActionButtonPositionMode = 'absolute' | 'fixed';
1372
+
1373
+ /**
1374
+ * Represents the props of the [KendoReact FloatingActionButton component]({% slug overview_floatingactionbutton %}).
1375
+ */
1376
+ export declare interface FloatingActionButtonProps extends Omit_2<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onBlur' | 'onFocus' | 'onKeyDown' | 'onClick'> {
1377
+ /**
1378
+ * Sets additional CSS styles to the Floating Action Button.
1379
+ */
1380
+ style?: React.CSSProperties;
1381
+ /**
1382
+ * Specifies a list of CSS classes that will be added to the Floating Action Button.
1383
+ */
1384
+ className?: string;
1385
+ /**
1386
+ * Represents the `dir` HTML attribute. This is used to switch from LTR to RTL [see example]({% slug rtl_buttons %}).
1387
+ */
1388
+ dir?: string;
1389
+ /**
1390
+ * Sets the `id` property of the root HTML element.
1391
+ */
1392
+ id?: string;
1393
+ /**
1394
+ * Specifies if the Floating Action Button is disabled [see example]({% slug disabled_floatingactionbutton %}). Defaults to `false`.
1395
+ */
1396
+ disabled?: boolean;
1397
+ /**
1398
+ * Defines the icon rendered in the Floating Action Button [see example]({% slug contenttypes_floatingactionbutton %}).
1399
+ */
1400
+ icon?: string;
1401
+ /**
1402
+ * Defines the SVG icon rendered in the Floating Action Button [see example]({% slug contenttypes_floatingactionbutton %}).
1403
+ */
1404
+ svgIcon?: SVGIcon;
1405
+ /**
1406
+ * Defines a CSS class or multiple classes separated by spaces which are applied
1407
+ * to a `span` element inside the Floating Action Button. Allows the usage of custom icons.
1408
+ */
1409
+ iconClass?: string;
1410
+ /**
1411
+ * Specifies the text of the Floating Action Button [see example]({% slug contenttypes_floatingactionbutton %}).
1412
+ */
1413
+ text?: string;
1414
+ /**
1415
+ * Specifies the horizontal and vertical offset applied to the Floating Action Button
1416
+ * [see example]({% slug positioning_floatingactionbutton %}).
1417
+ *
1418
+ * Normally, the floating button is positioned next to the boundaries of its container with a default offset of `16px`.
1419
+ *
1420
+ * Positive offsets move floating buttons, which are in a corner, further from that corner. Buttons, which are
1421
+ * not in a corner, can be moved along the container's boundary or towards the center of the container.
1422
+ *
1423
+ * A negative offset can be used to force a button to overflow the boundaries of its container.
1424
+ *
1425
+ * The possible keys are:
1426
+ * * `x`&mdash;Sets the horizontal offset of the Floating Action Button.
1427
+ * * `y`&mdash;Sets the vertical offset of the Floating Action Button.
1428
+ *
1429
+ */
1430
+ alignOffset?: FloatingActionButtonAlignOffset;
1431
+ /**
1432
+ * Specifies the horizontal and vertical alignment of the Floating Action Button in relation to the container
1433
+ * [see example]({% slug positioning_floatingactionbutton %}).
1434
+ *
1435
+ * > Centering the Floating Action Button in both horizontal and vertical dimension is not a typical use case.
1436
+ * Still, it is possible to achieve such a layout with appropriate offsets. Setting horizontal: "center" and vertical: "middle"
1437
+ * at the same time is not supported.
1438
+ *
1439
+ * The possible keys are:
1440
+ * * `horizontal`&mdash; Defines the possible horizontal alignment of the Floating Action Button..
1441
+ * * `start`&mdash;Uses the start point of the container.
1442
+ * * `center`&mdash;Uses the center point of the container.
1443
+ * * `end`(Default)&mdash;Uses the end point of the container
1444
+ * * `vertical`&mdash; Defines the possible vertical alignment of the Floating Action Button..
1445
+ * * `top`&mdash;Uses the top point of the container.
1446
+ * * `middle`&mdash;Uses the middle point of the container.
1447
+ * * `bottom`(Default)&mdash;Uses the bottom point of the container.
1448
+ *
1449
+ */
1450
+ align?: FloatingActionButtonAlign;
1451
+ /**
1452
+ * Specifies the position mode of the Floating Action Button
1453
+ * [see example]({% slug positioning_floatingactionbutton %}). It is based on the
1454
+ * [CSS position](https://developer.mozilla.org/en-US/docs/Web/CSS/position) rule.
1455
+ *
1456
+ * * The possible values are:
1457
+ * * 'fixed' (Default)
1458
+ * * 'absolute'
1459
+ */
1460
+ positionMode?: FloatingActionButtonPositionMode;
1461
+ /**
1462
+ * Specifies the size of the Floating Action Button
1463
+ * [see example]({% slug appearance_floatingactionbutton %}).
1464
+ *
1465
+ * The possible values are:
1466
+ * * `small`&mdash;Applies half of the default padding, e.g. `8px`.
1467
+ * * `medium` (Default)&mdash;Applies the default padding, e.g. `16px`.
1468
+ * * `large`&mdash;Applies one and one half of the default padding, e.g. `24px`.
1469
+ * * `null`&mdash;Does not set a size `className`.
1470
+ *
1471
+ */
1472
+ size?: FloatingActionButtonSize;
1473
+ /**
1474
+ * Specifies the rounding of the Floating Action Button.
1475
+ *
1476
+ * The possible values are:
1477
+ * * `small`
1478
+ * * `medium`
1479
+ * * `large`
1480
+ * * `full`
1481
+ * * `null`&mdash;Does not set a rounded `className`.
1482
+ *
1483
+ * @default `full`
1484
+ */
1485
+ rounded?: FloatingActionButtonRounded;
1486
+ /**
1487
+ * Specifies the theme color of the Floating Action Button
1488
+ * [see example]({% slug appearance_floatingactionbutton %}).
1489
+ *
1490
+ * The possible values are:
1491
+ * * `primary` (Default)&mdash;Applies coloring based on the primary theme color.
1492
+ * * `secondary`&mdash;Applies coloring based on the secondary theme color.
1493
+ * * `tertiary`&mdash; Applies coloring based on the tertiary theme color.
1494
+ * * `info`&mdash;Applies coloring based on the info theme color.
1495
+ * * `success`&mdash; Applies coloring based on the success theme color.
1496
+ * * `warning`&mdash; Applies coloring based on the warning theme color.
1497
+ * * `error`&mdash; Applies coloring based on the error theme color.
1498
+ * * `dark`&mdash; Applies coloring based on the dark theme color.
1499
+ * * `light`&mdash; Applies coloring based on the light theme color.
1500
+ * * `inverse`&mdash; Applies coloring based on the inverse theme color.
1501
+ * * `null`&mdash;Does not set a theme color `className`.
1502
+ *
1503
+ */
1504
+ themeColor?: FloatingActionButtonThemeColor;
1505
+ /**
1506
+ * The collection of items that will be rendered in the Floating Action Button
1507
+ * [see example]({% slug databinding_floatingactionbutton %}).
1508
+ */
1509
+ items?: Array<FloatingActionButtonItemProps>;
1510
+ /**
1511
+ * Overrides the default component responsible for visualizing a single item
1512
+ * [see example]({% slug customization_floatingactionbutton %}#toc-items-rendering).
1513
+ *
1514
+ * The default Component is: [FloatingActionButtonItem]({% slug api_buttons_floatingactionbuttonitem %}).
1515
+ */
1516
+ item?: React.ComponentType<FloatingActionButtonItemProps>;
1517
+ /**
1518
+ * Represents the additional props that will be passed to the Popup inside the Floating Action Button
1519
+ * [see example]({% slug customization_floatingactionbutton %}#toc-popup-behavior).
1520
+ */
1521
+ popupSettings?: FloatingActionButtonPopupSettings;
1522
+ /**
1523
+ * Specifies the `tabIndex` of the main button.
1524
+ */
1525
+ tabIndex?: number;
1526
+ /**
1527
+ * Specifies the `accessKey` of the main button.
1528
+ */
1529
+ accessKey?: string;
1530
+ /**
1531
+ * Specifies if the Floating Action Button will be modal by rendering an overlay under the component.
1532
+ */
1533
+ modal?: boolean;
1534
+ /**
1535
+ * Set styles to the Floating Action Button overlay element rendered when the `modal` prop is enabled.
1536
+ */
1537
+ overlayStyle?: React.CSSProperties;
1538
+ /**
1539
+ * Fires when the Floating Action Button is focused
1540
+ * [see example]({% slug overview_floatingactionbutton %}#toc-events).
1541
+ */
1542
+ onFocus?: (event: FloatingActionButtonEvent) => void;
1543
+ /**
1544
+ * Fires when the Floating Action Button is blurred
1545
+ * [see example]({% slug overview_floatingactionbutton %}#toc-events).
1546
+ */
1547
+ onBlur?: (event: FloatingActionButtonEvent) => void;
1548
+ /**
1549
+ * Fires when the Floating Action Button is clicked.
1550
+ */
1551
+ onClick?: (event: FloatingActionButtonEvent) => void;
1552
+ /**
1553
+ * Fires when the Floating Action Button Item is clicked
1554
+ * [see example]({% slug overview_floatingactionbutton %}#toc-events).
1555
+ */
1556
+ onItemClick?: (event: FloatingActionButtonItemEvent) => void;
1557
+ /**
1558
+ * Triggers onKeyDown event
1559
+ * [see example]({% slug overview_floatingactionbutton %}#toc-events).
1560
+ */
1561
+ onKeyDown?: (event: FloatingActionButtonEvent) => void;
1562
+ /**
1563
+ * Fires when the popup which contains the items is opened
1564
+ * [see example]({% slug overview_floatingactionbutton %}#toc-events).
1565
+ */
1566
+ onOpen?: (event: FloatingActionButtonEvent) => void;
1567
+ /**
1568
+ * Fires when the popup which contains the items is closed
1569
+ * [see example]({% slug overview_floatingactionbutton %}#toc-events).
1570
+ */
1571
+ onClose?: (event: FloatingActionButtonEvent) => void;
1572
+ }
1573
+
1574
+ /**
1575
+ * Specifies the rounding of the Floating Action Button.
1576
+ *
1577
+ * The possible values are:
1578
+ * * `small`
1579
+ * * `medium`
1580
+ * * `large`
1581
+ * * `full`
1582
+ * * `null`&mdash;Does not set a rounded `className`.
1583
+ *
1584
+ */
1585
+ export declare type FloatingActionButtonRounded = null | 'small' | 'medium' | 'large' | 'full';
1586
+
1587
+ /**
1588
+ * Specifies the size of the Floating Action Button.
1589
+ *
1590
+ * The possible values are:
1591
+ * * `small`&mdash;Applies half of the default padding, e.g. `8px`.
1592
+ * * `medium` (Default)&mdash;Applies the default padding, e.g. `16px`.
1593
+ * * `large`&mdash;Applies one and one half of the default padding, e.g. `24px`.
1594
+ * * `null`&mdash;Does not set a size `className`.
1595
+ *
1596
+ */
1597
+ export declare type FloatingActionButtonSize = null | 'small' | 'medium' | 'large';
1598
+
1599
+ /**
1600
+ * Specifies the theme color of the Floating Action Button..
1601
+ *
1602
+ * The possible values are:
1603
+ * * `primary` (Default)&mdash;Applies coloring based on the primary theme color.
1604
+ * * `secondary`&mdash;Applies coloring based on the secondary theme color.
1605
+ * * `tertiary`&mdash; Applies coloring based on the tertiary theme color.
1606
+ * * `info`&mdash;Applies coloring based on the info theme color.
1607
+ * * `success`&mdash; Applies coloring based on the success theme color.
1608
+ * * `warning`&mdash; Applies coloring based on the warning theme color.
1609
+ * * `error`&mdash; Applies coloring based on the error theme color.
1610
+ * * `dark`&mdash; Applies coloring based on the dark theme color.
1611
+ * * `light`&mdash; Applies coloring based on the light theme color.
1612
+ * * `inverse`&mdash; Applies coloring based on the inverse theme color.
1613
+ * * `null`&mdash;Does not set a theme color `className`.
1614
+ *
1615
+ */
1616
+ export declare type FloatingActionButtonThemeColor = null | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';
1617
+
1618
+ /**
1619
+ * @hidden
1620
+ */
1621
+ declare type Omit_2<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
1622
+
1623
+ /** @hidden */
1624
+ export declare const SplitButton: ForwardRefExoticComponent<SplitButtonProps & RefAttributes<any>>;
1625
+
1626
+ export declare interface SplitButtonBlurEvent extends BaseEvent<SplitButtonClassComponent> {
1627
+ }
1628
+
1629
+ /**
1630
+ * Represents the [KendoReact SplitButton component]({% slug overview_splitbutton %}).
1631
+ *
1632
+ * @example
1633
+ * ```jsx
1634
+ * class App extends React.Component {
1635
+ * render() {
1636
+ * return (
1637
+ * <SplitButton text="Act">
1638
+ * <SplitButtonItem text="Item1" />
1639
+ * <SplitButtonItem text="Item2" />
1640
+ * <SplitButtonItem text="Item3" />
1641
+ * </SplitButton>
1642
+ * );
1643
+ * }
1644
+ * }
1645
+ * ReactDOM.render(<App />, document.querySelector('my-app'));
1646
+ * ```
1647
+ */
1648
+ export declare class SplitButtonClassComponent extends React_2.Component<SplitButtonProps, SplitButtonState> {
1649
+ /**
1650
+ * @hidden
1651
+ */
1652
+ static propTypes: {
1653
+ accessKey: PropTypes.Requireable<string>;
1654
+ ariaLabel: PropTypes.Requireable<string>;
1655
+ title: PropTypes.Requireable<string>;
1656
+ onButtonClick: PropTypes.Requireable<(...args: any[]) => any>;
1657
+ onFocus: PropTypes.Requireable<(...args: any[]) => any>;
1658
+ onBlur: PropTypes.Requireable<(...args: any[]) => any>;
1659
+ onItemClick: PropTypes.Requireable<(...args: any[]) => any>;
1660
+ onOpen: PropTypes.Requireable<(...args: any[]) => any>;
1661
+ onClose: PropTypes.Requireable<(...args: any[]) => any>;
1662
+ text: PropTypes.Requireable<string>;
1663
+ items: PropTypes.Requireable<any[]>;
1664
+ textField: PropTypes.Requireable<string>;
1665
+ tabIndex: PropTypes.Requireable<number>;
1666
+ disabled: PropTypes.Requireable<boolean>;
1667
+ icon: PropTypes.Requireable<string>;
1668
+ svgIcon: PropTypes.Requireable<PropTypes.InferProps<{
1669
+ name: PropTypes.Validator<string>;
1670
+ content: PropTypes.Validator<string>;
1671
+ viewBox: PropTypes.Validator<string>;
1672
+ }>>;
1673
+ iconClass: PropTypes.Requireable<string>;
1674
+ imageUrl: PropTypes.Requireable<string>;
1675
+ popupSettings: PropTypes.Requireable<object>;
1676
+ itemRender: PropTypes.Requireable<any>;
1677
+ item: PropTypes.Requireable<(...args: any[]) => any>;
1678
+ className: PropTypes.Requireable<string>;
1679
+ buttonClass: PropTypes.Requireable<string>;
1680
+ dir: PropTypes.Requireable<string>;
1681
+ };
1682
+ /**
1683
+ * @hidden
1684
+ */
1685
+ static defaultProps: {
1686
+ size: string;
1687
+ rounded: string;
1688
+ fillMode: string;
1689
+ themeColor: string;
1690
+ };
1691
+ /**
1692
+ * @hidden
1693
+ */
1694
+ readonly state: {
1695
+ focused: boolean;
1696
+ focusedIndex: number;
1697
+ opened: boolean;
1698
+ };
1699
+ private wrapper;
1700
+ private mainButton;
1701
+ private list;
1702
+ private get guid();
1703
+ private skipFocus;
1704
+ private buttonsData;
1705
+ private openedDuringOnChange?;
1706
+ constructor(props: SplitButtonProps);
1707
+ private get opened();
1708
+ /**
1709
+ * @hidden
1710
+ */
1711
+ render(): JSX_2.Element;
1712
+ /**
1713
+ * @hidden
1714
+ */
1715
+ componentDidMount(): void;
1716
+ /**
1717
+ * The DOM element of main button.
1718
+ */
1719
+ get element(): HTMLButtonElement | null;
1720
+ private onKeyDown;
1721
+ private switchFocus;
1722
+ private onFocus;
1723
+ private setOpen;
1724
+ private onItemClick;
1725
+ private onBlur;
1726
+ private dispatchClickEvent;
1727
+ private renderPopup;
1728
+ private onPopupClose;
1729
+ private listRef;
1730
+ private renderChildItems;
1731
+ private onSplitPartClick;
1732
+ private onDownSplitPart;
1733
+ private onItemDown;
1734
+ private dispatchPopupEvent;
1735
+ private isItemDisabled;
1736
+ private isRtl;
1737
+ }
1738
+
1739
+ export declare interface SplitButtonClickEvent extends BaseEvent<SplitButtonClassComponent> {
1740
+ }
1741
+
1742
+ export declare interface SplitButtonCloseEvent extends BaseEvent<SplitButtonClassComponent> {
1743
+ }
1744
+
1745
+ export declare interface SplitButtonFocusEvent extends BaseEvent<SplitButtonClassComponent> {
1746
+ }
1747
+
1748
+ /**
1749
+ * Represent the `ref` of the SplitButton component.
1750
+ */
1751
+ export declare interface SplitButtonHandle extends Pick<SplitButtonClassComponent, keyof SplitButtonClassComponent> {
1752
+ }
1753
+
1754
+ export declare class SplitButtonItem extends React_2.Component<SplitButtonItemProps, {}> {
1755
+ /**
1756
+ * @hidden
1757
+ */
1758
+ static propTypes: {
1759
+ text: PropTypes.Requireable<string>;
1760
+ icon: PropTypes.Requireable<string>;
1761
+ iconClass: PropTypes.Requireable<string>;
1762
+ imageUrl: PropTypes.Requireable<string>;
1763
+ disabled: PropTypes.Requireable<boolean>;
1764
+ render: PropTypes.Requireable<any>;
1765
+ };
1766
+ /**
1767
+ * @hidden
1768
+ */
1769
+ render(): null;
1770
+ }
1771
+
1772
+ /**
1773
+ * The arguments for the `itemClick` event.
1774
+ */
1775
+ export declare interface SplitButtonItemClickEvent extends BaseEvent<SplitButtonClassComponent> {
1776
+ /**
1777
+ * The clicked item.
1778
+ */
1779
+ item: any;
1780
+ /**
1781
+ * The zero-based index of the clicked item.
1782
+ */
1783
+ itemIndex: number;
1784
+ }
1785
+
1786
+ /**
1787
+ * The properties of the KendoReact SplitButtonItem component.
1788
+ */
1789
+ export declare interface SplitButtonItemProps extends ButtonItem {
1790
+ }
1791
+
1792
+ export declare interface SplitButtonOpenEvent extends BaseEvent<SplitButtonClassComponent> {
1793
+ }
1794
+
1795
+ export declare interface SplitButtonProps extends KendoReactComponentBaseProps {
1796
+ /**
1797
+ * Specifies the `accessKey` of the main button.
1798
+ */
1799
+ accessKey?: string;
1800
+ /**
1801
+ * The accessible label of the component.
1802
+ */
1803
+ ariaLabel?: string;
1804
+ /**
1805
+ * The title of the component.
1806
+ */
1807
+ title?: string;
1808
+ /**
1809
+ * Specifies the text of the main button ([see example]({% slug overview_splitbutton %}#toc-basic-usage)).
1810
+ */
1811
+ text?: string;
1812
+ /**
1813
+ * Specifies the list items ([see example]({% slug binding_splitbutton %}#toc-array-of-objects)).
1814
+ */
1815
+ items?: any[];
1816
+ /**
1817
+ * Configures the field that will be used for the text of the `items`. `textField` has to be used together with the `items` prop ([see example]({% slug binding_splitbutton %}#toc-array-of-objects)).
1818
+ */
1819
+ textField?: string;
1820
+ /**
1821
+ * Specifies the `tabIndex` of the main button.
1822
+ */
1823
+ tabIndex?: number;
1824
+ /**
1825
+ * Determines whether the component is disabled ([see example]({% slug disabled_splitbutton %})).
1826
+ */
1827
+ disabled?: boolean;
1828
+ /**
1829
+ * Defines an icon that will be rendered next to the main button text ([see example]({% slug icons_splitbutton %})).
1830
+ */
1831
+ icon?: string;
1832
+ /**
1833
+ * Defines a SVG icon that will be rendered next to the main button text ([see example]({% slug icons_splitbutton %})).
1834
+ */
1835
+ svgIcon?: SVGIcon;
1836
+ /**
1837
+ * Defines an icon with a custom CSS class that will be rendered next to the main button text ([see example]({% slug icons_splitbutton %})).
1838
+ */
1839
+ iconClass?: string;
1840
+ /**
1841
+ * Defines the location of an image that will be displayed next to the main button text ([see example]({% slug icons_splitbutton %})).
1842
+ */
1843
+ imageUrl?: string;
1844
+ /**
1845
+ * Configures the popup ([see example]({% slug customization_splitbutton %}#toc-popup)).
1846
+ */
1847
+ popupSettings?: ButtonsPopupSettings;
1848
+ /**
1849
+ * Opens the popup of the SplitButton if set to `true`.
1850
+ */
1851
+ opened?: boolean;
1852
+ /**
1853
+ * A React functional or class component which is used for rendering items ([see example]({% slug customization_dropdownbutton %}#toc-item-render)). The default rendering includes an icon, an image, and text.
1854
+ */
1855
+ item?: null | React.ComponentType<{
1856
+ item: any;
1857
+ itemIndex: number;
1858
+ }>;
1859
+ /**
1860
+ * Fires when a dropdown list button item is about to be rendered. Use it to override the default appearance of the list items.
1861
+ * if `item` prop is not declared, `itemRender` behaves like `item`, for backward compatibility with versions before 4.2.0
1862
+ */
1863
+ itemRender?: ((li: React.ReactElement<HTMLLIElement>, props: ButtonItemProps) => React.ReactNode) | React.ComponentType<{
1864
+ item: any;
1865
+ itemIndex: number;
1866
+ }>;
1867
+ /**
1868
+ * Sets the `className` of the SplitButton component.
1869
+ */
1870
+ className?: string;
1871
+ /**
1872
+ * Sets the `className` of the main button.
1873
+ */
1874
+ buttonClass?: string;
1875
+ /**
1876
+ * Sets the direction of the component.
1877
+ */
1878
+ dir?: string;
1879
+ /**
1880
+ * Fires when the main button is clicked ([see example]({% slug overview_splitbutton %}#toc-events)).
1881
+ */
1882
+ onButtonClick?: (event: SplitButtonClickEvent) => void;
1883
+ /**
1884
+ * Fires when the component is focused ([see example]({% slug overview_splitbutton %}#toc-events)).
1885
+ */
1886
+ onFocus?: (event: SplitButtonFocusEvent) => void;
1887
+ /**
1888
+ * Fires when the component is blurred ([see example]({% slug overview_splitbutton %}#toc-events)).
1889
+ */
1890
+ onBlur?: (event: SplitButtonBlurEvent) => void;
1891
+ /**
1892
+ * Fires when an item is clicked ([see example]({% slug overview_splitbutton %}#toc-events)).
1893
+ */
1894
+ onItemClick?: (event: SplitButtonItemClickEvent) => void;
1895
+ /**
1896
+ * Fires when the popup which contains the items is opened ([see example]({% slug overview_splitbutton %}#toc-events)).
1897
+ */
1898
+ onOpen?: (event: SplitButtonOpenEvent) => void;
1899
+ /**
1900
+ * Fires when the popup which contains the items is closed ([see example]({% slug overview_splitbutton %}#toc-events)).
1901
+ */
1902
+ onClose?: (event: SplitButtonCloseEvent) => void;
1903
+ /**
1904
+ * Configures the `size` of the SplitButton.
1905
+ *
1906
+ * The available options are:
1907
+ * - small
1908
+ * - medium
1909
+ * - large
1910
+ * - null&mdash;Does not set a size `className`.
1911
+ *
1912
+ * @default `medium`
1913
+ */
1914
+ size?: null | 'small' | 'medium' | 'large';
1915
+ /**
1916
+ * Configures the `roundness` of the SplitButton.
1917
+ *
1918
+ * The available options are:
1919
+ * - small
1920
+ * - medium
1921
+ * - large
1922
+ * - full
1923
+ * - null&mdash;Does not set a rounded `className`.
1924
+ *
1925
+ * @default `medium`
1926
+ */
1927
+ rounded?: null | 'small' | 'medium' | 'large' | 'full';
1928
+ /**
1929
+ * Configures the `fillMode` of the SplitButton.
1930
+ *
1931
+ * The available options are:
1932
+ * - solid
1933
+ * - outline
1934
+ * - flat
1935
+ * - link
1936
+ * - null&mdash;Does not set a fillMode `className`.
1937
+ *
1938
+ * @default `solid`
1939
+ */
1940
+ fillMode?: null | 'solid' | 'outline' | 'flat' | 'link';
1941
+ /**
1942
+ * Configures the `themeColor` of the SplitButton.
1943
+ *
1944
+ * The available options are:
1945
+ * - base
1946
+ * - primary
1947
+ * - secondary
1948
+ * - tertiary
1949
+ * - info
1950
+ * - success
1951
+ * - warning
1952
+ * - error
1953
+ * - dark
1954
+ * - light
1955
+ * - inverse
1956
+ * - null&mdash;Does not set a themeColor `className`.
1957
+ *
1958
+ * @default `base`
1959
+ */
1960
+ themeColor?: null | 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';
1961
+ }
1962
+
1963
+ /**
1964
+ * @hidden
1965
+ */
1966
+ declare interface SplitButtonState {
1967
+ focusedIndex?: number;
1968
+ focused?: boolean;
1969
+ opened?: boolean;
1970
+ }
1971
+
1972
+ /**
1973
+ * Represents the [KendoReact Toolbar component]({% slug overview_toolbar %}).
1974
+ *
1975
+ * @example
1976
+ * ```jsx
1977
+ * class App extends React.Component {
1978
+ * render() {
1979
+ * return (
1980
+ * <Toolbar>
1981
+ * <ToolbarItem>
1982
+ * <ButtonGroup>
1983
+ * <Button togglable={true} icon="bold" />
1984
+ * <Button togglable={true} icon="italic" />
1985
+ * <Button togglable={true} icon="underline" />
1986
+ * </ButtonGroup>
1987
+ * </ToolbarItem>
1988
+ * <ToolbarItem>
1989
+ * <ButtonGroup>
1990
+ * <Button icon="hyperlink">Insert Link</Button>
1991
+ * <Button icon="image">Insert Image</Button>
1992
+ * <Button icon="table">Insert Table</Button>
1993
+ * </ButtonGroup>
1994
+ * </ToolbarItem>
1995
+ * </Toolbar>
1996
+ * );
1997
+ * }
1998
+ * }
1999
+ * ReactDOM.render(<App />, document.querySelector('my-app'));
2000
+ * ```
2001
+ */
2002
+ export declare class Toolbar extends React_2.Component<ToolbarProps> {
2003
+ /**
2004
+ * @hidden
2005
+ */
2006
+ static propTypes: {
2007
+ tabIndex: PropTypes.Requireable<number>;
2008
+ dir: PropTypes.Requireable<string>;
2009
+ keyboardNavigation: PropTypes.Requireable<boolean>;
2010
+ style: PropTypes.Requireable<object>;
2011
+ className: PropTypes.Requireable<string>;
2012
+ role: PropTypes.Requireable<string>;
2013
+ onResize: PropTypes.Requireable<(...args: any[]) => any>;
2014
+ buttons: PropTypes.Requireable<(string | null | undefined)[]>;
2015
+ size: PropTypes.Requireable<string | null>;
2016
+ };
2017
+ /**
2018
+ * @hidden
2019
+ */
2020
+ static defaultProps: {
2021
+ tabIndex: number;
2022
+ size: string;
2023
+ };
2024
+ private _element;
2025
+ private offsetHeight;
2026
+ private offsetWidth;
2027
+ private buttons;
2028
+ private focusedSelector;
2029
+ constructor(props: ToolbarProps);
2030
+ private get selectors();
2031
+ private get focusedIndex();
2032
+ /**
2033
+ * Returns the HTML element of the Toolbar component.
2034
+ */
2035
+ get element(): HTMLDivElement | null;
2036
+ /**
2037
+ * @hidden
2038
+ */
2039
+ componentDidMount(): void;
2040
+ /**
2041
+ * @hidden
2042
+ */
2043
+ componentDidUpdate(): void;
2044
+ /**
2045
+ * @hidden
2046
+ */
2047
+ componentWillUnmount(): void;
2048
+ /**
2049
+ * @hidden
2050
+ */
2051
+ render(): JSX_2.Element;
2052
+ private setTabIndex;
2053
+ private onKeyDown;
2054
+ private focusButton;
2055
+ private onWindowResize;
2056
+ }
2057
+
2058
+ /**
2059
+ * @hidden
2060
+ */
2061
+ export declare const toolbarButtons: string[];
2062
+
2063
+ /**
2064
+ * Represents the KendoReact ToolbarItem component.
2065
+ * To add a tool to the Toolbar, wrap it inside a ToolbarItem component
2066
+ * ([see example]({% slug content_toolbar %})).
2067
+ */
2068
+ export declare class ToolbarItem extends React_2.PureComponent<ToolbarItemProps> {
2069
+ /**
2070
+ * @hidden
2071
+ */
2072
+ static propTypes: {
2073
+ className: PropTypes.Requireable<string>;
2074
+ };
2075
+ private _element;
2076
+ /**
2077
+ * Returns the HTML element of the ToolbarItem component.
2078
+ */
2079
+ get element(): HTMLSpanElement | null;
2080
+ /**
2081
+ * @hidden
2082
+ */
2083
+ render(): JSX_2.Element;
2084
+ }
2085
+
2086
+ /**
2087
+ * Represents the props of KendoReact ToolbarItem component.
2088
+ */
2089
+ export declare interface ToolbarItemProps extends KendoReactComponentBaseProps {
2090
+ /**
2091
+ * Sets additional classes to the ToolbarItem component.
2092
+ */
2093
+ className?: string;
2094
+ /**
2095
+ * Sets additional styles to the ToolbarItem component.
2096
+ */
2097
+ style?: React_2.CSSProperties;
2098
+ }
2099
+
2100
+ /**
2101
+ * Represents the props of the [KendoReact Toolbar component]({% slug overview_toolbar %}).
2102
+ */
2103
+ export declare interface ToolbarProps extends KendoReactComponentBaseProps {
2104
+ /**
2105
+ * Sets additional classes to the Toolbar.
2106
+ */
2107
+ className?: string;
2108
+ /**
2109
+ * Represents the `dir` HTML attribute.
2110
+ */
2111
+ dir?: string;
2112
+ /**
2113
+ * The styles that are applied to the Toolbar.
2114
+ */
2115
+ style?: React_2.CSSProperties;
2116
+ /**
2117
+ * Represents the label of the Toolbar component.
2118
+ */
2119
+ ariaLabel?: string;
2120
+ /**
2121
+ * Specifies the `tabIndex` of the Toolbar.
2122
+ */
2123
+ tabIndex?: number;
2124
+ /**
2125
+ * The `resize` event of the Toolbar.
2126
+ */
2127
+ onResize?: (event: ToolbarResizeEvent) => void;
2128
+ /**
2129
+ * If set to `false`, it will turn off the built-in keyboard navigation.
2130
+ */
2131
+ keyboardNavigation?: boolean;
2132
+ /**
2133
+ * @hidden
2134
+ *
2135
+ * The CSS selectors of the toolbar HTML elements used by built-in keyboard navigation.
2136
+ * Each selector needs to point to a focusable element.
2137
+ * Defaults to [
2138
+ * 'button',
2139
+ * '.k-button-group > button',
2140
+ * '.k-dropdown > .k-dropdown-wrap',
2141
+ * '.k-colorpicker > .k-picker-wrap'
2142
+ * ].
2143
+ */
2144
+ buttons?: string[];
2145
+ /**
2146
+ * Configures the `size` of the Toolbar.
2147
+ *
2148
+ * The available options are:
2149
+ * - small
2150
+ * - medium
2151
+ * - large
2152
+ * - null&mdash;Does not set a size `className`.
2153
+ *
2154
+ * @default `medium`
2155
+ */
2156
+ size?: null | 'small' | 'medium' | 'large';
2157
+ /**
2158
+ * @hidden
2159
+ */
2160
+ role?: string;
2161
+ }
2162
+
2163
+ /**
2164
+ * Represents the `resize` event of the Toolbar.
2165
+ */
2166
+ export declare interface ToolbarResizeEvent {
2167
+ /**
2168
+ * An event target.
2169
+ */
2170
+ target: Toolbar;
2171
+ /**
2172
+ * The `offsetWidth` event of the Toolbar.
2173
+ */
2174
+ offsetWidth: number;
2175
+ /**
2176
+ * The `offsetHeight` event of the Toolbar.
2177
+ */
2178
+ offsetHeight: number;
2179
+ /**
2180
+ * A native DOM event.
2181
+ */
2182
+ nativeEvent: any;
2183
+ }
2184
+
2185
+ export declare class ToolbarSeparator extends React_2.PureComponent<ToolbarSeparatorProps> {
2186
+ /**
2187
+ * @hidden
2188
+ */
2189
+ render(): JSX_2.Element;
2190
+ }
2191
+
2192
+ /**
2193
+ * Represents the KendoReact Toolbar Separator component.
2194
+ */
2195
+ declare interface ToolbarSeparatorProps {
2196
+ /**
2197
+ * Sets additional classes to the ToolbarSeparator component.
2198
+ */
2199
+ className?: string;
2200
+ }
2201
+
2202
+ /**
2203
+ * Represents the KendoReact ToolbarSpacer component.
2204
+ * To specify an empty space, provide a ToolbarSpacer component
2205
+ * ([see example]({% slug content_toolbar %})).
2206
+ */
2207
+ export declare const ToolbarSpacer: React_2.ForwardRefExoticComponent<ToolbarSpacerProps & React_2.RefAttributes<ToolbarSpacerHandle>>;
2208
+
2209
+ /** @hidden */
2210
+ declare interface ToolbarSpacerHandle {
2211
+ /**
2212
+ * Returns the HTML element of the ToolbarSpacer component.
2213
+ */
2214
+ element: HTMLDivElement | null;
2215
+ }
2216
+
2217
+ /**
2218
+ * Represents the props of KendoReact ToolbarSpacer component.
2219
+ */
2220
+ export declare interface ToolbarSpacerProps {
2221
+ /**
2222
+ * Sets additional classes to the ToolbarSpacer component.
2223
+ */
2224
+ className?: string;
2225
+ }
2226
+
2227
+ export { }