@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,43 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { Stack, Box } from "@mui/material";
3
+ import { VscHvdcLineDialogHeader } from "./VscHvdcLineDialogHeader.js";
4
+ import { VscHvdcLineDialogTabs } from "./VscHvdcLineDialogTabs.js";
5
+ import { VscHvdcLineDialogTabsContent } from "./VscHvdcLineDialogTabsContent.js";
6
+ function VscHvdcLineForm({
7
+ hvdcLineToModify,
8
+ voltageLevelOptions,
9
+ fetchBusesOrBusbarSections,
10
+ PositionDiagramPane,
11
+ updatePreviousReactiveCapabilityCurveTableConverterStation,
12
+ isModification = false,
13
+ useTabsReturn
14
+ }) {
15
+ const { selectedTab, tabsWithError, onTabChange } = useTabsReturn;
16
+ return /* @__PURE__ */ jsxs(Stack, { spacing: 2, height: "100%", children: [
17
+ /* @__PURE__ */ jsx(VscHvdcLineDialogHeader, { hvdcLineToModify, isModification }),
18
+ /* @__PURE__ */ jsx(
19
+ VscHvdcLineDialogTabs,
20
+ {
21
+ tabIndex: selectedTab,
22
+ tabIndexesWithError: tabsWithError,
23
+ onTabChange,
24
+ isModification
25
+ }
26
+ ),
27
+ /* @__PURE__ */ jsx(Box, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden", paddingLeft: 1.5, paddingRight: 3 }, children: /* @__PURE__ */ jsx(
28
+ VscHvdcLineDialogTabsContent,
29
+ {
30
+ tabIndex: selectedTab,
31
+ isModification,
32
+ hvdcLineToModify,
33
+ voltageLevelOptions,
34
+ fetchBusesOrBusbarSections,
35
+ PositionDiagramPane,
36
+ updatePreviousReactiveCapabilityCurveTableConverterStation
37
+ }
38
+ ) })
39
+ ] });
40
+ }
41
+ export {
42
+ VscHvdcLineForm
43
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2026, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ export * from './vscHvdcLine.utils';
8
+ export * from './VscHvdcLineDialogTabs';
9
+ export * from './VscHvdcLineDialogTabsContent';
10
+ export * from './VscHvdcLineDialogHeader';
11
+ export * from './VscHvdcLineForm';
@@ -0,0 +1,13 @@
1
+ import { HVDC_LINE_TAB_FIELDS, VscHvdcLineDialogTab } from "./vscHvdcLine.utils.js";
2
+ import { VscHvdcLineDialogTabs } from "./VscHvdcLineDialogTabs.js";
3
+ import { VscHvdcLineDialogTabsContent } from "./VscHvdcLineDialogTabsContent.js";
4
+ import { VscHvdcLineDialogHeader } from "./VscHvdcLineDialogHeader.js";
5
+ import { VscHvdcLineForm } from "./VscHvdcLineForm.js";
6
+ export {
7
+ HVDC_LINE_TAB_FIELDS,
8
+ VscHvdcLineDialogHeader,
9
+ VscHvdcLineDialogTab,
10
+ VscHvdcLineDialogTabs,
11
+ VscHvdcLineDialogTabsContent,
12
+ VscHvdcLineForm
13
+ };
@@ -0,0 +1,8 @@
1
+ import { FieldConstants } from '../../../../../../utils';
2
+ export declare enum VscHvdcLineDialogTab {
3
+ HVDC_LINE_TAB = 0,
4
+ CONVERTER_STATION_1_TAB = 1,
5
+ CONVERTER_STATION_2_TAB = 2,
6
+ STATE_ESTIMATION_TAB = 3
7
+ }
8
+ export declare const HVDC_LINE_TAB_FIELDS: Readonly<Partial<Record<VscHvdcLineDialogTab, FieldConstants[]>>>;
@@ -0,0 +1,34 @@
1
+ import { FieldConstants } from "../../../../../../utils/constants/fieldConstants.js";
2
+ import "../../../../../../utils/conversionUtils.js";
3
+ import "../../../../../../utils/types/equipmentType.js";
4
+ import "react/jsx-runtime";
5
+ import "@mui/icons-material";
6
+ var VscHvdcLineDialogTab = /* @__PURE__ */ ((VscHvdcLineDialogTab2) => {
7
+ VscHvdcLineDialogTab2[VscHvdcLineDialogTab2["HVDC_LINE_TAB"] = 0] = "HVDC_LINE_TAB";
8
+ VscHvdcLineDialogTab2[VscHvdcLineDialogTab2["CONVERTER_STATION_1_TAB"] = 1] = "CONVERTER_STATION_1_TAB";
9
+ VscHvdcLineDialogTab2[VscHvdcLineDialogTab2["CONVERTER_STATION_2_TAB"] = 2] = "CONVERTER_STATION_2_TAB";
10
+ VscHvdcLineDialogTab2[VscHvdcLineDialogTab2["STATE_ESTIMATION_TAB"] = 3] = "STATE_ESTIMATION_TAB";
11
+ return VscHvdcLineDialogTab2;
12
+ })(VscHvdcLineDialogTab || {});
13
+ const HVDC_LINE_TAB_FIELDS = {
14
+ [
15
+ 0
16
+ /* HVDC_LINE_TAB */
17
+ ]: [FieldConstants.HVDC_LINE, FieldConstants.ADDITIONAL_PROPERTIES],
18
+ [
19
+ 1
20
+ /* CONVERTER_STATION_1_TAB */
21
+ ]: [FieldConstants.CONVERTER_STATION_1],
22
+ [
23
+ 2
24
+ /* CONVERTER_STATION_2_TAB */
25
+ ]: [FieldConstants.CONVERTER_STATION_2],
26
+ [
27
+ 3
28
+ /* STATE_ESTIMATION_TAB */
29
+ ]: [FieldConstants.STATE_ESTIMATION]
30
+ };
31
+ export {
32
+ HVDC_LINE_TAB_FIELDS,
33
+ VscHvdcLineDialogTab
34
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) 2026, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ export * from './characteristics';
8
+ export * from './converterStation';
9
+ export * from './form';
10
+ export * from './vscHvdcLine.types';
@@ -0,0 +1,36 @@
1
+ import { getVscHvdcLineCharacteristicsCreationDtoToForm, getVscHvdcLineCharacteristicsCreationSchema, getVscHvdcLineCharacteristicsEmptyFormData, getVscHvdcLineCharacteristicsFromCopy, getVscHvdcLineCharacteristicsModificationDtoToForm, getVscHvdcLineCharacteristicsModificationSchema } from "./characteristics/vscHvdcLineCharacteristicsPane.utils.js";
2
+ import { VscHvdcLineCharacteristicsPane } from "./characteristics/VscHvdcLineCharacteristicsPane.js";
3
+ import { converterStationCreationDtoToForm, converterStationCreationFormToDto, converterStationCreationFromCopy, converterStationModificationDtoToForm, converterStationModificationFormToDto, getVscConverterStationCreationSchema, getVscConverterStationEmptyFormData, getVscConverterStationModificationSchema } from "./converterStation/vscConverterStationPane.utils.js";
4
+ import { VscConverterStationPane } from "./converterStation/VscConverterStationPane.js";
5
+ import { HVDC_LINE_TAB_FIELDS, VscHvdcLineDialogTab } from "./form/vscHvdcLine.utils.js";
6
+ import { VscHvdcLineDialogTabs } from "./form/VscHvdcLineDialogTabs.js";
7
+ import { VscHvdcLineDialogTabsContent } from "./form/VscHvdcLineDialogTabsContent.js";
8
+ import { VscHvdcLineDialogHeader } from "./form/VscHvdcLineDialogHeader.js";
9
+ import { VscHvdcLineForm } from "./form/VscHvdcLineForm.js";
10
+ import { VSC_CONVERTER_MODE, VscConverterMode } from "./vscHvdcLine.types.js";
11
+ export {
12
+ HVDC_LINE_TAB_FIELDS,
13
+ VSC_CONVERTER_MODE,
14
+ VscConverterMode,
15
+ VscConverterStationPane,
16
+ VscHvdcLineCharacteristicsPane,
17
+ VscHvdcLineDialogHeader,
18
+ VscHvdcLineDialogTab,
19
+ VscHvdcLineDialogTabs,
20
+ VscHvdcLineDialogTabsContent,
21
+ VscHvdcLineForm,
22
+ converterStationCreationDtoToForm,
23
+ converterStationCreationFormToDto,
24
+ converterStationCreationFromCopy,
25
+ converterStationModificationDtoToForm,
26
+ converterStationModificationFormToDto,
27
+ getVscConverterStationCreationSchema,
28
+ getVscConverterStationEmptyFormData,
29
+ getVscConverterStationModificationSchema,
30
+ getVscHvdcLineCharacteristicsCreationDtoToForm,
31
+ getVscHvdcLineCharacteristicsCreationSchema,
32
+ getVscHvdcLineCharacteristicsEmptyFormData,
33
+ getVscHvdcLineCharacteristicsFromCopy,
34
+ getVscHvdcLineCharacteristicsModificationDtoToForm,
35
+ getVscHvdcLineCharacteristicsModificationSchema
36
+ };
@@ -0,0 +1,52 @@
1
+ import { ConnectablePositionInfos, MeasurementInfo, MinMaxReactiveLimitsFormInfos, ReactiveCapabilityCurvePoints } from '../../../common';
2
+ export declare enum VscConverterMode {
3
+ SIDE_1_RECTIFIER_SIDE_2_INVERTER = "SIDE_1_RECTIFIER_SIDE_2_INVERTER",
4
+ SIDE_1_INVERTER_SIDE_2_RECTIFIER = "SIDE_1_INVERTER_SIDE_2_RECTIFIER"
5
+ }
6
+ export interface VscConverterModeValue {
7
+ id: string;
8
+ label: string;
9
+ }
10
+ export declare const VSC_CONVERTER_MODE: Record<VscConverterMode, VscConverterModeValue>;
11
+ export interface HvdcOperatorActivePowerRangeInfo {
12
+ oprFromCS1toCS2: number;
13
+ oprFromCS2toCS1: number;
14
+ }
15
+ export interface HvdcAngleDroopActivePowerControlInfo {
16
+ isEnabled: boolean;
17
+ droop: number;
18
+ p0: number;
19
+ }
20
+ export interface ConverterStationInfos {
21
+ id: string;
22
+ name: string | null;
23
+ lossFactor: number;
24
+ voltageSetpoint: number | null;
25
+ reactivePowerSetpoint: number | null;
26
+ voltageRegulatorOn: boolean;
27
+ voltageLevelId: string;
28
+ busOrBusbarSectionId: string;
29
+ nominalV: number;
30
+ terminalConnected: boolean;
31
+ p: number | null;
32
+ q: number | null;
33
+ reactiveCapabilityCurvePoints: ReactiveCapabilityCurvePoints[];
34
+ minMaxReactiveLimits: MinMaxReactiveLimitsFormInfos | null;
35
+ connectablePosition: ConnectablePositionInfos;
36
+ measurementP?: MeasurementInfo;
37
+ measurementQ?: MeasurementInfo;
38
+ }
39
+ export interface VscHvdcLineInfo {
40
+ id: string;
41
+ name: string;
42
+ convertersMode: string;
43
+ r: number;
44
+ nominalV: number;
45
+ activePowerSetpoint: number;
46
+ maxP: number;
47
+ hvdcAngleDroopActivePowerControl: HvdcAngleDroopActivePowerControlInfo;
48
+ hvdcOperatorActivePowerRange: HvdcOperatorActivePowerRangeInfo;
49
+ converterStation1: ConverterStationInfos;
50
+ converterStation2: ConverterStationInfos;
51
+ properties: Record<string, string>;
52
+ }
@@ -0,0 +1,25 @@
1
+ var VscConverterMode = /* @__PURE__ */ ((VscConverterMode2) => {
2
+ VscConverterMode2["SIDE_1_RECTIFIER_SIDE_2_INVERTER"] = "SIDE_1_RECTIFIER_SIDE_2_INVERTER";
3
+ VscConverterMode2["SIDE_1_INVERTER_SIDE_2_RECTIFIER"] = "SIDE_1_INVERTER_SIDE_2_RECTIFIER";
4
+ return VscConverterMode2;
5
+ })(VscConverterMode || {});
6
+ const VSC_CONVERTER_MODE = {
7
+ [
8
+ "SIDE_1_RECTIFIER_SIDE_2_INVERTER"
9
+ /* SIDE_1_RECTIFIER_SIDE_2_INVERTER */
10
+ ]: {
11
+ id: "SIDE_1_RECTIFIER_SIDE_2_INVERTER",
12
+ label: "side1RectifierSide2Inverter"
13
+ },
14
+ [
15
+ "SIDE_1_INVERTER_SIDE_2_RECTIFIER"
16
+ /* SIDE_1_INVERTER_SIDE_2_RECTIFIER */
17
+ ]: {
18
+ id: "SIDE_1_INVERTER_SIDE_2_RECTIFIER",
19
+ label: "side1InverterSide2Rectifier"
20
+ }
21
+ };
22
+ export {
23
+ VSC_CONVERTER_MODE,
24
+ VscConverterMode
25
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2026, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ export * from './vscHvdcLineCreation.types';
8
+ export * from './vscHvdcLineCreation.utils';
@@ -0,0 +1,7 @@
1
+ import { vscHvdcLineCreationDtoToForm, vscHvdcLineCreationEmptyFormData, vscHvdcLineCreationFormSchema, vscHvdcLineCreationFormToDto } from "./vscHvdcLineCreation.utils.js";
2
+ export {
3
+ vscHvdcLineCreationDtoToForm,
4
+ vscHvdcLineCreationEmptyFormData,
5
+ vscHvdcLineCreationFormSchema,
6
+ vscHvdcLineCreationFormToDto
7
+ };
@@ -0,0 +1,45 @@
1
+ import { UUID } from 'node:crypto';
2
+ import { ModificationType } from '../../../../../utils';
3
+ import { Property } from '../../../common/properties/properties.type';
4
+ import { ReactiveCapabilityCurvePoints } from '../../../common/reactiveLimits/reactiveLimits.type';
5
+ interface InjectionCreationDto {
6
+ type: ModificationType;
7
+ equipmentId: string;
8
+ equipmentName: string | null;
9
+ voltageLevelId: string;
10
+ busOrBusbarSectionId: string;
11
+ connectionDirection: string | null;
12
+ connectionName?: string | null;
13
+ connectionPosition?: number | null;
14
+ terminalConnected?: boolean | null;
15
+ }
16
+ export interface ConverterStationCreationDto extends InjectionCreationDto {
17
+ lossFactor: number | null;
18
+ reactivePowerSetpoint: number | null;
19
+ voltageRegulationOn?: boolean;
20
+ voltageSetpoint: number | null;
21
+ reactiveCapabilityCurve: boolean;
22
+ minQ: number | null;
23
+ maxQ: number | null;
24
+ reactiveCapabilityCurvePoints: ReactiveCapabilityCurvePoints[];
25
+ }
26
+ export interface VscHdvLineCreationDto {
27
+ type: ModificationType;
28
+ uuid?: UUID;
29
+ equipmentId: string;
30
+ equipmentName: string | null;
31
+ properties: Property[] | null;
32
+ nominalV: number | null;
33
+ r: number | null;
34
+ maxP: number | null;
35
+ operatorActivePowerLimitFromSide1ToSide2: number | null;
36
+ operatorActivePowerLimitFromSide2ToSide1: number | null;
37
+ convertersMode: string;
38
+ activePowerSetpoint: number | null;
39
+ angleDroopActivePowerControl: boolean | null;
40
+ p0: number | null;
41
+ droop: number | null;
42
+ converterStation1: ConverterStationCreationDto;
43
+ converterStation2: ConverterStationCreationDto;
44
+ }
45
+ export {};
@@ -0,0 +1,159 @@
1
+ import { InferType } from 'yup';
2
+ import { DeepNullable } from '../../../../../utils';
3
+ import { VscHdvLineCreationDto } from './vscHvdcLineCreation.types';
4
+ export declare const vscHvdcLineCreationFormSchema: import('yup').ObjectSchema<NonNullable<{
5
+ equipmentID: string;
6
+ equipmentName: string | null | undefined;
7
+ hvdcLine: {
8
+ angleDroopActivePowerControl?: boolean | undefined;
9
+ operatorActivePowerLimitSide1?: number | null | undefined;
10
+ operatorActivePowerLimitSide2?: number | null | undefined;
11
+ activePowerSetpoint: number;
12
+ convertersMode: string;
13
+ droop: number | null;
14
+ maxP: number;
15
+ p0: number | null;
16
+ r: number;
17
+ nominalV: number;
18
+ };
19
+ converterStation1: {
20
+ converterStationName?: string | null | undefined;
21
+ voltageRegulationOn?: boolean | undefined;
22
+ connectivity: {
23
+ terminalConnected?: boolean | null | undefined;
24
+ connectionDirection?: string | null | undefined;
25
+ connectionName?: string | undefined;
26
+ connectionPosition?: number | null | undefined;
27
+ busOrBusbarSection: {
28
+ id?: string | undefined;
29
+ } | null;
30
+ voltageLevel: {
31
+ id?: string | undefined;
32
+ } | null;
33
+ };
34
+ converterStationId: string;
35
+ lossFactor: number;
36
+ reactivePower: number | null;
37
+ voltage: number | null;
38
+ reactiveLimits: {
39
+ minimumReactivePower?: number | null | undefined;
40
+ maximumReactivePower?: number | null | undefined;
41
+ reactiveCapabilityCurveTable?: {
42
+ minQ: number | null;
43
+ maxQ: number | null;
44
+ p: number | null;
45
+ }[] | null | undefined;
46
+ reactiveCapabilityCurveChoice: string;
47
+ };
48
+ };
49
+ converterStation2: {
50
+ converterStationName?: string | null | undefined;
51
+ voltageRegulationOn?: boolean | undefined;
52
+ connectivity: {
53
+ terminalConnected?: boolean | null | undefined;
54
+ connectionDirection?: string | null | undefined;
55
+ connectionName?: string | undefined;
56
+ connectionPosition?: number | null | undefined;
57
+ busOrBusbarSection: {
58
+ id?: string | undefined;
59
+ } | null;
60
+ voltageLevel: {
61
+ id?: string | undefined;
62
+ } | null;
63
+ };
64
+ converterStationId: string;
65
+ lossFactor: number;
66
+ reactivePower: number | null;
67
+ voltage: number | null;
68
+ reactiveLimits: {
69
+ minimumReactivePower?: number | null | undefined;
70
+ maximumReactivePower?: number | null | undefined;
71
+ reactiveCapabilityCurveTable?: {
72
+ minQ: number | null;
73
+ maxQ: number | null;
74
+ p: number | null;
75
+ }[] | null | undefined;
76
+ reactiveCapabilityCurveChoice: string;
77
+ };
78
+ };
79
+ } & {
80
+ AdditionalProperties: {
81
+ previousValue?: string | null | undefined;
82
+ added: NonNullable<boolean | undefined>;
83
+ deletionMark: NonNullable<boolean | undefined>;
84
+ name: string;
85
+ value: string;
86
+ }[] | undefined;
87
+ }>, import('yup').AnyObject, {
88
+ equipmentID: undefined;
89
+ equipmentName: undefined;
90
+ hvdcLine: {
91
+ nominalV: undefined;
92
+ r: undefined;
93
+ maxP: undefined;
94
+ operatorActivePowerLimitSide1: undefined;
95
+ operatorActivePowerLimitSide2: undefined;
96
+ convertersMode: undefined;
97
+ angleDroopActivePowerControl: undefined;
98
+ activePowerSetpoint: undefined;
99
+ p0: null;
100
+ droop: null;
101
+ };
102
+ converterStation1: {
103
+ converterStationId: undefined;
104
+ converterStationName: undefined;
105
+ lossFactor: undefined;
106
+ voltageRegulationOn: undefined;
107
+ reactivePower: null;
108
+ voltage: null;
109
+ connectivity: {
110
+ voltageLevel: {
111
+ id: undefined;
112
+ };
113
+ busOrBusbarSection: {
114
+ id: undefined;
115
+ };
116
+ connectionDirection: undefined;
117
+ connectionName: undefined;
118
+ connectionPosition: undefined;
119
+ terminalConnected: undefined;
120
+ };
121
+ reactiveLimits: {
122
+ reactiveCapabilityCurveChoice: undefined;
123
+ minimumReactivePower: undefined;
124
+ maximumReactivePower: undefined;
125
+ reactiveCapabilityCurveTable: "";
126
+ };
127
+ };
128
+ converterStation2: {
129
+ converterStationId: undefined;
130
+ converterStationName: undefined;
131
+ lossFactor: undefined;
132
+ voltageRegulationOn: undefined;
133
+ reactivePower: null;
134
+ voltage: null;
135
+ connectivity: {
136
+ voltageLevel: {
137
+ id: undefined;
138
+ };
139
+ busOrBusbarSection: {
140
+ id: undefined;
141
+ };
142
+ connectionDirection: undefined;
143
+ connectionName: undefined;
144
+ connectionPosition: undefined;
145
+ terminalConnected: undefined;
146
+ };
147
+ reactiveLimits: {
148
+ reactiveCapabilityCurveChoice: undefined;
149
+ minimumReactivePower: undefined;
150
+ maximumReactivePower: undefined;
151
+ reactiveCapabilityCurveTable: "";
152
+ };
153
+ };
154
+ AdditionalProperties: "";
155
+ }, "">;
156
+ export type VscHvdcLineCreationFormData = InferType<typeof vscHvdcLineCreationFormSchema>;
157
+ export declare const vscHvdcLineCreationEmptyFormData: DeepNullable<VscHvdcLineCreationFormData>;
158
+ export declare const vscHvdcLineCreationDtoToForm: (lineDto: VscHdvLineCreationDto) => VscHvdcLineCreationFormData;
159
+ export declare const vscHvdcLineCreationFormToDto: (lineForm: VscHvdcLineCreationFormData) => VscHdvLineCreationDto;
@@ -0,0 +1,88 @@
1
+ import { object, string } from "yup";
2
+ import { FieldConstants } from "../../../../../utils/constants/fieldConstants.js";
3
+ import "../../../../../utils/conversionUtils.js";
4
+ import "../../../../../utils/types/equipmentType.js";
5
+ import { ModificationType } from "../../../../../utils/types/modificationType.js";
6
+ import "react/jsx-runtime";
7
+ import "@mui/icons-material";
8
+ import { sanitizeString } from "../../../../../utils/ts-utils.js";
9
+ import "react";
10
+ import "react-hook-form";
11
+ import { creationPropertiesSchema, getFilledPropertiesFromModification, toModificationProperties } from "../../../common/properties/propertyUtils.js";
12
+ import "@mui/material";
13
+ import "react-intl";
14
+ import "../../../../../components/ui/overflowableText/OverflowableText.js";
15
+ import "localized-countries";
16
+ import "localized-countries/data/fr";
17
+ import "localized-countries/data/en";
18
+ import "notistack";
19
+ import "../../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
20
+ import "../../../../../components/ui/treeViewFinder/TreeViewFinder.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 { getVscHvdcLineCharacteristicsCreationSchema, getVscHvdcLineCharacteristicsEmptyFormData, getVscHvdcLineCharacteristicsCreationDtoToForm } from "../common/characteristics/vscHvdcLineCharacteristicsPane.utils.js";
37
+ import { getVscConverterStationCreationSchema, getVscConverterStationEmptyFormData, converterStationCreationDtoToForm, converterStationCreationFormToDto } from "../common/converterStation/vscConverterStationPane.utils.js";
38
+ const vscHvdcLineCreationFormSchema = object().shape({
39
+ [FieldConstants.EQUIPMENT_ID]: string().required(),
40
+ [FieldConstants.EQUIPMENT_NAME]: string().nullable(),
41
+ [FieldConstants.HVDC_LINE]: getVscHvdcLineCharacteristicsCreationSchema(),
42
+ [FieldConstants.CONVERTER_STATION_1]: getVscConverterStationCreationSchema(),
43
+ [FieldConstants.CONVERTER_STATION_2]: getVscConverterStationCreationSchema()
44
+ }).concat(creationPropertiesSchema).required();
45
+ const vscHvdcLineCreationEmptyFormData = {
46
+ [FieldConstants.EQUIPMENT_ID]: null,
47
+ [FieldConstants.EQUIPMENT_NAME]: null,
48
+ [FieldConstants.HVDC_LINE]: getVscHvdcLineCharacteristicsEmptyFormData(false),
49
+ [FieldConstants.CONVERTER_STATION_1]: getVscConverterStationEmptyFormData(false),
50
+ [FieldConstants.CONVERTER_STATION_2]: getVscConverterStationEmptyFormData(false),
51
+ [FieldConstants.ADDITIONAL_PROPERTIES]: []
52
+ };
53
+ const vscHvdcLineCreationDtoToForm = (lineDto) => {
54
+ return {
55
+ [FieldConstants.EQUIPMENT_ID]: lineDto.equipmentId,
56
+ [FieldConstants.EQUIPMENT_NAME]: lineDto.equipmentName ?? "",
57
+ [FieldConstants.HVDC_LINE]: getVscHvdcLineCharacteristicsCreationDtoToForm(lineDto),
58
+ [FieldConstants.CONVERTER_STATION_1]: converterStationCreationDtoToForm(lineDto.converterStation1),
59
+ [FieldConstants.CONVERTER_STATION_2]: converterStationCreationDtoToForm(lineDto.converterStation2),
60
+ [FieldConstants.ADDITIONAL_PROPERTIES]: getFilledPropertiesFromModification(lineDto.properties)
61
+ };
62
+ };
63
+ const vscHvdcLineCreationFormToDto = (lineForm) => {
64
+ return {
65
+ type: ModificationType.VSC_CREATION,
66
+ equipmentId: lineForm.equipmentID,
67
+ equipmentName: sanitizeString(lineForm.equipmentName),
68
+ properties: toModificationProperties(lineForm),
69
+ nominalV: lineForm.hvdcLine.nominalV,
70
+ r: lineForm.hvdcLine.r,
71
+ maxP: lineForm.hvdcLine.maxP,
72
+ operatorActivePowerLimitFromSide1ToSide2: lineForm.hvdcLine.operatorActivePowerLimitSide1 ?? null,
73
+ operatorActivePowerLimitFromSide2ToSide1: lineForm.hvdcLine.operatorActivePowerLimitSide2 ?? null,
74
+ convertersMode: lineForm.hvdcLine.convertersMode,
75
+ activePowerSetpoint: lineForm.hvdcLine.activePowerSetpoint,
76
+ angleDroopActivePowerControl: lineForm.hvdcLine.angleDroopActivePowerControl ?? null,
77
+ p0: lineForm.hvdcLine.p0 ?? null,
78
+ droop: lineForm.hvdcLine.droop ?? null,
79
+ converterStation1: converterStationCreationFormToDto(lineForm.converterStation1),
80
+ converterStation2: converterStationCreationFormToDto(lineForm.converterStation2)
81
+ };
82
+ };
83
+ export {
84
+ vscHvdcLineCreationDtoToForm,
85
+ vscHvdcLineCreationEmptyFormData,
86
+ vscHvdcLineCreationFormSchema,
87
+ vscHvdcLineCreationFormToDto
88
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2026, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ export * from './common';
8
+ export * from './creation';
9
+ export * from './modification';
@@ -0,0 +1,47 @@
1
+ import { getVscHvdcLineCharacteristicsCreationDtoToForm, getVscHvdcLineCharacteristicsCreationSchema, getVscHvdcLineCharacteristicsEmptyFormData, getVscHvdcLineCharacteristicsFromCopy, getVscHvdcLineCharacteristicsModificationDtoToForm, getVscHvdcLineCharacteristicsModificationSchema } from "./common/characteristics/vscHvdcLineCharacteristicsPane.utils.js";
2
+ import { VscHvdcLineCharacteristicsPane } from "./common/characteristics/VscHvdcLineCharacteristicsPane.js";
3
+ import { converterStationCreationDtoToForm, converterStationCreationFormToDto, converterStationCreationFromCopy, converterStationModificationDtoToForm, converterStationModificationFormToDto, getVscConverterStationCreationSchema, getVscConverterStationEmptyFormData, getVscConverterStationModificationSchema } from "./common/converterStation/vscConverterStationPane.utils.js";
4
+ import { VscConverterStationPane } from "./common/converterStation/VscConverterStationPane.js";
5
+ import { HVDC_LINE_TAB_FIELDS, VscHvdcLineDialogTab } from "./common/form/vscHvdcLine.utils.js";
6
+ import { VscHvdcLineDialogTabs } from "./common/form/VscHvdcLineDialogTabs.js";
7
+ import { VscHvdcLineDialogTabsContent } from "./common/form/VscHvdcLineDialogTabsContent.js";
8
+ import { VscHvdcLineDialogHeader } from "./common/form/VscHvdcLineDialogHeader.js";
9
+ import { VscHvdcLineForm } from "./common/form/VscHvdcLineForm.js";
10
+ import { VSC_CONVERTER_MODE, VscConverterMode } from "./common/vscHvdcLine.types.js";
11
+ import { vscHvdcLineCreationDtoToForm, vscHvdcLineCreationEmptyFormData, vscHvdcLineCreationFormSchema, vscHvdcLineCreationFormToDto } from "./creation/vscHvdcLineCreation.utils.js";
12
+ import { vscHvdcLineEstimationFormSchema, vscHvdcLineModificationDtoToForm, vscHvdcLineModificationEmptyFormData, vscHvdcLineModificationFormSchema, vscHvdcLineModificationFormToDto } from "./modification/vscHvdcLineModification.utils.js";
13
+ export {
14
+ HVDC_LINE_TAB_FIELDS,
15
+ VSC_CONVERTER_MODE,
16
+ VscConverterMode,
17
+ VscConverterStationPane,
18
+ VscHvdcLineCharacteristicsPane,
19
+ VscHvdcLineDialogHeader,
20
+ VscHvdcLineDialogTab,
21
+ VscHvdcLineDialogTabs,
22
+ VscHvdcLineDialogTabsContent,
23
+ VscHvdcLineForm,
24
+ converterStationCreationDtoToForm,
25
+ converterStationCreationFormToDto,
26
+ converterStationCreationFromCopy,
27
+ converterStationModificationDtoToForm,
28
+ converterStationModificationFormToDto,
29
+ getVscConverterStationCreationSchema,
30
+ getVscConverterStationEmptyFormData,
31
+ getVscConverterStationModificationSchema,
32
+ getVscHvdcLineCharacteristicsCreationDtoToForm,
33
+ getVscHvdcLineCharacteristicsCreationSchema,
34
+ getVscHvdcLineCharacteristicsEmptyFormData,
35
+ getVscHvdcLineCharacteristicsFromCopy,
36
+ getVscHvdcLineCharacteristicsModificationDtoToForm,
37
+ getVscHvdcLineCharacteristicsModificationSchema,
38
+ vscHvdcLineCreationDtoToForm,
39
+ vscHvdcLineCreationEmptyFormData,
40
+ vscHvdcLineCreationFormSchema,
41
+ vscHvdcLineCreationFormToDto,
42
+ vscHvdcLineEstimationFormSchema,
43
+ vscHvdcLineModificationDtoToForm,
44
+ vscHvdcLineModificationEmptyFormData,
45
+ vscHvdcLineModificationFormSchema,
46
+ vscHvdcLineModificationFormToDto
47
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2026, RTE (http://www.rte-france.com)
3
+ * This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ */
7
+ export * from './vscHvdcLineModification.types';
8
+ export * from './vscHvdcLineModification.utils';
@@ -0,0 +1,8 @@
1
+ import { vscHvdcLineEstimationFormSchema, vscHvdcLineModificationDtoToForm, vscHvdcLineModificationEmptyFormData, vscHvdcLineModificationFormSchema, vscHvdcLineModificationFormToDto } from "./vscHvdcLineModification.utils.js";
2
+ export {
3
+ vscHvdcLineEstimationFormSchema,
4
+ vscHvdcLineModificationDtoToForm,
5
+ vscHvdcLineModificationEmptyFormData,
6
+ vscHvdcLineModificationFormSchema,
7
+ vscHvdcLineModificationFormToDto
8
+ };