@progress/kendo-react-dialogs 6.1.1 → 7.0.0-develop.10

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 (88) hide show
  1. package/{dist/es/Dialog.d.ts → Dialog.d.ts} +6 -2
  2. package/{dist/npm/DialogActionsBar.d.ts → DialogActionsBar.d.ts} +4 -0
  3. package/{dist/es/DialogProps.d.ts → DialogProps.d.ts} +4 -1
  4. package/{dist/es/DialogTitleBar.d.ts → DialogTitleBar.d.ts} +4 -0
  5. package/LICENSE.md +1 -1
  6. package/{dist/es/MiddleLayerOptimization.d.ts → MiddleLayerOptimization.d.ts} +4 -0
  7. package/StageEnum.d.ts +9 -0
  8. package/{dist/es/Window.d.ts → Window.d.ts} +6 -2
  9. package/{dist/npm/WindowActionsBar.d.ts → WindowActionsBar.d.ts} +4 -0
  10. package/{dist/npm/WindowProps.d.ts → WindowProps.d.ts} +4 -1
  11. package/WindowResizeHandlers.d.ts +20 -0
  12. package/{dist/npm/WindowTitlebar.d.ts → WindowTitlebar.d.ts} +4 -0
  13. package/constants.d.ts +12 -0
  14. package/dist/cdn/js/kendo-react-dialogs.js +5 -1
  15. package/{dist/npm/events.d.ts → events.d.ts} +4 -0
  16. package/index.d.ts +13 -0
  17. package/index.js +5 -0
  18. package/index.mjs +677 -0
  19. package/{dist/npm/messages → messages}/index.d.ts +4 -0
  20. package/models/actions-layout.d.ts +8 -0
  21. package/package-metadata.d.ts +9 -0
  22. package/package.json +28 -36
  23. package/utils.d.ts +6 -0
  24. package/about.md +0 -3
  25. package/dist/es/Dialog.js +0 -203
  26. package/dist/es/DialogActionsBar.d.ts +0 -21
  27. package/dist/es/DialogActionsBar.js +0 -32
  28. package/dist/es/DialogProps.js +0 -3
  29. package/dist/es/DialogTitleBar.js +0 -13
  30. package/dist/es/MiddleLayerOptimization.js +0 -33
  31. package/dist/es/StageEnum.d.ts +0 -5
  32. package/dist/es/StageEnum.js +0 -6
  33. package/dist/es/Window.js +0 -643
  34. package/dist/es/WindowActionsBar.d.ts +0 -21
  35. package/dist/es/WindowActionsBar.js +0 -34
  36. package/dist/es/WindowProps.d.ts +0 -144
  37. package/dist/es/WindowProps.js +0 -2
  38. package/dist/es/WindowResizeHandlers.d.ts +0 -16
  39. package/dist/es/WindowResizeHandlers.js +0 -49
  40. package/dist/es/WindowTitlebar.d.ts +0 -63
  41. package/dist/es/WindowTitlebar.js +0 -47
  42. package/dist/es/constants.d.ts +0 -8
  43. package/dist/es/constants.js +0 -8
  44. package/dist/es/events.d.ts +0 -45
  45. package/dist/es/events.js +0 -2
  46. package/dist/es/main.d.ts +0 -9
  47. package/dist/es/main.js +0 -5
  48. package/dist/es/messages/index.d.ts +0 -25
  49. package/dist/es/messages/index.js +0 -26
  50. package/dist/es/models/actions-layout.d.ts +0 -4
  51. package/dist/es/models/actions-layout.js +0 -1
  52. package/dist/es/package-metadata.d.ts +0 -5
  53. package/dist/es/package-metadata.js +0 -11
  54. package/dist/es/utils.d.ts +0 -2
  55. package/dist/es/utils.js +0 -22
  56. package/dist/npm/Dialog.d.ts +0 -90
  57. package/dist/npm/Dialog.js +0 -206
  58. package/dist/npm/DialogActionsBar.js +0 -36
  59. package/dist/npm/DialogProps.d.ts +0 -74
  60. package/dist/npm/DialogProps.js +0 -4
  61. package/dist/npm/DialogTitleBar.d.ts +0 -26
  62. package/dist/npm/DialogTitleBar.js +0 -17
  63. package/dist/npm/MiddleLayerOptimization.d.ts +0 -17
  64. package/dist/npm/MiddleLayerOptimization.js +0 -36
  65. package/dist/npm/StageEnum.d.ts +0 -5
  66. package/dist/npm/StageEnum.js +0 -9
  67. package/dist/npm/Window.d.ts +0 -174
  68. package/dist/npm/Window.js +0 -646
  69. package/dist/npm/WindowActionsBar.js +0 -38
  70. package/dist/npm/WindowProps.js +0 -3
  71. package/dist/npm/WindowResizeHandlers.d.ts +0 -16
  72. package/dist/npm/WindowResizeHandlers.js +0 -52
  73. package/dist/npm/WindowTitlebar.js +0 -50
  74. package/dist/npm/constants.d.ts +0 -8
  75. package/dist/npm/constants.js +0 -11
  76. package/dist/npm/events.js +0 -3
  77. package/dist/npm/main.d.ts +0 -9
  78. package/dist/npm/main.js +0 -13
  79. package/dist/npm/messages/index.js +0 -29
  80. package/dist/npm/models/actions-layout.d.ts +0 -4
  81. package/dist/npm/models/actions-layout.js +0 -2
  82. package/dist/npm/package-metadata.d.ts +0 -5
  83. package/dist/npm/package-metadata.js +0 -14
  84. package/dist/npm/utils.d.ts +0 -2
  85. package/dist/npm/utils.js +0 -26
  86. package/dist/systemjs/kendo-react-dialogs.js +0 -1
  87. package/e2e-next/dialog.basic.tests.ts +0 -24
  88. package/e2e-next/window.basic.tests.ts +0 -24
@@ -1,3 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
1
5
  import { Dialog } from './Dialog';
2
6
  import { BaseEvent } from '@progress/kendo-react-common';
3
7
  import { Window } from './Window';
package/index.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Dialog, type DialogHandle, DialogPropsContext } from './Dialog';
6
+ import { DialogActionsBar } from './DialogActionsBar';
7
+ import { Window, type WindowHandle, WindowPropsContext } from './Window';
8
+ import { type WindowProps } from './WindowProps';
9
+ import { WindowActionsBar } from './WindowActionsBar';
10
+ import { type DialogCloseEvent, type WindowActionsEvent, type WindowMoveEvent } from './events';
11
+ import { type ActionsLayout } from './models/actions-layout';
12
+ import { type DialogProps } from './DialogProps';
13
+ export { Dialog, DialogProps, DialogActionsBar, DialogCloseEvent, DialogHandle, DialogPropsContext, Window, WindowProps, WindowActionsBar, WindowActionsEvent, WindowMoveEvent, WindowHandle, WindowPropsContext, ActionsLayout };
package/index.js ADDED
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("react"),Y=require("react-dom"),$=require("prop-types"),I=require("@progress/kendo-react-buttons"),D=require("@progress/kendo-svg-icons"),o=require("@progress/kendo-react-common"),J=require("@progress/kendo-react-intl");function A(r){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const e=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(i,t,e.get?e:{enumerable:!0,get:()=>r[t]})}}return i.default=r,Object.freeze(i)}const s=A(X),Z=A(Y),a=A($),Q=({children:r,onCloseButtonClick:i,id:t,closeIcon:e})=>s.createElement("div",{className:"k-window-titlebar k-dialog-titlebar",id:t},s.createElement("span",{className:"k-window-title k-dialog-title"},r),s.createElement("div",{className:"k-window-titlebar-actions k-dialog-titlebar-actions"},e&&s.createElement(I.Button,{role:"button","aria-label":"Close",onClick:i,icon:"x",svgIcon:D.xIcon,fillMode:"flat",className:"k-window-titlebar-action k-dialog-titlebar-action"}))),T=r=>{const i={layout:"stretched",...r},{layout:t,children:e}=i,n=o.classNames("k-actions","k-actions-horizontal","k-window-actions k-dialog-actions",{[`k-actions-${t}`]:t});return s.createElement("div",{className:n},e)};T.propTypes={children:a.any,layout:a.oneOf(["start","center","end","stretched"])};const x={name:"@progress/kendo-react-dialogs",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},F="data-windowid",P=10002,S=2,tt=".k-window:not(.k-dialog), .k-dialog-wrapper",W=(r,i,t)=>{let e=r;if(i&&i.defaultView){let n=i.querySelectorAll(tt),d=!1;return n.forEach(c=>{let l=i.defaultView.getComputedStyle(c,null);if(c.getAttribute(F)!==t&&l.zIndex!==null){let p=parseInt(l.zIndex,10);p>=e&&(e=p,d=!0)}}),d?e+S:e}return e};class y extends s.Component{constructor(i){super(i),this.context=0,this._id=o.guid(),this.titleId=this.generateTitleId(),this.contentId=this.generateContentId(),this.showLicenseWatermark=!1,this.onCloseDialog=t=>{t.preventDefault(),o.dispatchEvent(this.props.onClose,t,this,void 0)},this.onKeyDown=t=>{t.keyCode===o.Keys.esc&&this.props.onClose&&(t.preventDefault(),this.onCloseDialog(t));const e=this.element;if(e&&t.keyCode===o.Keys.tab){const n='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',d=e.querySelectorAll(n),c=d[0],l=d[d.length-1],u=this.getDocument(),p=o.getActiveElement(u);t.shiftKey?(u&&p===c||u&&p===this.element)&&(l.focus(),t.preventDefault()):u&&p===l&&(c.focus(),t.preventDefault())}},this.getCurrentZIndex=()=>!this.state||this.context===void 0?this.context?this.context:P:this.state.zIndex>(this.context?this.context+S:0)?this.state.zIndex:this.context+S,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,o.validatePackage(x),this.showLicenseWatermark=o.shouldShowValidationUI(x),this.state={zIndex:W(this.getCurrentZIndex(),this.getDocument(),this._id)}}componentDidMount(){this.element&&this.props.autoFocus&&this.element.focus()}render(){const i=this.props.id!==void 0?this.props.id:this.titleId,{title:t,width:e,height:n,children:d,minWidth:c,dir:l,style:u,contentStyle:p}=this.props,w=s.Children.toArray(d),m=this.getContent(w),C=this.getActionBar(w),E=t?{"aria-labelledby":i}:null,g=this.props.closeIcon!==void 0?this.props.closeIcon:!0,U=this.getCurrentZIndex(),_=s.createElement(o.ZIndexContext.Provider,{value:U},s.createElement("div",{[F]:this._id,className:"k-dialog-wrapper"+(this.props.className?" "+this.props.className:""),onKeyDown:this.onKeyDown,tabIndex:0,dir:l,style:{zIndex:U,...u},ref:V=>this.element=V},s.createElement("div",{className:"k-overlay"}),s.createElement("div",{...E,className:o.classNames("k-window k-dialog",{[`k-window-${this.props.themeColor}`]:this.props.themeColor}),role:"dialog","aria-labelledby":i,"aria-modal":!0,"aria-describedby":this.contentId,style:{width:e,height:n,minWidth:c}},this.props.title&&s.createElement(Q,{closeIcon:g,onCloseButtonClick:this.onCloseDialog,id:i},t),s.createElement("div",{className:"k-window-content k-dialog-content",style:p,id:this.contentId},m),C,this.showLicenseWatermark&&s.createElement(o.WatermarkOverlay,null))));return o.canUseDOM?this.props.appendTo!==null?Z.createPortal(_,this.props.appendTo||document.body):_:null}getActionBar(i){return i.filter(t=>t&&t.type===T)}getContent(i){return i.filter(t=>t&&t.type!==T)}generateTitleId(){return"dialog-title"+this._id}generateContentId(){return"dialog-content"+this._id}}y.displayName="Dialog";y.propTypes={title:a.any,id:a.string,dir:a.string,style:a.object,closeIcon:a.bool,width:a.oneOfType([a.number,a.string]),height:a.oneOfType([a.number,a.string]),minWidth:a.oneOfType([a.number,a.string]),autoFocus:a.bool};y.defaultProps={autoFocus:!1};y.contextType=o.ZIndexContext;const K=o.createPropsContext(),j=o.withPropsContext(K,y);j.displayName="KendoReactDialog";var h=(r=>(r.DEFAULT="DEFAULT",r.FULLSCREEN="FULLSCREEN",r.MINIMIZED="MINIMIZED",r))(h||{});const B="dialogs.windowMaximizeButton",L="dialogs.windowMinimizeButton",N="dialogs.windowRestoreButton",M="dialogs.windowCloseButton",k={[B]:"maximize",[L]:"minimize",[N]:"restore",[M]:"close"},et=r=>{const{children:i,onCloseButtonClick:t,onMinimizeButtonClick:e,onFullScreenButtonClick:n,onRestoreButtonClick:d,onDoubleClick:c,stage:l,forwardedRef:u,id:p}=r,w=J.useLocalization(),m=r.minimizeButton?s.createElement(r.minimizeButton,{onClick:e,stage:l}):s.createElement(I.Button,{fillMode:"flat",icon:"window-minimize",svgIcon:D.windowMinimizeIcon,className:"k-window-titlebar-action",onClick:e,"aria-label":w.toLanguageString(L,k[L])}),C=r.maximizeButton?s.createElement(r.maximizeButton,{onClick:n,stage:l}):s.createElement(I.Button,{fillMode:"flat",icon:"window-maximize",svgIcon:D.windowIcon,className:"k-window-titlebar-action",onClick:n,"aria-label":w.toLanguageString(B,k[B])}),E=r.restoreButton?s.createElement(r.restoreButton,{onClick:d,stage:l}):s.createElement(I.Button,{fillMode:"flat",icon:"window-restore",svgIcon:D.windowRestoreIcon,className:"k-window-titlebar-action",onClick:d,"aria-label":w.toLanguageString(N,k[N])}),g=r.closeButton?s.createElement(r.closeButton,{onClick:t,stage:l}):s.createElement(I.Button,{fillMode:"flat",icon:"x",svgIcon:D.xIcon,className:"k-window-titlebar-action",onClick:t,"aria-label":w.toLanguageString(M,k[M])});return s.createElement("div",{className:"k-window-titlebar",style:{touchAction:"none"},ref:u,onDoubleClick:c},s.createElement("span",{className:"k-window-title",id:p},i||""),s.createElement("div",{className:"k-window-titlebar-actions"},l===h.DEFAULT&&m,l===h.DEFAULT&&C,l!==h.DEFAULT&&E,g))},it=s.forwardRef((r,i)=>s.createElement(et,{...r,forwardedRef:i})),st=["n","e","s","w","se","sw","ne","nw"];class ot extends s.Component{render(){return s.createElement("div",{className:"k-resize-handles-wrapper"}," ",st.map((i,t)=>s.createElement(o.Draggable,{key:t,onDrag:e=>{const{event:n}=e;n.originalEvent.preventDefault(),this.props.onResize(n,{end:!1,direction:i})},onRelease:e=>{const{event:n}=e;n.originalEvent.preventDefault(),this.props.onResize(n,{end:!0,direction:i})}},s.createElement("div",{className:"k-resize-handle k-resize-"+i,style:{display:"block",touchAction:"none"}}))))}}class nt extends s.Component{shouldComponentUpdate(i){return i.shouldUpdateOnDrag||!i.isDragging}render(){return this.props.children}}const v=r=>{const i={layout:"end",...r},{layout:t,children:e}=i,n=o.classNames("k-actions","k-window-actions","k-actions-horizontal","k-hstack",{"k-justify-content-start":t==="start","k-justify-content-center":t==="center","k-justify-content-end":t==="end","k-justify-content-stretch":t==="stretched"});return s.createElement("div",{className:n},e)};v.propTypes={children:a.any,layout:a.oneOf(["start","center","end","stretched"])};const O=300,H=300,z=120,R=100,f=5;class b extends s.Component{constructor(i){super(i),this.context=0,this.draggable=null,this.offSetCoordinates={x:0,y:0},this._id=o.guid(),this.titleId=this.generateTitleId(),this.mounted=!1,this.showLicenseWatermark=!1,this.onKeyDown=t=>{if(t.target!==t.currentTarget)return;const e=this.props.minWidth||z,n=this.props.minHeight||R;if(t.ctrlKey&&this.props.resizable){switch(t.keyCode){case o.Keys.up:t.preventDefault(),n<=this.height-f&&this.setState({height:this.height-f});break;case o.Keys.down:t.preventDefault(),this.setState({height:this.height+f});break;case o.Keys.left:e<=this.width-f&&this.setState({width:this.width-f});break;case o.Keys.right:this.setState({width:this.width+f});break;default:return}this.dispatchMoveEvent(this.props.onResize,t,!1,void 0);return}if(t.altKey){switch(t.keyCode){case o.Keys.up:this.windowStage===h.MINIMIZED?(this.handleRestore(t),o.dispatchEvent(this.props.onStageChange,t,this,{state:h.DEFAULT})):this.windowStage===h.DEFAULT&&(this.handleFullscreen(t),o.dispatchEvent(this.props.onStageChange,t,this,{state:h.FULLSCREEN}));break;case o.Keys.down:this.windowStage===h.FULLSCREEN?(this.handleRestore(t),o.dispatchEvent(this.props.onStageChange,t,this,{state:h.DEFAULT})):this.windowStage===h.DEFAULT&&(this.handleMinimize(t),o.dispatchEvent(this.props.onStageChange,t,this,{state:h.MINIMIZED}));break}return}if(!t.ctrlKey)switch(t.keyCode){case o.Keys.esc:this.props.onClose&&this.handleCloseWindow(t);return;case o.Keys.up:this.setState({top:this.state.top-f});break;case o.Keys.down:this.setState({top:this.state.top+f});break;case o.Keys.left:this.setState({left:this.state.left-f});break;case o.Keys.right:this.setState({left:this.state.left+f});break;default:return}this.dispatchMoveEvent(this.props.onMove,t,!1,void 0)},this.onPress=t=>{const e=t.event;this.windowCoordinatesState.differenceLeft=e.pageX-this.left,this.windowCoordinatesState.differenceTop=e.pageY-this.top},this.onDrag=t=>{const e=t.event;e.originalEvent.preventDefault(),this.windowStage!==h.FULLSCREEN&&this.props.draggable&&(this.setState({top:Math.max(e.pageY-this.windowCoordinatesState.differenceTop,0),left:e.pageX-this.windowCoordinatesState.differenceLeft,isDragging:!0}),this.props.onMove&&this.dispatchMoveEvent(this.props.onMove,e,!0,!1))},this.onRelease=t=>{const e=t.event;this.windowStage!==h.FULLSCREEN&&this.props.draggable&&this.props.onMove&&this.dispatchMoveEvent(this.props.onMove,e,!0,!0),this.setState({isDragging:!1})},this.onFocus=()=>{this._blurTimeout?(clearTimeout(this._blurTimeout),this._blurTimeout=void 0):this.setState({focused:!0,zIndex:W(this.getCurrentZIndex(),this.getDocument(),this._id)})},this.onBlur=()=>{clearTimeout(this._blurTimeout);const t=this.getWindow();t&&(this._blurTimeout=t.setTimeout(()=>{this.mounted&&this.setState({focused:!1}),this._blurTimeout=void 0}))},this.getInitialTop=()=>{if(this.props.top!==void 0)return this.props.top;if(this.props.initialTop!==void 0)return this.props.initialTop;let t=H;if(this.props.height!==void 0?t=this.props.height:this.props.initialHeight!==void 0&&(t=this.props.initialHeight),this.props.appendTo)return this.props.appendTo.offsetHeight/2-t/2;const e=this.getWindow();return e?e.innerHeight/2-t/2:0},this.getInitialLeft=()=>{if(this.props.left!==void 0)return this.props.left;if(this.props.initialLeft!==void 0)return this.props.initialLeft;let t=O;if(this.props.width!==void 0?t=this.props.width:this.props.initialWidth!==void 0&&(t=this.props.initialWidth),this.props.appendTo)return this.props.appendTo.offsetWidth/2-t/2;const e=this.getWindow();return e?e.innerWidth/2-t/2:0},this.getInitialWidth=()=>{let t=O;return this.props.width!==void 0?t=this.props.width:this.props.initialWidth!==void 0&&(t=this.props.initialWidth),t},this.getInitialHeight=()=>{let t=H;return this.props.height!==void 0?t=this.props.height:this.props.initialHeight!==void 0&&(t=this.props.initialHeight),t},this.handleMinimize=t=>{t.preventDefault(),this.windowCoordinatesState.leftBeforeAction=this.left,this.windowCoordinatesState.topBeforeAction=this.top,this.windowCoordinatesState.widthBeforeAction=this.width,this.windowCoordinatesState.heightBeforeAction=this.height,this.setState({stage:h.MINIMIZED,height:0}),o.dispatchEvent(this.props.onStageChange,t,this,{state:h.MINIMIZED})},this.handleFullscreen=t=>{t.preventDefault(),this.windowCoordinatesState.leftBeforeAction=this.left,this.windowCoordinatesState.topBeforeAction=this.top,this.windowCoordinatesState.widthBeforeAction=this.width,this.windowCoordinatesState.heightBeforeAction=this.height;const e=this.getWindow(),n=e?e.innerWidth:0,d=e?e.innerHeight:0;this.setState({left:0,top:0,width:this.props.appendTo?this.props.appendTo.offsetWidth:n,height:this.props.appendTo?this.props.appendTo.offsetHeight:d,stage:h.FULLSCREEN}),o.dispatchEvent(this.props.onStageChange,t,this,{state:h.FULLSCREEN})},this.handleRestore=t=>{t.preventDefault(),this.windowStage===h.FULLSCREEN?this.setState({stage:h.DEFAULT,left:this.windowCoordinatesState.leftBeforeAction,top:this.windowCoordinatesState.topBeforeAction,width:this.windowCoordinatesState.widthBeforeAction,height:this.windowCoordinatesState.heightBeforeAction}):this.windowStage===h.MINIMIZED&&this.setState({stage:h.DEFAULT,height:this.windowCoordinatesState.heightBeforeAction}),o.dispatchEvent(this.props.onStageChange,t,this,{state:h.DEFAULT})},this.handleCloseWindow=t=>{t.preventDefault(),o.dispatchEvent(this.props.onClose,t,this,{state:void 0})},this.handleDoubleClick=t=>{this.windowStage===h.FULLSCREEN||this.windowStage===h.MINIMIZED?this.handleRestore(t):this.handleFullscreen(t)},this.handleResize=(t,e)=>{const n=this.props.appendTo?t.pageX-this.offSetCoordinates.x:t.pageX,d=this.props.appendTo?t.pageY-this.offSetCoordinates.y:t.pageY,c=this.width,l=this.height,u=this.props.minWidth||z,p=this.props.minHeight||R,w=this.top-d,m=this.left-n;let C=n-this.left,E=d-this.top;const g=Object.assign({},this.state,{isDragging:!e.end});e.direction.indexOf("n")>=0&&p-(l+w)<0&&(this.top>0&&(g.height=l+w),g.top=d),e.direction.indexOf("s")>=0&&p-E<0&&(g.height=E),e.direction.indexOf("w")>=0&&u-(c+m)<0&&(this.left>0&&(g.width=c+m),g.left=n),e.direction.indexOf("e")>=0&&u-C<0&&(g.width=C),this.setState(g),this.dispatchMoveEvent(this.props.onResize,t,!0,e.end)},this.dispatchMoveEvent=(t,e,n,d)=>{t&&t.call(void 0,{nativeEvent:e.nativeEvent?e.nativeEvent:e.originalEvent,drag:n,end:d,target:this,left:this.state.left,top:this.state.top,width:this.state.width,hight:this.state.height,height:this.state.height})},this.handleBrowserWindowResize=()=>{if(this.windowStage===h.FULLSCREEN){const t=this.getWindow(),e=t?t.innerWidth:0,n=t?t.innerHeight:0;this.setState({width:this.props.appendTo?this.props.appendTo.offsetWidth:e,height:this.props.appendTo?this.props.appendTo.offsetHeight:n})}},this.getCurrentZIndex=()=>!this.state||this.context===void 0?this.context?this.context:P:this.state.zIndex>(this.context?this.context+S:0)?this.state.zIndex:this.context+S,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,this.getWindow=()=>{const t=this.getDocument();return t&&t.defaultView},o.validatePackage(x),this.showLicenseWatermark=o.shouldShowValidationUI(x),this.state={stage:this.props.stage||h.DEFAULT,isDragging:!1,top:this.getInitialTop(),left:this.getInitialLeft(),width:this.getInitialWidth(),height:this.getInitialHeight(),focused:!0,zIndex:W(this.getCurrentZIndex(),this.getDocument(),this._id)},this.windowCoordinatesState={leftBeforeAction:this.getInitialLeft(),topBeforeAction:this.getInitialTop(),widthBeforeAction:this.getInitialWidth(),heightBeforeAction:this.getInitialHeight()}}componentDidMount(){const i=this.getWindow();i&&i.addEventListener("resize",this.handleBrowserWindowResize);const t=this.getDocument();if(this.props.appendTo&&t){let e=this.props.appendTo.getBoundingClientRect(),n=t.body.getBoundingClientRect();this.offSetCoordinates.x=e.left-n.left,this.offSetCoordinates.y=e.top-n.top}this.mounted=!0}componentWillUnmount(){const i=this.getWindow();i&&i.removeEventListener("resize",this.handleBrowserWindowResize),this.mounted=!1}componentDidUpdate(){const i=this.getDocument();if(this.props.appendTo&&i){let t=this.props.appendTo.getBoundingClientRect(),e=i.body.getBoundingClientRect();this.offSetCoordinates.x=t.left-e.left,this.offSetCoordinates.y=t.top-e.top}this.mounted=!0}render(){const i=s.Children.toArray(this.props.children),t=this.getContent(i),e=this.getActionBar(i),n=this.getCurrentZIndex(),d=o.classNames("k-window",this.props.className,{[`k-window-${this.props.themeColor}`]:this.props.themeColor,"k-window-minimized":this.state.stage==="MINIMIZED","k-window-focused":this.state.focused}),c=s.createElement(o.ZIndexContext.Provider,{value:n},s.createElement(s.Fragment,null,this.props.modal&&s.createElement("div",{className:"k-overlay",style:{zIndex:n,...this.props.overlayStyle}}),s.createElement("div",{[F]:this._id,tabIndex:0,role:"dialog","aria-labelledby":this.titleId,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,ref:l=>{this.windowElement=l,this.element=l},className:d,style:{top:this.top,left:this.left,width:this.width,height:this.height||"",zIndex:n,...this.props.style}},s.createElement(nt,{shouldUpdateOnDrag:this.props.shouldUpdateOnDrag||!1,isDragging:this.state.isDragging},s.createElement(o.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:l=>this.draggable=l},s.createElement(it,{stage:this.windowStage,onDoubleClick:this.props.doubleClickStageChange?this.handleDoubleClick:void 0,onMinimizeButtonClick:this.handleMinimize,onFullScreenButtonClick:this.handleFullscreen,onRestoreButtonClick:this.handleRestore,onCloseButtonClick:this.handleCloseWindow,closeButton:this.props.closeButton,minimizeButton:this.props.minimizeButton,maximizeButton:this.props.maximizeButton,restoreButton:this.props.restoreButton,id:this.titleId},this.props.title)),this.windowStage!==h.MINIMIZED?s.createElement(s.Fragment,null,s.createElement("div",{className:"k-window-content"},t),e):null,this.windowStage===h.DEFAULT&&this.props.resizable?s.createElement(ot,{onResize:this.handleResize}):null),this.showLicenseWatermark&&s.createElement(o.WatermarkOverlay,null))));return o.canUseDOM?this.props.appendTo!==null?Z.createPortal(c,this.props.appendTo||document.body):c:null}get top(){return this.windowStage!==h.FULLSCREEN?Math.max(this.props.top||this.state.top,0):0}get left(){return this.windowStage!==h.FULLSCREEN?Math.max(this.props.left||this.state.left,0):0}get width(){let i=this.props.width||this.state.width;if(this.windowStage===h.FULLSCREEN){if(this.props.appendTo)return i=this.props.appendTo.offsetWidth,i;const t=this.getWindow();i=t?t.innerWidth:0}return i}get height(){let i=this.props.height||this.state.height;if(this.windowStage===h.FULLSCREEN){if(this.props.appendTo)return i=this.props.appendTo.offsetHeight,i;const t=this.getWindow();i=t?t.innerHeight:0}else this.windowStage===h.MINIMIZED&&(i=0);return i}get windowStage(){return this.props.stage||this.state.stage}getActionBar(i){return i.filter(t=>t&&t.type===v)}getContent(i){return i.filter(t=>t&&t.type!==v)}generateTitleId(){return"window-title-"+this._id}}b.displayName="Window";b.propTypes={width:a.number,height:a.number,left:a.number,top:a.number,initialWidth:a.number,initialHeight:a.number,initialLeft:a.number,initialTop:a.number,minWidth:a.number,minHeight:a.number,resizable:a.bool,draggable:a.bool,title:a.any,shouldUpdateOnDrag:a.bool,stage:a.oneOf(["DEFAULT","MINIMIZED","FULLSCREEN"]),className:a.string,style:a.object,overlayStyle:a.object};b.defaultProps={minWidth:z,minHeight:R,resizable:!0,draggable:!0,modal:!1,doubleClickStageChange:!0};b.contextType=o.ZIndexContext;const q=o.createPropsContext(),G=o.withPropsContext(q,b);G.displayName="KendoReactWindow";exports.Dialog=j;exports.DialogActionsBar=T;exports.DialogPropsContext=K;exports.Window=G;exports.WindowActionsBar=v;exports.WindowPropsContext=q;