@babylonjs/shared-ui-components 5.28.0 → 5.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/colorPicker/colorComponentEntry.d.ts +18 -18
  2. package/colorPicker/colorComponentEntry.js +36 -36
  3. package/colorPicker/colorPicker.d.ts +43 -43
  4. package/colorPicker/colorPicker.js +136 -136
  5. package/colorPicker/hexColor.d.ts +20 -20
  6. package/colorPicker/hexColor.js +42 -42
  7. package/components/Button.d.ts +10 -10
  8. package/components/Button.js +6 -6
  9. package/components/Icon.d.ts +6 -6
  10. package/components/Icon.js +6 -6
  11. package/components/Label.d.ts +7 -7
  12. package/components/Label.js +6 -6
  13. package/components/MessageDialog.d.ts +7 -7
  14. package/components/MessageDialog.js +22 -22
  15. package/components/Toggle.d.ts +8 -8
  16. package/components/Toggle.js +15 -15
  17. package/components/bars/CommandBarComponent.d.ts +16 -16
  18. package/components/bars/CommandBarComponent.js +68 -68
  19. package/components/bars/CommandButtonComponent.d.ts +11 -11
  20. package/components/bars/CommandButtonComponent.js +6 -6
  21. package/components/bars/CommandDropdownComponent.d.ts +26 -26
  22. package/components/bars/CommandDropdownComponent.js +48 -48
  23. package/components/classNames.d.ts +2 -2
  24. package/components/classNames.js +18 -18
  25. package/components/colorPicker/ColorComponentEntry.d.ts +18 -18
  26. package/components/colorPicker/ColorComponentEntry.js +37 -37
  27. package/components/colorPicker/ColorPicker.d.ts +43 -43
  28. package/components/colorPicker/ColorPicker.js +137 -137
  29. package/components/colorPicker/HexColor.d.ts +20 -20
  30. package/components/colorPicker/HexColor.js +45 -45
  31. package/components/layout/DraggableIcon.d.ts +23 -0
  32. package/components/layout/DraggableIcon.js +18 -0
  33. package/components/layout/DraggableIcon.js.map +1 -0
  34. package/components/layout/FlexibleColumn.d.ts +17 -0
  35. package/components/layout/FlexibleColumn.js +12 -0
  36. package/components/layout/FlexibleColumn.js.map +1 -0
  37. package/components/layout/FlexibleDragHandler.d.ts +18 -0
  38. package/components/layout/FlexibleDragHandler.js +88 -0
  39. package/components/layout/FlexibleDragHandler.js.map +1 -0
  40. package/components/layout/FlexibleDropZone.d.ts +19 -0
  41. package/components/layout/FlexibleDropZone.js +12 -0
  42. package/components/layout/FlexibleDropZone.js.map +1 -0
  43. package/components/layout/FlexibleGridContainer.d.ts +10 -0
  44. package/components/layout/FlexibleGridContainer.js +23 -0
  45. package/components/layout/FlexibleGridContainer.js.map +1 -0
  46. package/components/layout/FlexibleGridLayout.d.ts +16 -0
  47. package/components/layout/FlexibleGridLayout.js +24 -0
  48. package/components/layout/FlexibleGridLayout.js.map +1 -0
  49. package/components/layout/FlexibleResizeBar.d.ts +40 -0
  50. package/components/layout/FlexibleResizeBar.js +21 -0
  51. package/components/layout/FlexibleResizeBar.js.map +1 -0
  52. package/components/layout/FlexibleTab.d.ts +34 -0
  53. package/components/layout/FlexibleTab.js +36 -0
  54. package/components/layout/FlexibleTab.js.map +1 -0
  55. package/components/layout/FlexibleTabsContainer.d.ts +28 -0
  56. package/components/layout/FlexibleTabsContainer.js +54 -0
  57. package/components/layout/FlexibleTabsContainer.js.map +1 -0
  58. package/components/layout/LayoutContext.d.ts +12 -0
  59. package/components/layout/LayoutContext.js +3 -0
  60. package/components/layout/LayoutContext.js.map +1 -0
  61. package/components/layout/types.d.ts +78 -0
  62. package/components/layout/types.js +13 -0
  63. package/components/layout/types.js.map +1 -0
  64. package/components/layout/utils.d.ts +25 -0
  65. package/components/layout/utils.js +68 -0
  66. package/components/layout/utils.js.map +1 -0
  67. package/components/lines/ColorLineComponent.d.ts +40 -40
  68. package/components/lines/ColorLineComponent.js +145 -145
  69. package/components/lines/ColorPickerLineComponent.d.ts +33 -33
  70. package/components/lines/ColorPickerLineComponent.js +61 -61
  71. package/components/lines/FileButtonLineComponent.d.ts +16 -16
  72. package/components/lines/FileButtonLineComponent.js +21 -21
  73. package/components/lines/NumericInputComponent.d.ts +31 -31
  74. package/components/lines/NumericInputComponent.js +86 -86
  75. package/lines/booleanLineComponent.d.ts +11 -11
  76. package/lines/booleanLineComponent.js +14 -14
  77. package/lines/buttonLineComponent.d.ts +12 -12
  78. package/lines/buttonLineComponent.js +10 -10
  79. package/lines/checkBoxLineComponent.d.ts +36 -36
  80. package/lines/checkBoxLineComponent.js +88 -88
  81. package/lines/color3LineComponent.d.ts +18 -18
  82. package/lines/color3LineComponent.js +9 -9
  83. package/lines/color4LineComponent.d.ts +18 -18
  84. package/lines/color4LineComponent.js +9 -9
  85. package/lines/colorLineComponent.d.ts +40 -40
  86. package/lines/colorLineComponent.js +144 -144
  87. package/lines/colorPickerComponent.d.ts +31 -31
  88. package/lines/colorPickerComponent.js +60 -60
  89. package/lines/draggableLineComponent.d.ts +9 -9
  90. package/lines/draggableLineComponent.js +12 -12
  91. package/lines/fileButtonLineComponent.d.ts +17 -17
  92. package/lines/fileButtonLineComponent.js +20 -20
  93. package/lines/fileMultipleButtonLineComponent.d.ts +17 -17
  94. package/lines/fileMultipleButtonLineComponent.js +20 -20
  95. package/lines/floatLineComponent.d.ts +50 -50
  96. package/lines/floatLineComponent.js +175 -175
  97. package/lines/hexLineComponent.d.ts +40 -40
  98. package/lines/hexLineComponent.js +121 -121
  99. package/lines/iSelectedLineContainer.d.ts +4 -4
  100. package/lines/iSelectedLineContainer.js +1 -1
  101. package/lines/iconButtonLineComponent.d.ts +11 -11
  102. package/lines/iconButtonLineComponent.js +10 -10
  103. package/lines/iconComponent.d.ts +9 -9
  104. package/lines/iconComponent.js +7 -7
  105. package/lines/indentedTextLineComponent.d.ts +16 -16
  106. package/lines/indentedTextLineComponent.js +26 -26
  107. package/lines/inputArrowsComponent.d.ts +13 -13
  108. package/lines/inputArrowsComponent.js +37 -37
  109. package/lines/lineContainerComponent.d.ts +19 -19
  110. package/lines/lineContainerComponent.js +49 -49
  111. package/lines/linkButtonComponent.d.ts +16 -16
  112. package/lines/linkButtonComponent.js +20 -20
  113. package/lines/matrixLineComponent.d.ts +36 -36
  114. package/lines/matrixLineComponent.js +102 -102
  115. package/lines/messageLineComponent.d.ts +12 -12
  116. package/lines/messageLineComponent.js +14 -14
  117. package/lines/numericInputComponent.d.ts +31 -31
  118. package/lines/numericInputComponent.js +85 -85
  119. package/lines/optionsLineComponent.d.ts +48 -48
  120. package/lines/optionsLineComponent.js +118 -118
  121. package/lines/popup.d.ts +4 -4
  122. package/lines/popup.js +67 -67
  123. package/lines/radioLineComponent.d.ts +21 -21
  124. package/lines/radioLineComponent.js +26 -26
  125. package/lines/sliderLineComponent.d.ts +37 -37
  126. package/lines/sliderLineComponent.js +89 -89
  127. package/lines/targetsProxy.d.ts +11 -11
  128. package/lines/targetsProxy.js +42 -42
  129. package/lines/textInputLineComponent.d.ts +47 -47
  130. package/lines/textInputLineComponent.js +154 -154
  131. package/lines/textLineComponent.d.ts +21 -21
  132. package/lines/textLineComponent.js +30 -30
  133. package/lines/unitButton.d.ts +8 -8
  134. package/lines/unitButton.js +7 -7
  135. package/lines/valueLineComponent.d.ts +15 -15
  136. package/lines/valueLineComponent.js +12 -12
  137. package/lines/vector2LineComponent.d.ts +36 -36
  138. package/lines/vector2LineComponent.js +63 -63
  139. package/lines/vector3LineComponent.d.ts +41 -41
  140. package/lines/vector3LineComponent.js +74 -74
  141. package/lines/vector4LineComponent.d.ts +42 -42
  142. package/lines/vector4LineComponent.js +81 -81
  143. package/nodeGraphSystem/displayLedger.d.ts +5 -5
  144. package/nodeGraphSystem/displayLedger.js +3 -3
  145. package/nodeGraphSystem/frameNodePort.d.ts +25 -25
  146. package/nodeGraphSystem/frameNodePort.js +59 -59
  147. package/nodeGraphSystem/graphCanvas.d.ts +111 -111
  148. package/nodeGraphSystem/graphCanvas.js +1131 -1131
  149. package/nodeGraphSystem/graphFrame.d.ts +153 -153
  150. package/nodeGraphSystem/graphFrame.js +1328 -1328
  151. package/nodeGraphSystem/graphNode.d.ts +79 -79
  152. package/nodeGraphSystem/graphNode.js +459 -459
  153. package/nodeGraphSystem/interfaces/displayManager.d.ts +13 -13
  154. package/nodeGraphSystem/interfaces/displayManager.js +1 -1
  155. package/nodeGraphSystem/interfaces/nodeContainer.d.ts +6 -6
  156. package/nodeGraphSystem/interfaces/nodeContainer.js +1 -1
  157. package/nodeGraphSystem/interfaces/nodeData.d.ts +15 -15
  158. package/nodeGraphSystem/interfaces/nodeData.js +1 -1
  159. package/nodeGraphSystem/interfaces/nodeLocationInfo.d.ts +26 -26
  160. package/nodeGraphSystem/interfaces/nodeLocationInfo.js +1 -1
  161. package/nodeGraphSystem/interfaces/portData.d.ts +28 -28
  162. package/nodeGraphSystem/interfaces/portData.js +7 -7
  163. package/nodeGraphSystem/interfaces/propertyComponentProps.d.ts +6 -6
  164. package/nodeGraphSystem/interfaces/propertyComponentProps.js +1 -1
  165. package/nodeGraphSystem/interfaces/selectionChangedOptions.d.ts +11 -11
  166. package/nodeGraphSystem/interfaces/selectionChangedOptions.js +1 -1
  167. package/nodeGraphSystem/nodeLink.d.ts +31 -31
  168. package/nodeGraphSystem/nodeLink.js +182 -182
  169. package/nodeGraphSystem/nodePort.d.ts +35 -35
  170. package/nodeGraphSystem/nodePort.js +128 -128
  171. package/nodeGraphSystem/propertyLedger.d.ts +8 -8
  172. package/nodeGraphSystem/propertyLedger.js +3 -3
  173. package/nodeGraphSystem/stateManager.d.ts +45 -45
  174. package/nodeGraphSystem/stateManager.js +18 -18
  175. package/nodeGraphSystem/tools.d.ts +5 -5
  176. package/nodeGraphSystem/tools.js +36 -36
  177. package/nodeGraphSystem/typeLedger.d.ts +8 -8
  178. package/nodeGraphSystem/typeLedger.js +2 -2
  179. package/nodeGraphSystem/types/framePortData.d.ts +7 -7
  180. package/nodeGraphSystem/types/framePortData.js +1 -1
  181. package/package.json +4 -3
  182. package/propertyChangedEvent.d.ts +7 -7
  183. package/propertyChangedEvent.js +2 -2
  184. package/stories/Button.stories.d.ts +10 -10
  185. package/stories/Button.stories.js +19 -19
  186. package/stories/Icon.stories.d.ts +9 -9
  187. package/stories/Icon.stories.js +16 -16
  188. package/stories/Label.stories.d.ts +8 -8
  189. package/stories/Label.stories.js +10 -10
  190. package/stories/MessageDialog.stories.d.ts +9 -9
  191. package/stories/MessageDialog.stories.js +19 -19
  192. package/stories/Toggle.stories.d.ts +9 -9
  193. package/stories/Toggle.stories.js +17 -17
  194. package/stories/bars/CommandBarComponent.stories.d.ts +11 -11
  195. package/stories/bars/CommandBarComponent.stories.js +12 -12
  196. package/stories/bars/CommandButtonComponent.stories.d.ts +6 -6
  197. package/stories/bars/CommandButtonComponent.stories.js +6 -6
  198. package/stories/colorPicker/ColorPicker.stories.d.ts +11 -11
  199. package/stories/colorPicker/ColorPicker.stories.js +4 -4
  200. package/stories/layout/FlexibleGridLayout.stories.d.ts +46 -0
  201. package/stories/layout/FlexibleGridLayout.stories.js +48 -0
  202. package/stories/layout/FlexibleGridLayout.stories.js.map +1 -0
  203. package/stories/lines/ColorLineComponent.stories.d.ts +21 -21
  204. package/stories/lines/ColorLineComponent.stories.js +9 -9
  205. package/stories/lines/ColorPickerLineComponent.stories.d.ts +14 -14
  206. package/stories/lines/ColorPickerLineComponent.stories.js +10 -10
  207. package/stories/lines/FileButtonLineComponent.stories.d.ts +6 -6
  208. package/stories/lines/FileButtonLineComponent.stories.js +5 -5
  209. package/stories/lines/NumericInputComponent.stories.d.ts +11 -11
  210. package/stories/lines/NumericInputComponent.stories.js +5 -5
  211. package/stringTools.d.ts +11 -11
  212. package/stringTools.js +88 -88
  213. package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.d.ts +15 -15
  214. package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.js +15 -15
  215. package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.d.ts +15 -15
  216. package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.js +14 -14
  217. package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.d.ts +17 -17
  218. package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.js +55 -55
  219. package/tabs/propertyGrids/gui/controlPropertyGridComponent.d.ts +15 -15
  220. package/tabs/propertyGrids/gui/controlPropertyGridComponent.js +12 -12
  221. package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.d.ts +15 -15
  222. package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.js +15 -15
  223. package/tabs/propertyGrids/gui/gridPropertyGridComponent.d.ts +17 -17
  224. package/tabs/propertyGrids/gui/gridPropertyGridComponent.js +38 -38
  225. package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.d.ts +15 -15
  226. package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.js +16 -16
  227. package/tabs/propertyGrids/gui/imagePropertyGridComponent.d.ts +15 -15
  228. package/tabs/propertyGrids/gui/imagePropertyGridComponent.js +25 -25
  229. package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.d.ts +15 -15
  230. package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.js +17 -17
  231. package/tabs/propertyGrids/gui/linePropertyGridComponent.d.ts +16 -16
  232. package/tabs/propertyGrids/gui/linePropertyGridComponent.js +27 -27
  233. package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.d.ts +15 -15
  234. package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.js +17 -17
  235. package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.d.ts +15 -15
  236. package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.js +15 -15
  237. package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.d.ts +15 -15
  238. package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.js +15 -15
  239. package/tabs/propertyGrids/gui/sliderPropertyGridComponent.d.ts +15 -15
  240. package/tabs/propertyGrids/gui/sliderPropertyGridComponent.js +16 -16
  241. package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.d.ts +15 -15
  242. package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.js +14 -14
  243. package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.d.ts +15 -15
  244. package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.js +34 -34
  245. package/tabs/propertyGrids/lockObject.d.ts +9 -9
  246. package/tabs/propertyGrids/lockObject.js +11 -11
@@ -1,129 +1,129 @@
1
- import commonStyles from "./common.modules.scss";
2
- import localStyles from "./nodePort.modules.scss";
3
- export class NodePort {
4
- constructor(portContainer, portData, node, stateManager) {
5
- this.portData = portData;
6
- this.node = node;
7
- this.delegatedPort = null;
8
- this._element = portContainer.ownerDocument.createElement("div");
9
- this._element.classList.add(commonStyles.port);
10
- portContainer.appendChild(this._element);
11
- this._stateManager = stateManager;
12
- this._img = portContainer.ownerDocument.createElement("img");
13
- this._element.appendChild(this._img);
14
- // determine if node name is editable
15
- if (portContainer.children[0].className === commonStyles["port-label"]) {
16
- this._portLabelElement = portContainer.children[0];
17
- }
18
- this._element.port = this;
19
- // Drag support
20
- this._element.ondragstart = () => false;
21
- this._onCandidateLinkMovedObserver = stateManager.onCandidateLinkMoved.add((coords) => {
22
- const rect = this._element.getBoundingClientRect();
23
- if (!coords || rect.left > coords.x || rect.right < coords.x || rect.top > coords.y || rect.bottom < coords.y) {
24
- this._element.classList.remove(localStyles["selected"]);
25
- return;
26
- }
27
- this._element.classList.add(localStyles["selected"]);
28
- this._stateManager.onCandidatePortSelectedObservable.notifyObservers(this);
29
- });
30
- this._onSelectionChangedObserver = this._stateManager.onSelectionChangedObservable.add((options) => {
31
- const { selection } = options || {};
32
- if (selection === this) {
33
- this._img.classList.add(localStyles["selected"]);
34
- }
35
- else {
36
- this._img.classList.remove(localStyles["selected"]);
37
- }
38
- });
39
- this.refresh();
40
- }
41
- get element() {
42
- if (this.delegatedPort) {
43
- return this.delegatedPort.element;
44
- }
45
- return this._element;
46
- }
47
- get portName() {
48
- return this.portData.name;
49
- }
50
- set portName(newName) {
51
- if (this._portLabelElement) {
52
- this.portData.updateDisplayName(newName);
53
- this._portLabelElement.innerHTML = newName;
54
- }
55
- }
56
- get disabled() {
57
- if (!this.portData.isConnected) {
58
- return false;
59
- }
60
- else if (this._isConnectedToNodeOutsideOfFrame()) {
61
- //connected to outside node
62
- return true;
63
- }
64
- else {
65
- const link = this.node.getLinksForPortData(this.portData);
66
- if (link.length) {
67
- if (link[0].nodeB === this.node) {
68
- // check if this node is the receiving
69
- return true;
70
- }
71
- }
72
- }
73
- return false;
74
- }
75
- hasLabel() {
76
- return !!this._portLabelElement;
77
- }
78
- get exposedOnFrame() {
79
- if (!!this.portData.isExposedOnFrame || this._isConnectedToNodeOutsideOfFrame()) {
80
- return true;
81
- }
82
- return false;
83
- }
84
- set exposedOnFrame(value) {
85
- if (this.disabled) {
86
- return;
87
- }
88
- this.portData.isExposedOnFrame = value;
89
- }
90
- get exposedPortPosition() {
91
- return this.portData.exposedPortPosition;
92
- }
93
- set exposedPortPosition(value) {
94
- this.portData.exposedPortPosition = value;
95
- }
96
- _isConnectedToNodeOutsideOfFrame() {
97
- const link = this.node.getLinksForPortData(this.portData);
98
- if (link.length) {
99
- for (let i = 0; i < link.length; i++) {
100
- if (link[i].nodeA.enclosingFrameId !== link[i].nodeB.enclosingFrameId) {
101
- return true;
102
- }
103
- }
104
- }
105
- return false;
106
- }
107
- refresh() {
108
- this._stateManager.applyNodePortDesign(this.portData, this._element, this._img);
109
- }
110
- dispose() {
111
- this._stateManager.onCandidateLinkMoved.remove(this._onCandidateLinkMovedObserver);
112
- if (this._onSelectionChangedObserver) {
113
- this._stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
114
- }
115
- }
116
- static CreatePortElement(portData, node, root, displayManager, stateManager) {
117
- const portContainer = root.ownerDocument.createElement("div");
118
- portContainer.classList.add(commonStyles.portLine);
119
- root.appendChild(portContainer);
120
- if (!displayManager || displayManager.shouldDisplayPortLabels(portData)) {
121
- const portLabel = root.ownerDocument.createElement("div");
122
- portLabel.classList.add(commonStyles["port-label"]);
123
- portLabel.innerHTML = portData.name;
124
- portContainer.appendChild(portLabel);
125
- }
126
- return new NodePort(portContainer, portData, node, stateManager);
127
- }
128
- }
1
+ import commonStyles from "./common.modules.scss";
2
+ import localStyles from "./nodePort.modules.scss";
3
+ export class NodePort {
4
+ constructor(portContainer, portData, node, stateManager) {
5
+ this.portData = portData;
6
+ this.node = node;
7
+ this.delegatedPort = null;
8
+ this._element = portContainer.ownerDocument.createElement("div");
9
+ this._element.classList.add(commonStyles.port);
10
+ portContainer.appendChild(this._element);
11
+ this._stateManager = stateManager;
12
+ this._img = portContainer.ownerDocument.createElement("img");
13
+ this._element.appendChild(this._img);
14
+ // determine if node name is editable
15
+ if (portContainer.children[0].className === commonStyles["port-label"]) {
16
+ this._portLabelElement = portContainer.children[0];
17
+ }
18
+ this._element.port = this;
19
+ // Drag support
20
+ this._element.ondragstart = () => false;
21
+ this._onCandidateLinkMovedObserver = stateManager.onCandidateLinkMoved.add((coords) => {
22
+ const rect = this._element.getBoundingClientRect();
23
+ if (!coords || rect.left > coords.x || rect.right < coords.x || rect.top > coords.y || rect.bottom < coords.y) {
24
+ this._element.classList.remove(localStyles["selected"]);
25
+ return;
26
+ }
27
+ this._element.classList.add(localStyles["selected"]);
28
+ this._stateManager.onCandidatePortSelectedObservable.notifyObservers(this);
29
+ });
30
+ this._onSelectionChangedObserver = this._stateManager.onSelectionChangedObservable.add((options) => {
31
+ const { selection } = options || {};
32
+ if (selection === this) {
33
+ this._img.classList.add(localStyles["selected"]);
34
+ }
35
+ else {
36
+ this._img.classList.remove(localStyles["selected"]);
37
+ }
38
+ });
39
+ this.refresh();
40
+ }
41
+ get element() {
42
+ if (this.delegatedPort) {
43
+ return this.delegatedPort.element;
44
+ }
45
+ return this._element;
46
+ }
47
+ get portName() {
48
+ return this.portData.name;
49
+ }
50
+ set portName(newName) {
51
+ if (this._portLabelElement) {
52
+ this.portData.updateDisplayName(newName);
53
+ this._portLabelElement.innerHTML = newName;
54
+ }
55
+ }
56
+ get disabled() {
57
+ if (!this.portData.isConnected) {
58
+ return false;
59
+ }
60
+ else if (this._isConnectedToNodeOutsideOfFrame()) {
61
+ //connected to outside node
62
+ return true;
63
+ }
64
+ else {
65
+ const link = this.node.getLinksForPortData(this.portData);
66
+ if (link.length) {
67
+ if (link[0].nodeB === this.node) {
68
+ // check if this node is the receiving
69
+ return true;
70
+ }
71
+ }
72
+ }
73
+ return false;
74
+ }
75
+ hasLabel() {
76
+ return !!this._portLabelElement;
77
+ }
78
+ get exposedOnFrame() {
79
+ if (!!this.portData.isExposedOnFrame || this._isConnectedToNodeOutsideOfFrame()) {
80
+ return true;
81
+ }
82
+ return false;
83
+ }
84
+ set exposedOnFrame(value) {
85
+ if (this.disabled) {
86
+ return;
87
+ }
88
+ this.portData.isExposedOnFrame = value;
89
+ }
90
+ get exposedPortPosition() {
91
+ return this.portData.exposedPortPosition;
92
+ }
93
+ set exposedPortPosition(value) {
94
+ this.portData.exposedPortPosition = value;
95
+ }
96
+ _isConnectedToNodeOutsideOfFrame() {
97
+ const link = this.node.getLinksForPortData(this.portData);
98
+ if (link.length) {
99
+ for (let i = 0; i < link.length; i++) {
100
+ if (link[i].nodeA.enclosingFrameId !== link[i].nodeB.enclosingFrameId) {
101
+ return true;
102
+ }
103
+ }
104
+ }
105
+ return false;
106
+ }
107
+ refresh() {
108
+ this._stateManager.applyNodePortDesign(this.portData, this._element, this._img);
109
+ }
110
+ dispose() {
111
+ this._stateManager.onCandidateLinkMoved.remove(this._onCandidateLinkMovedObserver);
112
+ if (this._onSelectionChangedObserver) {
113
+ this._stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
114
+ }
115
+ }
116
+ static CreatePortElement(portData, node, root, displayManager, stateManager) {
117
+ const portContainer = root.ownerDocument.createElement("div");
118
+ portContainer.classList.add(commonStyles.portLine);
119
+ root.appendChild(portContainer);
120
+ if (!displayManager || displayManager.shouldDisplayPortLabels(portData)) {
121
+ const portLabel = root.ownerDocument.createElement("div");
122
+ portLabel.classList.add(commonStyles["port-label"]);
123
+ portLabel.innerHTML = portData.name;
124
+ portContainer.appendChild(portLabel);
125
+ }
126
+ return new NodePort(portContainer, portData, node, stateManager);
127
+ }
128
+ }
129
129
  //# sourceMappingURL=nodePort.js.map
@@ -1,8 +1,8 @@
1
- import type { ComponentClass } from "react";
2
- import type { IPropertyComponentProps } from "./interfaces/propertyComponentProps";
3
- export declare class PropertyLedger {
4
- static DefaultControl: ComponentClass<IPropertyComponentProps>;
5
- static RegisteredControls: {
6
- [key: string]: ComponentClass<IPropertyComponentProps>;
7
- };
8
- }
1
+ import type { ComponentClass } from "react";
2
+ import type { IPropertyComponentProps } from "./interfaces/propertyComponentProps";
3
+ export declare class PropertyLedger {
4
+ static DefaultControl: ComponentClass<IPropertyComponentProps>;
5
+ static RegisteredControls: {
6
+ [key: string]: ComponentClass<IPropertyComponentProps>;
7
+ };
8
+ }
@@ -1,4 +1,4 @@
1
- export class PropertyLedger {
2
- }
3
- PropertyLedger.RegisteredControls = {};
1
+ export class PropertyLedger {
2
+ }
3
+ PropertyLedger.RegisteredControls = {};
4
4
  //# sourceMappingURL=propertyLedger.js.map
@@ -1,45 +1,45 @@
1
- import type { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
2
- import { Observable } from "@babylonjs/core/Misc/observable.js";
3
- import type { Nullable } from "@babylonjs/core/types.js";
4
- import type { FrameNodePort } from "./frameNodePort";
5
- import type { GraphFrame } from "./graphFrame";
6
- import type { GraphNode } from "./graphNode";
7
- import type { INodeContainer } from "./interfaces/nodeContainer";
8
- import type { INodeData } from "./interfaces/nodeData";
9
- import type { IPortData } from "./interfaces/portData";
10
- import type { ISelectionChangedOptions } from "./interfaces/selectionChangedOptions";
11
- import type { NodePort } from "./nodePort";
12
- export declare class StateManager {
13
- data: any;
14
- hostDocument: Document;
15
- lockObject: any;
16
- onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
17
- onFrameCreatedObservable: Observable<GraphFrame>;
18
- onUpdateRequiredObservable: Observable<any>;
19
- onGraphNodeRemovalObservable: Observable<GraphNode>;
20
- onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
21
- onCandidateLinkMoved: Observable<Nullable<Vector2>>;
22
- onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
23
- onNewNodeCreatedObservable: Observable<GraphNode>;
24
- onRebuildRequiredObservable: Observable<boolean>;
25
- onErrorMessageDialogRequiredObservable: Observable<string>;
26
- onExposePortOnFrameObservable: Observable<GraphNode>;
27
- onGridSizeChanged: Observable<void>;
28
- onNewBlockRequiredObservable: Observable<{
29
- type: string;
30
- targetX: number;
31
- targetY: number;
32
- needRepositioning?: boolean | undefined;
33
- }>;
34
- exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
35
- isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
36
- applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement) => void;
37
- storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
38
- getEditorDataMap: () => {
39
- [key: number]: number;
40
- };
41
- createDefaultInputData: (rootData: any, portData: IPortData, nodeContainer: INodeContainer) => Nullable<{
42
- data: INodeData;
43
- name: string;
44
- }>;
45
- }
1
+ import type { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
2
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
3
+ import type { Nullable } from "@babylonjs/core/types.js";
4
+ import type { FrameNodePort } from "./frameNodePort";
5
+ import type { GraphFrame } from "./graphFrame";
6
+ import type { GraphNode } from "./graphNode";
7
+ import type { INodeContainer } from "./interfaces/nodeContainer";
8
+ import type { INodeData } from "./interfaces/nodeData";
9
+ import type { IPortData } from "./interfaces/portData";
10
+ import type { ISelectionChangedOptions } from "./interfaces/selectionChangedOptions";
11
+ import type { NodePort } from "./nodePort";
12
+ export declare class StateManager {
13
+ data: any;
14
+ hostDocument: Document;
15
+ lockObject: any;
16
+ onSelectionChangedObservable: Observable<Nullable<ISelectionChangedOptions>>;
17
+ onFrameCreatedObservable: Observable<GraphFrame>;
18
+ onUpdateRequiredObservable: Observable<any>;
19
+ onGraphNodeRemovalObservable: Observable<GraphNode>;
20
+ onSelectionBoxMoved: Observable<DOMRect | ClientRect>;
21
+ onCandidateLinkMoved: Observable<Nullable<Vector2>>;
22
+ onCandidatePortSelectedObservable: Observable<Nullable<FrameNodePort | NodePort>>;
23
+ onNewNodeCreatedObservable: Observable<GraphNode>;
24
+ onRebuildRequiredObservable: Observable<boolean>;
25
+ onErrorMessageDialogRequiredObservable: Observable<string>;
26
+ onExposePortOnFrameObservable: Observable<GraphNode>;
27
+ onGridSizeChanged: Observable<void>;
28
+ onNewBlockRequiredObservable: Observable<{
29
+ type: string;
30
+ targetX: number;
31
+ targetY: number;
32
+ needRepositioning?: boolean | undefined;
33
+ }>;
34
+ exportData: (data: any, frame?: Nullable<GraphFrame>) => string;
35
+ isElbowConnectionAllowed: (nodeA: FrameNodePort | NodePort, nodeB: FrameNodePort | NodePort) => boolean;
36
+ applyNodePortDesign: (data: IPortData, element: HTMLElement, img: HTMLImageElement) => void;
37
+ storeEditorData: (serializationObject: any, frame?: Nullable<GraphFrame>) => void;
38
+ getEditorDataMap: () => {
39
+ [key: number]: number;
40
+ };
41
+ createDefaultInputData: (rootData: any, portData: IPortData, nodeContainer: INodeContainer) => Nullable<{
42
+ data: INodeData;
43
+ name: string;
44
+ }>;
45
+ }
@@ -1,19 +1,19 @@
1
- import { Observable } from "@babylonjs/core/Misc/observable.js";
2
- export class StateManager {
3
- constructor() {
4
- this.onSelectionChangedObservable = new Observable();
5
- this.onFrameCreatedObservable = new Observable();
6
- this.onUpdateRequiredObservable = new Observable();
7
- this.onGraphNodeRemovalObservable = new Observable();
8
- this.onSelectionBoxMoved = new Observable();
9
- this.onCandidateLinkMoved = new Observable();
10
- this.onCandidatePortSelectedObservable = new Observable();
11
- this.onNewNodeCreatedObservable = new Observable();
12
- this.onRebuildRequiredObservable = new Observable();
13
- this.onErrorMessageDialogRequiredObservable = new Observable();
14
- this.onExposePortOnFrameObservable = new Observable();
15
- this.onGridSizeChanged = new Observable();
16
- this.onNewBlockRequiredObservable = new Observable();
17
- }
18
- }
1
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
2
+ export class StateManager {
3
+ constructor() {
4
+ this.onSelectionChangedObservable = new Observable();
5
+ this.onFrameCreatedObservable = new Observable();
6
+ this.onUpdateRequiredObservable = new Observable();
7
+ this.onGraphNodeRemovalObservable = new Observable();
8
+ this.onSelectionBoxMoved = new Observable();
9
+ this.onCandidateLinkMoved = new Observable();
10
+ this.onCandidatePortSelectedObservable = new Observable();
11
+ this.onNewNodeCreatedObservable = new Observable();
12
+ this.onRebuildRequiredObservable = new Observable();
13
+ this.onErrorMessageDialogRequiredObservable = new Observable();
14
+ this.onExposePortOnFrameObservable = new Observable();
15
+ this.onGridSizeChanged = new Observable();
16
+ this.onNewBlockRequiredObservable = new Observable();
17
+ }
18
+ }
19
19
  //# sourceMappingURL=stateManager.js.map
@@ -1,5 +1,5 @@
1
- import type { GraphNode } from "./graphNode";
2
- import type { NodeLink } from "./nodeLink";
3
- import type { FramePortData } from "./types/framePortData";
4
- export declare const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
5
- export declare const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
1
+ import type { GraphNode } from "./graphNode";
2
+ import type { NodeLink } from "./nodeLink";
3
+ import type { FramePortData } from "./types/framePortData";
4
+ export declare const IsFramePortData: (variableToCheck: any) => variableToCheck is FramePortData;
5
+ export declare const RefreshNode: (node: GraphNode, visitedNodes?: Set<GraphNode> | undefined, visitedLinks?: Set<NodeLink> | undefined) => void;
@@ -1,37 +1,37 @@
1
- export const IsFramePortData = (variableToCheck) => {
2
- if (variableToCheck) {
3
- return variableToCheck.port !== undefined;
4
- }
5
- else {
6
- return false;
7
- }
8
- };
9
- export const RefreshNode = (node, visitedNodes, visitedLinks) => {
10
- node.refresh();
11
- const links = node.links;
12
- if (visitedNodes) {
13
- // refresh first the nodes so that the right types are assigned to the auto-detect ports
14
- links.forEach((link) => {
15
- const nodeA = link.nodeA, nodeB = link.nodeB;
16
- if (!visitedNodes.has(nodeA)) {
17
- visitedNodes.add(nodeA);
18
- RefreshNode(nodeA, visitedNodes, visitedLinks);
19
- }
20
- if (nodeB && !visitedNodes.has(nodeB)) {
21
- visitedNodes.add(nodeB);
22
- RefreshNode(nodeB, visitedNodes, visitedLinks);
23
- }
24
- });
25
- }
26
- if (!visitedLinks) {
27
- return;
28
- }
29
- // then refresh the links to display the right color between ports
30
- links.forEach((link) => {
31
- if (!visitedLinks.has(link)) {
32
- visitedLinks.add(link);
33
- link.update();
34
- }
35
- });
36
- };
1
+ export const IsFramePortData = (variableToCheck) => {
2
+ if (variableToCheck) {
3
+ return variableToCheck.port !== undefined;
4
+ }
5
+ else {
6
+ return false;
7
+ }
8
+ };
9
+ export const RefreshNode = (node, visitedNodes, visitedLinks) => {
10
+ node.refresh();
11
+ const links = node.links;
12
+ if (visitedNodes) {
13
+ // refresh first the nodes so that the right types are assigned to the auto-detect ports
14
+ links.forEach((link) => {
15
+ const nodeA = link.nodeA, nodeB = link.nodeB;
16
+ if (!visitedNodes.has(nodeA)) {
17
+ visitedNodes.add(nodeA);
18
+ RefreshNode(nodeA, visitedNodes, visitedLinks);
19
+ }
20
+ if (nodeB && !visitedNodes.has(nodeB)) {
21
+ visitedNodes.add(nodeB);
22
+ RefreshNode(nodeB, visitedNodes, visitedLinks);
23
+ }
24
+ });
25
+ }
26
+ if (!visitedLinks) {
27
+ return;
28
+ }
29
+ // then refresh the links to display the right color between ports
30
+ links.forEach((link) => {
31
+ if (!visitedLinks.has(link)) {
32
+ visitedLinks.add(link);
33
+ link.update();
34
+ }
35
+ });
36
+ };
37
37
  //# sourceMappingURL=tools.js.map
@@ -1,8 +1,8 @@
1
- import type { INodeContainer } from "./interfaces/nodeContainer";
2
- import type { INodeData } from "./interfaces/nodeData";
3
- import type { IPortData } from "./interfaces/portData";
4
- import type { NodePort } from "./nodePort";
5
- export declare class TypeLedger {
6
- static PortDataBuilder: (port: NodePort, nodeContainer: INodeContainer) => IPortData;
7
- static NodeDataBuilder: (data: any, nodeContainer: INodeContainer) => INodeData;
8
- }
1
+ import type { INodeContainer } from "./interfaces/nodeContainer";
2
+ import type { INodeData } from "./interfaces/nodeData";
3
+ import type { IPortData } from "./interfaces/portData";
4
+ import type { NodePort } from "./nodePort";
5
+ export declare class TypeLedger {
6
+ static PortDataBuilder: (port: NodePort, nodeContainer: INodeContainer) => IPortData;
7
+ static NodeDataBuilder: (data: any, nodeContainer: INodeContainer) => INodeData;
8
+ }
@@ -1,3 +1,3 @@
1
- export class TypeLedger {
2
- }
1
+ export class TypeLedger {
2
+ }
3
3
  //# sourceMappingURL=typeLedger.js.map
@@ -1,7 +1,7 @@
1
- import type { GraphFrame } from "../graphFrame";
2
- declare type FrameNodePort = import("../frameNodePort").FrameNodePort;
3
- export declare type FramePortData = {
4
- frame: GraphFrame;
5
- port: FrameNodePort;
6
- };
7
- export {};
1
+ import type { GraphFrame } from "../graphFrame";
2
+ declare type FrameNodePort = import("../frameNodePort").FrameNodePort;
3
+ export declare type FramePortData = {
4
+ frame: GraphFrame;
5
+ port: FrameNodePort;
6
+ };
7
+ export {};
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=framePortData.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@babylonjs/shared-ui-components",
3
- "version": "5.28.0",
3
+ "version": "5.29.0",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "types": "index.d.ts",
@@ -21,8 +21,8 @@
21
21
  },
22
22
  "devDependencies": {
23
23
  "@dev/build-tools": "^1.0.0",
24
- "@lts/gui": "1.0.0",
25
24
  "@lts/core": "1.0.0",
25
+ "@lts/gui": "1.0.0",
26
26
  "rimraf": "^3.0.2",
27
27
  "typescript": "^4.4.4"
28
28
  },
@@ -30,6 +30,8 @@
30
30
  "@babylonjs/core": "^5.22.0",
31
31
  "@babylonjs/gui": "^5.22.0",
32
32
  "react": "^17.0.2",
33
+ "react-dnd": "15.0.1",
34
+ "react-dnd-touch-backend": "15.0.1",
33
35
  "react-dom": "^17.0.2"
34
36
  },
35
37
  "keywords": [
@@ -52,4 +54,3 @@
52
54
  "url": "https://github.com/BabylonJS/Babylon.js/issues"
53
55
  }
54
56
  }
55
-
@@ -1,7 +1,7 @@
1
- export declare class PropertyChangedEvent {
2
- object: any;
3
- property: string;
4
- value: any;
5
- initialValue: any;
6
- allowNullValue?: boolean;
7
- }
1
+ export declare class PropertyChangedEvent {
2
+ object: any;
3
+ property: string;
4
+ value: any;
5
+ initialValue: any;
6
+ allowNullValue?: boolean;
7
+ }
@@ -1,3 +1,3 @@
1
- export class PropertyChangedEvent {
2
- }
1
+ export class PropertyChangedEvent {
2
+ }
3
3
  //# sourceMappingURL=propertyChangedEvent.js.map
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- import type { ButtonProps } from "../components/Button";
3
- declare const _default: {
4
- title: string;
5
- component: import("react").FC<ButtonProps>;
6
- };
7
- export default _default;
8
- export declare const Default: any;
9
- export declare const Wide: any;
10
- export declare const Small: any;
1
+ /// <reference types="react" />
2
+ import type { ButtonProps } from "../components/Button";
3
+ declare const _default: {
4
+ title: string;
5
+ component: import("react").FC<ButtonProps>;
6
+ };
7
+ export default _default;
8
+ export declare const Default: any;
9
+ export declare const Wide: any;
10
+ export declare const Small: any;