@progress/kendo-react-buttons 13.3.0 → 13.4.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Button.d.ts +114 -0
- package/Button.js +1 -1
- package/Button.mjs +42 -44
- package/ButtonGroup.d.ts +47 -0
- package/ButtonGroupInterface.d.ts +39 -0
- package/ButtonInterface.d.ts +49 -0
- package/Chip/Chip.d.ts +425 -0
- package/Chip/Chip.js +1 -1
- package/Chip/Chip.mjs +43 -39
- package/Chip/ChipList.d.ts +221 -0
- package/Chip/ChipList.js +1 -1
- package/Chip/ChipList.mjs +40 -41
- package/Chip/chip-list-contexts.d.ts +20 -0
- package/Chip/data-reducer.d.ts +29 -0
- package/Chip/focus-reducer.d.ts +31 -0
- package/Chip/selection-reducer.d.ts +37 -0
- package/FloatingActionButton/FloatingActionButton.d.ts +23 -0
- package/FloatingActionButton/FloatingActionButton.js +1 -1
- package/FloatingActionButton/FloatingActionButton.mjs +85 -85
- package/FloatingActionButton/FloatingActionButtonItem.d.ts +132 -0
- package/FloatingActionButton/interfaces/FloatingActionButtonHandle.d.ts +20 -0
- package/FloatingActionButton/interfaces/FloatingActionButtonPopupSettings.d.ts +31 -0
- package/FloatingActionButton/interfaces/FloatingActionButtonProps.d.ts +354 -0
- package/FloatingActionButton/models/align-offset.d.ts +27 -0
- package/FloatingActionButton/models/align.d.ts +34 -0
- package/FloatingActionButton/models/events.d.ts +28 -0
- package/FloatingActionButton/models/position-mode.d.ts +16 -0
- package/FloatingActionButton/models/rounded.d.ts +19 -0
- package/FloatingActionButton/models/size.d.ts +18 -0
- package/FloatingActionButton/models/theme-color.d.ts +25 -0
- package/FloatingActionButton/utils.d.ts +34 -0
- package/ListButton/ButtonItem.d.ts +72 -0
- package/ListButton/DropDownButton.d.ts +153 -0
- package/ListButton/DropDownButton.js +1 -1
- package/ListButton/DropDownButton.mjs +62 -46
- package/ListButton/DropDownButtonItem.d.ts +37 -0
- package/ListButton/SplitButton.d.ts +142 -0
- package/ListButton/SplitButton.js +1 -1
- package/ListButton/SplitButton.mjs +29 -13
- package/ListButton/SplitButtonItem.d.ts +32 -0
- package/ListButton/models/ButtonItem.d.ts +41 -0
- package/ListButton/models/ListButtonProps.d.ts +411 -0
- package/ListButton/models/PopupSettings.d.ts +35 -0
- package/ListButton/models/events.d.ts +59 -0
- package/ListButton/utils/navigation.d.ts +12 -0
- package/ListButton/utils/popup.d.ts +16 -0
- package/SpeechToTextButton/SpeechToTextButton.d.ts +36 -0
- package/SpeechToTextButton/SpeechToTextButton.js +1 -1
- package/SpeechToTextButton/SpeechToTextButton.mjs +24 -24
- package/SpeechToTextButton/interfaces/SpeechToTextButtonHandle.d.ts +28 -0
- package/SpeechToTextButton/interfaces/SpeechToTextButtonProps.d.ts +117 -0
- package/dist/cdn/js/kendo-react-buttons.js +1 -1
- package/index.d.mts +43 -2928
- package/index.d.ts +43 -2928
- package/messages/index.d.ts +22 -0
- package/models/index.d.ts +95 -0
- package/package-metadata.d.ts +12 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +10 -16
- package/package.json +5 -5
- package/toolbar/Toolbar.d.ts +38 -0
- package/toolbar/Toolbar.js +1 -1
- package/toolbar/Toolbar.mjs +15 -15
- package/toolbar/events/ToolbarResizeEvent.d.ts +29 -0
- package/toolbar/interfaces/ToolbarHandle.d.ts +21 -0
- package/toolbar/interfaces/ToolbarOverflowProps.d.ts +50 -0
- package/toolbar/interfaces/ToolbarProps.d.ts +128 -0
- package/toolbar/messages/index.d.ts +27 -0
- package/toolbar/tools/ToolbarItem.d.ts +47 -0
- package/toolbar/tools/ToolbarOverflowSection.d.ts +21 -0
- package/toolbar/tools/ToolbarScrollButton.d.ts +23 -0
- package/toolbar/tools/ToolbarScrollButton.js +1 -1
- package/toolbar/tools/ToolbarScrollButton.mjs +11 -20
- package/toolbar/tools/ToolbarScrollable.d.ts +28 -0
- package/toolbar/tools/ToolbarSeparator.d.ts +22 -0
- package/toolbar/tools/ToolbarSpacer.d.ts +30 -0
- package/util.d.ts +31 -0
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),i=require("prop-types"),c=require("../Button.js"),s=require("@progress/kendo-react-common"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),i=require("prop-types"),c=require("../Button.js"),s=require("@progress/kendo-react-common"),y=require("./ButtonItem.js"),k=require("./SplitButtonItem.js"),C=require("./utils/navigation.js"),b=require("@progress/kendo-react-popup"),m=require("./utils/popup.js"),f=require("../package-metadata.js"),D=require("@progress/kendo-svg-icons");function I(l){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const t in l)if(t!=="default"){const e=Object.getOwnPropertyDescriptor(l,t);Object.defineProperty(o,t,e.get?e:{enumerable:!0,get:()=>l[t]})}}return o.default=l,Object.freeze(o)}const p=I(g),d=class d extends p.Component{constructor(o){super(o),this.state={focused:!1,focusedIndex:-1,opened:!1},this.wrapper=null,this.mainButton=null,this.list=null,this.skipFocus=!1,this.buttonsData=[],this.showLicenseWatermark=!1,this.onKeyDown=t=>{const{focusedIndex:e}=this.state;if(t.altKey){!this.opened&&t.keyCode===s.Keys.down?(t.preventDefault(),this.setState({focusedIndex:0}),this.setOpen(!0,t)):this.opened&&t.keyCode===s.Keys.up&&(t.preventDefault(),this.setState({focusedIndex:-1}),this.setOpen(!1,t));return}let n;if(t.keyCode===s.Keys.enter||t.keyCode===s.Keys.space){if(t.preventDefault(),this.dispatchClickEvent(t,e),e>=0){n={focusedIndex:this.opened?-1:0};const r=!this.opened;this.setOpen(r,t)}}else if(this.opened&&t.keyCode===s.Keys.esc){this.setState({focusedIndex:-1}),this.setOpen(!1,t);return}if(this.opened){const r=C.navigate(e,t.keyCode,t.altKey,this.buttonsData.length);r!==e&&(n=n||{},n.focusedIndex=r);const h=t.keyCode===s.Keys.up||t.keyCode===s.Keys.down||t.keyCode===s.Keys.left||t.keyCode===s.Keys.right;!t.altKey&&(h||t.keyCode===s.Keys.home||t.keyCode===s.Keys.end)&&t.preventDefault()}n&&this.setState(n)},this.switchFocus=t=>{this.skipFocus=!0,t(),window.setTimeout(()=>this.skipFocus=!1,0)},this.onFocus=t=>{this.skipFocus||(s.dispatchEvent(this.props.onFocus,t,this,void 0),this.setState({focused:!0}))},this.setOpen=(t,e)=>{this.opened!==t&&(this.openedDuringOnChange=t,this.setState({opened:t}),e?this.dispatchPopupEvent(e,t):this.openedDuringOnChange=void 0)},this.onItemClick=(t,e)=>{this.opened&&this.setState({focusedIndex:0}),this.dispatchClickEvent(t,e),this.setOpen(!1,t)},this.onBlur=t=>{this.skipFocus||(this.setState({focused:!1,focusedIndex:-1}),s.dispatchEvent(this.props.onBlur,t,this,void 0),setTimeout(()=>{this.setOpen(!1,t)},0))},this.onPopupClose=t=>{var n;const e=s.getActiveElement(document);this.element&&this.element.removeAttribute("tabindex"),(e===this.list||(n=this.list)!=null&&n.contains(e))&&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 e=!this.opened;this.setState({focusedIndex:e?0:-1,focused:!0}),this.setOpen(e,t)}},this.onDownSplitPart=t=>{t.preventDefault();const e=s.getActiveElement(document);this.element&&e!==this.element&&e!==this.list&&this.element.focus()},this.onItemDown=t=>{s.getActiveElement(document)===this.list&&t.preventDefault()},this.dispatchPopupEvent=(t,e)=>{s.dispatchEvent(e?this.props.onOpen:this.props.onClose,t,this,void 0),this.openedDuringOnChange=void 0},this.showLicenseWatermark=!s.validatePackage(f.packageMetadata,{component:"SplitButton"}),this.licenseMessage=s.getLicenseMessage(f.packageMetadata)}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||p.Children.toArray(this.props.children).filter(a=>a&&a.type===k.SplitButtonItem).map(a=>a.props);const o=this.isRtl(),t=o?"rtl":void 0,{id:e,style:n,tabIndex:r,disabled:h}=this.props;return p.createElement(p.Fragment,null,p.createElement("div",{id:e,style:n,className:s.classNames("k-split-button","k-button-group",{"k-focus":this.state.focused},this.props.rounded&&`k-rounded-${s.kendoThemeMaps.roundedMap[this.props.rounded]}`,this.props.className),onKeyDown:this.onKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,dir:t,ref:a=>{this.wrapper=a}},p.createElement(c.Button,{ref:a=>{this.mainButton=a&&a.element},type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,onClick:a=>this.onItemClick(a,-1),disabled:h||void 0,tabIndex:r,accessKey:this.props.accessKey,className:this.props.buttonClass,icon:this.props.icon,svgIcon:this.props.svgIcon,iconClass:this.props.iconClass,startIcon:this.props.startIcon,endIcon:this.props.endIcon,imageUrl:this.props.imageUrl,dir:t,"aria-disabled":h,"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),p.createElement(c.Button,{type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,icon:"caret-alt-down",svgIcon:D.caretAltDownIcon,className:"k-split-button-arrow",disabled:h||void 0,tabIndex:-1,onClick:this.onSplitPartClick,onMouseDown:this.onDownSplitPart,onPointerDown:this.onDownSplitPart,dir:t,"aria-label":"menu toggling button"}),this.renderPopup(o)),this.showLicenseWatermark&&p.createElement(s.WatermarkOverlay,{message:this.licenseMessage}))}componentDidMount(){(this.props.dir===void 0&&this.isRtl()||this.opened)&&this.forceUpdate()}get element(){return this.mainButton}dispatchClickEvent(o,t){this.isItemDisabled(t)||(t===-1?s.dispatchEvent(this.props.onButtonClick,o,this,void 0):s.dispatchEvent(this.props.onItemClick,o,this,{item:this.buttonsData[t],itemIndex:t}))}renderPopup(o){const{popupSettings:t={}}=this.props,{focusedIndex:e}=this.state;return p.createElement(b.Popup,{anchor:this.wrapper,show:this.opened,animate:t.animate,popupClass:s.classNames("k-menu-popup",t.popupClass),anchorAlign:t.anchorAlign||m.getAnchorAlign(o),popupAlign:t.popupAlign||m.getPopupAlign(o),style:o?{direction:"rtl"}:void 0,onClose:this.onPopupClose},p.createElement("ul",{role:"menu",id:this.guid,"aria-labelledby":"button-"+this.guid,tabIndex:-1,ref:this.listRef,"aria-activedescendant":e>=0?`${this.guid}-${e}`:void 0,className:s.classNames("k-menu-group",{[`k-menu-group-${s.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size})},this.renderChildItems()))}renderChildItems(){const{item:o,itemRender:t,textField:e}=this.props;return this.buttonsData.length>0?this.buttonsData.map((n,r)=>p.createElement(y.ButtonItem,{className:s.classNames("k-menu-item",{"k-first":r===0},{"k-last":r===this.buttonsData.length-1}),dataItem:n,textField:e,focused:this.state.focusedIndex===r,onClick:this.onItemClick,onDown:this.onItemDown,render:t,item:o,key:r,index:r,id:`${this.guid}-${r}`})):null}isItemDisabled(o){return this.buttonsData[o]?this.buttonsData[o].disabled:this.props.disabled}isRtl(){return this.props.dir!==void 0?this.props.dir==="rtl":!!this.wrapper&&getComputedStyle(this.wrapper).direction==="rtl"}};d.propTypes={accessKey:i.string,ariaLabel:i.string,title:i.string,onButtonClick:i.func,onFocus:i.func,onBlur:i.func,onItemClick:i.func,onOpen:i.func,onClose:i.func,text:i.string,items:i.arrayOf(i.any),textField:i.string,tabIndex:i.number,disabled:i.bool,icon:i.string,svgIcon:s.svgIconPropType,imageUrl:i.string,popupSettings:i.object,itemRender:i.any,item:i.func,className:i.string,buttonClass:i.string,dir:i.string,size:i.oneOf(["small","medium","large"]),rounded:i.oneOf(["small","medium","large","full"]),fillMode:i.oneOf(["flat","link","outline","solid","clear"]),themeColor:i.oneOf(["base","primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"])},d.defaultProps={size:void 0,rounded:void 0,fillMode:void 0,themeColor:void 0};let u=d;exports.SplitButton=u;
|
|
@@ -11,9 +11,9 @@ import { Button as m } from "../Button.mjs";
|
|
|
11
11
|
import { Keys as a, dispatchEvent as l, getActiveElement as c, validatePackage as k, getLicenseMessage as b, svgIconPropType as y, classNames as d, kendoThemeMaps as f, WatermarkOverlay as D } from "@progress/kendo-react-common";
|
|
12
12
|
import { ButtonItem as I } from "./ButtonItem.mjs";
|
|
13
13
|
import { SplitButtonItem as w } from "./SplitButtonItem.mjs";
|
|
14
|
-
import { navigate as
|
|
15
|
-
import { Popup as
|
|
16
|
-
import {
|
|
14
|
+
import { navigate as v } from "./utils/navigation.mjs";
|
|
15
|
+
import { Popup as O } from "@progress/kendo-react-popup";
|
|
16
|
+
import { getPopupAlign as S, getAnchorAlign as E } from "./utils/popup.mjs";
|
|
17
17
|
import { packageMetadata as g } from "../package-metadata.mjs";
|
|
18
18
|
import { caretAltDownIcon as P } from "@progress/kendo-svg-icons";
|
|
19
19
|
const u = class u extends p.Component {
|
|
@@ -42,7 +42,7 @@ const u = class u extends p.Component {
|
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
if (this.opened) {
|
|
45
|
-
const n =
|
|
45
|
+
const n = v(e, t.keyCode, t.altKey, this.buttonsData.length);
|
|
46
46
|
n !== e && (o = o || {}, o.focusedIndex = n);
|
|
47
47
|
const h = t.keyCode === a.up || t.keyCode === a.down || t.keyCode === a.left || t.keyCode === a.right;
|
|
48
48
|
!t.altKey && (h || t.keyCode === a.home || t.keyCode === a.end) && t.preventDefault();
|
|
@@ -114,7 +114,7 @@ const u = class u extends p.Component {
|
|
|
114
114
|
{
|
|
115
115
|
"k-focus": this.state.focused
|
|
116
116
|
},
|
|
117
|
-
`k-rounded-${f.roundedMap[this.props.rounded
|
|
117
|
+
this.props.rounded && `k-rounded-${f.roundedMap[this.props.rounded]}`,
|
|
118
118
|
this.props.className
|
|
119
119
|
),
|
|
120
120
|
onKeyDown: this.onKeyDown,
|
|
@@ -202,14 +202,14 @@ const u = class u extends p.Component {
|
|
|
202
202
|
renderPopup(i) {
|
|
203
203
|
const { popupSettings: t = {} } = this.props, { focusedIndex: e } = this.state;
|
|
204
204
|
return /* @__PURE__ */ p.createElement(
|
|
205
|
-
|
|
205
|
+
O,
|
|
206
206
|
{
|
|
207
207
|
anchor: this.wrapper,
|
|
208
208
|
show: this.opened,
|
|
209
209
|
animate: t.animate,
|
|
210
210
|
popupClass: d("k-menu-popup", t.popupClass),
|
|
211
|
-
anchorAlign: t.anchorAlign ||
|
|
212
|
-
popupAlign: t.popupAlign ||
|
|
211
|
+
anchorAlign: t.anchorAlign || E(i),
|
|
212
|
+
popupAlign: t.popupAlign || S(i),
|
|
213
213
|
style: i ? { direction: "rtl" } : void 0,
|
|
214
214
|
onClose: this.onPopupClose
|
|
215
215
|
},
|
|
@@ -283,12 +283,28 @@ u.propTypes = {
|
|
|
283
283
|
item: s.func,
|
|
284
284
|
className: s.string,
|
|
285
285
|
buttonClass: s.string,
|
|
286
|
-
dir: s.string
|
|
286
|
+
dir: s.string,
|
|
287
|
+
size: s.oneOf(["small", "medium", "large"]),
|
|
288
|
+
rounded: s.oneOf(["small", "medium", "large", "full"]),
|
|
289
|
+
fillMode: s.oneOf(["flat", "link", "outline", "solid", "clear"]),
|
|
290
|
+
themeColor: s.oneOf([
|
|
291
|
+
"base",
|
|
292
|
+
"primary",
|
|
293
|
+
"secondary",
|
|
294
|
+
"tertiary",
|
|
295
|
+
"info",
|
|
296
|
+
"success",
|
|
297
|
+
"warning",
|
|
298
|
+
"error",
|
|
299
|
+
"dark",
|
|
300
|
+
"light",
|
|
301
|
+
"inverse"
|
|
302
|
+
])
|
|
287
303
|
}, u.defaultProps = {
|
|
288
|
-
size:
|
|
289
|
-
rounded:
|
|
290
|
-
fillMode:
|
|
291
|
-
themeColor:
|
|
304
|
+
size: void 0,
|
|
305
|
+
rounded: void 0,
|
|
306
|
+
fillMode: void 0,
|
|
307
|
+
themeColor: void 0
|
|
292
308
|
};
|
|
293
309
|
let C = u;
|
|
294
310
|
export {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { default as PropTypes } from 'prop-types';
|
|
9
|
+
import { ButtonItem } from './models/ButtonItem.js';
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
/**
|
|
12
|
+
* The properties of the KendoReact SplitButtonItem component.
|
|
13
|
+
*/
|
|
14
|
+
export interface SplitButtonItemProps extends ButtonItem {
|
|
15
|
+
}
|
|
16
|
+
export declare class SplitButtonItem extends React.Component<SplitButtonItemProps, {}> {
|
|
17
|
+
/**
|
|
18
|
+
* @hidden
|
|
19
|
+
*/
|
|
20
|
+
static propTypes: {
|
|
21
|
+
text: PropTypes.Requireable<string>;
|
|
22
|
+
icon: PropTypes.Requireable<string>;
|
|
23
|
+
iconClass: PropTypes.Requireable<string>;
|
|
24
|
+
imageUrl: PropTypes.Requireable<string>;
|
|
25
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
26
|
+
render: PropTypes.Requireable<any>;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
render(): null;
|
|
32
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { SVGIcon } from '@progress/kendo-react-common';
|
|
9
|
+
/**
|
|
10
|
+
* 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.
|
|
11
|
+
*/
|
|
12
|
+
export interface ButtonItem {
|
|
13
|
+
/**
|
|
14
|
+
* Specifies the text of the item.
|
|
15
|
+
*/
|
|
16
|
+
text: string;
|
|
17
|
+
/**
|
|
18
|
+
* Defines an icon that will be rendered next to the item text.
|
|
19
|
+
*/
|
|
20
|
+
icon?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Defines an SVG icon that will be rendered next to the item text.
|
|
23
|
+
*/
|
|
24
|
+
svgIcon?: SVGIcon;
|
|
25
|
+
/**
|
|
26
|
+
* Defines an icon with a custom CSS class that will be rendered next to the item text.
|
|
27
|
+
*/
|
|
28
|
+
iconClass?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Defines the location of an image that will be displayed next to the item text.
|
|
31
|
+
*/
|
|
32
|
+
imageUrl?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Determines whether the item is disabled.
|
|
35
|
+
*/
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* A React functional or class component for rendering the item. The default rendering includes an icon, an image, and text.
|
|
39
|
+
*/
|
|
40
|
+
render?: any;
|
|
41
|
+
}
|
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { ButtonsPopupSettings } from './PopupSettings.js';
|
|
9
|
+
import { SplitButtonClickEvent, SplitButtonItemClickEvent, SplitButtonFocusEvent, SplitButtonBlurEvent, SplitButtonOpenEvent, SplitButtonCloseEvent, DropDownButtonClickEvent, DropDownButtonItemClickEvent, DropDownButtonFocusEvent, DropDownButtonBlurEvent, DropDownButtonOpenEvent, DropDownButtonCloseEvent } from './events.js';
|
|
10
|
+
import { ButtonItemProps } from '../ButtonItem.js';
|
|
11
|
+
import { ButtonsClassStructure, KendoReactComponentBaseProps, SVGIcon } from '@progress/kendo-react-common';
|
|
12
|
+
export interface DropDownButtonProps extends KendoReactComponentBaseProps {
|
|
13
|
+
/**
|
|
14
|
+
* Specifies the `accessKey` of the main button.
|
|
15
|
+
*/
|
|
16
|
+
accessKey?: string;
|
|
17
|
+
/**
|
|
18
|
+
* The accessible label of the component.
|
|
19
|
+
*/
|
|
20
|
+
ariaLabel?: string;
|
|
21
|
+
/**
|
|
22
|
+
* The title of the component.
|
|
23
|
+
*/
|
|
24
|
+
title?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Specifies the text of the main button ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton)).
|
|
27
|
+
*/
|
|
28
|
+
text?: React.ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Specifies the list items ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/data-binding#toc-arrays-of-objects)).
|
|
31
|
+
*/
|
|
32
|
+
items?: any[];
|
|
33
|
+
/**
|
|
34
|
+
* 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](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/data-binding#toc-arrays-of-objects)).
|
|
35
|
+
*/
|
|
36
|
+
textField?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Specifies the `tabIndex` of the main button.
|
|
39
|
+
*/
|
|
40
|
+
tabIndex?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Determines whether the component is disabled ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/disabled)).
|
|
43
|
+
*/
|
|
44
|
+
disabled?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Opens the popup of the DropDownButton if set to `true`.
|
|
47
|
+
*/
|
|
48
|
+
opened?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Defines an icon that will be rendered next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/icons)).
|
|
51
|
+
*/
|
|
52
|
+
icon?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Defines a SVG icon that will be rendered next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/icons)).
|
|
55
|
+
*/
|
|
56
|
+
svgIcon?: SVGIcon;
|
|
57
|
+
/**
|
|
58
|
+
* Defines an icon with a custom CSS class that will be rendered next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/icons)).
|
|
59
|
+
*/
|
|
60
|
+
iconClass?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Defines the location of an image that will be displayed next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/icons)).
|
|
63
|
+
*/
|
|
64
|
+
imageUrl?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Configures the popup
|
|
67
|
+
* ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/customization#toc-popup-behavior)).
|
|
68
|
+
*/
|
|
69
|
+
popupSettings?: ButtonsPopupSettings;
|
|
70
|
+
/**
|
|
71
|
+
* @hidden
|
|
72
|
+
*/
|
|
73
|
+
unstyled?: ButtonsClassStructure;
|
|
74
|
+
/**
|
|
75
|
+
* @hidden
|
|
76
|
+
* This prop is provided by the withZIndexContext HOC to subscribe to ZIndexContext.
|
|
77
|
+
*/
|
|
78
|
+
_zIndex?: number;
|
|
79
|
+
/**
|
|
80
|
+
* A React functional or class component which is used for rendering items ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/customization#toc-items-rendering)). The default rendering includes an icon, an image, and text.
|
|
81
|
+
*/
|
|
82
|
+
item?: null | React.ComponentType<{
|
|
83
|
+
item: any;
|
|
84
|
+
itemIndex: number;
|
|
85
|
+
}>;
|
|
86
|
+
/**
|
|
87
|
+
* Fires when a dropdown list button item is about to be rendered. Use it to override the default appearance of the list items.
|
|
88
|
+
* if `item` prop is not declared, `itemRender` behaves like `item`, for backward compatibility with versions before 4.2.0
|
|
89
|
+
*/
|
|
90
|
+
itemRender?: ((li: React.ReactElement<HTMLLIElement>, props: ButtonItemProps) => React.ReactNode) | React.ComponentType<{
|
|
91
|
+
item: any;
|
|
92
|
+
itemIndex: number;
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Sets the `className` of the DropDownButton component.
|
|
96
|
+
*/
|
|
97
|
+
className?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Sets the `className` of the main button.
|
|
100
|
+
*/
|
|
101
|
+
buttonClass?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Sets the direction of the component.
|
|
104
|
+
*/
|
|
105
|
+
dir?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Fires when the component is focused ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/events)).
|
|
108
|
+
*/
|
|
109
|
+
onFocus?: (event: DropDownButtonFocusEvent) => void;
|
|
110
|
+
/**
|
|
111
|
+
* Fires when the component is blurred ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/events)).
|
|
112
|
+
*/
|
|
113
|
+
onBlur?: (event: DropDownButtonBlurEvent) => void;
|
|
114
|
+
/**
|
|
115
|
+
* Fires when an item is clicked ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/events)).
|
|
116
|
+
*/
|
|
117
|
+
onItemClick?: (event: DropDownButtonItemClickEvent) => void;
|
|
118
|
+
/**
|
|
119
|
+
* Fires when the popup which contains the items is opened ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/events)).
|
|
120
|
+
*/
|
|
121
|
+
onOpen?: (event: DropDownButtonOpenEvent) => void;
|
|
122
|
+
/**
|
|
123
|
+
* Fires when the popup which contains the items is closed ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/dropdownbutton/events)).
|
|
124
|
+
*/
|
|
125
|
+
onClose?: (event: DropDownButtonCloseEvent) => void;
|
|
126
|
+
/**
|
|
127
|
+
* @hidden
|
|
128
|
+
* Fires when the main button is clicked
|
|
129
|
+
*/
|
|
130
|
+
onClick?(event: DropDownButtonClickEvent): void;
|
|
131
|
+
/**
|
|
132
|
+
* Configures the `size` of the DropDownButton.
|
|
133
|
+
*
|
|
134
|
+
* The available options are:
|
|
135
|
+
* - `small`
|
|
136
|
+
* - `medium`
|
|
137
|
+
* - `large`
|
|
138
|
+
*
|
|
139
|
+
* @default undefined (theme-controlled)
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```tsx
|
|
143
|
+
* <DropDownButton size="large" text="Actions" />
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
size?: 'small' | 'medium' | 'large';
|
|
147
|
+
/**
|
|
148
|
+
* Configures the `roundness` of the DropDownButton.
|
|
149
|
+
*
|
|
150
|
+
* The available options are:
|
|
151
|
+
* - `small`
|
|
152
|
+
* - `medium`
|
|
153
|
+
* - `large`
|
|
154
|
+
* - `full`
|
|
155
|
+
*
|
|
156
|
+
* @default undefined (theme-controlled)
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```tsx
|
|
160
|
+
* <DropDownButton rounded="full" text="Actions" />
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
rounded?: 'small' | 'medium' | 'large' | 'full';
|
|
164
|
+
/**
|
|
165
|
+
* Configures the `fillMode` of the DropDownButton.
|
|
166
|
+
*
|
|
167
|
+
* The available options are:
|
|
168
|
+
* - `solid`
|
|
169
|
+
* - `outline`
|
|
170
|
+
* - `flat`
|
|
171
|
+
* - `link`
|
|
172
|
+
* - `clear`
|
|
173
|
+
*
|
|
174
|
+
* @default undefined (theme-controlled)
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```tsx
|
|
178
|
+
* <DropDownButton fillMode="outline" text="Actions" />
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
fillMode?: 'solid' | 'outline' | 'flat' | 'link' | 'clear';
|
|
182
|
+
/**
|
|
183
|
+
* Configures the `themeColor` of the DropDownButton.
|
|
184
|
+
*
|
|
185
|
+
* The available options are:
|
|
186
|
+
* - `base`
|
|
187
|
+
* - `primary`
|
|
188
|
+
* - `secondary`
|
|
189
|
+
* - `tertiary`
|
|
190
|
+
* - `info`
|
|
191
|
+
* - `success`
|
|
192
|
+
* - `warning`
|
|
193
|
+
* - `error`
|
|
194
|
+
* - `dark`
|
|
195
|
+
* - `light`
|
|
196
|
+
* - `inverse`
|
|
197
|
+
*
|
|
198
|
+
* @default undefined (theme-controlled)
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```tsx
|
|
202
|
+
* <DropDownButton themeColor="primary" text="Actions" />
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
themeColor?: 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';
|
|
206
|
+
/**
|
|
207
|
+
* Sets an SVG icon or custom element before the content of the DropDownButton. For the custom component, we recommend using [Phrasing content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#phrasing_content)
|
|
208
|
+
* but there must be no [Interactive content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#interactive_content).
|
|
209
|
+
*/
|
|
210
|
+
startIcon?: React.ReactNode;
|
|
211
|
+
/**
|
|
212
|
+
* Sets an SVG icon or custom element after the content of the DropDownButton. For the custom component, we recommend using [Phrasing content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#phrasing_content)
|
|
213
|
+
* but there must be no [Interactive content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#interactive_content).
|
|
214
|
+
*/
|
|
215
|
+
endIcon?: React.ReactNode;
|
|
216
|
+
}
|
|
217
|
+
export interface SplitButtonProps extends KendoReactComponentBaseProps {
|
|
218
|
+
/**
|
|
219
|
+
* Specifies the `accessKey` of the main button.
|
|
220
|
+
*/
|
|
221
|
+
accessKey?: string;
|
|
222
|
+
/**
|
|
223
|
+
* The accessible label of the component.
|
|
224
|
+
*/
|
|
225
|
+
ariaLabel?: string;
|
|
226
|
+
/**
|
|
227
|
+
* The title of the component.
|
|
228
|
+
*/
|
|
229
|
+
title?: string;
|
|
230
|
+
/**
|
|
231
|
+
* Specifies the text of the main button ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton)).
|
|
232
|
+
*/
|
|
233
|
+
text?: string;
|
|
234
|
+
/**
|
|
235
|
+
* Specifies the list items ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/data-binding#toc-arrays-of-objects)).
|
|
236
|
+
*/
|
|
237
|
+
items?: any[];
|
|
238
|
+
/**
|
|
239
|
+
* 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](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/data-binding#toc-arrays-of-objects)).
|
|
240
|
+
*/
|
|
241
|
+
textField?: string;
|
|
242
|
+
/**
|
|
243
|
+
* Specifies the `tabIndex` of the main button.
|
|
244
|
+
*/
|
|
245
|
+
tabIndex?: number;
|
|
246
|
+
/**
|
|
247
|
+
* Determines whether the component is disabled ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/disabled)).
|
|
248
|
+
*/
|
|
249
|
+
disabled?: boolean;
|
|
250
|
+
/**
|
|
251
|
+
* Defines an icon that will be rendered next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/icons)).
|
|
252
|
+
*/
|
|
253
|
+
icon?: string;
|
|
254
|
+
/**
|
|
255
|
+
* Defines a SVG icon that will be rendered next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/icons)).
|
|
256
|
+
*/
|
|
257
|
+
svgIcon?: SVGIcon;
|
|
258
|
+
/**
|
|
259
|
+
* Defines an icon with a custom CSS class that will be rendered next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/icons)).
|
|
260
|
+
*/
|
|
261
|
+
iconClass?: string;
|
|
262
|
+
/**
|
|
263
|
+
* Sets an SVG icon or custom element before the content of the SplitButton. For the custom component, we recommend
|
|
264
|
+
* using [Phrasing content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#phrasing_content)
|
|
265
|
+
* but there must be no [Interactive content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#interactive_content).
|
|
266
|
+
*/
|
|
267
|
+
startIcon?: React.ReactNode;
|
|
268
|
+
/**
|
|
269
|
+
* Sets an SVG icon or custom element after the content of the SplitButton. For the custom component, we recommend
|
|
270
|
+
* using [Phrasing content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#phrasing_content)
|
|
271
|
+
* but there must be no [Interactive content](https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#interactive_content).
|
|
272
|
+
*/
|
|
273
|
+
endIcon?: React.ReactNode;
|
|
274
|
+
/**
|
|
275
|
+
* Defines the location of an image that will be displayed next to the main button text ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/icons)).
|
|
276
|
+
*/
|
|
277
|
+
imageUrl?: string;
|
|
278
|
+
/**
|
|
279
|
+
* Configures the popup ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/customization#toc-popup-behavior)).
|
|
280
|
+
*/
|
|
281
|
+
popupSettings?: ButtonsPopupSettings;
|
|
282
|
+
/**
|
|
283
|
+
* Opens the popup of the SplitButton if set to `true`.
|
|
284
|
+
*/
|
|
285
|
+
opened?: boolean;
|
|
286
|
+
/**
|
|
287
|
+
* A React functional or class component which is used for rendering items ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/customization#toc-items-rendering)). The default rendering includes an icon, an image, and text.
|
|
288
|
+
*/
|
|
289
|
+
item?: null | React.ComponentType<{
|
|
290
|
+
item: any;
|
|
291
|
+
itemIndex: number;
|
|
292
|
+
}>;
|
|
293
|
+
/**
|
|
294
|
+
* Fires when a dropdown list button item is about to be rendered. Use it to override the default appearance of the list items.
|
|
295
|
+
* if `item` prop is not declared, `itemRender` behaves like `item`, for backward compatibility with versions before 4.2.0
|
|
296
|
+
*/
|
|
297
|
+
itemRender?: ((li: React.ReactElement<HTMLLIElement>, props: ButtonItemProps) => React.ReactNode) | React.ComponentType<{
|
|
298
|
+
item: any;
|
|
299
|
+
itemIndex: number;
|
|
300
|
+
}>;
|
|
301
|
+
/**
|
|
302
|
+
* Sets the `className` of the SplitButton component.
|
|
303
|
+
*/
|
|
304
|
+
className?: string;
|
|
305
|
+
/**
|
|
306
|
+
* Sets the `className` of the main button.
|
|
307
|
+
*/
|
|
308
|
+
buttonClass?: string;
|
|
309
|
+
/**
|
|
310
|
+
* Sets the direction of the component.
|
|
311
|
+
*/
|
|
312
|
+
dir?: string;
|
|
313
|
+
/**
|
|
314
|
+
* Fires when the main button is clicked ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/events)).
|
|
315
|
+
*/
|
|
316
|
+
onButtonClick?: (event: SplitButtonClickEvent) => void;
|
|
317
|
+
/**
|
|
318
|
+
* Fires when the component is focused ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/events)).
|
|
319
|
+
*/
|
|
320
|
+
onFocus?: (event: SplitButtonFocusEvent) => void;
|
|
321
|
+
/**
|
|
322
|
+
* Fires when the component is blurred ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/events)).
|
|
323
|
+
*/
|
|
324
|
+
onBlur?: (event: SplitButtonBlurEvent) => void;
|
|
325
|
+
/**
|
|
326
|
+
* Fires when an item is clicked ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/events)).
|
|
327
|
+
*/
|
|
328
|
+
onItemClick?: (event: SplitButtonItemClickEvent) => void;
|
|
329
|
+
/**
|
|
330
|
+
* Fires when the popup which contains the items is opened ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/events)).
|
|
331
|
+
*/
|
|
332
|
+
onOpen?: (event: SplitButtonOpenEvent) => void;
|
|
333
|
+
/**
|
|
334
|
+
* Fires when the popup which contains the items is closed ([see example](https://www.telerik.com/kendo-react-ui/components/buttons/splitbutton/events)).
|
|
335
|
+
*/
|
|
336
|
+
onClose?: (event: SplitButtonCloseEvent) => void;
|
|
337
|
+
/**
|
|
338
|
+
* Configures the `size` of the SplitButton.
|
|
339
|
+
*
|
|
340
|
+
* The available options are:
|
|
341
|
+
* - `small`
|
|
342
|
+
* - `medium`
|
|
343
|
+
* - `large`
|
|
344
|
+
*
|
|
345
|
+
* @default undefined (theme-controlled)
|
|
346
|
+
*
|
|
347
|
+
* @example
|
|
348
|
+
* ```tsx
|
|
349
|
+
* <SplitButton size="large" text="Actions" />
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
size?: 'small' | 'medium' | 'large';
|
|
353
|
+
/**
|
|
354
|
+
* Configures the `roundness` of the SplitButton.
|
|
355
|
+
*
|
|
356
|
+
* The available options are:
|
|
357
|
+
* - `small`
|
|
358
|
+
* - `medium`
|
|
359
|
+
* - `large`
|
|
360
|
+
* - `full`
|
|
361
|
+
*
|
|
362
|
+
* @default undefined (theme-controlled)
|
|
363
|
+
*
|
|
364
|
+
* @example
|
|
365
|
+
* ```tsx
|
|
366
|
+
* <SplitButton rounded="full" text="Actions" />
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
369
|
+
rounded?: 'small' | 'medium' | 'large' | 'full';
|
|
370
|
+
/**
|
|
371
|
+
* Configures the `fillMode` of the SplitButton.
|
|
372
|
+
*
|
|
373
|
+
* The available options are:
|
|
374
|
+
* - `solid`
|
|
375
|
+
* - `outline`
|
|
376
|
+
* - `flat`
|
|
377
|
+
* - `link`
|
|
378
|
+
*
|
|
379
|
+
* @default undefined (theme-controlled)
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* ```tsx
|
|
383
|
+
* <SplitButton fillMode="outline" text="Actions" />
|
|
384
|
+
* ```
|
|
385
|
+
*/
|
|
386
|
+
fillMode?: 'solid' | 'outline' | 'flat' | 'link';
|
|
387
|
+
/**
|
|
388
|
+
* Configures the `themeColor` of the SplitButton.
|
|
389
|
+
*
|
|
390
|
+
* The available options are:
|
|
391
|
+
* - `base`
|
|
392
|
+
* - `primary`
|
|
393
|
+
* - `secondary`
|
|
394
|
+
* - `tertiary`
|
|
395
|
+
* - `info`
|
|
396
|
+
* - `success`
|
|
397
|
+
* - `warning`
|
|
398
|
+
* - `error`
|
|
399
|
+
* - `dark`
|
|
400
|
+
* - `light`
|
|
401
|
+
* - `inverse`
|
|
402
|
+
*
|
|
403
|
+
* @default undefined (theme-controlled)
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```tsx
|
|
407
|
+
* <SplitButton themeColor="primary" text="Actions" />
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
themeColor?: 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';
|
|
411
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { PopupAnimation, Align, PopupCloseEvent } from '@progress/kendo-react-popup';
|
|
9
|
+
/**
|
|
10
|
+
* The settings of the popup container.
|
|
11
|
+
*/
|
|
12
|
+
export interface ButtonsPopupSettings {
|
|
13
|
+
/**
|
|
14
|
+
* Controls the popup animation. By default, the open and close animations are enabled.
|
|
15
|
+
*/
|
|
16
|
+
animate?: boolean | PopupAnimation;
|
|
17
|
+
/**
|
|
18
|
+
* Specifies a list of CSS classes that are used for styling the popup.
|
|
19
|
+
*/
|
|
20
|
+
popupClass?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Specifies the pivot point of the anchor
|
|
23
|
+
* ([see example](https://www.telerik.com/kendo-react-ui/components/popup/aligning-positioning)).
|
|
24
|
+
*/
|
|
25
|
+
anchorAlign?: Align;
|
|
26
|
+
/**
|
|
27
|
+
* Specifies the pivot point of the Popup
|
|
28
|
+
* ([see example](https://www.telerik.com/kendo-react-ui/components/popup/aligning-positioning)).
|
|
29
|
+
*/
|
|
30
|
+
popupAlign?: Align;
|
|
31
|
+
/**
|
|
32
|
+
* Fires after the Popup is closed.
|
|
33
|
+
*/
|
|
34
|
+
onClose?: (event: PopupCloseEvent) => void;
|
|
35
|
+
}
|