@babylonjs/shared-ui-components 5.28.0 → 5.30.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 (249) 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/CommandBarComponent.js.map +1 -1
  20. package/components/bars/CommandButtonComponent.d.ts +11 -11
  21. package/components/bars/CommandButtonComponent.js +6 -6
  22. package/components/bars/CommandDropdownComponent.d.ts +26 -26
  23. package/components/bars/CommandDropdownComponent.js +48 -48
  24. package/components/classNames.d.ts +2 -2
  25. package/components/classNames.js +18 -18
  26. package/components/colorPicker/ColorComponentEntry.d.ts +18 -18
  27. package/components/colorPicker/ColorComponentEntry.js +37 -37
  28. package/components/colorPicker/ColorPicker.d.ts +43 -43
  29. package/components/colorPicker/ColorPicker.js +137 -137
  30. package/components/colorPicker/HexColor.d.ts +20 -20
  31. package/components/colorPicker/HexColor.js +45 -45
  32. package/components/layout/DraggableIcon.d.ts +23 -0
  33. package/components/layout/DraggableIcon.js +18 -0
  34. package/components/layout/DraggableIcon.js.map +1 -0
  35. package/components/layout/FlexibleColumn.d.ts +17 -0
  36. package/components/layout/FlexibleColumn.js +12 -0
  37. package/components/layout/FlexibleColumn.js.map +1 -0
  38. package/components/layout/FlexibleDragHandler.d.ts +18 -0
  39. package/components/layout/FlexibleDragHandler.js +88 -0
  40. package/components/layout/FlexibleDragHandler.js.map +1 -0
  41. package/components/layout/FlexibleDropZone.d.ts +19 -0
  42. package/components/layout/FlexibleDropZone.js +12 -0
  43. package/components/layout/FlexibleDropZone.js.map +1 -0
  44. package/components/layout/FlexibleGridContainer.d.ts +10 -0
  45. package/components/layout/FlexibleGridContainer.js +23 -0
  46. package/components/layout/FlexibleGridContainer.js.map +1 -0
  47. package/components/layout/FlexibleGridLayout.d.ts +16 -0
  48. package/components/layout/FlexibleGridLayout.js +24 -0
  49. package/components/layout/FlexibleGridLayout.js.map +1 -0
  50. package/components/layout/FlexibleResizeBar.d.ts +40 -0
  51. package/components/layout/FlexibleResizeBar.js +21 -0
  52. package/components/layout/FlexibleResizeBar.js.map +1 -0
  53. package/components/layout/FlexibleTab.d.ts +34 -0
  54. package/components/layout/FlexibleTab.js +36 -0
  55. package/components/layout/FlexibleTab.js.map +1 -0
  56. package/components/layout/FlexibleTabsContainer.d.ts +28 -0
  57. package/components/layout/FlexibleTabsContainer.js +54 -0
  58. package/components/layout/FlexibleTabsContainer.js.map +1 -0
  59. package/components/layout/LayoutContext.d.ts +12 -0
  60. package/components/layout/LayoutContext.js +3 -0
  61. package/components/layout/LayoutContext.js.map +1 -0
  62. package/components/layout/types.d.ts +82 -0
  63. package/components/layout/types.js +13 -0
  64. package/components/layout/types.js.map +1 -0
  65. package/components/layout/utils.d.ts +25 -0
  66. package/components/layout/utils.js +68 -0
  67. package/components/layout/utils.js.map +1 -0
  68. package/components/lines/ColorLineComponent.d.ts +40 -40
  69. package/components/lines/ColorLineComponent.js +145 -145
  70. package/components/lines/ColorPickerLineComponent.d.ts +33 -33
  71. package/components/lines/ColorPickerLineComponent.js +61 -61
  72. package/components/lines/FileButtonLineComponent.d.ts +16 -16
  73. package/components/lines/FileButtonLineComponent.js +21 -21
  74. package/components/lines/NumericInputComponent.d.ts +31 -31
  75. package/components/lines/NumericInputComponent.js +86 -86
  76. package/lines/booleanLineComponent.d.ts +11 -11
  77. package/lines/booleanLineComponent.js +14 -14
  78. package/lines/buttonLineComponent.d.ts +12 -12
  79. package/lines/buttonLineComponent.js +10 -10
  80. package/lines/checkBoxLineComponent.d.ts +36 -36
  81. package/lines/checkBoxLineComponent.js +88 -88
  82. package/lines/color3LineComponent.d.ts +18 -18
  83. package/lines/color3LineComponent.js +9 -9
  84. package/lines/color4LineComponent.d.ts +18 -18
  85. package/lines/color4LineComponent.js +9 -9
  86. package/lines/colorLineComponent.d.ts +40 -40
  87. package/lines/colorLineComponent.js +144 -144
  88. package/lines/colorPickerComponent.d.ts +31 -31
  89. package/lines/colorPickerComponent.js +60 -60
  90. package/lines/draggableLineComponent.d.ts +9 -9
  91. package/lines/draggableLineComponent.js +12 -12
  92. package/lines/fileButtonLineComponent.d.ts +17 -17
  93. package/lines/fileButtonLineComponent.js +20 -20
  94. package/lines/fileMultipleButtonLineComponent.d.ts +17 -17
  95. package/lines/fileMultipleButtonLineComponent.js +20 -20
  96. package/lines/floatLineComponent.d.ts +50 -50
  97. package/lines/floatLineComponent.js +175 -175
  98. package/lines/hexLineComponent.d.ts +40 -40
  99. package/lines/hexLineComponent.js +121 -121
  100. package/lines/iSelectedLineContainer.d.ts +4 -4
  101. package/lines/iSelectedLineContainer.js +1 -1
  102. package/lines/iconButtonLineComponent.d.ts +11 -11
  103. package/lines/iconButtonLineComponent.js +10 -10
  104. package/lines/iconComponent.d.ts +9 -9
  105. package/lines/iconComponent.js +7 -7
  106. package/lines/indentedTextLineComponent.d.ts +16 -16
  107. package/lines/indentedTextLineComponent.js +26 -26
  108. package/lines/inputArrowsComponent.d.ts +13 -13
  109. package/lines/inputArrowsComponent.js +37 -37
  110. package/lines/lineContainerComponent.d.ts +19 -19
  111. package/lines/lineContainerComponent.js +49 -49
  112. package/lines/linkButtonComponent.d.ts +16 -16
  113. package/lines/linkButtonComponent.js +20 -20
  114. package/lines/matrixLineComponent.d.ts +36 -36
  115. package/lines/matrixLineComponent.js +102 -102
  116. package/lines/messageLineComponent.d.ts +12 -12
  117. package/lines/messageLineComponent.js +14 -14
  118. package/lines/numericInputComponent.d.ts +31 -31
  119. package/lines/numericInputComponent.js +85 -85
  120. package/lines/optionsLineComponent.d.ts +48 -48
  121. package/lines/optionsLineComponent.js +118 -118
  122. package/lines/popup.d.ts +4 -4
  123. package/lines/popup.js +67 -67
  124. package/lines/radioLineComponent.d.ts +21 -21
  125. package/lines/radioLineComponent.js +26 -26
  126. package/lines/sliderLineComponent.d.ts +37 -37
  127. package/lines/sliderLineComponent.js +89 -89
  128. package/lines/targetsProxy.d.ts +11 -11
  129. package/lines/targetsProxy.js +42 -42
  130. package/lines/textInputLineComponent.d.ts +47 -47
  131. package/lines/textInputLineComponent.js +154 -154
  132. package/lines/textLineComponent.d.ts +21 -21
  133. package/lines/textLineComponent.js +30 -30
  134. package/lines/unitButton.d.ts +8 -8
  135. package/lines/unitButton.js +7 -7
  136. package/lines/valueLineComponent.d.ts +15 -15
  137. package/lines/valueLineComponent.js +12 -12
  138. package/lines/vector2LineComponent.d.ts +36 -36
  139. package/lines/vector2LineComponent.js +63 -63
  140. package/lines/vector3LineComponent.d.ts +41 -41
  141. package/lines/vector3LineComponent.js +74 -74
  142. package/lines/vector4LineComponent.d.ts +42 -42
  143. package/lines/vector4LineComponent.js +81 -81
  144. package/nodeGraphSystem/displayLedger.d.ts +5 -5
  145. package/nodeGraphSystem/displayLedger.js +3 -3
  146. package/nodeGraphSystem/frameNodePort.d.ts +25 -25
  147. package/nodeGraphSystem/frameNodePort.js +59 -59
  148. package/nodeGraphSystem/graphCanvas.d.ts +117 -111
  149. package/nodeGraphSystem/graphCanvas.js +1137 -1131
  150. package/nodeGraphSystem/graphCanvas.js.map +1 -1
  151. package/nodeGraphSystem/graphFrame.d.ts +153 -153
  152. package/nodeGraphSystem/graphFrame.js +1328 -1328
  153. package/nodeGraphSystem/graphNode.d.ts +81 -79
  154. package/nodeGraphSystem/graphNode.js +465 -459
  155. package/nodeGraphSystem/graphNode.js.map +1 -1
  156. package/nodeGraphSystem/interfaces/displayManager.d.ts +13 -13
  157. package/nodeGraphSystem/interfaces/displayManager.js +1 -1
  158. package/nodeGraphSystem/interfaces/nodeContainer.d.ts +6 -6
  159. package/nodeGraphSystem/interfaces/nodeContainer.js +1 -1
  160. package/nodeGraphSystem/interfaces/nodeData.d.ts +15 -15
  161. package/nodeGraphSystem/interfaces/nodeData.js +1 -1
  162. package/nodeGraphSystem/interfaces/nodeLocationInfo.d.ts +26 -26
  163. package/nodeGraphSystem/interfaces/nodeLocationInfo.js +1 -1
  164. package/nodeGraphSystem/interfaces/portData.d.ts +28 -28
  165. package/nodeGraphSystem/interfaces/portData.js +7 -7
  166. package/nodeGraphSystem/interfaces/propertyComponentProps.d.ts +6 -6
  167. package/nodeGraphSystem/interfaces/propertyComponentProps.js +1 -1
  168. package/nodeGraphSystem/interfaces/selectionChangedOptions.d.ts +11 -11
  169. package/nodeGraphSystem/interfaces/selectionChangedOptions.js +1 -1
  170. package/nodeGraphSystem/nodeLink.d.ts +31 -31
  171. package/nodeGraphSystem/nodeLink.js +182 -182
  172. package/nodeGraphSystem/nodePort.d.ts +35 -35
  173. package/nodeGraphSystem/nodePort.js +128 -128
  174. package/nodeGraphSystem/propertyLedger.d.ts +8 -8
  175. package/nodeGraphSystem/propertyLedger.js +3 -3
  176. package/nodeGraphSystem/stateManager.d.ts +45 -45
  177. package/nodeGraphSystem/stateManager.js +18 -18
  178. package/nodeGraphSystem/tools.d.ts +5 -5
  179. package/nodeGraphSystem/tools.js +36 -36
  180. package/nodeGraphSystem/typeLedger.d.ts +8 -8
  181. package/nodeGraphSystem/typeLedger.js +2 -2
  182. package/nodeGraphSystem/types/framePortData.d.ts +7 -7
  183. package/nodeGraphSystem/types/framePortData.js +1 -1
  184. package/package.json +4 -3
  185. package/propertyChangedEvent.d.ts +7 -7
  186. package/propertyChangedEvent.js +2 -2
  187. package/stories/Button.stories.d.ts +10 -10
  188. package/stories/Button.stories.js +19 -19
  189. package/stories/Icon.stories.d.ts +9 -9
  190. package/stories/Icon.stories.js +16 -16
  191. package/stories/Label.stories.d.ts +8 -8
  192. package/stories/Label.stories.js +10 -10
  193. package/stories/MessageDialog.stories.d.ts +9 -9
  194. package/stories/MessageDialog.stories.js +19 -19
  195. package/stories/Toggle.stories.d.ts +9 -9
  196. package/stories/Toggle.stories.js +17 -17
  197. package/stories/bars/CommandBarComponent.stories.d.ts +11 -11
  198. package/stories/bars/CommandBarComponent.stories.js +12 -12
  199. package/stories/bars/CommandButtonComponent.stories.d.ts +6 -6
  200. package/stories/bars/CommandButtonComponent.stories.js +6 -6
  201. package/stories/colorPicker/ColorPicker.stories.d.ts +11 -11
  202. package/stories/colorPicker/ColorPicker.stories.js +4 -4
  203. package/stories/layout/FlexibleGridLayout.stories.d.ts +46 -0
  204. package/stories/layout/FlexibleGridLayout.stories.js +48 -0
  205. package/stories/layout/FlexibleGridLayout.stories.js.map +1 -0
  206. package/stories/lines/ColorLineComponent.stories.d.ts +21 -21
  207. package/stories/lines/ColorLineComponent.stories.js +9 -9
  208. package/stories/lines/ColorPickerLineComponent.stories.d.ts +14 -14
  209. package/stories/lines/ColorPickerLineComponent.stories.js +10 -10
  210. package/stories/lines/FileButtonLineComponent.stories.d.ts +6 -6
  211. package/stories/lines/FileButtonLineComponent.stories.js +5 -5
  212. package/stories/lines/NumericInputComponent.stories.d.ts +11 -11
  213. package/stories/lines/NumericInputComponent.stories.js +5 -5
  214. package/stringTools.d.ts +11 -11
  215. package/stringTools.js +88 -88
  216. package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.d.ts +15 -15
  217. package/tabs/propertyGrids/gui/checkboxPropertyGridComponent.js +15 -15
  218. package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.d.ts +15 -15
  219. package/tabs/propertyGrids/gui/colorPickerPropertyGridComponent.js +14 -14
  220. package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.d.ts +17 -17
  221. package/tabs/propertyGrids/gui/commonControlPropertyGridComponent.js +55 -55
  222. package/tabs/propertyGrids/gui/controlPropertyGridComponent.d.ts +15 -15
  223. package/tabs/propertyGrids/gui/controlPropertyGridComponent.js +12 -12
  224. package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.d.ts +15 -15
  225. package/tabs/propertyGrids/gui/ellipsePropertyGridComponent.js +15 -15
  226. package/tabs/propertyGrids/gui/gridPropertyGridComponent.d.ts +17 -17
  227. package/tabs/propertyGrids/gui/gridPropertyGridComponent.js +38 -38
  228. package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.d.ts +15 -15
  229. package/tabs/propertyGrids/gui/imageBasedSliderPropertyGridComponent.js +16 -16
  230. package/tabs/propertyGrids/gui/imagePropertyGridComponent.d.ts +15 -15
  231. package/tabs/propertyGrids/gui/imagePropertyGridComponent.js +25 -25
  232. package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.d.ts +15 -15
  233. package/tabs/propertyGrids/gui/inputTextPropertyGridComponent.js +17 -17
  234. package/tabs/propertyGrids/gui/linePropertyGridComponent.d.ts +16 -16
  235. package/tabs/propertyGrids/gui/linePropertyGridComponent.js +27 -27
  236. package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.d.ts +15 -15
  237. package/tabs/propertyGrids/gui/radioButtonPropertyGridComponent.js +17 -17
  238. package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.d.ts +15 -15
  239. package/tabs/propertyGrids/gui/rectanglePropertyGridComponent.js +15 -15
  240. package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.d.ts +15 -15
  241. package/tabs/propertyGrids/gui/scrollViewerPropertyGridComponent.js +15 -15
  242. package/tabs/propertyGrids/gui/sliderPropertyGridComponent.d.ts +15 -15
  243. package/tabs/propertyGrids/gui/sliderPropertyGridComponent.js +16 -16
  244. package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.d.ts +15 -15
  245. package/tabs/propertyGrids/gui/stackPanelPropertyGridComponent.js +14 -14
  246. package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.d.ts +15 -15
  247. package/tabs/propertyGrids/gui/textBlockPropertyGridComponent.js +34 -34
  248. package/tabs/propertyGrids/lockObject.d.ts +9 -9
  249. 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.30.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;