@progress/kendo-react-dialogs 7.4.0 → 7.5.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.
package/Dialog.js CHANGED
@@ -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 client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("react"),P=require("react-dom"),t=require("prop-types"),_=require("./DialogTitleBar.js"),u=require("./DialogActionsBar.js"),n=require("@progress/kendo-react-common"),g=require("./package-metadata.js"),N=require("./utils.js"),c=require("./constants.js");function m(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(s,e,a.get?a:{enumerable:!0,get:()=>r[e]})}}return s.default=r,Object.freeze(s)}const o=m(A),S=m(P),i=class i extends o.Component{constructor(s){super(s),this.context=0,this.titleId=this.generateTitleId(),this.contentId=this.generateContentId(),this.showLicenseWatermark=!1,this.onCloseDialog=e=>{e.preventDefault(),n.dispatchEvent(this.props.onClose,e,this,void 0)},this.onKeyDown=e=>{e.keyCode===n.Keys.esc&&this.props.onClose&&(e.preventDefault(),this.onCloseDialog(e)),n.keepFocusInContainer(e,this.element)},this.getCurrentZIndex=()=>!this.state||this.context===void 0?this.context?this.context:c.DEFAULT_DIALOGS_ZINDEX:this.state.zIndex>(this.context?this.context+c.ZINDEX_DIALOGS_STEP:0)?this.state.zIndex:this.context+c.ZINDEX_DIALOGS_STEP,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,n.validatePackage(g.packageMetadata),this.showLicenseWatermark=n.shouldShowValidationUI(g.packageMetadata)}get _id(){return this.props.id+"-accessibility-id"}componentDidMount(){this.element&&(this.props.autoFocus&&this.element.focus(),this.setState({zIndex:N.getMaxZIndex(this.getCurrentZIndex(),this.getDocument(),this._id)}))}render(){const s=this.props.id!==void 0?this.props.id:this.titleId,{title:e,width:a,height:D,children:f,minWidth:b,dir:x,style:C,contentStyle:k}=this.props,d=o.Children.toArray(f),w=this.getContent(d),T=this.getActionBar(d),O=e?{"aria-labelledby":s}:null,E=this.props.closeIcon!==void 0?this.props.closeIcon:!0,p=this.getCurrentZIndex(),h=o.createElement(n.ZIndexContext.Provider,{value:p},o.createElement("div",{[c.DATA_DIALOGS_ID]:this._id,className:"k-dialog-wrapper"+(this.props.className?" "+this.props.className:""),onKeyDown:this.onKeyDown,tabIndex:0,dir:x,style:{zIndex:p,...C},ref:v=>this.element=v},o.createElement("div",{className:"k-overlay"}),o.createElement("div",{...O,className:n.classNames("k-window k-dialog",{[`k-window-${this.props.themeColor}`]:this.props.themeColor}),role:"dialog","aria-labelledby":s,"aria-modal":!0,"aria-describedby":this.contentId,style:{width:a,height:D,minWidth:b}},this.props.title&&o.createElement(_.DialogTitleBar,{closeIcon:E,onCloseButtonClick:this.onCloseDialog,id:s},e),o.createElement("div",{className:"k-window-content k-dialog-content",style:k,id:this.contentId},w),T,this.showLicenseWatermark&&o.createElement(n.WatermarkOverlay,null))));return n.canUseDOM?this.props.appendTo!==null?S.createPortal(h,this.props.appendTo||document.body):h:null}getActionBar(s){return s.filter(e=>e&&e.type===u.DialogActionsBar)}getContent(s){return s.filter(e=>e&&e.type!==u.DialogActionsBar)}generateTitleId(){return"dialog-title-"+this._id}generateContentId(){return"dialog-content-"+this._id}};i.displayName="Dialog",i.propTypes={title:t.any,id:t.string,dir:t.string,style:t.object,closeIcon:t.bool,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),minWidth:t.oneOfType([t.number,t.string]),autoFocus:t.bool},i.defaultProps={autoFocus:!1},i.contextType=n.ZIndexContext;let l=i;const y=n.createPropsContext(),I=n.withIdHOC(n.withPropsContext(y,l));I.displayName="KendoReactDialog";exports.Dialog=I;exports.DialogPropsContext=y;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react"),S=require("react-dom"),t=require("prop-types"),_=require("./DialogTitleBar.js"),u=require("./DialogActionsBar.js"),o=require("@progress/kendo-react-common"),m=require("./package-metadata.js"),N=require("./utils.js"),c=require("./constants.js");function g(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const e in r)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(s,e,a.get?a:{enumerable:!0,get:()=>r[e]})}}return s.default=r,Object.freeze(s)}const n=g(P),M=g(S),i=class i extends n.Component{constructor(s){super(s),this.context=0,this.titleId=this.generateTitleId(),this.contentId=this.generateContentId(),this.showLicenseWatermark=!1,this.onCloseDialog=e=>{e.preventDefault(),o.dispatchEvent(this.props.onClose,e,this,void 0)},this.onKeyDown=e=>{e.keyCode===o.Keys.esc&&this.props.onClose&&(e.preventDefault(),this.onCloseDialog(e)),o.keepFocusInContainer(e,this.element)},this.getCurrentZIndex=()=>!this.state||this.context===void 0?this.context?this.context:c.DEFAULT_DIALOGS_ZINDEX:this.state.zIndex>(this.context?this.context+c.ZINDEX_DIALOGS_STEP:0)?this.state.zIndex:this.context+c.ZINDEX_DIALOGS_STEP,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,o.validatePackage(m.packageMetadata),this.showLicenseWatermark=o.shouldShowValidationUI(m.packageMetadata)}get _id(){return this.props.id+"-accessibility-id"}componentDidMount(){this.element&&(this.props.autoFocus&&this.element.focus(),this.setState({zIndex:N.getMaxZIndex(this.getCurrentZIndex(),this.getDocument(),this._id)}))}render(){const s=this.props.id!==void 0?this.props.id:this.titleId,{title:e,width:a,height:D,children:f,minWidth:b,dir:x,style:C,contentStyle:k,modal:w=!0}=this.props,d=n.Children.toArray(f),T=this.getContent(d),O=this.getActionBar(d),v=e?{"aria-labelledby":s}:null,E=this.props.closeIcon!==void 0?this.props.closeIcon:!0,p=this.getCurrentZIndex(),h=n.createElement(o.ZIndexContext.Provider,{value:p},n.createElement("div",{[c.DATA_DIALOGS_ID]:this._id,className:"k-dialog-wrapper"+(this.props.className?" "+this.props.className:""),onKeyDown:this.onKeyDown,tabIndex:0,dir:x,style:{zIndex:p,...C},ref:A=>this.element=A},w&&n.createElement("div",{className:"k-overlay",style:this.props.overlayStyle}),n.createElement("div",{...v,className:o.classNames("k-window k-dialog",{[`k-window-${this.props.themeColor}`]:this.props.themeColor}),role:"dialog","aria-labelledby":s,"aria-modal":!0,"aria-describedby":this.contentId,style:{width:a,height:D,minWidth:b}},this.props.title&&n.createElement(_.DialogTitleBar,{closeIcon:E,onCloseButtonClick:this.onCloseDialog,id:s},e),n.createElement("div",{className:"k-window-content k-dialog-content",style:k,id:this.contentId},T),O,this.showLicenseWatermark&&n.createElement(o.WatermarkOverlay,null))));return o.canUseDOM?this.props.appendTo!==null?M.createPortal(h,this.props.appendTo||document.body):h:null}getActionBar(s){return s.filter(e=>e&&e.type===u.DialogActionsBar)}getContent(s){return s.filter(e=>e&&e.type!==u.DialogActionsBar)}generateTitleId(){return"dialog-title-"+this._id}generateContentId(){return"dialog-content-"+this._id}};i.displayName="Dialog",i.propTypes={title:t.any,id:t.string,dir:t.string,style:t.object,closeIcon:t.bool,width:t.oneOfType([t.number,t.string]),height:t.oneOfType([t.number,t.string]),minWidth:t.oneOfType([t.number,t.string]),autoFocus:t.bool},i.defaultProps={autoFocus:!1},i.contextType=o.ZIndexContext;let l=i;const y=o.createPropsContext(),I=o.withIdHOC(o.withPropsContext(y,l));I.displayName="KendoReactDialog";exports.Dialog=I;exports.DialogPropsContext=y;
package/Dialog.mjs CHANGED
@@ -7,21 +7,21 @@
7
7
  */
8
8
  "use client";
9
9
  import * as o from "react";
10
- import * as b from "react-dom";
10
+ import * as v from "react-dom";
11
11
  import e from "prop-types";
12
12
  import { DialogTitleBar as E } from "./DialogTitleBar.mjs";
13
13
  import { DialogActionsBar as c } from "./DialogActionsBar.mjs";
14
- import { dispatchEvent as v, Keys as A, keepFocusInContainer as N, validatePackage as O, shouldShowValidationUI as P, ZIndexContext as d, classNames as Z, WatermarkOverlay as L, canUseDOM as S, createPropsContext as _, withIdHOC as B, withPropsContext as F } from "@progress/kendo-react-common";
14
+ import { dispatchEvent as A, Keys as N, keepFocusInContainer as O, validatePackage as P, shouldShowValidationUI as S, ZIndexContext as d, classNames as Z, WatermarkOverlay as L, canUseDOM as _, createPropsContext as B, withIdHOC as F, withPropsContext as K } from "@progress/kendo-react-common";
15
15
  import { packageMetadata as p } from "./package-metadata.mjs";
16
- import { getMaxZIndex as K } from "./utils.mjs";
17
- import { DEFAULT_DIALOGS_ZINDEX as M, ZINDEX_DIALOGS_STEP as h, DATA_DIALOGS_ID as z } from "./constants.mjs";
16
+ import { getMaxZIndex as M } from "./utils.mjs";
17
+ import { DEFAULT_DIALOGS_ZINDEX as z, ZINDEX_DIALOGS_STEP as h, DATA_DIALOGS_ID as G } from "./constants.mjs";
18
18
  const i = class i extends o.Component {
19
19
  constructor(s) {
20
20
  super(s), this.context = 0, this.titleId = this.generateTitleId(), this.contentId = this.generateContentId(), this.showLicenseWatermark = !1, this.onCloseDialog = (t) => {
21
- t.preventDefault(), v(this.props.onClose, t, this, void 0);
21
+ t.preventDefault(), A(this.props.onClose, t, this, void 0);
22
22
  }, this.onKeyDown = (t) => {
23
- t.keyCode === A.esc && this.props.onClose && (t.preventDefault(), this.onCloseDialog(t)), N(t, this.element);
24
- }, this.getCurrentZIndex = () => !this.state || this.context === void 0 ? this.context ? this.context : M : this.state.zIndex > (this.context ? this.context + h : 0) ? this.state.zIndex : this.context + h, this.getDocument = () => this.props.appendTo ? this.props.appendTo.ownerDocument : document, O(p), this.showLicenseWatermark = P(p);
23
+ t.keyCode === N.esc && this.props.onClose && (t.preventDefault(), this.onCloseDialog(t)), O(t, this.element);
24
+ }, this.getCurrentZIndex = () => !this.state || this.context === void 0 ? this.context ? this.context : z : this.state.zIndex > (this.context ? this.context + h : 0) ? this.state.zIndex : this.context + h, this.getDocument = () => this.props.appendTo ? this.props.appendTo.ownerDocument : document, P(p), this.showLicenseWatermark = S(p);
25
25
  }
26
26
  get _id() {
27
27
  return this.props.id + "-accessibility-id";
@@ -31,34 +31,40 @@ const i = class i extends o.Component {
31
31
  */
32
32
  componentDidMount() {
33
33
  this.element && (this.props.autoFocus && this.element.focus(), this.setState({
34
- zIndex: K(this.getCurrentZIndex(), this.getDocument(), this._id)
34
+ zIndex: M(this.getCurrentZIndex(), this.getDocument(), this._id)
35
35
  }));
36
36
  }
37
37
  /**
38
38
  * @hidden
39
39
  */
40
40
  render() {
41
- const s = this.props.id !== void 0 ? this.props.id : this.titleId, { title: t, width: m, height: u, children: g, minWidth: I, dir: y, style: f, contentStyle: D } = this.props, r = o.Children.toArray(g), x = this.getContent(r), C = this.getActionBar(r), w = t ? {
41
+ const s = this.props.id !== void 0 ? this.props.id : this.titleId, { title: t, width: m, height: u, children: g, minWidth: y, dir: I, style: f, contentStyle: D, modal: x = !0 } = this.props, r = o.Children.toArray(g), C = this.getContent(r), w = this.getActionBar(r), k = t ? {
42
42
  "aria-labelledby": s
43
- } : null, k = this.props.closeIcon !== void 0 ? this.props.closeIcon : !0, a = this.getCurrentZIndex(), l = /* @__PURE__ */ o.createElement(d.Provider, { value: a }, /* @__PURE__ */ o.createElement(
43
+ } : null, T = this.props.closeIcon !== void 0 ? this.props.closeIcon : !0, a = this.getCurrentZIndex(), l = /* @__PURE__ */ o.createElement(d.Provider, { value: a }, /* @__PURE__ */ o.createElement(
44
44
  "div",
45
45
  {
46
- [z]: this._id,
46
+ [G]: this._id,
47
47
  className: "k-dialog-wrapper" + (this.props.className ? " " + this.props.className : ""),
48
48
  onKeyDown: this.onKeyDown,
49
49
  tabIndex: 0,
50
- dir: y,
50
+ dir: I,
51
51
  style: {
52
52
  zIndex: a,
53
53
  ...f
54
54
  },
55
- ref: (T) => this.element = T
55
+ ref: (b) => this.element = b
56
56
  },
57
- /* @__PURE__ */ o.createElement("div", { className: "k-overlay" }),
57
+ x && /* @__PURE__ */ o.createElement(
58
+ "div",
59
+ {
60
+ className: "k-overlay",
61
+ style: this.props.overlayStyle
62
+ }
63
+ ),
58
64
  /* @__PURE__ */ o.createElement(
59
65
  "div",
60
66
  {
61
- ...w,
67
+ ...k,
62
68
  className: Z(
63
69
  "k-window k-dialog",
64
70
  {
@@ -69,23 +75,23 @@ const i = class i extends o.Component {
69
75
  "aria-labelledby": s,
70
76
  "aria-modal": !0,
71
77
  "aria-describedby": this.contentId,
72
- style: { width: m, height: u, minWidth: I }
78
+ style: { width: m, height: u, minWidth: y }
73
79
  },
74
80
  this.props.title && /* @__PURE__ */ o.createElement(
75
81
  E,
76
82
  {
77
- closeIcon: k,
83
+ closeIcon: T,
78
84
  onCloseButtonClick: this.onCloseDialog,
79
85
  id: s
80
86
  },
81
87
  t
82
88
  ),
83
- /* @__PURE__ */ o.createElement("div", { className: "k-window-content k-dialog-content", style: D, id: this.contentId }, x),
84
- C,
89
+ /* @__PURE__ */ o.createElement("div", { className: "k-window-content k-dialog-content", style: D, id: this.contentId }, C),
90
+ w,
85
91
  this.showLicenseWatermark && /* @__PURE__ */ o.createElement(L, null)
86
92
  )
87
93
  ));
88
- return S ? this.props.appendTo !== null ? b.createPortal(l, this.props.appendTo || document.body) : l : null;
94
+ return _ ? this.props.appendTo !== null ? v.createPortal(l, this.props.appendTo || document.body) : l : null;
89
95
  }
90
96
  getActionBar(s) {
91
97
  return s.filter((t) => t && t.type === c);
@@ -114,9 +120,9 @@ i.displayName = "Dialog", i.propTypes = {
114
120
  autoFocus: !1
115
121
  }, i.contextType = d;
116
122
  let n = i;
117
- const G = _(), R = B(F(G, n));
118
- R.displayName = "KendoReactDialog";
123
+ const R = B(), U = F(K(R, n));
124
+ U.displayName = "KendoReactDialog";
119
125
  export {
120
- R as Dialog,
121
- G as DialogPropsContext
126
+ U as Dialog,
127
+ R as DialogPropsContext
122
128
  };
package/DialogTitleBar.js CHANGED
@@ -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 client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),l=require("@progress/kendo-react-buttons"),r=require("@progress/kendo-svg-icons");function c(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=c(i),s=({children:e,onCloseButtonClick:a,id:t,closeIcon:o})=>n.createElement("div",{className:"k-window-titlebar k-dialog-titlebar",id:t},n.createElement("span",{className:"k-window-title k-dialog-title"},e),n.createElement("div",{className:"k-window-titlebar-actions k-dialog-titlebar-actions"},o&&n.createElement(l.Button,{role:"button","aria-label":"Close",onClick:a,icon:"x",svgIcon:r.xIcon,fillMode:"flat",className:"k-window-titlebar-action k-dialog-titlebar-action"})));exports.DialogTitleBar=s;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),l=require("@progress/kendo-react-buttons"),r=require("@progress/kendo-svg-icons");function c(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return a.default=e,Object.freeze(a)}const n=c(i),s=({children:e,onCloseButtonClick:a,id:t,closeIcon:o})=>n.createElement("div",{className:"k-window-titlebar k-dialog-titlebar",id:t},n.createElement("span",{className:"k-window-title k-dialog-title"},e),o&&n.createElement("div",{className:"k-window-titlebar-actions k-dialog-titlebar-actions"},n.createElement(l.Button,{role:"button","aria-label":"Close",onClick:a,icon:"x",svgIcon:r.xIcon,fillMode:"flat",className:"k-window-titlebar-action k-dialog-titlebar-action"})));exports.DialogTitleBar=s;
@@ -9,7 +9,7 @@
9
9
  import * as t from "react";
10
10
  import { Button as o } from "@progress/kendo-react-buttons";
11
11
  import { xIcon as n } from "@progress/kendo-svg-icons";
12
- const s = ({ children: e, onCloseButtonClick: a, id: i, closeIcon: l }) => /* @__PURE__ */ t.createElement("div", { className: "k-window-titlebar k-dialog-titlebar", id: i }, /* @__PURE__ */ t.createElement("span", { className: "k-window-title k-dialog-title" }, e), /* @__PURE__ */ t.createElement("div", { className: "k-window-titlebar-actions k-dialog-titlebar-actions" }, l && /* @__PURE__ */ t.createElement(
12
+ const s = ({ children: e, onCloseButtonClick: a, id: i, closeIcon: l }) => /* @__PURE__ */ t.createElement("div", { className: "k-window-titlebar k-dialog-titlebar", id: i }, /* @__PURE__ */ t.createElement("span", { className: "k-window-title k-dialog-title" }, e), l && /* @__PURE__ */ t.createElement("div", { className: "k-window-titlebar-actions k-dialog-titlebar-actions" }, /* @__PURE__ */ t.createElement(
13
13
  o,
14
14
  {
15
15
  role: "button",
@@ -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
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("react-dom"),require("prop-types"),require("@progress/kendo-react-buttons"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-common"),require("@progress/kendo-react-intl")):"function"==typeof define&&define.amd?define(["exports","react","react-dom","prop-types","@progress/kendo-react-buttons","@progress/kendo-svg-icons","@progress/kendo-react-common","@progress/kendo-react-intl"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).KendoReactDialogs={},t.React,t.ReactDOM,t.PropTypes,t.KendoReactButtons,t.KendoSvgIcons,t.KendoReactCommon,t.KendoReactIntl)}(this,(function(t,e,i,s,o,n,a,r){"use strict";function h(t){var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var d=h(e),l=h(i);const p=({children:t,onCloseButtonClick:e,id:i,closeIcon:s})=>d.createElement("div",{className:"k-window-titlebar k-dialog-titlebar",id:i},d.createElement("span",{className:"k-window-title k-dialog-title"},t),d.createElement("div",{className:"k-window-titlebar-actions k-dialog-titlebar-actions"},s&&d.createElement(o.Button,{role:"button","aria-label":"Close",onClick:e,icon:"x",svgIcon:n.xIcon,fillMode:"flat",className:"k-window-titlebar-action k-dialog-titlebar-action"}))),c=t=>{const e={layout:"stretched",...t},{layout:i,children:s}=e,o=a.classNames("k-actions","k-actions-horizontal","k-window-actions k-dialog-actions",{[`k-actions-${i}`]:i});return d.createElement("div",{className:o},s)};c.propTypes={children:s.any,layout:s.oneOf(["start","center","end","stretched"])};const g={name:"@progress/kendo-react-dialogs",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},u="data-windowid",w=10002,m=(t,e,i)=>{let s=t;if(e&&e.defaultView){let t=e.querySelectorAll(".k-window:not(.k-dialog), .k-dialog-wrapper"),o=!1;return t.forEach((t=>{let n=e.defaultView.getComputedStyle(t,null);if(t.getAttribute(u)!==i&&null!==n.zIndex){let t=parseInt(n.zIndex,10);t>=s&&(s=t,o=!0)}})),o?s+2:s}return s},f=class extends d.Component{constructor(t){super(t),this.context=0,this.titleId=this.generateTitleId(),this.contentId=this.generateContentId(),this.showLicenseWatermark=!1,this.onCloseDialog=t=>{t.preventDefault(),a.dispatchEvent(this.props.onClose,t,this,void 0)},this.onKeyDown=t=>{t.keyCode===a.Keys.esc&&this.props.onClose&&(t.preventDefault(),this.onCloseDialog(t)),a.keepFocusInContainer(t,this.element)},this.getCurrentZIndex=()=>this.state&&void 0!==this.context?this.state.zIndex>(this.context?this.context+2:0)?this.state.zIndex:this.context+2:this.context?this.context:w,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,a.validatePackage(g),this.showLicenseWatermark=a.shouldShowValidationUI(g)}get _id(){return this.props.id+"-accessibility-id"}componentDidMount(){this.element&&(this.props.autoFocus&&this.element.focus(),this.setState({zIndex:m(this.getCurrentZIndex(),this.getDocument(),this._id)}))}render(){const t=void 0!==this.props.id?this.props.id:this.titleId,{title:e,width:i,height:s,children:o,minWidth:n,dir:r,style:h,contentStyle:c}=this.props,g=d.Children.toArray(o),w=this.getContent(g),m=this.getActionBar(g),f=e?{"aria-labelledby":t}:null,C=void 0===this.props.closeIcon||this.props.closeIcon,E=this.getCurrentZIndex(),v=d.createElement(a.ZIndexContext.Provider,{value:E},d.createElement("div",{[u]:this._id,className:"k-dialog-wrapper"+(this.props.className?" "+this.props.className:""),onKeyDown:this.onKeyDown,tabIndex:0,dir:r,style:{zIndex:E,...h},ref:t=>this.element=t},d.createElement("div",{className:"k-overlay"}),d.createElement("div",{...f,className:a.classNames("k-window k-dialog",{[`k-window-${this.props.themeColor}`]:this.props.themeColor}),role:"dialog","aria-labelledby":t,"aria-modal":!0,"aria-describedby":this.contentId,style:{width:i,height:s,minWidth:n}},this.props.title&&d.createElement(p,{closeIcon:C,onCloseButtonClick:this.onCloseDialog,id:t},e),d.createElement("div",{className:"k-window-content k-dialog-content",style:c,id:this.contentId},w),m,this.showLicenseWatermark&&d.createElement(a.WatermarkOverlay,null))));return a.canUseDOM?null!==this.props.appendTo?l.createPortal(v,this.props.appendTo||document.body):v:null}getActionBar(t){return t.filter((t=>t&&t.type===c))}getContent(t){return t.filter((t=>t&&t.type!==c))}generateTitleId(){return"dialog-title-"+this._id}generateContentId(){return"dialog-content-"+this._id}};f.displayName="Dialog",f.propTypes={title:s.any,id:s.string,dir:s.string,style:s.object,closeIcon:s.bool,width:s.oneOfType([s.number,s.string]),height:s.oneOfType([s.number,s.string]),minWidth:s.oneOfType([s.number,s.string]),autoFocus:s.bool},f.defaultProps={autoFocus:!1},f.contextType=a.ZIndexContext;let C=f;const E=a.createPropsContext(),v=a.withIdHOC(a.withPropsContext(E,C));v.displayName="KendoReactDialog";var I=(t=>(t.DEFAULT="DEFAULT",t.FULLSCREEN="FULLSCREEN",t.MINIMIZED="MINIMIZED",t))(I||{});const k="dialogs.windowMaximizeButton",y="dialogs.windowMinimizeButton",b="dialogs.windowRestoreButton",S="dialogs.windowCloseButton",D={[k]:"maximize",[y]:"minimize",[b]:"restore",[S]:"close"},T=t=>{const{children:e,onCloseButtonClick:i,onMinimizeButtonClick:s,onFullScreenButtonClick:a,onRestoreButtonClick:h,onDoubleClick:l,stage:p,forwardedRef:c,id:g}=t,u=r.useLocalization(),w=t.minimizeButton?d.createElement(t.minimizeButton,{onClick:s,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"window-minimize",svgIcon:n.windowMinimizeIcon,className:"k-window-titlebar-action",onClick:s,"aria-label":u.toLanguageString(y,D[y])}),m=t.maximizeButton?d.createElement(t.maximizeButton,{onClick:a,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"window-maximize",svgIcon:n.windowIcon,className:"k-window-titlebar-action",onClick:a,"aria-label":u.toLanguageString(k,D[k])}),f=t.restoreButton?d.createElement(t.restoreButton,{onClick:h,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"window-restore",svgIcon:n.windowRestoreIcon,className:"k-window-titlebar-action",onClick:h,"aria-label":u.toLanguageString(b,D[b])}),C=t.closeButton?d.createElement(t.closeButton,{onClick:i,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"x",svgIcon:n.xIcon,className:"k-window-titlebar-action",onClick:i,"aria-label":u.toLanguageString(S,D[S])});return d.createElement("div",{className:"k-window-titlebar",style:{touchAction:"none"},ref:c,onDoubleClick:l},d.createElement("span",{className:"k-window-title",id:g},e||""),d.createElement("div",{className:"k-window-titlebar-actions"},p===I.DEFAULT&&w,p===I.DEFAULT&&m,p!==I.DEFAULT&&f,C))},x=d.forwardRef(((t,e)=>d.createElement(T,{...t,forwardedRef:e}))),L=["n","e","s","w","se","sw","ne","nw"];let B=class extends d.Component{render(){return d.createElement("div",{className:"k-resize-handles-wrapper"}," ",L.map(((t,e)=>d.createElement(a.Draggable,{key:e,onDrag:e=>{const{event:i}=e;i.originalEvent.preventDefault(),this.props.onResize(i,{end:!1,direction:t})},onRelease:e=>{const{event:i}=e;i.originalEvent.preventDefault(),this.props.onResize(i,{end:!0,direction:t})}},d.createElement("div",{className:"k-resize-handle k-resize-"+t,style:{display:"block",touchAction:"none"}})))))}};class N extends d.Component{shouldComponentUpdate(t){return t.shouldUpdateOnDrag||!t.isDragging}render(){return this.props.children}}const z=t=>{const e={layout:"end",...t},{layout:i,children:s}=e,o=a.classNames("k-actions","k-window-actions","k-actions-horizontal","k-hstack",{"k-justify-content-start":"start"===i,"k-justify-content-center":"center"===i,"k-justify-content-end":"end"===i,"k-justify-content-stretch":"stretched"===i});return d.createElement("div",{className:o},s)};z.propTypes={children:s.any,layout:s.oneOf(["start","center","end","stretched"])};const M=class extends d.Component{constructor(t){super(t),this.context=0,this.draggable=null,this.offSetCoordinates={x:0,y:0},this.titleId=this.generateTitleId(),this.mounted=!1,this.showLicenseWatermark=!1,this.onKeyDown=t=>{if(t.target!==t.currentTarget)return;const e=this.props.minWidth||120,i=this.props.minHeight||100;if(t.ctrlKey&&this.props.resizable){switch(t.keyCode){case a.Keys.up:t.preventDefault(),i<=this.height-5&&this.setState({height:this.height-5});break;case a.Keys.down:t.preventDefault(),this.setState({height:this.height+5});break;case a.Keys.left:e<=this.width-5&&this.setState({width:this.width-5});break;case a.Keys.right:this.setState({width:this.width+5});break;default:return}this.dispatchMoveEvent(this.props.onResize,t,!1,void 0)}else if(t.altKey)switch(t.keyCode){case a.Keys.up:this.windowStage===I.MINIMIZED?(this.handleRestore(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.DEFAULT})):this.windowStage===I.DEFAULT&&(this.handleFullscreen(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.FULLSCREEN}));break;case a.Keys.down:this.windowStage===I.FULLSCREEN?(this.handleRestore(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.DEFAULT})):this.windowStage===I.DEFAULT&&(this.handleMinimize(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.MINIMIZED}))}else{if(!t.ctrlKey)switch(t.keyCode){case a.Keys.esc:return void(this.props.onClose&&this.handleCloseWindow(t));case a.Keys.up:this.setState({top:this.state.top-5});break;case a.Keys.down:this.setState({top:this.state.top+5});break;case a.Keys.left:this.setState({left:this.state.left-5});break;case a.Keys.right:this.setState({left:this.state.left+5});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!==I.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!==I.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:m(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(void 0!==this.props.top)return this.props.top;if(void 0!==this.props.initialTop)return this.props.initialTop;let t=300;if(void 0!==this.props.height?t=this.props.height:void 0!==this.props.initialHeight&&(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(void 0!==this.props.left)return this.props.left;if(void 0!==this.props.initialLeft)return this.props.initialLeft;let t=300;if(void 0!==this.props.width?t=this.props.width:void 0!==this.props.initialWidth&&(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=300;return void 0!==this.props.width?t=this.props.width:void 0!==this.props.initialWidth&&(t=this.props.initialWidth),t},this.getInitialHeight=()=>{let t=300;return void 0!==this.props.height?t=this.props.height:void 0!==this.props.initialHeight&&(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:I.MINIMIZED,height:0}),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.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(),i=e?e.innerWidth:0,s=e?e.innerHeight:0;this.setState({left:0,top:0,width:this.props.appendTo?this.props.appendTo.offsetWidth:i,height:this.props.appendTo?this.props.appendTo.offsetHeight:s,stage:I.FULLSCREEN}),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.FULLSCREEN})},this.handleRestore=t=>{t.preventDefault(),this.windowStage===I.FULLSCREEN?this.setState({stage:I.DEFAULT,left:this.windowCoordinatesState.leftBeforeAction,top:this.windowCoordinatesState.topBeforeAction,width:this.windowCoordinatesState.widthBeforeAction,height:this.windowCoordinatesState.heightBeforeAction}):this.windowStage===I.MINIMIZED&&this.setState({stage:I.DEFAULT,height:this.windowCoordinatesState.heightBeforeAction}),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.DEFAULT})},this.handleCloseWindow=t=>{t.preventDefault(),a.dispatchEvent(this.props.onClose,t,this,{state:void 0})},this.handleDoubleClick=t=>{this.windowStage===I.FULLSCREEN||this.windowStage===I.MINIMIZED?this.handleRestore(t):this.handleFullscreen(t)},this.handleResize=(t,e)=>{const i=this.props.appendTo?t.pageX-this.offSetCoordinates.x:t.pageX,s=this.props.appendTo?t.pageY-this.offSetCoordinates.y:t.pageY,o=this.width,n=this.height,a=this.props.minWidth||120,r=this.props.minHeight||100,h=this.top-s,d=this.left-i;let l=i-this.left,p=s-this.top;const c=Object.assign({},this.state,{isDragging:!e.end});e.direction.indexOf("n")>=0&&r-(n+h)<0&&(this.top>0&&(c.height=n+h),c.top=s),e.direction.indexOf("s")>=0&&r-p<0&&(c.height=p),e.direction.indexOf("w")>=0&&a-(o+d)<0&&(this.left>0&&(c.width=o+d),c.left=i),e.direction.indexOf("e")>=0&&a-l<0&&(c.width=l),this.setState(c),this.dispatchMoveEvent(this.props.onResize,t,!0,e.end)},this.dispatchMoveEvent=(t,e,i,s)=>{t&&t.call(void 0,{nativeEvent:e.nativeEvent?e.nativeEvent:e.originalEvent,drag:i,end:s,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===I.FULLSCREEN){const t=this.getWindow(),e=t?t.innerWidth:0,i=t?t.innerHeight:0;this.setState({width:this.props.appendTo?this.props.appendTo.offsetWidth:e,height:this.props.appendTo?this.props.appendTo.offsetHeight:i})}},this.getCurrentZIndex=()=>this.state&&void 0!==this.context?this.state.zIndex>(this.context?this.context+2:0)?this.state.zIndex:this.context+2:this.context?this.context:w,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,this.getWindow=()=>{const t=this.getDocument();return t&&t.defaultView},a.validatePackage(g),this.showLicenseWatermark=a.shouldShowValidationUI(g),this.state={stage:this.props.stage||I.DEFAULT,isDragging:!1,top:0,left:0,width:300,height:300,focused:!0,zIndex:w}}get _id(){return this.props.id+"-accessibility-id"}componentDidMount(){const t=this.getWindow();t&&t.addEventListener("resize",this.handleBrowserWindowResize),this.setState({stage:this.props.stage||I.DEFAULT,isDragging:!1,top:this.getInitialTop(),left:this.getInitialLeft(),width:this.getInitialWidth(),height:this.getInitialHeight(),focused:!0,zIndex:m(this.getCurrentZIndex(),this.getDocument(),this._id)}),this.windowCoordinatesState={leftBeforeAction:this.getInitialLeft(),topBeforeAction:this.getInitialTop(),widthBeforeAction:this.getInitialWidth(),heightBeforeAction:this.getInitialHeight()};const e=this.getDocument();if(this.props.appendTo&&e){let t=this.props.appendTo.getBoundingClientRect(),i=e.body.getBoundingClientRect();this.offSetCoordinates.x=t.left-i.left,this.offSetCoordinates.y=t.top-i.top}this.mounted=!0}componentWillUnmount(){const t=this.getWindow();t&&t.removeEventListener("resize",this.handleBrowserWindowResize),this.mounted=!1}componentDidUpdate(){const t=this.getDocument();if(this.props.appendTo&&t){let e=this.props.appendTo.getBoundingClientRect(),i=t.body.getBoundingClientRect();this.offSetCoordinates.x=e.left-i.left,this.offSetCoordinates.y=e.top-i.top}this.mounted=!0}render(){const t=d.Children.toArray(this.props.children),e=this.getContent(t),i=this.getActionBar(t),s=this.getCurrentZIndex(),o=a.classNames("k-window",this.props.className,{[`k-window-${this.props.themeColor}`]:this.props.themeColor,"k-window-minimized":"MINIMIZED"===this.state.stage,"k-window-focused":this.state.focused}),n=d.createElement(a.ZIndexContext.Provider,{value:s},d.createElement(d.Fragment,null,this.props.modal&&d.createElement("div",{className:"k-overlay",style:{zIndex:s,...this.props.overlayStyle}}),d.createElement("div",{id:this.props.id,[u]:this._id,tabIndex:0,role:"dialog","aria-labelledby":this.titleId,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,ref:t=>{this.windowElement=t,this.element=t},className:o,style:{top:this.top,left:this.left,width:this.width,height:this.height||"",zIndex:s,...this.props.style}},d.createElement(N,{shouldUpdateOnDrag:this.props.shouldUpdateOnDrag||!1,isDragging:this.state.isDragging},d.createElement(a.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>this.draggable=t},d.createElement(x,{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!==I.MINIMIZED?d.createElement(d.Fragment,null,d.createElement("div",{className:"k-window-content"},e),i):null,this.windowStage===I.DEFAULT&&this.props.resizable?d.createElement(B,{onResize:this.handleResize}):null),this.showLicenseWatermark&&d.createElement(a.WatermarkOverlay,null))));return a.canUseDOM?null!==this.props.appendTo?l.createPortal(n,this.props.appendTo||document.body):n:null}get top(){return this.windowStage!==I.FULLSCREEN?Math.max(this.props.top||this.state.top,0):0}get left(){return this.windowStage!==I.FULLSCREEN?Math.max(this.props.left||this.state.left,0):0}get width(){let t=this.props.width||this.state.width;if(this.windowStage===I.FULLSCREEN){if(this.props.appendTo)return t=this.props.appendTo.offsetWidth,t;const e=this.getWindow();t=e?e.innerWidth:0}return t}get height(){let t=this.props.height||this.state.height;if(this.windowStage===I.FULLSCREEN){if(this.props.appendTo)return t=this.props.appendTo.offsetHeight,t;const e=this.getWindow();t=e?e.innerHeight:0}else this.windowStage===I.MINIMIZED&&(t=0);return t}get windowStage(){return this.props.stage||this.state.stage}getActionBar(t){return t.filter((t=>t&&t.type===z))}getContent(t){return t.filter((t=>t&&t.type!==z))}generateTitleId(){return"window-title-"+this._id}};M.displayName="Window",M.propTypes={width:s.number,height:s.number,left:s.number,top:s.number,initialWidth:s.number,initialHeight:s.number,initialLeft:s.number,initialTop:s.number,minWidth:s.number,minHeight:s.number,resizable:s.bool,draggable:s.bool,title:s.any,shouldUpdateOnDrag:s.bool,stage:s.oneOf(["DEFAULT","MINIMIZED","FULLSCREEN"]),className:s.string,id:s.string,style:s.object,overlayStyle:s.object},M.defaultProps={minWidth:120,minHeight:100,resizable:!0,draggable:!0,modal:!1,doubleClickStageChange:!0},M.contextType=a.ZIndexContext;let R=M;const W=a.createPropsContext(),F=a.withIdHOC(a.withPropsContext(W,R));F.displayName="KendoReactWindow",t.Dialog=v,t.DialogActionsBar=c,t.DialogPropsContext=E,t.Window=F,t.WindowActionsBar=z,t.WindowPropsContext=W}));
8
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("react-dom"),require("prop-types"),require("@progress/kendo-react-buttons"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-common"),require("@progress/kendo-react-intl")):"function"==typeof define&&define.amd?define(["exports","react","react-dom","prop-types","@progress/kendo-react-buttons","@progress/kendo-svg-icons","@progress/kendo-react-common","@progress/kendo-react-intl"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).KendoReactDialogs={},t.React,t.ReactDOM,t.PropTypes,t.KendoReactButtons,t.KendoSvgIcons,t.KendoReactCommon,t.KendoReactIntl)}(this,(function(t,e,i,s,o,n,a,r){"use strict";function h(t){var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var d=h(e),l=h(i);const p=({children:t,onCloseButtonClick:e,id:i,closeIcon:s})=>d.createElement("div",{className:"k-window-titlebar k-dialog-titlebar",id:i},d.createElement("span",{className:"k-window-title k-dialog-title"},t),s&&d.createElement("div",{className:"k-window-titlebar-actions k-dialog-titlebar-actions"},d.createElement(o.Button,{role:"button","aria-label":"Close",onClick:e,icon:"x",svgIcon:n.xIcon,fillMode:"flat",className:"k-window-titlebar-action k-dialog-titlebar-action"}))),c=t=>{const e={layout:"stretched",...t},{layout:i,children:s}=e,o=a.classNames("k-actions","k-actions-horizontal","k-window-actions k-dialog-actions",{[`k-actions-${i}`]:i});return d.createElement("div",{className:o},s)};c.propTypes={children:s.any,layout:s.oneOf(["start","center","end","stretched"])};const g={name:"@progress/kendo-react-dialogs",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},u="data-windowid",w=10002,m=(t,e,i)=>{let s=t;if(e&&e.defaultView){let t=e.querySelectorAll(".k-window:not(.k-dialog), .k-dialog-wrapper"),o=!1;return t.forEach((t=>{let n=e.defaultView.getComputedStyle(t,null);if(t.getAttribute(u)!==i&&null!==n.zIndex){let t=parseInt(n.zIndex,10);t>=s&&(s=t,o=!0)}})),o?s+2:s}return s},f=class extends d.Component{constructor(t){super(t),this.context=0,this.titleId=this.generateTitleId(),this.contentId=this.generateContentId(),this.showLicenseWatermark=!1,this.onCloseDialog=t=>{t.preventDefault(),a.dispatchEvent(this.props.onClose,t,this,void 0)},this.onKeyDown=t=>{t.keyCode===a.Keys.esc&&this.props.onClose&&(t.preventDefault(),this.onCloseDialog(t)),a.keepFocusInContainer(t,this.element)},this.getCurrentZIndex=()=>this.state&&void 0!==this.context?this.state.zIndex>(this.context?this.context+2:0)?this.state.zIndex:this.context+2:this.context?this.context:w,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,a.validatePackage(g),this.showLicenseWatermark=a.shouldShowValidationUI(g)}get _id(){return this.props.id+"-accessibility-id"}componentDidMount(){this.element&&(this.props.autoFocus&&this.element.focus(),this.setState({zIndex:m(this.getCurrentZIndex(),this.getDocument(),this._id)}))}render(){const t=void 0!==this.props.id?this.props.id:this.titleId,{title:e,width:i,height:s,children:o,minWidth:n,dir:r,style:h,contentStyle:c,modal:g=!0}=this.props,w=d.Children.toArray(o),m=this.getContent(w),f=this.getActionBar(w),C=e?{"aria-labelledby":t}:null,E=void 0===this.props.closeIcon||this.props.closeIcon,v=this.getCurrentZIndex(),I=d.createElement(a.ZIndexContext.Provider,{value:v},d.createElement("div",{[u]:this._id,className:"k-dialog-wrapper"+(this.props.className?" "+this.props.className:""),onKeyDown:this.onKeyDown,tabIndex:0,dir:r,style:{zIndex:v,...h},ref:t=>this.element=t},g&&d.createElement("div",{className:"k-overlay",style:this.props.overlayStyle}),d.createElement("div",{...C,className:a.classNames("k-window k-dialog",{[`k-window-${this.props.themeColor}`]:this.props.themeColor}),role:"dialog","aria-labelledby":t,"aria-modal":!0,"aria-describedby":this.contentId,style:{width:i,height:s,minWidth:n}},this.props.title&&d.createElement(p,{closeIcon:E,onCloseButtonClick:this.onCloseDialog,id:t},e),d.createElement("div",{className:"k-window-content k-dialog-content",style:c,id:this.contentId},m),f,this.showLicenseWatermark&&d.createElement(a.WatermarkOverlay,null))));return a.canUseDOM?null!==this.props.appendTo?l.createPortal(I,this.props.appendTo||document.body):I:null}getActionBar(t){return t.filter((t=>t&&t.type===c))}getContent(t){return t.filter((t=>t&&t.type!==c))}generateTitleId(){return"dialog-title-"+this._id}generateContentId(){return"dialog-content-"+this._id}};f.displayName="Dialog",f.propTypes={title:s.any,id:s.string,dir:s.string,style:s.object,closeIcon:s.bool,width:s.oneOfType([s.number,s.string]),height:s.oneOfType([s.number,s.string]),minWidth:s.oneOfType([s.number,s.string]),autoFocus:s.bool},f.defaultProps={autoFocus:!1},f.contextType=a.ZIndexContext;let C=f;const E=a.createPropsContext(),v=a.withIdHOC(a.withPropsContext(E,C));v.displayName="KendoReactDialog";var I=(t=>(t.DEFAULT="DEFAULT",t.FULLSCREEN="FULLSCREEN",t.MINIMIZED="MINIMIZED",t))(I||{});const k="dialogs.windowMaximizeButton",y="dialogs.windowMinimizeButton",S="dialogs.windowRestoreButton",b="dialogs.windowCloseButton",D={[k]:"maximize",[y]:"minimize",[S]:"restore",[b]:"close"},T=t=>{const{children:e,onCloseButtonClick:i,onMinimizeButtonClick:s,onFullScreenButtonClick:a,onRestoreButtonClick:h,onDoubleClick:l,stage:p,forwardedRef:c,id:g}=t,u=r.useLocalization(),w=t.minimizeButton?d.createElement(t.minimizeButton,{onClick:s,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"window-minimize",svgIcon:n.windowMinimizeIcon,className:"k-window-titlebar-action",onClick:s,"aria-label":u.toLanguageString(y,D[y])}),m=t.maximizeButton?d.createElement(t.maximizeButton,{onClick:a,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"window-maximize",svgIcon:n.windowIcon,className:"k-window-titlebar-action",onClick:a,"aria-label":u.toLanguageString(k,D[k])}),f=t.restoreButton?d.createElement(t.restoreButton,{onClick:h,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"window-restore",svgIcon:n.windowRestoreIcon,className:"k-window-titlebar-action",onClick:h,"aria-label":u.toLanguageString(S,D[S])}),C=t.closeButton?d.createElement(t.closeButton,{onClick:i,stage:p}):d.createElement(o.Button,{fillMode:"flat",icon:"x",svgIcon:n.xIcon,className:"k-window-titlebar-action",onClick:i,"aria-label":u.toLanguageString(b,D[b])});return d.createElement("div",{className:"k-window-titlebar",style:{touchAction:"none"},ref:c,onDoubleClick:l},d.createElement("span",{className:"k-window-title",id:g},e||""),d.createElement("div",{className:"k-window-titlebar-actions"},p===I.DEFAULT&&w,p===I.DEFAULT&&m,p!==I.DEFAULT&&f,C))},x=d.forwardRef(((t,e)=>d.createElement(T,{...t,forwardedRef:e}))),L=["n","e","s","w","se","sw","ne","nw"];let B=class extends d.Component{render(){return d.createElement("div",{className:"k-resize-handles-wrapper"}," ",L.map(((t,e)=>d.createElement(a.Draggable,{key:e,onDrag:e=>{const{event:i}=e;i.originalEvent.preventDefault(),this.props.onResize(i,{end:!1,direction:t})},onRelease:e=>{const{event:i}=e;i.originalEvent.preventDefault(),this.props.onResize(i,{end:!0,direction:t})}},d.createElement("div",{className:"k-resize-handle k-resize-"+t,style:{display:"block",touchAction:"none"}})))))}};class N extends d.Component{shouldComponentUpdate(t){return t.shouldUpdateOnDrag||!t.isDragging}render(){return this.props.children}}const z=t=>{const e={layout:"end",...t},{layout:i,children:s}=e,o=a.classNames("k-actions","k-window-actions","k-actions-horizontal","k-hstack",{"k-justify-content-start":"start"===i,"k-justify-content-center":"center"===i,"k-justify-content-end":"end"===i,"k-justify-content-stretch":"stretched"===i});return d.createElement("div",{className:o},s)};z.propTypes={children:s.any,layout:s.oneOf(["start","center","end","stretched"])};const M=class extends d.Component{constructor(t){super(t),this.context=0,this.draggable=null,this.offSetCoordinates={x:0,y:0},this.titleId=this.generateTitleId(),this.mounted=!1,this.showLicenseWatermark=!1,this.onKeyDown=t=>{if(t.target!==t.currentTarget)return;const e=this.props.minWidth||120,i=this.props.minHeight||100;if(t.ctrlKey&&this.props.resizable){switch(t.keyCode){case a.Keys.up:t.preventDefault(),i<=this.height-5&&this.setState({height:this.height-5});break;case a.Keys.down:t.preventDefault(),this.setState({height:this.height+5});break;case a.Keys.left:e<=this.width-5&&this.setState({width:this.width-5});break;case a.Keys.right:this.setState({width:this.width+5});break;default:return}this.dispatchMoveEvent(this.props.onResize,t,!1,void 0)}else if(t.altKey)switch(t.keyCode){case a.Keys.up:this.windowStage===I.MINIMIZED?(this.handleRestore(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.DEFAULT})):this.windowStage===I.DEFAULT&&(this.handleFullscreen(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.FULLSCREEN}));break;case a.Keys.down:this.windowStage===I.FULLSCREEN?(this.handleRestore(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.DEFAULT})):this.windowStage===I.DEFAULT&&(this.handleMinimize(t),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.MINIMIZED}))}else{if(!t.ctrlKey)switch(t.keyCode){case a.Keys.esc:return void(this.props.onClose&&this.handleCloseWindow(t));case a.Keys.up:this.setState({top:this.state.top-5});break;case a.Keys.down:this.setState({top:this.state.top+5});break;case a.Keys.left:this.setState({left:this.state.left-5});break;case a.Keys.right:this.setState({left:this.state.left+5});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!==I.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!==I.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:m(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(void 0!==this.props.top)return this.props.top;if(void 0!==this.props.initialTop)return this.props.initialTop;let t=300;if(void 0!==this.props.height?t=this.props.height:void 0!==this.props.initialHeight&&(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(void 0!==this.props.left)return this.props.left;if(void 0!==this.props.initialLeft)return this.props.initialLeft;let t=300;if(void 0!==this.props.width?t=this.props.width:void 0!==this.props.initialWidth&&(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=300;return void 0!==this.props.width?t=this.props.width:void 0!==this.props.initialWidth&&(t=this.props.initialWidth),t},this.getInitialHeight=()=>{let t=300;return void 0!==this.props.height?t=this.props.height:void 0!==this.props.initialHeight&&(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:I.MINIMIZED,height:0}),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.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(),i=e?e.innerWidth:0,s=e?e.innerHeight:0;this.setState({left:0,top:0,width:this.props.appendTo?this.props.appendTo.offsetWidth:i,height:this.props.appendTo?this.props.appendTo.offsetHeight:s,stage:I.FULLSCREEN}),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.FULLSCREEN})},this.handleRestore=t=>{t.preventDefault(),this.windowStage===I.FULLSCREEN?this.setState({stage:I.DEFAULT,left:this.windowCoordinatesState.leftBeforeAction,top:this.windowCoordinatesState.topBeforeAction,width:this.windowCoordinatesState.widthBeforeAction,height:this.windowCoordinatesState.heightBeforeAction}):this.windowStage===I.MINIMIZED&&this.setState({stage:I.DEFAULT,height:this.windowCoordinatesState.heightBeforeAction}),a.dispatchEvent(this.props.onStageChange,t,this,{state:I.DEFAULT})},this.handleCloseWindow=t=>{t.preventDefault(),a.dispatchEvent(this.props.onClose,t,this,{state:void 0})},this.handleDoubleClick=t=>{this.windowStage===I.FULLSCREEN||this.windowStage===I.MINIMIZED?this.handleRestore(t):this.handleFullscreen(t)},this.handleResize=(t,e)=>{const i=this.props.appendTo?t.pageX-this.offSetCoordinates.x:t.pageX,s=this.props.appendTo?t.pageY-this.offSetCoordinates.y:t.pageY,o=this.width,n=this.height,a=this.props.minWidth||120,r=this.props.minHeight||100,h=this.top-s,d=this.left-i;let l=i-this.left,p=s-this.top;const c=Object.assign({},this.state,{isDragging:!e.end});e.direction.indexOf("n")>=0&&r-(n+h)<0&&(this.top>0&&(c.height=n+h),c.top=s),e.direction.indexOf("s")>=0&&r-p<0&&(c.height=p),e.direction.indexOf("w")>=0&&a-(o+d)<0&&(this.left>0&&(c.width=o+d),c.left=i),e.direction.indexOf("e")>=0&&a-l<0&&(c.width=l),this.setState(c),this.dispatchMoveEvent(this.props.onResize,t,!0,e.end)},this.dispatchMoveEvent=(t,e,i,s)=>{t&&t.call(void 0,{nativeEvent:e.nativeEvent?e.nativeEvent:e.originalEvent,drag:i,end:s,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===I.FULLSCREEN){const t=this.getWindow(),e=t?t.innerWidth:0,i=t?t.innerHeight:0;this.setState({width:this.props.appendTo?this.props.appendTo.offsetWidth:e,height:this.props.appendTo?this.props.appendTo.offsetHeight:i})}},this.getCurrentZIndex=()=>this.state&&void 0!==this.context?this.state.zIndex>(this.context?this.context+2:0)?this.state.zIndex:this.context+2:this.context?this.context:w,this.getDocument=()=>this.props.appendTo?this.props.appendTo.ownerDocument:document,this.getWindow=()=>{const t=this.getDocument();return t&&t.defaultView},a.validatePackage(g),this.showLicenseWatermark=a.shouldShowValidationUI(g),this.state={stage:this.props.stage||I.DEFAULT,isDragging:!1,top:0,left:0,width:300,height:300,focused:!0,zIndex:w}}get _id(){return this.props.id+"-accessibility-id"}componentDidMount(){const t=this.getWindow();t&&t.addEventListener("resize",this.handleBrowserWindowResize),this.setState({stage:this.props.stage||I.DEFAULT,isDragging:!1,top:this.getInitialTop(),left:this.getInitialLeft(),width:this.getInitialWidth(),height:this.getInitialHeight(),focused:!0,zIndex:m(this.getCurrentZIndex(),this.getDocument(),this._id)}),this.windowCoordinatesState={leftBeforeAction:this.getInitialLeft(),topBeforeAction:this.getInitialTop(),widthBeforeAction:this.getInitialWidth(),heightBeforeAction:this.getInitialHeight()};const e=this.getDocument();if(this.props.appendTo&&e){let t=this.props.appendTo.getBoundingClientRect(),i=e.body.getBoundingClientRect();this.offSetCoordinates.x=t.left-i.left,this.offSetCoordinates.y=t.top-i.top}this.mounted=!0}componentWillUnmount(){const t=this.getWindow();t&&t.removeEventListener("resize",this.handleBrowserWindowResize),this.mounted=!1}componentDidUpdate(){const t=this.getDocument();if(this.props.appendTo&&t){let e=this.props.appendTo.getBoundingClientRect(),i=t.body.getBoundingClientRect();this.offSetCoordinates.x=e.left-i.left,this.offSetCoordinates.y=e.top-i.top}this.mounted=!0}render(){const t=d.Children.toArray(this.props.children),e=this.getContent(t),i=this.getActionBar(t),s=this.getCurrentZIndex(),o=a.classNames("k-window",this.props.className,{[`k-window-${this.props.themeColor}`]:this.props.themeColor,"k-window-minimized":"MINIMIZED"===this.state.stage,"k-window-focused":this.state.focused}),n=d.createElement(a.ZIndexContext.Provider,{value:s},d.createElement(d.Fragment,null,this.props.modal&&d.createElement("div",{className:"k-overlay",style:{zIndex:s,...this.props.overlayStyle}}),d.createElement("div",{id:this.props.id,[u]:this._id,tabIndex:0,role:"dialog","aria-labelledby":this.titleId,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,ref:t=>{this.windowElement=t,this.element=t},className:o,style:{top:this.top,left:this.left,width:this.width,height:this.height||"",zIndex:s,...this.props.style}},d.createElement(N,{shouldUpdateOnDrag:this.props.shouldUpdateOnDrag||!1,isDragging:this.state.isDragging},d.createElement(a.Draggable,{onPress:this.onPress,onDrag:this.onDrag,onRelease:this.onRelease,ref:t=>this.draggable=t},d.createElement(x,{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!==I.MINIMIZED?d.createElement(d.Fragment,null,d.createElement("div",{className:"k-window-content"},e),i):null,this.windowStage===I.DEFAULT&&this.props.resizable?d.createElement(B,{onResize:this.handleResize}):null),this.showLicenseWatermark&&d.createElement(a.WatermarkOverlay,null))));return a.canUseDOM?null!==this.props.appendTo?l.createPortal(n,this.props.appendTo||document.body):n:null}get top(){return this.windowStage!==I.FULLSCREEN?Math.max(this.props.top||this.state.top,0):0}get left(){return this.windowStage!==I.FULLSCREEN?Math.max(this.props.left||this.state.left,0):0}get width(){let t=this.props.width||this.state.width;if(this.windowStage===I.FULLSCREEN){if(this.props.appendTo)return t=this.props.appendTo.offsetWidth,t;const e=this.getWindow();t=e?e.innerWidth:0}return t}get height(){let t=this.props.height||this.state.height;if(this.windowStage===I.FULLSCREEN){if(this.props.appendTo)return t=this.props.appendTo.offsetHeight,t;const e=this.getWindow();t=e?e.innerHeight:0}else this.windowStage===I.MINIMIZED&&(t=0);return t}get windowStage(){return this.props.stage||this.state.stage}getActionBar(t){return t.filter((t=>t&&t.type===z))}getContent(t){return t.filter((t=>t&&t.type!==z))}generateTitleId(){return"window-title-"+this._id}};M.displayName="Window",M.propTypes={width:s.number,height:s.number,left:s.number,top:s.number,initialWidth:s.number,initialHeight:s.number,initialLeft:s.number,initialTop:s.number,minWidth:s.number,minHeight:s.number,resizable:s.bool,draggable:s.bool,title:s.any,shouldUpdateOnDrag:s.bool,stage:s.oneOf(["DEFAULT","MINIMIZED","FULLSCREEN"]),className:s.string,id:s.string,style:s.object,overlayStyle:s.object},M.defaultProps={minWidth:120,minHeight:100,resizable:!0,draggable:!0,modal:!1,doubleClickStageChange:!0},M.contextType=a.ZIndexContext;let R=M;const W=a.createPropsContext(),F=a.withIdHOC(a.withPropsContext(W,R));F.displayName="KendoReactWindow",t.Dialog=v,t.DialogActionsBar=c,t.DialogPropsContext=E,t.Window=F,t.WindowActionsBar=z,t.WindowPropsContext=W}));
package/index.d.mts CHANGED
@@ -82,6 +82,14 @@ export declare interface DialogProps {
82
82
  * Specifies whether a close button should be rendered at the top corner of the dialog.
83
83
  */
84
84
  closeIcon?: boolean;
85
+ /**
86
+ * Specifies if the Dialog will be modal by rendering an overlay under the component. Defaults to `true`.
87
+ */
88
+ modal?: boolean;
89
+ /**
90
+ * Set styles to the Dialog overlay element rendered when the `modal` prop is enabled.
91
+ */
92
+ overlayStyle?: React.CSSProperties;
85
93
  /**
86
94
  * Specifies the width of the Dialog ([see example]({% slug dimensions_dialog %})).
87
95
  */
package/index.d.ts CHANGED
@@ -82,6 +82,14 @@ export declare interface DialogProps {
82
82
  * Specifies whether a close button should be rendered at the top corner of the dialog.
83
83
  */
84
84
  closeIcon?: boolean;
85
+ /**
86
+ * Specifies if the Dialog will be modal by rendering an overlay under the component. Defaults to `true`.
87
+ */
88
+ modal?: boolean;
89
+ /**
90
+ * Set styles to the Dialog overlay element rendered when the `modal` prop is enabled.
91
+ */
92
+ overlayStyle?: React.CSSProperties;
85
93
  /**
86
94
  * Specifies the width of the Dialog ([see example]({% slug dimensions_dialog %})).
87
95
  */
@@ -10,7 +10,7 @@ const e = {
10
10
  name: "@progress/kendo-react-dialogs",
11
11
  productName: "KendoReact",
12
12
  productCodes: ["KENDOUIREACT", "KENDOUICOMPLETE"],
13
- publishDate: 1712846564,
13
+ publishDate: 1714396963,
14
14
  version: "",
15
15
  licensingDocsUrl: "https://www.telerik.com/kendo-react-ui/components/my-license/"
16
16
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-dialogs",
3
- "version": "7.4.0",
3
+ "version": "7.5.0-develop.10",
4
4
  "description": "React Dialogs provide modal and non-modal windows for showing additional information to the user. KendoReact Dialogs package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -23,8 +23,8 @@
23
23
  "sideEffects": false,
24
24
  "peerDependencies": {
25
25
  "@progress/kendo-licensing": "^1.3.4",
26
- "@progress/kendo-react-buttons": "7.4.0",
27
- "@progress/kendo-react-common": "7.4.0",
26
+ "@progress/kendo-react-buttons": "7.5.0-develop.10",
27
+ "@progress/kendo-react-common": "7.5.0-develop.10",
28
28
  "@progress/kendo-svg-icons": "^2.1.0",
29
29
  "react": "^16.8.2 || ^17.0.0 || ^18.0.0",
30
30
  "react-dom": "^16.8.2 || ^17.0.0 || ^18.0.0"