@gridsuite/commons-ui 0.283.0 → 0.285.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 (92) hide show
  1. package/dist/components/ui/reactHookForm/utils/HelperPreviousValue.js +1 -1
  2. package/dist/features/index.js +51 -7
  3. package/dist/features/network-modification-table/index.js +3 -1
  4. package/dist/features/network-modification-table/network-modifications-table.d.ts +3 -5
  5. package/dist/features/network-modification-table/network-modifications-table.js +13 -7
  6. package/dist/features/network-modification-table/renderers/cell-renderers.js +3 -3
  7. package/dist/features/network-modification-table/renderers/name-cell.js +5 -2
  8. package/dist/features/network-modification-table/renderers/root-network-chip-cell.d.ts +3 -3
  9. package/dist/features/network-modification-table/renderers/root-network-chip-cell.js +24 -49
  10. package/dist/features/network-modification-table/row/drag-row-clone.js +5 -1
  11. package/dist/features/network-modification-table/utils.d.ts +12 -1
  12. package/dist/features/network-modification-table/utils.js +29 -0
  13. package/dist/features/network-modifications/battery/modification/BatteryDialogTabsContent.d.ts +2 -2
  14. package/dist/features/network-modifications/common/index.js +2 -5
  15. package/dist/features/network-modifications/common/measurements/PowerMeasurementsForm.js +3 -9
  16. package/dist/features/network-modifications/common/measurements/branchActiveReactivePowerForm.utils.d.ts +4 -17
  17. package/dist/features/network-modifications/common/measurements/branchActiveReactivePowerForm.utils.js +0 -8
  18. package/dist/features/network-modifications/common/measurements/index.js +1 -2
  19. package/dist/features/network-modifications/common/measurements/injectionActiveReactivePowerForm.utils.d.ts +6 -9
  20. package/dist/features/network-modifications/common/measurements/measurement.type.d.ts +7 -1
  21. package/dist/features/network-modifications/common/measurements/powerWithValidity.utils.d.ts +3 -3
  22. package/dist/features/network-modifications/common/reactiveLimits/index.js +1 -3
  23. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/index.js +1 -3
  24. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.d.ts +0 -4
  25. package/dist/features/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js +0 -8
  26. package/dist/features/network-modifications/common/reactiveLimits/reactiveLimits.type.d.ts +1 -0
  27. package/dist/features/network-modifications/generator/modification/GeneratorDialogTabsContent.d.ts +2 -2
  28. package/dist/features/network-modifications/hvdcLine/index.d.ts +7 -0
  29. package/dist/features/network-modifications/hvdcLine/index.js +47 -0
  30. package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/VscHvdcLineCharacteristicsPane.d.ts +8 -0
  31. package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/VscHvdcLineCharacteristicsPane.js +235 -0
  32. package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/index.d.ts +8 -0
  33. package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/index.js +11 -0
  34. package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/vscHvdcLineCharacteristicsPane.utils.d.ts +67 -0
  35. package/dist/features/network-modifications/hvdcLine/vsc/common/characteristics/vscHvdcLineCharacteristicsPane.utils.js +106 -0
  36. package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/VscConverterStationPane.d.ts +12 -0
  37. package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/VscConverterStationPane.js +198 -0
  38. package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/index.d.ts +8 -0
  39. package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/index.js +13 -0
  40. package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/vscConverterStationPane.utils.d.ts +156 -0
  41. package/dist/features/network-modifications/hvdcLine/vsc/common/converterStation/vscConverterStationPane.utils.js +199 -0
  42. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogHeader.d.ts +6 -0
  43. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogHeader.js +106 -0
  44. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabs.d.ts +9 -0
  45. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabs.js +129 -0
  46. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabsContent.d.ts +10 -0
  47. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineDialogTabsContent.js +139 -0
  48. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineForm.d.ts +11 -0
  49. package/dist/features/network-modifications/hvdcLine/vsc/common/form/VscHvdcLineForm.js +43 -0
  50. package/dist/features/network-modifications/hvdcLine/vsc/common/form/index.d.ts +11 -0
  51. package/dist/features/network-modifications/hvdcLine/vsc/common/form/index.js +13 -0
  52. package/dist/features/network-modifications/hvdcLine/vsc/common/form/vscHvdcLine.utils.d.ts +8 -0
  53. package/dist/features/network-modifications/hvdcLine/vsc/common/form/vscHvdcLine.utils.js +34 -0
  54. package/dist/features/network-modifications/hvdcLine/vsc/common/index.d.ts +10 -0
  55. package/dist/features/network-modifications/hvdcLine/vsc/common/index.js +36 -0
  56. package/dist/features/network-modifications/hvdcLine/vsc/common/vscHvdcLine.types.d.ts +52 -0
  57. package/dist/features/network-modifications/hvdcLine/vsc/common/vscHvdcLine.types.js +25 -0
  58. package/dist/features/network-modifications/hvdcLine/vsc/creation/index.d.ts +8 -0
  59. package/dist/features/network-modifications/hvdcLine/vsc/creation/index.js +7 -0
  60. package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.types.d.ts +45 -0
  61. package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.types.js +1 -0
  62. package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.utils.d.ts +159 -0
  63. package/dist/features/network-modifications/hvdcLine/vsc/creation/vscHvdcLineCreation.utils.js +88 -0
  64. package/dist/features/network-modifications/hvdcLine/vsc/index.d.ts +9 -0
  65. package/dist/features/network-modifications/hvdcLine/vsc/index.js +47 -0
  66. package/dist/features/network-modifications/hvdcLine/vsc/modification/index.d.ts +8 -0
  67. package/dist/features/network-modifications/hvdcLine/vsc/modification/index.js +8 -0
  68. package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.types.d.ts +49 -0
  69. package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.types.js +1 -0
  70. package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.utils.d.ts +230 -0
  71. package/dist/features/network-modifications/hvdcLine/vsc/modification/vscHvdcLineModification.utils.js +145 -0
  72. package/dist/features/network-modifications/index.d.ts +1 -0
  73. package/dist/features/network-modifications/index.js +48 -6
  74. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-dialog-tabs.js +3 -3
  75. package/dist/features/topBar/UserInformationDialog.js +15 -15
  76. package/dist/hooks/useModificationLabelComputer.js +7 -5
  77. package/dist/index.js +51 -7
  78. package/dist/services/networkModification.d.ts +1 -1
  79. package/dist/services/networkModification.js +2 -2
  80. package/dist/translations/en/networkModificationsEn.d.ts +23 -4
  81. package/dist/translations/en/networkModificationsEn.js +23 -4
  82. package/dist/translations/en/topBarEn.d.ts +13 -13
  83. package/dist/translations/en/topBarEn.js +13 -13
  84. package/dist/translations/fr/networkModificationsFr.d.ts +23 -4
  85. package/dist/translations/fr/networkModificationsFr.js +23 -4
  86. package/dist/translations/fr/topBarFr.d.ts +13 -13
  87. package/dist/translations/fr/topBarFr.js +13 -13
  88. package/dist/utils/constants/fieldConstants.d.ts +15 -0
  89. package/dist/utils/constants/fieldConstants.js +15 -0
  90. package/dist/utils/types/network-modification-metadata.d.ts +1 -0
  91. package/dist/utils/types/network-modification-types.d.ts +5 -4
  92. package/package.json +1 -1
@@ -0,0 +1,199 @@
1
+ import { object, number, boolean, string } from "yup";
2
+ import { FieldConstants } from "../../../../../../utils/constants/fieldConstants.js";
3
+ import { MUST_BE_GREATER_OR_EQUAL_TO_ZERO, NORMALIZED_PERCENTAGE } from "../../../../../../utils/constants/translationKeys.js";
4
+ import { toModificationOperation } from "../../../../../../utils/conversionUtils.js";
5
+ import { UNDEFINED_CONNECTION_DIRECTION } from "../../../../../../utils/types/equipmentType.js";
6
+ import { ModificationType } from "../../../../../../utils/types/modificationType.js";
7
+ import "react/jsx-runtime";
8
+ import "@mui/icons-material";
9
+ import { sanitizeString } from "../../../../../../utils/ts-utils.js";
10
+ import { getReactiveLimitsValidationSchema, getReactiveLimitsEmptyFormDataProps, getReactiveLimitsFormDataProps } from "../../../../common/reactiveLimits/reactiveLimits.utils.js";
11
+ import { getConnectivityWithPositionSchema, getConnectivityWithPositionEmptyFormDataProps, getConnectivityFormDataProps } from "../../../../common/connectivity/connectivityForm.utils.js";
12
+ import { getInjectionActiveReactivePowerEmptyFormDataProperties } from "../../../../common/measurements/injectionActiveReactivePowerForm.utils.js";
13
+ const getVscConverterStationCreationSchema = () => object().shape({
14
+ [FieldConstants.CONVERTER_STATION_ID]: string().nullable().required(),
15
+ [FieldConstants.CONVERTER_STATION_NAME]: string().nullable(),
16
+ [FieldConstants.LOSS_FACTOR]: number().nullable().required().min(0, NORMALIZED_PERCENTAGE).max(100, NORMALIZED_PERCENTAGE),
17
+ [FieldConstants.VOLTAGE_REGULATION_ON]: boolean(),
18
+ [FieldConstants.REACTIVE_POWER]: number().nullable().default(null).when([FieldConstants.VOLTAGE_REGULATION_ON], {
19
+ is: false,
20
+ then: (schema) => schema.required()
21
+ }),
22
+ [FieldConstants.VOLTAGE]: number().nullable().default(null).min(0, MUST_BE_GREATER_OR_EQUAL_TO_ZERO).when([FieldConstants.VOLTAGE_REGULATION_ON], {
23
+ is: true,
24
+ then: (schema) => schema.required()
25
+ }),
26
+ [FieldConstants.CONNECTIVITY]: getConnectivityWithPositionSchema(),
27
+ [FieldConstants.REACTIVE_LIMITS]: getReactiveLimitsValidationSchema(false, true)
28
+ });
29
+ const getVscConverterStationModificationSchema = () => object().shape({
30
+ [FieldConstants.CONVERTER_STATION_ID]: string(),
31
+ [FieldConstants.CONVERTER_STATION_NAME]: string().nullable(),
32
+ [FieldConstants.LOSS_FACTOR]: number().nullable().min(0, NORMALIZED_PERCENTAGE).max(100, NORMALIZED_PERCENTAGE),
33
+ [FieldConstants.VOLTAGE_REGULATION_ON]: boolean().nullable(),
34
+ [FieldConstants.REACTIVE_POWER]: number().nullable(),
35
+ [FieldConstants.VOLTAGE]: number().nullable().min(0, MUST_BE_GREATER_OR_EQUAL_TO_ZERO),
36
+ [FieldConstants.CONNECTIVITY]: getConnectivityWithPositionSchema(true),
37
+ [FieldConstants.REACTIVE_LIMITS]: getReactiveLimitsValidationSchema(true)
38
+ });
39
+ function getVscConverterStationEmptyFormData(isModification = false) {
40
+ return {
41
+ [FieldConstants.CONVERTER_STATION_ID]: isModification ? "" : null,
42
+ [FieldConstants.CONVERTER_STATION_NAME]: isModification ? "" : null,
43
+ [FieldConstants.LOSS_FACTOR]: null,
44
+ [FieldConstants.REACTIVE_POWER]: null,
45
+ [FieldConstants.VOLTAGE_REGULATION_ON]: isModification ? null : false,
46
+ [FieldConstants.VOLTAGE]: null,
47
+ [FieldConstants.CONNECTIVITY]: getConnectivityWithPositionEmptyFormDataProps(isModification),
48
+ [FieldConstants.REACTIVE_LIMITS]: getReactiveLimitsEmptyFormDataProps(),
49
+ [FieldConstants.STATE_ESTIMATION]: isModification ? getInjectionActiveReactivePowerEmptyFormDataProperties() : null
50
+ };
51
+ }
52
+ function converterStationCreationFormToDto(formData) {
53
+ const reactiveLimits = formData[FieldConstants.REACTIVE_LIMITS];
54
+ const isReactiveCapabilityCurveOn = reactiveLimits[FieldConstants.REACTIVE_CAPABILITY_CURVE_CHOICE] === "CURVE";
55
+ return {
56
+ type: ModificationType.CONVERTER_STATION_CREATION,
57
+ equipmentId: formData[FieldConstants.CONVERTER_STATION_ID],
58
+ equipmentName: formData[FieldConstants.CONVERTER_STATION_NAME] ?? null,
59
+ lossFactor: formData[FieldConstants.LOSS_FACTOR],
60
+ reactivePowerSetpoint: formData[FieldConstants.REACTIVE_POWER],
61
+ voltageRegulationOn: formData[FieldConstants.VOLTAGE_REGULATION_ON],
62
+ voltageSetpoint: formData[FieldConstants.VOLTAGE],
63
+ voltageLevelId: formData[FieldConstants.CONNECTIVITY]?.[FieldConstants.VOLTAGE_LEVEL]?.[FieldConstants.ID] ?? "",
64
+ busOrBusbarSectionId: formData[FieldConstants.CONNECTIVITY]?.[FieldConstants.BUS_OR_BUSBAR_SECTION]?.[FieldConstants.ID] ?? "",
65
+ connectionName: sanitizeString(formData[FieldConstants.CONNECTIVITY]?.[FieldConstants.CONNECTION_NAME]),
66
+ connectionDirection: formData[FieldConstants.CONNECTIVITY]?.[FieldConstants.CONNECTION_DIRECTION] ?? UNDEFINED_CONNECTION_DIRECTION,
67
+ connectionPosition: formData[FieldConstants.CONNECTIVITY]?.[FieldConstants.CONNECTION_POSITION],
68
+ terminalConnected: formData[FieldConstants.CONNECTIVITY]?.[FieldConstants.CONNECTED],
69
+ reactiveCapabilityCurve: isReactiveCapabilityCurveOn,
70
+ minQ: isReactiveCapabilityCurveOn ? null : reactiveLimits[FieldConstants.MINIMUM_REACTIVE_POWER] ?? null,
71
+ maxQ: isReactiveCapabilityCurveOn ? null : reactiveLimits[FieldConstants.MAXIMUM_REACTIVE_POWER] ?? null,
72
+ reactiveCapabilityCurvePoints: isReactiveCapabilityCurveOn ? reactiveLimits[FieldConstants.REACTIVE_CAPABILITY_CURVE_TABLE] ?? [] : []
73
+ };
74
+ }
75
+ function getConverterStationReactiveLimits(converterStation) {
76
+ return converterStation.reactiveCapabilityCurve ? getReactiveLimitsFormDataProps({
77
+ reactiveCapabilityCurveChoice: "CURVE",
78
+ minimumReactivePower: null,
79
+ maximumReactivePower: null,
80
+ reactiveCapabilityCurvePoints: converterStation.reactiveCapabilityCurvePoints
81
+ }) : getReactiveLimitsFormDataProps({
82
+ reactiveCapabilityCurveChoice: "MINMAX",
83
+ minimumReactivePower: converterStation.minQ,
84
+ maximumReactivePower: converterStation.maxQ,
85
+ reactiveCapabilityCurvePoints: converterStation?.reactiveCapabilityCurvePoints ?? null
86
+ });
87
+ }
88
+ function converterStationCreationDtoToForm(dto) {
89
+ return {
90
+ [FieldConstants.CONVERTER_STATION_ID]: dto?.equipmentId,
91
+ [FieldConstants.CONVERTER_STATION_NAME]: dto?.equipmentName ?? "",
92
+ [FieldConstants.LOSS_FACTOR]: dto?.lossFactor ?? 0,
93
+ [FieldConstants.REACTIVE_POWER]: dto?.reactivePowerSetpoint,
94
+ [FieldConstants.VOLTAGE_REGULATION_ON]: dto?.voltageRegulationOn,
95
+ [FieldConstants.VOLTAGE]: dto?.voltageSetpoint,
96
+ [FieldConstants.CONNECTIVITY]: getConnectivityFormDataProps({
97
+ voltageLevelId: dto.voltageLevelId,
98
+ busbarSectionId: dto.busOrBusbarSectionId,
99
+ connectionDirection: dto.connectionDirection,
100
+ connectionName: dto.connectionName,
101
+ connectionPosition: dto.connectionPosition,
102
+ terminalConnected: dto.terminalConnected
103
+ }),
104
+ [FieldConstants.REACTIVE_LIMITS]: getConverterStationReactiveLimits(dto)
105
+ };
106
+ }
107
+ function converterStationCreationFromCopy(converterStation) {
108
+ return {
109
+ [FieldConstants.CONVERTER_STATION_ID]: `${converterStation?.id}(1)`,
110
+ [FieldConstants.CONVERTER_STATION_NAME]: converterStation?.name ?? "",
111
+ [FieldConstants.LOSS_FACTOR]: converterStation?.lossFactor ?? 0,
112
+ [FieldConstants.REACTIVE_POWER]: converterStation?.reactivePowerSetpoint ?? null,
113
+ [FieldConstants.VOLTAGE_REGULATION_ON]: converterStation?.voltageRegulatorOn,
114
+ [FieldConstants.VOLTAGE]: converterStation?.voltageSetpoint ?? null,
115
+ [FieldConstants.CONNECTIVITY]: getConnectivityFormDataProps({
116
+ voltageLevelId: converterStation?.voltageLevelId,
117
+ busbarSectionId: converterStation?.busOrBusbarSectionId,
118
+ connectionDirection: converterStation?.connectablePosition?.connectionDirection,
119
+ connectionName: converterStation?.connectablePosition?.connectionName,
120
+ connectionPosition: null,
121
+ terminalConnected: true
122
+ }),
123
+ [FieldConstants.REACTIVE_LIMITS]: getReactiveLimitsFormDataProps({
124
+ reactiveCapabilityCurveChoice: converterStation?.minMaxReactiveLimits ? "MINMAX" : "CURVE",
125
+ minimumReactivePower: converterStation?.minMaxReactiveLimits?.minQ,
126
+ maximumReactivePower: converterStation?.minMaxReactiveLimits?.maxQ,
127
+ reactiveCapabilityCurvePoints: converterStation?.reactiveCapabilityCurvePoints ?? null
128
+ })
129
+ };
130
+ }
131
+ function converterStationModificationFormToDto(formData, measurementData) {
132
+ const reactiveLimits = formData[FieldConstants.REACTIVE_LIMITS];
133
+ const connectivity = formData[FieldConstants.CONNECTIVITY];
134
+ const isReactiveCapabilityCurveOn = reactiveLimits[FieldConstants.REACTIVE_CAPABILITY_CURVE_CHOICE] === "CURVE";
135
+ return {
136
+ type: ModificationType.CONVERTER_STATION_MODIFICATION,
137
+ equipmentId: formData[FieldConstants.CONVERTER_STATION_ID] ?? "",
138
+ equipmentName: toModificationOperation(formData[FieldConstants.CONVERTER_STATION_NAME]),
139
+ voltageLevelId: toModificationOperation(connectivity?.[FieldConstants.VOLTAGE_LEVEL]?.[FieldConstants.ID]),
140
+ busOrBusbarSectionId: toModificationOperation(
141
+ connectivity?.[FieldConstants.BUS_OR_BUSBAR_SECTION]?.[FieldConstants.ID]
142
+ ),
143
+ connectionName: toModificationOperation(connectivity?.[FieldConstants.CONNECTION_NAME]),
144
+ connectionDirection: toModificationOperation(connectivity?.[FieldConstants.CONNECTION_DIRECTION]),
145
+ connectionPosition: toModificationOperation(connectivity?.[FieldConstants.CONNECTION_POSITION]),
146
+ terminalConnected: toModificationOperation(connectivity?.[FieldConstants.CONNECTED]),
147
+ pMeasurementValue: toModificationOperation(measurementData?.[FieldConstants.MEASUREMENT_P]?.value),
148
+ pMeasurementValidity: toModificationOperation(measurementData?.[FieldConstants.MEASUREMENT_P]?.validity),
149
+ qMeasurementValue: toModificationOperation(measurementData?.[FieldConstants.MEASUREMENT_Q]?.value),
150
+ qMeasurementValidity: toModificationOperation(measurementData?.[FieldConstants.MEASUREMENT_Q]?.validity),
151
+ lossFactor: toModificationOperation(formData[FieldConstants.LOSS_FACTOR]),
152
+ reactivePowerSetpoint: toModificationOperation(formData[FieldConstants.REACTIVE_POWER]),
153
+ voltageRegulationOn: toModificationOperation(formData[FieldConstants.VOLTAGE_REGULATION_ON]),
154
+ voltageSetpoint: toModificationOperation(formData[FieldConstants.VOLTAGE]),
155
+ reactiveCapabilityCurve: toModificationOperation(isReactiveCapabilityCurveOn),
156
+ minQ: toModificationOperation(
157
+ isReactiveCapabilityCurveOn ? null : reactiveLimits[FieldConstants.MINIMUM_REACTIVE_POWER]
158
+ ),
159
+ maxQ: toModificationOperation(
160
+ isReactiveCapabilityCurveOn ? null : reactiveLimits[FieldConstants.MAXIMUM_REACTIVE_POWER]
161
+ ),
162
+ reactiveCapabilityCurvePoints: isReactiveCapabilityCurveOn ? reactiveLimits[FieldConstants.REACTIVE_CAPABILITY_CURVE_TABLE] ?? [] : []
163
+ };
164
+ }
165
+ function converterStationModificationDtoToForm(dto) {
166
+ return {
167
+ [FieldConstants.CONVERTER_STATION_ID]: dto?.equipmentId,
168
+ [FieldConstants.CONVERTER_STATION_NAME]: dto?.equipmentName?.value ?? "",
169
+ [FieldConstants.LOSS_FACTOR]: dto?.lossFactor?.value ?? null,
170
+ [FieldConstants.REACTIVE_POWER]: dto?.reactivePowerSetpoint?.value ?? null,
171
+ [FieldConstants.VOLTAGE_REGULATION_ON]: dto?.voltageRegulationOn?.value ?? null,
172
+ [FieldConstants.VOLTAGE]: dto?.voltageSetpoint?.value ?? null,
173
+ [FieldConstants.CONNECTIVITY]: getConnectivityFormDataProps({
174
+ voltageLevelId: dto?.voltageLevelId?.value ?? null,
175
+ busbarSectionId: dto?.busOrBusbarSectionId?.value ?? null,
176
+ connectionName: dto?.connectionName?.value ?? null,
177
+ connectionDirection: dto?.connectionDirection?.value ?? null,
178
+ connectionPosition: dto?.connectionPosition?.value ?? null,
179
+ terminalConnected: dto?.terminalConnected?.value ?? null,
180
+ isEquipmentModification: true
181
+ }),
182
+ [FieldConstants.REACTIVE_LIMITS]: getReactiveLimitsFormDataProps({
183
+ reactiveCapabilityCurveChoice: dto?.reactiveCapabilityCurve?.value ? "CURVE" : "MINMAX",
184
+ maximumReactivePower: dto?.maxQ?.value ?? null,
185
+ minimumReactivePower: dto?.minQ?.value ?? null,
186
+ reactiveCapabilityCurvePoints: dto?.reactiveCapabilityCurvePoints ?? null
187
+ })
188
+ };
189
+ }
190
+ export {
191
+ converterStationCreationDtoToForm,
192
+ converterStationCreationFormToDto,
193
+ converterStationCreationFromCopy,
194
+ converterStationModificationDtoToForm,
195
+ converterStationModificationFormToDto,
196
+ getVscConverterStationCreationSchema,
197
+ getVscConverterStationEmptyFormData,
198
+ getVscConverterStationModificationSchema
199
+ };
@@ -0,0 +1,6 @@
1
+ import { VscHvdcLineInfo } from '../vscHvdcLine.types';
2
+ export interface VscHvdcLineDialogHeaderProps {
3
+ hvdcLineToModify?: VscHvdcLineInfo | null;
4
+ isModification?: boolean;
5
+ }
6
+ export declare function VscHvdcLineDialogHeader({ hvdcLineToModify, isModification, }: Readonly<VscHvdcLineDialogHeaderProps>): import("react").JSX.Element;
@@ -0,0 +1,106 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { TextField, Grid } from "@mui/material";
3
+ import { useWatch } from "react-hook-form";
4
+ import { FieldConstants } from "../../../../../../utils/constants/fieldConstants.js";
5
+ import "../../../../../../utils/conversionUtils.js";
6
+ import "../../../../../../utils/types/equipmentType.js";
7
+ import "@mui/icons-material";
8
+ import { filledTextField } from "../../../../common/form.utils.js";
9
+ import "react";
10
+ import "../../../../common/properties/propertyUtils.js";
11
+ import "react-intl";
12
+ import "../../../../../../components/ui/overflowableText/OverflowableText.js";
13
+ import "localized-countries";
14
+ import "localized-countries/data/fr";
15
+ import "localized-countries/data/en";
16
+ import "notistack";
17
+ import "../../../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
18
+ import "yup";
19
+ import "../../../../../../components/ui/treeViewFinder/TreeViewFinder.js";
20
+ import { TextInput } from "../../../../../../components/ui/reactHookForm/text/TextInput.js";
21
+ import "../../../../../../components/ui/reactHookForm/numbers/RangeInput.js";
22
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
23
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
24
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
25
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
26
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
27
+ import "../../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
28
+ import "../../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
29
+ import "../../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
30
+ import "@hello-pangea/dnd";
31
+ import "../../../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
32
+ import "../../../../../../components/ui/snackbarProvider/SnackbarProvider.js";
33
+ import "mui-nested-menu";
34
+ import "react-resizable-panels";
35
+ import "react-papaparse";
36
+ import "react-dom";
37
+ import "autosuggest-highlight/match";
38
+ import "autosuggest-highlight/parse";
39
+ import "clsx";
40
+ import "../../../../../../components/composite/filter/FilterCreationDialog.js";
41
+ import "../../../../../../components/composite/filter/HeaderFilterForm.js";
42
+ import "../../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
43
+ import "../../../../../../components/composite/filter/expert/ExpertFilterForm.js";
44
+ import "../../../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
45
+ import "../../../../../../components/composite/filter/expert/expertFilterConstants.js";
46
+ import "react-querybuilder";
47
+ import "uuid";
48
+ import "../../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
49
+ import "../../../../../../components/composite/filter/utils/filterFormUtils.js";
50
+ import { GridItem } from "../../../../../../components/composite/grid/grid-item.js";
51
+ import "@react-querybuilder/material";
52
+ import "../../../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
53
+ import "../../../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
54
+ import "../../../../../../components/composite/agGridTable/BottomTableButtons.js";
55
+ import "../../../../../../components/composite/agGridTable/CustomAgGridTable.js";
56
+ import "ag-grid-community";
57
+ import "../../../../../../components/composite/customAGGrid/customAggrid.js";
58
+ import "../../../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
59
+ import "mathjs";
60
+ import "../../../../../../components/composite/report/report-viewer/log-table/log-table.js";
61
+ import "react-window";
62
+ import "../../../../../../components/composite/report/report-treeview/treeview-item.js";
63
+ import "../../../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
64
+ import "../../../../common/regulatingTerminal/RegulatingTerminalForm.js";
65
+ import "@mui/material/colors";
66
+ import "@mui/x-charts";
67
+ import "../../../../common/currentLimits/limitsPane.utils.js";
68
+ function VscHvdcLineDialogHeader({
69
+ hvdcLineToModify,
70
+ isModification = false
71
+ }) {
72
+ const equipmentId = useWatch({ name: FieldConstants.EQUIPMENT_ID });
73
+ const lineIdField = isModification ? /* @__PURE__ */ jsx(
74
+ TextField,
75
+ {
76
+ size: "small",
77
+ fullWidth: true,
78
+ label: "ID",
79
+ value: equipmentId ?? "",
80
+ slotProps: {
81
+ input: {
82
+ readOnly: true
83
+ }
84
+ },
85
+ disabled: true,
86
+ ...filledTextField
87
+ }
88
+ ) : /* @__PURE__ */ jsx(TextInput, { name: FieldConstants.EQUIPMENT_ID, label: "ID", formProps: { autoFocus: true, ...filledTextField } });
89
+ const lineNameField = /* @__PURE__ */ jsx(
90
+ TextInput,
91
+ {
92
+ name: FieldConstants.EQUIPMENT_NAME,
93
+ label: "Name",
94
+ formProps: filledTextField,
95
+ previousValue: hvdcLineToModify?.name ?? void 0,
96
+ clearable: isModification
97
+ }
98
+ );
99
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, sx: { width: "100%" }, children: [
100
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: lineIdField }),
101
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: lineNameField })
102
+ ] });
103
+ }
104
+ export {
105
+ VscHvdcLineDialogHeader
106
+ };
@@ -0,0 +1,9 @@
1
+ import { SyntheticEvent } from 'react';
2
+ interface VscHvdcLineDialogTabsProps {
3
+ tabIndex: number;
4
+ tabIndexesWithError: number[];
5
+ onTabChange: (event: SyntheticEvent<Element, Event>, newValue: number) => void;
6
+ isModification?: boolean;
7
+ }
8
+ export declare function VscHvdcLineDialogTabs({ tabIndex, tabIndexesWithError, onTabChange, isModification, }: Readonly<VscHvdcLineDialogTabsProps>): import("react").JSX.Element;
9
+ export {};
@@ -0,0 +1,129 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Tabs, Tab } from "@mui/material";
3
+ import { FormattedMessage } from "react-intl";
4
+ import { VscHvdcLineDialogTab } from "./vscHvdcLine.utils.js";
5
+ import "@mui/icons-material";
6
+ import "react";
7
+ import { getTabStyle, getTabIndicatorStyle } from "../../../../../parameters/parameters-style.js";
8
+ import "../../../../../../components/ui/overflowableText/OverflowableText.js";
9
+ import "../../../../../../utils/conversionUtils.js";
10
+ import "../../../../../../utils/types/equipmentType.js";
11
+ import "react-hook-form";
12
+ import "localized-countries";
13
+ import "localized-countries/data/fr";
14
+ import "localized-countries/data/en";
15
+ import "notistack";
16
+ import "../../../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
17
+ import "yup";
18
+ import "../../../../../../components/ui/treeViewFinder/TreeViewFinder.js";
19
+ import "../../../../../../components/ui/reactHookForm/numbers/RangeInput.js";
20
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
21
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
22
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
23
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
24
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
25
+ import "../../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
26
+ import "../../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
27
+ import "../../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
28
+ import "@hello-pangea/dnd";
29
+ import "../../../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
30
+ import "../../../../../../components/ui/snackbarProvider/SnackbarProvider.js";
31
+ import "mui-nested-menu";
32
+ import "react-resizable-panels";
33
+ import "react-papaparse";
34
+ import "../../../../../parameters/common/parameter-layout/parameter-layout-provider.js";
35
+ import "../../../../../parameters/common/widget/parameter-line-slider.js";
36
+ import "../../../../../parameters/common/contingency-table/contingency-table.js";
37
+ import "../../../../../parameters/common/contingency-table/columns-definitions.js";
38
+ import "@hookform/resolvers/yup";
39
+ import "../../../../../parameters/network-visualizations/constants.js";
40
+ import "../../../../../parameters/loadflow/load-flow-parameters-context.js";
41
+ import "../../../../../parameters/loadflow/load-flow-parameters-utils.js";
42
+ import "../../../../../parameters/loadflow/load-flow-parameters-content.js";
43
+ import "../../../../../parameters/short-circuit/short-circuit-parameters-content.js";
44
+ import "../../../../../parameters/short-circuit/short-circuit-parameters-utils.js";
45
+ import "../../../../../parameters/voltage-init/constants.js";
46
+ import "../../../../../parameters/voltage-init/voltage-init-form-utils.js";
47
+ import "react-dom";
48
+ import "../../../../../parameters/security-analysis/constants.js";
49
+ import "../../../../../parameters/security-analysis/security-analysis-parameters-utils.js";
50
+ import "../../../../../parameters/sensi/utils.js";
51
+ import "../../../../../parameters/sensi/columns-definitions.js";
52
+ import "../../../../../parameters/dynamic-simulation/use-dynamic-simulation-parameters-form.js";
53
+ import "../../../../../parameters/dynamic-simulation/dynamic-simulation.type.js";
54
+ import "../../../../../parameters/dynamic-simulation/time-delay/time-delay-parameters-utils.js";
55
+ import "../../../../../parameters/dynamic-simulation/time-delay/time-delay-parameters.js";
56
+ import "../../../../../parameters/dynamic-simulation/solver/solver-parameters-utils.js";
57
+ import "../../../../../parameters/dynamic-simulation/solver/solver-parameters.js";
58
+ import "../../../../../parameters/dynamic-simulation/mapping/mapping-parameters-utils.js";
59
+ import "../../../../../parameters/dynamic-simulation/network/network-parameters-utils.js";
60
+ import "../../../../../parameters/dynamic-simulation/network/network-parameters.js";
61
+ import "../../../../../parameters/dynamic-simulation/curve/dialog/curve-preview.js";
62
+ import "../../../../../parameters/dynamic-simulation/curve/dialog/curve-selector.js";
63
+ import "../../../../../parameters/dynamic-simulation/curve/common/grid-search.js";
64
+ import "../../../../../../components/composite/customAGGrid/customAggrid.js";
65
+ import "../../../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
66
+ import "mathjs";
67
+ import "../../../../../parameters/dynamic-security-analysis/use-dynamic-security-analysis-parameters-form.js";
68
+ import "../../../../../parameters/dynamic-security-analysis/scenario-parameters.js";
69
+ import "../../../../../parameters/dynamic-security-analysis/contingency-parameters.js";
70
+ import "../../../../../parameters/dynamic-security-analysis/dynamic-security-analysis.type.js";
71
+ import "../../../../../parameters/dynamic-margin-calculation/time-delay-parameters.js";
72
+ import "../../../../../parameters/dynamic-margin-calculation/loads-variations-parameters.js";
73
+ import "../../../../../parameters/dynamic-margin-calculation/dynamic-margin-calculation.type.js";
74
+ import "../../../../../parameters/dynamic-margin-calculation/use-dynamic-margin-calculation-parameters-form.js";
75
+ function VscHvdcLineDialogTabs({
76
+ tabIndex,
77
+ tabIndexesWithError,
78
+ onTabChange,
79
+ isModification = false
80
+ }) {
81
+ return /* @__PURE__ */ jsxs(
82
+ Tabs,
83
+ {
84
+ value: tabIndex,
85
+ variant: "scrollable",
86
+ onChange: onTabChange,
87
+ slotProps: {
88
+ indicator: { sx: getTabIndicatorStyle(tabIndexesWithError, tabIndex) }
89
+ },
90
+ children: [
91
+ /* @__PURE__ */ jsx(
92
+ Tab,
93
+ {
94
+ value: VscHvdcLineDialogTab.HVDC_LINE_TAB,
95
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "HvdcLineTab" }),
96
+ sx: getTabStyle(tabIndexesWithError, VscHvdcLineDialogTab.HVDC_LINE_TAB)
97
+ }
98
+ ),
99
+ /* @__PURE__ */ jsx(
100
+ Tab,
101
+ {
102
+ value: VscHvdcLineDialogTab.CONVERTER_STATION_1_TAB,
103
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "ConverterStation1Tab" }),
104
+ sx: getTabStyle(tabIndexesWithError, VscHvdcLineDialogTab.CONVERTER_STATION_1_TAB)
105
+ }
106
+ ),
107
+ /* @__PURE__ */ jsx(
108
+ Tab,
109
+ {
110
+ value: VscHvdcLineDialogTab.CONVERTER_STATION_2_TAB,
111
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "ConverterStation2Tab" }),
112
+ sx: getTabStyle(tabIndexesWithError, VscHvdcLineDialogTab.CONVERTER_STATION_2_TAB)
113
+ }
114
+ ),
115
+ isModification && /* @__PURE__ */ jsx(
116
+ Tab,
117
+ {
118
+ value: VscHvdcLineDialogTab.STATE_ESTIMATION_TAB,
119
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "StateEstimationTab" }),
120
+ sx: getTabStyle(tabIndexesWithError, VscHvdcLineDialogTab.STATE_ESTIMATION_TAB)
121
+ }
122
+ )
123
+ ]
124
+ }
125
+ );
126
+ }
127
+ export {
128
+ VscHvdcLineDialogTabs
129
+ };
@@ -0,0 +1,10 @@
1
+ import { VscHvdcLineInfo } from '../vscHvdcLine.types';
2
+ import { ConnectivityNetworkProps } from '../../../../common/connectivity';
3
+ import { UpdateReactiveCapabilityCurveTableConverterStation } from '../converterStation';
4
+ export interface VscHvdcLineDialogTabsContentProps extends ConnectivityNetworkProps {
5
+ hvdcLineToModify?: VscHvdcLineInfo | null;
6
+ tabIndex: number;
7
+ updatePreviousReactiveCapabilityCurveTableConverterStation?: UpdateReactiveCapabilityCurveTableConverterStation;
8
+ isModification?: boolean;
9
+ }
10
+ export declare function VscHvdcLineDialogTabsContent({ hvdcLineToModify, isModification, tabIndex, voltageLevelOptions, PositionDiagramPane, fetchBusesOrBusbarSections, updatePreviousReactiveCapabilityCurveTableConverterStation, }: Readonly<VscHvdcLineDialogTabsContentProps>): import("react").JSX.Element;
@@ -0,0 +1,139 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { Box } from "@mui/material";
3
+ import { VscHvdcLineDialogTab } from "./vscHvdcLine.utils.js";
4
+ import "@mui/icons-material";
5
+ import "react-intl";
6
+ import "../../../../../../components/ui/overflowableText/OverflowableText.js";
7
+ import { FieldConstants } from "../../../../../../utils/constants/fieldConstants.js";
8
+ import "../../../../../../utils/conversionUtils.js";
9
+ import "../../../../../../utils/types/equipmentType.js";
10
+ import "react";
11
+ import "react-hook-form";
12
+ import "localized-countries";
13
+ import "localized-countries/data/fr";
14
+ import "localized-countries/data/en";
15
+ import "notistack";
16
+ import "../../../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
17
+ import "yup";
18
+ import "../../../../../../components/ui/treeViewFinder/TreeViewFinder.js";
19
+ import "../../../../../../components/ui/reactHookForm/numbers/RangeInput.js";
20
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
21
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
22
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
23
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
24
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
25
+ import "../../../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
26
+ import "../../../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
27
+ import "../../../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
28
+ import "@hello-pangea/dnd";
29
+ import "../../../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
30
+ import "../../../../../../components/ui/snackbarProvider/SnackbarProvider.js";
31
+ import "mui-nested-menu";
32
+ import "react-resizable-panels";
33
+ import "react-papaparse";
34
+ import "react-dom";
35
+ import "autosuggest-highlight/match";
36
+ import "autosuggest-highlight/parse";
37
+ import "clsx";
38
+ import "../../../../../../components/composite/filter/FilterCreationDialog.js";
39
+ import "../../../../../../components/composite/filter/HeaderFilterForm.js";
40
+ import "../../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
41
+ import "../../../../../../components/composite/filter/expert/ExpertFilterForm.js";
42
+ import "../../../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
43
+ import "../../../../../../components/composite/filter/expert/expertFilterConstants.js";
44
+ import "react-querybuilder";
45
+ import "uuid";
46
+ import "../../../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
47
+ import "../../../../../../components/composite/filter/utils/filterFormUtils.js";
48
+ import { GridSection } from "../../../../../../components/composite/grid/grid-section.js";
49
+ import "@react-querybuilder/material";
50
+ import "../../../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
51
+ import "../../../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
52
+ import "../../../../../../components/composite/agGridTable/BottomTableButtons.js";
53
+ import "../../../../../../components/composite/agGridTable/CustomAgGridTable.js";
54
+ import "ag-grid-community";
55
+ import "../../../../../../components/composite/customAGGrid/customAggrid.js";
56
+ import "../../../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
57
+ import "mathjs";
58
+ import "../../../../../../components/composite/report/report-viewer/log-table/log-table.js";
59
+ import "react-window";
60
+ import "../../../../../../components/composite/report/report-treeview/treeview-item.js";
61
+ import "../../../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
62
+ import { PowerMeasurementsForm } from "../../../../common/measurements/PowerMeasurementsForm.js";
63
+ import { VscConverterStationPane } from "../converterStation/VscConverterStationPane.js";
64
+ import { VscHvdcLineCharacteristicsPane } from "../characteristics/VscHvdcLineCharacteristicsPane.js";
65
+ function VscHvdcLineDialogTabsContent({
66
+ hvdcLineToModify,
67
+ isModification = false,
68
+ tabIndex,
69
+ voltageLevelOptions = [],
70
+ PositionDiagramPane,
71
+ fetchBusesOrBusbarSections,
72
+ updatePreviousReactiveCapabilityCurveTableConverterStation
73
+ }) {
74
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
75
+ /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== VscHvdcLineDialogTab.HVDC_LINE_TAB, children: /* @__PURE__ */ jsx(VscHvdcLineCharacteristicsPane, { hvdcLineToModify, isModification }) }),
76
+ /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== VscHvdcLineDialogTab.CONVERTER_STATION_1_TAB, children: /* @__PURE__ */ jsx(
77
+ VscConverterStationPane,
78
+ {
79
+ id: FieldConstants.CONVERTER_STATION_1,
80
+ stationLabel: "converterStation1",
81
+ stationToModify: hvdcLineToModify?.converterStation1,
82
+ isModification,
83
+ voltageLevelOptions,
84
+ PositionDiagramPane,
85
+ fetchBusesOrBusbarSections,
86
+ updatePreviousReactiveCapabilityCurveTableConverterStation: (action, index) => {
87
+ updatePreviousReactiveCapabilityCurveTableConverterStation?.(
88
+ action,
89
+ index,
90
+ FieldConstants.CONVERTER_STATION_1
91
+ );
92
+ }
93
+ }
94
+ ) }),
95
+ /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== VscHvdcLineDialogTab.CONVERTER_STATION_2_TAB, children: /* @__PURE__ */ jsx(
96
+ VscConverterStationPane,
97
+ {
98
+ id: FieldConstants.CONVERTER_STATION_2,
99
+ stationLabel: "converterStation2",
100
+ stationToModify: hvdcLineToModify?.converterStation2,
101
+ isModification,
102
+ voltageLevelOptions,
103
+ PositionDiagramPane,
104
+ fetchBusesOrBusbarSections,
105
+ updatePreviousReactiveCapabilityCurveTableConverterStation: (action, index) => {
106
+ updatePreviousReactiveCapabilityCurveTableConverterStation?.(
107
+ action,
108
+ index,
109
+ FieldConstants.CONVERTER_STATION_2
110
+ );
111
+ }
112
+ }
113
+ ) }),
114
+ isModification && /* @__PURE__ */ jsxs(Box, { hidden: tabIndex !== VscHvdcLineDialogTab.STATE_ESTIMATION_TAB, children: [
115
+ /* @__PURE__ */ jsx(GridSection, { title: "MeasurementsSection" }),
116
+ /* @__PURE__ */ jsx(GridSection, { title: "converterStation1" }),
117
+ /* @__PURE__ */ jsx(
118
+ PowerMeasurementsForm,
119
+ {
120
+ activePowerMeasurement: hvdcLineToModify?.converterStation1?.measurementP,
121
+ reactivePowerMeasurement: hvdcLineToModify?.converterStation1?.measurementQ,
122
+ idPrefix: `${FieldConstants.STATE_ESTIMATION}.${FieldConstants.CONVERTER_STATION_1}`
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsx(GridSection, { title: "converterStation2" }),
126
+ /* @__PURE__ */ jsx(
127
+ PowerMeasurementsForm,
128
+ {
129
+ activePowerMeasurement: hvdcLineToModify?.converterStation2?.measurementP,
130
+ reactivePowerMeasurement: hvdcLineToModify?.converterStation2?.measurementQ,
131
+ idPrefix: `${FieldConstants.STATE_ESTIMATION}.${FieldConstants.CONVERTER_STATION_2}`
132
+ }
133
+ )
134
+ ] })
135
+ ] });
136
+ }
137
+ export {
138
+ VscHvdcLineDialogTabsContent
139
+ };
@@ -0,0 +1,11 @@
1
+ import { VscHvdcLineDialogHeaderProps } from './VscHvdcLineDialogHeader';
2
+ import { VscHvdcLineDialogTabsContentProps } from './VscHvdcLineDialogTabsContent';
3
+ import { VscHvdcLineDialogTab } from './vscHvdcLine.utils';
4
+ import { UpdateReactiveCapabilityCurveTableConverterStation } from '../converterStation/vscConverterStationPane.utils';
5
+ import { UseTabsReturn } from '../../../../../../hooks';
6
+ interface VscHvdcLineFormProps extends VscHvdcLineDialogHeaderProps, Omit<VscHvdcLineDialogTabsContentProps, 'tabIndex' | 'isModification' | 'hvdcLineToModify'> {
7
+ updatePreviousReactiveCapabilityCurveTableConverterStation?: UpdateReactiveCapabilityCurveTableConverterStation;
8
+ useTabsReturn: UseTabsReturn<VscHvdcLineDialogTab>;
9
+ }
10
+ export declare function VscHvdcLineForm({ hvdcLineToModify, voltageLevelOptions, fetchBusesOrBusbarSections, PositionDiagramPane, updatePreviousReactiveCapabilityCurveTableConverterStation, isModification, useTabsReturn, }: Readonly<VscHvdcLineFormProps>): import("react").JSX.Element;
11
+ export {};