@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.js CHANGED
@@ -1,5 +1,8 @@
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
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const le=require("react"),s=require("prop-types"),o=require("@progress/kendo-react-common"),ye=require("@progress/kendo-react-popup"),Be=require("@progress/kendo-svg-icons");function et(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const i=et(le),B={name:"@progress/kendo-react-buttons",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"};function tt({imageUrl:e,name:n,iconClass:t,svgIcon:a,imageAlt:l}){return e?i.createElement("img",{role:"presentation",className:"k-button-icon",alt:l,src:e}):n||a?i.createElement(o.IconWrap,{className:"k-button-icon",name:n,icon:a}):t?i.createElement("span",{role:"presentation",className:o.classNames("k-button-icon",t)}):null}const X=class extends i.Component{constructor(e){super(e),this._element=null,this.handleClick=n=>{this.toggleIfApplicable(),this.props.onClick&&this.props.onClick.call(void 0,n)},o.validatePackage(B),this.state={selected:this.props.togglable===!0&&this.props.selected===!0}}get element(){return this._element}get selected(){return this._selectedTemp!==void 0?this._selectedTemp:this.state.selected}static getDerivedStateFromProps(e,n){return e.togglable&&e.selected!==void 0&&e.selected!==n.selected?{selected:e.selected}:null}render(){const{children:e,togglable:n,icon:t,iconClass:a,svgIcon:l,imageUrl:r,imageAlt:u,className:c,onClick:b,size:k=X.defaultProps.size,rounded:h=X.defaultProps.rounded,fillMode:I=X.defaultProps.fillMode,themeColor:w=X.defaultProps.themeColor,...x}=this.props,E=l!==void 0||t!==void 0||a!==void 0||r!==void 0,N=e!==void 0,C=tt({name:t,svgIcon:l,iconClass:a,imageUrl:r,imageAlt:u});return i.createElement("button",{ref:D=>this._element=D,"aria-pressed":n?this.state.selected:void 0,...x,onClick:this.handleClick,className:o.classNames("k-button",{[`k-button-${o.kendoThemeMaps.sizeMap[k]||k}`]:k,[`k-button-${I}`]:I,[`k-button-${I}-${w}`]:!!(I&&w),[`k-rounded-${o.kendoThemeMaps.roundedMap[h]||h}`]:h,"k-icon-button":!N&&E,"k-disabled":this.props.disabled,"k-selected":this.state.selected,"k-rtl":this.props.dir==="rtl"},this.props.className)},C,e&&i.createElement("span",{className:"k-button-text"},e))}toggleIfApplicable(){if(this.props.togglable&&this.props.selected===void 0){const e=!this.state.selected;this._selectedTemp=e,this.setState({selected:e},()=>this._selectedTemp=void 0)}}};let W=X;W.propTypes={children:s.node,selected:s.bool,togglable:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,imageUrl:s.string,imageAlt:s.string,size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),fillMode:s.oneOf([null,"flat","link","outline","solid"]),themeColor:s.oneOf([null,"base","primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"])};W.defaultProps={togglable:!1,size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};const st={button:"k-button",flat:"k-flat",outline:"k-outline",clear:"k-button-clear",primary:"k-primary","state-selected":"k-selected","button-icon":"k-button-icon","button-icontext":"k-button-icontext","state-disabled":"k-disabled","group-start":"k-group-start","group-end":"k-group-end","button-group":"k-button-group","button-group-stretched":"k-button-group-stretched",ltr:"k-ltr",rtl:"k-rtl"},Ke=":not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",Pe=["button"+Ke,".k-button-group > button"+Ke,".k-colorpicker",".k-dropdownlist"],nt={styles:st},oe=nt.styles;class Fe extends i.Component{constructor(n){super(n),this._element=null,o.validatePackage(B)}render(){const n=this.mapButtons(this.props.children),t=o.classNames([oe["button-group"]],{["k-disabled"]:this.props.disabled,[oe["button-group-stretched"]]:!!this.props.width},this.props.className),a={className:t,style:{width:`${this.props.width}`},dir:this.props.dir,role:"group","aria-disabled":this.props.disabled};return i.createElement("div",{ref:l=>{this._element=l},...a,className:t},n)}mapButtons(n){const t=i.Children.count(n),a=this.props.dir!==void 0?this.props.dir==="rtl":this._element&&getComputedStyle(this._element).direction==="rtl"||!1;return i.Children.map(n,(l,r)=>i.isValidElement(l)?this.renderButton(l,r,r===t-1,a):l)}renderButton(n,t,a,l){const r=o.classNames(n.props.className,{[oe["group-start"]]:l?a:t===0,[oe["group-end"]]:l?t===0:a}),u={...this.props.width?{width:this.props.width}:{},...n.props.style||{}},c=this.props.disabled||n.props.disabled,b={...n.props,...r?{className:r}:{},...Object.keys(u).length?{style:u}:{},...c!==void 0?{disabled:c}:{}};return i.Children.count(n.props.children)>0?i.cloneElement(n,b,n.props.children):i.cloneElement(n,b)}}Fe.propTypes={children:s.oneOfType([s.arrayOf(s.element),s.element]),className:s.string,disabled:s.bool,width:s.string,dir:s.string};const ke=e=>{const n=i.useCallback(r=>{e.onClick(r,e.index)},[e]),t=e.dataItem.render||e.item||(e.item===void 0?e.render:null),a=e.dataItem.text!==void 0?e.dataItem.text:e.textField?e.dataItem[e.textField]:e.dataItem,l=i.createElement("li",{id:e.id,className:o.classNames("k-item",e.className,{"k-focus":e.focused}),tabIndex:-1,onClick:n,onMouseDown:e.onDown,onPointerDown:e.onDown,role:"menuitem","aria-disabled":e.dataItem.disabled||void 0},i.createElement("span",{tabIndex:-1,className:o.classNames("k-link k-menu-link",{"k-selected":e.dataItem.selected,"k-disabled":e.dataItem.disabled}),key:"icon"},t?i.createElement(t,{item:e.dataItem,itemIndex:e.index}):i.createElement(i.Fragment,null,(e.dataItem.icon||e.dataItem.iconClass||e.dataItem.svgIcon)&&i.createElement(o.IconWrap,{className:e.dataItem.iconClass,name:e.dataItem.icon,icon:e.dataItem.svgIcon}),e.dataItem.imageUrl&&i.createElement("img",{role:"presentation",alt:"",src:e.dataItem.imageUrl,className:"k-icon"}),a&&i.createElement("span",{className:"k-menu-link-text"},a))));return e.item!==void 0&&e.render!==void 0?e.render.call(void 0,l,e):l};ke.displayName="KendoReactButtonItem";class ve extends i.Component{render(){return null}}ve.propTypes={text:s.string,icon:s.string,iconClass:s.string,imageUrl:s.string,disabled:s.bool,render:s.any};const ze=(e,n,t,a)=>{if(t)return e;const l=Math.min(a-1,Math.max(0,e));switch(n){case o.Keys.enter:case o.Keys.space:case o.Keys.esc:return-1;case o.Keys.up:case o.Keys.left:return l-1<0?a-1:l-1;case o.Keys.down:case o.Keys.right:return l+1>=a?0:l+1;case o.Keys.home:return 0;case o.Keys.end:return a-1;default:return e}};function Me(e){let n={horizontal:"left",vertical:"bottom"};return e&&(n.horizontal="right"),n}function Te(e){let n={horizontal:"left",vertical:"top"};return e&&(n.horizontal="right"),n}let re=class extends i.Component{constructor(n){super(n),this.state={focused:!1,focusedIndex:-1,opened:!1},this.wrapper=null,this.mainButton=null,this.list=null,this.skipFocus=!1,this.buttonsData=[],this.onKeyDown=t=>{const{focusedIndex:a}=this.state;if(t.altKey){!this.opened&&t.keyCode===o.Keys.down?(t.preventDefault(),this.setState({focusedIndex:0}),this.setOpen(!0,t)):this.opened&&t.keyCode===o.Keys.up&&(t.preventDefault(),this.setState({focusedIndex:-1}),this.setOpen(!1,t));return}let l;if(t.keyCode===o.Keys.enter||t.keyCode===o.Keys.space){if(t.preventDefault(),this.dispatchClickEvent(t,a),a>=0){l={focusedIndex:this.opened?-1:0};const r=!this.opened;this.setOpen(r,t)}}else if(this.opened&&t.keyCode===o.Keys.esc){this.setState({focusedIndex:-1}),this.setOpen(!1,t);return}if(this.opened){const r=ze(a,t.keyCode,t.altKey,this.buttonsData.length);r!==a&&(l=l||{},l.focusedIndex=r);const u=t.keyCode===o.Keys.up||t.keyCode===o.Keys.down||t.keyCode===o.Keys.left||t.keyCode===o.Keys.right;!t.altKey&&(u||t.keyCode===o.Keys.home||t.keyCode===o.Keys.end)&&t.preventDefault()}l&&this.setState(l)},this.switchFocus=t=>{this.skipFocus=!0,t(),window.setTimeout(()=>this.skipFocus=!1,0)},this.onFocus=t=>{this.skipFocus||(o.dispatchEvent(this.props.onFocus,t,this,void 0),this.setState({focused:!0}))},this.setOpen=(t,a)=>{this.opened!==t&&(this.openedDuringOnChange=t,this.setState({opened:t}),a?this.dispatchPopupEvent(a,t):this.openedDuringOnChange=void 0)},this.onItemClick=(t,a)=>{this.opened&&this.setState({focusedIndex:0}),this.dispatchClickEvent(t,a),this.setOpen(!1,t)},this.onBlur=t=>{this.skipFocus||(this.setState({focused:!1,focusedIndex:-1}),o.dispatchEvent(this.props.onBlur,t,this,void 0),setTimeout(()=>{this.setOpen(!1,t)},0))},this.onPopupClose=t=>{var l;const a=o.getActiveElement(document);this.element&&this.element.removeAttribute("tabindex"),(a===this.list||(l=this.list)!=null&&l.contains(a))&&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 a=!this.opened;this.setState({focusedIndex:a?0:-1,focused:!0}),this.setOpen(a,t)}},this.onDownSplitPart=t=>{t.preventDefault();const a=o.getActiveElement(document);this.element&&a!==this.element&&a!==this.list&&this.element.focus()},this.onItemDown=t=>{o.getActiveElement(document)===this.list&&t.preventDefault()},this.dispatchPopupEvent=(t,a)=>{o.dispatchEvent(a?this.props.onOpen:this.props.onClose,t,this,void 0),this.openedDuringOnChange=void 0},o.validatePackage(B)}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||i.Children.toArray(this.props.children).filter(c=>c&&c.type===ve).map(c=>c.props);const n=this.isRtl(),t=n?"rtl":void 0,{id:a,style:l,tabIndex:r,disabled:u}=this.props;return i.createElement("div",{id:a,style:l,className:o.classNames("k-split-button","k-button-group",{"k-focus":this.state.focused},`k-rounded-${o.kendoThemeMaps.roundedMap[this.props.rounded||"medium"]}`,this.props.className),onKeyDown:this.onKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,dir:t,ref:c=>this.wrapper=c},i.createElement(W,{ref:c=>this.mainButton=c&&c.element,type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,onClick:c=>this.onItemClick(c,-1),disabled:u||void 0,tabIndex:r,accessKey:this.props.accessKey,className:this.props.buttonClass,icon:this.props.icon,svgIcon:this.props.svgIcon,iconClass:this.props.iconClass,imageUrl:this.props.imageUrl,dir:t,"aria-disabled":u,"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),i.createElement(W,{type:"button",size:this.props.size,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,icon:"caret-alt-down",svgIcon:Be.caretAltDownIcon,className:"k-split-button-arrow",disabled:u||void 0,tabIndex:-1,onClick:this.onSplitPartClick,onMouseDown:this.onDownSplitPart,onPointerDown:this.onDownSplitPart,dir:t,"aria-label":"menu toggling button"}),this.renderPopup(n))}componentDidMount(){(this.props.dir===void 0&&this.isRtl()||this.opened)&&this.forceUpdate()}get element(){return this.mainButton}dispatchClickEvent(n,t){this.isItemDisabled(t)||(t===-1?o.dispatchEvent(this.props.onButtonClick,n,this,void 0):o.dispatchEvent(this.props.onItemClick,n,this,{item:this.buttonsData[t],itemIndex:t}))}renderPopup(n){const{popupSettings:t={}}=this.props,{focusedIndex:a}=this.state;return i.createElement(ye.Popup,{anchor:this.wrapper,show:this.opened,animate:t.animate,popupClass:o.classNames("k-menu-popup",t.popupClass),anchorAlign:t.anchorAlign||Me(n),popupAlign:t.popupAlign||Te(n),style:n?{direction:"rtl"}:void 0,onClose:this.onPopupClose},i.createElement("ul",{role:"menu",id:this.guid,"aria-labelledby":"button-"+this.guid,tabIndex:-1,ref:this.listRef,"aria-activedescendant":a>=0?`${this.guid}-${a}`:void 0,className:o.classNames("k-group k-menu-group k-reset",{[`k-menu-group-${o.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size})},this.renderChildItems()))}renderChildItems(){const{item:n,itemRender:t,textField:a}=this.props;return this.buttonsData.length>0?this.buttonsData.map((l,r)=>i.createElement(ke,{className:"k-menu-item",dataItem:l,textField:a,focused:this.state.focusedIndex===r,onClick:this.onItemClick,onDown:this.onItemDown,render:t,item:n,key:r,index:r,id:`${this.guid}-${r}`})):null}isItemDisabled(n){return this.buttonsData[n]?this.buttonsData[n].disabled:this.props.disabled}isRtl(){return this.props.dir!==void 0?this.props.dir==="rtl":!!this.wrapper&&getComputedStyle(this.wrapper).direction==="rtl"}};re.propTypes={accessKey:s.string,ariaLabel:s.string,title:s.string,onButtonClick:s.func,onFocus:s.func,onBlur:s.func,onItemClick:s.func,onOpen:s.func,onClose:s.func,text:s.string,items:s.arrayOf(s.any),textField:s.string,tabIndex:s.number,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,imageUrl:s.string,popupSettings:s.object,itemRender:s.any,item:s.func,className:s.string,buttonClass:s.string,dir:s.string};re.defaultProps={size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};class Ce extends i.Component{render(){return null}}Ce.propTypes={text:s.string,icon:s.string,iconClass:s.string,imageUrl:s.string,selected:s.bool,disabled:s.bool,render:s.any};let ce=class extends i.Component{constructor(n){super(n),this.state={opened:!1,focused:!1,focusedIndex:-1},this.mainButton=null,this.list=null,this.skipFocus=!1,this.buttonsData=[],this.onKeyDown=t=>{const{focusedIndex:a}=this.state;if(t.altKey){!this.opened&&t.keyCode===o.Keys.down?(t.preventDefault(),this.setOpen(!0,t),this.setState({focusedIndex:0})):this.opened&&t.keyCode===o.Keys.up&&(t.preventDefault(),this.setState({focusedIndex:-1}),this.setOpen(!1,t));return}const l={...this.state};if(t.keyCode===o.Keys.enter||t.keyCode===o.Keys.space){t.preventDefault(),a>=0&&this.dispatchClickEvent(t,a);const r=!this.opened;this.setState({focused:!0,focusedIndex:r?0:-1}),this.setOpen(r,t);return}if(this.opened&&t.keyCode===o.Keys.esc){this.setState({focusedIndex:-1}),this.setOpen(!1,t);return}if(this.opened){const r=ze(a,t.keyCode,t.altKey,this.buttonsData.length);l.focusedIndex=r;const u=t.keyCode===o.Keys.up||t.keyCode===o.Keys.down||t.keyCode===o.Keys.left||t.keyCode===o.Keys.right;!t.altKey&&(u||t.keyCode===o.Keys.home||t.keyCode===o.Keys.end)&&t.preventDefault()}this.setState(l)},this.switchFocus=t=>{this.skipFocus=!0,t(),window.setTimeout(()=>this.skipFocus=!1,0)},this.handleFocus=t=>{this.skipFocus||(this.setState({focused:!0,focusedIndex:this.opened?0:-1}),o.dispatchEvent(this.props.onFocus,t,this,void 0))},this.handleButtonBlur=t=>{this.opened||(this.setState({focused:!1}),o.dispatchEvent(this.props.onBlur,t,this,void 0))},this.handleMenuBlur=t=>{this.skipFocus||(this.setState({focused:!1,focusedIndex:-1}),o.dispatchEvent(this.props.onBlur,t,this,void 0),setTimeout(()=>{this.setOpen(!1,t)},0))},this.setOpen=(t,a)=>{this.opened!==t&&(this.openedDuringOnChange=t,this.setState({opened:t}),a?this.dispatchPopupEvent(a,t):this.openedDuringOnChange=void 0)},this.onItemClick=(t,a)=>{this.setState({focusedIndex:-1}),this.dispatchClickEvent(t,a),this.setOpen(!1,t)},this.onItemDown=t=>{o.getActiveElement(document)===this.list&&t.preventDefault()},this.mouseDown=t=>{t.preventDefault();const a=o.getActiveElement(document);this.element&&a!==this.element&&a!==this.list&&this.element.focus()},this.onPopupClose=t=>{var l;const a=o.getActiveElement(document);this.element&&this.element.removeAttribute("tabindex"),(a===this.list||(l=this.list)!=null&&l.contains(a))&&this.switchFocus(()=>{this.element&&this.element.focus({preventScroll:!0})}),this.props.popupSettings&&this.props.popupSettings.onClose&&this.props.popupSettings.onClose.call(void 0,t)},this.listRef=t=>{this.list=t,t&&this.state.focused&&this.switchFocus(()=>{t.focus({preventScroll:!0}),this.element&&(this.element.tabIndex=-1)})},this.onClickMainButton=t=>{if(!this.buttonsData.length)return;const a=!this.opened;this.setState({focused:!0,focusedIndex:a?0:-1}),this.setOpen(a,t)},this.dispatchPopupEvent=(t,a)=>{o.dispatchEvent(a?this.props.onOpen:this.props.onClose,t,this,void 0),this.openedDuringOnChange=void 0},o.validatePackage(B)}get guid(){return this.props.id+"-accessibility-id"}get opened(){return this.openedDuringOnChange!==void 0?this.openedDuringOnChange:this.props.opened===void 0?this.state.opened:this.props.opened}render(){const n=this.isRtl(),t=n?"rtl":void 0,{id:a,style:l,tabIndex:r,disabled:u}=this.props;return this.buttonsData=this.props.items||i.Children.toArray(this.props.children).filter(c=>c&&c.type===Ce).map(c=>c.props),i.createElement(i.Fragment,null,i.createElement(W,{id:a,size:this.props.size,style:l,rounded:this.props.rounded,fillMode:this.props.fillMode,themeColor:this.props.themeColor,onClick:this.onClickMainButton,onMouseDown:this.mouseDown,onKeyDown:this.onKeyDown,onFocus:this.handleFocus,onBlur:this.handleButtonBlur,"aria-disabled":u?"true":void 0,tabIndex:r,accessKey:this.props.accessKey,icon:this.props.icon,svgIcon:this.props.svgIcon,iconClass:this.props.iconClass,className:o.classNames(this.props.buttonClass,this.props.className,"k-menu-button","k-dropdown-button",{"k-focus":this.state.focused},{"k-disabled":u}),imageUrl:this.props.imageUrl,dir:t,ref:c=>this.mainButton=c&&c.element,type:"button","aria-haspopup":"menu","aria-expanded":this.opened?"true":"false","aria-label":this.props.ariaLabel,"aria-controls":this.opened?this.guid:void 0,title:this.props.title},this.props.text),this.renderPopup(n))}componentDidMount(){(this.props.dir===void 0&&this.isRtl()||this.opened)&&this.forceUpdate()}get element(){return this.mainButton}dispatchClickEvent(n,t){this.isItemDisabled(t)||o.dispatchEvent(this.props.onItemClick,n,this,{item:this.buttonsData[t],itemIndex:t})}renderPopup(n){const{popupSettings:t={},id:a}=this.props,{focusedIndex:l}=this.state;return i.createElement(ye.Popup,{anchor:this.mainButton,show:this.opened,animate:t.animate,popupClass:o.classNames("k-menu-popup",t.popupClass),anchorAlign:t.anchorAlign||Me(n),popupAlign:t.popupAlign||Te(n),style:n?{direction:"rtl"}:void 0,onClose:this.onPopupClose},i.createElement("ul",{role:"menu",id:this.guid,"aria-labelledby":a,tabIndex:-1,"aria-activedescendant":l>=0?`${this.guid}-${l}`:void 0,ref:this.listRef,onKeyDown:this.onKeyDown,onBlur:this.handleMenuBlur,className:o.classNames("k-group k-menu-group k-reset",{[`k-menu-group-${o.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size})},this.renderChildItems()))}renderChildItems(){const{item:n,itemRender:t,textField:a}=this.props;return this.buttonsData.length>0?this.buttonsData.map((l,r)=>i.createElement(ke,{className:"k-menu-item",dataItem:l,textField:a,focused:this.state.focusedIndex===r,onClick:this.onItemClick,onDown:this.onItemDown,render:t,item:n,index:r,key:r,id:`${this.guid}-${r}`})):null}isItemDisabled(n){return this.buttonsData[n]?this.buttonsData[n].disabled:this.props.disabled}isRtl(){return this.props.dir!==void 0?this.props.dir==="rtl":!!this.mainButton&&getComputedStyle(this.mainButton).direction==="rtl"}};ce.propTypes={accessKey:s.string,ariaLabel:s.string,title:s.string,onFocus:s.func,onBlur:s.func,onItemClick:s.func,onOpen:s.func,onClose:s.func,items:s.arrayOf(s.any),textField:s.string,tabIndex:s.number,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,imageUrl:s.string,popupSettings:s.object,itemRender:s.func,item:s.func,className:s.string,buttonClass:s.string,dir:s.string};ce.defaultProps={size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};const ge=class extends i.Component{constructor(e){super(e),this._element=null,this.offsetHeight=0,this.offsetWidth=0,this.buttons=[],this.focusedSelector=this.selectors.map(n=>n+":focus").join(","),this.setTabIndex=n=>{const{tabIndex:t=ge.defaultProps.tabIndex}=this.props;this.buttons.forEach((a,l)=>{a.tabIndex=l===n?t:-1})},this.onKeyDown=n=>{const t=n.target;if(!(n.keyCode===o.Keys.left||n.keyCode===o.Keys.right||n.keyCode===o.Keys.home||n.keyCode===o.Keys.end)||n.defaultPrevented||this.buttons.findIndex(r=>r===t)===-1)return;const l=this.focusedIndex;n.keyCode===o.Keys.left?this.focusButton(l,l===0?this.buttons.length-1:l-1):this.focusButton(l,l===this.buttons.length-1?0:l+1),n.keyCode===o.Keys.home&&this.focusButton(l,0),n.keyCode===o.Keys.end&&this.focusButton(l,this.buttons.length-1)},this.onWindowResize=n=>{const t=this.element;if(!t)return;const a=t.offsetWidth,l=t.offsetHeight;if(this.offsetWidth!==a||this.offsetHeight!==l){this.offsetWidth=a,this.offsetHeight=l;const r={offsetWidth:this.offsetWidth,offsetHeight:this.offsetHeight};this.props.onResize&&this.props.onResize.call(void 0,{target:this,...r,nativeEvent:n})}},o.validatePackage(B)}get selectors(){return this.props.buttons||Pe}get focusedIndex(){const e=this.element&&this.element.querySelector(this.focusedSelector);return Math.max(0,this.buttons.findIndex(n=>n===e))}get element(){return this._element}componentDidMount(){window.addEventListener("resize",this.onWindowResize);const e=this.element;e&&(this.offsetWidth=e.offsetWidth,this.offsetHeight=e.offsetHeight,this.props.keyboardNavigation!==!1&&(this.buttons=Array.from(e.querySelectorAll(this.selectors.join(","))),this.setTabIndex(0)))}componentDidUpdate(){const e=this.element;!e||this.props.keyboardNavigation===!1||(this.buttons=Array.from(e.querySelectorAll(this.selectors.join(","))),this.setTabIndex(this.focusedIndex))}componentWillUnmount(){window.removeEventListener("resize",this.onWindowResize),this.buttons.length=0}render(){return i.createElement("div",{id:this.props.id,"aria-label":this.props.ariaLabel,className:o.classNames("k-toolbar",{[`k-toolbar-${o.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size},this.props.className),style:this.props.style,role:this.props.role!==void 0?this.props.role||void 0:"toolbar",dir:this.props.dir,ref:e=>this._element=e,onKeyDown:this.props.keyboardNavigation!==!1?this.onKeyDown:void 0},this.props.children)}focusButton(e,n){const{tabIndex:t=ge.defaultProps.tabIndex}=this.props,a=this.buttons[n];if(a){a.tabIndex=t,a.focus();const l=this.buttons[e];l&&(l.tabIndex=-1)}}};let Ie=ge;Ie.propTypes={tabIndex:s.number,dir:s.string,keyboardNavigation:s.bool,style:s.object,className:s.string,role:s.string,onResize:s.func,buttons:s.arrayOf(s.string),size:s.oneOf([null,"small","medium","large"])};Ie.defaultProps={tabIndex:0,size:"medium"};class Re extends i.PureComponent{constructor(){super(...arguments),this._element=null}get element(){return this._element}render(){return i.createElement("div",{id:this.props.id,className:o.classNames("k-toolbar-item",this.props.className),style:this.props.style,ref:n=>this._element=n},this.props.children)}}Re.propTypes={className:s.string};class ot extends i.PureComponent{render(){return i.createElement("div",{className:o.classNames("k-separator",this.props.className)})}}const xe=i.forwardRef((e,n)=>{const t=i.useRef(null),a=i.useRef(null);i.useImperativeHandle(a,()=>({element:t.current})),i.useImperativeHandle(n,()=>({element:t.current}));const l=i.useMemo(()=>o.classNames("k-spacer",e.className),[e.className]);return i.createElement("span",{ref:t,className:l})});xe.displayName="KendoReactToolbarSpacer";xe.propTypes={className:s.string};const Oe=le.createContext([null,e=>{}]),Ae=le.createContext([null,e=>{}]),$e=le.createContext([null,e=>{}]);var V=(e=>(e.next="next",e.prev="prev",e.current="current",e.reset="reset",e))(V||{});const it=(e,n)=>{const t=n.items.findIndex(a=>a===e);switch(n.type){case"next":return t===n.items.length-1?e:n.items[t+1];case"prev":return t===0?e:n.items[t-1];case"current":return n.payload;case"reset":return null;default:return e}};var We=(e=>(e.remove="remove",e.add="add",e.reorder="reorder",e))(We||{});const at=(e,n)=>{switch(n.type){case"add":break;case"remove":return e.filter(t=>t[n.valueField]!==n.payload);case"reorder":break;default:return e}};var ae=(e=>(e.toggle="toggle",e.remove="remove",e))(ae||{});const lt=(e,n)=>{switch(n.selection){case"single":switch(n.type){case"toggle":{if(!Array.isArray(e)||e===null)return n.payload===e?null:n.payload;throw new Error("State cannot be an array in single selection")}case"remove":return n.payload===e?null:e;default:return e}case"multiple":switch(n.type){case"toggle":{if(Array.isArray(e))return e.some(t=>t===n.payload)?e.filter(t=>t!==n.payload):[...e,n.payload];if(e===null)return[n.payload];throw new Error("State cannot be non-array in multiple selection")}case"remove":return Array.isArray(e)?e.some(t=>t===n.payload)?e.filter(t=>t!==n.payload):[...e,n.payload]:e;default:return e}case"none":return null;default:return e}},z=i.forwardRef((e,n)=>{o.validatePackage(B);const t=i.useRef(null),a=i.useRef(null),l=o.useDir(a,e.dir);i.useImperativeHandle(t,()=>({element:a.current,props:e})),i.useImperativeHandle(n,()=>t.current);const[r,u]=i.useContext(Oe),[c,b]=i.useContext(Ae),[,k]=i.useContext($e),h=i.useMemo(()=>e.selected||(Array.isArray(r)?r.some(p=>p===e.value):r===e.value),[e.selected,e.value,r]),I=i.useMemo(()=>c===e.value,[e.value,c]);i.useEffect(()=>{I&&a.current&&a.current.focus()},[I]);const w=i.useCallback(p=>{u({type:ae.toggle,payload:e.value,event:p})},[u,e.value]),x=i.useCallback(p=>{e.removable&&(k({type:We.remove,payload:e.value,event:p}),b({type:V.reset,payload:e.value,event:p}),u({type:ae.remove,payload:e.value,event:p}),e.onRemove&&e.onRemove.call(void 0,{target:t.current,syntheticEvent:p}))},[e.onRemove,e.value,e.removable,k,b,u]),E=i.useCallback(p=>{switch(p.keyCode){case o.Keys.left:b({type:V.prev,payload:e.value,event:p});break;case o.Keys.right:b({type:V.next,payload:e.value,event:p});break;case o.Keys.enter:u({type:ae.toggle,payload:e.value,event:p});break;case o.Keys.delete:x(p);break}e.onKeyDown&&e.onKeyDown.call(void 0,{target:t.current,syntheticEvent:p})},[e.onKeyDown,e.value,b,u,x]),N=i.useCallback(p=>{b({payload:e.value,type:V.current,event:p}),e.onFocus&&e.onFocus.call(void 0,{target:t.current,syntheticEvent:p})},[e.onFocus,e.value,b]),C=i.useCallback(p=>{e.onBlur&&e.onBlur.call(void 0,{target:t.current,syntheticEvent:p})},[e.onBlur]),D=o.useMouse(e,t,{onClick:w});return i.createElement("div",{...D,role:e.role||"button",id:e.value,style:e.style,ref:a,dir:l,tabIndex:o.getTabIndex(e.tabIndex,e.disabled,void 0),className:o.classNames("k-chip",{"k-rtl":l==="rtl","k-disabled":e.disabled,"k-selected":h,"k-focus":I,[`k-chip-${o.kendoThemeMaps.sizeMap[e.size]||e.size}`]:e.size,[`k-rounded-${o.kendoThemeMaps.roundedMap[e.rounded]||e.rounded}`]:e.rounded,[`k-chip-${e.fillMode}`]:e.fillMode,[`k-chip-${e.fillMode}-${e.themeColor}`]:!!(e.fillMode&&e.themeColor)},e.className),"aria-pressed":e.role?void 0:h,"aria-disabled":e.disabled,"aria-describedby":e.ariaDescribedBy,"aria-keyshortcuts":e.removable?"Enter Delete":void 0,onFocus:N,onBlur:C,onKeyDown:E},h&&(e.selectedIcon||e.selectedSvgIcon)&&i.createElement(o.IconWrap,{className:"k-chip-icon",name:e.selectedIcon?o.toIconName(e.selectedIcon):void 0,icon:e.selectedSvgIcon,size:"small"}),(e.icon||e.svgIcon)&&i.createElement(o.IconWrap,{className:"k-chip-icon",name:e.icon?o.toIconName(e.icon):void 0,icon:e.svgIcon,size:"small"}),e.avatar&&i.createElement("div",{className:`k-chip-avatar k-avatar k-rounded-${e.avatar.rounded} k-avatar-md k-avatar-solid k-avatar-solid-primary`,style:e.avatar.style},i.createElement("span",{className:"k-avatar-image"},i.createElement("img",{src:e.avatar.image,alt:e.avatar.imageAlt}))),i.createElement("span",{className:"k-chip-content"},e.children!==void 0?e.children:e.text&&i.createElement("span",{"aria-label":e.ariaLabel||e.text,className:"k-chip-label"},e.text)),e.removable&&i.createElement("span",{className:"k-chip-actions"},i.createElement("span",{className:o.classNames("k-chip-action","k-chip-remove-action"),onClick:x},i.createElement(o.IconWrap,{name:e.removeIcon?o.toIconName(e.removeIcon):void 0,icon:e.removeSvgIcon||Be.xCircleIcon,size:"small"}))))}),rt={id:s.string,text:s.string,value:s.any,dir:s.oneOf(["ltr","rtl"]),removable:s.bool,removeIcon:s.string,removeIconSvg:o.svgIconPropType,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,selectedIcon:s.string,selectedIconSvg:o.svgIconPropType,onRemove:s.func,dataItem:s.any,selected:s.bool,ariaDescribedBy:s.string,size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),fillMode:s.oneOf([null,"outline","solid"]),themeColor:s.oneOf([null,"base","info","success","warning","error"])},ct={disabled:!1,removable:!1,removeIcon:"k-i-x-circle",dir:"ltr",size:"medium",rounded:"medium",fillMode:"solid",themeColor:"base"};z.displayName="KendoReactChip";z.propTypes=rt;z.defaultProps=ct;const dt=(e,n,t)=>{n.selection==="multiple"?Array.isArray(e)||(e=e?[e]:null):n.selection==="single"&&Array.isArray(e)&&(e=e?e.join(""):null);const[a,l]=i.useState(e);return[a,u=>{const c=lt(n.state||a,{...u,...n});t&&t(c,u.event),n.selection!=="none"&&l(c)}]},ut=e=>{const[n,t]=i.useState(null);return[n,l=>{const r=it(l.payload,{...l,...e});t(r)}]},ht=(e,n,t)=>{const[a,l]=i.useState(e);return[a,u=>{const c=at(n.state||a,{...u,...n});t&&t(c,u.event),l(c)}]},de=i.forwardRef((e,n)=>{o.validatePackage(B);const t=i.useRef(null),a=i.useRef(null),l=o.useDir(a,e.dir),{chip:r,id:u,style:c,tabIndex:b,disabled:k,size:h,className:I,ariaDescribedBy:w,ariaLabelledBy:x,ariaLabel:E,selection:N=$.selection,value:C=$.defaultValue,defaultData:D=$.defaultData,valueField:p=$.valueField,textField:M=$.textField,onChange:P,onDataChange:S}=e,T=i.useMemo(()=>r||z,[r,z]);i.useImperativeHandle(t,()=>({element:a.current,props:e})),i.useImperativeHandle(n,()=>t.current);const F=i.useCallback((m,g)=>{P&&t.current&&P.call(void 0,{value:m,target:t.current,syntheticEvent:g})},[P]),[L,_]=dt(C||e.defaultValue,{selection:N,state:C},F),J=i.useCallback((m,g)=>{S&&t.current&&S.call(void 0,{value:m,target:t.current,syntheticEvent:g})},[S]),[H,Q]=ht(e.data||D,{state:e.data,valueField:p},J),j=i.useCallback((m,g)=>(m.push(g[p]),m),[p]),R=i.useMemo(()=>e.data||H,[e.data,H]),Y=i.useMemo(()=>C||L,[C,L]),ee=i.useMemo(()=>R.reduce(j,[]),[R,j]),U=i.useCallback(m=>o.getter(p)(m),[p]),y=i.useCallback(m=>o.getter(M)(m),[M]),[he,pe]=ut({items:ee}),te=o.useMouse(e,t);return i.createElement(Oe.Provider,{value:[Y,_]},i.createElement(Ae.Provider,{value:[he,pe]},i.createElement($e.Provider,{value:[R,Q]},i.createElement("div",{ref:a,...te,role:k?void 0:"listbox",id:u,dir:l,style:c,tabIndex:o.getTabIndex(b,k,void 0),className:o.classNames("k-chip-list",{"k-rtl":l==="rtl","k-disabled":k,[`k-chip-list-${o.kendoThemeMaps.sizeMap[h]||h}`]:h},I),"aria-label":E,"aria-labelledby":x,"aria-describedby":w,"aria-orientation":"horizontal","aria-multiselectable":N==="multiple"},R.map((m,g)=>i.createElement(T,{role:"option",dataItem:m,size:h,key:[U(m),g].join("-"),text:y(m),value:U(m),ariaLabel:m.ariaLabel,svgIcon:m.svgIcon||void 0}))))))}),pt={id:s.string,className:s.string,tabIndex:s.number,data:s.any,defaultData:s.arrayOf(s.any),onDataChange:s.func,value:s.oneOfType([s.any,s.arrayOf(s.any)]),defaultValue:s.oneOfType([s.any,s.arrayOf(s.any)]),onChange:s.func,selection:s.oneOf(["single","none","multiple"]),textField:s.string,valueField:s.string,disabled:s.bool,dir:s.oneOf(["ltr","rtl"]),ariaLabelledBy:s.string,ariaDescribedBy:s.string,size:s.oneOf([null,"small","medium","large"])},$={chip:z,size:"medium",disabled:!1,defaultValue:null,defaultData:[],dir:"ltr",selection:"none",textField:"text",valueField:"value",removable:"removable"};de.displayName="KendoReactChipList";de.propTypes=pt;de.defaultProps=$;const ue=i.forwardRef((e,n)=>{const{className:t,disabled:a,text:l,icon:r,style:u,id:c,focused:b,tabIndex:k,index:h,dataItem:I,item:w,svgIcon:x,onDown:E,onClick:N,...C}=e,D=i.useRef(null),p=i.useCallback(()=>{D.current&&D.current.focus()},[]),M=i.useCallback(()=>({element:D.current,focus:p}),[p]);i.useImperativeHandle(n,M);const P=i.useCallback(F=>{N&&h!==void 0&&!a&&N(F,h)},[N,h]),S=i.useMemo(()=>o.classNames("k-fab-item",{"k-focus":b,"k-disabled":a},t),[t,a,b]),T=w;return i.createElement("li",{ref:D,id:c,className:S,style:u,role:"menuitem",tabIndex:o.getTabIndex(k,a),"aria-disabled":a,"aria-label":`${l||""} floatingactionbutton item`,onClick:P,onMouseDown:E,onPointerDown:E,...C},T?i.createElement(T,{itemIndex:h,item:I}):i.createElement(i.Fragment,null,l&&i.createElement("span",{className:"k-fab-item-text"},l),r||x?i.createElement(o.IconWrap,{className:"k-fab-item-icon",name:r,icon:x}):null))});ue.propTypes={className:s.string,style:s.object,children:s.any,disabled:s.bool,focused:s.bool,index:s.number,icon:s.string,svgIcon:o.svgIconPropType,text:s.string,tabIndex:s.number,customProp:s.any};ue.displayName="KendoFloatingActionButtonItem";const Se="16px",ie=e=>typeof e=="number"?e+"px":e,mt=(e,n)=>{const t={horizontal:n?"right":"left",vertical:"bottom"};return e.horizontal==="end"&&(t.horizontal=n?"left":"right"),t},ft=(e,n)=>{const t={horizontal:n?"right":"left",vertical:"top"};return e.horizontal==="end"&&(t.horizontal=n?"left":"right"),t},bt=(e,n)=>{const t=n==="end"?"end":"start";return{rtl:{end:"k-text-left",start:"k-text-right"},ltr:{start:"k-text-left",end:"k-text-right"}}[e][t]},gt=(e,n,t,a)=>{const l=n.horizontal,r=n.vertical;if(e.current){const u=t&&t.x!==void 0?ie(t.x):Se,c=t&&t.x!==void 0?`calc(50% + ${ie(t.x)})`:"50%",b=t&&t.y!==void 0?ie(t.y):Se,k=t&&t.y!==void 0?`calc(50% + ${ie(t.y)})`:"50%";e.current.style.setProperty(yt(n,a),l==="center"?c:u),e.current.style.setProperty(kt(n),r==="middle"?k:b),a&&((r==="top"||r==="bottom")&&l==="start"&&e.current.style.setProperty("left","unset"),r==="middle"&&l==="end"&&e.current.style.setProperty("right","unset"),r==="middle"&&l==="start"&&e.current.style.setProperty("left","unset"))}},yt=(e,n)=>{const{horizontal:t}=e;return{end:n?"left":"right",center:"left",start:n?"right":"left"}[t||"end"]},kt=e=>({top:"top",middle:"top",bottom:"bottom"})[e.vertical||"bottom"],vt=2,Ct=100,De=i.forwardRef((e,n)=>{o.validatePackage(B);const{align:t=G.align,alignOffset:a,className:l,disabled:r,icon:u,svgIcon:c,iconClass:b,id:k,items:h,item:I,text:w,positionMode:x=G.positionMode,size:E=G.size,style:N,rounded:C=G.rounded,themeColor:D=G.themeColor,overlayStyle:p,tabIndex:M,accessKey:P,popupSettings:S={},modal:T,onClick:F,onItemClick:L,onFocus:_,onBlur:J,onKeyDown:H,onOpen:Q,onClose:j,...R}=e,Y=o.useZIndexContext(),ee=Y?Y+vt:Ct,U=i.useRef(null),y=i.useRef(null),he=i.useRef(null),pe=i.useRef(null),te=i.useCallback(()=>{y.current&&y.current.focus()},[]),m=i.useCallback(()=>({element:y.current,focus:te}),[te]);i.useImperativeHandle(U,m),i.useImperativeHandle(n,()=>U.current);const[g,K]=i.useState(!1),[se,O]=i.useState(!1),[q,v]=i.useState(-1),He=o.useId()+"-button-id",me=o.useDir(y,e.dir),Z=me==="rtl",ne=o.useId()+"-list-id";i.useEffect(()=>{gt(y,t,a,Z)},[y,t,a,Z]),i.useEffect(()=>{se&&y&&y.current&&y.current.focus()},[se,y]);const A=i.useCallback((d,f)=>{h&&o.dispatchEvent(f?Q:j,d,m(),void 0)},[Q,j,h]),we=i.useCallback(d=>{!d.target||r||(!h&&F?o.dispatchEvent(F,d,m(),void 0):(K(!g),O(!0),v(g?-1:0),A(d,!g)))},[K,O,v,F,A,g,h,r]),je=i.useCallback(d=>{O(!0),v(g?0:-1),_&&o.dispatchEvent(_,d,m(),void 0)},[_,O,v]),Ue=i.useCallback(d=>{O(!1),K(!1),v(-1),o.dispatchEvent(J,d,m(),void 0),g&&A(d,!1)},[J,O,K,v,A]),qe=i.useCallback(d=>{d.preventDefault()},[]),fe=i.useCallback((d,f)=>{h&&(h[f].disabled||o.dispatchEvent(L,d,m(),{itemProps:h[f],itemIndex:f}))},[L]),Ze=i.useCallback((d,f)=>{!d.target||!h||(v(f),K(!1),fe(d,f),A(d,!1))},[v,K,fe,A]),Ge=i.useCallback(d=>{o.getActiveElement(document)===y.current&&d.preventDefault()},[y]),Xe=i.useCallback(d=>{const f=q,be=h?h.length:-1;if(d.altKey){!g&&d.keyCode===o.Keys.down&&(d.preventDefault(),K(!0),v(0)),g&&d.keyCode===o.Keys.up&&(d.preventDefault(),K(!1),v(-1));return}switch(d.keyCode){case o.Keys.enter:case o.Keys.space:f>=0&&fe(d,f),h||we(d),d.preventDefault(),K(!g),v(g?-1:0);break;case o.Keys.esc:d.preventDefault(),K(!1),v(-1);break;case o.Keys.home:d.preventDefault(),v(0);break;case o.Keys.end:d.preventDefault(),v(be-1);break;case o.Keys.down:case o.Keys.right:d.preventDefault(),v(f+1>=be?0:f+1);break;case o.Keys.up:case o.Keys.left:d.preventDefault(),v(f-1<0?be-1:f-1);break}o.dispatchEvent(H,d,m(),void 0)},[H,q,v,Z,K]),Ve=i.useMemo(()=>o.classNames("k-fab k-fab-solid",{"k-fab-sm":E==="small","k-fab-md":E==="medium","k-fab-lg":E==="large","k-disabled":r,"k-pos-absolute":x==="absolute","k-pos-fixed":x==="fixed","k-focus":se,[`k-rounded-${o.kendoThemeMaps.roundedMap[C]||C}`]:C,[`k-fab-solid-${D}`]:D},`k-${t.vertical}-${t.horizontal}`,l),[D,E,C,r,x,t,se,l]),Je=h&&h.map((d,f)=>i.createElement(ue,{...d,key:f,index:f,id:`${ne}-${f}`,disabled:r||d.disabled,focused:q===f,dataItem:d,item:I,className:o.classNames(d.className,bt(me||"ltr",t.horizontal)),onClick:Ze,onDown:Ge})),Ee=!!((u||c)&&!w),Qe=y.current?y.current.offsetWidth:0,Ye=32,Ne=Qe/2-Ye/2;return i.createElement(o.ZIndexContext.Provider,{value:ee},i.createElement(i.Fragment,null,i.createElement("button",{ref:y,id:k||He,role:"button",type:"button","aria-disabled":r,"aria-expanded":h?g:void 0,"aria-haspopup":!!h,"aria-label":`${w||""} floatingactionbutton`,"aria-owns":h?ne:void 0,"aria-activedescendant":q>=0&&h?`${ne}-${q}`:void 0,tabIndex:o.getTabIndex(M,r),accessKey:P,dir:me,disabled:r,className:Ve,style:N,onClick:we,onMouseDown:qe,onFocus:je,onBlur:Ue,onKeyDown:Xe,...R},u||c?i.createElement(o.IconWrap,{className:"k-fab-icon",name:u,icon:c}):b?i.createElement("span",{role:"presentation",className:b}):null,w&&i.createElement("span",{className:"k-fab-text"},w)),T&&g&&i.createElement("div",{className:"k-overlay",style:{zIndex:ee,...p}}),i.createElement(ye.Popup,{ref:pe,anchor:y.current,show:g,animate:S.animate,popupClass:o.classNames("k-popup-transparent k-fab-popup",S.popupClass),anchorAlign:S.anchorAlign||mt(t,Z),popupAlign:S.popupAlign||ft(t,Z),style:{boxShadow:"none"}},i.createElement("ul",{ref:he,role:"menu","aria-labelledby":k,id:ne,className:o.classNames("k-fab-items",{"k-fab-items-bottom":t.vertical!=="bottom","k-fab-items-top":t.vertical==="bottom"}),style:{paddingLeft:Ee?Ne:void 0,paddingRight:Ee?Ne:void 0}},Je))))});De.propTypes={className:s.string,style:s.object,id:s.string,dir:s.string,tabIndex:s.number,accessKey:s.string,disabled:s.bool,icon:s.string,svgIcon:o.svgIconPropType,iconClass:s.string,text:s.string,alignOffset:s.shape({x:s.oneOfType([s.number,s.string]),y:s.oneOfType([s.number,s.string])}),align:s.shape({vertical:s.oneOf(["top","middle","bottom"]),horizontal:s.oneOf(["start","center","end"])}),positionMode:s.oneOf(["absolute","fixed"]),size:s.oneOf([null,"small","medium","large"]),rounded:s.oneOf([null,"small","medium","large","full"]),themeColor:s.oneOf([null,"primary","secondary","tertiary","info","success","warning","error","dark","light","inverse"]),modal:s.bool,overlayStyle:s.object};const G={align:{vertical:"bottom",horizontal:"end"},size:"medium",rounded:"full",themeColor:"primary",positionMode:"fixed"};De.displayName="KendoFloatingActionButton";const Le=o.withIdHOC(ce);Le.displayName="KendoReactDropDownButton";const _e=o.withIdHOC(re);_e.displayName="KendoReactSplitButton";exports.Button=W;exports.ButtonGroup=Fe;exports.Chip=z;exports.ChipList=de;exports.DropDownButton=Le;exports.DropDownButtonClassComponent=ce;exports.DropDownButtonItem=Ce;exports.FloatingActionButton=De;exports.FloatingActionButtonItem=ue;exports.SplitButton=_e;exports.SplitButtonClassComponent=re;exports.SplitButtonItem=ve;exports.Toolbar=Ie;exports.ToolbarItem=Re;exports.ToolbarSeparator=ot;exports.ToolbarSpacer=xe;exports.toolbarButtons=Pe;
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./Button.js"),i=require("./ButtonGroup.js"),t=require("./ListButton/SplitButton.js"),a=require("./ListButton/SplitButtonItem.js"),o=require("./ListButton/DropDownButton.js"),p=require("./ListButton/DropDownButtonItem.js"),l=require("./toolbar/Toolbar.js"),B=require("./toolbar/tools/ToolbarItem.js"),c=require("./toolbar/tools/ToolbarSeparator.js"),s=require("./toolbar/tools/ToolbarSpacer.js"),D=require("./util.js"),m=require("./Chip/Chip.js"),S=require("./Chip/ChipList.js"),b=require("./FloatingActionButton/FloatingActionButton.js"),q=require("./FloatingActionButton/FloatingActionButtonItem.js"),n=require("@progress/kendo-react-common"),r=n.withIdHOC(o.DropDownButton);r.displayName="KendoReactDropDownButton";const e=n.withIdHOC(t.SplitButton);e.displayName="KendoReactSplitButton";exports.Button=u.Button;exports.ButtonGroup=i.ButtonGroup;exports.SplitButtonClassComponent=t.SplitButton;exports.SplitButtonItem=a.SplitButtonItem;exports.DropDownButtonClassComponent=o.DropDownButton;exports.DropDownButtonItem=p.DropDownButtonItem;exports.Toolbar=l.Toolbar;exports.ToolbarItem=B.ToolbarItem;exports.ToolbarSeparator=c.ToolbarSeparator;exports.ToolbarSpacer=s.ToolbarSpacer;exports.toolbarButtons=D.toolbarButtons;exports.Chip=m.Chip;exports.ChipList=S.ChipList;exports.FloatingActionButton=b.FloatingActionButton;exports.FloatingActionButtonItem=q.FloatingActionButtonItem;exports.DropDownButton=r;exports.SplitButton=e;