@gridsuite/commons-ui 0.267.0 → 0.268.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 (93) hide show
  1. package/dist/components/composite/grid/grid-section.d.ts +5 -2
  2. package/dist/components/composite/grid/grid-section.js +56 -4
  3. package/dist/components/ui/reactHookForm/booleans/BooleanInput.js +1 -1
  4. package/dist/features/common/index.d.ts +7 -0
  5. package/dist/features/common/index.js +4 -0
  6. package/dist/features/common/renderTable-ExportCsv.d.ts +18 -0
  7. package/dist/features/common/renderTable-ExportCsv.js +136 -0
  8. package/dist/features/index.d.ts +5 -0
  9. package/dist/features/index.js +43 -2
  10. package/dist/features/network-modifications/index.d.ts +1 -0
  11. package/dist/features/network-modifications/index.js +33 -1
  12. package/dist/features/network-modifications/static-var-compensator/common/constants.d.ts +20 -0
  13. package/dist/features/network-modifications/static-var-compensator/common/constants.js +9 -0
  14. package/dist/features/network-modifications/static-var-compensator/common/index.d.ts +13 -0
  15. package/dist/features/network-modifications/static-var-compensator/common/index.js +20 -0
  16. package/dist/features/network-modifications/static-var-compensator/common/set-points-limits-form-utils.d.ts +91 -0
  17. package/dist/features/network-modifications/static-var-compensator/common/set-points-limits-form-utils.js +166 -0
  18. package/dist/features/network-modifications/static-var-compensator/common/set-points-limits-form.d.ts +8 -0
  19. package/dist/features/network-modifications/static-var-compensator/common/set-points-limits-form.js +200 -0
  20. package/dist/features/network-modifications/static-var-compensator/common/standby-automaton-form-utils.d.ts +66 -0
  21. package/dist/features/network-modifications/static-var-compensator/common/standby-automaton-form-utils.js +149 -0
  22. package/dist/features/network-modifications/static-var-compensator/common/standby-automaton-form.d.ts +7 -0
  23. package/dist/features/network-modifications/static-var-compensator/common/standby-automaton-form.js +153 -0
  24. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-dialog-header.d.ts +7 -0
  25. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-dialog-header.js +72 -0
  26. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-dialog-tabs.d.ts +7 -0
  27. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-dialog-tabs.js +44 -0
  28. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-tab-utils.d.ts +8 -0
  29. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-tab-utils.js +34 -0
  30. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-tabs-content.d.ts +9 -0
  31. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator-tabs-content.js +100 -0
  32. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator.types.d.ts +68 -0
  33. package/dist/features/network-modifications/static-var-compensator/common/static-var-compensator.types.js +1 -0
  34. package/dist/features/network-modifications/static-var-compensator/common/susceptance-area.d.ts +7 -0
  35. package/dist/features/network-modifications/static-var-compensator/common/susceptance-area.js +161 -0
  36. package/dist/features/network-modifications/static-var-compensator/creation/index.d.ts +9 -0
  37. package/dist/features/network-modifications/static-var-compensator/creation/index.js +9 -0
  38. package/dist/features/network-modifications/static-var-compensator/creation/static-var-compensator-creation-form.d.ts +8 -0
  39. package/dist/features/network-modifications/static-var-compensator/creation/static-var-compensator-creation-form.js +105 -0
  40. package/dist/features/network-modifications/static-var-compensator/creation/static-var-compensator-creation-utils.d.ts +114 -0
  41. package/dist/features/network-modifications/static-var-compensator/creation/static-var-compensator-creation-utils.js +189 -0
  42. package/dist/features/network-modifications/static-var-compensator/creation/static-var-compensator-creation.types.d.ts +34 -0
  43. package/dist/features/network-modifications/static-var-compensator/creation/static-var-compensator-creation.types.js +1 -0
  44. package/dist/features/network-modifications/static-var-compensator/index.d.ts +8 -0
  45. package/dist/features/network-modifications/static-var-compensator/index.js +27 -0
  46. package/dist/features/network-modifications/voltageLevel/coupling-device/coupling-device-creation-form.d.ts +8 -0
  47. package/dist/features/network-modifications/voltageLevel/coupling-device/coupling-device-creation-form.js +153 -0
  48. package/dist/features/network-modifications/voltageLevel/coupling-device/coupling-device-creation-utils.d.ts +20 -0
  49. package/dist/features/network-modifications/voltageLevel/coupling-device/coupling-device-creation-utils.js +40 -0
  50. package/dist/features/network-modifications/voltageLevel/coupling-device/coupling-device-creation.types.d.ts +11 -0
  51. package/dist/features/network-modifications/voltageLevel/coupling-device/coupling-device-creation.types.js +1 -0
  52. package/dist/features/network-modifications/voltageLevel/coupling-device/index.d.ts +3 -0
  53. package/dist/features/network-modifications/voltageLevel/coupling-device/index.js +9 -0
  54. package/dist/features/network-modifications/voltageLevel/creation/index.js +1 -1
  55. package/dist/features/network-modifications/voltageLevel/index.d.ts +1 -0
  56. package/dist/features/network-modifications/voltageLevel/index.js +8 -1
  57. package/dist/features/network-modifications/voltageLevel/topology/CreateVoltageLevelTopologyForm.js +12 -2
  58. package/dist/features/network-modifications/voltageLevel/topology/voltageLevelTopologyCreation.types.d.ts +1 -1
  59. package/dist/features/network-modifications/voltageLevel/topology/voltageLevelTopologyCreation.utils.d.ts +3 -3
  60. package/dist/features/results/constants.d.ts +7 -0
  61. package/dist/features/results/constants.js +4 -0
  62. package/dist/features/results/hooks/index.d.ts +7 -0
  63. package/dist/features/results/hooks/index.js +4 -0
  64. package/dist/features/results/hooks/useIntlResultStatusMessages.d.ts +19 -0
  65. package/dist/features/results/hooks/useIntlResultStatusMessages.js +23 -0
  66. package/dist/features/results/loadflow/index.d.ts +8 -0
  67. package/dist/features/results/loadflow/index.js +4 -0
  68. package/dist/features/results/loadflow/limit-violation-result.d.ts +2 -0
  69. package/dist/features/results/loadflow/limit-violation-result.js +134 -0
  70. package/dist/features/results/loadflow/load-flow-result.type.d.ts +29 -0
  71. package/dist/features/results/loadflow/load-flow-result.type.js +1 -0
  72. package/dist/features/results/securityanalysis/index.js +1 -2
  73. package/dist/features/results/securityanalysis/security-analysis-result-nmk.js +2 -1
  74. package/dist/features/results/securityanalysis/utils.d.ts +0 -2
  75. package/dist/features/results/securityanalysis/utils.js +0 -22
  76. package/dist/features/results/utils/index.d.ts +7 -0
  77. package/dist/features/results/utils/index.js +4 -0
  78. package/dist/features/results/utils/no-rows-message.d.ts +2 -0
  79. package/dist/features/results/utils/no-rows-message.js +24 -0
  80. package/dist/hooks/index.d.ts +1 -0
  81. package/dist/hooks/index.js +2 -0
  82. package/dist/hooks/useOpenLoaderShortWait.d.ts +18 -0
  83. package/dist/hooks/useOpenLoaderShortWait.js +19 -0
  84. package/dist/index.js +46 -1
  85. package/dist/translations/en/networkModificationsEn.d.ts +28 -0
  86. package/dist/translations/en/networkModificationsEn.js +30 -1
  87. package/dist/translations/fr/networkModificationsFr.d.ts +28 -0
  88. package/dist/translations/fr/networkModificationsFr.js +30 -1
  89. package/dist/utils/constants/fieldConstants.d.ts +19 -1
  90. package/dist/utils/constants/fieldConstants.js +18 -0
  91. package/dist/utils/index.d.ts +1 -0
  92. package/dist/utils/index.js +2 -0
  93. package/package.json +1 -1
@@ -0,0 +1,149 @@
1
+ import * as yup from "yup";
2
+ import { CHARACTERISTICS_CHOICES } from "../../shunt-compensator/common/shuntCompensator.utils.js";
3
+ import "react/jsx-runtime";
4
+ import "@mui/material";
5
+ import "react-hook-form";
6
+ import "react";
7
+ import "react-intl";
8
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
9
+ import { MUST_BE_GREATER_OR_EQUAL_TO_ZERO } from "../../../../utils/constants/translationKeys.js";
10
+ import "../../../../utils/conversionUtils.js";
11
+ import "../../../../utils/types/equipmentType.js";
12
+ import "@mui/icons-material";
13
+ import "../../../../components/ui/overflowableText/OverflowableText.js";
14
+ import "localized-countries";
15
+ import "localized-countries/data/fr";
16
+ import "localized-countries/data/en";
17
+ import "notistack";
18
+ import "../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
19
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.js";
20
+ import "../../../../components/ui/reactHookForm/numbers/RangeInput.js";
21
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
22
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
23
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
24
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
25
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
26
+ import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
27
+ import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
28
+ import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
29
+ import "@hello-pangea/dnd";
30
+ import "../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
31
+ import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
32
+ import "mui-nested-menu";
33
+ import "react-resizable-panels";
34
+ import "react-papaparse";
35
+ import "../../common/properties/propertyUtils.js";
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 "@react-querybuilder/material";
51
+ import "../../../../components/composite/reactQueryBuilder/CustomReactQueryBuilder.js";
52
+ import "../../../../components/composite/reactQueryBuilder/PropertyValueEditor.js";
53
+ import "../../../../components/composite/agGridTable/BottomTableButtons.js";
54
+ import "../../../../components/composite/agGridTable/CustomAgGridTable.js";
55
+ import "ag-grid-community";
56
+ import "../../../../components/composite/customAGGrid/customAggrid.js";
57
+ import "../../../../components/composite/customAGGrid/context/custom-aggrid-context.js";
58
+ import "mathjs";
59
+ import "../../../../components/composite/report/report-viewer/log-table/log-table.js";
60
+ import "react-window";
61
+ import "../../../../components/composite/report/report-treeview/treeview-item.js";
62
+ import "../../../../components/composite/report/report-viewer/context/report-viewer-context.js";
63
+ import "../../common/regulatingTerminal/RegulatingTerminalForm.js";
64
+ import "@mui/material/colors";
65
+ import "@mui/x-charts";
66
+ import "../../common/currentLimits/limitsPane.utils.js";
67
+ import "../../shunt-compensator/creation/shuntCompensatorCreation.utils.js";
68
+ import "../../shunt-compensator/modification/shuntCompensatorModification.utils.js";
69
+ import { VOLTAGE_REGULATION_MODES } from "./constants.js";
70
+ const getStandbyAutomatonEmptyFormData = (id = FieldConstants.AUTOMATON) => ({
71
+ [id]: {
72
+ [FieldConstants.ADD_STAND_BY_AUTOMATON]: false,
73
+ [FieldConstants.STAND_BY_AUTOMATON]: false,
74
+ [FieldConstants.LOW_VOLTAGE_SET_POINT]: null,
75
+ [FieldConstants.HIGH_VOLTAGE_SET_POINT]: null,
76
+ [FieldConstants.LOW_VOLTAGE_THRESHOLD]: null,
77
+ [FieldConstants.HIGH_VOLTAGE_THRESHOLD]: null,
78
+ [FieldConstants.CHARACTERISTICS_CHOICE_AUTOMATON]: CHARACTERISTICS_CHOICES.Q_AT_NOMINAL_V.id,
79
+ [FieldConstants.MIN_Q_AUTOMATON]: null,
80
+ [FieldConstants.MAX_Q_AUTOMATON]: null,
81
+ [FieldConstants.MIN_S_AUTOMATON]: null,
82
+ [FieldConstants.MAX_S_AUTOMATON]: null,
83
+ [FieldConstants.B0]: null,
84
+ [FieldConstants.Q0]: null
85
+ }
86
+ });
87
+ const requiredIfAddStandbyAutomaton = (baseSchema) => baseSchema.nullable().when([FieldConstants.ADD_STAND_BY_AUTOMATON], {
88
+ is: true,
89
+ then: (schema) => schema.required()
90
+ });
91
+ const requiredWhenSusceptanceChoice = (baseSchema) => baseSchema.when([FieldConstants.ADD_STAND_BY_AUTOMATON, FieldConstants.CHARACTERISTICS_CHOICE_AUTOMATON], {
92
+ is: (addStandbyAutomaton, characteristicsChoiceAutomaton) => addStandbyAutomaton && characteristicsChoiceAutomaton === CHARACTERISTICS_CHOICES.SUSCEPTANCE.id,
93
+ then: (schema) => schema.min(yup.ref(FieldConstants.MIN_S_AUTOMATON), "StaticVarCompensatorErrorSFixLessThanSMin").max(yup.ref(FieldConstants.MAX_S_AUTOMATON), "StaticVarCompensatorErrorSFixGreaterThanSMax").required()
94
+ });
95
+ const requiredWhenQatNominalVChoice = (baseSchema) => baseSchema.when([FieldConstants.ADD_STAND_BY_AUTOMATON, FieldConstants.CHARACTERISTICS_CHOICE_AUTOMATON], {
96
+ is: (addStandbyAutomaton, characteristicsChoiceAutomaton) => addStandbyAutomaton && characteristicsChoiceAutomaton === CHARACTERISTICS_CHOICES.Q_AT_NOMINAL_V.id,
97
+ then: (schema) => schema.min(yup.ref(FieldConstants.MIN_Q_AUTOMATON), "StaticVarCompensatorErrorQFixLessThanQMin").max(yup.ref(FieldConstants.MAX_Q_AUTOMATON), "StaticVarCompensatorErrorQFixGreaterThanQMax").required()
98
+ });
99
+ const getStandbyAutomatonFormValidationSchema = () => yup.object().shape({
100
+ [FieldConstants.ADD_STAND_BY_AUTOMATON]: yup.boolean().nullable(),
101
+ [FieldConstants.STAND_BY_AUTOMATON]: yup.boolean().nullable().when([FieldConstants.ADD_STAND_BY_AUTOMATON, FieldConstants.VOLTAGE_REGULATION_MODE], {
102
+ is: (addStandbyAutomaton, voltageRegulationMode) => addStandbyAutomaton && voltageRegulationMode === VOLTAGE_REGULATION_MODES.VOLTAGE.id,
103
+ then: (schema) => schema.required()
104
+ }),
105
+ [FieldConstants.LOW_VOLTAGE_SET_POINT]: requiredIfAddStandbyAutomaton(
106
+ yup.number().min(0, MUST_BE_GREATER_OR_EQUAL_TO_ZERO)
107
+ ),
108
+ [FieldConstants.HIGH_VOLTAGE_SET_POINT]: requiredIfAddStandbyAutomaton(
109
+ yup.number().min(0, MUST_BE_GREATER_OR_EQUAL_TO_ZERO)
110
+ ),
111
+ [FieldConstants.LOW_VOLTAGE_THRESHOLD]: requiredIfAddStandbyAutomaton(
112
+ yup.number().min(0, MUST_BE_GREATER_OR_EQUAL_TO_ZERO)
113
+ ),
114
+ [FieldConstants.HIGH_VOLTAGE_THRESHOLD]: requiredIfAddStandbyAutomaton(
115
+ yup.number().min(0, MUST_BE_GREATER_OR_EQUAL_TO_ZERO)
116
+ ),
117
+ [FieldConstants.B0]: requiredWhenSusceptanceChoice(yup.number().nullable()),
118
+ [FieldConstants.Q0]: requiredWhenQatNominalVChoice(yup.number().nullable())
119
+ });
120
+ const getStandbyAutomatonFormData = ({
121
+ addStandbyAutomaton,
122
+ standby,
123
+ b0,
124
+ q0,
125
+ lowVoltageSetpoint,
126
+ highVoltageSetpoint,
127
+ lowVoltageThreshold,
128
+ highVoltageThreshold
129
+ }) => ({
130
+ [FieldConstants.AUTOMATON]: {
131
+ [FieldConstants.ADD_STAND_BY_AUTOMATON]: addStandbyAutomaton,
132
+ [FieldConstants.STAND_BY_AUTOMATON]: standby,
133
+ [FieldConstants.LOW_VOLTAGE_SET_POINT]: lowVoltageSetpoint,
134
+ [FieldConstants.HIGH_VOLTAGE_SET_POINT]: highVoltageSetpoint,
135
+ [FieldConstants.LOW_VOLTAGE_THRESHOLD]: lowVoltageThreshold,
136
+ [FieldConstants.HIGH_VOLTAGE_THRESHOLD]: highVoltageThreshold,
137
+ [FieldConstants.B0]: b0,
138
+ [FieldConstants.Q0]: q0
139
+ }
140
+ });
141
+ const computeQ0 = (b0, nominalV) => {
142
+ return b0 != null && nominalV != null ? b0 * nominalV ** 2 : void 0;
143
+ };
144
+ export {
145
+ computeQ0,
146
+ getStandbyAutomatonEmptyFormData,
147
+ getStandbyAutomatonFormData,
148
+ getStandbyAutomatonFormValidationSchema
149
+ };
@@ -0,0 +1,7 @@
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 declare function StandbyAutomatonForm(): import("react").JSX.Element;
@@ -0,0 +1,153 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useState, useMemo, useEffect } from "react";
3
+ import { useFormContext, useWatch } from "react-hook-form";
4
+ import { useIntl, FormattedMessage } from "react-intl";
5
+ import { WarningAmber } from "@mui/icons-material";
6
+ import { Grid, FormControlLabel, Box, Tooltip, TextField } from "@mui/material";
7
+ import { VoltageAdornment } from "../../../../utils/constants/adornments.js";
8
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
9
+ import "../../../../utils/conversionUtils.js";
10
+ import "../../../../utils/types/equipmentType.js";
11
+ import "../../../../components/ui/overflowableText/OverflowableText.js";
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 { CheckboxInput } from "../../../../components/ui/reactHookForm/booleans/CheckboxInput.js";
20
+ import { SwitchInput } from "../../../../components/ui/reactHookForm/booleans/SwitchInput.js";
21
+ import { FloatInput } from "../../../../components/ui/reactHookForm/numbers/FloatInput.js";
22
+ import "../../../../components/ui/reactHookForm/numbers/RangeInput.js";
23
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
24
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
25
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
26
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
27
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
28
+ import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
29
+ import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
30
+ import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
31
+ import "@hello-pangea/dnd";
32
+ import "../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
33
+ import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
34
+ import "mui-nested-menu";
35
+ import "react-resizable-panels";
36
+ import "react-papaparse";
37
+ import "react-dom";
38
+ import "autosuggest-highlight/match";
39
+ import "autosuggest-highlight/parse";
40
+ import "clsx";
41
+ import "../../../../components/composite/filter/FilterCreationDialog.js";
42
+ import "../../../../components/composite/filter/HeaderFilterForm.js";
43
+ import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterForm.js";
44
+ import "../../../../components/composite/filter/expert/ExpertFilterForm.js";
45
+ import "../../../../components/composite/filter/expert/ExpertFilterEditionDialog.js";
46
+ import "../../../../components/composite/filter/expert/expertFilterConstants.js";
47
+ import "react-querybuilder";
48
+ import "uuid";
49
+ import "../../../../components/composite/filter/explicitNaming/ExplicitNamingFilterEditionDialog.js";
50
+ import "../../../../components/composite/filter/utils/filterFormUtils.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 { SusceptanceArea } from "./susceptance-area.js";
65
+ import { VOLTAGE_REGULATION_MODES } from "./constants.js";
66
+ function StandbyAutomatonForm() {
67
+ const intl = useIntl();
68
+ const id = FieldConstants.AUTOMATON;
69
+ const { setValue } = useFormContext();
70
+ const [hover, setHover] = useState(false);
71
+ const watchAddStandbyAutomatonProps = useWatch({
72
+ name: `${id}.${FieldConstants.ADD_STAND_BY_AUTOMATON}`
73
+ });
74
+ const watchVoltageMode = useWatch({
75
+ name: `${FieldConstants.SETPOINTS_LIMITS}.${FieldConstants.VOLTAGE_REGULATION_MODE}`
76
+ });
77
+ const watchVoltageModeLabel = useMemo(() => {
78
+ return Object.values(VOLTAGE_REGULATION_MODES).find((voltageMode) => voltageMode.id === watchVoltageMode)?.label;
79
+ }, [watchVoltageMode]);
80
+ const standbyDisabled = useMemo(() => {
81
+ return watchVoltageMode !== VOLTAGE_REGULATION_MODES.VOLTAGE.id;
82
+ }, [watchVoltageMode]);
83
+ useEffect(() => {
84
+ if (standbyDisabled) {
85
+ setValue(`${id}.${FieldConstants.STAND_BY_AUTOMATON}`, false);
86
+ }
87
+ }, [standbyDisabled, setValue, id]);
88
+ const createField = (name, label, adornment, additionalProps) => /* @__PURE__ */ jsx(FloatInput, { name, label, adornment, formProps: additionalProps });
89
+ const fields = {
90
+ modeAutomaton: /* @__PURE__ */ jsx(
91
+ TextField,
92
+ {
93
+ value: watchVoltageModeLabel ? intl.formatMessage({ id: watchVoltageModeLabel }) : "",
94
+ label: intl.formatMessage({ id: "ModeAutomaton" }),
95
+ disabled: true,
96
+ size: "small"
97
+ }
98
+ ),
99
+ standby: /* @__PURE__ */ jsx(Grid, { container: true, onMouseEnter: () => setHover(true), onMouseLeave: () => setHover(false), children: /* @__PURE__ */ jsxs(Grid, { container: true, sx: { width: "100%" }, children: [
100
+ /* @__PURE__ */ jsx(
101
+ FormControlLabel,
102
+ {
103
+ value: "StandbyAutomaton",
104
+ control: /* @__PURE__ */ jsx(
105
+ SwitchInput,
106
+ {
107
+ name: `${id}.${FieldConstants.STAND_BY_AUTOMATON}`,
108
+ formProps: {
109
+ disabled: standbyDisabled
110
+ }
111
+ }
112
+ ),
113
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "StandbyAutomaton" }),
114
+ labelPlacement: "start"
115
+ }
116
+ ),
117
+ hover && watchVoltageMode !== VOLTAGE_REGULATION_MODES.VOLTAGE.id && /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: "5px", children: /* @__PURE__ */ jsx(Tooltip, { title: /* @__PURE__ */ jsx(FormattedMessage, { id: "StandbyNotAvailable" }), children: /* @__PURE__ */ jsx(WarningAmber, { color: "warning" }) }) })
118
+ ] }) }),
119
+ lVoltageSetLimit: createField(
120
+ `${id}.${FieldConstants.LOW_VOLTAGE_SET_POINT}`,
121
+ "LowVoltageSetpoint",
122
+ VoltageAdornment
123
+ ),
124
+ hVoltageSetLimit: createField(
125
+ `${id}.${FieldConstants.HIGH_VOLTAGE_SET_POINT}`,
126
+ "HighVoltageSetpoint",
127
+ VoltageAdornment
128
+ ),
129
+ lVoltageThreshold: createField(
130
+ `${id}.${FieldConstants.LOW_VOLTAGE_THRESHOLD}`,
131
+ "LowVoltageThreshold",
132
+ VoltageAdornment
133
+ ),
134
+ hVoltageThreshold: createField(
135
+ `${id}.${FieldConstants.HIGH_VOLTAGE_THRESHOLD}`,
136
+ "HighVoltageThreshold",
137
+ VoltageAdornment
138
+ )
139
+ };
140
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
141
+ /* @__PURE__ */ jsx(Grid, { size: 4, children: /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(CheckboxInput, { name: `${id}.${FieldConstants.ADD_STAND_BY_AUTOMATON}`, label: "AddAutomaton" }) }) }),
142
+ watchAddStandbyAutomatonProps && /* @__PURE__ */ jsxs(Fragment, { children: [
143
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 2, padding: 2, children: Object.keys(fields).map((key) => {
144
+ const typedKey = key;
145
+ return /* @__PURE__ */ jsx(Grid, { size: 6, children: fields[typedKey] }, key);
146
+ }) }),
147
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 2, padding: 2, children: /* @__PURE__ */ jsx(SusceptanceArea, {}) })
148
+ ] })
149
+ ] });
150
+ }
151
+ export {
152
+ StandbyAutomatonForm
153
+ };
@@ -0,0 +1,7 @@
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 declare function StaticVarCompensatorDialogHeader(): import("react").JSX.Element;
@@ -0,0 +1,72 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Grid } from "@mui/material";
3
+ import "@mui/icons-material";
4
+ import "react-intl";
5
+ import "../../../../components/ui/overflowableText/OverflowableText.js";
6
+ import { FieldConstants } from "../../../../utils/constants/fieldConstants.js";
7
+ import "../../../../utils/conversionUtils.js";
8
+ import "../../../../utils/types/equipmentType.js";
9
+ import "react";
10
+ import "react-hook-form";
11
+ import "localized-countries";
12
+ import "localized-countries/data/fr";
13
+ import "localized-countries/data/en";
14
+ import "notistack";
15
+ import "../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
16
+ import "yup";
17
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.js";
18
+ import { TextInput } from "../../../../components/ui/reactHookForm/text/TextInput.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 { GridItem } from "../../../../components/composite/grid/grid-item.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
+ function StaticVarCompensatorDialogHeader() {
63
+ const staticCompensatorIdField = /* @__PURE__ */ jsx(TextInput, { name: FieldConstants.EQUIPMENT_ID, label: "ID", formProps: { autoFocus: true, variant: "filled" } });
64
+ const staticCompensatorNameField = /* @__PURE__ */ jsx(TextInput, { name: FieldConstants.EQUIPMENT_NAME, label: "Name", formProps: { variant: "filled" } });
65
+ return /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, sx: { width: "100%" }, children: [
66
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: staticCompensatorIdField }),
67
+ /* @__PURE__ */ jsx(GridItem, { size: 4, children: staticCompensatorNameField })
68
+ ] });
69
+ }
70
+ export {
71
+ StaticVarCompensatorDialogHeader
72
+ };
@@ -0,0 +1,7 @@
1
+ import { StaticVarCompensatorDialogTab } from './static-var-compensator-tab-utils';
2
+ export interface StaticVarCompensatorCreationDialogTabsProps {
3
+ tabIndex: number;
4
+ tabIndexesWithError: StaticVarCompensatorDialogTab[];
5
+ setTabIndex: (newValue: StaticVarCompensatorDialogTab) => void;
6
+ }
7
+ export declare function StaticVarCompensatorDialogTabs({ tabIndex, tabIndexesWithError, setTabIndex, }: StaticVarCompensatorCreationDialogTabsProps): import("react").JSX.Element;
@@ -0,0 +1,44 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Grid, Tabs, Tab } from "@mui/material";
3
+ import { FormattedMessage } from "react-intl";
4
+ import { getTabStyle } from "../../../parameters/parameters-style.js";
5
+ import { StaticVarCompensatorDialogTab } from "./static-var-compensator-tab-utils.js";
6
+ function StaticVarCompensatorDialogTabs({
7
+ tabIndex,
8
+ tabIndexesWithError,
9
+ setTabIndex
10
+ }) {
11
+ return /* @__PURE__ */ jsx(Grid, { container: true, sx: { width: "100%" }, children: /* @__PURE__ */ jsxs(Tabs, { value: tabIndex, onChange: (event, newValue) => setTabIndex(newValue), children: [
12
+ /* @__PURE__ */ jsx(
13
+ Tab,
14
+ {
15
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "StaticVarCompensatorConnectivityTab" }),
16
+ sx: getTabStyle(tabIndexesWithError, StaticVarCompensatorDialogTab.CONNECTIVITY_TAB)
17
+ }
18
+ ),
19
+ /* @__PURE__ */ jsx(
20
+ Tab,
21
+ {
22
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "StaticVarCompensatorSetPointsAndLimitsTab" }),
23
+ sx: getTabStyle(tabIndexesWithError, StaticVarCompensatorDialogTab.SET_POINTS_LIMITS_TAB)
24
+ }
25
+ ),
26
+ /* @__PURE__ */ jsx(
27
+ Tab,
28
+ {
29
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "StaticVarCompensatorAutomatonTab" }),
30
+ sx: getTabStyle(tabIndexesWithError, StaticVarCompensatorDialogTab.AUTOMATON_TAB)
31
+ }
32
+ ),
33
+ /* @__PURE__ */ jsx(
34
+ Tab,
35
+ {
36
+ label: /* @__PURE__ */ jsx(FormattedMessage, { id: "StaticVarCompensatorAdditionalInfosTab" }),
37
+ sx: getTabStyle(tabIndexesWithError, StaticVarCompensatorDialogTab.ADDITIONAL_INFO_TAB)
38
+ }
39
+ )
40
+ ] }) });
41
+ }
42
+ export {
43
+ StaticVarCompensatorDialogTabs
44
+ };
@@ -0,0 +1,8 @@
1
+ import { FieldConstants } from '../../../../utils';
2
+ export declare enum StaticVarCompensatorDialogTab {
3
+ CONNECTIVITY_TAB = 0,
4
+ SET_POINTS_LIMITS_TAB = 1,
5
+ AUTOMATON_TAB = 2,
6
+ ADDITIONAL_INFO_TAB = 3
7
+ }
8
+ export declare const STATIC_VAR_COMPENSATOR_TAB_FIELDS: Readonly<Partial<Record<StaticVarCompensatorDialogTab, 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 StaticVarCompensatorDialogTab = /* @__PURE__ */ ((StaticVarCompensatorDialogTab2) => {
7
+ StaticVarCompensatorDialogTab2[StaticVarCompensatorDialogTab2["CONNECTIVITY_TAB"] = 0] = "CONNECTIVITY_TAB";
8
+ StaticVarCompensatorDialogTab2[StaticVarCompensatorDialogTab2["SET_POINTS_LIMITS_TAB"] = 1] = "SET_POINTS_LIMITS_TAB";
9
+ StaticVarCompensatorDialogTab2[StaticVarCompensatorDialogTab2["AUTOMATON_TAB"] = 2] = "AUTOMATON_TAB";
10
+ StaticVarCompensatorDialogTab2[StaticVarCompensatorDialogTab2["ADDITIONAL_INFO_TAB"] = 3] = "ADDITIONAL_INFO_TAB";
11
+ return StaticVarCompensatorDialogTab2;
12
+ })(StaticVarCompensatorDialogTab || {});
13
+ const STATIC_VAR_COMPENSATOR_TAB_FIELDS = {
14
+ [
15
+ 0
16
+ /* CONNECTIVITY_TAB */
17
+ ]: [FieldConstants.CONNECTIVITY],
18
+ [
19
+ 1
20
+ /* SET_POINTS_LIMITS_TAB */
21
+ ]: [FieldConstants.SETPOINTS_LIMITS],
22
+ [
23
+ 2
24
+ /* AUTOMATON_TAB */
25
+ ]: [FieldConstants.AUTOMATON],
26
+ [
27
+ 3
28
+ /* ADDITIONAL_INFO_TAB */
29
+ ]: [FieldConstants.ADDITIONAL_PROPERTIES]
30
+ };
31
+ export {
32
+ STATIC_VAR_COMPENSATOR_TAB_FIELDS,
33
+ StaticVarCompensatorDialogTab
34
+ };
@@ -0,0 +1,9 @@
1
+ import { ConnectivityNetworkProps } from '../../common';
2
+ import { EquipmentType, Identifiable } from '../../../../utils';
3
+ export interface StaticVarCompensatorTabsContentProps extends ConnectivityNetworkProps {
4
+ tabIndex: number;
5
+ fetchVoltageLevelEquipments: (voltageLevelId: string) => Promise<(Identifiable & {
6
+ type: EquipmentType;
7
+ })[]>;
8
+ }
9
+ export declare function StaticVarCompensatorTabsContent({ voltageLevelOptions, PositionDiagramPane, fetchBusesOrBusbarSections, tabIndex, fetchVoltageLevelEquipments, }: Readonly<StaticVarCompensatorTabsContentProps>): import("react").JSX.Element;
@@ -0,0 +1,100 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { Box, Grid } from "@mui/material";
3
+ import { PropertiesForm } from "../../common/properties/PropertiesForm.js";
4
+ import "react";
5
+ import "react-hook-form";
6
+ import "../../../../utils/conversionUtils.js";
7
+ import "../../../../utils/types/equipmentType.js";
8
+ import "@mui/icons-material";
9
+ import "react-intl";
10
+ import "../../../../components/ui/overflowableText/OverflowableText.js";
11
+ import "localized-countries";
12
+ import "localized-countries/data/fr";
13
+ import "localized-countries/data/en";
14
+ import "notistack";
15
+ import "../../../../components/ui/reactHookForm/provider/CustomFormProvider.js";
16
+ import "yup";
17
+ import "../../../../components/ui/treeViewFinder/TreeViewFinder.js";
18
+ import "../../../../components/ui/reactHookForm/numbers/RangeInput.js";
19
+ import "@material-symbols/svg-400/outlined/left_panel_open.svg?react";
20
+ import "@material-symbols/svg-400/outlined/arrows_output.svg?react";
21
+ import "@material-symbols/svg-400/outlined/arrows_input.svg?react";
22
+ import "@material-symbols/svg-400/outlined/left_panel_close.svg?react";
23
+ import "@material-symbols/svg-400/outlined/add_notes-fill.svg?react";
24
+ import "../../../../components/ui/dialogs/descriptionModificationDialog/DescriptionModificationDialog.js";
25
+ import "../../../../components/ui/reactHookForm/expandableInput/ExpandableInput.js";
26
+ import "../../../../components/ui/reactHookForm/directory-item-input/directory-item-utils.js";
27
+ import "@hello-pangea/dnd";
28
+ import "../../../../components/ui/dialogs/elementSaveDialog/ElementSaveDialog.js";
29
+ import "../../../../components/ui/snackbarProvider/SnackbarProvider.js";
30
+ import "mui-nested-menu";
31
+ import "react-resizable-panels";
32
+ import "react-papaparse";
33
+ import "../../common/properties/propertyUtils.js";
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 { GridItem } from "../../../../components/composite/grid/grid-item.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 { ConnectivityForm } from "../../common/connectivity/ConnectivityForm.js";
63
+ import "../../common/regulatingTerminal/RegulatingTerminalForm.js";
64
+ import "@mui/material/colors";
65
+ import "@mui/x-charts";
66
+ import "../../common/currentLimits/limitsPane.utils.js";
67
+ import { StandbyAutomatonForm } from "./standby-automaton-form.js";
68
+ import { SetPointsLimitsForm } from "./set-points-limits-form.js";
69
+ import { StaticVarCompensatorDialogTab } from "./static-var-compensator-tab-utils.js";
70
+ function StaticVarCompensatorTabsContent({
71
+ voltageLevelOptions = [],
72
+ PositionDiagramPane,
73
+ fetchBusesOrBusbarSections,
74
+ tabIndex,
75
+ fetchVoltageLevelEquipments
76
+ }) {
77
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
78
+ /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== StaticVarCompensatorDialogTab.CONNECTIVITY_TAB, p: 1, children: /* @__PURE__ */ jsx(Grid, { container: true, spacing: 2, children: /* @__PURE__ */ jsx(GridItem, { size: 12, children: /* @__PURE__ */ jsx(
79
+ ConnectivityForm,
80
+ {
81
+ previousValues: void 0,
82
+ voltageLevelOptions,
83
+ PositionDiagramPane,
84
+ fetchBusesOrBusbarSections
85
+ }
86
+ ) }) }) }),
87
+ /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== StaticVarCompensatorDialogTab.SET_POINTS_LIMITS_TAB, children: /* @__PURE__ */ jsx(
88
+ SetPointsLimitsForm,
89
+ {
90
+ voltageLevelOptions,
91
+ fetchVoltageLevelEquipments
92
+ }
93
+ ) }),
94
+ /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== StaticVarCompensatorDialogTab.AUTOMATON_TAB, children: /* @__PURE__ */ jsx(StandbyAutomatonForm, {}) }),
95
+ /* @__PURE__ */ jsx(Box, { hidden: tabIndex !== StaticVarCompensatorDialogTab.ADDITIONAL_INFO_TAB, children: /* @__PURE__ */ jsx(PropertiesForm, { networkElementType: "staticCompensator" }) })
96
+ ] });
97
+ }
98
+ export {
99
+ StaticVarCompensatorTabsContent
100
+ };