@progress/kendo-react-diagram 14.3.1-develop.3 → 14.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,93 @@
1
- # KendoReact Diagram
1
+ [![KendoReact NPM Banner](https://raw.githubusercontent.com/telerik/kendo-react/master/images/kendoreact-github-banner.png)](https://www.telerik.com/kendo-react-ui/components/free?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram&utm_content=banner)
2
2
 
3
- The Diagram component is part of the [KendoReact library](https://www.telerik.com/kendo-react-ui/).
3
+ # KendoReact Diagram Component for React
4
+
5
+ > **Important**
6
+ >
7
+ > - This package is а part of [KendoReact](https://www.telerik.com/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)—an enterprise-grade UI library with 120+ free and premium components.
8
+ > - To use this package, you must install a license key file, whether you are on a paid license or a 30-day free trial. To receive a license key, either [purchase a license](https://www.telerik.com/kendo-react-ui/pricing) or start a [free trial](https://www.telerik.com/download-login-v2-kendo-react-ui).
9
+ > - It provides premium KendoReact components and features. You will need to install a license key when adding the package to your project. For more information, please refer to the [KendoReact My License page](https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram).
10
+ > - To receive a license key, you need to either [purchase a license](https://www.telerik.com/kendo-react-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram) or register for a [free trial](https://www.telerik.com/try/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram). Doing so indicates that you [accept the KendoReact License Agreement](https://www.telerik.com/purchase/license-agreement/progress-kendoreact?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram).
11
+ > - The 30-day free trial gives you access to all KendoReact components and their full functionality. Additionally, for the period of your trial, you can use our legendary technical support provided directly by the KendoReact dev team!
12
+ >
13
+ > [Start using KendoReact](https://www.telerik.com/try/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram) and speed up your development process!
14
+ >
15
+ > If you're looking for free React components, check out [Get Started with KendoReact Free](https://www.telerik.com/kendo-react-ui/components/free).
16
+
17
+ The React Diagram component, part of KendoReact, provides a powerful way to create, visualize, and edit interactive diagrams and flowcharts in your React applications.
18
+
19
+ How to start:
20
+
21
+ ```sh
22
+ npm i @progress/kendo-react-diagram
23
+ ```
24
+
25
+ ## React Diagram Component
26
+
27
+ [The React Diagram component](https://www.telerik.com/kendo-react-ui/components/diagram/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram) enables you to create interactive diagrams from scratch or visualize existing structures such as organizational charts, mind maps, and flowcharts.
28
+
29
+ Among the many features which the KendoReact Diagram delivers are:
30
+
31
+ - **Shapes and connections**—Create shapes with customizable appearance, content, connectors, and link them via flexible connections.
32
+ - **Layouts**—Apply built-in layout algorithms (tree, layered, force-directed) to automatically arrange shapes.
33
+ - **Editing**—Enable interactive creation, deletion, and modification of shapes and connections.
34
+ - **Panning and zooming**—Navigate large diagrams through built-in panning and zoom controls.
35
+ - **Selection**—Select single or multiple shapes and connections for batch operations.
36
+ - **Tooltips**—Display custom tooltips on shapes and connections using the DiagramShapeTooltip and DiagramConnectionTooltip components.
37
+ - **Export**—Export diagrams to images, PDF, or SVG formats.
38
+ - [**Theme support**](https://www.telerik.com/kendo-react-ui/components/styling/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)—The KendoReact Diagram, as well as all 120+ components in the KendoReact suite, are styled in three polished themes (Bootstrap, Material, Fluent, and Default) and can be further customized to match your specific design guidelines.
39
+
40
+ How to use the Diagram component in your apps:
41
+
42
+ ```tsx
43
+ import { Diagram } from '@progress/kendo-react-diagram';
44
+
45
+ const shapes = [
46
+ { id: '1', x: 100, y: 100, content: { text: 'Shape 1' } },
47
+ { id: '2', x: 300, y: 100, content: { text: 'Shape 2' } }
48
+ ];
49
+
50
+ const connections = [{ from: '1', to: '2' }];
51
+
52
+ <Diagram shapes={shapes} connections={connections} />;
53
+ ```
54
+
55
+ ## Using for Free vs Commercial License
56
+
57
+ The following table outlines the key resources available with KendoReact and KendoReact Free.
58
+
59
+ | | [KendoReact Free](https://www.telerik.com/kendo-react-ui/components/free) | [KendoReact](https://www.telerik.com/kendo-react-ui) |
60
+ | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
61
+ | React components | 50+ | 120+ |
62
+ | Four professional themes | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> |
63
+ | Four Figma UI Kits | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> |
64
+ | Page Templates & Building Blocks | 1 template | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> |
65
+ | ThemeBuilder | Free\* | Ultimate |
66
+ | Source code | No | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> |
67
+ | Visual Studio Code extension | 1 starter template | Full functionality |
68
+ | Legendary customer support | No | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> |
69
+ | AI coding assistant | No | <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" stroke="white" stroke-width="2"/></svg> |
70
+
71
+ ## Support Options
72
+
73
+ For any issues you might encounter while working with the KendoReact Diagram, use any of the available support channels:
74
+
75
+ - Industry-leading technical support&mdash;KendoReact paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use [the dedicated KendoReact support system](https://www.telerik.com/account/support-center/contact-us/technical-support?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram).
76
+ - Product forums&mdash;The [KendoReact forums](https://www.telerik.com/forums/kendo-ui-react?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram) are part of the free support you can get from the community and from the KendoReact team.
77
+ - Feedback portal&mdash;The [KendoReact feedback portal](https://feedback.telerik.com/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram) is where you can request and vote for new features to be added.
78
+
79
+ ## Resources
80
+
81
+ - [Getting Started with KendoReact](https://www.telerik.com/kendo-react-ui/components/getting-started/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
82
+ - [Get Started with KendoReact Free](https://www.telerik.com/kendo-react-ui/components/free)
83
+ - [Getting Started with the KendoReact Diagram](https://www.telerik.com/kendo-react-ui/components/diagram/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
84
+ - [API Reference of the KendoReact Diagram](https://www.telerik.com/kendo-react-ui/components/diagram/api/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
85
+ - [KendoReact Roadmap](https://www.telerik.com/support/whats-new/kendo-react-ui/roadmap?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
86
+ - [Blogs](https://www.telerik.com/blogs/tag/kendoreact?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
87
+ - [Demos, documentation, and component reference](https://www.telerik.com/kendo-react-ui/components/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
88
+ - [KendoReact pricing and licensing](https://www.telerik.com/kendo-react-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
89
+ - [Changelog](https://www.telerik.com/kendo-react-ui/components/changelogs/ui-for-react/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-diagram)
90
+
91
+ _Copyright © 2026 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved._
92
+
93
+ _Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries._
@@ -12,4 +12,4 @@
12
12
  * Licensed under commercial license. See LICENSE.md in the package root for more information
13
13
  *-------------------------------------------------------------------------------------------
14
14
  */
15
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@progress/kendo-diagram-common"),require("react"),require("@progress/kendo-react-common")):"function"==typeof define&&define.amd?define(["exports","@progress/kendo-diagram-common","react","@progress/kendo-react-common"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactDiagram={},e.KendoDiagramCommon,e.React,e.KendoReactCommon)}(this,function(e,n,t,o){"use strict";function r(e){var n=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),n.default=e,Object.freeze(n)}var a=r(t);const i=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"14.3.1-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"}),l=e=>null;l.displayName="KendoDiagramConnectionTooltip";const c=e=>null;c.displayName="KendoDiagramShapeTooltip";const u={width:0,height:0},s=0,p=0,d={visible:!1,content:null,style:{}},m=e=>{const{shapeTooltipRender:t,connectionTooltipRender:o,diagramRef:r,wrapperRef:i,onTooltipShow:l,onTooltipHide:c}=e,[m,f]=a.useState(d),b=a.useCallback(()=>{h.current=null,f(d)},[]),g=a.useRef(null),h=a.useRef(null);a.useLayoutEffect(()=>{const e=g.current,t=h.current;if(!m.visible||!t||!e)return;const{width:o,height:r}=e.getBoundingClientRect();if(0===o&&0===r)return;h.current=null;const a=n.placeTooltip({hovered:t.item,mouse:t.mouse,shapes:t.shapes,connections:t.connections,diagramRect:t.diagramRect,zoom:t.zoom,pan:t.pan,tooltipSize:{width:o,height:r},viewportBounds:t.viewportBounds});f(e=>({...e,style:{position:"fixed",left:a.left+t.scrollX,top:a.top+t.scrollY,zIndex:9999}}))});const y=a.useCallback((e,a)=>{var c,d,m,g,y,D,O,P,v,S;b();const{dataItem:j}=e.item,C="Shape"===e.item.name,T="Connection"===e.item.name,M=C?null==(d=null==(c=a.shapeDefaults)?void 0:c.tooltip)?void 0:d.visible:null==(g=null==(m=a.connectionDefaults)?void 0:m.tooltip)?void 0:g.visible,z=null==(y=j.tooltip)?void 0:y.visible,R=C?a.shapes:a.connections,k=null==R?void 0:R.find(n=>{var t;return(null==n?void 0:n.id)===(null==(t=null==e?void 0:e.item)?void 0:t.id)}),E=null==k?void 0:k.tooltipText,w=j.tooltipText||E;if(!w||!1===z||!M&&!z)return;const x=w===j.tooltipText?j:{...j,tooltipText:w};let I;I=C&&t?t(x):T&&o?o(x):w;const L=C?null==(O=null==(D=a.shapeDefaults)?void 0:D.tooltip)?void 0:O.cssClass:null==(v=null==(P=a.connectionDefaults)?void 0:P.tooltip)?void 0:v.cssClass,B=null==(S=j.tooltip)?void 0:S.cssClass,N=L||B;if(!r.current||!i.current)return;const A=i.current,H=A.ownerDocument.defaultView;if(!H)return;const K=r.current.connections.map(e=>e.allPoints()),Z=r.current.shapes.map(e=>e.bounds()),F=A.getBoundingClientRect(),V=r.current.pan(),X=r.current.zoom(),Y=new DOMRect(s,p,H.innerWidth,H.innerHeight),_=n.placeTooltip({hovered:e.item,mouse:e.point,shapes:Z,connections:K,diagramRect:F,zoom:X,pan:V,tooltipSize:u,viewportBounds:Y});h.current={item:e.item,mouse:e.point,shapes:Z,connections:K,diagramRect:F,zoom:X,pan:V,viewportBounds:Y,scrollX:H.scrollX,scrollY:H.scrollY},f({visible:!0,content:I,className:N,style:{position:"fixed",left:_.left+H.scrollX,top:_.top+H.scrollY,zIndex:9999,visibility:"hidden"}}),null==l||l({...x})},[t,o,b,l,r,i]),D=a.useCallback(e=>{b(),null==c||c({...e})},[b,c]);return{tooltipState:m,tooltipElRef:g,hideTooltip:b,handleTooltipShow:y,handleTooltipHide:D}},f=e=>{if(!e)return{};const n={};return Object.keys(e).forEach(t=>{const o=e[t];o&&(n[t]=o)}),n},b=(e,n)=>e&&Array.isArray(e)&&0!==e.length?n&&Array.isArray(n)?e.map((e,t)=>({...e,dataItem:n[t]})):e:[],g=(e,t,o,r)=>a.useMemo(()=>{if(o||r){const a={shapes:{source:()=>e||[],map:f(o)},connections:{source:()=>t||[],map:f(r)}},i=n.convertToDiagramModel({shapes:e,connections:t},a);return{convertedShapes:b(i.shapes,e),convertedConnections:b(i.connections,t)}}return{convertedShapes:b(e,e),convertedConnections:b(t,t)}},[e,t,o,r]),h={change:"onChange",click:"onDiagramClick",drag:"onDrag",dragEnd:"onDragEnd",dragStart:"onDragStart",itemBoundsChange:"onShapeBoundsChange",mouseEnter:"onMouseEnter",mouseLeave:"onMouseLeave",pan:"onPan",select:"onSelect",zoomEnd:"onZoomEnd",zoomStart:"onZoomStart"},y=e=>{const t=a.useRef(e);return t.current=e,{bindDiagramEvents:a.useCallback((e,o)=>{n.events.forEach(n=>{e.bind(n,e=>{var r,a;if("tooltipShow"===n)return void t.current.handleTooltipShow(e,o);if("tooltipHide"===n)return void t.current.handleTooltipHide(null!=(a=null==(r=e.item)?void 0:r.dataItem)?a:{});const i=h[n];if(i){const n=t.current.handlers[i];null==n||n(e)}})})},[])}},D={enabled:!0,smallStep:1,largeStep:5},O={connections:[],shapes:[],editable:!0,pannable:{enabled:!0,showScrollbars:!0,autoHideScrollbars:!0},selectable:!0,zoom:1,zoomMax:2,zoomMin:.1,zoomRate:.1,role:"application"},P=e=>{var n;return void 0===e||!0===e?D:!1===e?{...D,enabled:!1}:{...D,...e,enabled:null==(n=e.enabled)||n}},v=e=>({disabled:!e.enabled,smallStep:e.smallStep,largeStep:e.largeStep}),S=a.forwardRef((e,t)=>{const{connectionDefaults:r,connections:u=O.connections,connectionModelFields:s,editable:p=O.editable,layout:d,pannable:f=O.pannable,selectable:b=O.selectable,shapeDefaults:h,shapes:D=O.shapes,shapeModelFields:S,zoom:j=O.zoom,zoomMax:C=O.zoomMax,zoomMin:T=O.zoomMin,zoomRate:M=O.zoomRate,navigable:z,onChange:R,onDiagramClick:k,onDrag:E,onDragEnd:w,onDragStart:x,onShapeBoundsChange:I,onMouseEnter:L,onMouseLeave:B,onPan:N,onSelect:A,onZoomEnd:H,onZoomStart:K,onTooltipShow:Z,onTooltipHide:F,style:V,className:X,role:Y=O.role,ariaLabel:_,children:q}=e,U=a.useRef(null),G=a.useRef(null),J=!o.validatePackage(i,{component:"Diagram"}),W=o.getLicenseMessage(i),$=a.useMemo(()=>P(z),[z]),Q=a.useCallback(e=>{G.current=e,"function"==typeof t?t(e):t&&(t.current=e)},[t]),{convertedShapes:ee,convertedConnections:ne}=g(D,u,S,s),te=a.useMemo(()=>({role:Y,ariaLabel:_,ariaRoleDescription:"Diagram"}),[Y,_]),oe=a.useMemo(()=>({shapes:ee,connections:ne,selectable:b,editable:p,zoom:j,zoomMax:C,zoomMin:T,zoomRate:M,layout:d,pannable:f,shapeDefaults:h,connectionDefaults:r,navigation:v($),accessibility:te}),[ee,ne,b,p,j,C,T,M,d,f,h,r,$,te]),re=a.useMemo(()=>{const e=a.Children.toArray(q).find(e=>a.isValidElement(e)&&e.type===c);return e?e.props.children:null},[q]),ae=a.useMemo(()=>{const e=a.Children.toArray(q).find(e=>a.isValidElement(e)&&e.type===l);return e?e.props.children:null},[q]),{tooltipState:ie,tooltipElRef:le,hideTooltip:ce,handleTooltipShow:ue,handleTooltipHide:se}=m({shapeTooltipRender:re,connectionTooltipRender:ae,diagramRef:G,wrapperRef:U,onTooltipShow:Z,onTooltipHide:F}),{bindDiagramEvents:pe}=y({handlers:{onChange:R,onDiagramClick:k,onDrag:E,onDragEnd:w,onDragStart:x,onShapeBoundsChange:I,onMouseEnter:L,onMouseLeave:B,onPan:N,onSelect:A,onZoomEnd:H,onZoomStart:K},handleTooltipShow:ue,handleTooltipHide:se}),de=a.useRef(!1),me=a.useRef(oe);return a.useEffect(()=>{if(!U.current)return;const e=n.loadTheme(U.current),t=new n.Diagram(U.current,oe,e);return t._createOptionElements(),t.zoom(t.options.zoom),t.canvas.draw(),G.current=t,Q(t),pe(t,oe),de.current=!0,()=>{ce(),t.destroy(),Q(null),de.current=!1}},[]),a.useEffect(()=>{if(!G.current||!de.current)return;const e=G.current,n=me.current;(n.shapes!==oe.shapes||n.connections!==oe.connections)&&e.load(oe),(n.layout!==oe.layout||n.shapes!==oe.shapes||n.connections!==oe.connections)&&e.layout(oe.layout),n.zoom!==oe.zoom&&e.zoom(oe.zoom);const t=n.connectionDefaults===oe.connectionDefaults?oe.connectionDefaults:{...e.options.connectionDefaults,...oe.connectionDefaults},o=n.shapeDefaults===oe.shapeDefaults?oe.shapeDefaults:{...e.options.shapeDefaults,...oe.shapeDefaults};e.setOptions({zoom:oe.zoom,zoomMax:oe.zoomMax,zoomMin:oe.zoomMin,zoomRate:oe.zoomRate,selectable:oe.selectable,pannable:oe.pannable,layout:oe.layout,navigation:oe.navigation,connectionDefaults:t,shapeDefaults:o}),me.current=oe},[oe]),a.createElement("div",{ref:U,className:o.classNames("k-diagram",X),style:{display:"block",position:"relative",cursor:"default",...V}},ie.visible&&a.createElement("div",{ref:le,className:o.classNames("k-popup","k-tooltip",ie.className),style:ie.style},ie.content),J&&a.createElement(o.WatermarkOverlay,{message:W}))});S.displayName="KendoDiagram",Object.defineProperty(e,"ArrowMarker",{enumerable:!0,get:function(){return n.ArrowMarker}}),Object.defineProperty(e,"Circle",{enumerable:!0,get:function(){return n.Circle}}),Object.defineProperty(e,"CircleMarker",{enumerable:!0,get:function(){return n.CircleMarker}}),Object.defineProperty(e,"Collate",{enumerable:!0,get:function(){return n.Collate}}),Object.defineProperty(e,"Connection",{enumerable:!0,get:function(){return n.Connection}}),Object.defineProperty(e,"Connector",{enumerable:!0,get:function(){return n.Connector}}),Object.defineProperty(e,"DataInputOutput",{enumerable:!0,get:function(){return n.DataInputOutput}}),Object.defineProperty(e,"DataStorage",{enumerable:!0,get:function(){return n.DataStorage}}),Object.defineProperty(e,"Database",{enumerable:!0,get:function(){return n.Database}}),Object.defineProperty(e,"Decision",{enumerable:!0,get:function(){return n.Decision}}),Object.defineProperty(e,"Delay",{enumerable:!0,get:function(){return n.Delay}}),Object.defineProperty(e,"DirectAccessStorage",{enumerable:!0,get:function(){return n.DirectAccessStorage}}),Object.defineProperty(e,"Display",{enumerable:!0,get:function(){return n.Display}}),Object.defineProperty(e,"Document",{enumerable:!0,get:function(){return n.Document}}),Object.defineProperty(e,"Extract",{enumerable:!0,get:function(){return n.Extract}}),Object.defineProperty(e,"FlowchartShapeType",{enumerable:!0,get:function(){return n.FlowchartShapeType}}),Object.defineProperty(e,"Group",{enumerable:!0,get:function(){return n.Group}}),Object.defineProperty(e,"Image",{enumerable:!0,get:function(){return n.Image}}),Object.defineProperty(e,"InternalStorage",{enumerable:!0,get:function(){return n.InternalStorage}}),Object.defineProperty(e,"Layout",{enumerable:!0,get:function(){return n.Layout}}),Object.defineProperty(e,"Line",{enumerable:!0,get:function(){return n.Line}}),Object.defineProperty(e,"LogicalOr",{enumerable:!0,get:function(){return n.LogicalOr}}),Object.defineProperty(e,"ManualInputOutput",{enumerable:!0,get:function(){return n.ManualInputOutput}}),Object.defineProperty(e,"ManualOperation",{enumerable:!0,get:function(){return n.ManualOperation}}),Object.defineProperty(e,"MarkerType",{enumerable:!0,get:function(){return n.MarkerType}}),Object.defineProperty(e,"Merge",{enumerable:!0,get:function(){return n.Merge}}),Object.defineProperty(e,"MultiLineTextBlock",{enumerable:!0,get:function(){return n.MultiLineTextBlock}}),Object.defineProperty(e,"MultipleDocuments",{enumerable:!0,get:function(){return n.MultipleDocuments}}),Object.defineProperty(e,"OffPageConnector",{enumerable:!0,get:function(){return n.OffPageConnector}}),Object.defineProperty(e,"OnPageConnector",{enumerable:!0,get:function(){return n.OnPageConnector}}),Object.defineProperty(e,"Path",{enumerable:!0,get:function(){return n.Path}}),Object.defineProperty(e,"Point",{enumerable:!0,get:function(){return n.Point}}),Object.defineProperty(e,"Polyline",{enumerable:!0,get:function(){return n.Polyline}}),Object.defineProperty(e,"PredefinedProcess",{enumerable:!0,get:function(){return n.PredefinedProcess}}),Object.defineProperty(e,"Preparation",{enumerable:!0,get:function(){return n.Preparation}}),Object.defineProperty(e,"Process",{enumerable:!0,get:function(){return n.Process}}),Object.defineProperty(e,"Rect",{enumerable:!0,get:function(){return n.Rect}}),Object.defineProperty(e,"Rectangle",{enumerable:!0,get:function(){return n.Rectangle}}),Object.defineProperty(e,"Shape",{enumerable:!0,get:function(){return n.Shape}}),Object.defineProperty(e,"Sort",{enumerable:!0,get:function(){return n.Sort}}),Object.defineProperty(e,"SummingJunction",{enumerable:!0,get:function(){return n.SummingJunction}}),Object.defineProperty(e,"Terminator",{enumerable:!0,get:function(){return n.Terminator}}),Object.defineProperty(e,"TextBlock",{enumerable:!0,get:function(){return n.TextBlock}}),Object.defineProperty(e,"convertToDiagramModel",{enumerable:!0,get:function(){return n.convertToDiagramModel}}),e.Diagram=S,e.DiagramConnectionTooltip=l,e.DiagramShapeTooltip=c});
15
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@progress/kendo-diagram-common"),require("react"),require("@progress/kendo-react-common")):"function"==typeof define&&define.amd?define(["exports","@progress/kendo-diagram-common","react","@progress/kendo-react-common"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactDiagram={},e.KendoDiagramCommon,e.React,e.KendoReactCommon)}(this,function(e,n,t,o){"use strict";function r(e){var n=Object.create(null);return e&&Object.keys(e).forEach(function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}}),n.default=e,Object.freeze(n)}var a=r(t);const i=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"14.3.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"}),l=e=>null;l.displayName="KendoDiagramConnectionTooltip";const c=e=>null;c.displayName="KendoDiagramShapeTooltip";const u={width:0,height:0},s=0,p=0,d={visible:!1,content:null,style:{}},m=e=>{const{shapeTooltipRender:t,connectionTooltipRender:o,diagramRef:r,wrapperRef:i,onTooltipShow:l,onTooltipHide:c}=e,[m,f]=a.useState(d),b=a.useCallback(()=>{h.current=null,f(d)},[]),g=a.useRef(null),h=a.useRef(null);a.useLayoutEffect(()=>{const e=g.current,t=h.current;if(!m.visible||!t||!e)return;const{width:o,height:r}=e.getBoundingClientRect();if(0===o&&0===r)return;h.current=null;const a=n.placeTooltip({hovered:t.item,mouse:t.mouse,shapes:t.shapes,connections:t.connections,diagramRect:t.diagramRect,zoom:t.zoom,pan:t.pan,tooltipSize:{width:o,height:r},viewportBounds:t.viewportBounds});f(e=>({...e,style:{position:"fixed",left:a.left+t.scrollX,top:a.top+t.scrollY,zIndex:9999}}))});const y=a.useCallback((e,a)=>{var c,d,m,g,y,D,O,P,v,S;b();const{dataItem:j}=e.item,C="Shape"===e.item.name,T="Connection"===e.item.name,M=C?null==(d=null==(c=a.shapeDefaults)?void 0:c.tooltip)?void 0:d.visible:null==(g=null==(m=a.connectionDefaults)?void 0:m.tooltip)?void 0:g.visible,z=null==(y=j.tooltip)?void 0:y.visible,R=C?a.shapes:a.connections,k=null==R?void 0:R.find(n=>{var t;return(null==n?void 0:n.id)===(null==(t=null==e?void 0:e.item)?void 0:t.id)}),E=null==k?void 0:k.tooltipText,w=j.tooltipText||E;if(!w||!1===z||!M&&!z)return;const x=w===j.tooltipText?j:{...j,tooltipText:w};let I;I=C&&t?t(x):T&&o?o(x):w;const L=C?null==(O=null==(D=a.shapeDefaults)?void 0:D.tooltip)?void 0:O.cssClass:null==(v=null==(P=a.connectionDefaults)?void 0:P.tooltip)?void 0:v.cssClass,B=null==(S=j.tooltip)?void 0:S.cssClass,N=L||B;if(!r.current||!i.current)return;const A=i.current,H=A.ownerDocument.defaultView;if(!H)return;const K=r.current.connections.map(e=>e.allPoints()),Z=r.current.shapes.map(e=>e.bounds()),F=A.getBoundingClientRect(),V=r.current.pan(),X=r.current.zoom(),Y=new DOMRect(s,p,H.innerWidth,H.innerHeight),_=n.placeTooltip({hovered:e.item,mouse:e.point,shapes:Z,connections:K,diagramRect:F,zoom:X,pan:V,tooltipSize:u,viewportBounds:Y});h.current={item:e.item,mouse:e.point,shapes:Z,connections:K,diagramRect:F,zoom:X,pan:V,viewportBounds:Y,scrollX:H.scrollX,scrollY:H.scrollY},f({visible:!0,content:I,className:N,style:{position:"fixed",left:_.left+H.scrollX,top:_.top+H.scrollY,zIndex:9999,visibility:"hidden"}}),null==l||l({...x})},[t,o,b,l,r,i]),D=a.useCallback(e=>{b(),null==c||c({...e})},[b,c]);return{tooltipState:m,tooltipElRef:g,hideTooltip:b,handleTooltipShow:y,handleTooltipHide:D}},f=e=>{if(!e)return{};const n={};return Object.keys(e).forEach(t=>{const o=e[t];o&&(n[t]=o)}),n},b=(e,n)=>e&&Array.isArray(e)&&0!==e.length?n&&Array.isArray(n)?e.map((e,t)=>({...e,dataItem:n[t]})):e:[],g=(e,t,o,r)=>a.useMemo(()=>{if(o||r){const a={shapes:{source:()=>e||[],map:f(o)},connections:{source:()=>t||[],map:f(r)}},i=n.convertToDiagramModel({shapes:e,connections:t},a);return{convertedShapes:b(i.shapes,e),convertedConnections:b(i.connections,t)}}return{convertedShapes:b(e,e),convertedConnections:b(t,t)}},[e,t,o,r]),h={change:"onChange",click:"onDiagramClick",drag:"onDrag",dragEnd:"onDragEnd",dragStart:"onDragStart",itemBoundsChange:"onShapeBoundsChange",mouseEnter:"onMouseEnter",mouseLeave:"onMouseLeave",pan:"onPan",select:"onSelect",zoomEnd:"onZoomEnd",zoomStart:"onZoomStart"},y=e=>{const t=a.useRef(e);return t.current=e,{bindDiagramEvents:a.useCallback((e,o)=>{n.events.forEach(n=>{e.bind(n,e=>{var r,a;if("tooltipShow"===n)return void t.current.handleTooltipShow(e,o);if("tooltipHide"===n)return void t.current.handleTooltipHide(null!=(a=null==(r=e.item)?void 0:r.dataItem)?a:{});const i=h[n];if(i){const n=t.current.handlers[i];null==n||n(e)}})})},[])}},D={enabled:!0,smallStep:1,largeStep:5},O={connections:[],shapes:[],editable:!0,pannable:{enabled:!0,showScrollbars:!0,autoHideScrollbars:!0},selectable:!0,zoom:1,zoomMax:2,zoomMin:.1,zoomRate:.1,role:"application"},P=e=>{var n;return void 0===e||!0===e?D:!1===e?{...D,enabled:!1}:{...D,...e,enabled:null==(n=e.enabled)||n}},v=e=>({disabled:!e.enabled,smallStep:e.smallStep,largeStep:e.largeStep}),S=a.forwardRef((e,t)=>{const{connectionDefaults:r,connections:u=O.connections,connectionModelFields:s,editable:p=O.editable,layout:d,pannable:f=O.pannable,selectable:b=O.selectable,shapeDefaults:h,shapes:D=O.shapes,shapeModelFields:S,zoom:j=O.zoom,zoomMax:C=O.zoomMax,zoomMin:T=O.zoomMin,zoomRate:M=O.zoomRate,navigable:z,onChange:R,onDiagramClick:k,onDrag:E,onDragEnd:w,onDragStart:x,onShapeBoundsChange:I,onMouseEnter:L,onMouseLeave:B,onPan:N,onSelect:A,onZoomEnd:H,onZoomStart:K,onTooltipShow:Z,onTooltipHide:F,style:V,className:X,role:Y=O.role,ariaLabel:_,children:q}=e,U=a.useRef(null),G=a.useRef(null),J=!o.validatePackage(i,{component:"Diagram"}),W=o.getLicenseMessage(i),$=a.useMemo(()=>P(z),[z]),Q=a.useCallback(e=>{G.current=e,"function"==typeof t?t(e):t&&(t.current=e)},[t]),{convertedShapes:ee,convertedConnections:ne}=g(D,u,S,s),te=a.useMemo(()=>({role:Y,ariaLabel:_,ariaRoleDescription:"Diagram"}),[Y,_]),oe=a.useMemo(()=>({shapes:ee,connections:ne,selectable:b,editable:p,zoom:j,zoomMax:C,zoomMin:T,zoomRate:M,layout:d,pannable:f,shapeDefaults:h,connectionDefaults:r,navigation:v($),accessibility:te}),[ee,ne,b,p,j,C,T,M,d,f,h,r,$,te]),re=a.useMemo(()=>{const e=a.Children.toArray(q).find(e=>a.isValidElement(e)&&e.type===c);return e?e.props.children:null},[q]),ae=a.useMemo(()=>{const e=a.Children.toArray(q).find(e=>a.isValidElement(e)&&e.type===l);return e?e.props.children:null},[q]),{tooltipState:ie,tooltipElRef:le,hideTooltip:ce,handleTooltipShow:ue,handleTooltipHide:se}=m({shapeTooltipRender:re,connectionTooltipRender:ae,diagramRef:G,wrapperRef:U,onTooltipShow:Z,onTooltipHide:F}),{bindDiagramEvents:pe}=y({handlers:{onChange:R,onDiagramClick:k,onDrag:E,onDragEnd:w,onDragStart:x,onShapeBoundsChange:I,onMouseEnter:L,onMouseLeave:B,onPan:N,onSelect:A,onZoomEnd:H,onZoomStart:K},handleTooltipShow:ue,handleTooltipHide:se}),de=a.useRef(!1),me=a.useRef(oe);return a.useEffect(()=>{if(!U.current)return;const e=n.loadTheme(U.current),t=new n.Diagram(U.current,oe,e);return t._createOptionElements(),t.zoom(t.options.zoom),t.canvas.draw(),G.current=t,Q(t),pe(t,oe),de.current=!0,()=>{ce(),t.destroy(),Q(null),de.current=!1}},[]),a.useEffect(()=>{if(!G.current||!de.current)return;const e=G.current,n=me.current;(n.shapes!==oe.shapes||n.connections!==oe.connections)&&e.load(oe),(n.layout!==oe.layout||n.shapes!==oe.shapes||n.connections!==oe.connections)&&e.layout(oe.layout),n.zoom!==oe.zoom&&e.zoom(oe.zoom);const t=n.connectionDefaults===oe.connectionDefaults?oe.connectionDefaults:{...e.options.connectionDefaults,...oe.connectionDefaults},o=n.shapeDefaults===oe.shapeDefaults?oe.shapeDefaults:{...e.options.shapeDefaults,...oe.shapeDefaults};e.setOptions({zoom:oe.zoom,zoomMax:oe.zoomMax,zoomMin:oe.zoomMin,zoomRate:oe.zoomRate,selectable:oe.selectable,pannable:oe.pannable,layout:oe.layout,navigation:oe.navigation,connectionDefaults:t,shapeDefaults:o}),me.current=oe},[oe]),a.createElement("div",{ref:U,className:o.classNames("k-diagram",X),style:{display:"block",position:"relative",cursor:"default",...V}},ie.visible&&a.createElement("div",{ref:le,className:o.classNames("k-popup","k-tooltip",ie.className),style:ie.style},ie.content),J&&a.createElement(o.WatermarkOverlay,{message:W}))});S.displayName="KendoDiagram",Object.defineProperty(e,"ArrowMarker",{enumerable:!0,get:function(){return n.ArrowMarker}}),Object.defineProperty(e,"Circle",{enumerable:!0,get:function(){return n.Circle}}),Object.defineProperty(e,"CircleMarker",{enumerable:!0,get:function(){return n.CircleMarker}}),Object.defineProperty(e,"Collate",{enumerable:!0,get:function(){return n.Collate}}),Object.defineProperty(e,"Connection",{enumerable:!0,get:function(){return n.Connection}}),Object.defineProperty(e,"Connector",{enumerable:!0,get:function(){return n.Connector}}),Object.defineProperty(e,"DataInputOutput",{enumerable:!0,get:function(){return n.DataInputOutput}}),Object.defineProperty(e,"DataStorage",{enumerable:!0,get:function(){return n.DataStorage}}),Object.defineProperty(e,"Database",{enumerable:!0,get:function(){return n.Database}}),Object.defineProperty(e,"Decision",{enumerable:!0,get:function(){return n.Decision}}),Object.defineProperty(e,"Delay",{enumerable:!0,get:function(){return n.Delay}}),Object.defineProperty(e,"DirectAccessStorage",{enumerable:!0,get:function(){return n.DirectAccessStorage}}),Object.defineProperty(e,"Display",{enumerable:!0,get:function(){return n.Display}}),Object.defineProperty(e,"Document",{enumerable:!0,get:function(){return n.Document}}),Object.defineProperty(e,"Extract",{enumerable:!0,get:function(){return n.Extract}}),Object.defineProperty(e,"FlowchartShapeType",{enumerable:!0,get:function(){return n.FlowchartShapeType}}),Object.defineProperty(e,"Group",{enumerable:!0,get:function(){return n.Group}}),Object.defineProperty(e,"Image",{enumerable:!0,get:function(){return n.Image}}),Object.defineProperty(e,"InternalStorage",{enumerable:!0,get:function(){return n.InternalStorage}}),Object.defineProperty(e,"Layout",{enumerable:!0,get:function(){return n.Layout}}),Object.defineProperty(e,"Line",{enumerable:!0,get:function(){return n.Line}}),Object.defineProperty(e,"LogicalOr",{enumerable:!0,get:function(){return n.LogicalOr}}),Object.defineProperty(e,"ManualInputOutput",{enumerable:!0,get:function(){return n.ManualInputOutput}}),Object.defineProperty(e,"ManualOperation",{enumerable:!0,get:function(){return n.ManualOperation}}),Object.defineProperty(e,"MarkerType",{enumerable:!0,get:function(){return n.MarkerType}}),Object.defineProperty(e,"Merge",{enumerable:!0,get:function(){return n.Merge}}),Object.defineProperty(e,"MultiLineTextBlock",{enumerable:!0,get:function(){return n.MultiLineTextBlock}}),Object.defineProperty(e,"MultipleDocuments",{enumerable:!0,get:function(){return n.MultipleDocuments}}),Object.defineProperty(e,"OffPageConnector",{enumerable:!0,get:function(){return n.OffPageConnector}}),Object.defineProperty(e,"OnPageConnector",{enumerable:!0,get:function(){return n.OnPageConnector}}),Object.defineProperty(e,"Path",{enumerable:!0,get:function(){return n.Path}}),Object.defineProperty(e,"Point",{enumerable:!0,get:function(){return n.Point}}),Object.defineProperty(e,"Polyline",{enumerable:!0,get:function(){return n.Polyline}}),Object.defineProperty(e,"PredefinedProcess",{enumerable:!0,get:function(){return n.PredefinedProcess}}),Object.defineProperty(e,"Preparation",{enumerable:!0,get:function(){return n.Preparation}}),Object.defineProperty(e,"Process",{enumerable:!0,get:function(){return n.Process}}),Object.defineProperty(e,"Rect",{enumerable:!0,get:function(){return n.Rect}}),Object.defineProperty(e,"Rectangle",{enumerable:!0,get:function(){return n.Rectangle}}),Object.defineProperty(e,"Shape",{enumerable:!0,get:function(){return n.Shape}}),Object.defineProperty(e,"Sort",{enumerable:!0,get:function(){return n.Sort}}),Object.defineProperty(e,"SummingJunction",{enumerable:!0,get:function(){return n.SummingJunction}}),Object.defineProperty(e,"Terminator",{enumerable:!0,get:function(){return n.Terminator}}),Object.defineProperty(e,"TextBlock",{enumerable:!0,get:function(){return n.TextBlock}}),Object.defineProperty(e,"convertToDiagramModel",{enumerable:!0,get:function(){return n.convertToDiagramModel}}),e.Diagram=S,e.DiagramConnectionTooltip=l,e.DiagramShapeTooltip=c});
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1775209720,version:"14.3.1-develop.3",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"});exports.packageMetadata=e;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1775222186,version:"14.3.1",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"});exports.packageMetadata=e;
@@ -6,8 +6,8 @@ export const packageMetadata = Object.freeze({
6
6
  productName: 'KendoReact',
7
7
  productCode: 'KENDOUIREACT',
8
8
  productCodes: ['KENDOUIREACT'],
9
- publishDate: 1775209720,
10
- version: '14.3.1-develop.3',
9
+ publishDate: 1775222186,
10
+ version: '14.3.1',
11
11
  licensingDocsUrl:
12
12
  'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
13
13
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-react-diagram",
3
- "version": "14.3.1-develop.3",
3
+ "version": "14.3.1",
4
4
  "description": "React Diagram component. KendoReact Diagram package",
5
5
  "author": "Progress",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -26,7 +26,7 @@
26
26
  "sideEffects": false,
27
27
  "peerDependencies": {
28
28
  "@progress/kendo-licensing": "^1.7.2",
29
- "@progress/kendo-react-common": "14.3.1-develop.3",
29
+ "@progress/kendo-react-common": "14.3.1",
30
30
  "@progress/kendo-diagram-common": "0.0.0-PLACEHOLDER",
31
31
  "react": "^18.0.0 || ^19.0.0",
32
32
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -52,7 +52,7 @@
52
52
  "package": {
53
53
  "productName": "KendoReact",
54
54
  "productCode": "KENDOUIREACT",
55
- "publishDate": 1775209720,
55
+ "publishDate": 1775222186,
56
56
  "licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"
57
57
  }
58
58
  },