@gridsuite/commons-ui 0.202.0 → 0.204.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 (125) hide show
  1. package/dist/components/addButton/AddButton.d.ts +10 -0
  2. package/dist/components/addButton/AddButton.js +16 -0
  3. package/dist/components/addButton/index.d.ts +1 -0
  4. package/dist/components/addButton/index.js +5 -0
  5. package/dist/components/cardErrorBoundary/CardErrorBoundary.d.ts +1 -1
  6. package/dist/components/filter/expert/expertFilterConstants.js +2 -2
  7. package/dist/components/filter/utils/filterFormUtils.d.ts +1 -1
  8. package/dist/components/filter/utils/filterFormUtils.js +3 -3
  9. package/dist/components/index.d.ts +1 -0
  10. package/dist/components/index.js +36 -1
  11. package/dist/components/inputs/index.js +0 -2
  12. package/dist/components/inputs/reactHookForm/expandableInput/ExpandableInput.js +3 -28
  13. package/dist/components/inputs/reactHookForm/text/DescriptionField.js +4 -4
  14. package/dist/components/inputs/reactQueryBuilder/index.d.ts +0 -1
  15. package/dist/components/inputs/reactQueryBuilder/index.js +0 -2
  16. package/dist/components/network-modifications/by-filter/deletion/byFilterDeletion.utils.js +1 -1
  17. package/dist/components/network-modifications/common/activePowerControl/ActivePowerControlForm.d.ts +6 -0
  18. package/dist/components/network-modifications/common/activePowerControl/ActivePowerControlForm.js +97 -0
  19. package/dist/components/network-modifications/common/activePowerControl/activePowerControlForm.type.d.ts +10 -0
  20. package/dist/components/network-modifications/common/activePowerControl/activePowerControlForm.type.js +1 -0
  21. package/dist/components/network-modifications/common/activePowerControl/activePowerControlForm.utils.d.ts +8 -0
  22. package/dist/components/network-modifications/common/activePowerControl/activePowerControlForm.utils.js +26 -0
  23. package/dist/components/network-modifications/common/activePowerControl/index.d.ts +9 -0
  24. package/dist/components/network-modifications/common/activePowerControl/index.js +7 -0
  25. package/dist/components/network-modifications/common/connectivity/BranchConnectivityForm.js +0 -2
  26. package/dist/components/network-modifications/common/connectivity/ConnectivityForm.d.ts +9 -17
  27. package/dist/components/network-modifications/common/connectivity/ConnectivityForm.js +56 -219
  28. package/dist/components/network-modifications/common/connectivity/PositionForm.d.ts +11 -0
  29. package/dist/components/network-modifications/common/connectivity/PositionForm.js +111 -0
  30. package/dist/components/network-modifications/common/connectivity/VoltageLevelConnectivityForm.d.ts +13 -0
  31. package/dist/components/network-modifications/common/connectivity/VoltageLevelConnectivityForm.js +164 -0
  32. package/dist/components/network-modifications/common/connectivity/connectivityForm.utils.js +3 -3
  33. package/dist/components/network-modifications/common/connectivity/index.d.ts +1 -0
  34. package/dist/components/network-modifications/common/connectivity/index.js +2 -0
  35. package/dist/components/network-modifications/common/index.d.ts +3 -0
  36. package/dist/components/network-modifications/common/index.js +35 -1
  37. package/dist/components/network-modifications/common/reactiveLimits/ReactiveLimitsForm.d.ts +8 -0
  38. package/dist/components/network-modifications/common/reactiveLimits/ReactiveLimitsForm.js +102 -0
  39. package/dist/components/network-modifications/common/reactiveLimits/index.d.ts +10 -0
  40. package/dist/components/network-modifications/common/reactiveLimits/index.js +23 -0
  41. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.d.ts +12 -0
  42. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js +101 -0
  43. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.d.ts +10 -0
  44. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js +118 -0
  45. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/index.d.ts +9 -0
  46. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/index.js +15 -0
  47. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.d.ts +20 -0
  48. package/dist/components/network-modifications/common/reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js +152 -0
  49. package/dist/components/network-modifications/common/reactiveLimits/reactiveLimits.type.d.ts +21 -0
  50. package/dist/components/network-modifications/common/reactiveLimits/reactiveLimits.type.js +1 -0
  51. package/dist/components/network-modifications/common/reactiveLimits/reactiveLimits.utils.d.ts +55 -0
  52. package/dist/components/network-modifications/common/reactiveLimits/reactiveLimits.utils.js +66 -0
  53. package/dist/components/network-modifications/common/setpoints/setPoints.utils.js +3 -3
  54. package/dist/components/network-modifications/common/shortCircuit/ShortCircuitForm.d.ts +5 -0
  55. package/dist/components/network-modifications/common/shortCircuit/ShortCircuitForm.js +68 -0
  56. package/dist/components/network-modifications/common/shortCircuit/index.d.ts +9 -0
  57. package/dist/components/network-modifications/common/shortCircuit/index.js +8 -0
  58. package/dist/components/network-modifications/common/shortCircuit/shortCircuitForm.type.d.ts +10 -0
  59. package/dist/components/network-modifications/common/shortCircuit/shortCircuitForm.type.js +1 -0
  60. package/dist/components/network-modifications/common/shortCircuit/shortCircuitForm.utils.d.ts +15 -0
  61. package/dist/components/network-modifications/common/shortCircuit/shortCircuitForm.utils.js +37 -0
  62. package/dist/components/network-modifications/equipmentDeletion/EquipmentDeletionForm.js +1 -1
  63. package/dist/components/network-modifications/generator/creation/generatorCreation.types.d.ts +40 -0
  64. package/dist/components/network-modifications/generator/creation/generatorCreation.types.js +1 -0
  65. package/dist/components/network-modifications/generator/creation/index.d.ts +7 -0
  66. package/dist/components/network-modifications/generator/creation/index.js +1 -0
  67. package/dist/components/network-modifications/generator/generatorDialog.type.d.ts +102 -0
  68. package/dist/components/network-modifications/generator/generatorDialog.type.js +1 -0
  69. package/dist/components/network-modifications/generator/index.d.ts +9 -0
  70. package/dist/components/network-modifications/generator/index.js +1 -0
  71. package/dist/components/network-modifications/generator/modification/generatorModification.types.d.ts +41 -0
  72. package/dist/components/network-modifications/generator/modification/generatorModification.types.js +1 -0
  73. package/dist/components/network-modifications/generator/modification/index.d.ts +7 -0
  74. package/dist/components/network-modifications/generator/modification/index.js +1 -0
  75. package/dist/components/network-modifications/index.d.ts +1 -0
  76. package/dist/components/network-modifications/index.js +34 -0
  77. package/dist/components/network-modifications/load/common/LoadDialogTabsContent.js +0 -1
  78. package/dist/components/network-modifications/load/creation/loadCreation.utils.js +1 -1
  79. package/dist/components/network-modifications/voltageLevel/creation/tabs/substationTab/SubstationTab.js +4 -3
  80. package/dist/components/parameters/common/hook/use-parameters-form.js +1 -1
  81. package/dist/components/parameters/dynamic-simulation/curve/dialog/curve-selector-utils.d.ts +1 -1
  82. package/dist/components/parameters/dynamic-simulation/network/network-parameters-constants.d.ts +1 -1
  83. package/dist/components/parameters/dynamic-simulation/network/network-parameters-constants.js +1 -1
  84. package/dist/components/parameters/dynamic-simulation/network/network-parameters-utils.d.ts +3 -3
  85. package/dist/components/parameters/dynamic-simulation/network/network-parameters-utils.js +2 -2
  86. package/dist/components/parameters/dynamic-simulation/network/network-parameters.js +2 -2
  87. package/dist/index.js +38 -3
  88. package/dist/translations/en/equipmentShortEn.d.ts +1 -1
  89. package/dist/translations/en/equipmentShortEn.js +1 -1
  90. package/dist/translations/en/equipmentTagEn.d.ts +1 -1
  91. package/dist/translations/en/equipmentTagEn.js +1 -1
  92. package/dist/translations/en/equipmentTypesEn.d.ts +1 -1
  93. package/dist/translations/en/equipmentTypesEn.js +1 -1
  94. package/dist/translations/en/external/exportParamsEn.d.ts +1 -1
  95. package/dist/translations/en/external/exportParamsEn.js +1 -1
  96. package/dist/translations/en/external/importParamsEn.d.ts +1 -1
  97. package/dist/translations/en/external/importParamsEn.js +1 -1
  98. package/dist/translations/en/networkModificationsEn.d.ts +26 -0
  99. package/dist/translations/en/networkModificationsEn.js +26 -0
  100. package/dist/translations/en/parameters.d.ts +1 -1
  101. package/dist/translations/en/parameters.js +1 -1
  102. package/dist/translations/fr/equipmentShortFr.d.ts +1 -1
  103. package/dist/translations/fr/equipmentShortFr.js +1 -1
  104. package/dist/translations/fr/equipmentTagFr.d.ts +1 -1
  105. package/dist/translations/fr/equipmentTagFr.js +1 -1
  106. package/dist/translations/fr/equipmentTypesFr.d.ts +1 -1
  107. package/dist/translations/fr/equipmentTypesFr.js +1 -1
  108. package/dist/translations/fr/external/exportParamsFr.d.ts +1 -1
  109. package/dist/translations/fr/external/exportParamsFr.js +1 -1
  110. package/dist/translations/fr/external/importParamsFr.d.ts +1 -1
  111. package/dist/translations/fr/external/importParamsFr.js +1 -1
  112. package/dist/translations/fr/networkModificationsFr.d.ts +26 -0
  113. package/dist/translations/fr/networkModificationsFr.js +26 -0
  114. package/dist/translations/fr/parameters.d.ts +1 -1
  115. package/dist/translations/fr/parameters.js +1 -1
  116. package/dist/utils/constants/fieldConstants.d.ts +22 -1
  117. package/dist/utils/constants/fieldConstants.js +22 -1
  118. package/dist/utils/index.js +2 -2
  119. package/dist/utils/mapper/equipmentTypesForPredefinedPropertiesMapper.js +1 -1
  120. package/dist/utils/types/equipmentType.d.ts +1 -1
  121. package/dist/utils/types/equipmentType.js +12 -12
  122. package/dist/utils/types/equipmentTypes.d.ts +1 -1
  123. package/dist/utils/types/equipmentTypes.js +2 -2
  124. package/dist/utils/types/index.js +2 -2
  125. package/package.json +1 -1
@@ -1,9 +1,11 @@
1
1
  import { createConnectivityData, getCon1andCon2WithPositionValidationSchema, getConnectivityBusBarSectionData, getConnectivityData, getConnectivityFormData, getConnectivityFormDataProps, getConnectivityPropertiesData, getConnectivityPropertiesEmptyFormData, getConnectivityPropertiesValidationSchema, getConnectivityVoltageLevelData, getConnectivityWithPositionEmptyFormData, getConnectivityWithPositionEmptyFormDataProps, getConnectivityWithPositionSchema, getConnectivityWithPositionValidationSchema, getConnectivityWithoutPositionEmptyFormData, getConnectivityWithoutPositionValidationSchema, getCont1Cont2WithPositionEmptyFormData, getNewVoltageLevelData } from "./connectivityForm.utils.js";
2
2
  import { ConnectivityForm } from "./ConnectivityForm.js";
3
3
  import { BranchConnectivityForm } from "./BranchConnectivityForm.js";
4
+ import { VoltageLevelConnectivityForm } from "./VoltageLevelConnectivityForm.js";
4
5
  export {
5
6
  BranchConnectivityForm,
6
7
  ConnectivityForm,
8
+ VoltageLevelConnectivityForm,
7
9
  createConnectivityData,
8
10
  getCon1andCon2WithPositionValidationSchema,
9
11
  getConnectivityBusBarSectionData,
@@ -9,3 +9,6 @@ export * from './properties';
9
9
  export * from './measurements';
10
10
  export * from './setpoints';
11
11
  export * from './connectivity';
12
+ export * from './activePowerControl';
13
+ export * from './shortCircuit';
14
+ export * from './reactiveLimits';
@@ -13,15 +13,34 @@ import { SetPointsForm } from "./setpoints/SetPointsForm.js";
13
13
  import { createConnectivityData, getCon1andCon2WithPositionValidationSchema, getConnectivityBusBarSectionData, getConnectivityData, getConnectivityFormData, getConnectivityFormDataProps, getConnectivityPropertiesData, getConnectivityPropertiesEmptyFormData, getConnectivityPropertiesValidationSchema, getConnectivityVoltageLevelData, getConnectivityWithPositionEmptyFormData, getConnectivityWithPositionEmptyFormDataProps, getConnectivityWithPositionSchema, getConnectivityWithPositionValidationSchema, getConnectivityWithoutPositionEmptyFormData, getConnectivityWithoutPositionValidationSchema, getCont1Cont2WithPositionEmptyFormData, getNewVoltageLevelData } from "./connectivity/connectivityForm.utils.js";
14
14
  import { ConnectivityForm } from "./connectivity/ConnectivityForm.js";
15
15
  import { BranchConnectivityForm } from "./connectivity/BranchConnectivityForm.js";
16
+ import { VoltageLevelConnectivityForm } from "./connectivity/VoltageLevelConnectivityForm.js";
17
+ import { getActivePowerControlEmptyFormData, getActivePowerControlSchema } from "./activePowerControl/activePowerControlForm.utils.js";
18
+ import { ActivePowerControlForm } from "./activePowerControl/ActivePowerControlForm.js";
19
+ import { getShortCircuitEmptyFormData, getShortCircuitFormData, getShortCircuitFormSchema } from "./shortCircuit/shortCircuitForm.utils.js";
20
+ import { ShortCircuitForm } from "./shortCircuit/ShortCircuitForm.js";
21
+ import { INSERT, REMOVE, getReactiveCapabilityCurveValidationSchema, getRowEmptyFormData, setCurrentReactiveCapabilityCurveTable, setSelectedReactiveLimits, toReactiveCapabilityCurveChoiceForGeneratorCreation, toReactiveCapabilityCurveChoiceForGeneratorModification } from "./reactiveLimits/reactiveCapabilityCurve/reactiveCapability.utils.js";
22
+ import { ReactiveCapabilityCurveRowForm } from "./reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js";
23
+ import { ReactiveCapabilityCurveTableForm } from "./reactiveLimits/reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js";
24
+ import { REACTIVE_LIMIT_TYPES, getReactiveLimitsEmptyFormData, getReactiveLimitsFormData, getReactiveLimitsSchema, getReactiveLimitsValidationSchema } from "./reactiveLimits/reactiveLimits.utils.js";
25
+ import { ReactiveLimitsForm } from "./reactiveLimits/ReactiveLimitsForm.js";
16
26
  export {
27
+ ActivePowerControlForm,
17
28
  BranchActiveReactivePowerMeasurementsForm,
18
29
  BranchConnectivityForm,
19
30
  ConnectivityForm,
31
+ INSERT,
20
32
  PowerMeasurementsForm,
21
33
  PowerWithValidityForm,
22
34
  PropertiesForm,
23
35
  PropertyForm,
36
+ REACTIVE_LIMIT_TYPES,
37
+ REMOVE,
38
+ ReactiveCapabilityCurveRowForm,
39
+ ReactiveCapabilityCurveTableForm,
40
+ ReactiveLimitsForm,
24
41
  SetPointsForm,
42
+ ShortCircuitForm,
43
+ VoltageLevelConnectivityForm,
25
44
  copyEquipmentPropertiesForCreation,
26
45
  createConnectivityData,
27
46
  createPropertyModification,
@@ -29,6 +48,8 @@ export {
29
48
  emptyProperties,
30
49
  fetchPredefinedProperties,
31
50
  filledTextField,
51
+ getActivePowerControlEmptyFormData,
52
+ getActivePowerControlSchema,
32
53
  getActivePowerSetPointSchema,
33
54
  getBranchActiveReactivePowerEditData,
34
55
  getBranchActiveReactivePowerEditDataProperties,
@@ -66,14 +87,27 @@ export {
66
87
  getPowerWithValidityValidationSchema,
67
88
  getPropertiesFromModification,
68
89
  getPropertyValue,
90
+ getReactiveCapabilityCurveValidationSchema,
91
+ getReactiveLimitsEmptyFormData,
92
+ getReactiveLimitsFormData,
93
+ getReactiveLimitsSchema,
94
+ getReactiveLimitsValidationSchema,
69
95
  getReactivePowerSetPointSchema,
96
+ getRowEmptyFormData,
70
97
  getSetPointsEmptyFormData,
71
98
  getSetPointsSchema,
99
+ getShortCircuitEmptyFormData,
100
+ getShortCircuitFormData,
101
+ getShortCircuitFormSchema,
72
102
  initializedProperty,
73
103
  italicFontTextField,
74
104
  mergeModificationAndEquipmentProperties,
75
105
  modificationPropertiesSchema,
106
+ setCurrentReactiveCapabilityCurveTable,
107
+ setSelectedReactiveLimits,
76
108
  standardTextField,
77
109
  testValueWithinPowerInterval,
78
- toModificationProperties
110
+ toModificationProperties,
111
+ toReactiveCapabilityCurveChoiceForGeneratorCreation,
112
+ toReactiveCapabilityCurveChoiceForGeneratorModification
79
113
  };
@@ -0,0 +1,8 @@
1
+ import { MinMaxReactiveLimitsFormInfos, ReactiveCapabilityCurvePoints } from './reactiveLimits.type';
2
+ export interface ReactiveLimitsFormProps {
3
+ id?: string;
4
+ previousReactiveCapabilityCurvePoints?: ReactiveCapabilityCurvePoints[] | null;
5
+ previousMinMaxReactiveLimits?: MinMaxReactiveLimitsFormInfos | null;
6
+ updatePreviousReactiveCapabilityCurveTable?: (action: string, index: number) => void;
7
+ }
8
+ export declare function ReactiveLimitsForm({ id, previousReactiveCapabilityCurvePoints, previousMinMaxReactiveLimits, updatePreviousReactiveCapabilityCurveTable, }: Readonly<ReactiveLimitsFormProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,102 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useWatch } from "react-hook-form";
3
+ import { Grid } from "@mui/material";
4
+ import { ReactiveCapabilityCurveTableForm } from "./reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js";
5
+ import { ReactivePowerAdornment } from "../../../../utils/constants/adornments.js";
6
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
7
+ import "../../../../utils/conversionUtils.js";
8
+ import "../../../../utils/types/equipmentType.js";
9
+ import "@mui/icons-material";
10
+ import "../../../../utils/yupConfig.js";
11
+ import "react-intl";
12
+ import "../../../overflowableText/OverflowableText.js";
13
+ import "react";
14
+ import "localized-countries";
15
+ import "localized-countries/data/fr";
16
+ import "localized-countries/data/en";
17
+ import "notistack";
18
+ import "../../../inputs/reactHookForm/provider/CustomFormProvider.js";
19
+ import "yup";
20
+ import "../../../treeViewFinder/TreeViewFinder.js";
21
+ import "../../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
22
+ import "../../../customAGGrid/customAggrid.js";
23
+ import "ag-grid-community";
24
+ import "react-papaparse";
25
+ import "react-csv-downloader";
26
+ import { RadioInput } from "../../../inputs/reactHookForm/booleans/RadioInput.js";
27
+ import { FloatInput } from "../../../inputs/reactHookForm/numbers/FloatInput.js";
28
+ import "../../../inputs/reactHookForm/numbers/RangeInput.js";
29
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
30
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
31
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
32
+ import "@material-symbols/svg-400/outlined/add_notes.svg?react";
33
+ import "../../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
34
+ import "../../../inputs/reactHookForm/expandableInput/ExpandableInput.js";
35
+ import "@react-querybuilder/material";
36
+ import "../../../filter/expert/expertFilterConstants.js";
37
+ import "../../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
38
+ import "uuid";
39
+ import "../../../inputs/reactQueryBuilder/PropertyValueEditor.js";
40
+ import "react-querybuilder";
41
+ import GridItem from "../../../grid/grid-item.js";
42
+ import { REACTIVE_LIMIT_TYPES } from "./reactiveLimits.utils.js";
43
+ const headerIds = ["ActivePowerText", "MinimumReactivePower", "MaximumReactivePower"];
44
+ function ReactiveLimitsForm({
45
+ id = FieldConstants.REACTIVE_LIMITS,
46
+ previousReactiveCapabilityCurvePoints = void 0,
47
+ previousMinMaxReactiveLimits = void 0,
48
+ updatePreviousReactiveCapabilityCurveTable = void 0
49
+ }) {
50
+ const reactiveCapabilityCurveChoice = useWatch({
51
+ name: `${id}.${FieldConstants.REACTIVE_CAPABILITY_CURVE_CHOICE}`
52
+ });
53
+ const isReactiveCapabilityCurveOn = reactiveCapabilityCurveChoice !== "MINMAX";
54
+ const reactiveCapabilityCurveChoiceRadioField = /* @__PURE__ */ jsx(
55
+ RadioInput,
56
+ {
57
+ name: `${id}.${FieldConstants.REACTIVE_CAPABILITY_CURVE_CHOICE}`,
58
+ options: [...REACTIVE_LIMIT_TYPES],
59
+ formProps: { style: { marginTop: "-12px" } }
60
+ }
61
+ );
62
+ const minimumReactivePowerField = /* @__PURE__ */ jsx(
63
+ FloatInput,
64
+ {
65
+ name: `${id}.${FieldConstants.MINIMUM_REACTIVE_POWER}`,
66
+ label: "MinimumReactivePower",
67
+ adornment: ReactivePowerAdornment,
68
+ previousValue: previousMinMaxReactiveLimits?.minQ ?? void 0,
69
+ clearable: true
70
+ }
71
+ );
72
+ const maximumReactivePowerField = /* @__PURE__ */ jsx(
73
+ FloatInput,
74
+ {
75
+ name: `${id}.${FieldConstants.MAXIMUM_REACTIVE_POWER}`,
76
+ label: "MaximumReactivePower",
77
+ adornment: ReactivePowerAdornment,
78
+ previousValue: previousMinMaxReactiveLimits?.maxQ ?? void 0,
79
+ clearable: true
80
+ }
81
+ );
82
+ const reactiveCapabilityCurveTableField = /* @__PURE__ */ jsx(
83
+ ReactiveCapabilityCurveTableForm,
84
+ {
85
+ id: `${id}.${FieldConstants.REACTIVE_CAPABILITY_CURVE_TABLE}`,
86
+ tableHeadersIds: headerIds,
87
+ previousValues: previousReactiveCapabilityCurvePoints ?? void 0,
88
+ updatePreviousReactiveCapabilityCurveTable,
89
+ disabled: !isReactiveCapabilityCurveOn
90
+ }
91
+ );
92
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
93
+ /* @__PURE__ */ jsx(GridItem, { size: 12, children: reactiveCapabilityCurveChoiceRadioField }),
94
+ !isReactiveCapabilityCurveOn && /* @__PURE__ */ jsx(GridItem, { size: 4, children: minimumReactivePowerField }),
95
+ !isReactiveCapabilityCurveOn && /* @__PURE__ */ jsx(GridItem, { size: 4, children: maximumReactivePowerField }),
96
+ !isReactiveCapabilityCurveOn && /* @__PURE__ */ jsx(GridItem, { size: "auto" }),
97
+ isReactiveCapabilityCurveOn && /* @__PURE__ */ jsx(GridItem, { size: 12, children: reactiveCapabilityCurveTableField })
98
+ ] });
99
+ }
100
+ export {
101
+ ReactiveLimitsForm
102
+ };
@@ -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 './reactiveCapabilityCurve';
8
+ export * from './reactiveLimits.type';
9
+ export * from './reactiveLimits.utils';
10
+ export * from './ReactiveLimitsForm';
@@ -0,0 +1,23 @@
1
+ import { INSERT, REMOVE, getReactiveCapabilityCurveValidationSchema, getRowEmptyFormData, setCurrentReactiveCapabilityCurveTable, setSelectedReactiveLimits, toReactiveCapabilityCurveChoiceForGeneratorCreation, toReactiveCapabilityCurveChoiceForGeneratorModification } from "./reactiveCapabilityCurve/reactiveCapability.utils.js";
2
+ import { ReactiveCapabilityCurveRowForm } from "./reactiveCapabilityCurve/ReactiveCapabilityCurveRowForm.js";
3
+ import { ReactiveCapabilityCurveTableForm } from "./reactiveCapabilityCurve/ReactiveCapabilityCurveTableForm.js";
4
+ import { REACTIVE_LIMIT_TYPES, getReactiveLimitsEmptyFormData, getReactiveLimitsFormData, getReactiveLimitsSchema, getReactiveLimitsValidationSchema } from "./reactiveLimits.utils.js";
5
+ import { ReactiveLimitsForm } from "./ReactiveLimitsForm.js";
6
+ export {
7
+ INSERT,
8
+ REACTIVE_LIMIT_TYPES,
9
+ REMOVE,
10
+ ReactiveCapabilityCurveRowForm,
11
+ ReactiveCapabilityCurveTableForm,
12
+ ReactiveLimitsForm,
13
+ getReactiveCapabilityCurveValidationSchema,
14
+ getReactiveLimitsEmptyFormData,
15
+ getReactiveLimitsFormData,
16
+ getReactiveLimitsSchema,
17
+ getReactiveLimitsValidationSchema,
18
+ getRowEmptyFormData,
19
+ setCurrentReactiveCapabilityCurveTable,
20
+ setSelectedReactiveLimits,
21
+ toReactiveCapabilityCurveChoiceForGeneratorCreation,
22
+ toReactiveCapabilityCurveChoiceForGeneratorModification
23
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright (c) 2023, 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 interface ReactiveCapabilityCurveRowFormProps {
8
+ id: string;
9
+ index: number;
10
+ labelSuffix: string | number;
11
+ }
12
+ export declare function ReactiveCapabilityCurveRowForm({ id, index, labelSuffix, }: Readonly<ReactiveCapabilityCurveRowFormProps>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,101 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { useFormContext } from "react-hook-form";
4
+ import { ActivePowerAdornment, ReactivePowerAdornment } from "../../../../../utils/constants/adornments.js";
5
+ import { FieldConstants } from "../../../../../utils/constants/fieldConstants.js";
6
+ import "../../../../../utils/conversionUtils.js";
7
+ import "../../../../../utils/types/equipmentType.js";
8
+ import "@mui/icons-material";
9
+ import "../../../../../utils/yupConfig.js";
10
+ import "react-intl";
11
+ import "@mui/material";
12
+ import "../../../../overflowableText/OverflowableText.js";
13
+ import "localized-countries";
14
+ import "localized-countries/data/fr";
15
+ import "localized-countries/data/en";
16
+ import "notistack";
17
+ import "../../../../inputs/reactHookForm/provider/CustomFormProvider.js";
18
+ import "yup";
19
+ import "../../../../treeViewFinder/TreeViewFinder.js";
20
+ import "../../../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
21
+ import "../../../../customAGGrid/customAggrid.js";
22
+ import "ag-grid-community";
23
+ import "react-papaparse";
24
+ import "react-csv-downloader";
25
+ import { FloatInput } from "../../../../inputs/reactHookForm/numbers/FloatInput.js";
26
+ import "../../../../inputs/reactHookForm/numbers/RangeInput.js";
27
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
28
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
29
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
30
+ import "@material-symbols/svg-400/outlined/add_notes.svg?react";
31
+ import "../../../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
32
+ import "../../../../inputs/reactHookForm/expandableInput/ExpandableInput.js";
33
+ import "@react-querybuilder/material";
34
+ import "../../../../filter/expert/expertFilterConstants.js";
35
+ import "../../../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
36
+ import "uuid";
37
+ import "../../../../inputs/reactQueryBuilder/PropertyValueEditor.js";
38
+ import "react-querybuilder";
39
+ import GridItem from "../../../../grid/grid-item.js";
40
+ function ReactiveCapabilityCurveRowForm({
41
+ id,
42
+ index,
43
+ labelSuffix
44
+ }) {
45
+ const {
46
+ trigger,
47
+ formState: { isSubmitted }
48
+ } = useFormContext();
49
+ const triggerTableValidation = useCallback(() => {
50
+ if (isSubmitted) {
51
+ trigger(`${FieldConstants.REACTIVE_LIMITS}.${FieldConstants.REACTIVE_CAPABILITY_CURVE_TABLE}`);
52
+ }
53
+ }, [isSubmitted, trigger]);
54
+ const triggerTableAndSiblingsValidation = useCallback(() => {
55
+ if (isSubmitted) {
56
+ trigger([
57
+ `${id}[${index}].${FieldConstants.MIN_Q}`,
58
+ `${id}[${index}].${FieldConstants.MAX_Q}`,
59
+ `${FieldConstants.REACTIVE_LIMITS}.${FieldConstants.REACTIVE_CAPABILITY_CURVE_TABLE}`
60
+ ]);
61
+ }
62
+ }, [isSubmitted, id, index, trigger]);
63
+ const pField = /* @__PURE__ */ jsx(
64
+ FloatInput,
65
+ {
66
+ name: `${id}.${index}.${FieldConstants.P}`,
67
+ label: "P",
68
+ labelValues: { labelSuffix },
69
+ adornment: ActivePowerAdornment,
70
+ onChange: triggerTableValidation
71
+ }
72
+ );
73
+ const qminPField = /* @__PURE__ */ jsx(
74
+ FloatInput,
75
+ {
76
+ name: `${id}.${index}.${FieldConstants.MIN_Q}`,
77
+ label: "QminP",
78
+ labelValues: { labelSuffix },
79
+ adornment: ReactivePowerAdornment,
80
+ onChange: triggerTableAndSiblingsValidation
81
+ }
82
+ );
83
+ const qmaxPField = /* @__PURE__ */ jsx(
84
+ FloatInput,
85
+ {
86
+ name: `${id}.${index}.${FieldConstants.MAX_Q}`,
87
+ label: "QmaxP",
88
+ labelValues: { labelSuffix },
89
+ adornment: ReactivePowerAdornment,
90
+ onChange: triggerTableAndSiblingsValidation
91
+ }
92
+ );
93
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
94
+ /* @__PURE__ */ jsx(GridItem, { size: 3, children: pField }),
95
+ /* @__PURE__ */ jsx(GridItem, { size: 3, children: qminPField }),
96
+ /* @__PURE__ */ jsx(GridItem, { size: 3, children: qmaxPField })
97
+ ] });
98
+ }
99
+ export {
100
+ ReactiveCapabilityCurveRowForm
101
+ };
@@ -0,0 +1,10 @@
1
+ import { ReactiveCapabilityCurvePoints } from '../reactiveLimits.type';
2
+ interface ReactiveCapabilityCurveTableFormProps {
3
+ id: string;
4
+ tableHeadersIds: string[];
5
+ previousValues?: ReactiveCapabilityCurvePoints[] | null;
6
+ updatePreviousReactiveCapabilityCurveTable?: (action: string, index: number) => void;
7
+ disabled?: boolean;
8
+ }
9
+ export declare function ReactiveCapabilityCurveTableForm({ id, tableHeadersIds, previousValues, updatePreviousReactiveCapabilityCurveTable, disabled, }: Readonly<ReactiveCapabilityCurveTableFormProps>): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,118 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useFieldArray } from "react-hook-form";
3
+ import { useCallback, useEffect } from "react";
4
+ import { Grid, IconButton } from "@mui/material";
5
+ import { Delete, ControlPoint } from "@mui/icons-material";
6
+ import { FormattedMessage } from "react-intl";
7
+ import { INSERT, REMOVE } from "./reactiveCapability.utils.js";
8
+ import { ReactiveCapabilityCurveRowForm } from "./ReactiveCapabilityCurveRowForm.js";
9
+ import { FieldConstants } from "../../../../../utils/constants/fieldConstants.js";
10
+ import "../../../../../utils/conversionUtils.js";
11
+ import "../../../../../utils/types/equipmentType.js";
12
+ import "../../../../../utils/yupConfig.js";
13
+ import "../../../../overflowableText/OverflowableText.js";
14
+ import "localized-countries";
15
+ import "localized-countries/data/fr";
16
+ import "localized-countries/data/en";
17
+ import "notistack";
18
+ import "../../../../inputs/reactHookForm/provider/CustomFormProvider.js";
19
+ import "yup";
20
+ import { ErrorInput } from "../../../../inputs/reactHookForm/errorManagement/ErrorInput.js";
21
+ import { MidFormError } from "../../../../inputs/reactHookForm/errorManagement/MidFormError.js";
22
+ import "../../../../treeViewFinder/TreeViewFinder.js";
23
+ import "../../../../inputs/reactHookForm/agGridTable/BottomRightButtons.js";
24
+ import "../../../../customAGGrid/customAggrid.js";
25
+ import "ag-grid-community";
26
+ import "react-papaparse";
27
+ import "react-csv-downloader";
28
+ import "../../../../inputs/reactHookForm/numbers/RangeInput.js";
29
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
30
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
31
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
32
+ import "@material-symbols/svg-400/outlined/add_notes.svg?react";
33
+ import "../../../../dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
34
+ import "../../../../inputs/reactHookForm/expandableInput/ExpandableInput.js";
35
+ import "@react-querybuilder/material";
36
+ import "../../../../filter/expert/expertFilterConstants.js";
37
+ import "../../../../inputs/reactQueryBuilder/CustomReactQueryBuilder.js";
38
+ import "uuid";
39
+ import "../../../../inputs/reactQueryBuilder/PropertyValueEditor.js";
40
+ import "react-querybuilder";
41
+ const MIN_LENGTH = 2;
42
+ function ReactiveCapabilityCurveTableForm({
43
+ id,
44
+ tableHeadersIds,
45
+ previousValues,
46
+ updatePreviousReactiveCapabilityCurveTable,
47
+ disabled = false
48
+ }) {
49
+ const { fields: rows, insert, remove } = useFieldArray({ name: `${id}` });
50
+ const insertRow = useCallback(
51
+ (index) => {
52
+ if (previousValues && updatePreviousReactiveCapabilityCurveTable) {
53
+ updatePreviousReactiveCapabilityCurveTable(INSERT, index);
54
+ }
55
+ insert(index, {
56
+ [FieldConstants.P]: null,
57
+ [FieldConstants.MIN_Q]: null,
58
+ [FieldConstants.MAX_Q]: null
59
+ });
60
+ },
61
+ [insert, updatePreviousReactiveCapabilityCurveTable, previousValues]
62
+ );
63
+ const handleInsertRow = () => {
64
+ insertRow(rows.length - 1);
65
+ };
66
+ const handleRemoveRow = (index) => {
67
+ if (previousValues && updatePreviousReactiveCapabilityCurveTable) {
68
+ updatePreviousReactiveCapabilityCurveTable(REMOVE, index);
69
+ }
70
+ remove(index);
71
+ };
72
+ useEffect(() => {
73
+ if (rows?.length < MIN_LENGTH) {
74
+ for (let i = 0; i < MIN_LENGTH - rows.length; i++) {
75
+ insertRow(rows.length);
76
+ }
77
+ }
78
+ }, [insertRow, rows]);
79
+ return /* @__PURE__ */ jsxs(Grid, { item: true, container: true, spacing: 2, children: [
80
+ /* @__PURE__ */ jsx(Grid, { container: true, children: /* @__PURE__ */ jsx(ErrorInput, { name: id, InputField: MidFormError }) }),
81
+ tableHeadersIds.map((header) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 3, children: /* @__PURE__ */ jsx(FormattedMessage, { id: header }) }, header)),
82
+ rows.map((value, index, displayedValues) => {
83
+ let labelSuffix;
84
+ if (index === 0) {
85
+ labelSuffix = "min";
86
+ } else if (index === displayedValues.length - 1) {
87
+ labelSuffix = "max";
88
+ } else {
89
+ labelSuffix = index - 1;
90
+ }
91
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 3, item: true, children: [
92
+ /* @__PURE__ */ jsx(ReactiveCapabilityCurveRowForm, { id, index, labelSuffix }),
93
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 1, children: /* @__PURE__ */ jsx(
94
+ IconButton,
95
+ {
96
+ onClick: () => handleRemoveRow(index),
97
+ disabled: disabled || index === 0 || index === displayedValues.length - 1,
98
+ children: /* @__PURE__ */ jsx(Delete, {})
99
+ },
100
+ value.id
101
+ ) }),
102
+ index === displayedValues.length - 1 && /* @__PURE__ */ jsx(Grid, { item: true, xs: 1, children: /* @__PURE__ */ jsx(
103
+ IconButton,
104
+ {
105
+ onClick: () => handleInsertRow(),
106
+ disabled,
107
+ style: { top: "-1em" },
108
+ children: /* @__PURE__ */ jsx(ControlPoint, {})
109
+ },
110
+ value.id
111
+ ) })
112
+ ] }, value.id);
113
+ })
114
+ ] });
115
+ }
116
+ export {
117
+ ReactiveCapabilityCurveTableForm
118
+ };
@@ -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 './reactiveCapability.utils';
8
+ export * from './ReactiveCapabilityCurveRowForm';
9
+ export * from './ReactiveCapabilityCurveTableForm';
@@ -0,0 +1,15 @@
1
+ import { INSERT, REMOVE, getReactiveCapabilityCurveValidationSchema, getRowEmptyFormData, setCurrentReactiveCapabilityCurveTable, setSelectedReactiveLimits, toReactiveCapabilityCurveChoiceForGeneratorCreation, toReactiveCapabilityCurveChoiceForGeneratorModification } from "./reactiveCapability.utils.js";
2
+ import { ReactiveCapabilityCurveRowForm } from "./ReactiveCapabilityCurveRowForm.js";
3
+ import { ReactiveCapabilityCurveTableForm } from "./ReactiveCapabilityCurveTableForm.js";
4
+ export {
5
+ INSERT,
6
+ REMOVE,
7
+ ReactiveCapabilityCurveRowForm,
8
+ ReactiveCapabilityCurveTableForm,
9
+ getReactiveCapabilityCurveValidationSchema,
10
+ getRowEmptyFormData,
11
+ setCurrentReactiveCapabilityCurveTable,
12
+ setSelectedReactiveLimits,
13
+ toReactiveCapabilityCurveChoiceForGeneratorCreation,
14
+ toReactiveCapabilityCurveChoiceForGeneratorModification
15
+ };
@@ -0,0 +1,20 @@
1
+ import { FieldValues, UseFormSetValue } from 'react-hook-form';
2
+ import { ReactiveCapabilityCurve, ReactiveCapabilityCurvePoints } from '../reactiveLimits.type';
3
+ import { FieldConstants } from '../../../../../utils';
4
+ import { GeneratorCreationDialogSchemaForm, GeneratorModificationDialogSchemaForm } from '../../../generator/generatorDialog.type';
5
+ import { GeneratorCreationDto } from '../../../generator/creation/generatorCreation.types';
6
+ import { GeneratorModificationDto } from '../../../generator/modification/generatorModification.types';
7
+ export declare const INSERT = "INSERT";
8
+ export declare const REMOVE = "REMOVE";
9
+ export declare const getRowEmptyFormData: () => {
10
+ p: null;
11
+ maxQ: null;
12
+ minQ: null;
13
+ };
14
+ export declare const getReactiveCapabilityCurveValidationSchema: (id?: FieldConstants, positiveAndNegativePExist?: boolean) => {
15
+ [x: string]: import('yup').ArraySchema<any[] | null | undefined, import('yup').AnyObject, undefined, "">;
16
+ };
17
+ export declare function setSelectedReactiveLimits(id: string, minMaxReactiveLimits: number, setValue: UseFormSetValue<FieldValues>): void;
18
+ export declare function setCurrentReactiveCapabilityCurveTable(previousReactiveCapabilityCurveTable: ReactiveCapabilityCurve, fieldKey: string, setValue: UseFormSetValue<FieldValues>): void;
19
+ export declare function toReactiveCapabilityCurveChoiceForGeneratorCreation(currentReactiveLimits: GeneratorCreationDialogSchemaForm[typeof FieldConstants.REACTIVE_LIMITS], editData: GeneratorCreationDto | null | undefined): "CURVE" | "MINMAX";
20
+ export declare function toReactiveCapabilityCurveChoiceForGeneratorModification(currentReactiveLimits: GeneratorModificationDialogSchemaForm[typeof FieldConstants.REACTIVE_LIMITS], editData: GeneratorModificationDto | null | undefined, networkPoints: ReactiveCapabilityCurvePoints[] | null | undefined): "CURVE" | "MINMAX";