@finos/legend-application-studio 28.19.56 → 28.19.58

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 (131) hide show
  1. package/lib/components/editor/QuickInput.d.ts.map +1 -1
  2. package/lib/components/editor/QuickInput.js +8 -3
  3. package/lib/components/editor/QuickInput.js.map +1 -1
  4. package/lib/components/editor/command-center/ProjectSearchCommand.d.ts.map +1 -1
  5. package/lib/components/editor/command-center/ProjectSearchCommand.js +8 -3
  6. package/lib/components/editor/command-center/ProjectSearchCommand.js.map +1 -1
  7. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.d.ts.map +1 -1
  8. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.js +5 -3
  9. package/lib/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.js.map +1 -1
  10. package/lib/components/editor/editor-group/connection-editor/DatabaseModelBuilder.d.ts.map +1 -1
  11. package/lib/components/editor/editor-group/connection-editor/DatabaseModelBuilder.js +5 -3
  12. package/lib/components/editor/editor-group/connection-editor/DatabaseModelBuilder.js.map +1 -1
  13. package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.d.ts.map +1 -1
  14. package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js +5 -1
  15. package/lib/components/editor/editor-group/data-editor/RelationElementsDataEditor.js.map +1 -1
  16. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.d.ts.map +1 -1
  17. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js +10 -2
  18. package/lib/components/editor/editor-group/data-editor/RelationalCSVDataEditor.js.map +1 -1
  19. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -1
  20. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js +7 -32
  21. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -1
  22. package/lib/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.d.ts.map +1 -1
  23. package/lib/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.js +8 -5
  24. package/lib/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.js.map +1 -1
  25. package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.d.ts.map +1 -1
  26. package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js +4 -2
  27. package/lib/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.js.map +1 -1
  28. package/lib/components/editor/editor-group/function-activator/FunctionEditor.d.ts.map +1 -1
  29. package/lib/components/editor/editor-group/function-activator/FunctionEditor.js +5 -1
  30. package/lib/components/editor/editor-group/function-activator/FunctionEditor.js.map +1 -1
  31. package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.d.ts.map +1 -1
  32. package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js +18 -5
  33. package/lib/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.js.map +1 -1
  34. package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.d.ts +6 -0
  35. package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.d.ts.map +1 -1
  36. package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js +65 -4
  37. package/lib/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.js.map +1 -1
  38. package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.d.ts.map +1 -1
  39. package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.js +9 -6
  40. package/lib/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.js.map +1 -1
  41. package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.d.ts.map +1 -1
  42. package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.js +9 -6
  43. package/lib/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.js.map +1 -1
  44. package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.d.ts.map +1 -1
  45. package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js +8 -3
  46. package/lib/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.js.map +1 -1
  47. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.d.ts.map +1 -1
  48. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js +18 -5
  49. package/lib/components/editor/editor-group/mapping-editor/MappingTestableEditor.js.map +1 -1
  50. package/lib/components/editor/editor-group/mapping-editor/NewMappingElementModal.d.ts.map +1 -1
  51. package/lib/components/editor/editor-group/mapping-editor/NewMappingElementModal.js +9 -6
  52. package/lib/components/editor/editor-group/mapping-editor/NewMappingElementModal.js.map +1 -1
  53. package/lib/components/editor/editor-group/service-editor/NewServiceModal.d.ts.map +1 -1
  54. package/lib/components/editor/editor-group/service-editor/NewServiceModal.js +8 -5
  55. package/lib/components/editor/editor-group/service-editor/NewServiceModal.js.map +1 -1
  56. package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.d.ts.map +1 -1
  57. package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.js +15 -3
  58. package/lib/components/editor/editor-group/service-editor/ServiceExecutionEditor.js.map +1 -1
  59. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.d.ts.map +1 -1
  60. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js +10 -2
  61. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.js.map +1 -1
  62. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.d.ts.map +1 -1
  63. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js +5 -1
  64. package/lib/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.js.map +1 -1
  65. package/lib/components/editor/editor-group/testable/TestableSharedComponents.d.ts.map +1 -1
  66. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js +19 -5
  67. package/lib/components/editor/editor-group/testable/TestableSharedComponents.js.map +1 -1
  68. package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.d.ts.map +1 -1
  69. package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js +8 -5
  70. package/lib/components/editor/editor-group/uml-editor/ClassQueryBuilder.js.map +1 -1
  71. package/lib/components/editor/side-bar/CreateNewElementModal.d.ts.map +1 -1
  72. package/lib/components/editor/side-bar/CreateNewElementModal.js +16 -6
  73. package/lib/components/editor/side-bar/CreateNewElementModal.js.map +1 -1
  74. package/lib/components/editor/side-bar/Explorer.d.ts.map +1 -1
  75. package/lib/components/editor/side-bar/Explorer.js +16 -6
  76. package/lib/components/editor/side-bar/Explorer.js.map +1 -1
  77. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.d.ts.map +1 -1
  78. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js +5 -1
  79. package/lib/components/editor/side-bar/WorkspaceSyncConflictResolver.js.map +1 -1
  80. package/lib/components/project-view/ProjectViewer.d.ts.map +1 -1
  81. package/lib/components/project-view/ProjectViewer.js +34 -4
  82. package/lib/components/project-view/ProjectViewer.js.map +1 -1
  83. package/lib/components/workspace-setup/CreateProjectModal.d.ts.map +1 -1
  84. package/lib/components/workspace-setup/CreateProjectModal.js +5 -1
  85. package/lib/components/workspace-setup/CreateProjectModal.js.map +1 -1
  86. package/lib/components/workspace-setup/CreateWorkspaceModal.d.ts.map +1 -1
  87. package/lib/components/workspace-setup/CreateWorkspaceModal.js +8 -3
  88. package/lib/components/workspace-setup/CreateWorkspaceModal.js.map +1 -1
  89. package/lib/index.css +2 -2
  90. package/lib/index.css.map +1 -1
  91. package/lib/package.json +1 -1
  92. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts +9 -3
  93. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.d.ts.map +1 -1
  94. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js +58 -15
  95. package/lib/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js.map +1 -1
  96. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.d.ts +7 -1
  97. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.d.ts.map +1 -1
  98. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js +33 -1
  99. package/lib/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js.map +1 -1
  100. package/package.json +10 -10
  101. package/src/components/editor/QuickInput.tsx +8 -4
  102. package/src/components/editor/command-center/ProjectSearchCommand.tsx +8 -4
  103. package/src/components/editor/editor-group/connection-editor/DatabaseBuilderWizard.tsx +5 -3
  104. package/src/components/editor/editor-group/connection-editor/DatabaseModelBuilder.tsx +5 -3
  105. package/src/components/editor/editor-group/data-editor/RelationElementsDataEditor.tsx +5 -1
  106. package/src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx +10 -2
  107. package/src/components/editor/editor-group/dataProduct/DataProductEditor.tsx +11 -56
  108. package/src/components/editor/editor-group/element-generation-editor/ElementGenerationEditor.tsx +8 -6
  109. package/src/components/editor/editor-group/external-format-editor/DSL_ExternalFormat_SchemaSetElementEditor.tsx +4 -2
  110. package/src/components/editor/editor-group/function-activator/FunctionEditor.tsx +5 -1
  111. package/src/components/editor/editor-group/function-activator/testable/FunctionTestableEditor.tsx +18 -6
  112. package/src/components/editor/editor-group/ingest-editor/IngestDefinitionEditor.tsx +174 -12
  113. package/src/components/editor/editor-group/mapping-editor/EnumerationMappingEditor.tsx +8 -6
  114. package/src/components/editor/editor-group/mapping-editor/InstanceSetImplementationSourceSelectorModal.tsx +8 -6
  115. package/src/components/editor/editor-group/mapping-editor/MappingExecutionBuilder.tsx +8 -4
  116. package/src/components/editor/editor-group/mapping-editor/MappingTestableEditor.tsx +18 -6
  117. package/src/components/editor/editor-group/mapping-editor/NewMappingElementModal.tsx +8 -6
  118. package/src/components/editor/editor-group/service-editor/NewServiceModal.tsx +8 -6
  119. package/src/components/editor/editor-group/service-editor/ServiceExecutionEditor.tsx +15 -3
  120. package/src/components/editor/editor-group/service-editor/testable/ServiceTestDataEditor.tsx +10 -2
  121. package/src/components/editor/editor-group/service-editor/testable/ServiceTestsEditor.tsx +5 -1
  122. package/src/components/editor/editor-group/testable/TestableSharedComponents.tsx +19 -5
  123. package/src/components/editor/editor-group/uml-editor/ClassQueryBuilder.tsx +8 -6
  124. package/src/components/editor/side-bar/CreateNewElementModal.tsx +16 -8
  125. package/src/components/editor/side-bar/Explorer.tsx +14 -6
  126. package/src/components/editor/side-bar/WorkspaceSyncConflictResolver.tsx +5 -1
  127. package/src/components/project-view/ProjectViewer.tsx +85 -1
  128. package/src/components/workspace-setup/CreateProjectModal.tsx +5 -1
  129. package/src/components/workspace-setup/CreateWorkspaceModal.tsx +7 -3
  130. package/src/stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.ts +91 -19
  131. package/src/stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.ts +61 -1
@@ -30,13 +30,16 @@ import {
30
30
  PanelHeader,
31
31
  PanelHeaderActions,
32
32
  RocketIcon,
33
+ EyeIcon,
34
+ ModalHeaderActions,
35
+ CustomSelectorInput,
33
36
  } from '@finos/legend-art';
34
37
  import {
35
38
  generateUrlToDeployOnOpen,
36
39
  IngestDefinitionEditorState,
37
40
  } from '../../../../stores/editor/editor-state/element-editor-state/ingest/IngestDefinitionEditorState.js';
38
41
  import { CodeEditor } from '@finos/legend-lego/code-editor';
39
- import React, { useEffect } from 'react';
42
+ import React, { useEffect, useState } from 'react';
40
43
  import { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
41
44
  import { flowResult } from 'mobx';
42
45
  import { useAuth } from 'react-oidc-context';
@@ -46,6 +49,11 @@ import {
46
49
  } from '@finos/legend-server-lakehouse';
47
50
  import { useApplicationNavigationContext } from '@finos/legend-application';
48
51
  import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../__lib__/LegendStudioApplicationNavigationContext.js';
52
+ import {
53
+ LINEAGE_VIEW_MODE,
54
+ LineageViewerContent,
55
+ } from '@finos/legend-query-builder';
56
+ import type { MatViewDataSet } from '@finos/legend-graph';
49
57
 
50
58
  const IngestValidationError = observer(
51
59
  (props: {
@@ -186,6 +194,124 @@ const IngestDeploymentResponseModal = observer(
186
194
  },
187
195
  );
188
196
 
197
+ export const IngestLineageModal = observer(
198
+ (props: { ingestDefinitionEditorState: IngestDefinitionEditorState }) => {
199
+ const { ingestDefinitionEditorState } = props;
200
+
201
+ const matviewFunctions =
202
+ ingestDefinitionEditorState.ingest.TEMPORARY_MATVIEW_FUNCTION_DATA_SETS;
203
+ const matviewNames =
204
+ ingestDefinitionEditorState.ingest.TEMPORARY_MATVIEW_FUNCTION_DATA_SETS?.map(
205
+ (dataset) => dataset.name,
206
+ ) ?? [];
207
+ const [selectedMatview, setSelectedMatview] = useState<
208
+ MatViewDataSet | undefined
209
+ >(undefined);
210
+
211
+ useEffect(() => {
212
+ if (!selectedMatview && matviewFunctions && matviewFunctions.length > 0) {
213
+ setSelectedMatview(matviewFunctions[0]);
214
+ }
215
+ }, [matviewFunctions, selectedMatview]);
216
+
217
+ useEffect(() => {
218
+ ingestDefinitionEditorState.lineageState.setSelectedTab(
219
+ LINEAGE_VIEW_MODE.DATABASE_LINEAGE,
220
+ );
221
+ }, [ingestDefinitionEditorState.lineageState]);
222
+
223
+ if (!matviewFunctions || matviewFunctions.length === 0) {
224
+ return null;
225
+ }
226
+
227
+ const isDarkMode =
228
+ !ingestDefinitionEditorState.lineageState.applicationStore.layoutService
229
+ .TEMPORARY__isLightColorThemeEnabled;
230
+
231
+ const closeLineageViewer = (): void => {
232
+ ingestDefinitionEditorState.lineageState.setLineageData(undefined);
233
+ ingestDefinitionEditorState.lineageState.setSelectedTab(
234
+ LINEAGE_VIEW_MODE.DATABASE_LINEAGE,
235
+ );
236
+ ingestDefinitionEditorState.lineageState.clearPropertySelections();
237
+ };
238
+
239
+ type DatasetOption = {
240
+ label: string;
241
+ value: MatViewDataSet;
242
+ };
243
+
244
+ const datasetOptions: DatasetOption[] = matviewNames
245
+ .map((name, index) => {
246
+ const dataset = matviewFunctions[index];
247
+ if (dataset) {
248
+ return {
249
+ label: name,
250
+ value: dataset,
251
+ };
252
+ }
253
+ return null;
254
+ })
255
+ .filter((option): option is DatasetOption => option !== null);
256
+
257
+ const handleDatasetChange = (option: DatasetOption | null): void => {
258
+ if (option?.value) {
259
+ setSelectedMatview(option.value);
260
+ flowResult(
261
+ ingestDefinitionEditorState.generateLineage(option.value),
262
+ ).catch(
263
+ ingestDefinitionEditorState.editorStore.applicationStore
264
+ .alertUnhandledError,
265
+ );
266
+ }
267
+ };
268
+
269
+ return (
270
+ <>
271
+ <Dialog
272
+ open={Boolean(ingestDefinitionEditorState.lineageState.lineageData)}
273
+ onClose={closeLineageViewer}
274
+ >
275
+ <Modal className="editor-modal" darkMode={isDarkMode}>
276
+ <ModalHeader>
277
+ <ModalTitle title="LineageViewer" />
278
+ <ModalHeaderActions>
279
+ <CustomSelectorInput
280
+ options={datasetOptions}
281
+ onChange={handleDatasetChange}
282
+ value={
283
+ selectedMatview
284
+ ? {
285
+ label: selectedMatview.name,
286
+ value: selectedMatview,
287
+ }
288
+ : null
289
+ }
290
+ darkMode={isDarkMode}
291
+ />
292
+ </ModalHeaderActions>
293
+ </ModalHeader>
294
+ <ModalBody>
295
+ <div className="lineage-viewer" style={{ height: '100%' }}>
296
+ <LineageViewerContent
297
+ lineageState={ingestDefinitionEditorState.lineageState}
298
+ />
299
+ </div>
300
+ </ModalBody>
301
+ <ModalFooter className="editor-modal__footer">
302
+ <ModalFooterButton
303
+ onClick={closeLineageViewer}
304
+ text="Close"
305
+ type="secondary"
306
+ />
307
+ </ModalFooter>
308
+ </Modal>
309
+ </Dialog>
310
+ </>
311
+ );
312
+ },
313
+ );
314
+
189
315
  export const IngestDefinitionEditor = observer(() => {
190
316
  const editorStore = useEditorStore();
191
317
  const ingestDefinitionEditorState =
@@ -257,6 +383,7 @@ export const IngestDefinitionEditor = observer(() => {
257
383
  };
258
384
 
259
385
  const isValid = ingestDefinitionEditorState.validForDeployment;
386
+ const isValidForLineage = ingestDefinitionEditorState.validForLineageViewer;
260
387
  useEffect(() => {
261
388
  ingestDefinitionEditorState.generateElementGrammar();
262
389
  }, [ingestDefinitionEditorState]);
@@ -277,6 +404,21 @@ export const IngestDefinitionEditor = observer(() => {
277
404
  ingestDefinitionEditorState,
278
405
  ]);
279
406
 
407
+ const viewLineage = () => {
408
+ const firstMatViewQuery =
409
+ ingestDefinitionEditorState.ingest
410
+ .TEMPORARY_MATVIEW_FUNCTION_DATA_SETS?.[0];
411
+ if (firstMatViewQuery) {
412
+ flowResult(
413
+ ingestDefinitionEditorState.generateLineage(firstMatViewQuery),
414
+ ).catch(editorStore.applicationStore.alertUnhandledError);
415
+ } else {
416
+ editorStore.applicationStore.notificationService.notifyError(
417
+ 'No MatView datasets available for lineage generation',
418
+ );
419
+ }
420
+ };
421
+
280
422
  return (
281
423
  <div className="data-product-editor">
282
424
  <PanelHeader
@@ -288,17 +430,34 @@ export const IngestDefinitionEditor = observer(() => {
288
430
  <PanelContent>
289
431
  <PanelHeader title="deployment" darkMode={true}>
290
432
  <PanelHeaderActions>
291
- <div className="btn__dropdown-combo btn__dropdown-combo--primary">
292
- <button
293
- className="btn__dropdown-combo__label"
294
- onClick={deployIngest}
295
- title={ingestDefinitionEditorState.validationMessage}
296
- tabIndex={-1}
297
- disabled={!isValid}
298
- >
299
- <RocketIcon className="btn__dropdown-combo__label__icon" />
300
- <div className="btn__dropdown-combo__label__title">Deploy</div>
301
- </button>
433
+ <div className="panel__header__actions">
434
+ <div className="btn__dropdown-combo btn__dropdown-combo--primary">
435
+ <button
436
+ className="btn__dropdown-combo__label"
437
+ onClick={viewLineage}
438
+ tabIndex={-1}
439
+ disabled={!isValidForLineage}
440
+ >
441
+ <EyeIcon className="btn__dropdown-combo__label__icon" />
442
+ <div className="btn__dropdown-combo__label__title">
443
+ Lineage
444
+ </div>
445
+ </button>
446
+ </div>
447
+ <div className="btn__dropdown-combo btn__dropdown-combo--primary">
448
+ <button
449
+ className="btn__dropdown-combo__label"
450
+ onClick={deployIngest}
451
+ title={ingestDefinitionEditorState.validationMessage}
452
+ tabIndex={-1}
453
+ disabled={!isValid}
454
+ >
455
+ <RocketIcon className="btn__dropdown-combo__label__icon" />
456
+ <div className="btn__dropdown-combo__label__title">
457
+ Deploy
458
+ </div>
459
+ </button>
460
+ </div>
302
461
  </div>
303
462
  </PanelHeaderActions>
304
463
  </PanelHeader>
@@ -309,6 +468,9 @@ export const IngestDefinitionEditor = observer(() => {
309
468
  language={CODE_EDITOR_LANGUAGE.PURE}
310
469
  />
311
470
  </PanelContent>
471
+ <IngestLineageModal
472
+ ingestDefinitionEditorState={ingestDefinitionEditorState}
473
+ />
312
474
  {renderDeploymentResponse()}
313
475
  </PanelContent>
314
476
  </div>
@@ -129,15 +129,17 @@ const EnumerationMappingSourceSelectorModal = observer(
129
129
  <Dialog
130
130
  open={open}
131
131
  onClose={closeModal}
132
- TransitionProps={{
133
- onEnter: handleEnter,
134
- }}
135
132
  classes={{
136
133
  container: 'search-modal__container',
137
134
  }}
138
- PaperProps={{
139
- classes: {
140
- root: 'search-modal__inner-container',
135
+ slotProps={{
136
+ transition: {
137
+ onEnter: handleEnter,
138
+ },
139
+ paper: {
140
+ classes: {
141
+ root: 'search-modal__inner-container',
142
+ },
141
143
  },
142
144
  }}
143
145
  >
@@ -242,15 +242,17 @@ export const InstanceSetImplementationSourceSelectorModal = observer(
242
242
  <Dialog
243
243
  open={true}
244
244
  onClose={closeModal}
245
- TransitionProps={{
246
- onEnter: handleEnter,
247
- }}
248
245
  classes={{
249
246
  container: 'search-modal__container',
250
247
  }}
251
- PaperProps={{
252
- classes: {
253
- root: 'search-modal__inner-container',
248
+ slotProps={{
249
+ transition: {
250
+ onEnter: handleEnter,
251
+ },
252
+ paper: {
253
+ classes: {
254
+ root: 'search-modal__inner-container',
255
+ },
254
256
  },
255
257
  }}
256
258
  >
@@ -151,11 +151,15 @@ export const ClassMappingSelectorModal = observer(
151
151
  <Dialog
152
152
  open={true}
153
153
  onClose={hideClassMappingSelectorModal}
154
- TransitionProps={{
155
- onEnter: handleEnterClassMappingSelectorModal,
156
- }}
157
154
  classes={{ container: 'search-modal__container' }}
158
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
155
+ slotProps={{
156
+ transition: {
157
+ onEnter: handleEnterClassMappingSelectorModal,
158
+ },
159
+ paper: {
160
+ classes: { root: 'search-modal__inner-container' },
161
+ },
162
+ }}
159
163
  >
160
164
  <Modal
161
165
  className={clsx('search-modal', {
@@ -191,11 +191,15 @@ const CreateTestSuiteModal = observer(
191
191
  <Dialog
192
192
  open={true}
193
193
  onClose={close}
194
- TransitionProps={{
195
- onEnter: handleEnter,
196
- }}
197
194
  classes={{ container: 'search-modal__container' }}
198
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
195
+ slotProps={{
196
+ transition: {
197
+ onEnter: handleEnter,
198
+ },
199
+ paper: {
200
+ classes: { root: 'search-modal__inner-container' },
201
+ },
202
+ }}
199
203
  >
200
204
  <Modal
201
205
  darkMode={
@@ -338,7 +342,11 @@ const CreateTestModal = observer(
338
342
  open={mappingSuiteState.showCreateModal}
339
343
  onClose={close}
340
344
  classes={{ container: 'search-modal__container' }}
341
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
345
+ slotProps={{
346
+ paper: {
347
+ classes: { root: 'search-modal__inner-container' },
348
+ },
349
+ }}
342
350
  >
343
351
  <Modal
344
352
  darkMode={
@@ -521,7 +529,11 @@ const CreateStoreTestDataModal = observer(
521
529
  open={mappingTestableDataState.showNewModal}
522
530
  onClose={close}
523
531
  classes={{ container: 'search-modal__container' }}
524
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
532
+ slotProps={{
533
+ paper: {
534
+ classes: { root: 'search-modal__inner-container' },
535
+ },
536
+ }}
525
537
  >
526
538
  <Modal
527
539
  darkMode={
@@ -210,15 +210,17 @@ export const NewMappingElementModal = observer(() => {
210
210
  <Dialog
211
211
  open={Boolean(spec)}
212
212
  onClose={handleClose}
213
- TransitionProps={{
214
- onEnter: handleEnter,
215
- }}
216
213
  classes={{
217
214
  container: 'search-modal__container',
218
215
  }}
219
- PaperProps={{
220
- classes: {
221
- root: 'search-modal__inner-container',
216
+ slotProps={{
217
+ transition: {
218
+ onEnter: handleEnter,
219
+ },
220
+ paper: {
221
+ classes: {
222
+ root: 'search-modal__inner-container',
223
+ },
222
224
  },
223
225
  }}
224
226
  >
@@ -89,12 +89,14 @@ export const NewServiceModal = observer(
89
89
  <Dialog
90
90
  open={showModal}
91
91
  onClose={close}
92
- TransitionProps={{
93
- onEnter: handleEnter,
94
- }}
95
- PaperProps={{
96
- classes: {
97
- root: 'search-modal__inner-container',
92
+ slotProps={{
93
+ transition: {
94
+ onEnter: handleEnter,
95
+ },
96
+ paper: {
97
+ classes: {
98
+ root: 'search-modal__inner-container',
99
+ },
98
100
  },
99
101
  }}
100
102
  >
@@ -417,7 +417,11 @@ export const ChangeExecutionModal = observer(
417
417
  open={executionState.showChangeExecModal}
418
418
  onClose={closeModal}
419
419
  classes={{ container: 'search-modal__container' }}
420
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
420
+ slotProps={{
421
+ paper: {
422
+ classes: { root: 'search-modal__inner-container' },
423
+ },
424
+ }}
421
425
  >
422
426
  <form
423
427
  onSubmit={(event) => {
@@ -580,7 +584,11 @@ export const NewExecutionParameterModal = observer(
580
584
  open={executionState.newKeyParameterModal}
581
585
  onClose={closeModal}
582
586
  classes={{ container: 'search-modal__container' }}
583
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
587
+ slotProps={{
588
+ paper: {
589
+ classes: { root: 'search-modal__inner-container' },
590
+ },
591
+ }}
584
592
  >
585
593
  <form
586
594
  onSubmit={(event) => {
@@ -634,7 +642,11 @@ const RenameModal = observer(
634
642
  open={showModal}
635
643
  onClose={closeModal}
636
644
  classes={{ container: 'search-modal__container' }}
637
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
645
+ slotProps={{
646
+ paper: {
647
+ classes: { root: 'search-modal__inner-container' },
648
+ },
649
+ }}
638
650
  >
639
651
  <form
640
652
  onSubmit={(event) => {
@@ -385,7 +385,11 @@ export const UseDataElementModal = observer(
385
385
  open={useSharedModal}
386
386
  onClose={closeModal}
387
387
  classes={{ container: 'search-modal__container' }}
388
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
388
+ slotProps={{
389
+ paper: {
390
+ classes: { root: 'search-modal__inner-container' },
391
+ },
392
+ }}
389
393
  >
390
394
  <Modal
391
395
  darkMode={
@@ -795,7 +799,11 @@ export const NewConnectionDataModal = observer(
795
799
  open={newConnectionState.showModal}
796
800
  onClose={closeModal}
797
801
  classes={{ container: 'search-modal__container' }}
798
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
802
+ slotProps={{
803
+ paper: {
804
+ classes: { root: 'search-modal__inner-container' },
805
+ },
806
+ }}
799
807
  >
800
808
  <form
801
809
  onSubmit={(event) => {
@@ -107,7 +107,11 @@ export const NewParameterModal = observer(
107
107
  open={setupState.showNewParameterModal}
108
108
  onClose={closeModal}
109
109
  classes={{ container: 'search-modal__container' }}
110
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
110
+ slotProps={{
111
+ paper: {
112
+ classes: { root: 'search-modal__inner-container' },
113
+ },
114
+ }}
111
115
  >
112
116
  <form
113
117
  onSubmit={(event) => {
@@ -121,7 +121,11 @@ export const SharedDataElementModal = observer(
121
121
  open={true}
122
122
  onClose={close}
123
123
  classes={{ container: 'search-modal__container' }}
124
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
124
+ slotProps={{
125
+ paper: {
126
+ classes: { root: 'search-modal__inner-container' },
127
+ },
128
+ }}
125
129
  >
126
130
  <Modal
127
131
  darkMode={
@@ -193,7 +197,11 @@ export const RenameModal = observer(
193
197
  open={showModal}
194
198
  onClose={closeModal}
195
199
  classes={{ container: 'search-modal__container' }}
196
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
200
+ slotProps={{
201
+ paper: {
202
+ classes: { root: 'search-modal__inner-container' },
203
+ },
204
+ }}
197
205
  >
198
206
  <form
199
207
  onSubmit={(event) => {
@@ -613,8 +621,10 @@ const AssertFailViewer = observer(
613
621
  open={showGenericDiffModal}
614
622
  onClose={() => setShowGenericDiffModal(false)}
615
623
  classes={{ container: 'search-modal__container' }}
616
- PaperProps={{
617
- classes: { root: 'search-modal__inner-container' },
624
+ slotProps={{
625
+ paper: {
626
+ classes: { root: 'search-modal__inner-container' },
627
+ },
618
628
  }}
619
629
  >
620
630
  <Modal
@@ -952,7 +962,11 @@ export const ExternalFormatParameterEditorModal = observer(
952
962
  open={true}
953
963
  onClose={onClose}
954
964
  classes={{ container: 'search-modal__container' }}
955
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
965
+ slotProps={{
966
+ paper: {
967
+ classes: { root: 'search-modal__inner-container' },
968
+ },
969
+ }}
956
970
  >
957
971
  <Modal
958
972
  darkMode={
@@ -239,12 +239,14 @@ export const NewFunctionModal = observer(
239
239
  <Dialog
240
240
  open={showModal}
241
241
  onClose={close}
242
- TransitionProps={{
243
- onEnter: handleEnter,
244
- }}
245
- PaperProps={{
246
- classes: {
247
- root: 'search-modal__inner-container',
242
+ slotProps={{
243
+ transition: {
244
+ onEnter: handleEnter,
245
+ },
246
+ paper: {
247
+ classes: {
248
+ root: 'search-modal__inner-container',
249
+ },
248
250
  },
249
251
  }}
250
252
  >
@@ -660,11 +660,15 @@ export const CreateNewLocalConnectionModal = observer(() => {
660
660
  <Dialog
661
661
  open={newElementState.showModal}
662
662
  onClose={closeModal}
663
- TransitionProps={{
664
- onEnter: handleEnter,
665
- }}
666
663
  classes={{ container: 'search-modal__container' }}
667
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
664
+ slotProps={{
665
+ transition: {
666
+ onEnter: handleEnter,
667
+ },
668
+ paper: {
669
+ classes: { root: 'search-modal__inner-container' },
670
+ },
671
+ }}
668
672
  >
669
673
  <form
670
674
  data-testid={LEGEND_STUDIO_TEST_ID.NEW_ELEMENT_MODAL}
@@ -773,11 +777,15 @@ export const CreateNewElementModal = observer(() => {
773
777
  <Dialog
774
778
  open={newElementState.showModal}
775
779
  onClose={closeModal}
776
- TransitionProps={{
777
- onEnter: handleEnter,
778
- }}
779
780
  classes={{ container: 'search-modal__container' }}
780
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
781
+ slotProps={{
782
+ transition: {
783
+ onEnter: handleEnter,
784
+ },
785
+ paper: {
786
+ classes: { root: 'search-modal__inner-container' },
787
+ },
788
+ }}
781
789
  >
782
790
  <form
783
791
  data-testid={LEGEND_STUDIO_TEST_ID.NEW_ELEMENT_MODAL}
@@ -248,11 +248,15 @@ const ElementRenamer = observer(() => {
248
248
  <Dialog
249
249
  open={Boolean(element)}
250
250
  onClose={abort}
251
- TransitionProps={{
252
- onEnter: onEnter,
251
+ slotProps={{
252
+ transition: {
253
+ onEnter: onEnter,
254
+ },
255
+ paper: {
256
+ classes: { root: 'search-modal__inner-container' },
257
+ },
253
258
  }}
254
259
  classes={{ container: 'search-modal__container' }}
255
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
256
260
  >
257
261
  <form className="modal modal--dark search-modal explorer__element-renamer">
258
262
  <div className="modal__title">Rename Element</div>
@@ -370,11 +374,15 @@ const SampleDataGenerator = observer(() => {
370
374
  <Dialog
371
375
  open={Boolean(selectedClass)}
372
376
  onClose={abort}
373
- TransitionProps={{
374
- onEnter: onEnter,
377
+ slotProps={{
378
+ transition: {
379
+ onEnter: onEnter,
380
+ },
381
+ paper: {
382
+ classes: { root: 'search-modal__inner-container' },
383
+ },
375
384
  }}
376
385
  classes={{ container: 'search-modal__container' }}
377
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
378
386
  >
379
387
  <div className="modal modal--dark search-modal explorer__element-renamer">
380
388
  <div className="modal__title">Generate Sample Data</div>
@@ -107,7 +107,11 @@ export const WorkspaceSyncConflictResolver = observer(() => {
107
107
  open={updateConflictState.showModal}
108
108
  onClose={noop}
109
109
  classes={{ container: 'search-modal__container' }}
110
- PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
110
+ slotProps={{
111
+ paper: {
112
+ classes: { root: 'search-modal__inner-container' },
113
+ },
114
+ }}
111
115
  >
112
116
  <Modal
113
117
  darkMode={