@finos/legend-application-studio 13.0.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 (1059) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/lib/application/LegendStudio.d.ts +26 -0
  4. package/lib/application/LegendStudio.d.ts.map +1 -0
  5. package/lib/application/LegendStudio.js +60 -0
  6. package/lib/application/LegendStudio.js.map +1 -0
  7. package/lib/application/LegendStudioApplicationConfig.d.ts +72 -0
  8. package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -0
  9. package/lib/application/LegendStudioApplicationConfig.js +79 -0
  10. package/lib/application/LegendStudioApplicationConfig.js.map +1 -0
  11. package/lib/application/LegendStudioPluginManager.d.ts +33 -0
  12. package/lib/application/LegendStudioPluginManager.d.ts.map +1 -0
  13. package/lib/application/LegendStudioPluginManager.js +54 -0
  14. package/lib/application/LegendStudioPluginManager.js.map +1 -0
  15. package/lib/components/Core_LegendStudioApplicationPlugin.d.ts +25 -0
  16. package/lib/components/Core_LegendStudioApplicationPlugin.d.ts.map +1 -0
  17. package/lib/components/Core_LegendStudioApplicationPlugin.js +79 -0
  18. package/lib/components/Core_LegendStudioApplicationPlugin.js.map +1 -0
  19. package/lib/components/DSLExternalFormat_CodeSnippets.d.ts +21 -0
  20. package/lib/components/DSLExternalFormat_CodeSnippets.d.ts.map +1 -0
  21. package/lib/components/DSLExternalFormat_CodeSnippets.js +74 -0
  22. package/lib/components/DSLExternalFormat_CodeSnippets.js.map +1 -0
  23. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.d.ts +41 -0
  24. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.d.ts.map +1 -0
  25. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.js +289 -0
  26. package/lib/components/DSLExternalFormat_LegendStudioApplicationPlugin.js.map +1 -0
  27. package/lib/components/DSLExternalFormat_LegendStudioDocumentation.d.ts +21 -0
  28. package/lib/components/DSLExternalFormat_LegendStudioDocumentation.d.ts.map +1 -0
  29. package/lib/components/DSLExternalFormat_LegendStudioDocumentation.js +22 -0
  30. package/lib/components/DSLExternalFormat_LegendStudioDocumentation.js.map +1 -0
  31. package/lib/components/EditorComponentTestUtils.d.ts +129 -0
  32. package/lib/components/EditorComponentTestUtils.d.ts.map +1 -0
  33. package/lib/components/EditorComponentTestUtils.js +250 -0
  34. package/lib/components/EditorComponentTestUtils.js.map +1 -0
  35. package/lib/components/LegendStudioAppInfo.d.ts +21 -0
  36. package/lib/components/LegendStudioAppInfo.d.ts.map +1 -0
  37. package/lib/components/LegendStudioAppInfo.js +106 -0
  38. package/lib/components/LegendStudioAppInfo.js.map +1 -0
  39. package/lib/components/LegendStudioApplication.d.ts +28 -0
  40. package/lib/components/LegendStudioApplication.d.ts.map +1 -0
  41. package/lib/components/LegendStudioApplication.js +80 -0
  42. package/lib/components/LegendStudioApplication.js.map +1 -0
  43. package/lib/components/LegendStudioBaseStoreProvider.d.ts +25 -0
  44. package/lib/components/LegendStudioBaseStoreProvider.d.ts.map +1 -0
  45. package/lib/components/LegendStudioBaseStoreProvider.js +34 -0
  46. package/lib/components/LegendStudioBaseStoreProvider.js.map +1 -0
  47. package/lib/components/LegendStudioTestID.d.ts +47 -0
  48. package/lib/components/LegendStudioTestID.d.ts.map +1 -0
  49. package/lib/components/LegendStudioTestID.js +52 -0
  50. package/lib/components/LegendStudioTestID.js.map +1 -0
  51. package/lib/components/editor/ActivityBar.d.ts +28 -0
  52. package/lib/components/editor/ActivityBar.d.ts.map +1 -0
  53. package/lib/components/editor/ActivityBar.js +166 -0
  54. package/lib/components/editor/ActivityBar.js.map +1 -0
  55. package/lib/components/editor/Editor.d.ts +18 -0
  56. package/lib/components/editor/Editor.d.ts.map +1 -0
  57. package/lib/components/editor/Editor.js +176 -0
  58. package/lib/components/editor/Editor.js.map +1 -0
  59. package/lib/components/editor/EditorStoreProvider.d.ts +23 -0
  60. package/lib/components/editor/EditorStoreProvider.d.ts.map +1 -0
  61. package/lib/components/editor/EditorStoreProvider.js +39 -0
  62. package/lib/components/editor/EditorStoreProvider.js.map +1 -0
  63. package/lib/components/editor/StatusBar.d.ts +22 -0
  64. package/lib/components/editor/StatusBar.d.ts.map +1 -0
  65. package/lib/components/editor/StatusBar.js +145 -0
  66. package/lib/components/editor/StatusBar.js.map +1 -0
  67. package/lib/components/editor/aux-panel/AuxiliaryPanel.d.ts +20 -0
  68. package/lib/components/editor/aux-panel/AuxiliaryPanel.d.ts.map +1 -0
  69. package/lib/components/editor/aux-panel/AuxiliaryPanel.js +58 -0
  70. package/lib/components/editor/aux-panel/AuxiliaryPanel.js.map +1 -0
  71. package/lib/components/editor/aux-panel/Console.d.ts +20 -0
  72. package/lib/components/editor/aux-panel/Console.d.ts.map +1 -0
  73. package/lib/components/editor/aux-panel/Console.js +21 -0
  74. package/lib/components/editor/aux-panel/Console.js.map +1 -0
  75. package/lib/components/editor/aux-panel/DevTool.d.ts +20 -0
  76. package/lib/components/editor/aux-panel/DevTool.d.ts.map +1 -0
  77. package/lib/components/editor/aux-panel/DevTool.js +35 -0
  78. package/lib/components/editor/aux-panel/DevTool.js.map +1 -0
  79. package/lib/components/editor/command/project-search.css +1 -0
  80. package/lib/components/editor/command/project-search.css.map +1 -0
  81. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts +20 -0
  82. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -0
  83. package/lib/components/editor/command-center/ProjectSearchCommand.js +60 -0
  84. package/lib/components/editor/command-center/ProjectSearchCommand.js.map +1 -0
  85. package/lib/components/editor/edit-panel/EditPanel.d.ts +22 -0
  86. package/lib/components/editor/edit-panel/EditPanel.d.ts.map +1 -0
  87. package/lib/components/editor/edit-panel/EditPanel.js +212 -0
  88. package/lib/components/editor/edit-panel/EditPanel.js.map +1 -0
  89. package/lib/components/editor/edit-panel/FileGenerationViewer.d.ts +20 -0
  90. package/lib/components/editor/edit-panel/FileGenerationViewer.d.ts.map +1 -0
  91. package/lib/components/editor/edit-panel/FileGenerationViewer.js +32 -0
  92. package/lib/components/editor/edit-panel/FileGenerationViewer.js.map +1 -0
  93. package/lib/components/editor/edit-panel/FunctionEditor.d.ts +36 -0
  94. package/lib/components/editor/edit-panel/FunctionEditor.d.ts.map +1 -0
  95. package/lib/components/editor/edit-panel/FunctionEditor.js +278 -0
  96. package/lib/components/editor/edit-panel/FunctionEditor.js.map +1 -0
  97. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.d.ts +20 -0
  98. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.d.ts.map +1 -0
  99. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js +216 -0
  100. package/lib/components/editor/edit-panel/GenerationSpecificationEditor.js.map +1 -0
  101. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts +23 -0
  102. package/lib/components/editor/edit-panel/GrammarTextEditor.d.ts.map +1 -0
  103. package/lib/components/editor/edit-panel/GrammarTextEditor.js +892 -0
  104. package/lib/components/editor/edit-panel/GrammarTextEditor.js.map +1 -0
  105. package/lib/components/editor/edit-panel/ModelLoader.d.ts +20 -0
  106. package/lib/components/editor/edit-panel/ModelLoader.d.ts.map +1 -0
  107. package/lib/components/editor/edit-panel/ModelLoader.js +96 -0
  108. package/lib/components/editor/edit-panel/ModelLoader.js.map +1 -0
  109. package/lib/components/editor/edit-panel/RuntimeEditor.d.ts +43 -0
  110. package/lib/components/editor/edit-panel/RuntimeEditor.d.ts.map +1 -0
  111. package/lib/components/editor/edit-panel/RuntimeEditor.js +364 -0
  112. package/lib/components/editor/edit-panel/RuntimeEditor.js.map +1 -0
  113. package/lib/components/editor/edit-panel/UnsupportedElementEditor.d.ts +26 -0
  114. package/lib/components/editor/edit-panel/UnsupportedElementEditor.d.ts.map +1 -0
  115. package/lib/components/editor/edit-panel/UnsupportedElementEditor.js +38 -0
  116. package/lib/components/editor/edit-panel/UnsupportedElementEditor.js.map +1 -0
  117. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.d.ts +28 -0
  118. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.d.ts.map +1 -0
  119. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js +75 -0
  120. package/lib/components/editor/edit-panel/connection-editor/ConnectionEditor.js.map +1 -0
  121. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.d.ts +31 -0
  122. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.d.ts.map +1 -0
  123. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js +123 -0
  124. package/lib/components/editor/edit-panel/connection-editor/DatabaseBuilder.js.map +1 -0
  125. package/lib/components/editor/edit-panel/connection-editor/FlatDataConnectionEditor.d.ts +24 -0
  126. package/lib/components/editor/edit-panel/connection-editor/FlatDataConnectionEditor.d.ts.map +1 -0
  127. package/lib/components/editor/edit-panel/connection-editor/FlatDataConnectionEditor.js +26 -0
  128. package/lib/components/editor/edit-panel/connection-editor/FlatDataConnectionEditor.js.map +1 -0
  129. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts +66 -0
  130. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.d.ts.map +1 -0
  131. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js +321 -0
  132. package/lib/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.js.map +1 -0
  133. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.d.ts +34 -0
  134. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.d.ts.map +1 -0
  135. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js +104 -0
  136. package/lib/components/editor/edit-panel/data-editor/DataElementEditor.js.map +1 -0
  137. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.d.ts +38 -0
  138. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.d.ts.map +1 -0
  139. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js +89 -0
  140. package/lib/components/editor/edit-panel/data-editor/EmbeddedDataEditor.js.map +1 -0
  141. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.d.ts +24 -0
  142. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.d.ts.map +1 -0
  143. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js +69 -0
  144. package/lib/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.js.map +1 -0
  145. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.d.ts +31 -0
  146. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.d.ts.map +1 -0
  147. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js +449 -0
  148. package/lib/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.js.map +1 -0
  149. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.d.ts +31 -0
  150. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.d.ts.map +1 -0
  151. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.js +71 -0
  152. package/lib/components/editor/edit-panel/diff-editor/EntityDiffView.js.map +1 -0
  153. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.d.ts +25 -0
  154. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.d.ts.map +1 -0
  155. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js +71 -0
  156. package/lib/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.js.map +1 -0
  157. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.d.ts +23 -0
  158. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.d.ts.map +1 -0
  159. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js +44 -0
  160. package/lib/components/editor/edit-panel/element-generation-editor/ElementNativeView.js.map +1 -0
  161. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.d.ts +65 -0
  162. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.d.ts.map +1 -0
  163. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js +398 -0
  164. package/lib/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.js.map +1 -0
  165. package/lib/components/editor/edit-panel/external-format-editor/BindingElementEditor.d.ts +20 -0
  166. package/lib/components/editor/edit-panel/external-format-editor/BindingElementEditor.d.ts.map +1 -0
  167. package/lib/components/editor/edit-panel/external-format-editor/BindingElementEditor.js +146 -0
  168. package/lib/components/editor/edit-panel/external-format-editor/BindingElementEditor.js.map +1 -0
  169. package/lib/components/editor/edit-panel/external-format-editor/ExternalFormatConnectionEditor.d.ts +22 -0
  170. package/lib/components/editor/edit-panel/external-format-editor/ExternalFormatConnectionEditor.d.ts.map +1 -0
  171. package/lib/components/editor/edit-panel/external-format-editor/ExternalFormatConnectionEditor.js +57 -0
  172. package/lib/components/editor/edit-panel/external-format-editor/ExternalFormatConnectionEditor.js.map +1 -0
  173. package/lib/components/editor/edit-panel/external-format-editor/NewSchemaSetDriver.d.ts +31 -0
  174. package/lib/components/editor/edit-panel/external-format-editor/NewSchemaSetDriver.d.ts.map +1 -0
  175. package/lib/components/editor/edit-panel/external-format-editor/NewSchemaSetDriver.js +66 -0
  176. package/lib/components/editor/edit-panel/external-format-editor/NewSchemaSetDriver.js.map +1 -0
  177. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.d.ts +20 -0
  178. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.d.ts.map +1 -0
  179. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.js +153 -0
  180. package/lib/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.js.map +1 -0
  181. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.d.ts +36 -0
  182. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.d.ts.map +1 -0
  183. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js +131 -0
  184. package/lib/components/editor/edit-panel/mapping-editor/ClassMappingEditor.js.map +1 -0
  185. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.d.ts +33 -0
  186. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.d.ts.map +1 -0
  187. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js +166 -0
  188. package/lib/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.js.map +1 -0
  189. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.d.ts +26 -0
  190. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.d.ts.map +1 -0
  191. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js +140 -0
  192. package/lib/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.js.map +1 -0
  193. package/lib/components/editor/edit-panel/mapping-editor/FlatDataRecordTypeTree.d.ts +22 -0
  194. package/lib/components/editor/edit-panel/mapping-editor/FlatDataRecordTypeTree.d.ts.map +1 -0
  195. package/lib/components/editor/edit-panel/mapping-editor/FlatDataRecordTypeTree.js +78 -0
  196. package/lib/components/editor/edit-panel/mapping-editor/FlatDataRecordTypeTree.js.map +1 -0
  197. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.d.ts +30 -0
  198. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.d.ts.map +1 -0
  199. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js +270 -0
  200. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.js.map +1 -0
  201. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.d.ts +38 -0
  202. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.d.ts.map +1 -0
  203. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.js +118 -0
  204. package/lib/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.js.map +1 -0
  205. package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.d.ts +21 -0
  206. package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.d.ts.map +1 -0
  207. package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.js +115 -0
  208. package/lib/components/editor/edit-panel/mapping-editor/MappingEditor.js.map +1 -0
  209. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts +65 -0
  210. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -0
  211. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js +266 -0
  212. package/lib/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.js.map +1 -0
  213. package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.d.ts +34 -0
  214. package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.d.ts.map +1 -0
  215. package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.js +214 -0
  216. package/lib/components/editor/edit-panel/mapping-editor/MappingExplorer.js.map +1 -0
  217. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts +70 -0
  218. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.d.ts.map +1 -0
  219. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js +238 -0
  220. package/lib/components/editor/edit-panel/mapping-editor/MappingTestEditor.js.map +1 -0
  221. package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.d.ts +37 -0
  222. package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.d.ts.map +1 -0
  223. package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.js +157 -0
  224. package/lib/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.js.map +1 -0
  225. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.d.ts +20 -0
  226. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.d.ts.map +1 -0
  227. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js +152 -0
  228. package/lib/components/editor/edit-panel/mapping-editor/NewMappingElementModal.js.map +1 -0
  229. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.d.ts +24 -0
  230. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.d.ts.map +1 -0
  231. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.js +100 -0
  232. package/lib/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.js.map +1 -0
  233. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.d.ts +27 -0
  234. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.d.ts.map +1 -0
  235. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js +149 -0
  236. package/lib/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.js.map +1 -0
  237. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.d.ts +26 -0
  238. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.d.ts.map +1 -0
  239. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js +167 -0
  240. package/lib/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.js.map +1 -0
  241. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.d.ts +26 -0
  242. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.d.ts.map +1 -0
  243. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js +134 -0
  244. package/lib/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.js.map +1 -0
  245. package/lib/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.d.ts +45 -0
  246. package/lib/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.d.ts.map +1 -0
  247. package/lib/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.js +205 -0
  248. package/lib/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.js.map +1 -0
  249. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts +20 -0
  250. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.d.ts.map +1 -0
  251. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js +221 -0
  252. package/lib/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.js.map +1 -0
  253. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.d.ts +27 -0
  254. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.d.ts.map +1 -0
  255. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js +57 -0
  256. package/lib/components/editor/edit-panel/service-editor/NewServiceModal.js.map +1 -0
  257. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.d.ts +20 -0
  258. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.d.ts.map +1 -0
  259. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js +127 -0
  260. package/lib/components/editor/edit-panel/service-editor/ServiceEditor.js.map +1 -0
  261. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.d.ts +33 -0
  262. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.d.ts.map +1 -0
  263. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js +277 -0
  264. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionEditor.js.map +1 -0
  265. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts +24 -0
  266. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.d.ts.map +1 -0
  267. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js +111 -0
  268. package/lib/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.js.map +1 -0
  269. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.d.ts +20 -0
  270. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.d.ts.map +1 -0
  271. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.js +94 -0
  272. package/lib/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.js.map +1 -0
  273. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.d.ts +33 -0
  274. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -0
  275. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js +143 -0
  276. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.js.map +1 -0
  277. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.d.ts +37 -0
  278. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.d.ts.map +1 -0
  279. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js +61 -0
  280. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.js.map +1 -0
  281. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts +15 -0
  282. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -0
  283. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js +179 -0
  284. package/lib/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.js.map +1 -0
  285. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.d.ts +23 -0
  286. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.d.ts.map +1 -0
  287. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js +109 -0
  288. package/lib/components/editor/edit-panel/testable/TestAssertionEditor.js.map +1 -0
  289. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts +23 -0
  290. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.d.ts.map +1 -0
  291. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js +188 -0
  292. package/lib/components/editor/edit-panel/uml-editor/AssociationEditor.js.map +1 -0
  293. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts +31 -0
  294. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.d.ts.map +1 -0
  295. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js +521 -0
  296. package/lib/components/editor/edit-panel/uml-editor/ClassEditor.js.map +1 -0
  297. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts +23 -0
  298. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.d.ts.map +1 -0
  299. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js +206 -0
  300. package/lib/components/editor/edit-panel/uml-editor/EnumerationEditor.js.map +1 -0
  301. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.d.ts +23 -0
  302. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.d.ts.map +1 -0
  303. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js +84 -0
  304. package/lib/components/editor/edit-panel/uml-editor/ProfileEditor.js.map +1 -0
  305. package/lib/components/editor/edit-panel/uml-editor/PropertyEditor.d.ts +25 -0
  306. package/lib/components/editor/edit-panel/uml-editor/PropertyEditor.d.ts.map +1 -0
  307. package/lib/components/editor/edit-panel/uml-editor/PropertyEditor.js +92 -0
  308. package/lib/components/editor/edit-panel/uml-editor/PropertyEditor.js.map +1 -0
  309. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.d.ts +26 -0
  310. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.d.ts.map +1 -0
  311. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js +58 -0
  312. package/lib/components/editor/edit-panel/uml-editor/StereotypeSelector.js.map +1 -0
  313. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.d.ts +26 -0
  314. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.d.ts.map +1 -0
  315. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js +69 -0
  316. package/lib/components/editor/edit-panel/uml-editor/TaggedValueEditor.js.map +1 -0
  317. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.d.ts +20 -0
  318. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.d.ts.map +1 -0
  319. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.js +31 -0
  320. package/lib/components/editor/edit-panel/uml-editor/UMLEditor.js.map +1 -0
  321. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts +22 -0
  322. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -0
  323. package/lib/components/editor/side-bar/CreateNewElementModal.js +285 -0
  324. package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -0
  325. package/lib/components/editor/side-bar/Explorer.d.ts +20 -0
  326. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -0
  327. package/lib/components/editor/side-bar/Explorer.js +319 -0
  328. package/lib/components/editor/side-bar/Explorer.js.map +1 -0
  329. package/lib/components/editor/side-bar/LocalChanges.d.ts +20 -0
  330. package/lib/components/editor/side-bar/LocalChanges.d.ts.map +1 -0
  331. package/lib/components/editor/side-bar/LocalChanges.js +113 -0
  332. package/lib/components/editor/side-bar/LocalChanges.js.map +1 -0
  333. package/lib/components/editor/side-bar/ProjectOverview.d.ts +23 -0
  334. package/lib/components/editor/side-bar/ProjectOverview.d.ts.map +1 -0
  335. package/lib/components/editor/side-bar/ProjectOverview.js +230 -0
  336. package/lib/components/editor/side-bar/ProjectOverview.js.map +1 -0
  337. package/lib/components/editor/side-bar/SideBar.d.ts +23 -0
  338. package/lib/components/editor/side-bar/SideBar.d.ts.map +1 -0
  339. package/lib/components/editor/side-bar/SideBar.js +57 -0
  340. package/lib/components/editor/side-bar/SideBar.js.map +1 -0
  341. package/lib/components/editor/side-bar/WorkflowManager.d.ts +23 -0
  342. package/lib/components/editor/side-bar/WorkflowManager.d.ts.map +1 -0
  343. package/lib/components/editor/side-bar/WorkflowManager.js +161 -0
  344. package/lib/components/editor/side-bar/WorkflowManager.js.map +1 -0
  345. package/lib/components/editor/side-bar/WorkspaceReview.d.ts +23 -0
  346. package/lib/components/editor/side-bar/WorkspaceReview.d.ts.map +1 -0
  347. package/lib/components/editor/side-bar/WorkspaceReview.js +146 -0
  348. package/lib/components/editor/side-bar/WorkspaceReview.js.map +1 -0
  349. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.d.ts +20 -0
  350. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.d.ts.map +1 -0
  351. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js +79 -0
  352. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js.map +1 -0
  353. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.d.ts +20 -0
  354. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.d.ts.map +1 -0
  355. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js +70 -0
  356. package/lib/components/editor/side-bar/WorkspaceUpdateConflictResolver.js.map +1 -0
  357. package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts +20 -0
  358. package/lib/components/editor/side-bar/WorkspaceUpdater.d.ts.map +1 -0
  359. package/lib/components/editor/side-bar/WorkspaceUpdater.js +103 -0
  360. package/lib/components/editor/side-bar/WorkspaceUpdater.js.map +1 -0
  361. package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts +24 -0
  362. package/lib/components/editor/side-bar/testable/GlobalTestRunner.d.ts.map +1 -0
  363. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js +129 -0
  364. package/lib/components/editor/side-bar/testable/GlobalTestRunner.js.map +1 -0
  365. package/lib/components/project-viewer/ProjectViewer.d.ts +18 -0
  366. package/lib/components/project-viewer/ProjectViewer.d.ts.map +1 -0
  367. package/lib/components/project-viewer/ProjectViewer.js +166 -0
  368. package/lib/components/project-viewer/ProjectViewer.js.map +1 -0
  369. package/lib/components/project-viewer/ProjectViewerStoreProvider.d.ts +23 -0
  370. package/lib/components/project-viewer/ProjectViewerStoreProvider.d.ts.map +1 -0
  371. package/lib/components/project-viewer/ProjectViewerStoreProvider.js +36 -0
  372. package/lib/components/project-viewer/ProjectViewerStoreProvider.js.map +1 -0
  373. package/lib/components/shared/DiffView.d.ts +35 -0
  374. package/lib/components/shared/DiffView.d.ts.map +1 -0
  375. package/lib/components/shared/DiffView.js +94 -0
  376. package/lib/components/shared/DiffView.js.map +1 -0
  377. package/lib/components/shared/ElementIconUtils.d.ts +21 -0
  378. package/lib/components/shared/ElementIconUtils.d.ts.map +1 -0
  379. package/lib/components/shared/ElementIconUtils.js +96 -0
  380. package/lib/components/shared/ElementIconUtils.js.map +1 -0
  381. package/lib/components/shared/MultiplicityBadge.d.ts +21 -0
  382. package/lib/components/shared/MultiplicityBadge.d.ts.map +1 -0
  383. package/lib/components/shared/MultiplicityBadge.js +25 -0
  384. package/lib/components/shared/MultiplicityBadge.js.map +1 -0
  385. package/lib/components/shared/StudioLambdaEditor.d.ts +40 -0
  386. package/lib/components/shared/StudioLambdaEditor.d.ts.map +1 -0
  387. package/lib/components/shared/StudioLambdaEditor.js +50 -0
  388. package/lib/components/shared/StudioLambdaEditor.js.map +1 -0
  389. package/lib/components/shared/StudioTextInputEditor.d.ts +28 -0
  390. package/lib/components/shared/StudioTextInputEditor.d.ts.map +1 -0
  391. package/lib/components/shared/StudioTextInputEditor.js +36 -0
  392. package/lib/components/shared/StudioTextInputEditor.js.map +1 -0
  393. package/lib/components/shared/TypeTree.d.ts +22 -0
  394. package/lib/components/shared/TypeTree.d.ts.map +1 -0
  395. package/lib/components/shared/TypeTree.js +165 -0
  396. package/lib/components/shared/TypeTree.js.map +1 -0
  397. package/lib/components/workspace-review/WorkspaceReview.d.ts +18 -0
  398. package/lib/components/workspace-review/WorkspaceReview.d.ts.map +1 -0
  399. package/lib/components/workspace-review/WorkspaceReview.js +84 -0
  400. package/lib/components/workspace-review/WorkspaceReview.js.map +1 -0
  401. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts +20 -0
  402. package/lib/components/workspace-review/WorkspaceReviewPanel.d.ts.map +1 -0
  403. package/lib/components/workspace-review/WorkspaceReviewPanel.js +57 -0
  404. package/lib/components/workspace-review/WorkspaceReviewPanel.js.map +1 -0
  405. package/lib/components/workspace-review/WorkspaceReviewSideBar.d.ts +20 -0
  406. package/lib/components/workspace-review/WorkspaceReviewSideBar.d.ts.map +1 -0
  407. package/lib/components/workspace-review/WorkspaceReviewSideBar.js +106 -0
  408. package/lib/components/workspace-review/WorkspaceReviewSideBar.js.map +1 -0
  409. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.d.ts +22 -0
  410. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.d.ts.map +1 -0
  411. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.js +34 -0
  412. package/lib/components/workspace-review/WorkspaceReviewStoreProvider.js.map +1 -0
  413. package/lib/components/workspace-setup/ProjectCreateModal.d.ts +20 -0
  414. package/lib/components/workspace-setup/ProjectCreateModal.d.ts.map +1 -0
  415. package/lib/components/workspace-setup/ProjectCreateModal.js +203 -0
  416. package/lib/components/workspace-setup/ProjectCreateModal.js.map +1 -0
  417. package/lib/components/workspace-setup/ProjectSelector.d.ts +22 -0
  418. package/lib/components/workspace-setup/ProjectSelector.d.ts.map +1 -0
  419. package/lib/components/workspace-setup/ProjectSelector.js +65 -0
  420. package/lib/components/workspace-setup/ProjectSelector.js.map +1 -0
  421. package/lib/components/workspace-setup/WorkspaceSelector.d.ts +22 -0
  422. package/lib/components/workspace-setup/WorkspaceSelector.d.ts.map +1 -0
  423. package/lib/components/workspace-setup/WorkspaceSelector.js +57 -0
  424. package/lib/components/workspace-setup/WorkspaceSelector.js.map +1 -0
  425. package/lib/components/workspace-setup/WorkspaceSetup.d.ts +18 -0
  426. package/lib/components/workspace-setup/WorkspaceSetup.d.ts.map +1 -0
  427. package/lib/components/workspace-setup/WorkspaceSetup.js +155 -0
  428. package/lib/components/workspace-setup/WorkspaceSetup.js.map +1 -0
  429. package/lib/components/workspace-setup/WorkspaceSetupStoreProvider.d.ts +23 -0
  430. package/lib/components/workspace-setup/WorkspaceSetupStoreProvider.d.ts.map +1 -0
  431. package/lib/components/workspace-setup/WorkspaceSetupStoreProvider.js +34 -0
  432. package/lib/components/workspace-setup/WorkspaceSetupStoreProvider.js.map +1 -0
  433. package/lib/index.css +17 -0
  434. package/lib/index.css.map +1 -0
  435. package/lib/index.d.ts +70 -0
  436. package/lib/index.d.ts.map +1 -0
  437. package/lib/index.js +75 -0
  438. package/lib/index.js.map +1 -0
  439. package/lib/package.json +101 -0
  440. package/lib/stores/AbstractConflictResolutionState.d.ts +39 -0
  441. package/lib/stores/AbstractConflictResolutionState.d.ts.map +1 -0
  442. package/lib/stores/AbstractConflictResolutionState.js +32 -0
  443. package/lib/stores/AbstractConflictResolutionState.js.map +1 -0
  444. package/lib/stores/ChangeDetectionEvent.d.ts +29 -0
  445. package/lib/stores/ChangeDetectionEvent.d.ts.map +1 -0
  446. package/lib/stores/ChangeDetectionEvent.js +31 -0
  447. package/lib/stores/ChangeDetectionEvent.js.map +1 -0
  448. package/lib/stores/ChangeDetectionState.d.ts +211 -0
  449. package/lib/stores/ChangeDetectionState.d.ts.map +1 -0
  450. package/lib/stores/ChangeDetectionState.js +523 -0
  451. package/lib/stores/ChangeDetectionState.js.map +1 -0
  452. package/lib/stores/DSLData_LegendStudioApplicationPlugin_Extension.d.ts +51 -0
  453. package/lib/stores/DSLData_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -0
  454. package/lib/stores/DSLData_LegendStudioApplicationPlugin_Extension.js +17 -0
  455. package/lib/stores/DSLData_LegendStudioApplicationPlugin_Extension.js.map +1 -0
  456. package/lib/stores/DSLGenerationSpecification_LegendStudioApplicationPlugin_Extension.d.ts +42 -0
  457. package/lib/stores/DSLGenerationSpecification_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -0
  458. package/lib/stores/DSLGenerationSpecification_LegendStudioApplicationPlugin_Extension.js +17 -0
  459. package/lib/stores/DSLGenerationSpecification_LegendStudioApplicationPlugin_Extension.js.map +1 -0
  460. package/lib/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.d.ts +138 -0
  461. package/lib/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -0
  462. package/lib/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.js +17 -0
  463. package/lib/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.js.map +1 -0
  464. package/lib/stores/DSLService_LegendStudioApplicationPlugin_Extension.d.ts +35 -0
  465. package/lib/stores/DSLService_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -0
  466. package/lib/stores/DSLService_LegendStudioApplicationPlugin_Extension.js +17 -0
  467. package/lib/stores/DSLService_LegendStudioApplicationPlugin_Extension.js.map +1 -0
  468. package/lib/stores/EditorConfig.d.ts +75 -0
  469. package/lib/stores/EditorConfig.d.ts.map +1 -0
  470. package/lib/stores/EditorConfig.js +81 -0
  471. package/lib/stores/EditorConfig.js.map +1 -0
  472. package/lib/stores/EditorGraphState.d.ts +133 -0
  473. package/lib/stores/EditorGraphState.d.ts.map +1 -0
  474. package/lib/stores/EditorGraphState.js +848 -0
  475. package/lib/stores/EditorGraphState.js.map +1 -0
  476. package/lib/stores/EditorSDLCState.d.ts +59 -0
  477. package/lib/stores/EditorSDLCState.d.ts.map +1 -0
  478. package/lib/stores/EditorSDLCState.js +245 -0
  479. package/lib/stores/EditorSDLCState.js.map +1 -0
  480. package/lib/stores/EditorStore.d.ts +174 -0
  481. package/lib/stores/EditorStore.d.ts.map +1 -0
  482. package/lib/stores/EditorStore.js +992 -0
  483. package/lib/stores/EditorStore.js.map +1 -0
  484. package/lib/stores/EditorStoreTestUtils.d.ts +21 -0
  485. package/lib/stores/EditorStoreTestUtils.d.ts.map +1 -0
  486. package/lib/stores/EditorStoreTestUtils.js +54 -0
  487. package/lib/stores/EditorStoreTestUtils.js.map +1 -0
  488. package/lib/stores/ExplorerTreeState.d.ts +67 -0
  489. package/lib/stores/ExplorerTreeState.d.ts.map +1 -0
  490. package/lib/stores/ExplorerTreeState.js +271 -0
  491. package/lib/stores/ExplorerTreeState.js.map +1 -0
  492. package/lib/stores/LegendStudioAppEvent.d.ts +29 -0
  493. package/lib/stores/LegendStudioAppEvent.d.ts.map +1 -0
  494. package/lib/stores/LegendStudioAppEvent.js +34 -0
  495. package/lib/stores/LegendStudioAppEvent.js.map +1 -0
  496. package/lib/stores/LegendStudioApplicationNavigationContext.d.ts +38 -0
  497. package/lib/stores/LegendStudioApplicationNavigationContext.d.ts.map +1 -0
  498. package/lib/stores/LegendStudioApplicationNavigationContext.js +41 -0
  499. package/lib/stores/LegendStudioApplicationNavigationContext.js.map +1 -0
  500. package/lib/stores/LegendStudioApplicationPlugin.d.ts +218 -0
  501. package/lib/stores/LegendStudioApplicationPlugin.d.ts.map +1 -0
  502. package/lib/stores/LegendStudioApplicationPlugin.js +27 -0
  503. package/lib/stores/LegendStudioApplicationPlugin.js.map +1 -0
  504. package/lib/stores/LegendStudioBaseStore.d.ts +38 -0
  505. package/lib/stores/LegendStudioBaseStore.d.ts.map +1 -0
  506. package/lib/stores/LegendStudioBaseStore.js +159 -0
  507. package/lib/stores/LegendStudioBaseStore.js.map +1 -0
  508. package/lib/stores/LegendStudioCodeSnippets.d.ts +43 -0
  509. package/lib/stores/LegendStudioCodeSnippets.d.ts.map +1 -0
  510. package/lib/stores/LegendStudioCodeSnippets.js +307 -0
  511. package/lib/stores/LegendStudioCodeSnippets.js.map +1 -0
  512. package/lib/stores/LegendStudioDocumentation.d.ts +63 -0
  513. package/lib/stores/LegendStudioDocumentation.d.ts.map +1 -0
  514. package/lib/stores/LegendStudioDocumentation.js +73 -0
  515. package/lib/stores/LegendStudioDocumentation.js.map +1 -0
  516. package/lib/stores/LegendStudioEventService.d.ts +23 -0
  517. package/lib/stores/LegendStudioEventService.d.ts.map +1 -0
  518. package/lib/stores/LegendStudioEventService.js +29 -0
  519. package/lib/stores/LegendStudioEventService.js.map +1 -0
  520. package/lib/stores/LegendStudioRouter.d.ts +76 -0
  521. package/lib/stores/LegendStudioRouter.d.ts.map +1 -0
  522. package/lib/stores/LegendStudioRouter.js +119 -0
  523. package/lib/stores/LegendStudioRouter.js.map +1 -0
  524. package/lib/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.d.ts +61 -0
  525. package/lib/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.d.ts.map +1 -0
  526. package/lib/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.js +17 -0
  527. package/lib/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.js.map +1 -0
  528. package/lib/stores/aux-panel-state/DevToolState.d.ts +21 -0
  529. package/lib/stores/aux-panel-state/DevToolState.d.ts.map +1 -0
  530. package/lib/stores/aux-panel-state/DevToolState.js +24 -0
  531. package/lib/stores/aux-panel-state/DevToolState.js.map +1 -0
  532. package/lib/stores/editor/EditorMode.d.ts +22 -0
  533. package/lib/stores/editor/EditorMode.d.ts.map +1 -0
  534. package/lib/stores/editor/EditorMode.js +18 -0
  535. package/lib/stores/editor/EditorMode.js.map +1 -0
  536. package/lib/stores/editor/NewElementState.d.ts +125 -0
  537. package/lib/stores/editor/NewElementState.d.ts.map +1 -0
  538. package/lib/stores/editor/NewElementState.js +553 -0
  539. package/lib/stores/editor/NewElementState.js.map +1 -0
  540. package/lib/stores/editor/StandardEditorMode.d.ts +23 -0
  541. package/lib/stores/editor/StandardEditorMode.d.ts.map +1 -0
  542. package/lib/stores/editor/StandardEditorMode.js +28 -0
  543. package/lib/stores/editor/StandardEditorMode.js.map +1 -0
  544. package/lib/stores/editor-state/EditorState.d.ts +26 -0
  545. package/lib/stores/editor-state/EditorState.d.ts.map +1 -0
  546. package/lib/stores/editor-state/EditorState.js +27 -0
  547. package/lib/stores/editor-state/EditorState.js.map +1 -0
  548. package/lib/stores/editor-state/ExternalFormatState.d.ts +42 -0
  549. package/lib/stores/editor-state/ExternalFormatState.d.ts.map +1 -0
  550. package/lib/stores/editor-state/ExternalFormatState.js +74 -0
  551. package/lib/stores/editor-state/ExternalFormatState.js.map +1 -0
  552. package/lib/stores/editor-state/FileGenerationState.d.ts +44 -0
  553. package/lib/stores/editor-state/FileGenerationState.d.ts.map +1 -0
  554. package/lib/stores/editor-state/FileGenerationState.js +217 -0
  555. package/lib/stores/editor-state/FileGenerationState.js.map +1 -0
  556. package/lib/stores/editor-state/FileGenerationViewerState.d.ts +27 -0
  557. package/lib/stores/editor-state/FileGenerationViewerState.d.ts.map +1 -0
  558. package/lib/stores/editor-state/FileGenerationViewerState.js +52 -0
  559. package/lib/stores/editor-state/FileGenerationViewerState.js.map +1 -0
  560. package/lib/stores/editor-state/GenerationSpecificationEditorState.d.ts +40 -0
  561. package/lib/stores/editor-state/GenerationSpecificationEditorState.d.ts.map +1 -0
  562. package/lib/stores/editor-state/GenerationSpecificationEditorState.js +73 -0
  563. package/lib/stores/editor-state/GenerationSpecificationEditorState.js.map +1 -0
  564. package/lib/stores/editor-state/GrammarTextEditorState.d.ts +31 -0
  565. package/lib/stores/editor-state/GrammarTextEditorState.d.ts.map +1 -0
  566. package/lib/stores/editor-state/GrammarTextEditorState.js +143 -0
  567. package/lib/stores/editor-state/GrammarTextEditorState.js.map +1 -0
  568. package/lib/stores/editor-state/GraphGenerationState.d.ts +74 -0
  569. package/lib/stores/editor-state/GraphGenerationState.d.ts.map +1 -0
  570. package/lib/stores/editor-state/GraphGenerationState.js +349 -0
  571. package/lib/stores/editor-state/GraphGenerationState.js.map +1 -0
  572. package/lib/stores/editor-state/ModelLoaderState.d.ts +52 -0
  573. package/lib/stores/editor-state/ModelLoaderState.d.ts.map +1 -0
  574. package/lib/stores/editor-state/ModelLoaderState.js +199 -0
  575. package/lib/stores/editor-state/ModelLoaderState.js.map +1 -0
  576. package/lib/stores/editor-state/ProjectConfigurationEditorState.d.ts +53 -0
  577. package/lib/stores/editor-state/ProjectConfigurationEditorState.d.ts.map +1 -0
  578. package/lib/stores/editor-state/ProjectConfigurationEditorState.js +191 -0
  579. package/lib/stores/editor-state/ProjectConfigurationEditorState.js.map +1 -0
  580. package/lib/stores/editor-state/UnsupportedElementEditorState.d.ts +22 -0
  581. package/lib/stores/editor-state/UnsupportedElementEditorState.d.ts.map +1 -0
  582. package/lib/stores/editor-state/UnsupportedElementEditorState.js +22 -0
  583. package/lib/stores/editor-state/UnsupportedElementEditorState.js.map +1 -0
  584. package/lib/stores/editor-state/element-editor-state/ClassEditorState.d.ts +31 -0
  585. package/lib/stores/editor-state/element-editor-state/ClassEditorState.d.ts.map +1 -0
  586. package/lib/stores/editor-state/element-editor-state/ClassEditorState.js +88 -0
  587. package/lib/stores/editor-state/element-editor-state/ClassEditorState.js.map +1 -0
  588. package/lib/stores/editor-state/element-editor-state/ClassState.d.ts +59 -0
  589. package/lib/stores/editor-state/element-editor-state/ClassState.d.ts.map +1 -0
  590. package/lib/stores/editor-state/element-editor-state/ClassState.js +271 -0
  591. package/lib/stores/editor-state/element-editor-state/ClassState.js.map +1 -0
  592. package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts +43 -0
  593. package/lib/stores/editor-state/element-editor-state/ElementEditorState.d.ts.map +1 -0
  594. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js +104 -0
  595. package/lib/stores/editor-state/element-editor-state/ElementEditorState.js.map +1 -0
  596. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.d.ts +30 -0
  597. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.d.ts.map +1 -0
  598. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js +69 -0
  599. package/lib/stores/editor-state/element-editor-state/ElementFileGenerationState.js.map +1 -0
  600. package/lib/stores/editor-state/element-editor-state/FileGenerationEditorState.d.ts +27 -0
  601. package/lib/stores/editor-state/element-editor-state/FileGenerationEditorState.d.ts.map +1 -0
  602. package/lib/stores/editor-state/element-editor-state/FileGenerationEditorState.js +43 -0
  603. package/lib/stores/editor-state/element-editor-state/FileGenerationEditorState.js.map +1 -0
  604. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.d.ts +46 -0
  605. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.d.ts.map +1 -0
  606. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.js +156 -0
  607. package/lib/stores/editor-state/element-editor-state/FunctionEditorState.js.map +1 -0
  608. package/lib/stores/editor-state/element-editor-state/RuntimeEditorState.d.ts +115 -0
  609. package/lib/stores/editor-state/element-editor-state/RuntimeEditorState.d.ts.map +1 -0
  610. package/lib/stores/editor-state/element-editor-state/RuntimeEditorState.js +522 -0
  611. package/lib/stores/editor-state/element-editor-state/RuntimeEditorState.js.map +1 -0
  612. package/lib/stores/editor-state/element-editor-state/UMLEditorState.d.ts +35 -0
  613. package/lib/stores/editor-state/element-editor-state/UMLEditorState.d.ts.map +1 -0
  614. package/lib/stores/editor-state/element-editor-state/UMLEditorState.js +69 -0
  615. package/lib/stores/editor-state/element-editor-state/UMLEditorState.js.map +1 -0
  616. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.d.ts +92 -0
  617. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.d.ts.map +1 -0
  618. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.js +339 -0
  619. package/lib/stores/editor-state/element-editor-state/connection/ConnectionEditorState.js.map +1 -0
  620. package/lib/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts +76 -0
  621. package/lib/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.d.ts.map +1 -0
  622. package/lib/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.js +422 -0
  623. package/lib/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.js.map +1 -0
  624. package/lib/stores/editor-state/element-editor-state/data/DataEditorState.d.ts +47 -0
  625. package/lib/stores/editor-state/element-editor-state/data/DataEditorState.d.ts.map +1 -0
  626. package/lib/stores/editor-state/element-editor-state/data/DataEditorState.js +65 -0
  627. package/lib/stores/editor-state/element-editor-state/data/DataEditorState.js.map +1 -0
  628. package/lib/stores/editor-state/element-editor-state/data/EmbeddedDataState.d.ts +80 -0
  629. package/lib/stores/editor-state/element-editor-state/data/EmbeddedDataState.d.ts.map +1 -0
  630. package/lib/stores/editor-state/element-editor-state/data/EmbeddedDataState.js +254 -0
  631. package/lib/stores/editor-state/element-editor-state/data/EmbeddedDataState.js.map +1 -0
  632. package/lib/stores/editor-state/element-editor-state/external-format/BindingEditorState.d.ts +30 -0
  633. package/lib/stores/editor-state/element-editor-state/external-format/BindingEditorState.d.ts.map +1 -0
  634. package/lib/stores/editor-state/element-editor-state/external-format/BindingEditorState.js +47 -0
  635. package/lib/stores/editor-state/element-editor-state/external-format/BindingEditorState.js.map +1 -0
  636. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.d.ts +68 -0
  637. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.d.ts.map +1 -0
  638. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.js +277 -0
  639. package/lib/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.js.map +1 -0
  640. package/lib/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.d.ts +71 -0
  641. package/lib/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.d.ts.map +1 -0
  642. package/lib/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.js +236 -0
  643. package/lib/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.js.map +1 -0
  644. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts +111 -0
  645. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.d.ts.map +1 -0
  646. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js +888 -0
  647. package/lib/stores/editor-state/element-editor-state/mapping/MappingEditorState.js.map +1 -0
  648. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementDecorator.d.ts +65 -0
  649. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementDecorator.d.ts.map +1 -0
  650. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementDecorator.js +389 -0
  651. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementDecorator.js.map +1 -0
  652. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.d.ts +46 -0
  653. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.d.ts.map +1 -0
  654. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.js +73 -0
  655. package/lib/stores/editor-state/element-editor-state/mapping/MappingElementState.js.map +1 -0
  656. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts +101 -0
  657. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.d.ts.map +1 -0
  658. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js +448 -0
  659. package/lib/stores/editor-state/element-editor-state/mapping/MappingExecutionState.js.map +1 -0
  660. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts +123 -0
  661. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.d.ts.map +1 -0
  662. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js +461 -0
  663. package/lib/stores/editor-state/element-editor-state/mapping/MappingTestState.js.map +1 -0
  664. package/lib/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.d.ts +55 -0
  665. package/lib/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.d.ts.map +1 -0
  666. package/lib/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.js +235 -0
  667. package/lib/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.js.map +1 -0
  668. package/lib/stores/editor-state/element-editor-state/mapping/UnsupportedInstanceSetImplementationState.d.ts +22 -0
  669. package/lib/stores/editor-state/element-editor-state/mapping/UnsupportedInstanceSetImplementationState.d.ts.map +1 -0
  670. package/lib/stores/editor-state/element-editor-state/mapping/UnsupportedInstanceSetImplementationState.js +25 -0
  671. package/lib/stores/editor-state/element-editor-state/mapping/UnsupportedInstanceSetImplementationState.js.map +1 -0
  672. package/lib/stores/editor-state/element-editor-state/mapping/relational/DatabaseEditorHelper.d.ts +19 -0
  673. package/lib/stores/editor-state/element-editor-state/mapping/relational/DatabaseEditorHelper.d.ts.map +1 -0
  674. package/lib/stores/editor-state/element-editor-state/mapping/relational/DatabaseEditorHelper.js +108 -0
  675. package/lib/stores/editor-state/element-editor-state/mapping/relational/DatabaseEditorHelper.js.map +1 -0
  676. package/lib/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.d.ts +69 -0
  677. package/lib/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.d.ts.map +1 -0
  678. package/lib/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.js +225 -0
  679. package/lib/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.js.map +1 -0
  680. package/lib/stores/editor-state/element-editor-state/service/ServiceEditorState.d.ts +41 -0
  681. package/lib/stores/editor-state/element-editor-state/service/ServiceEditorState.d.ts.map +1 -0
  682. package/lib/stores/editor-state/element-editor-state/service/ServiceEditorState.js +76 -0
  683. package/lib/stores/editor-state/element-editor-state/service/ServiceEditorState.js.map +1 -0
  684. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.d.ts +158 -0
  685. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.d.ts.map +1 -0
  686. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js +566 -0
  687. package/lib/stores/editor-state/element-editor-state/service/ServiceExecutionState.js.map +1 -0
  688. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts +55 -0
  689. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.d.ts.map +1 -0
  690. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js +207 -0
  691. package/lib/stores/editor-state/element-editor-state/service/ServiceRegistrationState.js.map +1 -0
  692. package/lib/stores/editor-state/element-editor-state/service/ServiceTestRunnerState.d.ts +23 -0
  693. package/lib/stores/editor-state/element-editor-state/service/ServiceTestRunnerState.d.ts.map +1 -0
  694. package/lib/stores/editor-state/element-editor-state/service/ServiceTestRunnerState.js +24 -0
  695. package/lib/stores/editor-state/element-editor-state/service/ServiceTestRunnerState.js.map +1 -0
  696. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts +63 -0
  697. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.d.ts.map +1 -0
  698. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js +235 -0
  699. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.js.map +1 -0
  700. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts +81 -0
  701. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.d.ts.map +1 -0
  702. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js +277 -0
  703. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.js.map +1 -0
  704. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts +54 -0
  705. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.d.ts.map +1 -0
  706. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.js +208 -0
  707. package/lib/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.js.map +1 -0
  708. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.d.ts +86 -0
  709. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.d.ts.map +1 -0
  710. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js +230 -0
  711. package/lib/stores/editor-state/element-editor-state/testable/TestAssertionState.js.map +1 -0
  712. package/lib/stores/editor-state/element-editor-state/testable/TestableEditorState.d.ts +55 -0
  713. package/lib/stores/editor-state/element-editor-state/testable/TestableEditorState.d.ts.map +1 -0
  714. package/lib/stores/editor-state/element-editor-state/testable/TestableEditorState.js +140 -0
  715. package/lib/stores/editor-state/element-editor-state/testable/TestableEditorState.js.map +1 -0
  716. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.d.ts +92 -0
  717. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.d.ts.map +1 -0
  718. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js +383 -0
  719. package/lib/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.js.map +1 -0
  720. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts +28 -0
  721. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.d.ts.map +1 -0
  722. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.js +43 -0
  723. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.js.map +1 -0
  724. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts +68 -0
  725. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.d.ts.map +1 -0
  726. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js +172 -0
  727. package/lib/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.js.map +1 -0
  728. package/lib/stores/graphModifier/DSLData_GraphModifierHelper.d.ts +27 -0
  729. package/lib/stores/graphModifier/DSLData_GraphModifierHelper.d.ts.map +1 -0
  730. package/lib/stores/graphModifier/DSLData_GraphModifierHelper.js +50 -0
  731. package/lib/stores/graphModifier/DSLData_GraphModifierHelper.js.map +1 -0
  732. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.d.ts +33 -0
  733. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.d.ts.map +1 -0
  734. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.js +69 -0
  735. package/lib/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.js.map +1 -0
  736. package/lib/stores/graphModifier/DSLGeneration_GraphModifierHelper.d.ts +32 -0
  737. package/lib/stores/graphModifier/DSLGeneration_GraphModifierHelper.d.ts.map +1 -0
  738. package/lib/stores/graphModifier/DSLGeneration_GraphModifierHelper.js +80 -0
  739. package/lib/stores/graphModifier/DSLGeneration_GraphModifierHelper.js.map +1 -0
  740. package/lib/stores/graphModifier/DSLMapping_GraphModifierHelper.d.ts +84 -0
  741. package/lib/stores/graphModifier/DSLMapping_GraphModifierHelper.d.ts.map +1 -0
  742. package/lib/stores/graphModifier/DSLMapping_GraphModifierHelper.js +249 -0
  743. package/lib/stores/graphModifier/DSLMapping_GraphModifierHelper.js.map +1 -0
  744. package/lib/stores/graphModifier/DSLService_GraphModifierHelper.d.ts +45 -0
  745. package/lib/stores/graphModifier/DSLService_GraphModifierHelper.d.ts.map +1 -0
  746. package/lib/stores/graphModifier/DSLService_GraphModifierHelper.js +111 -0
  747. package/lib/stores/graphModifier/DSLService_GraphModifierHelper.js.map +1 -0
  748. package/lib/stores/graphModifier/DomainGraphModifierHelper.d.ts +59 -0
  749. package/lib/stores/graphModifier/DomainGraphModifierHelper.d.ts.map +1 -0
  750. package/lib/stores/graphModifier/DomainGraphModifierHelper.js +175 -0
  751. package/lib/stores/graphModifier/DomainGraphModifierHelper.js.map +1 -0
  752. package/lib/stores/graphModifier/GraphModifierHelper.d.ts +22 -0
  753. package/lib/stores/graphModifier/GraphModifierHelper.d.ts.map +1 -0
  754. package/lib/stores/graphModifier/GraphModifierHelper.js +45 -0
  755. package/lib/stores/graphModifier/GraphModifierHelper.js.map +1 -0
  756. package/lib/stores/graphModifier/StoreFlatData_GraphModifierHelper.d.ts +21 -0
  757. package/lib/stores/graphModifier/StoreFlatData_GraphModifierHelper.d.ts.map +1 -0
  758. package/lib/stores/graphModifier/StoreFlatData_GraphModifierHelper.js +33 -0
  759. package/lib/stores/graphModifier/StoreFlatData_GraphModifierHelper.js.map +1 -0
  760. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.d.ts +73 -0
  761. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.d.ts.map +1 -0
  762. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.js +194 -0
  763. package/lib/stores/graphModifier/StoreRelational_GraphModifierHelper.js.map +1 -0
  764. package/lib/stores/graphModifier/Testable_GraphModifierHelper.d.ts +22 -0
  765. package/lib/stores/graphModifier/Testable_GraphModifierHelper.d.ts.map +1 -0
  766. package/lib/stores/graphModifier/Testable_GraphModifierHelper.js +35 -0
  767. package/lib/stores/graphModifier/Testable_GraphModifierHelper.js.map +1 -0
  768. package/lib/stores/graphModifier/ValueSpecificationGraphModifierHelper.d.ts +20 -0
  769. package/lib/stores/graphModifier/ValueSpecificationGraphModifierHelper.d.ts.map +1 -0
  770. package/lib/stores/graphModifier/ValueSpecificationGraphModifierHelper.js +28 -0
  771. package/lib/stores/graphModifier/ValueSpecificationGraphModifierHelper.js.map +1 -0
  772. package/lib/stores/project-viewer/ProjectViewerEditorMode.d.ts +23 -0
  773. package/lib/stores/project-viewer/ProjectViewerEditorMode.d.ts.map +1 -0
  774. package/lib/stores/project-viewer/ProjectViewerEditorMode.js +34 -0
  775. package/lib/stores/project-viewer/ProjectViewerEditorMode.js.map +1 -0
  776. package/lib/stores/project-viewer/ProjectViewerStore.d.ts +59 -0
  777. package/lib/stores/project-viewer/ProjectViewerStore.d.ts.map +1 -0
  778. package/lib/stores/project-viewer/ProjectViewerStore.js +349 -0
  779. package/lib/stores/project-viewer/ProjectViewerStore.js.map +1 -0
  780. package/lib/stores/shared/DnDUtil.d.ts +68 -0
  781. package/lib/stores/shared/DnDUtil.d.ts.map +1 -0
  782. package/lib/stores/shared/DnDUtil.js +78 -0
  783. package/lib/stores/shared/DnDUtil.js.map +1 -0
  784. package/lib/stores/shared/FileGenerationTreeUtil.d.ts +57 -0
  785. package/lib/stores/shared/FileGenerationTreeUtil.d.ts.map +1 -0
  786. package/lib/stores/shared/FileGenerationTreeUtil.js +221 -0
  787. package/lib/stores/shared/FileGenerationTreeUtil.js.map +1 -0
  788. package/lib/stores/shared/MockDataUtil.d.ts +25 -0
  789. package/lib/stores/shared/MockDataUtil.d.ts.map +1 -0
  790. package/lib/stores/shared/MockDataUtil.js +114 -0
  791. package/lib/stores/shared/MockDataUtil.js.map +1 -0
  792. package/lib/stores/shared/ModelUtil.d.ts +61 -0
  793. package/lib/stores/shared/ModelUtil.d.ts.map +1 -0
  794. package/lib/stores/shared/ModelUtil.js +83 -0
  795. package/lib/stores/shared/ModelUtil.js.map +1 -0
  796. package/lib/stores/shared/PackageTreeUtil.d.ts +32 -0
  797. package/lib/stores/shared/PackageTreeUtil.d.ts.map +1 -0
  798. package/lib/stores/shared/PackageTreeUtil.js +220 -0
  799. package/lib/stores/shared/PackageTreeUtil.js.map +1 -0
  800. package/lib/stores/shared/TreeUtil.d.ts +36 -0
  801. package/lib/stores/shared/TreeUtil.d.ts.map +1 -0
  802. package/lib/stores/shared/TreeUtil.js +17 -0
  803. package/lib/stores/shared/TreeUtil.js.map +1 -0
  804. package/lib/stores/shared/testable/TestableUtils.d.ts +45 -0
  805. package/lib/stores/shared/testable/TestableUtils.d.ts.map +1 -0
  806. package/lib/stores/shared/testable/TestableUtils.js +142 -0
  807. package/lib/stores/shared/testable/TestableUtils.js.map +1 -0
  808. package/lib/stores/sidebar-state/LocalChangesState.d.ts +57 -0
  809. package/lib/stores/sidebar-state/LocalChangesState.d.ts.map +1 -0
  810. package/lib/stores/sidebar-state/LocalChangesState.js +409 -0
  811. package/lib/stores/sidebar-state/LocalChangesState.js.map +1 -0
  812. package/lib/stores/sidebar-state/ProjectOverviewState.d.ts +49 -0
  813. package/lib/stores/sidebar-state/ProjectOverviewState.d.ts.map +1 -0
  814. package/lib/stores/sidebar-state/ProjectOverviewState.js +170 -0
  815. package/lib/stores/sidebar-state/ProjectOverviewState.js.map +1 -0
  816. package/lib/stores/sidebar-state/WorkflowManagerState.d.ts +110 -0
  817. package/lib/stores/sidebar-state/WorkflowManagerState.d.ts.map +1 -0
  818. package/lib/stores/sidebar-state/WorkflowManagerState.js +352 -0
  819. package/lib/stores/sidebar-state/WorkflowManagerState.js.map +1 -0
  820. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts +47 -0
  821. package/lib/stores/sidebar-state/WorkspaceReviewState.d.ts.map +1 -0
  822. package/lib/stores/sidebar-state/WorkspaceReviewState.js +254 -0
  823. package/lib/stores/sidebar-state/WorkspaceReviewState.js.map +1 -0
  824. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts +70 -0
  825. package/lib/stores/sidebar-state/WorkspaceSyncState.d.ts.map +1 -0
  826. package/lib/stores/sidebar-state/WorkspaceSyncState.js +382 -0
  827. package/lib/stores/sidebar-state/WorkspaceSyncState.js.map +1 -0
  828. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.d.ts +53 -0
  829. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.d.ts.map +1 -0
  830. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js +472 -0
  831. package/lib/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.js.map +1 -0
  832. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts +36 -0
  833. package/lib/stores/sidebar-state/WorkspaceUpdaterState.d.ts.map +1 -0
  834. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js +210 -0
  835. package/lib/stores/sidebar-state/WorkspaceUpdaterState.js.map +1 -0
  836. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.d.ts +102 -0
  837. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.d.ts.map +1 -0
  838. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.js +413 -0
  839. package/lib/stores/sidebar-state/testable/GlobalTestRunnerState.js.map +1 -0
  840. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts +45 -0
  841. package/lib/stores/workspace-review/WorkspaceReviewStore.d.ts.map +1 -0
  842. package/lib/stores/workspace-review/WorkspaceReviewStore.js +185 -0
  843. package/lib/stores/workspace-review/WorkspaceReviewStore.js.map +1 -0
  844. package/lib/stores/workspace-setup/WorkspaceSetupStore.d.ts +72 -0
  845. package/lib/stores/workspace-setup/WorkspaceSetupStore.d.ts.map +1 -0
  846. package/lib/stores/workspace-setup/WorkspaceSetupStore.js +240 -0
  847. package/lib/stores/workspace-setup/WorkspaceSetupStore.js.map +1 -0
  848. package/package.json +101 -0
  849. package/src/application/LegendStudio.tsx +97 -0
  850. package/src/application/LegendStudioApplicationConfig.ts +148 -0
  851. package/src/application/LegendStudioPluginManager.ts +76 -0
  852. package/src/components/Core_LegendStudioApplicationPlugin.tsx +92 -0
  853. package/src/components/DSLExternalFormat_CodeSnippets.ts +78 -0
  854. package/src/components/DSLExternalFormat_LegendStudioApplicationPlugin.tsx +437 -0
  855. package/src/components/DSLExternalFormat_LegendStudioDocumentation.ts +21 -0
  856. package/src/components/EditorComponentTestUtils.tsx +452 -0
  857. package/src/components/LegendStudioAppInfo.tsx +312 -0
  858. package/src/components/LegendStudioApplication.tsx +223 -0
  859. package/src/components/LegendStudioBaseStoreProvider.tsx +69 -0
  860. package/src/components/LegendStudioTestID.ts +63 -0
  861. package/src/components/editor/ActivityBar.tsx +396 -0
  862. package/src/components/editor/Editor.tsx +317 -0
  863. package/src/components/editor/EditorStoreProvider.tsx +69 -0
  864. package/src/components/editor/StatusBar.tsx +359 -0
  865. package/src/components/editor/aux-panel/AuxiliaryPanel.tsx +135 -0
  866. package/src/components/editor/aux-panel/Console.tsx +25 -0
  867. package/src/components/editor/aux-panel/DevTool.tsx +118 -0
  868. package/src/components/editor/command-center/ProjectSearchCommand.tsx +146 -0
  869. package/src/components/editor/edit-panel/EditPanel.tsx +578 -0
  870. package/src/components/editor/edit-panel/FileGenerationViewer.tsx +106 -0
  871. package/src/components/editor/edit-panel/FunctionEditor.tsx +838 -0
  872. package/src/components/editor/edit-panel/GenerationSpecificationEditor.tsx +615 -0
  873. package/src/components/editor/edit-panel/GrammarTextEditor.tsx +1244 -0
  874. package/src/components/editor/edit-panel/ModelLoader.tsx +264 -0
  875. package/src/components/editor/edit-panel/RuntimeEditor.tsx +1114 -0
  876. package/src/components/editor/edit-panel/UnsupportedElementEditor.tsx +83 -0
  877. package/src/components/editor/edit-panel/connection-editor/ConnectionEditor.tsx +193 -0
  878. package/src/components/editor/edit-panel/connection-editor/DatabaseBuilder.tsx +354 -0
  879. package/src/components/editor/edit-panel/connection-editor/FlatDataConnectionEditor.tsx +51 -0
  880. package/src/components/editor/edit-panel/connection-editor/RelationalDatabaseConnectionEditor.tsx +1504 -0
  881. package/src/components/editor/edit-panel/data-editor/DataElementEditor.tsx +383 -0
  882. package/src/components/editor/edit-panel/data-editor/EmbeddedDataEditor.tsx +300 -0
  883. package/src/components/editor/edit-panel/data-editor/RelationalCSVDataEditor.tsx +257 -0
  884. package/src/components/editor/edit-panel/diff-editor/EntityChangeConflictEditor.tsx +800 -0
  885. package/src/components/editor/edit-panel/diff-editor/EntityDiffView.tsx +177 -0
  886. package/src/components/editor/edit-panel/element-generation-editor/ElementGenerationEditor.tsx +203 -0
  887. package/src/components/editor/edit-panel/element-generation-editor/ElementNativeView.tsx +61 -0
  888. package/src/components/editor/edit-panel/element-generation-editor/FileGenerationEditor.tsx +1484 -0
  889. package/src/components/editor/edit-panel/external-format-editor/BindingElementEditor.tsx +482 -0
  890. package/src/components/editor/edit-panel/external-format-editor/ExternalFormatConnectionEditor.tsx +98 -0
  891. package/src/components/editor/edit-panel/external-format-editor/NewSchemaSetDriver.tsx +92 -0
  892. package/src/components/editor/edit-panel/external-format-editor/SchemaSetElementEditor.tsx +583 -0
  893. package/src/components/editor/edit-panel/mapping-editor/ClassMappingEditor.tsx +307 -0
  894. package/src/components/editor/edit-panel/mapping-editor/EnumerationMappingEditor.tsx +550 -0
  895. package/src/components/editor/edit-panel/mapping-editor/FlatDataPropertyMappingEditor.tsx +328 -0
  896. package/src/components/editor/edit-panel/mapping-editor/FlatDataRecordTypeTree.tsx +160 -0
  897. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationEditor.tsx +614 -0
  898. package/src/components/editor/edit-panel/mapping-editor/InstanceSetImplementationSourceSelectorModal.tsx +220 -0
  899. package/src/components/editor/edit-panel/mapping-editor/MappingEditor.tsx +348 -0
  900. package/src/components/editor/edit-panel/mapping-editor/MappingExecutionBuilder.tsx +814 -0
  901. package/src/components/editor/edit-panel/mapping-editor/MappingExplorer.tsx +594 -0
  902. package/src/components/editor/edit-panel/mapping-editor/MappingTestEditor.tsx +779 -0
  903. package/src/components/editor/edit-panel/mapping-editor/MappingTestsExplorer.tsx +508 -0
  904. package/src/components/editor/edit-panel/mapping-editor/NewMappingElementModal.tsx +279 -0
  905. package/src/components/editor/edit-panel/mapping-editor/OperationSetImplementationEditor.tsx +265 -0
  906. package/src/components/editor/edit-panel/mapping-editor/PropertyMappingsEditor.tsx +351 -0
  907. package/src/components/editor/edit-panel/mapping-editor/PurePropertyMappingEditor.tsx +420 -0
  908. package/src/components/editor/edit-panel/mapping-editor/relational/RelationalPropertyMappingEditor.tsx +362 -0
  909. package/src/components/editor/edit-panel/mapping-editor/relational/TableOrViewSourceTree.tsx +390 -0
  910. package/src/components/editor/edit-panel/project-configuration-editor/ProjectConfigurationEditor.tsx +529 -0
  911. package/src/components/editor/edit-panel/service-editor/NewServiceModal.tsx +115 -0
  912. package/src/components/editor/edit-panel/service-editor/ServiceEditor.tsx +485 -0
  913. package/src/components/editor/edit-panel/service-editor/ServiceExecutionEditor.tsx +889 -0
  914. package/src/components/editor/edit-panel/service-editor/ServiceExecutionQueryEditor.tsx +368 -0
  915. package/src/components/editor/edit-panel/service-editor/ServiceRegistrationEditor.tsx +221 -0
  916. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestDataEditor.tsx +428 -0
  917. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestableEditor.tsx +232 -0
  918. package/src/components/editor/edit-panel/service-editor/testable/ServiceTestsEditor.tsx +749 -0
  919. package/src/components/editor/edit-panel/testable/TestAssertionEditor.tsx +362 -0
  920. package/src/components/editor/edit-panel/uml-editor/AssociationEditor.tsx +569 -0
  921. package/src/components/editor/edit-panel/uml-editor/ClassEditor.tsx +1534 -0
  922. package/src/components/editor/edit-panel/uml-editor/EnumerationEditor.tsx +600 -0
  923. package/src/components/editor/edit-panel/uml-editor/ProfileEditor.tsx +250 -0
  924. package/src/components/editor/edit-panel/uml-editor/PropertyEditor.tsx +239 -0
  925. package/src/components/editor/edit-panel/uml-editor/StereotypeSelector.tsx +142 -0
  926. package/src/components/editor/edit-panel/uml-editor/TaggedValueEditor.tsx +199 -0
  927. package/src/components/editor/edit-panel/uml-editor/UMLEditor.tsx +47 -0
  928. package/src/components/editor/side-bar/CreateNewElementModal.tsx +518 -0
  929. package/src/components/editor/side-bar/Explorer.tsx +914 -0
  930. package/src/components/editor/side-bar/LocalChanges.tsx +433 -0
  931. package/src/components/editor/side-bar/ProjectOverview.tsx +886 -0
  932. package/src/components/editor/side-bar/SideBar.tsx +71 -0
  933. package/src/components/editor/side-bar/WorkflowManager.tsx +529 -0
  934. package/src/components/editor/side-bar/WorkspaceReview.tsx +341 -0
  935. package/src/components/editor/side-bar/WorkspaceSyncConflictResolver.tsx +276 -0
  936. package/src/components/editor/side-bar/WorkspaceUpdateConflictResolver.tsx +206 -0
  937. package/src/components/editor/side-bar/WorkspaceUpdater.tsx +279 -0
  938. package/src/components/editor/side-bar/testable/GlobalTestRunner.tsx +459 -0
  939. package/src/components/project-viewer/ProjectViewer.tsx +358 -0
  940. package/src/components/project-viewer/ProjectViewerStoreProvider.tsx +56 -0
  941. package/src/components/shared/DiffView.tsx +151 -0
  942. package/src/components/shared/ElementIconUtils.tsx +141 -0
  943. package/src/components/shared/MultiplicityBadge.tsx +39 -0
  944. package/src/components/shared/StudioLambdaEditor.tsx +140 -0
  945. package/src/components/shared/StudioTextInputEditor.tsx +83 -0
  946. package/src/components/shared/TypeTree.tsx +290 -0
  947. package/src/components/workspace-review/WorkspaceReview.tsx +247 -0
  948. package/src/components/workspace-review/WorkspaceReviewPanel.tsx +190 -0
  949. package/src/components/workspace-review/WorkspaceReviewSideBar.tsx +250 -0
  950. package/src/components/workspace-review/WorkspaceReviewStoreProvider.tsx +58 -0
  951. package/src/components/workspace-setup/ProjectCreateModal.tsx +756 -0
  952. package/src/components/workspace-setup/ProjectSelector.tsx +148 -0
  953. package/src/components/workspace-setup/WorkspaceSelector.tsx +135 -0
  954. package/src/components/workspace-setup/WorkspaceSetup.tsx +406 -0
  955. package/src/components/workspace-setup/WorkspaceSetupStoreProvider.tsx +56 -0
  956. package/src/index.ts +113 -0
  957. package/src/stores/AbstractConflictResolutionState.ts +55 -0
  958. package/src/stores/ChangeDetectionEvent.ts +34 -0
  959. package/src/stores/ChangeDetectionState.ts +819 -0
  960. package/src/stores/DSLData_LegendStudioApplicationPlugin_Extension.ts +72 -0
  961. package/src/stores/DSLGenerationSpecification_LegendStudioApplicationPlugin_Extension.ts +49 -0
  962. package/src/stores/DSLMapping_LegendStudioApplicationPlugin_Extension.ts +230 -0
  963. package/src/stores/DSLService_LegendStudioApplicationPlugin_Extension.ts +46 -0
  964. package/src/stores/EditorConfig.ts +81 -0
  965. package/src/stores/EditorGraphState.ts +1243 -0
  966. package/src/stores/EditorSDLCState.ts +440 -0
  967. package/src/stores/EditorStore.ts +1463 -0
  968. package/src/stores/EditorStoreTestUtils.ts +73 -0
  969. package/src/stores/ExplorerTreeState.ts +413 -0
  970. package/src/stores/LegendStudioAppEvent.ts +35 -0
  971. package/src/stores/LegendStudioApplicationNavigationContext.ts +46 -0
  972. package/src/stores/LegendStudioApplicationPlugin.ts +331 -0
  973. package/src/stores/LegendStudioBaseStore.ts +239 -0
  974. package/src/stores/LegendStudioCodeSnippets.ts +350 -0
  975. package/src/stores/LegendStudioDocumentation.ts +84 -0
  976. package/src/stores/LegendStudioEventService.ts +36 -0
  977. package/src/stores/LegendStudioRouter.ts +222 -0
  978. package/src/stores/StoreRelational_LegendStudioApplicationPlugin_Extension.ts +100 -0
  979. package/src/stores/aux-panel-state/DevToolState.ts +27 -0
  980. package/src/stores/editor/EditorMode.ts +22 -0
  981. package/src/stores/editor/NewElementState.ts +835 -0
  982. package/src/stores/editor/StandardEditorMode.ts +35 -0
  983. package/src/stores/editor-state/EditorState.ts +32 -0
  984. package/src/stores/editor-state/ExternalFormatState.ts +107 -0
  985. package/src/stores/editor-state/FileGenerationState.ts +319 -0
  986. package/src/stores/editor-state/FileGenerationViewerState.ts +70 -0
  987. package/src/stores/editor-state/GenerationSpecificationEditorState.ts +125 -0
  988. package/src/stores/editor-state/GrammarTextEditorState.ts +181 -0
  989. package/src/stores/editor-state/GraphGenerationState.ts +554 -0
  990. package/src/stores/editor-state/ModelLoaderState.ts +278 -0
  991. package/src/stores/editor-state/ProjectConfigurationEditorState.ts +300 -0
  992. package/src/stores/editor-state/UnsupportedElementEditorState.ts +28 -0
  993. package/src/stores/editor-state/element-editor-state/ClassEditorState.ts +140 -0
  994. package/src/stores/editor-state/element-editor-state/ClassState.ts +419 -0
  995. package/src/stores/editor-state/element-editor-state/ElementEditorState.ts +159 -0
  996. package/src/stores/editor-state/element-editor-state/ElementFileGenerationState.ts +94 -0
  997. package/src/stores/editor-state/element-editor-state/FileGenerationEditorState.ts +69 -0
  998. package/src/stores/editor-state/element-editor-state/FunctionEditorState.ts +231 -0
  999. package/src/stores/editor-state/element-editor-state/RuntimeEditorState.ts +935 -0
  1000. package/src/stores/editor-state/element-editor-state/UMLEditorState.ts +84 -0
  1001. package/src/stores/editor-state/element-editor-state/connection/ConnectionEditorState.ts +475 -0
  1002. package/src/stores/editor-state/element-editor-state/connection/DatabaseBuilderState.ts +637 -0
  1003. package/src/stores/editor-state/element-editor-state/data/DataEditorState.ts +100 -0
  1004. package/src/stores/editor-state/element-editor-state/data/EmbeddedDataState.ts +351 -0
  1005. package/src/stores/editor-state/element-editor-state/external-format/BindingEditorState.ts +61 -0
  1006. package/src/stores/editor-state/element-editor-state/external-format/SchemaSetEditorState.ts +397 -0
  1007. package/src/stores/editor-state/element-editor-state/mapping/FlatDataInstanceSetImplementationState.ts +397 -0
  1008. package/src/stores/editor-state/element-editor-state/mapping/MappingEditorState.ts +1528 -0
  1009. package/src/stores/editor-state/element-editor-state/mapping/MappingElementDecorator.ts +794 -0
  1010. package/src/stores/editor-state/element-editor-state/mapping/MappingElementState.ts +111 -0
  1011. package/src/stores/editor-state/element-editor-state/mapping/MappingExecutionState.ts +895 -0
  1012. package/src/stores/editor-state/element-editor-state/mapping/MappingTestState.ts +803 -0
  1013. package/src/stores/editor-state/element-editor-state/mapping/PureInstanceSetImplementationState.ts +349 -0
  1014. package/src/stores/editor-state/element-editor-state/mapping/UnsupportedInstanceSetImplementationState.ts +27 -0
  1015. package/src/stores/editor-state/element-editor-state/mapping/relational/DatabaseEditorHelper.tsx +134 -0
  1016. package/src/stores/editor-state/element-editor-state/mapping/relational/RelationalInstanceSetImplementationState.ts +350 -0
  1017. package/src/stores/editor-state/element-editor-state/service/ServiceEditorState.ts +114 -0
  1018. package/src/stores/editor-state/element-editor-state/service/ServiceExecutionState.ts +907 -0
  1019. package/src/stores/editor-state/element-editor-state/service/ServiceRegistrationState.ts +312 -0
  1020. package/src/stores/editor-state/element-editor-state/service/ServiceTestRunnerState.ts +31 -0
  1021. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestDataState.ts +365 -0
  1022. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestEditorState.ts +405 -0
  1023. package/src/stores/editor-state/element-editor-state/service/testable/ServiceTestableState.ts +293 -0
  1024. package/src/stores/editor-state/element-editor-state/testable/TestAssertionState.ts +319 -0
  1025. package/src/stores/editor-state/element-editor-state/testable/TestableEditorState.ts +205 -0
  1026. package/src/stores/editor-state/entity-diff-editor-state/EntityChangeConflictEditorState.ts +547 -0
  1027. package/src/stores/editor-state/entity-diff-editor-state/EntityDiffEditorState.ts +48 -0
  1028. package/src/stores/editor-state/entity-diff-editor-state/EntityDiffViewState.ts +228 -0
  1029. package/src/stores/graphModifier/DSLData_GraphModifierHelper.ts +104 -0
  1030. package/src/stores/graphModifier/DSLExternalFormat_GraphModifierHelper.ts +138 -0
  1031. package/src/stores/graphModifier/DSLGeneration_GraphModifierHelper.ts +188 -0
  1032. package/src/stores/graphModifier/DSLMapping_GraphModifierHelper.ts +563 -0
  1033. package/src/stores/graphModifier/DSLService_GraphModifierHelper.ts +243 -0
  1034. package/src/stores/graphModifier/DomainGraphModifierHelper.ts +349 -0
  1035. package/src/stores/graphModifier/GraphModifierHelper.ts +80 -0
  1036. package/src/stores/graphModifier/StoreFlatData_GraphModifierHelper.ts +60 -0
  1037. package/src/stores/graphModifier/StoreRelational_GraphModifierHelper.ts +413 -0
  1038. package/src/stores/graphModifier/Testable_GraphModifierHelper.ts +58 -0
  1039. package/src/stores/graphModifier/ValueSpecificationGraphModifierHelper.ts +41 -0
  1040. package/src/stores/project-viewer/ProjectViewerEditorMode.ts +59 -0
  1041. package/src/stores/project-viewer/ProjectViewerStore.ts +597 -0
  1042. package/src/stores/shared/DnDUtil.ts +102 -0
  1043. package/src/stores/shared/FileGenerationTreeUtil.ts +340 -0
  1044. package/src/stores/shared/MockDataUtil.ts +191 -0
  1045. package/src/stores/shared/ModelUtil.ts +87 -0
  1046. package/src/stores/shared/PackageTreeUtil.ts +310 -0
  1047. package/src/stores/shared/TreeUtil.ts +49 -0
  1048. package/src/stores/shared/testable/TestableUtils.ts +213 -0
  1049. package/src/stores/sidebar-state/LocalChangesState.ts +689 -0
  1050. package/src/stores/sidebar-state/ProjectOverviewState.ts +287 -0
  1051. package/src/stores/sidebar-state/WorkflowManagerState.ts +648 -0
  1052. package/src/stores/sidebar-state/WorkspaceReviewState.ts +384 -0
  1053. package/src/stores/sidebar-state/WorkspaceSyncState.ts +578 -0
  1054. package/src/stores/sidebar-state/WorkspaceUpdateConflictResolutionState.ts +728 -0
  1055. package/src/stores/sidebar-state/WorkspaceUpdaterState.ts +358 -0
  1056. package/src/stores/sidebar-state/testable/GlobalTestRunnerState.ts +576 -0
  1057. package/src/stores/workspace-review/WorkspaceReviewStore.ts +272 -0
  1058. package/src/stores/workspace-setup/WorkspaceSetupStore.ts +374 -0
  1059. package/tsconfig.json +256 -0
@@ -0,0 +1,1534 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { useState, useEffect, useCallback } from 'react';
18
+ import { observer } from 'mobx-react-lite';
19
+ import { isNonNullable, prettyCONSTName } from '@finos/legend-shared';
20
+ import { useDrop } from 'react-dnd';
21
+ import {
22
+ CORE_DND_TYPE,
23
+ type ElementDragSource,
24
+ type UMLEditorElementDropTarget,
25
+ } from '../../../../stores/shared/DnDUtil.js';
26
+ import {
27
+ clsx,
28
+ CustomSelectorInput,
29
+ createFilter,
30
+ ResizablePanelGroup,
31
+ ResizablePanel,
32
+ ResizablePanelSplitter,
33
+ ResizablePanelSplitterLine,
34
+ BlankPanelContent,
35
+ getControlledResizablePanelProps,
36
+ InputWithInlineValidation,
37
+ LockIcon,
38
+ PlusIcon,
39
+ TimesIcon,
40
+ LongArrowRightIcon,
41
+ ArrowCircleRightIcon,
42
+ FireIcon,
43
+ StickArrowCircleRightIcon,
44
+ } from '@finos/legend-art';
45
+ import { LEGEND_STUDIO_TEST_ID } from '../../../LegendStudioTestID.js';
46
+ import { PropertyEditor } from './PropertyEditor.js';
47
+ import { StereotypeSelector } from './StereotypeSelector.js';
48
+ import { TaggedValueEditor } from './TaggedValueEditor.js';
49
+ import { UML_EDITOR_TAB } from '../../../../stores/editor-state/element-editor-state/UMLEditorState.js';
50
+ import { ClassEditorState } from '../../../../stores/editor-state/element-editor-state/ClassEditorState.js';
51
+ import { flowResult } from 'mobx';
52
+ import { useEditorStore } from '../../EditorStoreProvider.js';
53
+ import {
54
+ type StereotypeReference,
55
+ type GenericTypeReference,
56
+ type TaggedValue,
57
+ type Constraint,
58
+ type Property,
59
+ type DerivedProperty,
60
+ PRIMITIVE_TYPE,
61
+ MULTIPLICITY_INFINITE,
62
+ Class,
63
+ GenericType,
64
+ Profile,
65
+ Multiplicity,
66
+ Type,
67
+ PrimitiveType,
68
+ Unit,
69
+ StereotypeExplicitReference,
70
+ GenericTypeExplicitReference,
71
+ Association,
72
+ stub_TaggedValue,
73
+ stub_Tag,
74
+ stub_Profile,
75
+ stub_Stereotype,
76
+ stub_Constraint,
77
+ stub_Property,
78
+ stub_DerivedProperty,
79
+ getAllClassProperties,
80
+ getAllSuperclasses,
81
+ getAllClassConstraints,
82
+ getAllClassDerivedProperties,
83
+ } from '@finos/legend-graph';
84
+ import { StudioLambdaEditor } from '../../../shared/StudioLambdaEditor.js';
85
+ import {
86
+ ApplicationNavigationContextData,
87
+ getPackageableElementOptionalFormatter,
88
+ useApplicationNavigationContext,
89
+ useApplicationStore,
90
+ type PackageableElementOption,
91
+ } from '@finos/legend-application';
92
+ import { getElementIcon } from '../../../shared/ElementIconUtils.js';
93
+ import type { ClassPreviewRenderer } from '../../../../stores/LegendStudioApplicationPlugin.js';
94
+ import {
95
+ class_addProperty,
96
+ class_deleteDerivedProperty,
97
+ class_addDerivedProperty,
98
+ class_addContraint,
99
+ class_addSuperType,
100
+ annotatedElement_addTaggedValue,
101
+ annotatedElement_addStereotype,
102
+ annotatedElement_deleteStereotype,
103
+ annotatedElement_deleteTaggedValue,
104
+ class_deleteConstraint,
105
+ class_deleteSuperType,
106
+ class_deleteProperty,
107
+ class_deleteSubclass,
108
+ class_addSubclass,
109
+ constraint_setName,
110
+ property_setName,
111
+ property_setGenericType,
112
+ property_setMultiplicity,
113
+ setGenericTypeReferenceValue,
114
+ } from '../../../../stores/graphModifier/DomainGraphModifierHelper.js';
115
+ import {
116
+ CLASS_PROPERTY_TYPE,
117
+ getClassPropertyType,
118
+ } from '../../../../stores/shared/ModelUtil.js';
119
+ import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../stores/LegendStudioApplicationNavigationContext.js';
120
+
121
+ const PropertyBasicEditor = observer(
122
+ (props: {
123
+ _class: Class;
124
+ editorState: ClassEditorState;
125
+ property: Property;
126
+ deleteProperty: () => void;
127
+ isReadOnly: boolean;
128
+ }) => {
129
+ const { property, _class, editorState, deleteProperty, isReadOnly } = props;
130
+ const editorStore = useEditorStore();
131
+ const isInheritedProperty =
132
+ property._OWNER instanceof Class && property._OWNER !== _class;
133
+ const isPropertyFromAssociation = property._OWNER instanceof Association;
134
+ const isIndirectProperty = isInheritedProperty || isPropertyFromAssociation;
135
+ const isPropertyDuplicated = (val: Property): boolean =>
136
+ _class.properties.filter((p) => p.name === val.name).length >= 2;
137
+ const selectProperty = (): void =>
138
+ editorState.setSelectedProperty(property);
139
+ // Name
140
+ const changeValue: React.ChangeEventHandler<HTMLInputElement> = (event) => {
141
+ property_setName(property, event.target.value);
142
+ };
143
+ // Generic Type
144
+ const [isEditingType, setIsEditingType] = useState(false);
145
+ const propertyTypeOptions = editorStore.classPropertyGenericTypeOptions;
146
+ const propertyType = property.genericType.value.rawType;
147
+ const propertyTypeName = getClassPropertyType(propertyType);
148
+ const filterOption = createFilter({
149
+ ignoreCase: true,
150
+ ignoreAccents: false,
151
+ stringify: (option: PackageableElementOption<Type>): string =>
152
+ option.value.path,
153
+ });
154
+ const selectedPropertyType = {
155
+ value: propertyType,
156
+ label: propertyType.name,
157
+ };
158
+ const changePropertyType = (val: PackageableElementOption<Type>): void => {
159
+ property_setGenericType(property, new GenericType(val.value));
160
+ setIsEditingType(false);
161
+ };
162
+ // Multiplicity
163
+ const [lowerBound, setLowerBound] = useState<string | number>(
164
+ property.multiplicity.lowerBound,
165
+ );
166
+ const [upperBound, setUpperBound] = useState<string | number>(
167
+ property.multiplicity.upperBound ?? MULTIPLICITY_INFINITE,
168
+ );
169
+ const updateMultiplicity = (
170
+ lower: number | string,
171
+ upper: number | string,
172
+ ): void => {
173
+ const lBound = typeof lower === 'number' ? lower : parseInt(lower, 10);
174
+ const uBound =
175
+ upper === MULTIPLICITY_INFINITE
176
+ ? undefined
177
+ : typeof upper === 'number'
178
+ ? upper
179
+ : parseInt(upper, 10);
180
+ if (!isNaN(lBound) && (uBound === undefined || !isNaN(uBound))) {
181
+ property_setMultiplicity(property, new Multiplicity(lBound, uBound));
182
+ }
183
+ };
184
+ const changeLowerBound: React.ChangeEventHandler<HTMLInputElement> = (
185
+ event,
186
+ ) => {
187
+ setLowerBound(event.target.value);
188
+ updateMultiplicity(event.target.value, upperBound);
189
+ };
190
+ const changeUpperBound: React.ChangeEventHandler<HTMLInputElement> = (
191
+ event,
192
+ ) => {
193
+ setUpperBound(event.target.value);
194
+ updateMultiplicity(lowerBound, event.target.value);
195
+ };
196
+ // Other
197
+ const openElement = (): void => {
198
+ if (!(propertyType instanceof PrimitiveType)) {
199
+ editorStore.openElement(
200
+ propertyType instanceof Unit ? propertyType.measure : propertyType,
201
+ );
202
+ }
203
+ };
204
+ // NOTE: for now we do not allow directly modifying inherited and associated properties,
205
+ // we would make the user go to the supertype or the association where the property comes from
206
+ const visitOwner = (): void => editorStore.openElement(property._OWNER);
207
+
208
+ return (
209
+ <div className="property-basic-editor">
210
+ {isIndirectProperty && (
211
+ <div className="property-basic-editor__name--with-lock">
212
+ <div className="property-basic-editor__name--with-lock__icon">
213
+ <LockIcon />
214
+ </div>
215
+ <span className="property-basic-editor__name--with-lock__name">
216
+ {property.name}
217
+ </span>
218
+ </div>
219
+ )}
220
+ {!isIndirectProperty && (
221
+ <div className="input-group__input property-basic-editor__input">
222
+ <InputWithInlineValidation
223
+ className="property-basic-editor__input--with-validation input-group__input"
224
+ disabled={isReadOnly}
225
+ value={property.name}
226
+ spellCheck={false}
227
+ onChange={changeValue}
228
+ placeholder={`Property name`}
229
+ validationErrorMessage={
230
+ isPropertyDuplicated(property)
231
+ ? 'Duplicated property'
232
+ : undefined
233
+ }
234
+ />
235
+ </div>
236
+ )}
237
+ {!isIndirectProperty && !isReadOnly && isEditingType && (
238
+ <CustomSelectorInput
239
+ className="property-basic-editor__type"
240
+ options={propertyTypeOptions}
241
+ onChange={changePropertyType}
242
+ value={selectedPropertyType}
243
+ placeholder={'Choose a data type or enumeration'}
244
+ filterOption={filterOption}
245
+ formatOptionLabel={getPackageableElementOptionalFormatter()}
246
+ />
247
+ )}
248
+ {!isIndirectProperty && !isReadOnly && !isEditingType && (
249
+ <div
250
+ className={clsx(
251
+ 'property-basic-editor__type',
252
+ 'property-basic-editor__type--show-click-hint',
253
+ `background--${propertyTypeName.toLowerCase()}`,
254
+ {
255
+ 'property-basic-editor__type--has-visit-btn':
256
+ propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE,
257
+ },
258
+ )}
259
+ >
260
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
261
+ <div className="property-basic-editor__type__abbr">
262
+ {getElementIcon(editorStore, propertyType)}
263
+ </div>
264
+ )}
265
+ <div className="property-basic-editor__type__label">
266
+ {propertyType.name}
267
+ </div>
268
+ <div
269
+ data-testid={
270
+ LEGEND_STUDIO_TEST_ID.PROPERTY_BASIC_EDITOR__TYPE__LABEL_HOVER
271
+ }
272
+ className="property-basic-editor__type__label property-basic-editor__type__label--hover"
273
+ onClick={(): void => setIsEditingType(true)}
274
+ >
275
+ Click to edit
276
+ </div>
277
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
278
+ <button
279
+ data-testid={LEGEND_STUDIO_TEST_ID.TYPE_VISIT}
280
+ className="property-basic-editor__type__visit-btn"
281
+ onClick={openElement}
282
+ tabIndex={-1}
283
+ title={'Visit element'}
284
+ >
285
+ <ArrowCircleRightIcon />
286
+ </button>
287
+ )}
288
+ </div>
289
+ )}
290
+ {(isIndirectProperty || isReadOnly) && (
291
+ <div
292
+ className={clsx(
293
+ 'property-basic-editor__type',
294
+ `background--${propertyTypeName.toLowerCase()}`,
295
+ {
296
+ 'property-basic-editor__type--has-visit-btn':
297
+ propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE,
298
+ },
299
+ )}
300
+ >
301
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
302
+ <div className="property-basic-editor__type__abbr">
303
+ {getElementIcon(editorStore, propertyType)}
304
+ </div>
305
+ )}
306
+ <div className="property-basic-editor__type__label">
307
+ {propertyType.name}
308
+ </div>
309
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
310
+ <button
311
+ data-testid={LEGEND_STUDIO_TEST_ID.TYPE_VISIT}
312
+ className="property-basic-editor__type__visit-btn"
313
+ onClick={openElement}
314
+ tabIndex={-1}
315
+ title={'Visit element'}
316
+ >
317
+ <ArrowCircleRightIcon />
318
+ </button>
319
+ )}
320
+ </div>
321
+ )}
322
+ <div className="property-basic-editor__multiplicity">
323
+ <input
324
+ className="property-basic-editor__multiplicity-bound"
325
+ disabled={isIndirectProperty || isReadOnly}
326
+ spellCheck={false}
327
+ value={lowerBound}
328
+ onChange={changeLowerBound}
329
+ />
330
+ <div className="property-basic-editor__multiplicity__range">..</div>
331
+ <input
332
+ className="property-basic-editor__multiplicity-bound"
333
+ disabled={isIndirectProperty || isReadOnly}
334
+ spellCheck={false}
335
+ value={upperBound}
336
+ onChange={changeUpperBound}
337
+ />
338
+ </div>
339
+ {!isIndirectProperty && (
340
+ <button
341
+ className="uml-element-editor__basic__detail-btn"
342
+ onClick={selectProperty}
343
+ tabIndex={-1}
344
+ title={'See detail'}
345
+ >
346
+ <LongArrowRightIcon />
347
+ </button>
348
+ )}
349
+ {isIndirectProperty && (
350
+ <button
351
+ className="uml-element-editor__visit-parent-element-btn"
352
+ onClick={visitOwner}
353
+ tabIndex={-1}
354
+ title={`Visit ${
355
+ isInheritedProperty ? 'super type class' : 'association'
356
+ } '${property._OWNER.path}'`}
357
+ >
358
+ <ArrowCircleRightIcon />
359
+ </button>
360
+ )}
361
+ {isIndirectProperty && (
362
+ <div className="property-basic-editor__locked-property-end-block"></div>
363
+ )}
364
+ {!isIndirectProperty && !isReadOnly && (
365
+ <button
366
+ className={clsx('uml-element-editor__remove-btn', {
367
+ 'uml-element-editor__remove-btn--hidden': isIndirectProperty,
368
+ })}
369
+ onClick={deleteProperty}
370
+ tabIndex={-1}
371
+ title={'Remove'}
372
+ >
373
+ <TimesIcon />
374
+ </button>
375
+ )}
376
+ </div>
377
+ );
378
+ },
379
+ );
380
+
381
+ const DerivedPropertyBasicEditor = observer(
382
+ (props: {
383
+ _class: Class;
384
+ editorState: ClassEditorState;
385
+ derivedProperty: DerivedProperty;
386
+ deleteDerivedProperty: () => void;
387
+ isReadOnly: boolean;
388
+ }) => {
389
+ const {
390
+ derivedProperty,
391
+ _class,
392
+ deleteDerivedProperty,
393
+ editorState,
394
+ isReadOnly,
395
+ } = props;
396
+ const editorStore = useEditorStore();
397
+ const applicationStore = useApplicationStore();
398
+ const hasParserError = editorState.classState.derivedPropertyStates.some(
399
+ (state) => state.parserError,
400
+ );
401
+ const dpState =
402
+ editorState.classState.getDerivedPropertyState(derivedProperty);
403
+ const isInheritedProperty = derivedProperty._OWNER !== _class;
404
+ const selectDerivedProperty = (): void =>
405
+ editorState.setSelectedProperty(derivedProperty);
406
+ // Name
407
+ const changeValue: React.ChangeEventHandler<HTMLInputElement> = (event) =>
408
+ property_setName(derivedProperty, event.target.value);
409
+ // Generic Type
410
+ const [isEditingType, setIsEditingType] = useState(false);
411
+ const propertyTypeOptions = editorStore.classPropertyGenericTypeOptions;
412
+ const propertyType = derivedProperty.genericType.value.rawType;
413
+ const propertyTypeName = getClassPropertyType(propertyType);
414
+ const filterOption = createFilter({
415
+ ignoreCase: true,
416
+ ignoreAccents: false,
417
+ stringify: (option: PackageableElementOption<Type>): string =>
418
+ option.value.path,
419
+ });
420
+ const selectedPropertyType = {
421
+ value: propertyType,
422
+ label: propertyType.name,
423
+ };
424
+ const changePropertyType = (val: PackageableElementOption<Type>): void => {
425
+ property_setGenericType(derivedProperty, new GenericType(val.value));
426
+ setIsEditingType(false);
427
+ };
428
+ // Multiplicity
429
+ const [lowerBound, setLowerBound] = useState<string | number>(
430
+ derivedProperty.multiplicity.lowerBound,
431
+ );
432
+ const [upperBound, setUpperBound] = useState<string | number>(
433
+ derivedProperty.multiplicity.upperBound ?? MULTIPLICITY_INFINITE,
434
+ );
435
+ const updateMultiplicity = (
436
+ lower: number | string,
437
+ upper: number | string,
438
+ ): void => {
439
+ const lBound = typeof lower === 'number' ? lower : parseInt(lower, 10);
440
+ const uBound =
441
+ upper === MULTIPLICITY_INFINITE
442
+ ? undefined
443
+ : typeof upper === 'number'
444
+ ? upper
445
+ : parseInt(upper, 10);
446
+ if (!isNaN(lBound) && (uBound === undefined || !isNaN(uBound))) {
447
+ property_setMultiplicity(
448
+ derivedProperty,
449
+ new Multiplicity(lBound, uBound),
450
+ );
451
+ }
452
+ };
453
+ const changeLowerBound: React.ChangeEventHandler<HTMLInputElement> = (
454
+ event,
455
+ ) => {
456
+ setLowerBound(event.target.value);
457
+ updateMultiplicity(event.target.value, upperBound);
458
+ };
459
+ const changeUpperBound: React.ChangeEventHandler<HTMLInputElement> = (
460
+ event,
461
+ ) => {
462
+ setUpperBound(event.target.value);
463
+ updateMultiplicity(lowerBound, event.target.value);
464
+ };
465
+ // Action
466
+ const onLambdaEditorFocus = (): void =>
467
+ applicationStore.navigationContextService.push(
468
+ ApplicationNavigationContextData.createTransient(
469
+ LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.CLASS_DERIVED_PROPERTY_LAMBDA_EDITOR,
470
+ ),
471
+ );
472
+ const openElement = (): void => {
473
+ if (!(propertyType instanceof PrimitiveType)) {
474
+ editorStore.openElement(
475
+ propertyType instanceof Unit ? propertyType.measure : propertyType,
476
+ );
477
+ }
478
+ };
479
+ const visitOwner = (): void =>
480
+ editorStore.openElement(derivedProperty._OWNER);
481
+ const remove = applicationStore.guardUnhandledError(async () => {
482
+ await flowResult(dpState.convertLambdaObjectToGrammarString(false));
483
+ deleteDerivedProperty();
484
+ });
485
+
486
+ return (
487
+ <div
488
+ className={clsx('derived-property-editor', {
489
+ backdrop__element:
490
+ dpState.parserError && !isInheritedProperty && !isReadOnly,
491
+ })}
492
+ >
493
+ <div className="property-basic-editor">
494
+ {isInheritedProperty && (
495
+ <div className="property-basic-editor__name--with-lock">
496
+ <div className="property-basic-editor__name--with-lock__icon">
497
+ <LockIcon />
498
+ </div>
499
+ <span className="property-basic-editor__name--with-lock__name">
500
+ {derivedProperty.name}
501
+ </span>
502
+ </div>
503
+ )}
504
+ {!isInheritedProperty && (
505
+ <input
506
+ disabled={isReadOnly}
507
+ spellCheck={false}
508
+ className="property-basic-editor__name property-basic-editor__qualififed-property__name"
509
+ value={derivedProperty.name}
510
+ placeholder="Property name"
511
+ onChange={changeValue}
512
+ />
513
+ )}
514
+ {!isInheritedProperty && !isReadOnly && isEditingType && (
515
+ <CustomSelectorInput
516
+ className="property-basic-editor__type property-basic-editor__qualififed-property__type"
517
+ options={propertyTypeOptions}
518
+ onChange={changePropertyType}
519
+ value={selectedPropertyType}
520
+ placeholder="Choose a data type or enumeration"
521
+ filterOption={filterOption}
522
+ formatOptionLabel={getPackageableElementOptionalFormatter()}
523
+ />
524
+ )}
525
+ {!isInheritedProperty && !isReadOnly && !isEditingType && (
526
+ <div
527
+ className={clsx(
528
+ 'property-basic-editor__type',
529
+ 'property-basic-editor__type--show-click-hint',
530
+ `background--${propertyTypeName.toLowerCase()}`,
531
+ {
532
+ 'property-basic-editor__type--has-visit-btn':
533
+ propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE,
534
+ },
535
+ )}
536
+ >
537
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
538
+ <div className="property-basic-editor__type__abbr">
539
+ {getElementIcon(editorStore, propertyType)}
540
+ </div>
541
+ )}
542
+ <div className="property-basic-editor__type__label">
543
+ {propertyType.name}
544
+ </div>
545
+ <div
546
+ data-testid={
547
+ LEGEND_STUDIO_TEST_ID.PROPERTY_BASIC_EDITOR__TYPE__LABEL_HOVER
548
+ }
549
+ className="property-basic-editor__type__label property-basic-editor__type__label--hover"
550
+ onClick={(): void => setIsEditingType(true)}
551
+ >
552
+ Click to edit
553
+ </div>
554
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
555
+ <button
556
+ data-testid={LEGEND_STUDIO_TEST_ID.TYPE_VISIT}
557
+ className="property-basic-editor__type__visit-btn"
558
+ onClick={openElement}
559
+ tabIndex={-1}
560
+ title="Visit element"
561
+ >
562
+ <ArrowCircleRightIcon />
563
+ </button>
564
+ )}
565
+ </div>
566
+ )}
567
+ {(isInheritedProperty || isReadOnly) && (
568
+ <div
569
+ className={clsx(
570
+ 'property-basic-editor__type',
571
+ `background--${propertyTypeName.toLowerCase()}`,
572
+ {
573
+ 'property-basic-editor__type--has-visit-btn':
574
+ propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE,
575
+ },
576
+ )}
577
+ >
578
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
579
+ <div className="property-basic-editor__type__abbr">
580
+ {getElementIcon(editorStore, propertyType)}
581
+ </div>
582
+ )}
583
+ <div className="property-basic-editor__type__label">
584
+ {propertyType.name}
585
+ </div>
586
+ {propertyTypeName !== CLASS_PROPERTY_TYPE.PRIMITIVE && (
587
+ <button
588
+ data-testid={LEGEND_STUDIO_TEST_ID.TYPE_VISIT}
589
+ className="property-basic-editor__type__visit-btn"
590
+ onClick={openElement}
591
+ tabIndex={-1}
592
+ title="Visit element"
593
+ >
594
+ <ArrowCircleRightIcon />
595
+ </button>
596
+ )}
597
+ </div>
598
+ )}
599
+ <div className="property-basic-editor__multiplicity">
600
+ <input
601
+ className="property-basic-editor__multiplicity-bound"
602
+ spellCheck={false}
603
+ disabled={isInheritedProperty || isReadOnly}
604
+ value={lowerBound}
605
+ onChange={changeLowerBound}
606
+ />
607
+ <div className="property-basic-editor__multiplicity__range">..</div>
608
+ <input
609
+ className="property-basic-editor__multiplicity-bound"
610
+ spellCheck={false}
611
+ disabled={isInheritedProperty || isReadOnly}
612
+ value={upperBound}
613
+ onChange={changeUpperBound}
614
+ />
615
+ </div>
616
+ {!isInheritedProperty && (
617
+ <button
618
+ className="uml-element-editor__basic__detail-btn"
619
+ onClick={selectDerivedProperty}
620
+ tabIndex={-1}
621
+ title="See detail"
622
+ >
623
+ <LongArrowRightIcon />
624
+ </button>
625
+ )}
626
+ {isInheritedProperty && (
627
+ <button
628
+ className="uml-element-editor__visit-parent-element-btn"
629
+ onClick={visitOwner}
630
+ tabIndex={-1}
631
+ title={`Visit super type class ${derivedProperty._OWNER.path}`}
632
+ >
633
+ <ArrowCircleRightIcon />
634
+ </button>
635
+ )}
636
+ {!isInheritedProperty && !isReadOnly && (
637
+ <button
638
+ className={clsx('uml-element-editor__remove-btn', {
639
+ 'uml-element-editor__remove-btn--hidden': isInheritedProperty,
640
+ })}
641
+ onClick={remove}
642
+ tabIndex={-1}
643
+ title="Remove"
644
+ >
645
+ <TimesIcon />
646
+ </button>
647
+ )}
648
+ </div>
649
+ <div onFocus={onLambdaEditorFocus}>
650
+ <StudioLambdaEditor
651
+ disabled={
652
+ editorState.classState.isConvertingDerivedPropertyLambdaObjects ||
653
+ isInheritedProperty ||
654
+ isReadOnly
655
+ }
656
+ lambdaEditorState={dpState}
657
+ forceBackdrop={hasParserError}
658
+ expectedType={propertyType}
659
+ />
660
+ </div>
661
+ </div>
662
+ );
663
+ },
664
+ );
665
+
666
+ const ConstraintEditor = observer(
667
+ (props: {
668
+ editorState: ClassEditorState;
669
+ _class: Class;
670
+ constraint: Constraint;
671
+ deleteConstraint: () => void;
672
+ isReadOnly: boolean;
673
+ }) => {
674
+ const { constraint, _class, deleteConstraint, editorState, isReadOnly } =
675
+ props;
676
+ const editorStore = useEditorStore();
677
+ const applicationStore = useApplicationStore();
678
+ const hasParserError = editorState.classState.constraintStates.some(
679
+ (state) => state.parserError,
680
+ );
681
+ const isInheritedConstraint = constraint._OWNER !== _class;
682
+ const constraintState =
683
+ editorState.classState.getConstraintState(constraint);
684
+ // Name
685
+ const changeName: React.ChangeEventHandler<HTMLInputElement> = (event) =>
686
+ constraint_setName(constraint, event.target.value);
687
+ // Actions
688
+ const onLambdaEditorFocus = (): void =>
689
+ applicationStore.navigationContextService.push(
690
+ ApplicationNavigationContextData.createTransient(
691
+ LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.CLASS_CONTRAINT_LAMBDA_EDITOR,
692
+ ),
693
+ );
694
+ const remove = applicationStore.guardUnhandledError(async () => {
695
+ await flowResult(
696
+ constraintState.convertLambdaObjectToGrammarString(false),
697
+ );
698
+ deleteConstraint();
699
+ });
700
+ const visitOwner = (): void => editorStore.openElement(constraint._OWNER);
701
+
702
+ return (
703
+ <div
704
+ className={clsx('constraint-editor', {
705
+ backdrop__element: constraintState.parserError,
706
+ })}
707
+ >
708
+ <div className="constraint-editor__content">
709
+ {isInheritedConstraint && (
710
+ <div className="constraint-editor__content__name--with-lock">
711
+ <div className="constraint-editor__content__name--with-lock__icon">
712
+ <LockIcon />
713
+ </div>
714
+ <span className="constraint-editor__content__name--with-lock__name">
715
+ {constraint.name}
716
+ </span>
717
+ </div>
718
+ )}
719
+ {!isInheritedConstraint && (
720
+ <input
721
+ className="constraint-editor__content__name"
722
+ spellCheck={false}
723
+ disabled={isReadOnly || isInheritedConstraint}
724
+ value={constraint.name}
725
+ onChange={changeName}
726
+ placeholder="Constraint name"
727
+ />
728
+ )}
729
+ {isInheritedConstraint && (
730
+ <button
731
+ className="uml-element-editor__visit-parent-element-btn"
732
+ onClick={visitOwner}
733
+ tabIndex={-1}
734
+ title={`Visit super type class ${constraint._OWNER.path}`}
735
+ >
736
+ <ArrowCircleRightIcon />
737
+ </button>
738
+ )}
739
+ {!isInheritedConstraint && !isReadOnly && (
740
+ <button
741
+ className="uml-element-editor__remove-btn"
742
+ disabled={isInheritedConstraint}
743
+ onClick={remove}
744
+ tabIndex={-1}
745
+ title="Remove"
746
+ >
747
+ <TimesIcon />
748
+ </button>
749
+ )}
750
+ </div>
751
+ <div onFocus={onLambdaEditorFocus}>
752
+ <StudioLambdaEditor
753
+ disabled={
754
+ editorState.classState.isConvertingConstraintLambdaObjects ||
755
+ isReadOnly ||
756
+ isInheritedConstraint
757
+ }
758
+ lambdaEditorState={constraintState}
759
+ forceBackdrop={hasParserError}
760
+ expectedType={editorStore.graphManagerState.graph.getPrimitiveType(
761
+ PRIMITIVE_TYPE.BOOLEAN,
762
+ )}
763
+ />
764
+ </div>
765
+ </div>
766
+ );
767
+ },
768
+ );
769
+
770
+ const SuperTypeEditor = observer(
771
+ (props: {
772
+ _class: Class;
773
+ superType: GenericTypeReference;
774
+ deleteSuperType: () => void;
775
+ isReadOnly: boolean;
776
+ }) => {
777
+ const { superType, _class, deleteSuperType, isReadOnly } = props;
778
+ const editorStore = useEditorStore();
779
+ // Type
780
+ const superTypeOptions = editorStore.classOptions.filter(
781
+ (classOption) =>
782
+ classOption.value instanceof Class &&
783
+ // Exclude current class
784
+ classOption.value !== _class &&
785
+ // Exclude super types of the class
786
+ !getAllSuperclasses(_class).includes(classOption.value) &&
787
+ // Ensure there is no loop (might be expensive)
788
+ !getAllSuperclasses(classOption.value).includes(_class),
789
+ );
790
+ const rawType = superType.value.rawType;
791
+ const filterOption = createFilter({
792
+ ignoreCase: true,
793
+ ignoreAccents: false,
794
+ stringify: (option: PackageableElementOption<Class>): string =>
795
+ option.value.path,
796
+ });
797
+ const selectedType = { value: rawType, label: rawType.name };
798
+ const changeType = (val: PackageableElementOption<Class>): void =>
799
+ setGenericTypeReferenceValue(superType, new GenericType(val.value));
800
+ const visitDerivationSource = (): void => editorStore.openElement(rawType);
801
+
802
+ return (
803
+ <div className="super-type-editor">
804
+ <CustomSelectorInput
805
+ className="super-type-editor__class"
806
+ disabled={isReadOnly}
807
+ options={superTypeOptions}
808
+ onChange={changeType}
809
+ value={selectedType}
810
+ placeholder={'Choose a class'}
811
+ filterOption={filterOption}
812
+ formatOptionLabel={getPackageableElementOptionalFormatter()}
813
+ />
814
+ <button
815
+ className="uml-element-editor__basic__detail-btn"
816
+ onClick={visitDerivationSource}
817
+ tabIndex={-1}
818
+ title={'Visit super type'}
819
+ >
820
+ <LongArrowRightIcon />
821
+ </button>
822
+ {!isReadOnly && (
823
+ <button
824
+ className="uml-element-editor__remove-btn"
825
+ disabled={isReadOnly}
826
+ onClick={deleteSuperType}
827
+ tabIndex={-1}
828
+ title={'Remove'}
829
+ >
830
+ <TimesIcon />
831
+ </button>
832
+ )}
833
+ </div>
834
+ );
835
+ },
836
+ );
837
+
838
+ const PropertiesEditor = observer(
839
+ (props: { _class: Class; editorState: ClassEditorState }) => {
840
+ const { _class, editorState } = props;
841
+ const isReadOnly = editorState.isReadOnly;
842
+
843
+ const deleteProperty =
844
+ (property: Property): (() => void) =>
845
+ (): void => {
846
+ class_deleteProperty(_class, property);
847
+ if (property === editorState.selectedProperty) {
848
+ editorState.setSelectedProperty(undefined);
849
+ }
850
+ };
851
+ const indirectProperties = getAllClassProperties(_class)
852
+ .filter((property) => !_class.properties.includes(property))
853
+ .sort((p1, p2) => p1.name.localeCompare(p2.name))
854
+ .sort(
855
+ (p1, p2) =>
856
+ (p1._OWNER === _class ? 1 : 0) - (p2._OWNER === _class ? 1 : 0),
857
+ );
858
+
859
+ const handleDropProperty = useCallback(
860
+ (item: UMLEditorElementDropTarget): void => {
861
+ if (!isReadOnly && item.data.packageableElement instanceof Type) {
862
+ class_addProperty(
863
+ _class,
864
+ stub_Property(item.data.packageableElement, _class),
865
+ );
866
+ }
867
+ },
868
+ [_class, isReadOnly],
869
+ );
870
+ const [{ isPropertyDragOver }, dropPropertyRef] = useDrop(
871
+ () => ({
872
+ accept: [
873
+ CORE_DND_TYPE.PROJECT_EXPLORER_CLASS,
874
+ CORE_DND_TYPE.PROJECT_EXPLORER_ENUMERATION,
875
+ ],
876
+ drop: (item: ElementDragSource): void => handleDropProperty(item),
877
+ collect: (monitor): { isPropertyDragOver: boolean } => ({
878
+ isPropertyDragOver: monitor.isOver({ shallow: true }),
879
+ }),
880
+ }),
881
+ [handleDropProperty],
882
+ );
883
+
884
+ useApplicationNavigationContext(
885
+ LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.CLASS_EDITOR_PROPERTIES,
886
+ );
887
+
888
+ return (
889
+ <div
890
+ ref={dropPropertyRef}
891
+ className={clsx('panel__content__lists', {
892
+ 'panel__content__lists--dnd-over': isPropertyDragOver && !isReadOnly,
893
+ })}
894
+ >
895
+ {_class.properties.concat(indirectProperties).map((property) => (
896
+ <PropertyBasicEditor
897
+ key={property._UUID}
898
+ property={property}
899
+ _class={_class}
900
+ editorState={editorState}
901
+ deleteProperty={deleteProperty(property)}
902
+ isReadOnly={isReadOnly}
903
+ />
904
+ ))}
905
+ </div>
906
+ );
907
+ },
908
+ );
909
+
910
+ const DerviedPropertiesEditor = observer(
911
+ (props: { _class: Class; editorState: ClassEditorState }) => {
912
+ const { _class, editorState } = props;
913
+ const isReadOnly = editorState.isReadOnly;
914
+ const classState = editorState.classState;
915
+
916
+ const indirectDerivedProperties = getAllClassDerivedProperties(_class)
917
+ .filter((property) => !_class.derivedProperties.includes(property))
918
+ .sort((p1, p2) => p1.name.localeCompare(p2.name))
919
+ .sort(
920
+ (p1, p2) =>
921
+ (p1._OWNER === _class ? 1 : 0) - (p2._OWNER === _class ? 1 : 0),
922
+ );
923
+ const deleteDerivedProperty =
924
+ (dp: DerivedProperty): (() => void) =>
925
+ (): void => {
926
+ class_deleteDerivedProperty(_class, dp);
927
+ classState.deleteDerivedPropertyState(dp);
928
+ if (dp === editorState.selectedProperty) {
929
+ editorState.setSelectedProperty(undefined);
930
+ }
931
+ };
932
+
933
+ const handleDropDerivedProperty = useCallback(
934
+ (item: UMLEditorElementDropTarget): void => {
935
+ if (!isReadOnly && item.data.packageableElement instanceof Type) {
936
+ const dp = stub_DerivedProperty(item.data.packageableElement, _class);
937
+ class_addDerivedProperty(_class, dp);
938
+ classState.addDerivedPropertyState(dp);
939
+ }
940
+ },
941
+ [_class, classState, isReadOnly],
942
+ );
943
+ const [{ isDerivedPropertyDragOver }, dropDerivedPropertyRef] = useDrop(
944
+ () => ({
945
+ accept: [
946
+ CORE_DND_TYPE.PROJECT_EXPLORER_CLASS,
947
+ CORE_DND_TYPE.PROJECT_EXPLORER_ENUMERATION,
948
+ ],
949
+ drop: (item: ElementDragSource): void =>
950
+ handleDropDerivedProperty(item),
951
+ collect: (monitor): { isDerivedPropertyDragOver: boolean } => ({
952
+ isDerivedPropertyDragOver: monitor.isOver({ shallow: true }),
953
+ }),
954
+ }),
955
+ [handleDropDerivedProperty],
956
+ );
957
+
958
+ useApplicationNavigationContext(
959
+ LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.CLASS_EDITOR_DERIVED_PROPERTIES,
960
+ );
961
+
962
+ return (
963
+ <div
964
+ ref={dropDerivedPropertyRef}
965
+ className={clsx('panel__content__lists', {
966
+ 'panel__content__lists--dnd-over':
967
+ isDerivedPropertyDragOver && !isReadOnly,
968
+ })}
969
+ >
970
+ {_class.derivedProperties
971
+ .concat(indirectDerivedProperties)
972
+ .filter((dp): dp is DerivedProperty =>
973
+ Boolean(classState.getNullableDerivedPropertyState(dp)),
974
+ )
975
+ .map((dp) => (
976
+ <DerivedPropertyBasicEditor
977
+ key={dp._UUID}
978
+ derivedProperty={dp}
979
+ _class={_class}
980
+ editorState={editorState}
981
+ deleteDerivedProperty={deleteDerivedProperty(dp)}
982
+ isReadOnly={isReadOnly}
983
+ />
984
+ ))}
985
+ </div>
986
+ );
987
+ },
988
+ );
989
+
990
+ const ConstraintsEditor = observer(
991
+ (props: { _class: Class; editorState: ClassEditorState }) => {
992
+ const { _class, editorState } = props;
993
+ const isReadOnly = editorState.isReadOnly;
994
+ const classState = editorState.classState;
995
+
996
+ const deleteConstraint =
997
+ (constraint: Constraint): (() => void) =>
998
+ (): void => {
999
+ class_deleteConstraint(_class, constraint);
1000
+ classState.deleteConstraintState(constraint);
1001
+ };
1002
+ const inheritedConstraints = getAllClassConstraints(_class).filter(
1003
+ (constraint) => !_class.constraints.includes(constraint),
1004
+ );
1005
+
1006
+ useApplicationNavigationContext(
1007
+ LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.CLASS_EDITOR_CONSTRAINTS,
1008
+ );
1009
+
1010
+ return (
1011
+ <div className="panel__content__lists">
1012
+ {_class.constraints
1013
+ .concat(inheritedConstraints)
1014
+ .filter((constraint): constraint is Constraint =>
1015
+ Boolean(classState.getNullableConstraintState(constraint)),
1016
+ )
1017
+ .map((constraint) => (
1018
+ <ConstraintEditor
1019
+ key={constraint._UUID}
1020
+ constraint={constraint}
1021
+ _class={_class}
1022
+ editorState={editorState}
1023
+ deleteConstraint={deleteConstraint(constraint)}
1024
+ isReadOnly={isReadOnly}
1025
+ />
1026
+ ))}
1027
+ </div>
1028
+ );
1029
+ },
1030
+ );
1031
+
1032
+ const SupertypesEditor = observer(
1033
+ (props: { _class: Class; editorState: ClassEditorState }) => {
1034
+ const { _class, editorState } = props;
1035
+ const isReadOnly = editorState.isReadOnly;
1036
+
1037
+ const deleteSuperType =
1038
+ (superType: GenericTypeReference): (() => void) =>
1039
+ (): void => {
1040
+ class_deleteSuperType(_class, superType);
1041
+ if (superType.value.rawType instanceof Class) {
1042
+ class_deleteSubclass(superType.value.rawType, _class);
1043
+ }
1044
+ };
1045
+
1046
+ const handleDropSuperType = useCallback(
1047
+ (item: UMLEditorElementDropTarget): void => {
1048
+ const element = item.data.packageableElement;
1049
+ if (
1050
+ !isReadOnly &&
1051
+ // Have to be a class
1052
+ element instanceof Class &&
1053
+ // Must not be the same class
1054
+ element !== _class &&
1055
+ // Must not be a supertype of the current class
1056
+ !getAllSuperclasses(_class).includes(element) &&
1057
+ // Must not have the current class as a super type
1058
+ !getAllSuperclasses(element).includes(_class)
1059
+ ) {
1060
+ class_addSuperType(
1061
+ _class,
1062
+ GenericTypeExplicitReference.create(new GenericType(element)),
1063
+ );
1064
+ class_addSubclass(element, _class);
1065
+ }
1066
+ },
1067
+ [_class, isReadOnly],
1068
+ );
1069
+ const [{ isSuperTypeDragOver }, dropSuperTypeRef] = useDrop(
1070
+ () => ({
1071
+ accept: [
1072
+ CORE_DND_TYPE.PROJECT_EXPLORER_CLASS,
1073
+ CORE_DND_TYPE.PROJECT_EXPLORER_ENUMERATION,
1074
+ ],
1075
+ drop: (item: ElementDragSource): void => handleDropSuperType(item),
1076
+ collect: (monitor): { isSuperTypeDragOver: boolean } => ({
1077
+ isSuperTypeDragOver: monitor.isOver({ shallow: true }),
1078
+ }),
1079
+ }),
1080
+ [handleDropSuperType],
1081
+ );
1082
+
1083
+ useApplicationNavigationContext(
1084
+ LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.CLASS_EDITOR_SUPERTYPES,
1085
+ );
1086
+
1087
+ return (
1088
+ <div
1089
+ ref={dropSuperTypeRef}
1090
+ className={clsx('panel__content__lists', {
1091
+ 'panel__content__lists--dnd-over': isSuperTypeDragOver && !isReadOnly,
1092
+ })}
1093
+ >
1094
+ {_class.generalizations.map((superType) => (
1095
+ <SuperTypeEditor
1096
+ key={superType.value._UUID}
1097
+ superType={superType}
1098
+ _class={_class}
1099
+ deleteSuperType={deleteSuperType(superType)}
1100
+ isReadOnly={isReadOnly}
1101
+ />
1102
+ ))}
1103
+ </div>
1104
+ );
1105
+ },
1106
+ );
1107
+
1108
+ const TaggedValuesEditor = observer(
1109
+ (props: { _class: Class; editorState: ClassEditorState }) => {
1110
+ const { _class, editorState } = props;
1111
+ const isReadOnly = editorState.isReadOnly;
1112
+
1113
+ const deleteTaggedValue =
1114
+ (val: TaggedValue): (() => void) =>
1115
+ (): void =>
1116
+ annotatedElement_deleteTaggedValue(_class, val);
1117
+
1118
+ const handleDropTaggedValue = useCallback(
1119
+ (item: UMLEditorElementDropTarget): void => {
1120
+ if (!isReadOnly && item.data.packageableElement instanceof Profile) {
1121
+ annotatedElement_addTaggedValue(
1122
+ _class,
1123
+ stub_TaggedValue(stub_Tag(item.data.packageableElement)),
1124
+ );
1125
+ }
1126
+ },
1127
+ [_class, isReadOnly],
1128
+ );
1129
+ const [{ isTaggedValueDragOver }, dropTaggedValueRef] = useDrop(
1130
+ () => ({
1131
+ accept: [CORE_DND_TYPE.PROJECT_EXPLORER_PROFILE],
1132
+ drop: (item: ElementDragSource): void => handleDropTaggedValue(item),
1133
+ collect: (monitor): { isTaggedValueDragOver: boolean } => ({
1134
+ isTaggedValueDragOver: monitor.isOver({ shallow: true }),
1135
+ }),
1136
+ }),
1137
+ [handleDropTaggedValue],
1138
+ );
1139
+
1140
+ return (
1141
+ <div
1142
+ ref={dropTaggedValueRef}
1143
+ className={clsx('panel__content__lists', {
1144
+ 'panel__content__lists--dnd-over':
1145
+ isTaggedValueDragOver && !isReadOnly,
1146
+ })}
1147
+ >
1148
+ {_class.taggedValues.map((taggedValue) => (
1149
+ <TaggedValueEditor
1150
+ key={taggedValue._UUID}
1151
+ taggedValue={taggedValue}
1152
+ deleteValue={deleteTaggedValue(taggedValue)}
1153
+ isReadOnly={isReadOnly}
1154
+ />
1155
+ ))}
1156
+ </div>
1157
+ );
1158
+ },
1159
+ );
1160
+
1161
+ const StereotypesEditor = observer(
1162
+ (props: { _class: Class; editorState: ClassEditorState }) => {
1163
+ const { _class, editorState } = props;
1164
+ const isReadOnly = editorState.isReadOnly;
1165
+
1166
+ const deleteStereotype =
1167
+ (val: StereotypeReference): (() => void) =>
1168
+ (): void =>
1169
+ annotatedElement_deleteStereotype(_class, val);
1170
+
1171
+ const handleDropStereotype = useCallback(
1172
+ (item: UMLEditorElementDropTarget): void => {
1173
+ if (!isReadOnly && item.data.packageableElement instanceof Profile) {
1174
+ annotatedElement_addStereotype(
1175
+ _class,
1176
+ StereotypeExplicitReference.create(
1177
+ stub_Stereotype(item.data.packageableElement),
1178
+ ),
1179
+ );
1180
+ }
1181
+ },
1182
+ [_class, isReadOnly],
1183
+ );
1184
+ const [{ isStereotypeDragOver }, dropStereotypeRef] = useDrop(
1185
+ () => ({
1186
+ accept: [CORE_DND_TYPE.PROJECT_EXPLORER_PROFILE],
1187
+ drop: (item: ElementDragSource): void => handleDropStereotype(item),
1188
+ collect: (monitor): { isStereotypeDragOver: boolean } => ({
1189
+ isStereotypeDragOver: monitor.isOver({ shallow: true }),
1190
+ }),
1191
+ }),
1192
+ [handleDropStereotype],
1193
+ );
1194
+
1195
+ return (
1196
+ <div
1197
+ ref={dropStereotypeRef}
1198
+ className={clsx('panel__content__lists', {
1199
+ 'panel__content__lists--dnd-over':
1200
+ isStereotypeDragOver && !isReadOnly,
1201
+ })}
1202
+ >
1203
+ {_class.stereotypes.map((stereotype) => (
1204
+ <StereotypeSelector
1205
+ key={stereotype.value._UUID}
1206
+ stereotype={stereotype}
1207
+ deleteStereotype={deleteStereotype(stereotype)}
1208
+ isReadOnly={isReadOnly}
1209
+ />
1210
+ ))}
1211
+ </div>
1212
+ );
1213
+ },
1214
+ );
1215
+
1216
+ export const ClassFormEditor = observer(
1217
+ (props: {
1218
+ _class: Class;
1219
+ editorState: ClassEditorState;
1220
+ onHashChange?: () => void;
1221
+ }) => {
1222
+ const { _class, editorState, onHashChange } = props;
1223
+ const editorStore = useEditorStore();
1224
+ const applicationStore = useApplicationStore();
1225
+ const classHash = editorStore.graphManagerState.isElementReadOnly(_class)
1226
+ ? undefined
1227
+ : applicationStore.notifyAndReturnAlternativeOnError(
1228
+ () => _class.hashCode,
1229
+ undefined,
1230
+ ); // attempting to read the hashCode of immutable element will throw an error
1231
+ const classState = editorState.classState;
1232
+ const isReadOnly = editorState.isReadOnly;
1233
+ const defaultType = editorStore.graphManagerState.graph.getPrimitiveType(
1234
+ PRIMITIVE_TYPE.STRING,
1235
+ );
1236
+
1237
+ // Tab
1238
+ const selectedTab = editorState.selectedTab;
1239
+ const tabs = [
1240
+ UML_EDITOR_TAB.PROPERTIES,
1241
+ UML_EDITOR_TAB.DERIVED_PROPERTIES,
1242
+ UML_EDITOR_TAB.CONSTRAINTS,
1243
+ UML_EDITOR_TAB.SUPER_TYPES,
1244
+ UML_EDITOR_TAB.TAGGED_VALUES,
1245
+ UML_EDITOR_TAB.STEREOTYPES,
1246
+ ];
1247
+ const changeTab =
1248
+ (tab: UML_EDITOR_TAB): (() => void) =>
1249
+ (): void => {
1250
+ editorState.setSelectedTab(tab);
1251
+ editorState.setSelectedProperty(undefined);
1252
+ };
1253
+
1254
+ const deselectProperty = (): void =>
1255
+ editorState.setSelectedProperty(undefined);
1256
+
1257
+ const possibleSupertypes =
1258
+ editorStore.graphManagerState.graph.ownClasses.filter(
1259
+ (superType) =>
1260
+ // Exclude current class
1261
+ superType !== _class &&
1262
+ // Exclude super types of the class
1263
+ !getAllSuperclasses(_class).includes(superType) &&
1264
+ // Ensure there is no loop (might be expensive)
1265
+ !getAllSuperclasses(superType).includes(_class),
1266
+ );
1267
+ // Add button
1268
+ let addButtonTitle = '';
1269
+ switch (selectedTab) {
1270
+ case UML_EDITOR_TAB.PROPERTIES:
1271
+ addButtonTitle = 'Add property';
1272
+ break;
1273
+ case UML_EDITOR_TAB.DERIVED_PROPERTIES:
1274
+ addButtonTitle = 'Add derived property';
1275
+ break;
1276
+ case UML_EDITOR_TAB.CONSTRAINTS:
1277
+ addButtonTitle = 'Add constraint';
1278
+ break;
1279
+ case UML_EDITOR_TAB.SUPER_TYPES:
1280
+ addButtonTitle = 'Add super type';
1281
+ break;
1282
+ case UML_EDITOR_TAB.TAGGED_VALUES:
1283
+ addButtonTitle = 'Add tagged value';
1284
+ break;
1285
+ case UML_EDITOR_TAB.STEREOTYPES:
1286
+ addButtonTitle = 'Add stereotype';
1287
+ break;
1288
+ default:
1289
+ break;
1290
+ }
1291
+ const isAddButtonDisabled =
1292
+ isReadOnly ||
1293
+ (selectedTab === UML_EDITOR_TAB.SUPER_TYPES &&
1294
+ !possibleSupertypes.length);
1295
+ const add = (): void => {
1296
+ if (!isReadOnly) {
1297
+ if (selectedTab === UML_EDITOR_TAB.PROPERTIES) {
1298
+ class_addProperty(_class, stub_Property(defaultType, _class));
1299
+ } else if (selectedTab === UML_EDITOR_TAB.DERIVED_PROPERTIES) {
1300
+ const dp = stub_DerivedProperty(defaultType, _class);
1301
+ class_addDerivedProperty(_class, dp);
1302
+ classState.addDerivedPropertyState(dp);
1303
+ } else if (selectedTab === UML_EDITOR_TAB.CONSTRAINTS) {
1304
+ const constraint = stub_Constraint(_class);
1305
+ class_addContraint(_class, constraint);
1306
+ classState.addConstraintState(constraint);
1307
+ } else if (
1308
+ selectedTab === UML_EDITOR_TAB.SUPER_TYPES &&
1309
+ possibleSupertypes.length
1310
+ ) {
1311
+ const possibleSupertype = possibleSupertypes[0] as Class;
1312
+ class_addSuperType(
1313
+ _class,
1314
+ GenericTypeExplicitReference.create(
1315
+ new GenericType(possibleSupertype),
1316
+ ),
1317
+ );
1318
+ class_addSubclass(possibleSupertype, _class);
1319
+ } else if (selectedTab === UML_EDITOR_TAB.TAGGED_VALUES) {
1320
+ annotatedElement_addTaggedValue(
1321
+ _class,
1322
+ stub_TaggedValue(stub_Tag(stub_Profile())),
1323
+ );
1324
+ } else if (selectedTab === UML_EDITOR_TAB.STEREOTYPES) {
1325
+ annotatedElement_addStereotype(
1326
+ _class,
1327
+ StereotypeExplicitReference.create(stub_Stereotype(stub_Profile())),
1328
+ );
1329
+ }
1330
+ }
1331
+ };
1332
+
1333
+ // Generation
1334
+ const generationParentElementPath =
1335
+ editorStore.graphState.graphGenerationState.findGenerationParentPath(
1336
+ _class.path,
1337
+ );
1338
+ const generationParentElement = generationParentElementPath
1339
+ ? editorStore.graphManagerState.graph.getNullableElement(
1340
+ generationParentElementPath,
1341
+ )
1342
+ : undefined;
1343
+ const visitGenerationParentElement = (): void => {
1344
+ if (generationParentElement) {
1345
+ editorStore.openElement(generationParentElement);
1346
+ }
1347
+ };
1348
+
1349
+ // On change handler (this is used for other editors which embeds editor)
1350
+ useEffect(() => {
1351
+ onHashChange?.();
1352
+ }, [_class, classHash, onHashChange]);
1353
+
1354
+ // Decorate (add/remove states for derived properties/constraints) and convert lambda objects
1355
+ useEffect(() => {
1356
+ classState.decorate();
1357
+ flowResult(classState.convertConstraintLambdaObjects()).catch(
1358
+ applicationStore.alertUnhandledError,
1359
+ );
1360
+ flowResult(classState.convertDerivedPropertyLambdaObjects()).catch(
1361
+ applicationStore.alertUnhandledError,
1362
+ );
1363
+ }, [applicationStore, classState]);
1364
+
1365
+ return (
1366
+ <div
1367
+ data-testid={LEGEND_STUDIO_TEST_ID.CLASS_FORM_EDITOR}
1368
+ className="uml-element-editor class-form-editor"
1369
+ >
1370
+ <ResizablePanelGroup orientation="horizontal">
1371
+ <ResizablePanel minSize={56}>
1372
+ <div className="panel">
1373
+ <div className="panel__header">
1374
+ <div className="panel__header__title">
1375
+ {isReadOnly && (
1376
+ <div className="uml-element-editor__header__lock">
1377
+ <LockIcon />
1378
+ </div>
1379
+ )}
1380
+ <div className="panel__header__title__label">class</div>
1381
+ <div className="panel__header__title__content">
1382
+ {_class.name}
1383
+ </div>
1384
+ </div>
1385
+ <div className="panel__header__actions">
1386
+ {generationParentElement && (
1387
+ <button
1388
+ className="uml-element-editor__header__generation-origin"
1389
+ onClick={visitGenerationParentElement}
1390
+ tabIndex={-1}
1391
+ title={`Visit generation parent '${generationParentElement.path}'`}
1392
+ >
1393
+ <div className="uml-element-editor__header__generation-origin__label">
1394
+ <FireIcon />
1395
+ </div>
1396
+ <div className="uml-element-editor__header__generation-origin__parent-name">
1397
+ {generationParentElement.name}
1398
+ </div>
1399
+ <div className="uml-element-editor__header__generation-origin__visit-btn">
1400
+ <StickArrowCircleRightIcon />
1401
+ </div>
1402
+ </button>
1403
+ )}
1404
+ </div>
1405
+ </div>
1406
+ <div
1407
+ data-testid={
1408
+ LEGEND_STUDIO_TEST_ID.UML_ELEMENT_EDITOR__TABS_HEADER
1409
+ }
1410
+ className="panel__header uml-element-editor__tabs__header"
1411
+ >
1412
+ <div className="uml-element-editor__tabs">
1413
+ {tabs.map((tab) => (
1414
+ <div
1415
+ key={tab}
1416
+ onClick={changeTab(tab)}
1417
+ className={clsx('uml-element-editor__tab', {
1418
+ 'uml-element-editor__tab--active': tab === selectedTab,
1419
+ })}
1420
+ >
1421
+ {prettyCONSTName(tab)}
1422
+ </div>
1423
+ ))}
1424
+ </div>
1425
+ <div className="panel__header__actions">
1426
+ <button
1427
+ className="panel__header__action"
1428
+ disabled={isAddButtonDisabled}
1429
+ onClick={add}
1430
+ tabIndex={-1}
1431
+ title={addButtonTitle}
1432
+ >
1433
+ <PlusIcon />
1434
+ </button>
1435
+ </div>
1436
+ </div>
1437
+ <div
1438
+ className={clsx('panel__content', {
1439
+ 'panel__content--with-backdrop-element':
1440
+ selectedTab === UML_EDITOR_TAB.DERIVED_PROPERTIES ||
1441
+ selectedTab === UML_EDITOR_TAB.CONSTRAINTS,
1442
+ })}
1443
+ >
1444
+ {selectedTab === UML_EDITOR_TAB.PROPERTIES && (
1445
+ <PropertiesEditor _class={_class} editorState={editorState} />
1446
+ )}
1447
+ {selectedTab === UML_EDITOR_TAB.DERIVED_PROPERTIES && (
1448
+ <DerviedPropertiesEditor
1449
+ _class={_class}
1450
+ editorState={editorState}
1451
+ />
1452
+ )}
1453
+ {selectedTab === UML_EDITOR_TAB.CONSTRAINTS && (
1454
+ <ConstraintsEditor
1455
+ _class={_class}
1456
+ editorState={editorState}
1457
+ />
1458
+ )}
1459
+ {selectedTab === UML_EDITOR_TAB.SUPER_TYPES && (
1460
+ <SupertypesEditor _class={_class} editorState={editorState} />
1461
+ )}
1462
+ {selectedTab === UML_EDITOR_TAB.TAGGED_VALUES && (
1463
+ <TaggedValuesEditor
1464
+ _class={_class}
1465
+ editorState={editorState}
1466
+ />
1467
+ )}
1468
+ {selectedTab === UML_EDITOR_TAB.STEREOTYPES && (
1469
+ <StereotypesEditor
1470
+ _class={_class}
1471
+ editorState={editorState}
1472
+ />
1473
+ )}
1474
+ </div>
1475
+ </div>
1476
+ </ResizablePanel>
1477
+ <ResizablePanelSplitter>
1478
+ <ResizablePanelSplitterLine color="var(--color-light-grey-200)" />
1479
+ </ResizablePanelSplitter>
1480
+ <ResizablePanel
1481
+ {...getControlledResizablePanelProps(
1482
+ !editorState.selectedProperty,
1483
+ { size: 250 },
1484
+ )}
1485
+ direction={-1}
1486
+ >
1487
+ {editorState.selectedProperty ? (
1488
+ <PropertyEditor
1489
+ property={editorState.selectedProperty}
1490
+ deselectProperty={deselectProperty}
1491
+ isReadOnly={isReadOnly}
1492
+ />
1493
+ ) : (
1494
+ <div className="uml-element-editor__sub-editor">
1495
+ <BlankPanelContent>No property selected</BlankPanelContent>
1496
+ </div>
1497
+ )}
1498
+ </ResizablePanel>
1499
+ </ResizablePanelGroup>
1500
+ </div>
1501
+ );
1502
+ },
1503
+ );
1504
+
1505
+ export const ClassEditor = observer((props: { _class: Class }) => {
1506
+ const { _class } = props;
1507
+ const editorStore = useEditorStore();
1508
+ const editorState = editorStore.getCurrentEditorState(ClassEditorState);
1509
+
1510
+ const classPreviewRenderers = editorStore.pluginManager
1511
+ .getApplicationPlugins()
1512
+ .flatMap((plugin) => plugin.getExtraClassPreviewRenderers?.() ?? [])
1513
+ .filter(isNonNullable);
1514
+
1515
+ useApplicationNavigationContext(
1516
+ LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY.CLASS_EDITOR,
1517
+ );
1518
+
1519
+ return (
1520
+ <ResizablePanelGroup orientation="vertical" className="class-editor">
1521
+ <ResizablePanel size={500} minSize={450}>
1522
+ {classPreviewRenderers.length !== 0 &&
1523
+ (classPreviewRenderers[0] as ClassPreviewRenderer)(_class)}
1524
+ {classPreviewRenderers.length === 0 && (
1525
+ <BlankPanelContent>No preview</BlankPanelContent>
1526
+ )}
1527
+ </ResizablePanel>
1528
+ <ResizablePanelSplitter />
1529
+ <ResizablePanel minSize={450}>
1530
+ <ClassFormEditor _class={_class} editorState={editorState} />
1531
+ </ResizablePanel>
1532
+ </ResizablePanelGroup>
1533
+ );
1534
+ });