ketcher-react 3.6.0-rc.1 → 3.7.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/cjs/components/Icon/Icon.d.ts +1 -1
  2. package/dist/cjs/components/Icon/types.d.ts +3 -0
  3. package/dist/cjs/components/Icon/utils/iconNameToIcon.d.ts +6 -0
  4. package/dist/cjs/components/StructRender/StructRender.d.ts +1 -1
  5. package/dist/cjs/components/StructRender/types.d.ts +1 -0
  6. package/dist/cjs/index.css +1 -1
  7. package/dist/cjs/index.css.map +1 -1
  8. package/dist/cjs/index.js +2808 -1599
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/{index.modern-4c4698fb.js → index.modern-5eda67eb.js} +891 -169
  11. package/dist/cjs/index.modern-5eda67eb.js.map +1 -0
  12. package/dist/cjs/script/editor/Editor.d.ts +16 -0
  13. package/dist/cjs/script/editor/tool/create-monomer.d.ts +8 -0
  14. package/dist/cjs/script/ui/action/atoms.d.ts +23 -22
  15. package/dist/cjs/script/ui/action/tools.d.ts +8 -0
  16. package/dist/cjs/script/ui/component/form/Select/Select.d.ts +4 -1
  17. package/dist/cjs/script/ui/component/form/buttonlist.d.ts +2 -1
  18. package/dist/cjs/script/ui/state/editor/actions/monomerCreation.d.ts +15 -0
  19. package/dist/cjs/script/ui/state/editor/middlewares/monomerCreation.d.ts +3 -0
  20. package/dist/cjs/script/ui/state/editor/selectors/index.d.ts +2 -0
  21. package/dist/cjs/script/ui/views/components/MonomerCreationWizard/MonomerCreationWizard.d.ts +2 -0
  22. package/dist/cjs/script/ui/views/components/MonomerCreationWizard/MonomerCreationWizard.types.d.ts +50 -0
  23. package/dist/cjs/script/ui/views/components/MonomerCreationWizard/components/AttributeField/AttributeField.d.ts +9 -0
  24. package/dist/cjs/script/ui/views/components/MonomerCreationWizard/components/NaturalAnalogueChip/NaturalAnalogueChip.d.ts +7 -0
  25. package/dist/cjs/script/ui/views/components/MonomerCreationWizard/components/NaturalAnaloguePicker/NaturalAnaloguePicker.d.ts +11 -0
  26. package/dist/cjs/script/ui/views/components/MonomerCreationWizard/components/Notification/Notification.d.ts +10 -0
  27. package/dist/cjs/script/ui/views/modal/components/process/Analyse/components/FrozenInput/FrozenInput.d.ts +2 -1
  28. package/dist/cjs/script/ui/views/toolbars/toolbar.types.d.ts +1 -1
  29. package/dist/components/Icon/Icon.d.ts +1 -1
  30. package/dist/components/Icon/types.d.ts +3 -0
  31. package/dist/components/Icon/utils/iconNameToIcon.d.ts +6 -0
  32. package/dist/components/StructRender/StructRender.d.ts +1 -1
  33. package/dist/components/StructRender/types.d.ts +1 -0
  34. package/dist/index.css +1 -1
  35. package/dist/index.css.map +1 -1
  36. package/dist/index.js +2810 -1601
  37. package/dist/index.js.map +1 -1
  38. package/dist/{index.modern-b7795f49.js → index.modern-eab54238.js} +874 -170
  39. package/dist/index.modern-eab54238.js.map +1 -0
  40. package/dist/script/editor/Editor.d.ts +16 -0
  41. package/dist/script/editor/tool/create-monomer.d.ts +8 -0
  42. package/dist/script/ui/action/atoms.d.ts +23 -22
  43. package/dist/script/ui/action/tools.d.ts +8 -0
  44. package/dist/script/ui/component/form/Select/Select.d.ts +4 -1
  45. package/dist/script/ui/component/form/buttonlist.d.ts +2 -1
  46. package/dist/script/ui/state/editor/actions/monomerCreation.d.ts +15 -0
  47. package/dist/script/ui/state/editor/middlewares/monomerCreation.d.ts +3 -0
  48. package/dist/script/ui/state/editor/selectors/index.d.ts +2 -0
  49. package/dist/script/ui/views/components/MonomerCreationWizard/MonomerCreationWizard.d.ts +2 -0
  50. package/dist/script/ui/views/components/MonomerCreationWizard/MonomerCreationWizard.types.d.ts +50 -0
  51. package/dist/script/ui/views/components/MonomerCreationWizard/components/AttributeField/AttributeField.d.ts +9 -0
  52. package/dist/script/ui/views/components/MonomerCreationWizard/components/NaturalAnalogueChip/NaturalAnalogueChip.d.ts +7 -0
  53. package/dist/script/ui/views/components/MonomerCreationWizard/components/NaturalAnaloguePicker/NaturalAnaloguePicker.d.ts +11 -0
  54. package/dist/script/ui/views/components/MonomerCreationWizard/components/Notification/Notification.d.ts +10 -0
  55. package/dist/script/ui/views/modal/components/process/Analyse/components/FrozenInput/FrozenInput.d.ts +2 -1
  56. package/dist/script/ui/views/toolbars/toolbar.types.d.ts +1 -1
  57. package/package.json +1 -1
  58. package/dist/cjs/index.modern-4c4698fb.js.map +0 -1
  59. package/dist/index.modern-b7795f49.js.map +0 -1
@@ -30,6 +30,10 @@ export interface Selection {
30
30
  rgroupAttachmentPoints?: Array<number>;
31
31
  [MULTITAIL_ARROW_KEY]?: Array<number>;
32
32
  }
33
+ export declare type MonomerCreationState = {
34
+ originalStruct: Struct;
35
+ attachmentAtomIdToLeavingAtomId: Map<number, number>;
36
+ } | null;
33
37
  declare class Editor implements KetcherEditor {
34
38
  #private;
35
39
  ketcherId: string;
@@ -71,6 +75,7 @@ declare class Editor implements KetcherEditor {
71
75
  cursor: Subscription;
72
76
  updateFloatingTools: Subscription<FloatingToolsParams>;
73
77
  };
78
+ private _monomerCreationState;
74
79
  serverSettings: {};
75
80
  lastEvent: any;
76
81
  macromoleculeConvertionError: string | null | undefined;
@@ -93,6 +98,17 @@ declare class Editor implements KetcherEditor {
93
98
  centerViewportAccordingToStruct(struct?: Struct): void;
94
99
  positionStruct(x: number, y: number): void;
95
100
  zoomAccordingContent(struct: Struct): boolean;
101
+ get monomerCreationState(): MonomerCreationState;
102
+ get isMonomerCreationWizardActive(): boolean;
103
+ private singleBondsToOutsideOfSelection;
104
+ get isMonomerCreationWizardEnabled(): boolean;
105
+ static isSelectionContinuous(selection: Selection, struct: Struct): boolean;
106
+ private originalSelection;
107
+ private atomIdsMap;
108
+ private selectionBBox;
109
+ openMonomerCreationWizard(): void;
110
+ closeMonomerCreationWizard(): void;
111
+ saveNewMonomer(data: any): void;
96
112
  selection(ci?: any): Selection | null;
97
113
  hover(ci: {
98
114
  id: number;
@@ -0,0 +1,8 @@
1
+ import { Tool } from './Tool';
2
+ import Editor from '../Editor';
3
+ declare class CreateMonomerTool implements Tool {
4
+ private editor;
5
+ constructor(editor: Editor);
6
+ cancel(): void;
7
+ }
8
+ export default CreateMonomerTool;
@@ -14,27 +14,28 @@
14
14
  * limitations under the License.
15
15
  ***************************************************************************/
16
16
  export const basicAtoms: string[];
17
- export namespace atomCuts {
18
- const H: string;
19
- const C: string;
20
- const N: string;
21
- const O: string;
22
- const S: string;
23
- const P: string;
24
- const F: string;
25
- const Cl: string;
26
- const Br: string;
27
- const I: string;
28
- const A: string;
29
- const Q: string;
30
- const R: string;
31
- const K: string;
32
- const M: string;
33
- const Si: string;
34
- const Na: string;
35
- const X: string;
36
- const D: string;
37
- const B: string;
38
- }
17
+ export const atomCuts: {
18
+ H: string;
19
+ C: string;
20
+ N: string;
21
+ O: string;
22
+ S: string;
23
+ P: string;
24
+ F: string;
25
+ Cl: string;
26
+ Br: string;
27
+ I: string;
28
+ A: string;
29
+ Q: string;
30
+ R: string;
31
+ K: string;
32
+ M: string;
33
+ Si: string;
34
+ Na: string;
35
+ X: string;
36
+ D: string;
37
+ B: string;
38
+ '*': string;
39
+ };
39
40
  declare const _default: {};
40
41
  export default _default;
@@ -320,6 +320,14 @@ declare const _default: {
320
320
  };
321
321
  hidden: (options: any) => boolean;
322
322
  };
323
+ "create-monomer": {
324
+ shortcut: string;
325
+ title: string;
326
+ action: {
327
+ tool: string;
328
+ };
329
+ disabled: (editor: any) => boolean;
330
+ };
323
331
  shapes: {
324
332
  hidden: (options: any) => boolean;
325
333
  };
@@ -13,9 +13,11 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  ***************************************************************************/
16
+ import { ReactNode } from 'react';
16
17
  export interface Option {
17
18
  value: string;
18
19
  label: string;
20
+ children?: ReactNode;
19
21
  }
20
22
  interface Props {
21
23
  options: Array<Option>;
@@ -26,7 +28,8 @@ interface Props {
26
28
  disabled?: boolean;
27
29
  formName?: string;
28
30
  name?: string;
31
+ placeholder?: string;
29
32
  'data-testid'?: string;
30
33
  }
31
- declare const Select: ({ className, value, onChange, multiple, disabled, options, formName, name, "data-testid": testId, }: Props) => import("react/jsx-runtime").JSX.Element;
34
+ declare const Select: ({ className, value, onChange, multiple, disabled, options, formName, name, placeholder, "data-testid": testId, }: Props) => import("react/jsx-runtime").JSX.Element;
32
35
  export default Select;
@@ -1,9 +1,10 @@
1
1
  export default ButtonList;
2
- declare function ButtonList({ value, onChange, schema, disabledIds, multiple, classes, }: {
2
+ declare function ButtonList({ value, onChange, schema, disabledIds, multiple, classes, testId, }: {
3
3
  value: any;
4
4
  onChange: any;
5
5
  schema: any;
6
6
  disabledIds: any;
7
7
  multiple: any;
8
8
  classes: any;
9
+ testId: any;
9
10
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ export declare const MonomerCreationActions: {
2
+ readonly OpenWizard: "MonomerCreation/OpenWizard";
3
+ readonly CloseWizard: "MonomerCreation/CloseWizard";
4
+ readonly SubmitMonomer: "MonomerCreation/SubmitMonomer";
5
+ };
6
+ export declare const openMonomerCreationWizard: () => {
7
+ type: "MonomerCreation/OpenWizard";
8
+ };
9
+ export declare const closeMonomerCreationWizard: () => {
10
+ type: "MonomerCreation/CloseWizard";
11
+ };
12
+ export declare const submitMonomerCreation: (payload: any) => {
13
+ type: "MonomerCreation/SubmitMonomer";
14
+ payload: any;
15
+ };
@@ -0,0 +1,3 @@
1
+ import { Middleware } from 'redux';
2
+ declare const monomerCreationMiddleware: Middleware;
3
+ export default monomerCreationMiddleware;
@@ -13,4 +13,6 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  ***************************************************************************/
16
+ import type { MonomerCreationState } from '../../../../editor/Editor';
16
17
  export declare const editorOptionsSelector: (state: any) => any;
18
+ export declare const editorMonomerCreationStateSelector: (state: any) => MonomerCreationState;
@@ -0,0 +1,2 @@
1
+ declare const MonomerCreationWizard: () => import("react/jsx-runtime").JSX.Element | null;
2
+ export default MonomerCreationWizard;
@@ -0,0 +1,50 @@
1
+ import { KetMonomerClass } from 'application/formatters';
2
+ import { IconName } from 'components';
3
+ export declare type MonomerTypeSelectItem = {
4
+ value: KetMonomerClass;
5
+ label: string;
6
+ iconName: IconName;
7
+ };
8
+ export declare type WizardFormFieldId = 'type' | 'symbol' | 'name' | 'naturalAnalogue';
9
+ export declare type StringWizardFormFieldId = Exclude<WizardFormFieldId, 'type'>;
10
+ export declare type WizardValues = {
11
+ type: KetMonomerClass | undefined;
12
+ } & {
13
+ [key in StringWizardFormFieldId]: string;
14
+ };
15
+ export declare type WizardNotificationType = 'info' | 'error';
16
+ export declare type WizardNotificationId = 'defaultAttachmentPoints' | 'emptyMandatoryFields' | 'invalidSymbol' | 'symbolExists';
17
+ export declare type WizardNotificationMessageMap = Record<WizardNotificationId, string>;
18
+ export declare type WizardNotification = {
19
+ type: WizardNotificationType;
20
+ message: string;
21
+ };
22
+ export declare type WizardErrors = Partial<Record<WizardFormFieldId, boolean>>;
23
+ export declare type WizardNotifications = Map<WizardNotificationId, WizardNotification>;
24
+ export declare type WizardState = {
25
+ values: WizardValues;
26
+ errors: WizardErrors;
27
+ notifications: WizardNotifications;
28
+ };
29
+ export declare type WizardAction = {
30
+ type: 'SetFieldValue';
31
+ fieldId: 'type';
32
+ value: KetMonomerClass;
33
+ } | {
34
+ type: 'SetFieldValue';
35
+ fieldId: StringWizardFormFieldId;
36
+ value: string;
37
+ } | {
38
+ type: 'SetErrors';
39
+ errors: WizardErrors;
40
+ } | {
41
+ type: 'SetNotifications';
42
+ notifications: WizardNotifications;
43
+ } | {
44
+ type: 'RemoveNotification';
45
+ id: WizardNotificationId;
46
+ } | {
47
+ type: 'ResetWizard';
48
+ } | {
49
+ type: 'ResetErrors';
50
+ };
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ declare type Props = {
3
+ title: string;
4
+ control: ReactNode;
5
+ required?: boolean;
6
+ disabled?: boolean;
7
+ };
8
+ declare const AttributeField: ({ title, control, required, disabled }: Props) => import("react/jsx-runtime").JSX.Element;
9
+ export default AttributeField;
@@ -0,0 +1,7 @@
1
+ export declare type Props = {
2
+ label: string;
3
+ color: string;
4
+ className?: string;
5
+ };
6
+ declare const NaturalAnalogueChip: ({ label, color, className }: Props) => import("react/jsx-runtime").JSX.Element;
7
+ export default NaturalAnalogueChip;
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+ import { KetMonomerClass } from 'ketcher-core';
3
+ interface ChipGridSelectProps {
4
+ monomerType: KetMonomerClass | undefined;
5
+ value: string;
6
+ onChange: (value: string) => void;
7
+ className?: string;
8
+ }
9
+ export declare const isNaturalAnalogueRequired: (monomerType: KetMonomerClass | undefined) => boolean;
10
+ declare const NaturalAnaloguePicker: FC<ChipGridSelectProps>;
11
+ export default NaturalAnaloguePicker;
@@ -0,0 +1,10 @@
1
+ import { WizardAction, WizardNotificationId, WizardNotificationType } from '../../MonomerCreationWizard.types';
2
+ import { Dispatch } from 'react';
3
+ declare type Props = {
4
+ id: WizardNotificationId;
5
+ type: WizardNotificationType;
6
+ message: string;
7
+ wizardStateDispatch: Dispatch<WizardAction>;
8
+ };
9
+ declare const Notification: ({ id, type, message, wizardStateDispatch }: Props) => import("react/jsx-runtime").JSX.Element;
10
+ export default Notification;
@@ -14,6 +14,7 @@ export default FrozenInput;
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  ***************************************************************************/
17
- declare function FrozenInput({ value }: {
17
+ declare function FrozenInput({ value, "data-testid": dataTestId }: {
18
18
  value: any;
19
+ "data-testid": any;
19
20
  }): import("react/jsx-runtime").JSX.Element;
@@ -20,7 +20,7 @@ declare type BottomGroup = 'template-common' | 'template-lib';
20
20
  declare type RightGroup = 'atom' | 'period-table';
21
21
  declare type ToolbarGroupVariant = TopGroup | LeftGroup | BottomGroup | RightGroup;
22
22
  declare type TopToolbarItemVariant = 'clear' | 'open' | 'save' | 'undo' | 'redo' | 'cut' | 'copies' | 'copy' | 'copy-image' | 'copy-mol' | 'copy-ket' | 'paste' | 'zoom-in' | 'zoom-out' | 'zoom-list' | 'layout' | 'clean' | 'arom' | 'dearom' | 'cip' | 'check' | 'analyse' | 'recognize' | 'miew' | 'settings' | 'help' | 'about';
23
- declare type LeftToolbarItemVariant = 'hand' | 'select' | 'select-lasso' | 'select-rectangle' | 'select-fragment' | 'erase' | 'bonds' | 'bond-common' | 'bond-single' | 'bond-double' | 'bond-triple' | 'bond-dative' | 'bond-stereo' | 'bond-up' | 'bond-down' | 'bond-updown' | 'bond-crossed' | 'bond-query' | 'bond-special' | 'bond-any' | 'bond-hydrogen' | 'bond-aromatic' | 'bond-singledouble' | 'bond-singlearomatic' | 'bond-doublearomatic' | 'chain' | 'charge-plus' | 'charge-minus' | 'sgroup' | 'reaction-plus' | 'arrows' | 'reaction-arrow-open-angle' | 'reaction-arrow-filled-triangle' | 'reaction-arrow-filled-bow' | 'reaction-arrow-dashed-open-angle' | 'reaction-arrow-failed' | 'reaction-arrow-retrosynthetic' | 'reaction-arrow-both-ends-filled-triangle' | 'reaction-arrow-equilibrium-filled-half-bow' | 'reaction-arrow-equilibrium-filled-triangle' | 'reaction-arrow-equilibrium-open-angle' | 'reaction-arrow-unbalanced-equilibrium-filled-half-bow' | 'reaction-arrow-unbalanced-equilibrium-open-half-angle' | 'reaction-arrow-unbalanced-equilibrium-large-filled-half-bow' | 'reaction-arrow-unbalanced-equilibrium-filled-half-triangle' | 'reaction-arrow-elliptical-arc-arrow-filled-bow' | 'reaction-arrow-elliptical-arc-arrow-filled-triangle' | 'reaction-arrow-elliptical-arc-arrow-open-angle' | 'reaction-arrow-elliptical-arc-arrow-open-half-angle' | typeof MULTITAIL_ARROW_TOOL_NAME | 'reaction-mapping-tools' | 'reaction-automap' | 'reaction-map' | 'reaction-unmap' | 'rgroup' | 'rgroup-label' | 'rgroup-fragment' | 'rgroup-attpoints' | 'shapes' | 'shape-ellipse' | 'shape-rectangle' | 'shape-line' | 'text' | typeof IMAGE_KEY;
23
+ declare type LeftToolbarItemVariant = 'hand' | 'select' | 'select-lasso' | 'select-rectangle' | 'select-fragment' | 'erase' | 'bonds' | 'bond-common' | 'bond-single' | 'bond-double' | 'bond-triple' | 'bond-dative' | 'bond-stereo' | 'bond-up' | 'bond-down' | 'bond-updown' | 'bond-crossed' | 'bond-query' | 'bond-special' | 'bond-any' | 'bond-hydrogen' | 'bond-aromatic' | 'bond-singledouble' | 'bond-singlearomatic' | 'bond-doublearomatic' | 'chain' | 'charge-plus' | 'charge-minus' | 'sgroup' | 'reaction-plus' | 'arrows' | 'reaction-arrow-open-angle' | 'reaction-arrow-filled-triangle' | 'reaction-arrow-filled-bow' | 'reaction-arrow-dashed-open-angle' | 'reaction-arrow-failed' | 'reaction-arrow-retrosynthetic' | 'reaction-arrow-both-ends-filled-triangle' | 'reaction-arrow-equilibrium-filled-half-bow' | 'reaction-arrow-equilibrium-filled-triangle' | 'reaction-arrow-equilibrium-open-angle' | 'reaction-arrow-unbalanced-equilibrium-filled-half-bow' | 'reaction-arrow-unbalanced-equilibrium-open-half-angle' | 'reaction-arrow-unbalanced-equilibrium-large-filled-half-bow' | 'reaction-arrow-unbalanced-equilibrium-filled-half-triangle' | 'reaction-arrow-elliptical-arc-arrow-filled-bow' | 'reaction-arrow-elliptical-arc-arrow-filled-triangle' | 'reaction-arrow-elliptical-arc-arrow-open-angle' | 'reaction-arrow-elliptical-arc-arrow-open-half-angle' | typeof MULTITAIL_ARROW_TOOL_NAME | 'reaction-mapping-tools' | 'reaction-automap' | 'reaction-map' | 'reaction-unmap' | 'rgroup' | 'rgroup-label' | 'rgroup-fragment' | 'rgroup-attpoints' | 'create-monomer' | 'shapes' | 'shape-ellipse' | 'shape-rectangle' | 'shape-line' | 'text' | typeof IMAGE_KEY;
24
24
  declare type BottomToolbarItemVariant = 'template-common' | 'template-lib' | 'enhanced-stereo' | 'fullscreen';
25
25
  declare type RightToolbarItemVariant = 'atom' | 'freq-atoms' | 'period-table' | 'extended-table' | 'any-atom';
26
26
  declare type FloatingToolItemVariant = 'transform-flip-h' | 'transform-flip-v' | 'erase';
@@ -14,5 +14,5 @@
14
14
  * limitations under the License.
15
15
  ***************************************************************************/
16
16
  import { IIconProps } from './types';
17
- declare const Icon: ({ name, className, title, onClick, dataTestId }: IIconProps) => import("react/jsx-runtime").JSX.Element;
17
+ declare const Icon: ({ name, className, title, onClick, onMouseOver, onMouseOut, onDoubleClick, dataTestId, }: IIconProps) => import("react/jsx-runtime").JSX.Element;
18
18
  export default Icon;
@@ -24,5 +24,8 @@ export interface IIconProps {
24
24
  className?: string;
25
25
  title?: string;
26
26
  onClick?: (e: MouseEvent) => void;
27
+ onMouseOver?: (e: MouseEvent) => void;
28
+ onMouseOut?: (e: MouseEvent) => void;
29
+ onDoubleClick?: (e: MouseEvent) => void;
27
30
  dataTestId?: string;
28
31
  }
@@ -228,6 +228,8 @@ export declare const iconNameToIcon: {
228
228
  readonly phosphate: ReactComponent;
229
229
  readonly preset: ReactComponent;
230
230
  readonly nucleotide: ReactComponent;
231
+ readonly peptide: ReactComponent;
232
+ readonly chem: ReactComponent;
231
233
  readonly 'edit-filled': ReactComponent;
232
234
  readonly 'vertical-dots': ReactComponent;
233
235
  readonly expand: ReactComponent;
@@ -243,4 +245,8 @@ export declare const iconNameToIcon: {
243
245
  readonly antisenseStrand: ReactComponent;
244
246
  readonly antisenseRnaStrand: ReactComponent;
245
247
  readonly antisenseDnaStrand: ReactComponent;
248
+ readonly 'monomer-autochain': ReactComponent;
249
+ readonly "create-monomer": ReactComponent;
250
+ readonly checkFilled: ReactComponent;
251
+ readonly warningFilled: ReactComponent;
246
252
  };
@@ -14,5 +14,5 @@
14
14
  * limitations under the License.
15
15
  ***************************************************************************/
16
16
  import { IStructRenderProps } from './types';
17
- declare const StructRender: ({ struct, options, className, fullsize, update, }: IStructRenderProps) => import("react/jsx-runtime").JSX.Element;
17
+ declare const StructRender: ({ struct, options, className, fullsize, update, testId, }: IStructRenderProps) => import("react/jsx-runtime").JSX.Element;
18
18
  export default StructRender;
@@ -24,5 +24,6 @@ export interface IStructRenderProps {
24
24
  className?: string;
25
25
  update?: boolean;
26
26
  fullsize?: boolean;
27
+ testId?: string;
27
28
  }
28
29
  export {};